body.book-workflow .book-help-fold {font-size:12px;margin:8px 0;color:var(--ui-muted)}
body.book-workflow .book-help-fold>summary {cursor:pointer;padding:6px 0;list-style-position:inside}
body.book-workflow .book-help-fold p,body.book-workflow .book-help-fold small{line-height:1.6}
body.book-workflow .template-info p,body.book-workflow .template-info .badge,
body.book-workflow .upload-options .template-card>span,
body.book-workflow .gesture-help {display:none!important}
html[data-theme] body.book-workflow .template-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important}
html[data-theme] body.book-workflow .template-thumb{height:auto;min-height:0;padding:6px;overflow:hidden}
html[data-theme] body.book-workflow .template-thumb svg{display:block;width:100%;height:auto;max-height:none;box-shadow:none}
html[data-theme] body.book-workflow .template-thumb img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
html[data-theme] body.book-workflow .template-thumb--wrap{aspect-ratio:auto;background:var(--ui-bg)}
html[data-theme] body.book-workflow .template-thumb--wrap svg{width:100%;height:auto}
html[data-theme] body.book-workflow .template-thumb--wrap>img{width:100%;aspect-ratio:2.05/1;object-fit:cover;object-position:center}
html[data-theme] body.book-workflow .template-info{padding:8px}
html[data-theme] body.book-workflow .template-info strong{font-size:11px;margin:0;text-shadow:none;-webkit-text-stroke:0}
body.book-workflow #book-contract-status[data-state=ready]{display:none}
/* 3차-1: 상태 문구가 처음 나타날 때 캔버스가 줄어들지 않도록 자리를 항상 확보 */
body.book-workflow #status{display:block;min-height:24px;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
body.book-workflow #status:empty{visibility:hidden}
body.book-workflow .book-inspector-welcome{display:none}
html[data-theme] body.book-workflow:not(.book-has-inspector) .book-inspector{display:none}
/* 버그 7: 선택/해제 때 3열↔2열 전환으로 캔버스 폭·맞춤 배율이 바뀌던 문제 — 넓은 화면에서는 속성 패널 자리를 항상 유지 */
@media(min-width:1101px){html[data-theme] body.book-workflow:not(.book-has-inspector) .book-inspector{display:block;visibility:hidden}}
body.book-workflow .book-contract-info>.book-help-fold{margin:0}
body.book-workflow .book-navigation-bar>.book-help-fold{margin:0;position:relative}
body.book-workflow .book-navigation-bar>.book-help-fold[open]>.book-navigation-pan{position:absolute;top:100%;right:0;padding:8px;background:var(--ui-panel);border:1px solid var(--ui-line);z-index:15;min-width:220px}

/* Append after legacy editor.css. Only the live editing control is affected. */
html[data-theme] body.book-workflow #canvas-stage > textarea.inline-text-editor {
  min-width:0; min-height:0; max-width:none; max-height:none;
  box-sizing:border-box; padding:0; margin:0; border:0; border-radius:0;
  background:transparent; resize:none; line-height:1.4; letter-spacing:normal;
  outline:var(--inline-outline,1px) solid #508df5 !important;
  outline-offset:0 !important; box-shadow:none; transform-origin:0 0;
}

