:root{--canvas:#f4f0e7;--paper:#fffaf0;--paper-deep:#f8edda;--ink:#241b17;--ink-soft:#625044;--ink-muted:#8b7666;--sepia:#a85f37;--marigold:#d79a2b;--leaf:#506d57;--rose:#b76f68;--slate-ink:#536b75;--line:#34231824;--line-strong:#3423183d;--focus:#a85f3759;--danger:#9b2f28;--success:#366344;--shadow:0 0 0 1px #3423180f, 0 18px 50px #482c191c;--radius-small:7px;--radius:8px;--radius-large:14px}*{box-sizing:border-box}html{background:var(--canvas);min-height:100%;color:var(--ink);-webkit-font-smoothing:antialiased;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif}body{min-height:100%;margin:0}button,input,textarea{font:inherit}button{cursor:pointer;min-height:44px}button:disabled{cursor:not-allowed;opacity:.55}input,textarea{border:1px solid var(--line);border-radius:var(--radius-small);width:100%;color:var(--ink);background:#fffaf0ad;outline:none;transition:border-color .16s cubic-bezier(.23,1,.32,1),box-shadow .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1)}input:focus,textarea:focus{border-color:var(--sepia);box-shadow:0 0 0 4px var(--focus);background:#fffdf7}textarea{resize:vertical}.app-shell{min-height:100vh;padding:24px}.masthead{justify-content:space-between;align-items:end;gap:24px;max-width:1440px;margin:0 auto 20px;display:flex}.masthead h1{max-width:780px;color:var(--ink);letter-spacing:0;text-wrap:balance;margin:4px 0 8px;font-size:44px;font-weight:650;line-height:.98}.masthead-copy{max-width:710px;color:var(--ink-soft);text-wrap:pretty;margin:0;font-size:17px;line-height:1.55}.eyebrow{color:var(--sepia);letter-spacing:.08em;text-transform:uppercase;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:700}.proof-strip{flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:420px;display:flex}.proof-strip span,.backend-pill{border:1px solid var(--line);min-height:34px;color:var(--ink-soft);background:#fffaf0a8;border-radius:999px;align-items:center;gap:7px;padding:7px 11px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:650;display:inline-flex}.backend-pill.convex{color:var(--success)}.backend-pill.local{color:var(--danger)}.workspace{grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start;gap:20px;max-width:1440px;margin:0 auto;display:grid}.intake-panel,.book-workbench,.transcript-panel{border:1px solid var(--line);border-radius:var(--radius-large);box-shadow:var(--shadow);background:#fffaf0bd}.intake-panel{gap:14px;padding:16px;display:grid}.panel-heading,.editor-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2,.editor-toolbar h2,.transcript-panel h3{margin:4px 0 0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;font-weight:730;line-height:1.2}.access-box{border-radius:var(--radius);background:var(--paper-deep);grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:13px;display:grid}.access-box.ready{background:#506d5721}.access-box.missing{background:#d79a2b29}.access-box strong{margin:4px 0 2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;font-weight:760;display:block}.access-box span,.upload-card small,.field-label{color:var(--ink-muted);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:520}.field-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{gap:6px;display:grid}.field span{color:var(--ink-soft);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px;font-weight:680}.field input,.field textarea,.transcript-panel textarea{padding:10px 11px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.4}.upload-zone{grid-template-columns:1fr 1fr;gap:10px;display:grid}.upload-card{border:1px dashed var(--line-strong);border-radius:var(--radius);min-height:120px;color:var(--ink-soft);background:#f8eddaad;gap:5px;padding:14px;transition:border-color .16s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1);display:grid;position:relative}.upload-card:hover{border-color:var(--sepia);background:#f8eddaf2}.upload-card span{color:var(--ink);word-break:break-word;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:720}.upload-card input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.prompt-block{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf7ad;max-height:230px;padding:12px;overflow:auto}.prompt-title{color:var(--sepia);align-items:center;gap:8px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;font-weight:760;display:flex}.prompt-block ol{color:var(--ink-soft);margin:10px 0 0;padding-left:20px;font-size:14px;line-height:1.42}.prompt-block li+li{margin-top:7px}.action-row{grid-template-columns:.8fr 1.2fr;gap:10px;display:grid}.primary-button,.secondary-button,.export-button{border-radius:var(--radius-small);justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;font-weight:760;transition:transform .12s cubic-bezier(.23,1,.32,1),background .16s cubic-bezier(.23,1,.32,1);display:inline-flex}.primary-button:active,.secondary-button:active,.export-button:active{transform:scale(.98)}.primary-button{background:var(--sepia);color:#fffaf0;border:1px solid #4a2c1c38}.primary-button:hover:not(:disabled){background:#934f2e}.secondary-button,.export-button{border:1px solid var(--line);color:var(--ink);background:#fffdf7d6}.secondary-button:hover:not(:disabled),.export-button:hover:not(:disabled){background:var(--paper)}.notice{border-radius:var(--radius);color:var(--ink-soft);align-items:flex-start;gap:10px;padding:11px 12px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.35;display:flex}.notice.success{color:var(--success);background:#506d5721}.notice.warning{background:#d79a2b29}.notice.error{color:var(--danger);background:#9b2f281f}.book-workbench{min-height:calc(100vh - 154px);padding:16px}.editor-toolbar{margin-bottom:16px}.storybook-page{background:linear-gradient(90deg,#241b170d 0,#0000 18% 82%,#241b170a 100%);border-radius:12px;justify-content:center;padding:24px;display:flex}.book{isolation:isolate;background:radial-gradient(circle at 18% 22%, #5043341c 0 1px, transparent 1.5px), radial-gradient(circle at 72% 28%, #a85f3717 0 1px, transparent 1.4px), radial-gradient(circle at 34% 78%, #506d5714 0 .8px, transparent 1.4px), linear-gradient(100deg, #ffffff61, #f8edda33 42%, #78533014), var(--paper);background-size:18px 18px,26px 26px,34px 34px,auto,auto;border:1px solid #34231829;border-radius:6px;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);gap:0;width:min(100%,980px);min-height:940px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff80,0 20px 45px #482c1929}.book:before{z-index:-1;content:"";opacity:.62;pointer-events:none;background:linear-gradient(82deg,#0000 0 12%,#694d300a 13%,#0000 14% 100%),repeating-linear-gradient(0deg,#3c2d2009 0 1px,#0000 1px 7px);position:absolute;inset:0}.book:after{content:"";pointer-events:none;background:linear-gradient(#0000,#3423182e 16%,#34231814 84%,#0000);width:1px;position:absolute;top:0;bottom:0;left:44%}.visual-page,.text-page{min-width:0;padding:44px}.visual-page{background:#fffaf02e;align-content:start;gap:30px;min-height:940px;display:grid}.text-page{background:#fffaf052}.book-cover{border-bottom:1px solid var(--line);text-align:center;gap:12px;padding-bottom:30px;display:grid}.book-title,.book-subtitle,.book-dedication,.story-section-heading,.story-section-body,.closing-note textarea,.language-note textarea{box-shadow:none;resize:none;background:0 0;border:0;overflow:hidden}.book input:focus,.book textarea:focus{background:#fffaf052;border-color:#0000;box-shadow:inset 0 -2px #a85f3747}.book-title{text-align:center;min-height:112px;padding:0;font-family:ui-serif,Georgia,Noto Serif Devanagari,Noto Serif Tamil,Noto Serif Telugu,Times New Roman,serif;font-size:42px;font-weight:650;line-height:1.08}.book-subtitle{text-align:center;color:var(--ink-soft);padding:0;font-size:19px;font-style:italic}.book-dedication{text-align:center;max-width:560px;color:var(--ink-soft);margin:10px auto 0;padding:0;font-size:17px;line-height:1.45}.scrapbook-photos{justify-items:center;gap:14px;margin-top:4px;display:grid}.polaroid{background:#fffdf7;width:min(82%,230px);margin:0;padding:10px 10px 28px;position:relative;box-shadow:0 12px 28px #482c1926}.polaroid:before{content:"";background:#ecdebeb8;width:72px;height:22px;position:absolute;top:-11px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 1px 2px #482c1914}.polaroid-1{transform:rotate(-2.2deg)}.polaroid-2{transform:rotate(1.8deg)}.polaroid-3{transform:rotate(-.8deg)}.polaroid img{aspect-ratio:4/3;object-fit:cover;border-radius:2px;width:100%;box-shadow:inset 0 0 0 1px #0000001a}.polaroid figcaption{color:var(--ink-muted);text-align:center;margin-top:10px;font-family:ui-serif,Georgia,Noto Serif Devanagari,Noto Serif Tamil,Noto Serif Telugu,Times New Roman,serif;font-size:12px;line-height:1.35}.field-note-poster{aspect-ratio:1;background:radial-gradient(circle at 20% 30%, #3423181a 0 .8px, transparent 1.5px), radial-gradient(circle at 76% 70%, #a85f3714 0 .8px, transparent 1.4px), linear-gradient(105deg, #fffdf785, #f8edda33), var(--paper);background-size:19px 19px,31px 31px,auto,auto;justify-self:center;width:min(100%,360px);position:relative}.field-note-poster:after{content:"";pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(88deg,#34231809 0 1px,#0000 1px 9px),radial-gradient(circle at 64% 38%,#482c190f,#0000 14%);position:absolute;inset:0}.stamp-scene{z-index:1;width:100%;height:100%;display:block;position:relative}.stamp-form path,.stamp-impression>path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4.2px;vector-effect:non-scaling-stroke}.stamp-dark{stroke:#241b17c7}.stamp-ochre{fill:#d79a2b26;stroke:#9f6c249e;transform:translate(1px,-1px)}.stamp-brick{fill:#b76f6824;stroke:#8f3d3294;transform:translate(-1px,1px)}.stamp-green{fill:#506d5721;stroke:#3d5c439e;transform:translate(1px,1px)}.stamp-blue{stroke:#536b759e;transform:translate(-1px,-1px)}.stamp-ghost{stroke:#a85f3729;stroke-width:3px}.language-note{background:#d79a2b1a;border:1px solid #d79a2b42;border-radius:6px;grid-template-columns:auto 1fr;align-items:start;gap:8px;margin:24px 0;padding:10px 12px;display:grid}.language-note textarea{min-height:40px;color:var(--ink-soft);padding:0;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.4}.story-section{gap:8px;padding:18px 0;display:grid}.story-section+.story-section{border-top:1px solid var(--line)}.story-section-heading{min-height:68px;color:var(--leaf);padding:0;font-size:28px;font-weight:650;line-height:1.16}.story-section-body,.closing-note textarea{min-height:160px;color:var(--ink);text-wrap:pretty;padding:0;font-size:17px;line-height:1.65}.closing-note{border-top:2px solid #a85f373d;margin-top:12px;padding-top:22px}.closing-note textarea{min-height:120px;color:var(--sepia);font-style:italic}.empty-book{border:1px dashed var(--line-strong);text-align:center;background:#fffaf0c2;border-radius:6px;place-items:center;width:min(100%,720px);min-height:560px;padding:40px;display:grid}.empty-icon{background:var(--paper-deep);width:82px;height:82px;color:var(--sepia);border-radius:50%;place-items:center;display:grid}.empty-book h2{margin:12px 0 4px;font-size:32px;line-height:1.08}.empty-book p:last-child{max-width:450px;color:var(--ink-soft);margin:0;font-size:16px;line-height:1.5}.transcript-panel{gap:12px;margin-top:16px;padding:16px;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:980px){.app-shell{padding:14px}.masthead{flex-direction:column;align-items:start}.masthead h1{font-size:34px}.proof-strip{justify-content:flex-start}.workspace{grid-template-columns:1fr}.book-workbench{min-height:auto}}@media (max-width:640px){.field-grid,.upload-zone,.action-row,.access-box{grid-template-columns:1fr}.book{grid-template-columns:1fr;min-height:auto}.book:after{display:none}.visual-page,.text-page{padding:28px 20px}.visual-page{min-height:auto}.storybook-page{padding:10px}.book-title{font-size:36px}.story-section-heading{font-size:24px}}@media print{@page{margin:10mm;size:A4 landscape}html,body{background:var(--paper)}.screen-only,.masthead,.intake-panel,.editor-toolbar,.transcript-panel{display:none!important}.app-shell,.workspace,.book-workbench,.storybook-page{background:var(--paper);max-width:none;min-height:0;box-shadow:none;border:0;margin:0;padding:0;display:block}.book{width:100%;min-height:0;box-shadow:none;border:0}.visual-page,.text-page{padding:16px}input,textarea{resize:none;overflow:visible;box-shadow:none!important;background:0 0!important;border:0!important}.story-section,.polaroid,.field-note-poster{break-inside:avoid}}
