:root{color-scheme:dark;--bg: #0f1115;--surface: #171a21;--surface-2: #1f232c;--border: #2a2f3a;--text: #e8e9ec;--text-dim: #9aa0ac;--accent: #f2a93c;--accent-hover: #ffbe5c;--danger: #ff6b6b;font-family:Georgia,Iowan Old Style,serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.centered{display:flex;align-items:center;justify-content:center;min-height:100vh}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px}.auth-card h1{margin-top:0;font-size:1.5rem}.confirmation-card{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.confirmation-badge{display:inline-block;background:var(--accent);color:#0f1115;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:14px}.confirmation-text{color:var(--text-dim);line-height:1.6;margin-bottom:24px}.confirmation-text strong{color:var(--text)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.field label{font-size:.85rem;color:var(--text-dim)}input[type=email],input[type=password],input[type=text],textarea{font-family:inherit;font-size:1rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text)}textarea{resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--accent)}button{font-family:inherit;font-size:1rem;cursor:pointer;border-radius:8px;border:1px solid var(--accent);background:var(--accent);color:#0f1115;font-weight:600;padding:10px 16px}button:hover:not(:disabled){background:var(--accent-hover)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.auth-context-note{color:var(--text-dim);font-size:.9rem;margin:-8px 0 20px}button.secondary{background:transparent;color:var(--text)}.error-text{color:var(--danger);font-size:.9rem;margin-top:8px}.link-button{background:none;border:none;color:var(--accent);padding:0;font-weight:400;text-decoration:underline}.top-bar{border-bottom:1px solid var(--border)}.top-bar-inner{display:flex;align-items:center;justify-content:space-between;margin:0 auto;padding:16px 24px}.top-bar-inner--narrow{max-width:720px}.top-bar-inner--wide{max-width:960px}.top-bar h1{font-size:1.2rem;margin:0}.top-bar-brand-link{color:inherit;text-decoration:none}.reader-story-title,.page-heading{font-size:1.4rem;margin:0 0 16px}.top-bar-actions{display:flex;align-items:center;gap:16px}.page-container{max-width:960px;margin:0 auto;padding:24px}.story-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}.story-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:10px}.spectrum-badge{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}.spectrum-track{position:relative;height:4px;width:80px;background:linear-gradient(to right,#6bcb77,#ffd166,#ff6b6b);border-radius:2px}.spectrum-dot{position:absolute;top:-3px;width:10px;height:10px;border-radius:50%;background:#fff;border:2px solid var(--bg);transform:translate(-50%)}.playthrough-list{display:flex;flex-direction:column;gap:6px}.playthrough-item{text-align:left;font-size:.85rem;padding:8px 10px;border-color:var(--border)}.story-card h2{margin:0;font-size:1.15rem}.story-card p{color:var(--text-dim);font-size:.92rem;line-height:1.5;flex-grow:1}.reader-page{max-width:720px;margin:0 auto;padding:24px 24px 160px}.legal-page{max-width:720px;margin:0 auto;padding:24px;line-height:1.65}.legal-page .legal-updated{color:var(--text-dim);font-size:.9rem;margin:-8px 0 24px}.legal-page h3{font-size:1.1rem;margin:32px 0 8px}.legal-page p,.legal-page li{color:var(--text)}.legal-page ul,.legal-page ol{padding-left:1.4em}.legal-page li+li{margin-top:6px}.legal-page a{color:var(--accent);overflow-wrap:anywhere}.legal-contact{display:flex;flex-direction:column;gap:4px;font-style:normal;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:12px 16px}.site-footer{border-top:1px solid var(--border);padding:20px 24px 28px;font-size:.88rem}.site-footer nav{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px}.site-footer a{color:var(--text-dim)}.site-footer a:hover{color:var(--accent)}body:has(.action-bar) .site-footer{padding-bottom:120px}.demo-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:6px;padding:12px 16px;margin:0 0 24px}.demo-banner p{margin:0;color:var(--text-dim);font-size:.9rem;flex:1;min-width:200px}.demo-banner strong{color:var(--text)}.demo-banner button{flex-shrink:0}.scene-block{margin-bottom:32px}.player-action{font-style:italic;color:var(--text-dim);border-left:3px solid var(--accent);padding-left:12px;margin-bottom:16px}.scene-illustration{width:100%;aspect-ratio:16 / 10;border-radius:12px;overflow:hidden;background:var(--surface-2);margin-bottom:16px;display:flex;align-items:center;justify-content:center}.scene-illustration img{width:100%;height:100%;object-fit:cover;display:block}.illustration-skeleton{width:100%;height:100%;background:linear-gradient(90deg,var(--surface-2) 25%,var(--surface) 50%,var(--surface-2) 75%);background-size:200% 100%;animation:shimmer 1.6s infinite;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:.85rem}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.scene-text{font-size:1.08rem;line-height:1.7;white-space:pre-wrap}.action-bar{position:fixed;bottom:0;left:0;right:0;background:var(--bg);border-top:1px solid var(--border);padding:16px 24px}.rail-message{max-width:720px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.rail-message p{margin:0;color:var(--text-dim);font-size:.95rem;flex:1;min-width:240px}.action-bar-inner{max-width:720px;margin:0 auto;display:flex;gap:10px;align-items:flex-end}.action-bar textarea{flex-grow:1;min-height:48px;max-height:160px}.landing-page{--lp-haze: #cfe3e6;--lp-apricot: #f4c58e;--lp-rose: #c8577a;--lp-plum: #3a1d46;--lp-dusk: #1b1127;--lp-night: #0d0b13;--lp-ink: #15232b;--lp-ink-dim: #3b4a52;--lp-mist: #f4f8f7;--lp-moon: #f3edf6;--lp-moon-dim: #bdb3c9;--lp-panel: #17111f;--lp-panel-2: #221a2d;--lp-line: #382c45;--lp-ember: #ff6b3d;--lp-ember-hover: #ff8a63;--lp-error-light: #a8231b;--lp-error-dark: #ff9a8a;--lp-display: "Anybody", "Arial Narrow", system-ui, sans-serif;--lp-serif: "Newsreader", "Iowan Old Style", Georgia, serif;background:var(--lp-night);color:var(--lp-moon);font-family:var(--lp-serif);min-height:100vh;overflow-x:hidden}.landing-page h1,.landing-page h2,.landing-page h3{font-family:var(--lp-display);font-stretch:118%;font-weight:760;letter-spacing:-.015em;text-wrap:balance;margin:0}.landing-page .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.landing-page a:focus-visible,.landing-page button:focus-visible,.landing-page summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}.landing-page .landing-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--lp-display);font-stretch:110%;font-weight:700;text-decoration:none;border:0;border-radius:999px;padding:10px 20px;font-size:.95rem;white-space:nowrap;cursor:pointer;transition:background-color .15s ease}.landing-page .landing-btn-large{padding:16px 32px;font-size:1.08rem}.landing-page .landing-btn--ink{background:var(--lp-ink);color:var(--lp-moon)}.landing-page .landing-btn--ink:hover{background:#26404d}.landing-page .landing-btn--ink:focus-visible{outline-color:var(--lp-ink)}.landing-page .landing-btn--ember{background:var(--lp-ember);color:var(--lp-night)}.landing-page .landing-btn--ember:hover:not(:disabled){background:var(--lp-ember-hover)}.landing-page .landing-btn--ember:focus-visible{outline-color:var(--lp-ember)}.landing-dawn{color-scheme:light;color:var(--lp-ink);background:linear-gradient(to bottom,var(--lp-haze) 0%,var(--lp-apricot) 100%)}.landing-nav{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:16px;padding:20px clamp(16px,5vw,56px);max-width:1200px;margin:0 auto}.landing-wordmark{font-family:var(--lp-display);font-stretch:125%;font-weight:800;font-size:1.05rem;letter-spacing:-.01em;white-space:nowrap;color:inherit;text-decoration:none}.landing-nav-links{display:flex;align-items:center;gap:clamp(10px,2.5vw,22px)}.landing-nav-link{font-family:var(--lp-display);color:var(--lp-ink-dim);text-decoration:none;font-size:.95rem;white-space:nowrap}.landing-nav-link:hover{color:var(--lp-ink);text-decoration:underline;text-underline-offset:4px}.nav-label-short{display:none}@media (max-width: 759px){.landing-nav--guest .nav-label-full{display:none}.landing-nav--guest .nav-label-short{display:inline}}@media (max-width: 520px){.landing-nav--guest .landing-nav-link--library{display:none}}@media (max-width: 389px){.landing-nav .nav-label-full{display:none}.landing-nav .nav-label-short{display:inline}}.landing-hero{max-width:1200px;margin:0 auto;padding:clamp(16px,4vw,48px) clamp(16px,5vw,56px) clamp(48px,8vw,96px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);grid-template-areas:"title choice" "sub choice";column-gap:clamp(32px,5vw,72px);row-gap:24px}.landing-hero-title{grid-area:title;align-self:end;font-stretch:106%;font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:1.04}.landing-choice{grid-area:choice;min-width:0}.landing-subhead{grid-area:sub;align-self:start;color:var(--lp-ink-dim);font-size:clamp(1.08rem,1.7vw,1.25rem);line-height:1.6;max-width:48ch;margin:0}@media (max-width: 860px){.landing-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "choice" "sub";row-gap:18px}.landing-choice{max-width:560px;width:100%;justify-self:center}}@media (max-width: 639px){.landing-nav{gap:6px;padding-top:12px;padding-bottom:12px}.landing-wordmark{font-stretch:90%;font-size:.8rem;letter-spacing:-.01em}.landing-nav-links{gap:8px}.landing-nav-link{font-size:.82rem}.landing-page .landing-nav .landing-btn{font-stretch:100%;padding:6px 11px;font-size:.82rem}}@media (max-width: 520px){.landing-hero{padding-top:4px;row-gap:14px}.landing-hero-title{font-stretch:100%;font-size:1.6rem;line-height:1.1}}@media (max-width: 349px){.landing-nav{flex-wrap:wrap;row-gap:8px}}.hero-choice{position:relative;aspect-ratio:1 / 1;width:100%;border-radius:24px;overflow:hidden;background:var(--lp-panel);box-shadow:0 40px 80px -40px #7a40148c}.hero-choice img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.landing-page .hero-choice-btn{position:absolute;font-size:clamp(.88rem,2.4vw,1.02rem);padding:11px 18px;box-shadow:0 10px 30px -8px #000000a6}.hero-choice-btn--bright{top:5%;left:5%}.hero-choice-btn--ruins{bottom:5%;right:5%}@media (max-width: 520px){.landing-page .hero-choice-btn{line-height:1.2;border-radius:18px;padding:9px 15px}.hero-choice-label>span{display:block}.hero-choice-btn--bright .hero-choice-label{text-align:left}.hero-choice-btn--ruins .hero-choice-label{text-align:right}}.demo-player{border-radius:24px;padding:clamp(18px,3vw,28px);box-shadow:0 40px 80px -40px #14061e99}.demo-player--bright{--dp-bg: var(--lp-mist);--dp-field: #ffffff;--dp-text: var(--lp-ink);--dp-dim: var(--lp-ink-dim);--dp-line: rgba(21, 35, 43, .18);--dp-cta-bg: var(--lp-ink);--dp-cta-text: var(--lp-moon);--dp-cta-hover: #26404d;--dp-error: var(--lp-error-light);--dp-mark: #2f7a55;color-scheme:light}.demo-player--ruins{--dp-bg: var(--lp-panel);--dp-field: var(--lp-panel-2);--dp-text: var(--lp-moon);--dp-dim: var(--lp-moon-dim);--dp-line: var(--lp-line);--dp-cta-bg: var(--lp-ember);--dp-cta-text: var(--lp-night);--dp-cta-hover: var(--lp-ember-hover);--dp-error: var(--lp-error-dark);--dp-mark: var(--lp-ember);color-scheme:dark}.demo-player{background:var(--dp-bg);color:var(--dp-text)}.demo-player-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.demo-player-head h2{font-size:clamp(1.2rem,2.4vw,1.45rem)}.demo-player-head h2:focus{outline:none}.landing-page .demo-player-back{flex-shrink:0;background:none;color:var(--dp-text);border:1px solid var(--dp-line);border-radius:999px;padding:7px 14px;font-family:var(--lp-display);font-size:.85rem;font-weight:600}.landing-page .demo-player-back:hover{background:none;border-color:var(--dp-text)}.demo-player-note,.demo-player-status{color:var(--dp-dim);font-size:.95rem;margin:0 0 18px}.demo-player-error{color:var(--dp-error);font-size:.95rem;margin:12px 0 0}.demo-scene{margin-bottom:22px;scroll-margin-top:16px}.demo-scene-action{font-style:italic;color:var(--dp-dim);border-left:3px solid var(--dp-mark);padding-left:12px;margin:0 0 14px}.demo-scene-illustration{aspect-ratio:16 / 10;border-radius:14px;overflow:hidden;margin-bottom:16px}.demo-scene-illustration img{width:100%;height:100%;object-fit:cover;display:block}.demo-scene-text{font-size:1.06rem;line-height:1.7;white-space:pre-wrap;margin:0}.demo-player-input{display:flex;gap:10px;align-items:flex-end}.demo-player .demo-player-input textarea{flex:1;min-width:0;min-height:52px;max-height:180px;resize:vertical;background:var(--dp-field);color:var(--dp-text);border:1px solid var(--dp-line);border-radius:16px;padding:12px 16px;font-family:var(--lp-serif);font-size:1rem}.demo-player .demo-player-input textarea::placeholder{color:var(--dp-dim);font-style:italic;opacity:1}.demo-player .demo-player-input textarea:focus{outline:none;border-color:var(--dp-text);box-shadow:0 0 0 1px var(--dp-text)}.landing-page .demo-player-cta{background:var(--dp-cta-bg);color:var(--dp-cta-text);padding:13px 22px}.landing-page .demo-player-cta:hover:not(:disabled){background:var(--dp-cta-hover)}.landing-page .demo-player-cta:focus-visible{outline-color:var(--dp-cta-bg)}.demo-player-end{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--dp-line);padding-top:18px}.demo-player-end p{margin:0;flex:1;min-width:200px;line-height:1.5}.landing-section{max-width:1200px;margin:0 auto;padding:clamp(48px,8vw,96px) clamp(20px,5vw,56px)}.landing-section h2{font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.1;margin-bottom:clamp(28px,4vw,44px);text-align:center}.landing-turn{background:linear-gradient(to bottom,var(--lp-apricot) 0,var(--lp-apricot) 230px,var(--lp-rose) 48%,var(--lp-plum) calc(100% - 120px),var(--lp-dusk) 100%)}.landing-turn h2{color:var(--lp-ink)}.landing-pricing-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-items:stretch;max-width:680px;margin:0 auto}@media (max-width: 860px){.landing-pricing-grid{grid-template-columns:1fr;max-width:440px;gap:16px}}.pricing-card{background:var(--lp-panel);color:var(--lp-moon);border:1px solid var(--lp-line);border-radius:18px;padding:28px 24px 24px;display:flex;flex-direction:column;gap:8px;box-shadow:0 30px 60px -40px #14061eb3}.pricing-card h3{font-size:1.05rem;color:var(--lp-moon-dim)}.pricing-price{font-family:var(--lp-display);font-stretch:115%;font-size:2.3rem;font-weight:800;margin:2px 0 4px}.pricing-price span{font-size:1rem;font-weight:500;color:var(--lp-moon-dim)}.pricing-detail{color:var(--lp-moon-dim);font-size:1.02rem;line-height:1.5;margin:0 0 16px}.landing-page .pricing-cta{margin-top:auto;align-self:stretch}.pricing-error{color:var(--lp-error-dark);font-size:.9rem;margin:4px 0 0}.landing-night{color-scheme:dark;color:var(--lp-moon);background:linear-gradient(to bottom,var(--lp-dusk) 0,var(--lp-night) 900px)}.faq-list{max-width:720px;margin:0 auto;border-top:1px solid var(--lp-line)}.faq-item{border-bottom:1px solid var(--lp-line)}.faq-item summary{display:flex;gap:14px;padding:20px 0;cursor:pointer;font-family:var(--lp-display);font-weight:650;font-size:1.05rem;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:before{content:"+";flex-shrink:0;width:1em;color:var(--lp-ember);font-weight:800}.faq-item[open] summary:before{content:"−"}.faq-item p{color:var(--lp-moon-dim);font-size:1.05rem;line-height:1.65;margin:0 0 22px;padding-left:calc(1em + 14px)}.landing-final-cta{text-align:center;padding-bottom:clamp(72px,11vw,128px)}.landing-final-cta h2{margin-bottom:32px}.landing-footer{text-align:center;padding:32px clamp(20px,5vw,56px) clamp(48px,8vw,80px);border-top:1px solid var(--lp-line)}.landing-footer p{color:var(--lp-moon-dim);font-size:.98rem;margin:0}.landing-footer a{color:var(--lp-ember)}.landing-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin-top:12px;font-size:.92rem}.landing-spectrum-rail{display:none}@media (min-width: 1100px){.landing-spectrum-rail{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 6px;border-radius:999px;background:#0d0b13d9;color:var(--lp-moon);font-family:var(--lp-display);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;pointer-events:none}}.landing-spectrum-label{writing-mode:vertical-rl;transform:rotate(180deg)}.landing-spectrum-label--end{transform:none}.landing-spectrum-track{position:relative;width:4px;height:32vh;border-radius:2px;background:linear-gradient(to bottom,#6bcb77,#ffd166,#ff6b6b)}.landing-spectrum-dot{position:absolute;left:50%;top:calc(var(--lp-progress, 0) * 100%);width:12px;height:12px;border-radius:50%;background:var(--lp-moon);border:2px solid var(--lp-night);transform:translate(-50%,-50%)}
