/* Shared surface palette. Character artwork and colorful workflow studies retain
   their approved colors; the surrounding site follows the selected theme. */
:root{color-scheme:light;--bg:#fcfcfc;--ink:#171916;--copy:#60635d;--muted:#70746d;--line:#e2e4de;--surface:#fff;--surface-alt:#f1f2ed;--surface-soft:#f7f8f4;--hover:#e8ebe3;--accent:#736014;--accent-soft:#faf2cd;--primary:#20221d;--on-primary:#fff;--shadow:0 12px 40px #1820100c}
:root[data-theme="dark"]{color-scheme:dark;--bg:#151714;--ink:#f3f4ee;--copy:#bec3b8;--muted:#a6ad9f;--line:#393e34;--surface:#20241e;--surface-alt:#292e26;--surface-soft:#1a1e18;--hover:#333a2d;--accent:#f3d56b;--accent-soft:#383321;--primary:#f3f1e6;--on-primary:#22251c;--shadow:0 12px 40px #0003}
body,.intake-body{background:var(--bg);color:var(--ink)}
body>header{background:var(--bg)}
.header-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:90px;height:44px;flex-shrink:0;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;line-height:1;cursor:pointer;touch-action:manipulation}
.theme-toggle:hover{background:var(--hover)}
.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.theme-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.theme-moon{display:none}
[data-theme="dark"] .theme-sun{display:none}
[data-theme="dark"] .theme-moon{display:block}
.wordmark span,.pricing-brand span,header nav,footer,.back-home{color:var(--copy)}
nav a:hover,footer a:hover{color:var(--ink)}
footer .wordmark{color:var(--ink)}
.pill.dark,.kinetic-closing .actions .dark{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.pill.dark:not(:disabled):hover,.kinetic-closing .actions .dark:hover{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.pill.outline,.kinetic-closing .actions .outline{color:var(--ink);border-color:var(--line);background:transparent}
.pill:not(:disabled):hover{background:var(--hover)}
.large-copy,.chapter,.feature .aside,.role,.ways-grid .aside,.explore-label,.explore-pagination,.welcome-name,.welcome-message{color:var(--muted)}
.welcome-name{opacity:1}
.welcome-member:hover .welcome-name,.welcome-member[aria-pressed="true"] .welcome-name,.welcome-message b{color:var(--accent)}
.explore-copy p,.profile-copy .quote{color:var(--copy)}
.explore-controls button{color:var(--ink);border-color:var(--line)}
.explore-controls button:hover:not(:disabled){background:var(--hover)}
.explore-count-line{background:var(--line)}
/* Bright, self-contained sample documents keep dark text in both modes. */
.motion-demo,.explore-art{color:#252722;color-scheme:light}
.preview-crew{color:#383a3c}
/* Crew conversation and finale share the selected background without changing
   animation, positioning, expressions, or character palettes. */
#crew.stack-showcase,.kinetic-closing.closing.section{background:var(--surface-soft);color:var(--ink)}
.stack-stage>.section-intro h2,.kinetic-closing h2,.finale-role strong{color:var(--ink)}
.stack-stage>.section-intro .large-copy,.stack-caption,.speaker-name,.finale-eyebrow,.finale-subtitle,.finale-role p,.character-label small{color:var(--muted)}
.stack-speech{background:var(--surface-alt);color:var(--ink);border-color:var(--line)}
.stack-speech:after{background:var(--surface-alt)}
.stack-stage>.crew-selector:before{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 12px)}
.stack-stage>.crew-selector button{color:var(--copy)}
.stack-stage>.crew-selector button:before{background:var(--muted)}
.stack-stage>.crew-selector button:hover{color:var(--ink);background:var(--hover)}
.stack-stage>.crew-selector button[aria-selected=true]{color:#242111;background:#ffe046;border-color:#e0c447;box-shadow:0 0 0 4px var(--surface-soft),0 0 0 5px var(--accent)}
.character-label b,.crew-selected .character-label b{color:var(--copy)}
:root[data-theme="light"] .kinetic-closing h2>span{color:#977400!important}
:root[data-theme="light"] .role-kicker,:root[data-theme="light"] .role-demo-link{color:var(--accent)}
.finale-replay,.finale-pause,.drag-hint{color:var(--copy);background:var(--surface-soft);border-color:var(--line)}
.finale-replay:hover,.finale-pause:hover{color:var(--ink);border-color:var(--muted)}
.role-demo-link{border-color:var(--line)}
/* Pricing preview surfaces. */
.home-pricing,.pricing-end{background:var(--surface-soft);border-color:var(--line)}
.home-pricing-mini>div,.price-card{background:var(--surface);border-color:var(--line)}
.price-card:nth-child(2){background:var(--accent-soft)}
.price-card:nth-child(3){background:var(--surface-alt)}
.home-pricing-kicker,.home-pricing-mini strong,.draft-label,.eyebrow{color:var(--accent)}
.home-pricing-copy>p,.home-pricing-mini span,.home-pricing-mini small,.pricing-hero>p,.pricing-notice,.plan-index,.plan-note,.price-meta,.plan-placeholder>span,.inclusions p,.section-heading p,caption,tbody th,td,.pricing-questions p,footer p,footer>a:last-child{color:var(--muted)}
.price-empty{color:var(--copy)}
.draft-label{background:var(--accent-soft);border-color:var(--line)}
.back-home,.price-compare,.plan-placeholder i,.inclusions,.table-scroll,th,td,.pricing-questions details,footer{border-color:var(--line)}
.price-compare{background:var(--surface);color:var(--ink)}
.price-compare:hover{background:var(--hover)}
.skeleton i{background:var(--line)}
thead th{background:var(--surface-alt)}
.pricing-header nav a[aria-current]{border-color:var(--ink)}
.pricing-end>a{background:var(--primary);color:var(--on-primary)}
/* Device-local brief form. */
.intake-body header,.intake-work{background:var(--surface);border-color:var(--line)}
.intake-work{box-shadow:var(--shadow)}
#save-state,.intake-sidebar>p,.sidebar-note,.step-link,.intake-progress,.step-description,.optional,.text-button,.intake-footnote,.review-group dt{color:var(--muted)}
.step-link.active{background:var(--surface-alt);color:var(--ink)}
.step-number,.check-option,.intake-actions,.review-group{border-color:var(--line)}
.active .step-number{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.progress-track{background:var(--line)}
#progress-fill{background:var(--accent)}
.crew-helper,.review-note{background:var(--surface-alt);color:var(--copy)}
.field input,.field textarea,.field select{background:var(--surface-soft);color:var(--ink);border-color:var(--line)}
.field input::placeholder,.field textarea::placeholder{color:var(--muted)}
.field input:focus,.field textarea:focus,.field select:focus{outline-color:var(--accent)}
.check-option input{accent-color:var(--accent)}
.review-edit{color:var(--accent)}
/* Contextual companion. */
.companion-label,.companion-panel,.crew-reopen,.crew-greeting{background:var(--surface);border-color:var(--line);color:var(--copy);box-shadow:var(--shadow)}
.companion-label strong,.companion-title{color:var(--ink)}
.companion-context,.companion-text,.companion-close,.companion-dismiss{color:var(--muted)}
.companion-links button{color:var(--copy);border-color:var(--line)}
.companion-links .companion-action{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.companion-dismiss{border-color:var(--line)}
@media(max-width:1000px){body:not(.intake-body)>header:not(.pricing-header){height:auto;min-height:86px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;gap:16px}body:not(.intake-body)>header:not(.pricing-header)>nav{order:3;flex-basis:100%;justify-content:center;margin:0!important;gap:24px}.header-actions{margin-left:auto}}
@media(max-width:760px){.intake-body header{height:auto;min-height:80px;padding-top:15px;padding-bottom:15px;flex-wrap:wrap}.intake-body #save-state{margin-left:auto}.pricing-header .theme-toggle{margin-left:auto}.pricing-header nav{order:3;width:100%;justify-content:center;margin:0}}
@media(max-width:500px){.theme-toggle{min-width:44px;width:44px;padding:0}.theme-label{display:none}.header-actions{gap:8px}.intake-body #save-state{order:3;width:100%;text-align:right}.intake-body .theme-toggle{margin-left:auto}body:not(.intake-body)>header:not(.pricing-header)>nav{gap:17px}}
.stack-stage>.crew-selector button:focus-visible{outline-color:var(--accent)}
