:root{--paper: #f4f1e8;--paper-2: #eeeadf;--ink: #10120f;--ink-70: #10120fb3;--ink-45: #10120f73;--ink-12: #10120f1f;--ink-08: #10120f14;--hairline: #10120f1a;--accent: #1d6b52;--accent-soft: #1d6b521a;--accent-ink: #14513d;--glass: #f7f5eecc;--glass-rim: #ffffffa6;--glass-shade: #10120f0f;--r-sm: 10px;--r-md: 14px;--r-lg: 22px;--r-pill: 999px;--tap: 44px;--display: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--nav-h: 68px}@media(prefers-color-scheme:dark){:root{--paper: #12130f;--paper-2: #191b16;--ink: #f0eee6;--ink-70: #f0eee6b3;--ink-45: #f0eee673;--ink-12: #f0eee61f;--ink-08: #f0eee614;--hairline: #f0eee61f;--accent: #6ec3a1;--accent-soft: #6ec3a11f;--accent-ink: #8fd6b8;--glass: #1b1d18d9;--glass-rim: #ffffff26;--glass-shade: #00000040}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}.eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.display{font-family:var(--display);font-weight:700;letter-spacing:-.035em;line-height:1.02}.glass{background:var(--glass);-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);box-shadow:inset 0 1px 0 var(--glass-rim),inset 0 -1px 0 var(--glass-shade),0 1px 2px #10120f0f,0 12px 32px -12px #10120f2e}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass{background:var(--paper)}}@media(prefers-reduced-transparency:reduce){.glass{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}.page{max-width:720px;margin:0 auto;padding:0 20px calc(var(--nav-h) + 40px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) 20px 10px;background:color-mix(in srgb,var(--paper) 88%,transparent);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border-bottom:1px solid var(--hairline)}.topbar .wordmark{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}.topbar .context{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.topbar .signout{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45);min-height:32px;padding:0 4px}.topbar .signout:active{color:var(--ink)}.tabbar{position:fixed;z-index:30;left:50%;transform:translate(-50%);bottom:calc(12px + env(safe-area-inset-bottom));display:flex;align-items:stretch;gap:2px;padding:5px;border-radius:var(--r-pill);max-width:calc(100vw - 24px)}.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:62px;min-height:54px;padding:0 12px;border-radius:var(--r-pill);color:var(--ink-45);transition:color .16s ease,background-color .16s ease}.tabbar button svg{width:19px;height:19px;display:block}.tabbar button span{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.tabbar button[aria-current=true]{color:var(--accent-ink);background:var(--accent-soft)}.tabbar button:active{transform:scale(.96)}@media(prefers-reduced-motion:reduce){.tabbar button,.tabbar button:active{transition:none;transform:none}}.page-head{padding:28px 0 18px}.page-head h2{margin:6px 0 0;font-family:var(--display);font-size:clamp(30px,9vw,42px);font-weight:800;letter-spacing:-.04em;line-height:.98}.page-head .lede{margin:8px 0 0;color:var(--ink-45);font-size:14px}.controls{display:grid;gap:12px;padding-bottom:6px}.search{position:relative}.search input{width:100%;min-height:46px;padding:0 42px 0 16px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--r-pill);font-size:15px}.search input::placeholder{color:var(--ink-45)}.search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.search input::-webkit-search-cancel-button,.search input::-webkit-search-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.search .clear{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;color:var(--ink-45);font-size:15px}.chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin:0 -20px;padding-inline:20px}.chips::-webkit-scrollbar{display:none}.chip{flex:0 0 auto;min-height:34px;padding:0 14px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:transparent;color:var(--ink-45);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;transition:background-color .14s ease,color .14s ease,border-color .14s ease}.chip .n{opacity:.55;margin-left:5px}.sort-label{flex:0 0 auto;align-self:center;padding-right:2px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--paper)}.chip[aria-pressed=true] .n{opacity:.6}.result-count{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45);padding:16px 0 6px;margin:0;border-bottom:1px solid var(--hairline)}.session-list{list-style:none;margin:0;padding:0}.session-list>li{border-bottom:1px solid var(--hairline)}.row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:14px;width:100%;text-align:left;padding:16px 0}.row.playable{cursor:pointer}.row.playable:active .row-title{color:var(--accent-ink)}.row-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-12)}.row-title{margin:7px 0 0;font-family:var(--display);font-size:17.5px;font-weight:700;letter-spacing:-.02em;line-height:1.22;transition:color .14s ease}.row-title em{font-style:normal;color:var(--ink-45)}.row-cast{margin:7px 0 0;font-size:13.5px;line-height:1.5;color:var(--ink-45)}.row-cast .who{color:var(--ink-70)}.row-cast .who:active{color:var(--accent-ink)}.row-cast .sep{opacity:.4;margin:0 7px}.row-cast .role-tag{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);margin-right:5px}.row-note{margin:7px 0 0;font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--ink-45)}.play{flex:0 0 auto;width:38px;height:38px;margin-top:14px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent-ink);box-shadow:inset 0 1px 0 var(--glass-rim)}.play svg{width:13px;height:13px;margin-left:2px}.row-flag{margin-top:18px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45);white-space:nowrap}.empty{text-align:center;color:var(--ink-45);padding:64px 16px;font-size:15px}.spinner{text-align:center;color:var(--ink-45);padding:64px 16px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#000;display:flex;flex-direction:column}.sheet-bar{display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px;color:#fff}.sheet-bar .close{width:var(--tap);height:var(--tap);flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#ffffff1f;color:#fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff40}.sheet-bar .close svg{width:15px;height:15px}.sheet-bar .meta{min-width:0;display:grid;gap:2px}.sheet-bar .meta .t{display:block;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-bar .meta .s{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ffffff8c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-stage{flex:1;display:grid;place-items:center;overflow:hidden}.sheet-frame{width:100%;aspect-ratio:16 / 9;max-height:100%;border:0}@media(orientation:landscape)and (max-height:540px){.sheet-bar{position:absolute;top:0;left:0;right:0;z-index:2;background:linear-gradient(#000000a6,#0000)}.sheet-stage{position:absolute;top:0;right:0;bottom:0;left:0}.sheet-frame{width:100%;height:100%;aspect-ratio:auto}}.signin{min-height:100dvh;display:grid;place-items:center;padding:24px}.signin-card{width:100%;max-width:360px;padding:30px 26px;border-radius:var(--r-lg)}.signin-card .eyebrow{display:block;margin-bottom:10px}.signin-card h1{margin:0 0 8px;font-family:var(--display);font-size:32px;font-weight:800;letter-spacing:-.04em;line-height:1}.signin-card p{margin:0 0 22px;color:var(--ink-45);font-size:14px}.signin-card form{display:grid;gap:12px}.signin-card input{min-height:48px;padding:0 16px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--r-md);font-size:16px}.signin-card input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{min-height:48px;border-radius:var(--r-md);background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:opacity .14s ease}.btn-primary:disabled{opacity:.45}.btn-quiet{min-height:var(--tap);font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.error{color:#b23c2e;font-size:13.5px;margin:0}@media(prefers-color-scheme:dark){.error{color:#f0a094}}.admin-actions{display:flex;gap:8px;padding:4px 0 14px}.admin-actions button{flex:1;min-height:44px;border-radius:var(--r-pill);border:1px solid var(--hairline);font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.admin-actions .primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.badge{font-family:var(--mono);font-size:9.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r-pill);border:1px solid var(--hairline);color:var(--ink-45)}.badge.draft{border-color:#c9922e66;color:#a3761f}.badge.ok{border-color:var(--accent);color:var(--accent-ink)}@media(prefers-color-scheme:dark){.badge.draft{color:#e0b356}}.row-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}.row-actions button,.row-actions .row-link{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--hairline);border-radius:var(--r-pill);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-70);text-decoration:none}.row-actions .row-link:active{color:var(--accent-ink);border-color:var(--accent)}.row-actions .danger{color:#b23c2e;border-color:#b23c2e40}@media(prefers-color-scheme:dark){.row-actions .danger{color:#f0a094}}.sheet-form{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:var(--paper);display:flex;flex-direction:column}.form-bar{display:flex;align-items:center;gap:10px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--hairline)}.form-bar .title{flex:1;text-align:center;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.form-bar button{min-height:var(--tap);padding:0 6px;font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}.form-bar button:disabled{opacity:.35}.form-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:grid;gap:18px;align-content:start;padding:22px 20px calc(56px + env(safe-area-inset-bottom));max-width:720px;margin:0 auto;width:100%}.form-body label{display:grid;gap:6px}.form-body label>span{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.form-body input,.form-body textarea{width:100%;min-height:46px;padding:11px 14px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--r-md);font-family:inherit;font-size:16px}.form-body textarea{resize:vertical;min-height:66px;font-size:14px}.form-body input:focus-visible,.form-body textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.form-body small{font-size:12px;color:var(--ink-45)}.form-body small.ok{color:var(--accent-ink);font-family:var(--mono);font-size:11px}.form-body small.bad{color:#b23c2e}@media(prefers-color-scheme:dark){.form-body small.bad{color:#f0a094}}.form-body label.row{grid-auto-flow:column;justify-content:start;align-items:center;gap:12px;padding:4px 0}.form-body label.row input{width:22px;height:22px;min-height:0;accent-color:var(--accent)}.form-body label.row>span{font-family:var(--sans);font-size:15px;text-transform:none;letter-spacing:0;color:var(--ink);font-weight:500}.series-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;width:100%;text-align:left;padding:18px 0}.series-row:active .row-title{color:var(--accent-ink)}.series-row .row-cast{margin-top:5px}.series-count{display:grid;justify-items:end;gap:1px;line-height:1}.series-count b{font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.backlink{display:inline-flex;align-items:center;gap:5px;min-height:var(--tap);margin-left:-4px;font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.backlink svg{width:13px;height:13px}.backlink:active{color:var(--ink)}.filter-row{display:grid;grid-template-columns:1fr auto;gap:8px}.picker,.sort{display:grid;gap:2px;align-content:center;min-height:52px;padding:6px 14px;border:1px solid var(--hairline);border-radius:var(--r-md);background:var(--paper-2);text-align:left;min-width:0}.picker select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;padding:0 16px 0 0;font-size:14.5px;font-weight:500;color:var(--ink);width:100%;min-width:0;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:right 2px top 9px,right -2px top 9px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;text-overflow:ellipsis}.picker select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.sort{justify-items:start;white-space:nowrap}.sort-value{display:inline-flex;align-items:center;gap:5px;font-size:14.5px;font-weight:500;color:var(--ink)}.sort-value svg{width:13px;height:13px;color:var(--ink-45)}.sort:active{background:var(--ink-08)}.slots{display:grid;gap:6px;margin-top:11px}.slot{display:grid;grid-template-columns:52px 1fr;align-items:baseline;gap:10px;width:100%;text-align:left;padding:9px 12px;border-radius:var(--r-sm);border:1px solid transparent;background:var(--paper-2)}.slot .who{font-size:14px;color:var(--ink-70)}.slot.open{border-style:dashed;border-color:var(--accent);background:var(--accent-soft)}.slot.open .who{color:var(--accent-ink);font-weight:500}.slot.open:active{background:transparent}.slot.held .who{color:var(--ink);font-weight:500}.section-label{margin:22px 0 8px;color:var(--ink-45)}.section-label:first-child{margin-top:0}.suggest-cta{width:100%;margin-top:26px;min-height:48px;border:1px dashed var(--hairline);border-radius:var(--r-md);font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-45)}.suggest-cta:active{color:var(--ink);border-color:var(--ink-45)}.modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#10120f66;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;align-items:end;justify-items:center;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}@media(min-height:640px){.modal-scrim{align-items:center}}.modal{width:100%;max-width:400px;display:grid;gap:14px;padding:20px;border-radius:var(--r-lg)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head button{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--ink-45)}.modal-head button svg{width:13px;height:13px}.modal-lede{margin:0;font-size:15px;line-height:1.45}.modal-note{margin:0;font-size:12.5px;color:var(--ink-45)}.modal label{display:grid;gap:6px}.modal label>span{font-size:10px}.modal input,.modal textarea{width:100%;min-height:46px;padding:11px 14px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--r-md);font-family:inherit;font-size:16px}.modal textarea{min-height:88px;resize:vertical;font-size:15px}.modal input:focus-visible,.modal textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.segmented{display:flex;gap:3px;margin-top:14px;padding:3px;overflow-x:auto;scrollbar-width:none;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--r-pill)}.segmented::-webkit-scrollbar{display:none}.segmented button{flex:1 0 auto;min-height:38px;padding:0 10px;white-space:nowrap;border-radius:var(--r-pill);display:inline-flex;align-items:center;justify-content:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-45)}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.pip{min-width:16px;height:16px;padding:0 4px;display:inline-grid;place-items:center;border-radius:var(--r-pill);background:var(--accent);color:#fff;font-size:9px;letter-spacing:0}.segmented button[aria-pressed=true] .pip{background:var(--paper);color:var(--ink)}.msg{margin-top:24px}.msg-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.msg-hint{margin:3px 0 0;font-size:13px;color:var(--ink-45)}.copy{flex:0 0 auto;min-height:38px;padding:0 18px;border-radius:var(--r-pill);background:var(--ink);color:var(--paper);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.copy.done{background:var(--accent)}.msg-warn{margin:10px 0 0;font-size:12.5px;color:#a3761f;font-family:var(--mono);letter-spacing:.02em}@media(prefers-color-scheme:dark){.msg-warn{color:#e0b356}}.msg-body{width:100%;margin-top:10px;padding:14px;background:var(--paper-2);border:1px solid var(--hairline);border-radius:var(--r-md);font-family:var(--sans);font-size:14px;line-height:1.55;resize:vertical}.msg-body:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.settings-body{padding-inline:0}.row.is-done{opacity:.55}
