:root{--paper: #f5eede;--paper-warm: #ede2c8;--paper-deep: #e3d4b4;--walnut: #5b4636;--ink: #2e2b24;--ink-soft: #565040;--ink-blue: #2c3a52;--moss: #66714f;--terracotta: #a9603f;--gold: #a8842c;--display: "EB Garamond", Georgia, serif;--body: "Literata", Georgia, serif;--measure: 62ch;--radius: 6px}*{box-sizing:border-box}html{scrollbar-color:var(--walnut) var(--paper)}body{margin:0;background:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .2 0 0 0 .035 0'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");color:var(--ink);font-family:var(--body);font-size:1.05rem;line-height:1.7}#root{min-height:100vh;display:flex;flex-direction:column}main.scene{flex:1;width:100%;max-width:46rem;margin:0 auto;padding:3rem 1.25rem 4rem}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.15;color:var(--ink);text-wrap:balance;margin:0 0 .5rem}h1{font-size:clamp(1.9rem,5vw,2.6rem)}h2{font-size:1.5rem}p{margin:.85rem 0;max-width:var(--measure)}.marginalia{font-family:var(--display);font-variant:small-caps;letter-spacing:.14em;font-size:.85rem;color:var(--walnut)}.narration{font-size:1.12rem}.narration.first-lines p{font-family:var(--display);font-size:clamp(1.4rem,4vw,1.9rem);font-style:italic;color:var(--ink)}.speaker{display:block;margin-top:1.4rem}.speech{border-left:2px solid var(--paper-deep);padding-left:1rem;margin:.9rem 0;max-width:var(--measure)}.speech.pell{border-left-color:var(--ink-blue)}.speech.dragon{border-left-color:var(--terracotta);font-family:var(--display);font-size:1.15rem}.reveal>*{opacity:0;animation:settle .7s ease forwards}@keyframes settle{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}button{font-family:var(--display);font-size:1.05rem;color:var(--ink);background:var(--paper-warm);border:1px solid var(--walnut);border-radius:var(--radius);padding:.55rem 1.25rem;cursor:pointer}button:hover{background:var(--paper-deep)}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--ink-blue);outline-offset:2px}button.quiet{background:transparent;border-color:transparent;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px}button.cta{border-width:1.5px}.choices{display:flex;flex-direction:column;gap:.6rem;align-items:flex-start;margin:1.4rem 0}.choices button{text-align:left}.choices .note{display:block;font-family:var(--body);font-size:.9rem;font-style:italic;color:var(--ink-soft)}input[type=text],textarea{font-family:var(--body);font-size:1.05rem;color:var(--ink);background:#fbf6ea;border:1px solid var(--walnut);border-radius:var(--radius);padding:.6rem .75rem;width:100%;max-width:var(--measure)}.continue-row{margin-top:2rem}.writing-wrap{max-width:52rem;margin:0 auto;padding:2rem 1.25rem 3rem;flex:1;display:flex;flex-direction:column}.writing-landmark{font-family:var(--display);font-variant:small-caps;letter-spacing:.1em;font-size:.9rem;color:var(--walnut);margin-bottom:.75rem}textarea.manuscript{flex:1;min-height:55vh;resize:vertical;border-color:var(--paper-deep);background:#fbf6ea;font-size:1.15rem;line-height:1.85;padding:1.5rem}.writing-foot{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-top:.9rem;flex-wrap:wrap}.saved-note{font-size:.85rem;font-style:italic;color:var(--ink-soft)}.gold-rule{border:none;height:1px;background:var(--gold);max-width:10rem;margin:2rem 0}.gold-mark{color:var(--gold)}.landmark-done:before{content:"❧ ";color:var(--gold)}.home-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(16rem,1fr);gap:2.25rem;align-items:start}@media(max-width:46rem){.home-grid{grid-template-columns:1fr}}.margin-notes{display:flex;flex-direction:column;gap:1.6rem}.margin-notes ul{margin:.4rem 0 0;padding-left:1.1rem}.margin-notes li{margin:.35rem 0}.margin-notes .thread{font-style:italic}.shop-frame{border:1px solid var(--paper-deep);border-radius:var(--radius);background:#f9f2e2}.shop-frame svg{display:block;width:100%;height:auto}.map-fragment{border-top:1px dashed var(--walnut);padding-top:1rem;font-style:italic;color:var(--ink-soft)}footer.settings{max-width:46rem;margin:0 auto;padding:0 1.25rem 1.5rem;width:100%}footer.settings label{font-size:.85rem;color:var(--ink-soft);display:inline-flex;gap:.45rem;align-items:center}@media(prefers-reduced-motion:reduce){.reveal>*{animation:none;opacity:1}}:root[data-reduced-motion=true] .reveal>*{animation:none;opacity:1}
