:root{--bg:oklch(0.135 0.025 28);--surface:oklch(0.185 0.027 28);--surface-soft:oklch(0.225 0.027 30);--line:oklch(0.34 0.03 32);--line-strong:oklch(0.46 0.045 38);--ink:oklch(0.955 0.018 78);--muted:oklch(0.74 0.025 72);--muted-strong:oklch(0.84 0.021 75);--accent:oklch(0.78 0.14 61);--accent-ink:oklch(0.17 0.02 30);--cool:oklch(0.76 0.1 205);--success:oklch(0.75 0.12 145);--warning:oklch(0.82 0.13 78);--danger:oklch(0.7 0.17 35);--focus:oklch(0.78 0.14 61/0.5);--radius:14px;--radius-sm:10px;--font-ui:"Avenir Next","Segoe UI",system-ui,sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:linear-gradient(180deg,oklch(.17 .03 29),var(--bg) 360px),var(--bg);color:var(--ink);font-family:var(--font-ui);text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.button,button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border:1px solid transparent;border-radius:999px;background:oklch(.68 .1 58);color:var(--accent-ink);cursor:pointer;font-weight:750;padding:.78rem 1.05rem;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}.button:hover,button:hover{transform:translateY(-1px)}.button:active,button:active{transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.52;transform:none}.button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.button-primary{width:-moz-fit-content;width:fit-content;border-color:oklch(.86 .09 64/.42);background:oklch(.76 .12 61);color:var(--accent-ink);box-shadow:inset 0 1px 0 oklch(1 0 0/.08)}.button-secondary,.button.secondary{background:oklch(.235 .026 30);color:var(--muted-strong);border-color:var(--line-strong)}.button-secondary:hover,.button.secondary:hover{background:oklch(.27 .03 31);color:var(--ink);border-color:oklch(.58 .055 42)}.button-secondary.is-selected{color:var(--ink);border-color:var(--accent);background:oklch(.28 .04 40)}input,select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:var(--radius-sm);background:oklch(.145 .022 28);padding:.8rem .9rem}input,select{color:var(--ink)}input::placeholder{color:oklch(.68 .02 72)}input[type=checkbox]{width:1.05rem;min-height:1.05rem;height:1.05rem;accent-color:var(--accent)}label{color:var(--muted-strong);font-size:.95rem}form{display:grid;grid-gap:1rem;gap:1rem}fieldset{display:grid;grid-gap:.8rem;gap:.8rem;min-width:0;margin:0;padding:0;border:0}legend{margin-bottom:.45rem;color:var(--ink);font-weight:750}ul{padding:0;list-style:none}dd,dl,h1,h2,h3,p,ul{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.02em;text-wrap:balance}h1{max-width:13ch;font-size:3.15rem}.setup-panel h1{max-width:none}.setup-panel h1,h2{font-size:1.65rem}h3{font-size:1.08rem}p{line-height:1.58;text-wrap:pretty}.page-shell{width:min(1120px,calc(100% - 32px));margin:0 auto;padding:32px 0 72px}.mono{font-family:var(--font-mono)}.muted{color:var(--muted)}.microcopy,.signal-label{margin:0;color:var(--accent);font-family:var(--font-mono);font-size:.78rem;font-weight:750}.detail-grid,.ops-surface,.results-grid,.setup-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);grid-gap:1rem;gap:1rem}.results-grid-single{grid-template-columns:1fr}.chapter-grid,.detail-grid,.recent-panel,.results-grid,.setup-grid{margin-top:1.6rem}.setup-grid{margin-top:0;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:start}.results-grid,.setup-grid{gap:clamp(1.3rem,3vw,2.6rem)}.chapter-heading,.panel-heading,.section-heading,.surface-heading{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem}.chapter-heading p,.empty-state p,.panel-heading p,.section-heading p,.surface-heading p{color:var(--muted)}.field-stack,.live-tower,.moment-list,.pairing-card,.pairing-card__copy,.session-console,.session-stream,.signal-board,.status-stack{display:grid;grid-gap:1rem;gap:1rem}.field-stack{gap:.45rem}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.7rem;gap:.7rem;align-items:end}.selected-film{display:grid;grid-gap:.2rem;gap:.2rem;padding:.75rem .85rem;border:1px solid oklch(.5 .065 52);border-radius:var(--radius-sm);background:oklch(.22 .028 31)}.recent-film-picker>span,.selected-film span{color:var(--muted);font-size:.78rem;font-weight:750;text-transform:uppercase}.search-results{display:grid;grid-gap:.5rem;gap:.5rem}.search-result{width:100%;min-height:auto;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border-radius:var(--radius-sm);border-color:var(--line);background:oklch(.17 .024 28);color:var(--ink);text-align:left}.search-result:hover{background:oklch(.205 .027 30);border-color:var(--line-strong)}.search-result.is-selected{border-color:var(--accent);background:oklch(.245 .035 38)}.recent-film-picker,.search-result>span:first-child{display:grid;grid-gap:.35rem;gap:.35rem}.search-result small,.search-result>span:last-child{color:var(--muted);font-size:.86rem}.recent-film-list{display:flex;flex-wrap:wrap;gap:.55rem}.detail-stat-band,.signal-board__summary,.simple-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.detail-stat-band>div,.signal-board__summary>div,.simple-stats>div{display:grid;grid-gap:.22rem;gap:.22rem}.detail-stat-band span,.detail-stat-band strong,.signal-board__summary span,.signal-board__summary strong,.simple-stats dd,.simple-stats dt{color:var(--ink);font-size:.98rem}.consent-row{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:.7rem;gap:.7rem;align-items:start;color:var(--muted-strong);line-height:1.45}.form-error{padding:.8rem .9rem;border-radius:var(--radius-sm);background:oklch(.25 .055 30);color:oklch(.88 .05 38)}.empty-state,.pairing-card{display:grid;grid-gap:.35rem;gap:.35rem}.pairing-card h3{font-size:1.25rem}.pairing-card p{color:var(--muted-strong);line-height:1.45}.band-pill,.pill,.status-tag{display:inline-flex;width:-moz-fit-content;width:fit-content;align-items:center;justify-content:center;min-height:28px;padding:.28rem .58rem;border-radius:999px;border:1px solid;font-size:.72rem;font-weight:750;text-transform:uppercase}.pill,.pill-success{color:var(--success)}.pill-waiting,.status-created,.status-paired{color:var(--cool)}.status-recording,.status-uploading{color:var(--success)}.band-pill.spike,.band-text.spike,.status-complete{color:var(--warning)}.band-pill.overdrive,.band-text.overdrive{color:var(--danger)}.band-pill.rising,.band-text.rising{color:var(--cool)}.band-pill.calm,.band-text.calm{color:var(--success)}.watch-steps{display:grid;grid-gap:.55rem;gap:.55rem;margin:0;padding-left:1.2rem;color:var(--muted-strong);line-height:1.5}.film-meta,.hero-actions,.inline-list,.pairing-actions,.session-tags{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.film-row,.idea-row,.moment,.session-line,.status-title,.tower-line{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.simple-stats{grid-template-columns:1fr}.active-session-list,.film-list,.idea-list{display:grid}.film-row,.idea-row,.moment,.session-line,.tower-line{padding:.45rem 0}.film-row:first-child,.idea-row:first-child,.moment:first-child,.session-line:first-child,.tower-line:first-child{padding-top:0}.film-row:hover h3{color:var(--accent)}.film-main{display:grid;grid-gap:.45rem;gap:.45rem}.film-main p,.idea-row p,.session-line p,.tower-line span{color:var(--muted);font-size:.92rem}.film-title-line{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.film-meta span,.inline-list span,.session-tags span{color:var(--muted);font-size:.88rem}.idea-row>span{font-family:var(--font-mono);font-size:1.55rem;line-height:1;color:var(--accent)}.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.5fr);grid-gap:1rem;gap:1rem;margin-top:.5rem}.detail-copy,.hero-copy{display:grid;grid-gap:.8rem;gap:.8rem}.detail-stat-band{grid-template-columns:1fr;align-content:start}.signal-legend{display:flex;flex-wrap:wrap;gap:.5rem}.signal-legend span{display:inline-flex;padding:.28rem .5rem;color:var(--muted-strong);font-size:.78rem}.cinema-timeline{display:grid;grid-gap:.55rem;gap:.55rem}.timeline-axis{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}.curve-track{position:relative;height:190px;overflow:hidden}.curve-track:before{content:"";position:absolute;inset:50% 0 auto;height:1px;background:var(--line)}.curve-pulse{position:absolute;bottom:0;width:max(7px,1.5%);min-height:8px;translate:-50% 0;border-radius:999px 999px 0 0;background:var(--cool)}.curve-pulse.calm{background:var(--success)}.curve-pulse.rising{background:var(--cool)}.curve-pulse.spike{background:var(--warning)}.curve-pulse.overdrive{background:var(--danger)}.peak-pin{position:absolute;top:.75rem;width:.7rem;height:.7rem;translate:-50% 0;border-radius:50%;background:var(--accent)}.timeline-readout{display:grid;grid-gap:.5rem;gap:.5rem}.timeline-row{display:grid;align-items:center;grid-gap:.75rem;gap:.75rem;grid-template-columns:72px 1fr 48px}.timeline-bar{width:100%;height:8px;overflow:hidden;border-radius:999px;background:oklch(.28 .022 30)}.timeline-fill{height:100%;border-radius:inherit;background:var(--accent)}.chapter-grid{display:grid;grid-gap:1rem;gap:1rem}.ops-surface{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr)}.live-tower .button{width:-moz-fit-content;width:fit-content}.footer-note{color:var(--muted)}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.detail-grid,.detail-hero,.ops-surface,.results-grid,.setup-grid{grid-template-columns:1fr}h1{max-width:16ch;font-size:2.55rem}}@media (max-width:640px){.page-shell{width:min(100% - 20px,1120px);padding-top:20px}h1{font-size:2.1rem}h2{font-size:1.38rem}.search-row,.signal-board__summary{grid-template-columns:1fr}.button-primary,.live-tower .button,.pairing-actions .button{width:100%}.film-row,.idea-row,.moment,.session-line,.status-title,.tower-line{flex-direction:column}.curve-track{height:160px}.timeline-row{grid-template-columns:58px 1fr 42px}}