@font-face { font-family: "Pretendard"; src: url("/senior-ui/assets/Pretendard-Medium.woff2") format("woff2"); font-style: normal; font-weight: 500; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("/senior-ui/assets/Pretendard-Bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Pretendard"; src: url("/senior-ui/assets/Pretendard-ExtraBold.woff2") format("woff2"); font-style: normal; font-weight: 800 900; font-display: swap; }
:root {
  color-scheme: light;
  font-family: "Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  --canvas: #f5f2e8;
  --surface: #fffdf6;
  --surface-soft: #edf1e6;
  --ink: #173a30;
  --muted: #4c6259;
  --line: #c9d0bf;
  --line-strong: #9bb7a1;
  --accent: #176247;
  --accent-hover: #104d38;
  --accent-soft: #e4f0e6;
  --accent-ink: #fff;
  --green: var(--accent);
  --green-hover: var(--accent-hover);
  --green-soft: var(--accent-soft);
  --focus: #a34d22;
  --error: #862d21;
  --error-bg: #fff1ed;
  --error-line: #c78578;
  --shadow: 0 14px 36px rgb(23 58 48 / 8%);
}

:root[data-theme="light"] {
  color-scheme: light;
  --canvas: oklch(0.985 0.004 85);
  --surface: oklch(0.995 0.001 85);
  --surface-soft: oklch(0.965 0.006 85);
  --ink: oklch(0.12 0.010 85);
  --muted: oklch(0.40 0.010 85);
  --line: oklch(0.90 0.010 85);
  --line-strong: oklch(0.82 0.010 85);
  --accent: oklch(0.58 0.24 25);
  --accent-hover: oklch(0.52 0.25 25);
  --accent-soft: oklch(0.58 0.24 25 / .10);
  --accent-ink: #fff;
  --focus: oklch(0.48 0.20 25);
  --error: oklch(0.42 0.20 25);
  --error-bg: oklch(0.96 0.035 25);
  --error-line: oklch(0.72 0.13 25);
  --shadow: 0 14px 36px rgb(20 17 16 / 8%);
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --canvas: oklch(0.10 0.008 260);
  --surface: oklch(0.14 0.010 260);
  --surface-soft: oklch(0.17 0.012 260);
  --ink: oklch(0.98 0.002 260);
  --muted: oklch(0.72 0.006 260);
  --line: oklch(0.21 0.012 260);
  --line-strong: oklch(0.31 0.016 260);
  --accent: oklch(0.88 0.185 95);
  --accent-hover: oklch(0.92 0.19 95);
  --accent-soft: oklch(0.88 0.185 95 / .16);
  --accent-ink: oklch(0.10 0.008 260);
  --focus: oklch(0.92 0.19 95);
  --error: oklch(0.84 0.12 25);
  --error-bg: oklch(0.22 0.05 25);
  --error-line: oklch(0.48 0.15 25);
  --shadow: 0 14px 36px rgb(0 0 0 / 28%);
}

:root[data-theme="paper"] {
  color-scheme: light;
  --accent: #176247;
  --accent-hover: #104d38;
  --accent-soft: #e4f0e6;
  --accent-ink: #fff;
}

* { box-sizing: border-box; }
html { min-width: 0; scroll-behavior: smooth; }
body { min-width: 0; margin: 0; color: var(--ink); background: var(--canvas); font-size: 20px; line-height: 1.55; }
:root[data-theme="paper"] body { background: radial-gradient(ellipse at 12% 8%, rgb(255 255 255 / 52%), transparent 42%), repeating-linear-gradient(0deg, rgb(108 93 62 / 1.2%) 0, rgb(108 93 62 / 1.2%) 1px, transparent 1px, transparent 5px), var(--canvas); }
button, input, textarea, select { color: inherit; font: inherit; }
button { cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible,
summary:focus-visible, a:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
:focus:not(:focus-visible) { outline: none; }
[hidden] { display: none !important; }
img, svg { max-width: 100%; }
svg[aria-hidden="true"] { pointer-events: none; }

.app-shell { min-height: 100vh; }
.topbar { background: var(--surface); border-bottom: 1px solid var(--line); }
.topbar-inner { width: min(1200px, calc(100% - 48px)); min-height: 76px; margin: 0 auto; display: flex; align-items: center; gap: 36px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-size: 22px; font-weight: 850; letter-spacing: -.045em; text-decoration: none; white-space: nowrap; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; flex: none; border-radius: 14px; color: var(--accent-ink); background: var(--accent); }
.brand-mark svg { width: 24px; height: 24px; }
.main-nav { display: flex; align-items: stretch; gap: 8px; align-self: stretch; }
.nav-button { min-width: 72px; min-height: 56px; margin: auto 0; padding: 0 15px; border: 0; border-radius: 12px; background: transparent; color: var(--muted); font-size: 18px; font-weight: 650; }
.nav-button:hover, .nav-button[aria-current="page"] { background: var(--surface-soft); color: var(--ink); }
.theme-picker { min-width: 0; display: flex; align-items: center; gap: 8px; }
.theme-picker label { color: var(--muted); font-size: 16px; font-weight: 750; white-space: nowrap; }
.theme-picker select.theme-select { width: auto; min-width: 176px; min-height: 56px; padding: 8px 12px; }
.sample-badge { margin-left: auto; padding: 7px 12px; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--surface-soft); color: var(--ink); font-size: 16px; font-weight: 700; white-space: nowrap; }

.container, .page { width: min(1200px, calc(100% - 48px)); margin: 48px auto 88px; }
.page-intro { max-width: 780px; margin-bottom: 32px; }
.home-hero { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) 220px; align-items: center; gap: 34px; margin-bottom: 22px; }
.home-hero .page-intro { max-width: 780px; margin: 0; }
.home-hero-art { width: min(100%, 220px); height: auto; justify-self: end; object-fit: contain; pointer-events: none; }
.eyebrow { margin: 0 0 8px; color: var(--green); font-size: 16px; font-weight: 800; letter-spacing: .06em; }
.page-title { margin: 0; font-size: clamp(34px, 4.3vw, 48px); line-height: 1.16; letter-spacing: -.05em; }
.page-subtitle { max-width: 700px; margin: 14px 0 0; color: var(--muted); font-size: 20px; line-height: 1.6; }
.quiet-link { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: 13px; background: var(--surface); color: var(--green); font-size: 18px; font-weight: 800; text-decoration: none; }
.quiet-link:hover { background: var(--green-soft); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 40px 0 16px; }
.section-title { margin: 0; font-size: 25px; line-height: 1.3; letter-spacing: -.035em; }