body.book-workflow .selection-quick-actions{position:absolute;z-index:7;display:flex;gap:3px;padding:4px;background:var(--ui-panel);border:1px solid var(--ui-line);border-radius:9px;box-shadow:0 3px 12px #0002}
body.book-workflow .selection-quick-actions[hidden]{display:none}
html[data-theme] body.book-workflow .selection-quick-actions button{width:34px;height:34px;min-height:34px;padding:3px;background:var(--ui-panel);color:var(--ui-text);border:0;font-size:18px;border-radius:5px}
body.book-workflow .selection-quick-actions button:hover{background:var(--ui-active)}

/* Shapes/AI buttons moved out of .panel-tabs lose icon size rules; keep them compact. */
html[data-theme] body.book-workflow .book-material-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
html[data-theme] body.book-workflow :is(.book-material-tabs,.book-advanced) button{
  display:flex;align-items:center;justify-content:flex-start;gap:8px;
  width:100%;min-height:36px;height:auto;padding:8px 12px;line-height:1.35
}
html[data-theme] body.book-workflow :is(.book-material-tabs,.book-advanced) button b{
  display:flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:20px;margin:0;font-size:0;line-height:0
}
html[data-theme] body.book-workflow :is(.book-material-tabs,.book-advanced) button b svg{
  display:block;width:18px;height:18px;max-width:18px;max-height:18px
}

/* 집중 모드 UI 비사용 */
html[data-theme] body.book-workflow #book-focus-mode{display:none!important}

/* 내 표지 올리기 — 드롭존·위치·미리보기 중심 */
html[data-theme] body.book-workflow .own-cover-start{
  margin:0;padding:14px;border:1px solid var(--ui-line);border-radius:10px;
  display:flex;flex-direction:column;gap:10px;min-width:0
}
html[data-theme] body.book-workflow .own-cover-start>legend{
  padding:0 6px;font-size:13px;font-weight:700;color:var(--ui-text)
}
html[data-theme] body.book-workflow .own-cover-lead{
  margin:0;font-size:12px;line-height:1.55;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-targets{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px
}
html[data-theme] body.book-workflow .own-cover-targets button{
  min-height:64px;padding:8px 6px;border-radius:8px;font-size:12px;font-weight:600;
  background:#fff;border:1px solid var(--ui-line);color:var(--ui-muted);
  display:grid;justify-items:center;align-content:center;gap:4px
}
html[data-theme] body.book-workflow .own-cover-targets button strong{
  font-size:12px;font-weight:700;color:var(--ui-text)
}
html[data-theme] body.book-workflow .own-cover-targets button small{
  font-size:10px;font-weight:500;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-targets button[aria-pressed=true]{
  background:#eef8f1;border-color:#1f7a4d;color:#1f7a4d
}
html[data-theme] body.book-workflow .own-cover-targets button[aria-pressed=true] strong{color:#145c38}
html[data-theme] body.book-workflow .own-cover-diagram{
  display:inline-flex;align-items:stretch;justify-content:center;gap:2px;height:18px;width:100%;max-width:54px
}
html[data-theme] body.book-workflow .own-cover-diagram>i{
  display:block;border:1px solid currentColor;border-radius:2px;opacity:.55;background:transparent
}
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="front"]>i,
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="back"]>i{flex:0 0 14px}
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="front"]>i{margin-left:auto}
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="back"]>i{margin-right:auto}
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="spread"]>i:nth-child(1),
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="spread"]>i:nth-child(3){flex:1 1 16px}
html[data-theme] body.book-workflow .own-cover-diagram[data-diagram="spread"]>i:nth-child(2){flex:0 0 5px;opacity:.85}
html[data-theme] body.book-workflow .own-cover-targets button[aria-pressed=true] .own-cover-diagram>i{opacity:.95;background:rgba(31,122,77,.12)}
html[data-theme] body.book-workflow .own-cover-hint{
  margin:0;font-size:12px;line-height:1.55;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-dropzone{
  position:relative;display:grid;place-items:center;gap:6px;margin:0;min-height:108px;padding:16px 12px;
  border:1.5px dashed #9eb0a6;border-radius:10px;background:#f7fbf8;cursor:pointer;text-align:center;
  color:var(--ui-muted);transition:border-color .15s ease,background .15s ease,box-shadow .15s ease
}
html[data-theme] body.book-workflow .own-cover-dropzone:hover,
html[data-theme] body.book-workflow .own-cover-dropzone:focus-within{
  border-color:#1f7a4d;background:#eef8f1;box-shadow:0 0 0 3px rgba(31,122,77,.08)
}
html[data-theme] body.book-workflow .own-cover-dropzone.has-file{
  border-style:solid;border-color:#1f7a4d;background:#fff
}
html[data-theme] body.book-workflow .own-cover-dropzone input[type=file]{
  position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%
}
html[data-theme] body.book-workflow .own-cover-dropzone b{
  display:block;font-size:13px;font-weight:700;color:#145c38
}
html[data-theme] body.book-workflow .own-cover-dropzone small{
  display:block;font-size:11px;line-height:1.45;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-start.own-cover-drop-active,
html[data-theme] body.book-workflow .own-cover-dropzone.own-cover-drop-active,
html[data-theme] body.book-workflow #cover-canvas.own-cover-drop-active,
html[data-theme] body.book-workflow #canvas-scroll.own-cover-drop-active,
html[data-theme] body.book-workflow .workspace.own-cover-drop-active{
  outline:2px solid #1f7a4d;outline-offset:2px
}
html[data-theme] body.book-workflow .own-cover-preview{
  margin:0;padding:10px;border:1px solid var(--ui-line);border-radius:10px;background:#fff;
  display:grid;gap:8px;justify-items:center
}
html[data-theme] body.book-workflow .own-cover-preview[hidden]{display:none!important}
html[data-theme] body.book-workflow .own-cover-preview img{
  display:block;max-width:100%;max-height:180px;width:auto;height:auto;object-fit:contain;
  border-radius:6px;background:#111827;box-shadow:0 4px 14px rgba(15,23,42,.12)
}
html[data-theme] body.book-workflow .own-cover-preview figcaption{
  margin:0;font-size:11px;line-height:1.45;color:var(--ui-muted);text-align:center;word-break:break-all
}
html[data-theme] body.book-workflow .own-cover-fit{
  margin:0;width:100%;padding:8px 10px;border-radius:8px;font-size:11px;line-height:1.5;text-align:left
}
html[data-theme] body.book-workflow .own-cover-fit[data-level="ok"]{background:#ecfdf3;color:#166534}
html[data-theme] body.book-workflow .own-cover-fit[data-level="low"]{background:#fff7ed;color:#9a3412}
html[data-theme] body.book-workflow .own-cover-fit[data-level="very_low"]{background:#fef2f2;color:#991b1b}
html[data-theme] body.book-workflow .own-cover-tools{
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap
}
html[data-theme] body.book-workflow .own-cover-tools .own-cover-page{
  display:flex;align-items:center;gap:8px;margin:0;font-size:12px;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-tools .own-cover-page input{
  width:72px;min-height:34px
}
html[data-theme] body.book-workflow .own-cover-clear{
  min-height:34px;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;
  background:transparent;border:1px solid var(--ui-line);color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-start>label.own-cover-fresh{
  display:flex!important;align-items:flex-start;gap:8px;margin:0;font-size:12px;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-fresh input{
  width:auto;min-width:0;margin-top:2px
}
html[data-theme] body.book-workflow .own-cover-start>#own-cover-start{
  width:100%;min-height:46px;margin-top:2px;font-weight:700;letter-spacing:-.01em
}
html[data-theme] body.book-workflow .own-cover-start>#own-cover-status{
  margin:0;min-height:1.4em;font-size:12px;line-height:1.55;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .own-cover-start>.book-help-fold{margin:2px 0 0}

/* Workspace chrome: keep cover dominant; guides/specs stay one-line until opened. */
html[data-theme] body.book-workflow .workspace>.book-help-fold{
  margin:0;padding:0;border:0;background:transparent
}
html[data-theme] body.book-workflow .workspace>.book-help-fold>summary{
  display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:2px 0;
  font-size:12px;font-weight:600;color:var(--ui-muted);list-style:none
}
html[data-theme] body.book-workflow .workspace>.book-help-fold:not([open]){
  margin:0
}
html[data-theme] body.book-workflow .workspace>.book-help-fold[open]{
  margin:0 0 6px;padding:0 0 6px;border-bottom:1px solid var(--ui-line)
}
html[data-theme] body.book-workflow .book-contract-info{
  padding:0;margin:0;border:0;min-height:0
}
html[data-theme] body.book-workflow .book-product-summary{display:none!important}
html[data-theme] body.book-workflow .canvas-footer{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;min-height:34px;padding:6px 0
}
html[data-theme] body.book-workflow .canvas-footer #dimension-summary{
  margin:0;font-size:12px;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .book-spec-link{
  min-height:28px;padding:4px 8px;font-size:11px;border-radius:6px;
  background:transparent;border:1px solid var(--ui-line);color:var(--ui-muted)
}
html[data-theme] body.book-workflow .panel-tabs button b svg{
  fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round
}
html[data-theme] body.book-workflow .panel-tabs button[hidden]{display:none!important}
html[data-theme] body.book-workflow .template-size-context{
  margin:0 0 6px;font-size:12px;line-height:1.45;color:var(--ui-muted)
}
html[data-theme] body.book-workflow #template-size-availability{
  margin:0 0 8px;font-size:12px;line-height:1.45;color:var(--ui-muted)
}
html[data-theme] body.book-workflow .template-loose-fold{
  margin:10px 0 0;padding:0;border:0;background:transparent
}
html[data-theme] body.book-workflow .template-loose-fold>summary{
  display:inline-flex;min-height:28px;align-items:center;font-size:12px;font-weight:600;color:var(--ui-muted);cursor:pointer;list-style:none
}
html[data-theme] body.book-workflow .template-loose-list{margin-top:8px;display:grid;gap:3.175mm}
html[data-theme] body.book-workflow .template-item-card--loose{opacity:.88}
/* 7차: 데스크톱(≥1250px) 템플릿 목록이 고정 높이 flex 칸이 되면서 grid 행이 카드 최소 높이(36px)로 눌려 썸네일이 12px로 잘리고, 잘린(면적 0) 스토리 img는 loading=lazy가 끝내 시작되지 않던 문제 */
html[data-theme] body.book-workflow .template-list-grid{grid-auto-rows:max-content;align-content:start}
html[data-theme] body.book-workflow .template-item-card{flex:none;height:auto;min-height:0}
html[data-theme] body.book-workflow .template-thumb{flex:none;aspect-ratio:439/303;height:auto;padding:4px;box-sizing:border-box;align-items:center;justify-content:center}
html[data-theme] body.book-workflow .template-thumb>svg,html[data-theme] body.book-workflow .template-thumb>img{width:100%;height:100%;max-height:100%;object-fit:contain}
html[data-theme] body.book-workflow .template-thumb--wrap>img{aspect-ratio:auto;object-fit:cover}

/* 9차: 템플릿 썸네일 — 행 높이 붕괴(버튼 공통 min-height 36px 우선순위) 방지, 표지 전체 보이기(contain), 라벨 줄바꿈 */
html[data-theme] body.book-workflow #template-list-container{grid-auto-rows:max-content;align-content:start;grid-template-rows:none}
html[data-theme] body.book-workflow #template-list-container .template-item-card{flex:none;height:auto;min-height:0;max-height:none;padding:0;overflow:hidden}
html[data-theme] body.book-workflow #template-list-container .template-thumb{flex:none;width:100%;aspect-ratio:439/303;height:auto;min-height:0;max-height:none;padding:4px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden}
html[data-theme] body.book-workflow #template-list-container .template-thumb>svg,html[data-theme] body.book-workflow #template-list-container .template-thumb>img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:auto;object-fit:contain;object-position:center}
html[data-theme] body.book-workflow #template-list-container .template-info{min-width:0;height:auto;max-height:none;overflow:visible}
html[data-theme] body.book-workflow #template-list-container .template-info>*{white-space:normal;overflow:visible;text-overflow:clip;height:auto;max-height:none;-webkit-line-clamp:none;line-clamp:none;word-break:keep-all;overflow-wrap:anywhere}
