:root {
  --ink: #15211e;
  --paper: #f8f6ef;
  --paper-deep: #efebe0;
  --card: #ffffff;
  --line: #dcd7ca;
  --moss: #2f5d50;
  --moss-dark: #1d4036;
  --gold: #b78842;
  --clay: #b45e49;
  --muted: #69726c;
  --shadow: 0 16px 38px rgba(32, 47, 42, 0.08);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.topbar { min-height: 76px; display: flex; justify-content: space-between; align-items: center; padding: 0 5vw; border-bottom: 1px solid rgba(21,33,30,.10); background: rgba(248,246,239,.92); backdrop-filter: blur(12px); position: sticky; top: 0; z-index: 30; }
.brand { display: inline-flex; align-items: center; gap: 10px; font-weight: 750; font-size: 1.08rem; letter-spacing: -.04em; }
.brand > span:last-child > span { color: var(--moss); }
.brand-mark { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 9px; background: var(--moss); color: #fff; font-family: var(--serif); font-weight: 700; }
.topnav { display: flex; align-items: center; gap: 24px; color: #40504a; font-size: .93rem; }
.topnav form { margin: 0; }
.user-name { color: var(--ink); font-weight: 650; }
.link-button { border: 0; background: transparent; color: inherit; padding: 0; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border: 1px solid var(--moss); border-radius: 11px; background: var(--moss); color: #fff; font-weight: 700; transition: .18s ease; }
.button:hover { transform: translateY(-1px); background: var(--moss-dark); border-color: var(--moss-dark); }
.button-small { min-height: 36px; padding: 0 13px; border-radius: 9px; font-size: .86rem; }
.button-outline { background: transparent; color: var(--moss); }
.button-outline:hover { color: #fff; }
.button-ghost { background: transparent; color: var(--ink); border-color: var(--line); }
.button-ghost:hover { background: var(--paper-deep); color: var(--ink); border-color: var(--line); }
main { min-height: calc(100vh - 140px); }
.hero { max-width: 1240px; margin: 0 auto; padding: 90px 5vw 68px; display: grid; grid-template-columns: 1.15fr .85fr; align-items: center; gap: 72px; }
.eyebrow { color: var(--moss); text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 800; margin: 0 0 12px; }
.hero h1, h1, h2, h3 { font-family: var(--serif); letter-spacing: -.035em; line-height: 1.08; }
.hero h1 { max-width: 740px; font-size: clamp(3.2rem, 7vw, 5.85rem); margin: 0; }
.hero-lede { max-width: 650px; font-size: 1.17rem; color: #4e5b55; margin: 26px 0 30px; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.text-link { color: var(--moss); font-weight: 750; }
.text-link span { transition: transform .18s ease; display: inline-block; }
.text-link:hover span { transform: translateX(4px); }
.hero-panel { padding: 20px; background: #1b332c; color: #eef2eb; border-radius: 22px; box-shadow: 0 20px 55px rgba(24,51,43,.24); }
.hero-panel-top { display: flex; justify-content: space-between; font-size: .78rem; color: #bdcbc5; }
.status-dot { color: #e5c16a; }
.mini-book { margin-top: 26px; padding: 30px; border-radius: 16px; background: #f5f1e8; color: var(--ink); }
.mini-book .eyebrow { margin-bottom: 8px; }
.mini-book h2 { margin: 0; font-size: 1.75rem; }
.mini-book p { margin: 7px 0 18px; color: #64716b; font-size: .92rem; }
.progress { height: 8px; background: rgba(47,93,80,.12); border-radius: 999px; overflow: hidden; }
.progress > span { display: block; height: 100%; background: var(--moss); border-radius: inherit; }
.progress.large { height: 12px; }
.mini-stats, .book-card-meta, .progress-card-meta { display: flex; justify-content: space-between; gap: 12px; font-size: .76rem; color: #64716b; margin-top: 10px; }
.mini-chapter { margin-top: 16px; padding: 18px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; display: flex; align-items: center; gap: 14px; }
.chapter-number { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(229,193,106,.16); color: #e5c16a; font-weight: 800; }
.mini-chapter strong { display: block; font-size: .92rem; }.mini-chapter small { color: #b9c8c1; font-size: .74rem; }
.feature-grid { max-width: 1240px; margin: 0 auto; padding: 16px 5vw 100px; display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.feature-grid article { padding: 26px 0 0; border-top: 1px solid var(--line); }.feature-number { color: var(--gold); font-family: var(--serif); font-size: 1.1rem; }.feature-grid h2 { margin: 14px 0 10px; font-size: 1.65rem; }.feature-grid p { color: #59655f; max-width: 340px; }
.site-footer { border-top: 1px solid rgba(21,33,30,.1); padding: 24px 5vw; display: flex; justify-content: space-between; gap: 20px; color: #6d756f; font-size: .8rem; }
.flash-wrap { max-width: 1180px; margin: 18px auto 0; padding: 0 5vw; }.flash { padding: 12px 15px; border-radius: 10px; font-size: .92rem; }.flash.success { background: #e2f1e8; color: #225b3a; }.flash.error { background: #f9e6e1; color: #7f3121; }
.auth-card { width: min(100% - 40px, 470px); margin: 72px auto; padding: 38px; background: var(--card); border: 1px solid var(--line); box-shadow: var(--shadow); border-radius: 18px; }.auth-card h1 { font-size: 2.2rem; margin: 0 0 9px; }.subtle { color: var(--muted); margin: 0; }.form-stack { display: grid; gap: 18px; margin-top: 25px; }
label { display: grid; gap: 7px; color: #314039; font-size: .86rem; font-weight: 720; }input, select, textarea { width: 100%; border: 1px solid #cdc8bc; background: #fffefa; color: var(--ink); border-radius: 9px; padding: 11px 12px; outline: none; transition: border-color .15s ease, box-shadow .15s ease; }textarea { resize: vertical; }input:focus, select:focus, textarea:focus { border-color: var(--moss); box-shadow: 0 0 0 3px rgba(47,93,80,.12); }.form-stack .button { margin-top: 5px; }
.app-shell { max-width: 1320px; margin: 0 auto; padding: 48px 5vw 80px; }.app-page-head, .book-header, .chapter-editor-head { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; margin-bottom: 30px; }.app-page-head h1,.book-header h1,.chapter-editor-head h1 { margin: 0; font-size: clamp(2.4rem,4vw,3.5rem); }.app-page-head .subtle,.book-header .subtle { margin-top: 8px; }
.empty-state { text-align: center; max-width: 680px; margin: 60px auto; padding: 52px 28px; background: var(--card); border: 1px dashed #c9c3b5; border-radius: 18px; }.empty-state.narrow { margin-top: 100px; }.empty-state h2 { font-size: 2rem; margin: 0 0 12px; }.empty-state p { color: var(--muted); max-width: 520px; margin: 0 auto 26px; }
.book-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }.book-card { padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 24px rgba(21,33,30,.035); transition: transform .18s ease, box-shadow .18s ease; }.book-card:hover { transform: translateY(-2px); box-shadow: var(--shadow); }.book-card-top, .chapter-row-title { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:.78rem; color:var(--muted); }.status-pill,.type-pill,.coming-soon { display:inline-flex; align-items:center; width:max-content; padding:4px 8px; border-radius:999px; background:#edf1ec; color:var(--moss-dark); font-size:.7rem; font-weight:800; letter-spacing:.03em; }.book-card h2 { margin: 22px 0 6px; font-size: 1.65rem; }.book-card > p { margin:0 0 22px; color:var(--muted); font-size:.9rem; }.card-link { display:inline-flex; margin-top: 24px; color:var(--moss); font-size:.88rem; font-weight:800; }.card-link span { margin-left:8px; }
.workspace-form { display:grid; gap:24px; }.workspace-form.compact { max-width: 900px; }.form-section { display:grid; grid-template-columns: minmax(190px,.38fr) 1fr; gap:45px; padding:32px; background:var(--card); border:1px solid var(--line); border-radius:16px; }.form-section-heading h2 { margin:0; font-size:1.8rem; }.form-section-heading .eyebrow { margin-bottom:8px; }.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.field-wide { grid-column:1 / -1; }.form-actions { display:flex; justify-content:flex-end; gap:12px; align-items:center; }
.book-header { margin-bottom:16px; }.book-header-actions { display:flex; gap:10px; }.book-tabs { border-bottom:1px solid var(--line); margin-bottom:32px; display:flex; gap:28px; overflow-x:auto; }.book-tabs a { padding:0 0 14px; color:var(--muted); font-weight:750; font-size:.9rem; white-space:nowrap; border-bottom:2px solid transparent; }.book-tabs a.active { color:var(--moss); border-color:var(--moss); }
.overview-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(280px,.7fr); gap:20px; }.overview-primary { display:grid; gap:20px; }.progress-card,.summary-card,.side-card,.bible-add,.bible-item,.preview-toolbar,.manuscript-preview { background:var(--card); border:1px solid var(--line); border-radius:16px; }.progress-card,.summary-card { padding:28px; }.progress-card-head { display:flex; justify-content:space-between; gap:18px; align-items:start; }.progress-card-head h2,.summary-card h2 { margin:0; font-size:1.8rem; }.progress-card-head > span { color:var(--moss); font-weight:800; }.summary-card > p:not(.eyebrow) { color:#526059; max-width:70ch; }.summary-details { margin-top:20px; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }.summary-details div { padding:13px; background:var(--paper); border-radius:10px; }.summary-details span { display:block; color:var(--muted); font-size:.72rem; margin-bottom:4px; }.summary-details strong { font-size:.84rem; }.overview-side { display:grid; align-content:start; gap:20px; }.side-card { padding:22px; }.side-card h3 { margin:0 0 9px; font-size:1.35rem; }.side-card p:not(.eyebrow) { color:#5e6963; font-size:.9rem; }.coming-soon { margin-top:8px; background:#fff1d4; color:#865a1b; }.edit-book-section { margin-top:20px; background:var(--card); border:1px solid var(--line); border-radius:16px; }.edit-book-section details > summary { padding:20px 24px; cursor:pointer; font-weight:750; }.edit-book-section .workspace-form { padding:0 24px 24px; }
.bible-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:24px; }.section-heading { margin:0 0 22px; }.section-heading h2 { margin:0; font-size:2rem; }.section-heading > p:not(.eyebrow) { margin:8px 0 0; color:var(--muted); max-width:700px; }.bible-list { display:grid; gap:14px; }.bible-item { padding:20px; }.bible-item h3 { margin:10px 0 8px; font-size:1.4rem; }.bible-item p { color:#54615b; margin:0; }.type-pill { background:#f0eee5; color:#695e43; text-transform:capitalize; }.bible-add { align-self:start; padding:24px; }.bible-add h2 { margin:0 0 14px; font-size:1.6rem; }.empty-inline { padding:36px 24px; border:1px dashed #cbc5b7; border-radius:14px; background:#fbfaf6; }.empty-inline h3 { margin:0 0 8px; font-size:1.35rem; }.empty-inline p { margin:0; color:var(--muted); }
.with-action { display:flex; justify-content:space-between; gap:24px; align-items:end; }.chapter-list { display:grid; gap:12px; }.chapter-row { display:grid; grid-template-columns:54px 1fr auto; gap:18px; align-items:center; padding:18px; background:var(--card); border:1px solid var(--line); border-radius:14px; }.chapter-row-number { font-family:var(--serif); font-size:1.35rem; color:var(--gold); }.chapter-row h3 { margin:0; font-size:1.25rem; }.chapter-row-main > p { margin:5px 0 8px; color:var(--muted); font-size:.9rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.chapter-row-meta { display:flex; gap:15px; color:#79827b; font-size:.75rem; }
.preview-wrap { max-width:900px; margin:0 auto; }.preview-toolbar { display:flex; justify-content:space-between; gap:20px; align-items:center; padding:20px 24px; margin-bottom:18px; }.preview-toolbar h2 { margin:0; font-size:1.85rem; }.preview-toolbar p:not(.eyebrow),.preview-toolbar > span { color:var(--muted); font-size:.86rem; margin:3px 0 0; }.manuscript-preview { padding:70px min(10vw,90px); }.preview-chapter + .preview-chapter { margin-top:90px; padding-top:70px; border-top:1px solid var(--line); }.preview-chapter-number { color:var(--moss); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:800; }.preview-chapter h2 { font-size:2.3rem; margin:0 0 32px; }.preview-copy { font-family:var(--serif); font-size:1.08rem; line-height:1.9; }.preview-placeholder { color:var(--muted); font-style:italic; }
.editor-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:20px; }.chapter-editor-head { margin-bottom:22px; }.back-link { display:inline-block; margin-bottom:16px; color:var(--moss); font-size:.88rem; font-weight:750; }.word-count-badge { padding:8px 11px; background:#edf1ec; color:var(--moss-dark); font-size:.8rem; font-weight:800; border-radius:999px; }.chapter-form { display:grid; gap:15px; }.chapter-meta-grid { display:grid; grid-template-columns:1.2fr 1fr .6fr; gap:12px; }.chapter-planning { padding:16px 18px; background:#f1f3ed; border-radius:12px; }.chapter-planning summary { cursor:pointer; color:var(--moss-dark); font-weight:800; margin-bottom:14px; }.chapter-planning[open] { display:grid; gap:14px; }.manuscript-label { font-size:.78rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); }.manuscript-editor { min-height:620px; padding:28px; border-radius:13px; font-family:var(--serif); font-size:1.08rem; line-height:1.8; }.editor-sidebar { display:grid; align-content:start; gap:14px; }.version-list { list-style:none; margin:0; padding:0; display:grid; gap:9px; }.version-list li { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:.75rem; }.version-list strong { color:var(--ink); font-weight:750; }.ai-card { background:#f4f1e8; }
@media (max-width: 900px) { .hero { grid-template-columns:1fr; gap:42px; }.feature-grid,.book-card-grid { grid-template-columns:1fr; }.overview-grid,.bible-layout,.editor-layout { grid-template-columns:1fr; }.form-section { grid-template-columns:1fr; gap:22px; }.summary-details { grid-template-columns:1fr; }.chapter-meta-grid { grid-template-columns:1fr; }.editor-sidebar { grid-template-columns:repeat(3,1fr); }.topnav { gap:12px; }.topnav > a:not(.button) { display:none; } }
@media (max-width: 620px) { .topbar { padding:0 20px; min-height:66px; }.brand { font-size:1rem; }.user-name { display:none; }.hero { padding:58px 24px 44px; }.hero h1 { font-size:3rem; }.feature-grid { padding:12px 24px 64px; }.site-footer { padding:20px 24px; display:grid; }.app-shell { padding:30px 20px 60px; }.app-page-head,.book-header,.chapter-editor-head,.with-action,.preview-toolbar { display:grid; }.field-grid { grid-template-columns:1fr; }.field-wide { grid-column:auto; }.form-section { padding:23px; }.form-actions { justify-content:stretch; }.form-actions .button { flex:1; }.chapter-row { grid-template-columns:40px 1fr; }.chapter-row > .button { grid-column:2; justify-self:start; }.editor-sidebar { grid-template-columns:1fr; }.manuscript-preview { padding:45px 28px; }.book-tabs { gap:20px; }.hero-panel { padding:14px; }.mini-book { padding:22px; } }

/* AI Story Studio */
.form-note { margin: 10px 0 0; color: var(--muted); font-size: .9rem; line-height: 1.55; }
.section-heading-actions, .empty-actions, .result-action-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.studio-intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); gap: 24px; align-items: center; margin: 34px 0 22px; }
.studio-intro h2 { margin: 5px 0 8px; font-size: clamp(2rem, 3vw, 3rem); }
.studio-intro p { margin: 0; color: var(--muted); max-width: 720px; line-height: 1.62; }
.studio-status { border: 1px solid var(--line); border-radius: 16px; background: var(--card); display: flex; gap: 12px; padding: 18px; box-shadow: 0 8px 24px rgba(32,47,42,.05); }
.studio-status.ready { border-color: #afd3c1; background: #f4fbf7; }
.studio-status.not-ready { border-color: #e6cf9c; background: #fffaf0; }
.studio-status-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 6px; flex: 0 0 auto; background: var(--gold); }
.studio-status.ready .studio-status-dot { background: var(--moss); }
.studio-status strong { display: block; margin-bottom: 4px; color: var(--ink); }
.studio-status p { font-size: .86rem; }
.studio-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: 22px; align-items: start; }
.studio-actions { position: sticky; top: 22px; display: grid; gap: 9px; }
.studio-action-card { display: grid; gap: 5px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); background: var(--card); text-decoration: none; transition: .18s ease; }
.studio-action-card:hover { border-color: var(--moss); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(32,47,42,.08); }
.studio-action-card.active { border-color: var(--moss); background: #ecf5f0; box-shadow: inset 3px 0 0 var(--moss); }
.studio-action-card span, .studio-later-card .eyebrow { color: var(--moss); font-size: .68rem; letter-spacing: .11em; text-transform: uppercase; font-weight: 800; }
.studio-action-card strong { font-size: 1rem; }
.studio-action-card small { color: var(--muted); font-size: .81rem; line-height: 1.45; }
.studio-later-card { padding: 17px; border: 1px dashed #c9b992; border-radius: 14px; background: #fffaf0; margin-top: 7px; }
.studio-later-card h3 { margin: 5px 0 6px; font-size: 1.05rem; }
.studio-later-card p:last-child { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.52; }
.studio-main { display: grid; gap: 22px; }
.studio-run-card, .studio-result, .studio-empty, .studio-history { border: 1px solid var(--line); border-radius: 18px; background: var(--card); padding: 30px; box-shadow: var(--shadow); }
.studio-run-card > p:not(.eyebrow) { color: var(--muted); line-height: 1.6; margin: 0 0 20px; }
.studio-run-card h2 { margin: 5px 0 8px; font-size: 1.75rem; }
.studio-run-note { background: #f5f2ea; color: var(--muted); padding: 12px 13px; border-radius: 10px; font-size: .84rem; line-height: 1.5; }
.studio-run-note span { color: var(--ink); font-weight: 800; }
.studio-run-card button[disabled] { opacity: .52; cursor: not-allowed; }
.studio-empty { background: #fbfaf7; padding: 26px 30px; }
.studio-empty h3 { margin: 4px 0 7px; font-size: 1.3rem; }
.studio-empty p:last-child { margin: 0; color: var(--muted); line-height: 1.58; }
.studio-result { padding: 0; overflow: hidden; }
.studio-result-head { display: flex; justify-content: space-between; gap: 20px; padding: 27px 30px; background: #f4f8f5; border-bottom: 1px solid #dce9e1; }
.studio-result-head h2 { margin: 5px 0 7px; font-size: 1.5rem; }
.studio-result-head p { margin: 0; color: var(--muted); max-width: 600px; line-height: 1.5; }
.result-time { color: var(--muted); font-size: .8rem; white-space: nowrap; align-self: flex-start; }
.studio-result > .result-intro, .studio-result > .result-prose, .studio-result > .result-metric-grid, .studio-result > .tag-list, .studio-result > .rule-list, .studio-result > .outline-stack, .studio-result > .chapter-plan-result, .studio-result > .result-action, .studio-result > .result-action-row, .studio-result > .next-move, .studio-result > .title-option-grid { margin-left: 30px; margin-right: 30px; }
.result-intro { color: var(--muted); line-height: 1.6; margin-top: 24px; }
.title-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 25px; margin-bottom: 30px; }
.title-option { border: 1px solid var(--line); border-radius: 14px; padding: 18px; display: grid; align-content: start; gap: 9px; }
.title-option h3 { margin: 0; font-family: var(--serif); font-size: 1.3rem; }
.title-option p { margin: 0; color: var(--muted); line-height: 1.5; font-size: .91rem; }
.title-option .option-subtitle { color: var(--moss); font-weight: 750; }
.title-option form { margin-top: 4px; }
.result-prose { display: grid; gap: 14px; margin-top: 24px; }
.result-prose section { padding: 16px 18px; border-left: 3px solid var(--moss); background: #f8faf8; }
.result-prose span, .result-metric-grid span { display: block; color: var(--muted); text-transform: uppercase; letter-spacing: .09em; font-size: .69rem; font-weight: 800; margin-bottom: 7px; }
.result-prose p { margin: 0; line-height: 1.63; }
.result-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.result-metric-grid > div { border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.result-metric-grid strong { font-size: .93rem; line-height: 1.35; }
.tag-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.tag-list span { border-radius: 999px; background: #ecf5f0; color: var(--moss-dark); font-size: .78rem; padding: 7px 10px; font-weight: 700; }
.result-action { margin-top: 24px; margin-bottom: 30px; }
.rule-list { margin-top: 22px; }
.rule-list h3 { margin: 0 0 11px; font-size: 1.05rem; }
.rule-list ul { display: grid; gap: 9px; padding-left: 20px; margin: 0; color: var(--ink); line-height: 1.5; }
.next-move { margin-top: 22px; margin-bottom: 30px; color: var(--moss-dark); }
.outline-stack { display: grid; gap: 13px; margin-top: 24px; }
.outline-act { border: 1px solid var(--line); border-radius: 14px; padding: 19px 20px; }
.outline-act h3 { margin: 5px 0 10px; font-size: 1.1rem; }
.outline-act ul { margin: 0; padding-left: 20px; display: grid; gap: 7px; line-height: 1.5; }
.chapter-plan-result { margin-top: 24px; margin-bottom: 22px; border: 1px solid var(--line); border-radius: 15px; overflow: hidden; }
.chapter-plan-result-head { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 16px 19px; background: #f6f5f0; border-bottom: 1px solid var(--line); }
.chapter-plan-result-head h3 { margin: 4px 0 0; font-size: 1.1rem; }
.chapter-plan-result-head > span { color: var(--muted); font-size: .78rem; }
.plan-chapter { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 18px 19px; border-bottom: 1px solid var(--line); }
.plan-chapter:last-child { border-bottom: 0; }
.plan-number { font-weight: 850; color: var(--moss); font-size: 1rem; padding-top: 2px; }
.plan-chapter-title { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.plan-chapter-title h4 { margin: 0; font-size: 1.05rem; }
.plan-chapter-title span { color: var(--muted); font-size: .78rem; white-space: nowrap; }
.plan-label { color: var(--moss); font-size: .85rem !important; font-weight: 750; margin-top: 5px !important; }
.plan-chapter p { margin: 8px 0 0; color: var(--muted); line-height: 1.55; }
.plan-meta { display: grid; gap: 5px; margin-top: 11px; color: var(--ink); font-size: .87rem; line-height: 1.45; }
.result-action-row { margin-top: 0; margin-bottom: 30px; }
.apply-note { color: var(--muted); font-size: .84rem; max-width: 460px; margin: 0; line-height: 1.5; }
.error-result { padding: 28px 30px; border-color: #dfb4ac; background: #fff8f6; }
.error-result h2 { margin: 6px 0; }
.error-result p:last-child { color: #874235; }
.studio-history { padding: 24px 0 0; overflow: hidden; }
.studio-history .section-heading { padding: 0 30px 16px; margin: 0; }
.studio-history h3 { margin: 4px 0 0; font-size: 1.15rem; }
.history-list { border-top: 1px solid var(--line); }
.history-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--ink); text-decoration: none; padding: 14px 30px; border-bottom: 1px solid var(--line); }
.history-row:last-child { border-bottom: 0; }
.history-row:hover { background: #faf9f4; }
.history-row strong { display: block; text-transform: capitalize; font-size: .91rem; }
.history-row span:not(.history-status) { display: block; color: var(--muted); font-size: .76rem; margin-top: 3px; }
.history-status { border-radius: 999px; font-size: .72rem; padding: 5px 8px; font-weight: 800; background: #f0efe9; color: var(--muted); text-transform: capitalize; }
.history-status.completed { background: #e7f4ed; color: var(--moss-dark); }
.history-status.failed { background: #fbeae7; color: #8b3e31; }

@media (max-width: 980px) {
  .studio-intro, .studio-layout { grid-template-columns: 1fr; }
  .studio-actions { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .studio-later-card { grid-column: 1 / -1; }
  .result-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .section-heading-actions, .empty-actions, .result-action-row { align-items: stretch; }
  .section-heading-actions .button, .empty-actions .button, .result-action-row .button { width: 100%; text-align: center; }
  .studio-intro { margin-top: 18px; }
  .studio-actions { grid-template-columns: 1fr; }
  .studio-run-card, .studio-result, .studio-empty { padding: 22px; }
  .studio-result { padding: 0; }
  .studio-result-head { display: grid; padding: 22px; }
  .result-time { white-space: normal; }
  .studio-result > .result-intro, .studio-result > .result-prose, .studio-result > .result-metric-grid, .studio-result > .tag-list, .studio-result > .rule-list, .studio-result > .outline-stack, .studio-result > .chapter-plan-result, .studio-result > .result-action, .studio-result > .result-action-row, .studio-result > .next-move, .studio-result > .title-option-grid { margin-left: 22px; margin-right: 22px; }
  .title-option-grid, .result-metric-grid { grid-template-columns: 1fr; }
  .chapter-plan-result-head, .plan-chapter-title { display: grid; }
  .plan-chapter { grid-template-columns: 34px minmax(0, 1fr); padding: 16px; }
  .studio-history { padding-top: 20px; }
  .studio-history .section-heading, .history-row { padding-left: 22px; padding-right: 22px; }
}