.purpose-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.purpose-card { position: relative; min-width: 0; min-height: 270px; display: grid; grid-template-columns: minmax(118px, .72fr) minmax(0, 1.28fr); align-items: center; gap: 22px; padding: 26px; overflow: hidden; border: 1px solid var(--line); border-radius: 24px; background: var(--surface); box-shadow: var(--shadow); color: var(--ink); text-align: left; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.purpose-card:hover { transform: translateY(-3px); border-color: var(--accent); box-shadow: 0 18px 42px color-mix(in srgb, var(--ink) 13%, transparent); }
.purpose-card:focus-visible { outline-offset: 4px; }
.new-book-banner { width: 100%; min-height: 154px; display: grid; grid-template-columns: 116px minmax(0, 1fr) auto; align-items: center; gap: 24px; margin: 22px 0 6px; padding: 24px 30px; border: 1px solid var(--line); border-radius: 24px; background: var(--surface-soft); box-shadow: var(--shadow); color: var(--ink); text-align: left; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
:root[data-theme="paper"] .new-book-banner { border-color: #b7c6ae; background: linear-gradient(110deg, #e8efe2 0%, #f4f0e1 100%); }
.new-book-banner:hover { transform: translateY(-2px); border-color: var(--accent); box-shadow: 0 18px 42px color-mix(in srgb, var(--ink) 13%, transparent); }
.new-book-banner:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.new-book-art { width: 112px; height: 100px; display: grid; place-items: center; overflow: hidden; border-radius: 20px; background: var(--surface); color: var(--accent); pointer-events: none; }
.new-book-art img, .new-book-art .original-book-art { width: 100%; height: 100%; object-fit: contain; }
.new-book-art img, .home-hero-art[src] { display: none; }
:root[data-theme="paper"] .new-book-art img, :root[data-theme="paper"] .home-hero-art[src] { display: block; }
:root[data-theme="paper"] .new-book-art .original-book-art, :root[data-theme="paper"] .original-hero-art { display: none; }
.original-hero-art { color: var(--accent); }
.new-book-copy { display: grid; gap: 5px; }
.new-book-eyebrow { color: var(--green); font-size: 16px; font-weight: 800; }
.new-book-title { font-size: 27px; font-weight: 850; line-height: 1.3; letter-spacing: -.035em; }
.new-book-description { color: var(--muted); font-size: 18px; line-height: 1.5; }
.new-book-action { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; border-radius: 14px; background: var(--accent); color: var(--accent-ink); font-size: 18px; font-weight: 800; white-space: nowrap; }
.new-book-panel { display: grid; gap: 20px; }
.new-book-topic { min-height: 190px; }
.new-book-outline { display: grid; gap: 14px; }
.new-book-chapter-title { display: grid; grid-template-columns: 76px minmax(0, 1fr); align-items: center; gap: 14px; color: var(--green); font-size: 18px; font-weight: 800; }
.new-book-chapter-title .input-field { min-height: 56px; font-size: 18px; }
.new-book-chapter-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.chapter-tab { min-height: 56px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); font-size: 16px; font-weight: 750; line-height: 1.4; word-break: keep-all; overflow-wrap: anywhere; cursor: pointer; }
.chapter-tab.is-active { border-color: var(--accent); background: var(--green-soft); color: var(--ink); box-shadow: inset 0 0 0 1px var(--accent); }
.chapter-tab:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.new-book-body { min-height: 340px; }
.new-book-manuscript { display: grid; gap: 22px; }
.new-book-manuscript section { padding: 20px; border-radius: 14px; background: var(--surface-soft); }
.new-book-manuscript h3 { margin: 0 0 10px; font-size: 21px; }
.new-book-manuscript p { margin: 0; font-size: 18px; line-height: 1.75; white-space: pre-wrap; overflow-wrap: anywhere; }
.new-book-next { display: grid; gap: 10px; }
.new-book-next .help-text { margin: 0; }
.purpose-art { min-width: 0; min-height: 150px; display: grid; place-items: center; padding: 14px; border-radius: 19px; }
.purpose-art svg { width: min(100%, 150px); height: auto; overflow: visible; }
.purpose-title { display: block; margin: 0; font-size: 23px; font-weight: 800; line-height: 1.35; letter-spacing: -.04em; }
.purpose-copy { display: block; margin-top: 9px; color: var(--muted); font-size: 18px; line-height: 1.55; }
.purpose-action { display: inline-flex; align-items: center; gap: 8px; margin-top: 17px; color: var(--green); font-size: 18px; font-weight: 800; }
.purpose-action svg { width: 20px; height: 20px; }

.work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.work-card { min-width: 0; display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.work-thumbnail { width: 88px; aspect-ratio: 1; display: grid; place-items: center; border-radius: 14px; background: var(--green-soft); color: var(--green); }
.work-thumbnail svg { width: 42px; height: 42px; }
.work-info { min-width: 0; }
.work-title { display: block; overflow-wrap: anywhere; font-size: 18px; font-weight: 800; line-height: 1.4; }
.work-stage, .work-date { display: block; margin-top: 5px; color: var(--muted); font-size: 16px; line-height: 1.45; }
.work-action { min-height: 56px; margin-top: 10px; padding: 0 14px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--green); font-size: 16px; font-weight: 750; }
.work-sample { color: var(--muted); font-size: 16px; }

.workspace-header { margin-bottom: 24px; }
.back-link { min-height: 56px; display: inline-flex; align-items: center; gap: 8px; margin-bottom: 10px; border: 0; padding: 0 8px 0 0; background: transparent; color: var(--green); font-size: 18px; font-weight: 750; }
.saved-status { color: var(--muted); font-size: 16px; }
.stepper { display: flex; align-items: center; gap: 12px; margin: 20px 0 0; padding: 0; list-style: none; }
.step { min-width: 0; display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 16px; font-weight: 700; }
.step-index { width: 32px; height: 32px; display: grid; place-items: center; flex: none; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); }
.step.is-current { color: var(--ink); }
.step.is-current .step-index, .step.is-complete .step-index { border-color: var(--accent); background: var(--accent); color: var(--accent-ink); }
.workspace-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 350px); align-items: start; gap: 24px; }
.workspace-main, .workspace-aside { min-width: 0; display: grid; gap: 20px; }
.panel { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.panel-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 22px; }
.panel-heading h2, .panel-heading h3 { margin: 0; font-size: 24px; line-height: 1.35; letter-spacing: -.035em; }
.panel-heading p { margin: 6px 0 0; color: var(--muted); font-size: 18px; line-height: 1.5; }
.source-switch { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.source-choice { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: 13px; background: var(--surface); color: var(--ink); font-size: 18px; font-weight: 700; }
.source-choice.is-selected, .source-choice[aria-checked="true"] { border: 2px solid var(--accent); background: var(--green-soft); color: var(--ink); }
.field-label { display: block; margin: 0 0 8px; font-size: 18px; font-weight: 800; line-height: 1.4; }
.help-text { margin: 8px 0 0; color: var(--muted); font-size: 16px; line-height: 1.5; }
.error-text, .error-panel { color: var(--error); font-size: 16px; line-height: 1.5; }
.error-panel { margin: 14px 0; padding: 14px 16px; border: 1px solid var(--error-line); border-radius: 12px; background: var(--error-bg); }
.file-drop { min-height: 140px; display: grid; align-content: center; justify-items: center; gap: 8px; padding: 22px; border: 2px dashed var(--line-strong); border-radius: 16px; background: var(--surface-soft); color: var(--ink); text-align: center; }
.file-drop svg { width: 36px; height: 36px; color: var(--green); }
.file-drop label { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; padding: 0 18px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--green); font-size: 18px; font-weight: 800; cursor: pointer; }
.file-drop input[type="file"] { max-width: 100%; font-size: 16px; }
.file-card, .active-source { min-width: 0; display: flex; align-items: flex-start; gap: 12px; margin-top: 16px; padding: 14px 16px; border-radius: 14px; background: var(--surface-soft); color: var(--ink); font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
.file-card svg, .active-source svg { width: 24px; height: 24px; flex: none; color: var(--green); }

.settings-summary { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--line); }
.setting-row { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(0, 1.3fr) auto; align-items: center; gap: 12px; min-height: 62px; border-bottom: 1px solid var(--line); }
.setting-value { min-width: 0; color: var(--ink); font-size: 18px; font-weight: 750; overflow-wrap: anywhere; }
.setting-edit { min-width: 56px; min-height: 56px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface); color: var(--green); font-size: 16px; font-weight: 750; }
.setting-details { margin-top: 16px; border-top: 1px solid var(--line); }
.setting-details > summary { min-height: 56px; display: flex; align-items: center; color: var(--green); font-size: 18px; font-weight: 800; cursor: pointer; }
.detail-options { display: grid; gap: 18px; padding: 8px 0 4px; }
.option-row { min-width: 0; display: grid; gap: 9px; }
.choice-card { min-height: 56px; display: inline-flex; align-items: center; gap: 10px; padding: 10px 15px; border: 1px solid var(--line-strong); border-radius: 13px; background: var(--surface); font-size: 18px; }
.choice-card[aria-checked="true"], .choice-card.is-selected { border: 2px solid var(--green); background: var(--green-soft); }
.choice-label { font-size: 18px; font-weight: 750; }
.style-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.style-card { min-width: 0; min-height: 150px; display: grid; align-content: start; gap: 7px; padding: 10px; border: 1px solid var(--line-strong); border-radius: 15px; background: var(--surface); color: var(--ink); text-align: left; }
.style-card[aria-checked="true"] { border: 2px solid var(--green); padding: 9px; box-shadow: 0 0 0 2px var(--green-soft); }
.style-swatch { min-height: 76px; position: relative; display: flex; align-items: flex-end; padding: 9px; overflow: hidden; border-radius: 10px; background: var(--preview-bg, #e7eee7); }
.style-swatch::before { position: absolute; top: -18px; right: 12px; width: 62px; height: 62px; border: 3px solid var(--preview-accent, #176247); border-radius: 50%; background: color-mix(in srgb, var(--preview-accent, #176247) 22%, transparent); content: ""; }
.style-swatch span { position: relative; z-index: 1; padding: 4px 7px; border-radius: 6px; background: var(--surface); color: var(--ink); font-size: 16px; font-weight: 800; line-height: 1.3; }
.style-card > b { font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.style-card > small { color: var(--muted); font-size: 16px; line-height: 1.4; }
.style-mini { min-height: 80px; display: grid; place-items: center; padding: 12px; border: 1px solid var(--line); border-top: 5px solid var(--preview-accent, #176247); border-radius: 14px; background: var(--preview-bg, #edf2ec); color: var(--preview-ink, var(--ink)); font-size: 18px; font-weight: 800; }
.catalog-search, input[type="text"], input[type="url"], input[type="search"], select, textarea { width: 100%; min-width: 0; min-height: 56px; padding: 12px 14px; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface); color: var(--ink); font-size: 18px; line-height: 1.45; }
textarea { min-height: 180px; resize: vertical; }
.catalog-results { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.advanced-settings { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.advanced-settings > summary { min-height: 56px; display: flex; align-items: center; color: var(--green); font-size: 18px; font-weight: 800; cursor: pointer; }

.preview-panel { padding: 22px; }
.preview-label { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; color: var(--ink); font-size: 18px; font-weight: 800; }
.preview-stage { width: min(100%, 280px); min-height: 300px; position: relative; display: flex; flex-direction: column; justify-content: space-between; aspect-ratio: 9 / 16; margin: 0 auto; padding: 22px 18px; overflow: hidden; border: 8px solid #173a30; border-radius: 30px; background: var(--preview-bg, linear-gradient(155deg, #d9e8d6 0 42%, #8bad8d 42% 68%, #f0f3df 68%)); color: var(--preview-ink, #16392e); box-shadow: 0 16px 35px rgb(23 58 48 / 20%); }
.preview-stage.landscape { width: min(100%, 420px); min-height: 0; aspect-ratio: 16 / 9; display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); align-items: center; gap: 4px 8px; padding: 10px; }
.preview-stage.landscape .preview-kicker { min-width: 0; grid-column: 1; grid-row: 1; overflow-wrap: anywhere; }
.preview-stage.landscape .preview-quote { min-width: 0; grid-column: 1; grid-row: 2; overflow-wrap: anywhere; }
.preview-stage.landscape .preview-caption { min-width: 0; max-width: 100%; grid-column: 2; grid-row: 1 / span 2; justify-self: stretch; overflow-wrap: anywhere; }
.preview-stage::before { position: absolute; inset: 15% -15% auto; height: 40%; border: 2px solid color-mix(in srgb, var(--preview-accent, #176247) 76%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--preview-accent, #176247) 24%, transparent); content: ""; transform: rotate(-12deg); }
.preview-stage > * { position: relative; z-index: 1; }
.preview-kicker { color: var(--preview-sub, #4c6259); font-size: 16px; font-weight: 750; line-height: 1.4; }
.preview-quote { color: var(--preview-ink, #16392e); font-size: 22px; font-weight: 850; line-height: 1.3; text-shadow: 0 1px 4px rgb(255 255 255 / 48%); }
.preview-quote em { color: var(--preview-accent, #176247); font-style: normal; }
.preview-caption { align-self: center; padding: 7px 12px; border: 0; border-bottom: 4px solid var(--preview-accent, #176247); border-radius: 8px; background: #fffefa; color: #173a30; font-size: 18px; font-weight: 850; text-align: center; box-shadow: 0 2px 8px rgb(0 0 0 / 16%); }
.preview-decoration { width: 72px; height: 72px; align-self: flex-end; border: 3px solid var(--preview-accent, #176247); border-radius: 50%; background: color-mix(in srgb, var(--preview-accent, #176247) 32%, transparent); }
.preview-copy { max-width: 15ch; font-size: 22px; font-weight: 850; line-height: 1.3; text-shadow: 0 1px 4px rgb(255 255 255 / 48%); }
.preview-controls { display: grid; gap: 10px; margin-top: 16px; }
.preview-controls button, .preview-controls select { min-height: 52px; }
.sample-note { margin: 14px 0 0; padding: 13px 14px; border-radius: 12px; background: var(--surface-soft); color: var(--muted); font-size: 16px; line-height: 1.5; }

.btn { min-height: 56px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 13px; font-size: 18px; font-weight: 800; text-decoration: none; }
.btn-primary { background: var(--accent); color: var(--accent-ink); box-shadow: 0 5px 14px color-mix(in srgb, var(--accent) 22%, transparent); }
.btn-primary:hover { background: var(--green-hover); }
.btn-secondary { border-color: var(--line-strong); background: var(--surface); color: var(--green); }
.btn-secondary:hover { background: var(--green-soft); }
.btn-text { border-color: transparent; background: transparent; color: var(--green); }
.primary-action { width: 100%; }
.action-area { display: grid; gap: 10px; }
.action-caption { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.5; text-align: center; }
.sticky-action { display: none; }
.status-message { position: fixed; z-index: 30; right: 20px; bottom: 20px; max-width: min(480px, calc(100% - 40px)); padding: 14px 18px; border: 1px solid var(--line); border-radius: 13px; background: var(--ink); color: var(--surface); box-shadow: var(--shadow); font-size: 18px; }
.status-message[hidden] { display: none !important; }
.storage-warning { position: fixed; z-index: 40; top: 12px; right: 12px; width: min(520px, calc(100% - 24px)); padding: 14px 18px; border: 1px solid var(--error-line); border-radius: 13px; background: var(--error-bg); color: var(--error); box-shadow: var(--shadow); font-size: 18px; line-height: 1.5; }
.storage-warning[hidden] { display: none !important; }
.catalog-warning { width: min(1200px, calc(100% - 48px)); margin: 12px auto 0; padding: 14px 16px; border: 1px solid var(--error-line); border-radius: 10px; background: var(--error-bg); color: var(--error); font-size: 18px; line-height: 1.5; }
.catalog-warning[hidden] { display: none !important; }

.review-layout, .result-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .75fr); gap: 22px; }
.source-review-summary { align-items: center; margin: 0 0 14px; padding: 12px 16px; font-size: 16px; }
.source-review-summary p { margin: 2px 0 0; color: var(--muted); font-size: 16px; line-height: 1.35; }
.script-editor { width: 100%; min-height: 360px; padding: 18px; border: 1px solid var(--line-strong); border-radius: 14px; background: var(--surface); color: var(--ink); font-size: 18px; line-height: 1.7; }
.review-notice { padding: 15px 17px; border-radius: 13px; background: var(--green-soft); color: var(--ink); font-size: 18px; line-height: 1.5; }
.review-actions, .result-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.progress-panel { display: grid; gap: 16px; }
.progress-steps { display: grid; gap: 12px; padding: 0; list-style: none; }
.progress-item { display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: 18px; }
.progress-item::before { width: 20px; height: 20px; border: 2px solid var(--line-strong); border-radius: 50%; content: ""; }
.progress-item.is-complete::before { border-color: var(--green); background: var(--green); box-shadow: inset 0 0 0 4px var(--surface); }
.progress-meter { width: 100%; height: 14px; overflow: hidden; border-radius: 999px; background: var(--surface-soft); }
.progress-fill { display: block; width: 65%; height: 100%; border-radius: inherit; background: var(--accent); }
.result-preview { min-height: 220px; display: grid; place-items: center; padding: 24px; border-radius: 18px; background: var(--accent-soft); color: var(--ink); font-size: 22px; font-weight: 850; text-align: center; }
.result-meta { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; }
.result-meta > div { padding: 14px; border-radius: 12px; background: var(--surface-soft); font-size: 16px; }
.footer { margin-top: 64px; padding: 28px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: 16px; }
.account-panel { padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }

@media (max-width: 820px) {
  .topbar-inner { width: min(100% - 32px, 700px); min-height: 70px; gap: 14px; }
  .main-nav { gap: 2px; }
  .nav-button { min-width: 56px; padding-inline: 10px; }
  .sample-badge { font-size: 16px; }
  .container, .page { width: min(100% - 32px, 700px); margin-top: 34px; }
  .workspace-layout { grid-template-columns: minmax(0, 1fr) minmax(230px, .7fr); gap: 16px; }
  .panel { padding: 22px; }
  .purpose-card { grid-template-columns: minmax(96px, .7fr) minmax(0, 1.3fr); gap: 16px; padding: 20px; }
  .purpose-art { min-height: 128px; }
  .home-hero { grid-template-columns: minmax(0, 1fr) 190px; gap: 18px; }
  .new-book-banner { grid-template-columns: 96px minmax(0, 1fr) auto; gap: 16px; padding: 22px; }
  .new-book-art { width: 96px; height: 88px; }
  .style-quick { grid-template-columns: 1fr; }
  .style-card { min-height: 0; grid-template-columns: minmax(88px, .5fr) minmax(0, 1fr); align-items: center; column-gap: 12px; }
  .style-swatch { grid-row: span 2; min-height: 72px; }
  .work-grid { grid-template-columns: 1fr; }
}
@media (min-width: 641px) and (max-width: 1000px) {
  .topbar-inner { width: min(100% - 40px, 900px); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "brand nav badge" "theme theme theme"; gap: 8px 20px; padding: 10px 0; }
  .brand { grid-area: brand; }
  .main-nav { grid-area: nav; justify-content: center; gap: 4px; }
  .nav-button { flex: 0 0 auto; min-width: 72px; padding-inline: 10px; white-space: nowrap; }
  .theme-picker { grid-area: theme; justify-content: center; }
  .theme-picker select.theme-select { min-width: 260px; }
  .sample-badge { grid-area: badge; margin-left: 0; }
}
@media (max-width: 640px) {
  .topbar-inner { width: calc(100% - 28px); min-height: 66px; flex-wrap: wrap; gap: 5px 12px; padding: 9px 0; }
  .brand { font-size: 20px; }
  .brand-mark { width: 38px; height: 38px; }
  .theme-picker { order: 3; width: 100%; }
  .theme-picker select.theme-select { width: auto; min-width: 0; flex: 1; }
  .main-nav { order: 4; width: 100%; min-height: 48px; }
  .nav-button { min-width: 0; min-height: 56px; flex: 1; padding: 0 8px; font-size: 16px; white-space: nowrap; }
  .sample-badge { order: 2; margin-left: auto; padding: 6px 9px; font-size: 16px; }
  .container, .page { width: calc(100% - 32px); margin-top: 30px; margin-bottom: 56px; }
  .page-intro { margin-bottom: 24px; }
  .page-title { font-size: 36px; }
  .page-subtitle { font-size: 18px; }
  .home-hero { display: block; margin-bottom: 20px; }
  .home-hero-art { display: none; }
  .home-hero .page-intro { margin-bottom: 0; }
  .section-heading { margin-top: 32px; }
  .section-title { font-size: 22px; }
  .purpose-grid { grid-template-columns: 1fr; gap: 14px; }
  .new-book-banner { grid-template-columns: 80px minmax(0, 1fr); gap: 14px; margin-top: 16px; padding: 18px; border-radius: 20px; }
  .new-book-art { width: 80px; height: 76px; }
  .new-book-art img { width: 100%; height: 100%; }
  .new-book-title { font-size: 23px; }
  .new-book-title, .new-book-description { overflow-wrap: anywhere; }
  .new-book-description { font-size: 18px; }
  .new-book-action { grid-column: 1 / -1; width: 100%; }
  .new-book-chapter-tabs { grid-template-columns: 1fr; }
  .new-book-chapter-title { grid-template-columns: 58px minmax(0, 1fr); gap: 8px; }
  .purpose-card { min-height: 204px; grid-template-columns: minmax(94px, .65fr) minmax(0, 1.35fr); gap: 16px; padding: 18px; border-radius: 20px; }
  .purpose-art { min-height: 126px; padding: 10px; }
  .purpose-title { font-size: 21px; }
  .purpose-copy { font-size: 18px; }
  .workspace-header { margin-bottom: 18px; }
  .stepper { align-items: flex-start; gap: 8px; overflow-wrap: anywhere; }
  .step { flex: 1; align-items: flex-start; flex-direction: column; gap: 5px; font-size: 16px; }
  .workspace-layout, .review-layout, .result-layout { grid-template-columns: minmax(0, 1fr); }
  .workspace-aside { order: 2; }
  .workspace-main { order: 1; }
  .panel { padding: 20px; border-radius: 18px; }
  .panel-heading h2, .panel-heading h3 { font-size: 22px; }
  .setting-row { grid-template-columns: minmax(90px, .7fr) minmax(0, 1.3fr); padding: 9px 0; }
  .setting-edit { grid-column: 2; justify-self: start; }
  .preview-stage { width: min(100%, 260px); }
  .sticky-action { position: fixed; z-index: 20; right: 0; bottom: 0; left: 0; display: block; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 96%, transparent); box-shadow: 0 -8px 24px rgb(0 0 0 / 8%); }
  .sticky-action .btn { width: 100%; }
  .sticky-action[hidden], .sticky-action.keyboard-open { display: none !important; }
  body { padding-bottom: env(safe-area-inset-bottom); }
}
@media (max-width: 360px) {
  .topbar-inner { width: calc(100% - 20px); }
  .container, .page { width: calc(100% - 24px); }
  .brand { font-size: 18px; }
  .sample-badge { padding-inline: 8px; font-size: 16px; }
  .nav-button { padding-inline: 5px; }
  .purpose-card { grid-template-columns: minmax(74px, .55fr) minmax(0, 1.45fr); gap: 12px; padding: 14px; }
  .purpose-art { min-height: 105px; }
  .style-card { grid-template-columns: minmax(72px, .45fr) minmax(0, 1fr); }
  .purpose-title { font-size: 20px; }
  .panel { padding: 16px; }
  .source-choice { flex: 1 1 auto; padding-inline: 12px; }
  .setting-row { grid-template-columns: minmax(76px, .65fr) minmax(0, 1.35fr); gap: 8px; }
}
@media (min-width: 641px) and (max-width: 980px) {
  .workspace-layout { grid-template-columns: minmax(0, 1fr); }
  .workspace-aside { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Premium editorial interface */
:root[data-theme=light]{--canvas:#faf9f6;--surface:#fff;--surface-soft:#f3f1ed;--ink:#211f1c;--muted:#625d57;--line:#e3dfd8;--line-strong:#bcb5aa;--accent:#e60023;--accent-hover:#bd001d;--accent-soft:#fce8eb;--accent-ink:#fff;--focus:#a6001b;--shadow:0 8px 24px #28211910}
:root[data-theme=dark]{--canvas:#101114;--surface:#191b20;--surface-soft:#23252b;--ink:#f5f3ed;--muted:#b6b5b2;--line:#363840;--line-strong:#575a64;--accent:#fed400;--accent-hover:#ffe45b;--accent-soft:#39341a;--accent-ink:#171711;--focus:#ffe45b;--shadow:0 8px 24px #0003}
:root[data-theme=paper]{--canvas:#f5f2e8;--surface:#fffcf3;--surface-soft:#e8ecdf;--ink:#173a30;--muted:#4c6259;--line:#c9d0bf;--line-strong:#9eaa99;--accent:#176247;--accent-hover:#104d38;--accent-soft:#e1ebdc;--accent-ink:#fff;--focus:#8b441e;--shadow:0 5px 18px #173a3012}
:root{--media-mat:#f1efea}
:root[data-theme=dark]{--media-mat:#23252b}
:root[data-theme=paper]{--media-mat:#ececdd}
body{background:var(--canvas);color:var(--ink);font-size:20px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.topbar{background:var(--surface)}.topbar-inner{width:min(1200px,calc(100% - 48px));min-height:80px;gap:16px}.brand{gap:10px;font-size:24px;font-weight:800}
.brand-mark{position:relative;width:38px;height:38px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-size:19px}.brand-mark i{position:absolute;top:4px;right:4px;width:7px;height:7px;border:1px solid var(--surface);border-radius:50%;background:#fed400}
.nav-button{position:relative;min-width:84px;min-height:56px;border-radius:9px;color:var(--ink);font-size:18px}.nav-button:hover,.nav-button[aria-current="page"]{background:var(--surface-soft)}.nav-button[aria-current="page"]::after{position:absolute;right:12px;bottom:0;left:12px;height:3px;border-radius:3px;background:var(--accent);content:""}
.theme-picker{gap:10px;margin-left:auto}.theme-picker label{color:var(--ink);font-size:18px}.theme-picker select.theme-select{width:180px;min-height:56px;border:1px solid var(--line-strong);border-radius:10px;font-size:18px}
.container,.page{width:min(1200px,calc(100% - 48px));margin:28px auto 88px}.page-title{font-size:clamp(30px,3vw,38px);line-height:1.25;letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere}.page-subtitle{margin-top:8px;color:var(--muted);font-size:18px;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}
.home-hero{display:block;margin:0 0 22px}.home-hero .page-intro{max-width:950px;margin:0}.home-hero .page-title{font-size:36px;font-weight:800}.sample-badge{display:inline-block;margin-left:9px;padding:3px 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--muted);font-size:16px;font-weight:600;white-space:normal}
.purpose-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr));grid-template-rows:272px 202px;gap:16px}
.purpose-card{position:relative;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"title" "copy" "preview" "action";gap:4px;padding:16px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);text-align:left;box-shadow:var(--shadow);transition:transform .16s,border-color .16s,box-shadow .16s}
.purpose-card:hover,.new-book-banner:hover{transform:translateY(-1px);border-color:var(--accent);box-shadow:0 8px 22px color-mix(in srgb,var(--ink) 10%,transparent)}.purpose-card:focus-visible,.new-book-banner:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.purpose-card[data-purpose=short]{grid-row:span 2;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);grid-template-rows:min-content min-content auto;grid-template-areas:"title preview" "copy preview" "action preview";align-items:center;gap:8px 18px;padding:22px}.purpose-card[data-purpose=short] .purpose-copy-block{display:contents}.purpose-card[data-purpose=short] .purpose-title{grid-area:title}.purpose-card[data-purpose=short] .purpose-copy{grid-area:copy}.purpose-card[data-purpose=short] .purpose-action{grid-area:action}.purpose-card[data-purpose=short] .purpose-art{grid-area:preview;height:100%}.purpose-card[data-purpose=short] .result-art{width:min(100%,210px);height:min(100%,370px);aspect-ratio:9/16}
.purpose-card[data-purpose=summary]{grid-column:2/span 2;grid-template-columns:minmax(185px,.78fr) minmax(0,1.22fr);grid-template-rows:minmax(0,1fr);grid-template-areas:"copy preview";align-items:center;gap:18px}.purpose-card[data-purpose=summary] .purpose-copy-block{grid-area:copy}.purpose-card[data-purpose=summary] .purpose-art{grid-area:preview;height:100%}
.purpose-copy-block{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.purpose-card:not([data-purpose=short]):not([data-purpose=summary]) .purpose-copy-block{display:contents}.purpose-title{min-width:0;grid-area:title;color:var(--ink);font-size:22px;font-weight:800;line-height:1.3;letter-spacing:-.025em;word-break:keep-all;overflow-wrap:anywhere}.purpose-card[data-purpose=short] .purpose-title{font-size:30px}.purpose-copy{grid-area:copy;margin:0;color:var(--muted);font-size:18px;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.purpose-action{grid-area:action;min-width:0;min-height:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;margin:0;padding:0;color:var(--accent);font-size:18px;font-weight:750}.purpose-action span{font-size:24px}.purpose-art{grid-area:preview;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden;border-radius:12px;pointer-events:none}
.result-example{position:relative;width:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center}.result-example-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.result-art{position:relative;width:100%;min-width:0;height:100%;min-height:0;display:block;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);pointer-events:none}
.preview-photo,.editorial-art,.audio-cover img,.preview-scene{width:100%;height:100%;display:block;object-fit:cover}.preview-short .preview-photo{position:absolute;inset:0;object-position:center 48%}.preview-short .visual-shade{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,#0d100fbd)}
.preview-story-stack{position:absolute;right:14px;bottom:22px;left:14px;z-index:1;display:grid;gap:10px}.preview-story-title{position:static;display:block;margin:0;color:white;font-size:22px;font-weight:800;line-height:1.3;text-shadow:0 2px 10px #0007;word-break:keep-all}.preview-story-caption{position:static;display:block;margin:0;color:white;font-size:18px;line-height:1.45;text-shadow:0 1px 6px #000;word-break:keep-all}
.purpose-card[data-purpose=audiobook] .purpose-art,.purpose-card[data-purpose=book] .purpose-art{margin:0}.preview-audiobook{width:100%;height:100%;max-height:105px;display:flex;align-items:stretch;gap:12px;border:0;background:transparent}.audio-cover{position:relative;width:72px;height:100%;min-height:96px;flex:none;overflow:hidden;border-radius:5px;box-shadow:0 4px 12px #0003}.audio-cover img{position:absolute;inset:0}.audio-cover b{position:absolute;top:9px;right:5px;left:5px;color:#fff9e9;font-size:13px;line-height:1.15;text-shadow:0 1px 5px #151421;word-break:keep-all}
.preview-chapters{min-width:0;flex:1;display:grid;align-content:center;gap:5px}.preview-chapters i{min-width:0;min-height:39px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:4px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font-style:normal}.preview-chapters b{color:var(--ink);font-size:18px;font-weight:600;line-height:1.2;word-break:keep-all;overflow-wrap:anywhere}.preview-chapters em{height:5px;border-radius:8px;background:repeating-linear-gradient(90deg,var(--accent) 0 2px,transparent 2px 5px);opacity:.7}
.preview-book{height:100%;max-height:72px;display:flex;align-items:center;gap:12px;border:0;background:var(--surface-soft)}.purpose-card[data-purpose=book] .preview-book{max-height:82px}.editorial-image{width:38%;height:100%;min-width:80px;overflow:hidden;border-radius:5px}.editorial-image img{object-position:center 64%}.editorial-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.editorial-copy b,.editorial-copy span{color:var(--ink);font-size:18px;font-weight:650;line-height:1.25;word-break:keep-all;overflow-wrap:anywhere}.editorial-copy span{color:var(--muted);font-weight:500}
.purpose-card[data-purpose=summary] .purpose-art{margin:0}.preview-summary-mini{height:100%;min-height:140px;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);align-items:center;gap:15px;padding:10px;border:0;background:var(--surface-soft)}.mini-summary-video{min-width:0;height:100%;min-height:120px;overflow:hidden;border-radius:8px}.mini-summary-video img{width:100%;height:100%;object-fit:cover}.mini-summary{min-width:0;display:grid;gap:12px;padding:8px}.mini-summary b{color:var(--ink);font-size:18px;font-weight:650;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.preview-manuscript,.preview-cover{display:none}
.is-compact .result-art{width:58px;height:68px;border-radius:7px}.is-compact .result-example{width:auto}.is-compact .preview-short{width:40px;height:68px}.is-compact .preview-story-title{right:2px;bottom:19px;left:2px;font-size:7px}.is-compact .preview-story-caption{display:none}.is-compact .preview-chapters{gap:2px}.is-compact .preview-chapters i{min-height:20px;padding:2px}.is-compact .preview-chapters b,.is-compact .editorial-copy b,.is-compact .editorial-copy span,.is-compact .mini-summary b{font-size:7px}.is-compact .preview-chapters em{height:2px}.is-compact .audio-cover{width:24px;min-height:0}.is-compact .audio-cover b{font-size:5px}.is-compact .preview-book,.is-compact .preview-summary-mini{min-height:0;height:58px;gap:2px;padding:2px}.is-compact .mini-summary-video{min-height:0}
.new-book-banner{width:100%;min-height:120px;display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:center;gap:22px;margin:16px 0 6px;padding:16px 22px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft);color:var(--ink);text-align:left;box-shadow:var(--shadow)}
.new-book-art{position:relative;width:220px;height:88px;overflow:hidden;border-radius:8px;background:var(--surface)}.new-book-art img{display:block!important;object-fit:cover!important;object-position:center 64%}.new-book-art .original-book-art{display:none!important}
.new-book-copy{min-width:0;display:grid;gap:2px}.new-book-eyebrow{color:var(--accent);font-size:18px;font-weight:700}.new-book-title{font-size:26px;font-weight:800;line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}.new-book-description{color:var(--muted);font-size:18px;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.new-book-action{min-width:160px;min-height:56px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-size:18px;font-weight:750;white-space:nowrap}
.section-heading{align-items:baseline;margin:26px 0 12px}.section-heading h2{margin:0;font-size:24px}.section-heading>span{color:var(--muted);font-size:18px}.work-grid{grid-template-columns:minmax(0,1fr);gap:10px}.work-card{grid-template-columns:64px minmax(0,1fr) auto;min-height:96px;padding:12px 16px;border-radius:12px;background:var(--surface)}
.work-thumbnail{width:58px;height:68px;display:grid;place-items:center;background:transparent}.work-info{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 10px}.work-title{grid-column:1/-1;font-size:20px;line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}
.work-stage,.work-date{margin:0;color:var(--muted);font-size:18px;line-height:1.4}.work-date{justify-self:end;white-space:nowrap}.work-action{min-width:112px;min-height:56px;margin:0;border-radius:10px;font-size:18px}.empty-state{min-height:112px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:18px}
.workspace-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 18px;margin-bottom:18px}.workspace-header>.back-link{grid-column:1/-1;min-height:56px;justify-self:start;margin:0}.workspace-header>.page-intro{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:none;margin:0}.workspace-header>.page-intro>div{min-width:0}.workspace-header .page-title{font-size:32px}.workspace-header .quiet-link{min-height:56px;white-space:nowrap}.workspace-header .stepper{grid-column:1/-1;margin:4px 0 0}
.eyebrow{color:var(--accent);font-size:18px;font-weight:700;letter-spacing:0}.workspace-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:24px}.workspace-main,.workspace-aside{min-width:0;display:grid;gap:16px}.panel{min-width:0;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.panel-heading{align-items:center;gap:12px;margin-bottom:16px}.panel-heading h2,.panel-heading h3{font-size:22px}.panel-heading p,.field-label,.help-text,.field-hint,.review-notice,.stage-banner,.action-caption,.cta-note,.step-label,.saved-status,.preview-accessible,.sample-note{font-size:18px}.field-label{font-weight:700}.text-area,.new-book-body,.script-editor{font-size:20px;line-height:1.75}
.text-area,.text-field,.input-field,.select-field,select{max-width:100%}textarea{min-width:0}.source-choice,.btn,.choice-card,.chapter-tab,.file-drop label,.quiet-link,.new-book-action,.work-action{min-height:56px}
.preview-panel{padding:16px}.preview-stage{position:relative;width:min(100%,260px);min-height:0;aspect-ratio:9/16;overflow:hidden;border:0;border-radius:8px}.preview-stage::before{display:none}.preview-stage .preview-scene{position:absolute;inset:0;object-position:center 48%}
.preview-stage .preview-kicker{position:absolute;top:10px;left:10px;color:#fff;font-size:16px;text-shadow:0 1px 5px #000}.preview-stage .preview-quote{position:absolute;right:12px;bottom:52px;left:12px;color:#fff;font-size:26px;font-weight:800;line-height:1.25;text-shadow:0 2px 10px #000}
.preview-stage .preview-caption{position:absolute;right:10px;bottom:12px;left:10px;padding:8px 10px;border-radius:6px;background:var(--preview-accent);color:var(--preview-bg);font-size:18px;font-weight:700;text-align:center;word-break:keep-all}.preview-disclosure>summary{min-height:56px;display:flex;align-items:center;font-size:18px}.preview-frame{display:flex;justify-content:center}
.preview-label{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:18px}.preview-label>span,.preview-accessible,.sample-note{color:var(--muted)}.preview-accessible,.sample-note{margin:10px 0 0;line-height:1.45}
.workspace-result-visual{display:grid;justify-items:center;gap:12px}.workspace-result-visual .result-example{min-height:220px}.workspace-result-visual .result-art{height:220px}.workspace-result-visual .preview-audiobook{max-width:320px}.workspace-result-visual .preview-summary-mini{max-width:360px}.workspace-result-visual>strong{font-size:22px}.workspace-result-visual>p{color:var(--muted);font-size:18px;line-height:1.45;text-align:center}
.book-review-visual{display:grid;gap:14px}.book-review-visual .result-example{height:180px}.review-status-list{display:grid;gap:7px;padding:14px;border-radius:10px;background:var(--surface-soft)}.review-status-list .demo-stamp,.review-status-list strong{font-size:18px}
.source-review-summary{min-height:64px;padding:12px 16px}.new-book-topic{min-height:240px}.new-book-chapter-title{grid-template-columns:78px minmax(0,1fr);min-height:56px;font-size:18px}.new-book-chapter-title .input-field{min-height:56px;font-size:18px}
.writing-studio{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:stretch;gap:20px}.chapter-rail{min-width:0;padding:16px 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.chapter-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.chapter-rail-heading .quiet-link{min-height:56px;padding:0 10px;font-size:16px}
.new-book-chapter-tabs{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.chapter-tab{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 10px 8px 14px;border:1px solid var(--line);border-left:3px solid transparent;border-radius:8px;background:var(--surface);color:var(--ink);text-align:left;font-size:18px;line-height:1.25}
.chapter-tab b{font-size:18px;font-weight:650;word-break:keep-all;overflow-wrap:anywhere}.chapter-tab.is-active{border-color:var(--line);border-left-color:var(--accent);background:var(--accent-soft);box-shadow:none}.chapter-save-note{margin:14px 2px 0;color:var(--muted);font-size:18px;line-height:1.4}
.manuscript-canvas{min-width:0;display:flex;flex-direction:column;padding:20px 28px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.manuscript-toolbar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line)}
.manuscript-toolbar .eyebrow{font-size:16px}.manuscript-toolbar h2{margin:1px 0 0;font-size:24px;line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}.manuscript-sample-note{margin:12px 0;color:var(--muted);font-size:18px;line-height:1.4}
.new-book-body-label{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.new-book-body{width:100%;min-height:420px;flex:1;resize:vertical;padding:18px 10px;border:0;border-radius:0;background:transparent;color:var(--ink);font-size:20px;line-height:1.85}.new-book-body:focus-visible{outline-offset:-2px}
.manuscript-actions{display:flex;align-items:center;gap:12px;padding-top:12px;border-top:1px solid var(--line)}.manuscript-actions>.btn{flex:none}.manuscript-actions .new-book-next{flex:1}.manuscript-actions .new-book-next .help-text{display:none}
.new-book-manuscript section{padding:20px;border-radius:10px;background:var(--surface-soft)}.new-book-manuscript h3{font-size:22px}.new-book-manuscript p{font-size:20px}
.result-page .page-intro{max-width:none}.result-workspace{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);align-items:stretch;gap:24px}
.result-canvas{min-width:0;display:grid;align-content:start;justify-items:center;gap:14px;padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.result-canvas .result-example{width:min(100%,290px);height:440px}.result-canvas .preview-short{width:100%;height:100%;aspect-ratio:9/16}.result-canvas .preview-audiobook,.result-canvas .preview-book,.result-canvas .preview-summary-mini{width:100%;height:230px}
.result-canvas .preview-story-title{font-size:26px}.result-canvas>strong{font-size:24px;text-align:center}.result-canvas>p{margin:0;color:var(--muted);font-size:18px;line-height:1.5;text-align:center}
.result-details{min-width:0;display:flex;flex-direction:column;align-items:flex-start;align-content:flex-start;justify-content:flex-start;gap:14px;padding:26px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.result-details h2{margin:0;font-size:28px;line-height:1.3;word-break:keep-all}
.result-details>p{margin:0;color:var(--muted);font-size:18px;line-height:1.55}.result-details .active-source{width:100%}.result-actions{width:100%;display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.result-actions .btn{min-height:56px;flex:1 1 auto}.demo-stamp{color:var(--muted);font-size:18px;font-weight:600;text-align:center}
.btn,.source-choice,.choice-card,.chapter-tab,.quiet-link,.work-action{border-radius:10px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary,.quiet-link{background:var(--surface);color:var(--ink)}.btn-secondary:hover,.quiet-link:hover{background:var(--surface-soft)}
.storage-warning{position:static;width:min(1200px,calc(100% - 48px));margin:12px auto 0;border-radius:10px;box-shadow:none}.storage-warning[hidden]{display:none!important}.error-panel{margin:12px 0;padding:14px 16px;border-radius:10px;font-size:18px}.step{font-size:18px}.step-index{width:34px;height:34px}.step.is-current{font-weight:800}.saved-status{color:var(--muted);font-size:18px}
button,input,select,textarea,summary{scroll-margin-block:16px}
@media(max-width:900px){body:has(.workspace-page .sticky-action:not([hidden])) .status-message{bottom:calc(88px + env(safe-area-inset-bottom))}}
@media(max-width:1000px){.purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.purpose-card,.purpose-card[data-purpose=short],.purpose-card[data-purpose=summary]{grid-column:auto;grid-row:auto;min-height:286px}.purpose-card[data-purpose=summary]{min-height:320px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"title" "copy" "preview" "action";gap:5px;padding:18px}.purpose-card[data-purpose=summary] .purpose-copy-block{display:contents}.purpose-card[data-purpose=summary] .preview-summary-mini{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(75px,1fr) auto;min-height:0;gap:6px;padding:8px}.purpose-card[data-purpose=summary] .mini-summary-video{min-height:76px}.purpose-card[data-purpose=summary] .mini-summary{grid-template-columns:minmax(0,1fr);gap:2px;padding:0 4px}.workspace-layout,.review-layout,.result-layout{grid-template-columns:minmax(0,1fr)}.workspace-aside{grid-template-columns:repeat(2,minmax(0,1fr))}.result-workspace{grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)}}
@media(max-width:819px){.topbar-inner{width:calc(100% - 32px);display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand theme" "nav nav";gap:4px 12px;padding:8px 0 4px}.brand{grid-area:brand}.theme-picker{grid-area:theme;justify-self:end;margin-left:0}.theme-picker select.theme-select{width:180px}.main-nav{grid-area:nav;width:100%;min-height:56px;justify-content:stretch;gap:4px}.nav-button{min-width:0;min-height:56px;flex:1;padding-inline:8px}.container,.page{width:calc(100% - 32px);margin-top:24px}
.purpose-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:12px}.purpose-card,.purpose-card[data-purpose=short],.purpose-card[data-purpose=summary]{grid-column:auto;grid-row:auto;min-height:260px;grid-template-columns:minmax(0,.9fr) minmax(120px,1.1fr);grid-template-rows:min-content min-content auto;grid-template-areas:"title preview" "copy preview" "action preview";gap:6px 14px;padding:18px}
.purpose-card .purpose-copy-block,.purpose-card[data-purpose=short] .purpose-copy-block,.purpose-card[data-purpose=summary] .purpose-copy-block{display:contents}.purpose-card .purpose-title{grid-area:title}.purpose-card .purpose-copy{grid-area:copy}.purpose-card .purpose-action{grid-area:action;font-size:18px}.purpose-card .purpose-art,.purpose-card[data-purpose=short] .purpose-art,.purpose-card[data-purpose=summary] .purpose-art{grid-area:preview;height:100%;margin:0}.purpose-card[data-purpose=short] .result-art{width:min(100%,160px);height:100%}
.purpose-card[data-purpose=summary]{min-height:300px;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"title" "copy" "preview" "action"}.purpose-card[data-purpose=summary] .preview-summary-mini{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(75px,1fr) auto;min-height:0;gap:6px;padding:8px}.purpose-card[data-purpose=summary] .mini-summary-video{min-height:76px}.purpose-card[data-purpose=summary] .mini-summary{grid-template-columns:minmax(0,1fr);gap:2px;padding:0 4px}.purpose-card:not([data-purpose=short]):not([data-purpose=summary]) .purpose-art{margin-top:0}
.new-book-banner{grid-template-columns:180px minmax(0,1fr) auto;gap:14px;padding:14px}.new-book-art{width:180px}.workspace-aside,.workspace-layout{grid-template-columns:minmax(0,1fr)}.writing-studio{grid-template-columns:200px minmax(0,1fr);gap:12px}.manuscript-canvas{padding:16px}.new-book-body{min-height:420px}.result-workspace{grid-template-columns:minmax(0,1fr)}
.sticky-action{position:fixed;z-index:20;right:0;bottom:0;left:0;display:block;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);box-shadow:0 -8px 24px #0002}.sticky-action .btn{width:100%}.sticky-action[hidden],.sticky-action.keyboard-open{display:none!important}}
@media(max-width:640px){.topbar-inner{width:calc(100% - 24px)}.theme-picker label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.theme-picker select.theme-select{width:168px;min-height:56px}.home-hero .page-title{font-size:30px}.page-subtitle{font-size:18px}
.purpose-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:8px}.purpose-card,.purpose-card[data-purpose=short],.purpose-card[data-purpose=summary]{height:124px;min-height:112px;max-height:128px;display:grid;grid-template-columns:minmax(0,1fr) 72px;grid-template-rows:minmax(0,1fr);grid-template-areas:"copy preview";align-items:center;gap:10px;padding:10px 12px;border-radius:12px}.purpose-copy-block,.purpose-card .purpose-copy-block,.purpose-card[data-purpose=short] .purpose-copy-block,.purpose-card[data-purpose=summary] .purpose-copy-block{grid-area:copy;min-width:0;min-height:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;overflow:hidden}.purpose-card:not([data-purpose=short]):not([data-purpose=summary]) .purpose-copy-block{display:flex}.purpose-title,.purpose-card[data-purpose=short] .purpose-title{font-size:22px;line-height:1.2;overflow:visible}.purpose-copy{font-size:18px;line-height:1.25;overflow:visible}.purpose-action{display:none}
.purpose-art,.purpose-card[data-purpose=short] .purpose-art,.purpose-card[data-purpose=summary] .purpose-art{grid-area:preview;width:72px;height:88px;min-width:72px;min-height:0;padding:0}.purpose-card .result-example,.purpose-card .result-art{width:72px;height:88px;min-width:0;min-height:0;border-radius:8px}.purpose-card[data-purpose=short] .preview-short .visual-shade,.purpose-card[data-purpose=short] .preview-story-stack{display:none}.purpose-card[data-purpose=short] .preview-short .preview-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.purpose-card[data-purpose=audiobook] .preview-audiobook{width:100%;height:100%;max-height:none;gap:0}.purpose-card[data-purpose=audiobook] .audio-cover{width:100%;height:100%;min-height:0}.purpose-card[data-purpose=audiobook] .audio-cover b,.purpose-card[data-purpose=audiobook] .preview-chapters{display:none}.purpose-card[data-purpose=book] .editorial-image{width:100%;height:100%;min-width:0}.purpose-card[data-purpose=book] .editorial-copy{display:none}.purpose-card[data-purpose=summary] .preview-summary-mini{height:100%;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;padding:0}.purpose-card[data-purpose=summary] .mini-summary-video{height:100%;min-height:0}.purpose-card[data-purpose=summary] .mini-summary{display:none}
.new-book-banner{grid-template-columns:minmax(0,1fr);gap:10px;padding:14px}.new-book-art{width:100%;height:96px}.new-book-copy{grid-row:2}.new-book-title{font-size:24px}.new-book-action{width:100%;grid-column:1;white-space:normal}
.workspace-header{grid-template-columns:minmax(0,1fr);gap:6px}.workspace-header>.page-intro{align-items:flex-start;flex-direction:column}.workspace-header .page-title{font-size:28px}.workspace-header>.page-intro .quiet-link{width:100%}.stepper{align-items:flex-start;gap:8px;overflow-wrap:anywhere}.step{flex:1;align-items:flex-start;flex-direction:column;gap:5px;font-size:16px}
.writing-studio{grid-template-columns:minmax(0,1fr);gap:12px}.chapter-rail{padding:12px}.new-book-chapter-tabs{max-height:240px;overflow-y:auto}.chapter-tab{min-height:72px}.manuscript-canvas{padding:12px}.new-book-body{min-height:420px;padding:16px 8px}.manuscript-actions{align-items:stretch;flex-direction:column}.manuscript-actions>.btn,.manuscript-actions .new-book-next .btn{width:100%}
.result-page .page-intro{margin-bottom:18px}.result-canvas{padding:14px}.result-canvas .result-example{height:360px}.result-canvas .preview-audiobook,.result-canvas .preview-book,.result-canvas .preview-summary-mini{height:200px}.result-details{padding:18px}.result-actions{flex-direction:column}.result-actions .btn{width:100%}
.work-card{grid-template-columns:58px minmax(0,1fr)}.work-info{grid-template-columns:minmax(0,1fr)}.work-date{justify-self:start}.work-action{grid-column:1/-1;width:100%}.section-heading{display:grid;gap:4px}.panel{padding:18px}.sticky-action{padding-bottom:calc(12px + env(safe-area-inset-bottom))}}
@media(max-width:360px){.topbar-inner{width:calc(100% - 20px)}.container,.page{width:calc(100% - 24px)}.brand{font-size:20px}.brand-mark{width:36px;height:36px}.theme-picker select.theme-select{width:146px;padding-inline:7px;font-size:16px}.nav-button{padding-inline:4px;font-size:18px}.purpose-copy-block{min-height:0}.purpose-card[data-purpose=short] .result-art{width:min(100%,190px)}.purpose-title,.purpose-card[data-purpose=short] .purpose-title{font-size:22px}.new-book-description{font-size:18px}.panel{padding:16px}.source-choice{padding-inline:12px}}
@media(min-width:820px) and (max-width:1000px){.topbar-inner{width:calc(100% - 40px);gap:12px}.main-nav{gap:0;margin-left:0}.nav-button{min-width:76px;padding-inline:10px}.theme-picker select.theme-select{width:168px}}
@media(min-width:641px) and (max-width:900px){.workspace-layout{grid-template-columns:minmax(0,1fr)}.workspace-aside{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

.author-profile-picker{display:grid;gap:22px}.author-profile-list{display:grid;gap:12px}.author-profile-card{display:flex;align-items:center;gap:16px;width:100%;min-height:88px;padding:16px 18px;border:2px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);text-align:left;cursor:pointer;font:inherit}.author-profile-card:hover,.author-profile-card.is-selected{border-color:var(--accent)}.author-profile-card.is-selected{background:var(--surface-soft);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 16%,transparent)}.author-profile-radio{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;border:2px solid var(--line);border-radius:50%;font-size:18px;font-weight:800}.author-profile-card.is-selected .author-profile-radio{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.author-profile-copy{display:grid;min-width:0;gap:4px}.author-profile-copy b{font-size:20px}.author-profile-copy span,.author-profile-copy small{font-size:16px;line-height:1.45}.author-profile-copy span{color:var(--ink)}.author-profile-copy small{color:var(--muted)}.author-profile-picker .workflow-actions{display:flex;flex-wrap:wrap;gap:12px}.author-profile-picker .workflow-actions>.btn{flex:1 1 240px;min-height:60px;font-size:18px}
@media(max-width:640px){.author-profile-picker{gap:16px}.author-profile-card{align-items:flex-start;min-height:76px;padding:14px}.author-profile-copy b{font-size:19px}.author-profile-picker .workflow-actions{flex-direction:column}.author-profile-picker .workflow-actions>.btn{width:100%;flex-basis:auto}}

/* Tidy the sample's information order while preserving the three theme accents. */
.purpose-card,.purpose-card[data-purpose=short],.purpose-card[data-purpose=summary]{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"copy preview" "action preview";gap:12px 24px}
.purpose-copy-block,.purpose-card:not([data-purpose=short]):not([data-purpose=summary]) .purpose-copy-block{grid-area:copy;display:grid;align-content:center;gap:12px}
.purpose-copy-block>*{grid-area:auto!important}
.purpose-art,.purpose-card .result-art,.purpose-card .preview-book,.purpose-card .preview-summary-mini{background:var(--media-mat);color:var(--ink)}
.purpose-card .result-art{border:0;border-radius:10px}
.purpose-card .purpose-action{grid-area:action;align-self:end;margin-top:0}
.purpose-card[data-purpose=short] .purpose-title{font-size:30px}
.purpose-card[data-purpose=short] .purpose-copy-block{display:grid;align-content:center;gap:12px}
.purpose-card[data-purpose=short] .purpose-action{margin-top:0}
.purpose-card[data-purpose=summary] .purpose-copy-block{display:grid;align-content:center;gap:12px}
.sample-note,.action-caption,.help-text{font-size:18px}

@media(min-width:1001px){
  .purpose-card[data-purpose=short] .purpose-art{width:min(234px,100%);height:auto;min-height:0;align-self:center;justify-self:center;padding:12px}
  .purpose-card[data-purpose=short] .purpose-art>.result-example{width:100%;height:auto;aspect-ratio:9/16}
  .purpose-card[data-purpose=short] .purpose-art>.result-example>.result-art{width:100%;height:100%;aspect-ratio:9/16}
  .purpose-card[data-purpose=audiobook],.purpose-card[data-purpose=book]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(94px,1fr) 25px;grid-template-areas:"copy" "preview" "action";align-items:stretch;gap:8px;padding:14px 16px}
  .purpose-card[data-purpose=audiobook] .purpose-copy-block,.purpose-card[data-purpose=book] .purpose-copy-block{grid-area:copy;min-width:0;align-content:start;gap:6px}
  .purpose-card[data-purpose=audiobook] .purpose-title,.purpose-card[data-purpose=book] .purpose-title{overflow-wrap:anywhere}
  .purpose-card[data-purpose=audiobook] .purpose-copy,.purpose-card[data-purpose=book] .purpose-copy{white-space:nowrap}
  .purpose-card[data-purpose=audiobook] .purpose-art,.purpose-card[data-purpose=book] .purpose-art{grid-area:preview;width:100%;height:100%;min-width:0;min-height:94px;padding:6px}
  .purpose-card[data-purpose=audiobook] .purpose-art>.result-example,.purpose-card[data-purpose=book] .purpose-art>.result-example{width:100%;height:100%;min-width:0;min-height:0}
  .purpose-card[data-purpose=audiobook] .preview-audiobook,.purpose-card[data-purpose=book] .preview-book{width:100%;height:100%;min-width:0;max-height:none;min-height:0}
  .purpose-card[data-purpose=audiobook] .audio-cover{width:58px;min-width:58px;min-height:0}
  .purpose-card[data-purpose=audiobook] .preview-chapters{min-width:0;gap:4px}
  .purpose-card[data-purpose=audiobook] .preview-chapters i{min-width:0;min-height:36px;padding:4px 8px}
  .purpose-card[data-purpose=book] .editorial-image{width:28%;min-width:76px;height:100%}
  .purpose-card[data-purpose=book] .editorial-copy{min-width:0;flex:1}
  .purpose-card[data-purpose=audiobook] .purpose-action,.purpose-card[data-purpose=book] .purpose-action{grid-area:action;min-height:25px;font-size:18px;line-height:25px}
  .purpose-card[data-purpose=audiobook] .purpose-action span,.purpose-card[data-purpose=book] .purpose-action span{line-height:25px}
}

.status-message{animation:notice-in .16s ease-out}
@keyframes notice-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
.interview-panel{min-width:0;overflow-wrap:anywhere}
.format-card{min-height:56px;font-size:18px}
.interview-summary-groups{display:grid;gap:14px;min-width:0}
.interview-summary-group{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.interview-summary-group h3{margin:0 0 10px;font-size:20px}
.interview-summary-group dl{display:grid;grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);gap:8px 14px;margin:0}
.interview-summary-group dt{font-weight:800}
.interview-summary-group dd{min-width:0;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.proposal-text,.comparison-grid p,.plan-summary dd{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.interview-fields{display:grid;gap:14px;min-width:0}
.interview-answer{width:100%;min-height:112px;resize:vertical}
.interview-fields .style-fieldset{min-width:0;padding:14px;border:1px solid var(--line);border-radius:12px}
.interview-fields .toggle-line{min-height:56px}
.workflow-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.inline-error[role=alert]:focus{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:640px){.interview-summary-group dl{grid-template-columns:minmax(0,1fr);gap:4px}.interview-summary-group dd{margin-bottom:8px}}

.book-mode-tabs{display:flex;gap:10px;width:100%;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.book-mode-tab{flex:1;min-width:0;min-height:60px;padding:12px 18px;border:2px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font:inherit;font-size:19px;font-weight:800;line-height:1.3;text-align:center;white-space:nowrap;cursor:pointer}
.book-mode-tab[aria-selected="true"]{border-color:var(--accent);background:var(--surface);box-shadow:0 2px 8px #0001}
.book-mode-tab:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.conversion-panel{display:grid;grid-template-columns:minmax(0,1fr);width:100%;min-width:0;max-width:1000px;box-sizing:border-box;margin-inline:auto;overflow-wrap:anywhere}
.conversion-panel>*{min-width:0;max-width:100%}
.conversion-panel .conversion-file{display:block;width:100%;min-width:0;min-height:64px;box-sizing:border-box;padding:12px;font-size:18px;white-space:normal}
.conversion-panel input[type="file"]::file-selector-button{min-height:48px;margin-right:12px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-soft);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.conversion-source{margin:0;padding:14px;border-radius:12px;background:var(--surface-soft);font-size:18px;overflow-wrap:anywhere}
.conversion-fields{display:grid;gap:12px;min-width:0}
.conversion-panel .conversion-fields #conversion-title,.conversion-panel .conversion-fields #conversion-author{min-height:56px;box-sizing:border-box;padding:12px 14px}
.conversion-chapters{display:grid;gap:18px;margin-top:8px}
.conversion-chapter{display:grid;gap:10px;min-width:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.conversion-chapter h3{margin:0;font-size:22px}
.conversion-body{min-height:260px;resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere}
.conversion-warnings{margin:0;padding:14px 14px 14px 36px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);font-size:17px;line-height:1.55}
.conversion-storage-note{padding:14px;border-left:4px solid var(--accent);background:var(--surface-soft)}
.conversion-panel .workflow-actions>.btn{min-height:60px;font-size:18px}
.conversion-intro{margin:0;padding:12px 14px;border-left:4px solid var(--accent);background:var(--surface-soft);font-size:19px;font-weight:750}
.conversion-progress{display:grid;width:100%;min-width:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none}
.conversion-step{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:56px;padding:8px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:17px;font-weight:700;text-align:center}
.conversion-step.is-current{border:2px solid var(--accent);background:var(--surface);color:var(--ink)}
.conversion-step.is-complete{color:var(--ink)}
.conversion-step-number{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:50%;background:var(--line);font-size:16px;font-weight:800}
.conversion-step.is-current .conversion-step-number{background:var(--accent);color:var(--accent-ink)}
.conversion-limitations{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.conversion-limitations summary{min-height:40px;display:flex;align-items:center;font-size:17px;font-weight:750;cursor:pointer}
.conversion-limitations p{margin:8px 0 0;font-size:16px;line-height:1.55}
.conversion-layout-picker{display:grid;gap:10px;margin:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.conversion-layout-picker legend{padding-inline:6px;font-size:20px}
.conversion-layout-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.conversion-layout-option{display:grid;min-height:76px;gap:6px;padding:14px;border:2px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.conversion-layout-option strong{font-size:20px}
.conversion-layout-option span{font-size:18px;line-height:1.45}
.conversion-layout-option.is-selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 22%,transparent)}
.conversion-layout-option:focus-visible,.fixed-page-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.fixed-page-preview{display:grid;gap:12px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}
.fixed-page-toolbar,.fixed-page-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fixed-page-toolbar h2{margin:0;font-size:22px}
.fixed-page-toolbar span,.fixed-page-controls span{font-size:20px;font-weight:700}
.fixed-page-frame{display:grid;min-height:320px;max-height:72vh;place-items:center;overflow:auto;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.fixed-page-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:68vh;object-fit:contain}
.fixed-page-frame p{margin:0;font-size:20px;text-align:center}
.fixed-page-controls button{min-width:112px;min-height:56px;font-size:18px}
.conversion-body[readonly]{background:var(--surface);color:var(--ink);opacity:1}
.conversion-chapter .help-text{font-size:18px;line-height:1.5}
@media(max-width:640px){.workspace-page:has(.conversion-panel){min-width:0;width:100%}.conversion-panel{grid-template-columns:minmax(0,1fr);padding:16px}.conversion-panel>*{min-width:0;max-width:100%}.conversion-panel .conversion-file{width:100%;min-width:0;white-space:normal}.book-mode-tabs{flex-direction:column;gap:6px}.book-mode-tab{min-height:60px;padding-inline:10px;text-align:left}.conversion-progress{gap:5px}.conversion-step{flex-direction:column;gap:4px;min-height:80px;padding:6px 3px;font-size:18px;overflow-wrap:anywhere}.conversion-step>span:last-child{min-width:0;max-width:100%;overflow-wrap:anywhere}.conversion-step-number{flex-basis:28px;width:28px;height:28px}.conversion-chapter{padding:14px}.conversion-body{min-height:300px}.conversion-panel .workflow-actions{flex-direction:column;align-items:stretch}.conversion-panel .workflow-actions>.btn{width:100%}}
@media(max-width:640px){.conversion-layout-options{grid-template-columns:minmax(0,1fr)}.fixed-page-preview{padding:12px}.fixed-page-toolbar,.fixed-page-controls{flex-wrap:wrap}.fixed-page-toolbar h2{font-size:20px}.fixed-page-frame{min-height:240px;max-height:62vh;padding:6px}.fixed-page-frame img{max-height:58vh}.fixed-page-controls{justify-content:space-between}.fixed-page-controls button{flex:1;min-width:56px;min-height:56px;padding-inline:8px}.fixed-page-controls span{width:100%;order:-1;text-align:center}}
@media(min-width:641px) and (max-width:1000px){
  .purpose-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}
  .purpose-card,.purpose-card[data-purpose=short],.purpose-card[data-purpose=summary]{grid-column:auto;grid-row:auto;min-height:286px;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(96px,1fr) auto;grid-template-areas:"copy" "preview" "action";align-items:stretch;gap:12px;padding:18px}
  .purpose-card .purpose-copy-block,.purpose-card[data-purpose=short] .purpose-copy-block,.purpose-card[data-purpose=summary] .purpose-copy-block{display:grid;grid-area:copy;align-content:start;gap:12px}
  .purpose-card .purpose-title,.purpose-card[data-purpose=short] .purpose-title,.purpose-card .purpose-copy,.purpose-card .purpose-action{grid-area:auto!important}
  .purpose-card .purpose-art,.purpose-card[data-purpose=short] .purpose-art,.purpose-card[data-purpose=summary] .purpose-art{grid-area:preview;min-height:96px;height:auto}
  .purpose-card:not([data-purpose=summary]) .purpose-art{height:100%;min-height:96px;align-self:stretch}
  .purpose-card:not([data-purpose=summary]) .purpose-art>.result-example{width:100%;height:100%;min-width:0;min-height:96px;align-self:stretch}
  .purpose-card:not([data-purpose=summary]) .purpose-art>.result-example>.result-art{width:100%;height:100%;min-height:96px}
  .purpose-card[data-purpose=audiobook] .preview-audiobook,.purpose-card[data-purpose=book] .preview-book{width:100%;height:100%;max-height:none;min-height:96px}
  .purpose-card .purpose-action{grid-area:action;margin-top:0}
  .purpose-card[data-purpose=short] .result-art{width:min(100%,180px);height:100%;aspect-ratio:auto}
}
@media(max-width:640px){
  .purpose-card,.purpose-card[data-purpose=short],.purpose-card[data-purpose=summary]{height:124px;min-height:124px;max-height:124px;grid-template-columns:minmax(0,1fr) 72px;grid-template-rows:minmax(0,1fr);grid-template-areas:"copy preview";gap:10px;padding:10px 12px}
  .purpose-card .purpose-copy-block,.purpose-card[data-purpose=short] .purpose-copy-block,.purpose-card[data-purpose=summary] .purpose-copy-block,.purpose-card:not([data-purpose=short]):not([data-purpose=summary]) .purpose-copy-block{grid-area:copy;display:flex;gap:4px;justify-content:center;overflow:hidden}
  .purpose-card .purpose-title,.purpose-card[data-purpose=short] .purpose-title{font-size:22px;line-height:1.2}
  .purpose-card .purpose-copy{font-size:18px;line-height:1.25}
  .purpose-card .purpose-action{display:none}
  .purpose-card .purpose-art,.purpose-card[data-purpose=short] .purpose-art,.purpose-card[data-purpose=summary] .purpose-art{grid-area:preview;width:72px;height:88px;min-width:72px;min-height:0;padding:0}
}

.conversion-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.conversion-preview{margin:0;padding:.75rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.conversion-preview img{display:block;width:100%;height:auto;max-height:70vh;object-fit:contain;background:var(--canvas)}.conversion-preview figcaption{padding-top:.5rem;color:var(--muted)}
.blog-source{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.blog-post-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0}
.blog-post-list{display:grid;gap:8px;max-height:360px;overflow:auto;margin:0;padding:0;list-style:none}
.blog-post-list li{min-width:0}
.blog-post{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--surface);cursor:pointer}
.blog-post input{flex:0 0 auto;width:22px;height:22px;margin:2px 0 0;accent-color:var(--accent)}
.blog-post span{display:grid;gap:5px;min-width:0}
.blog-post strong{font-size:18px;line-height:1.4;overflow-wrap:anywhere}
.blog-post small{color:var(--muted);font-size:16px}
