:root{color-scheme:dark;--bg: #050505;--bg-deep: #0a0a0c;--card: #111113;--raised: #18181b;--text: #e6e1d8;--muted: #aaa39a;--faint: #7d7770;--accent: #8f2626;--accent-hover: #ad3434;--rust: #7c4938;--focus: #e6c792;--border: #37343a;--error: #f08a82;--success: #9ec3a2;--max: 860px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-synthesis:none}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% 12%,rgb(74 60 58 / 24%),transparent 34rem),linear-gradient(180deg,#0a0909,#030303);color:var(--text)}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--focus);outline-offset:3px}[hidden]{display:none!important}.app-shell{position:relative;min-height:100vh;overflow:hidden}.page-container{position:relative;z-index:2;width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:clamp(48px,8vh,86px) 0 80px;animation:enter .42s ease both}.noise-overlay,.vignette-overlay,.scratch-overlay{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none}.noise-overlay{z-index:4;opacity:.055;background:url(/textures/noise.svg) repeat;background-size:220px;animation:noise 1.8s steps(3) infinite}.vignette-overlay{z-index:3;background:radial-gradient(circle,transparent 28%,rgb(0 0 0 / 78%) 100%)}.scratch-overlay{z-index:3;opacity:.06;background:linear-gradient(90deg,transparent 49.8%,#fff 50%,transparent 50.2%);background-size:340px 100%}@keyframes enter{0%{opacity:0;transform:translateY(8px)}}@keyframes noise{33%{transform:translate(3px,-3px)}66%{transform:translate(-4px,2px)}}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:500;letter-spacing:.01em}h1{font-size:clamp(2rem,6vw,4rem);line-height:1.06;margin-bottom:16px}h2{font-size:clamp(1.6rem,4vw,2.5rem)}p{color:var(--muted);line-height:1.72}.eyebrow{margin-bottom:18px;color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;letter-spacing:.23em;text-transform:uppercase}.page-header{margin-bottom:42px;max-width:700px}.page-header>p:last-child{max-width:620px;font-size:1.05rem}.landing-page{display:grid;align-items:center;min-height:100vh}.landing-hero{padding:32px 0}.title-mega{max-width:780px;font-size:clamp(3.5rem,11vw,8rem);text-transform:uppercase;letter-spacing:-.035em}.title-mega span{display:block;color:#c5a777;font-style:italic}.landing-promise{margin:28px 0;font-size:clamp(1.1rem,2vw,1.35rem)}.landing-actions,.dialog-actions,.step-footer,.player-secondary-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.privacy-note{max-width:620px;margin-top:28px;color:var(--faint);font-size:.84rem}.button{min-height:46px;border-radius:3px;padding:11px 20px;border:1px solid transparent;cursor:pointer;font-weight:700;letter-spacing:.025em;transition:background .16s ease,border-color .16s ease,transform .16s ease}.button:not(:disabled):active{transform:translateY(1px)}.button:disabled{opacity:.45;cursor:not-allowed}.button-primary{background:var(--accent);border-color:#b44a42;color:#fff7ef;box-shadow:0 10px 34px #8f26263b}.button-primary:not(:disabled):hover{background:var(--accent-hover)}.button-secondary{background:var(--raised);border-color:var(--border)}.button-secondary:not(:disabled):hover{border-color:#6b6266}.button-ghost{background:transparent;border-color:transparent;color:var(--muted)}.button-ghost:not(:disabled):hover{color:var(--text);border-color:var(--border)}.setup-form{display:grid;gap:42px}.choice-fieldset{margin:0;padding:0;border:0}.choice-fieldset legend{margin-bottom:16px;font-family:Georgia,serif;font-size:1.45rem}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-card{display:flex;gap:14px;width:100%;min-height:118px;padding:20px;text-align:left;border:1px solid var(--border);border-radius:5px;background:linear-gradient(145deg,rgb(255 255 255 / 3%),transparent),var(--card);cursor:pointer}.choice-card:hover{border-color:#655e61}.choice-card.is-selected{border-color:var(--focus);box-shadow:inset 4px 0 var(--accent),0 10px 28px #00000059}.choice-marker{flex:0 0 auto;color:var(--focus);font-size:1.1rem}.choice-copy{display:grid;gap:8px}.choice-copy strong{font-family:Georgia,serif;font-size:1.08rem}.choice-copy span{color:var(--muted);line-height:1.45;font-size:.92rem}.setup-error,.inline-error{color:var(--error)}.step-footer{justify-content:space-between;margin-top:18px;padding-top:24px;border-top:1px solid var(--border)}.dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#000000c7;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dialog-card{width:min(540px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:clamp(24px,5vw,42px);border:1px solid #5b4a48;border-radius:6px;background:var(--raised);box-shadow:0 30px 100px #000c}.dialog-actions{justify-content:flex-end;margin-top:30px}.report-options{display:grid;gap:8px;margin:20px 0}.report-options label{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border:1px solid var(--border);cursor:pointer}.report-options label:has(input:checked){border-color:var(--focus);background:#e6c79212}.report-options input{inline-size:18px;block-size:18px;accent-color:var(--accent)}.generating-page{display:grid;place-items:center;min-height:100vh}.generating-card{width:min(620px,100%);text-align:center}.generating-stage{min-height:30px;color:var(--text)}.archive-spinner{width:82px;height:82px;margin:0 auto 32px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;animation:spin 5s linear infinite}.archive-spinner:before{content:"";width:58px;height:58px;border:1px dashed var(--rust);border-radius:50%}.archive-spinner span{position:absolute;width:7px;height:7px;background:var(--focus);border-radius:50%;box-shadow:0 -34px var(--accent)}@keyframes spin{to{transform:rotate(360deg)}}.error-state,.empty-state{max-width:680px;margin:10vh auto 36px;padding:clamp(24px,5vw,44px);border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--card)}.player-header{margin-bottom:28px}.player-card{border:1px solid var(--border);border-radius:6px;background:#111113eb;box-shadow:0 26px 90px #00000085;overflow:hidden}.tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--border)}.tabs button{min-height:52px;border:0;border-bottom:3px solid transparent;background:transparent;color:var(--muted);cursor:pointer;font-weight:700}.tabs button[aria-selected=true]{border-color:var(--accent);color:var(--text);background:#ffffff08}.audio-panel,.story-text{padding:clamp(22px,5vw,46px)}.audio-controls{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:18px;align-items:center;min-height:150px}.play-button{width:64px;height:64px;border:1px solid #ad5a50;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;font-size:1.3rem}.audio-controls input[type=range]{width:100%;accent-color:var(--accent);cursor:pointer}.audio-controls>span{color:var(--muted);font-family:ui-monospace,monospace;font-size:.84rem}.audio-unavailable{padding:16px;border:1px solid #71423f;background:#8f262617}.audio-unavailable strong{color:var(--error)}.audio-unavailable p{margin:6px 0}.audio-unavailable button{padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--focus);cursor:pointer}.audio-unavailable .button{padding:11px 20px;border:1px solid #b44a42;background:var(--accent);color:#fff7ef}.audio-pending{display:grid;justify-items:center;gap:12px;min-height:180px;padding:24px;text-align:center}.audio-pending p{min-height:28px;margin:0}.audio-pulse{width:16px;height:16px;border-radius:50%;background:var(--accent);box-shadow:0 0 #8f26268c;animation:audio-pulse 2s ease-out infinite}@keyframes audio-pulse{70%,to{box-shadow:0 0 0 18px #8f262600}}.story-text{max-width:72ch;margin:0 auto;font-family:Georgia,serif;font-size:1.05rem;line-height:1.78}.story-text p{color:var(--text)}.text-saved-note{display:grid;gap:4px;margin-bottom:28px;padding:14px 16px;border-left:3px solid var(--accent);background:#8f262614;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.9rem}.text-saved-note span{color:var(--muted)}.text-saved-note button{justify-self:start;margin-top:6px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--focus);cursor:pointer}.player-secondary-actions{justify-content:center;margin-top:16px}.player-primary-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:min(310px,100%);margin:28px 0 0 auto}.player-primary-actions .button{width:100%}.status-toast{position:fixed;z-index:120;right:20px;bottom:20px;padding:12px 16px;border:1px solid #5e5658;border-radius:4px;background:var(--raised);color:var(--text);box-shadow:0 14px 44px #00000085}.reader-header{margin-bottom:28px}.reader-header>p:last-child{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;letter-spacing:.06em}.reader-card{border:1px solid var(--border);border-radius:6px;background:#111113f0;box-shadow:0 26px 90px #00000085}.reader-card .story-text{padding:clamp(28px,7vw,68px) clamp(22px,7vw,74px);font-size:clamp(1.05rem,1.5vw,1.18rem);line-height:1.9}.reader-card .story-text p:first-child:first-letter{float:left;margin:.08em .12em 0 0;color:var(--focus);font:4.4rem/.72 Georgia,serif}.reader-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}.reader-actions .button{display:inline-flex;align-items:center;justify-content:center;gap:10px}.reader-actions .is-kept{background:#5f2424}.bookmark-eye{width:19px;height:22px;flex:0 0 auto}.reader-secondary-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px}.archive-sections{display:grid;gap:38px}.archive-section-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:12px;border-bottom:1px solid var(--border)}.archive-section-heading h2{margin-bottom:10px}.archive-section-heading span{color:var(--faint);font-family:ui-monospace,monospace}.archive-list{display:grid;gap:10px}.archive-entry{display:grid;grid-template-columns:1fr auto;border:1px solid var(--border);border-radius:4px;background:var(--card);overflow:hidden}.archive-entry:hover{border-color:#685e61}.archive-open{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:0;padding:19px 20px;border:0;background:transparent;text-align:left;cursor:pointer}.archive-open>span:first-child{display:grid;gap:5px;min-width:0}.archive-open strong{overflow:hidden;font-family:Georgia,serif;font-size:1.08rem;text-overflow:ellipsis;white-space:nowrap}.archive-open small{color:var(--faint)}.archive-keep{display:grid;place-items:center;width:62px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer}.archive-keep:hover,.archive-keep.is-kept{color:var(--focus);background:#e6c7920d}.archive-keep svg{width:22px}.archive-empty-line{padding:18px;border:1px dashed var(--border);color:var(--faint)}.history-list{display:grid;gap:10px}.history-entry{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:19px 20px;border:1px solid var(--border);border-radius:4px;background:var(--card);text-align:left;cursor:pointer}.history-entry:hover{border-color:#685e61}.history-entry>span:first-child{display:grid;gap:5px}.history-entry strong{font-family:Georgia,serif;font-size:1.08rem}.history-entry small{color:var(--faint)}@media (max-width: 640px){.page-container{width:min(100% - 22px,var(--max));padding-top:34px}.choice-grid,.choice-grid-two{grid-template-columns:1fr}.choice-card{min-height:auto}.step-footer{align-items:stretch;flex-direction:column-reverse}.step-footer .button{width:100%}.audio-controls{grid-template-columns:auto 1fr}.audio-controls>span{grid-column:1 / -1;text-align:right}.history-entry{align-items:flex-start}.player-primary-actions{margin-inline:0}.reader-actions{grid-template-columns:1fr}.archive-open{align-items:flex-start}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
