@import "https://fonts.googleapis.com/css2?family=Archivo+Expanded:wght@600;800&family=IBM+Plex+Sans:wght@400;500;600&display=swap";
:root{--bg:#120f0c;--bg-soft:#1f1814;--panel:#291e18db;--panel-strong:#3a271cf2;--text:#f7eedf;--muted:#d2c2aa;--accent:#ff6b35;--accent-2:#ffd166;--accent-3:#7bd389;--shadow:0 24px 80px #00000073;--radius-xl:28px;--radius-lg:22px}*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(circle at 0 0,#ffd16624,#0000 28%),radial-gradient(circle at right 20%,#ff6b352e,#0000 32%),linear-gradient(135deg,#120f0c 0%,#1a1310 45%,#0d0b0a 100%);font-family:IBM Plex Sans,sans-serif;overflow-x:hidden}.noise{opacity:.08;pointer-events:none;mix-blend-mode:soft-light;background-image:linear-gradient(#ffffff08 1px,#0000 1px),linear-gradient(90deg,#ffffff08 1px,#0000 1px);background-size:8px 8px,8px 8px;position:fixed;inset:0}.app-shell{width:min(1160px,100%);padding:max(24px, env(safe-area-inset-top)) max(16px, calc(16px + env(safe-area-inset-right))) max(56px, calc(56px + env(safe-area-inset-bottom))) max(16px, calc(16px + env(safe-area-inset-left)));gap:22px;margin:0 auto;display:grid}.hero{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:end;gap:22px;padding:8px 0 18px;display:grid}.hero .eyebrow{letter-spacing:.16em;font-size:.68rem}.hero-title{gap:14px;display:grid}.hero-callout{background:linear-gradient(135deg,#ffd1661c,#ff6b350f),#ffffff0b;border:1px solid #ffd1662e;border-radius:18px;align-self:end;padding:18px;box-shadow:0 20px 52px #0000003d}.hero-quote-block{grid-template-columns:minmax(0,1fr) minmax(74px,104px);align-items:end;gap:14px;display:grid}.epic-poster-wrap{justify-self:end;width:100%;max-width:104px;margin:0;position:relative}.epic-poster-link{outline-offset:2px;border-radius:8px;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block}.epic-poster-link:hover{transform:translateY(-2px)}.epic-poster-link:focus-visible{outline:2px solid var(--accent-2)}.epic-poster{z-index:1;aspect-ratio:2/3;object-fit:cover;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:8px;width:100%;height:auto;display:block;position:relative;box-shadow:0 6px 16px #00000042}.epic-poster-glow{filter:blur(14px);z-index:0;pointer-events:none;background:#ff6b3552;border-radius:999px;height:14px;position:absolute;inset:auto 10% -6%}.eyebrow,.result-kicker,.status-label{text-transform:uppercase;letter-spacing:.2em;color:var(--accent-2);font-size:.75rem}h1,h2{text-transform:uppercase;margin:0;font-family:Archivo Expanded,sans-serif;line-height:.95}h1{max-width:10ch;font-size:clamp(3.5rem,8.6vw,7.5rem)}.intro{max-width:46rem;color:var(--muted);margin:0;font-size:1.06rem;line-height:1.7}.credit{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:.95rem;display:flex}.credit a{color:var(--accent-2);text-decoration:none}.credit a:hover{text-decoration:underline}.hero-quote{min-width:0;color:var(--text);margin:0;font-size:clamp(.98rem,1.45vw,1.14rem);line-height:1.55}.hero-quote p{margin:0}.hero-quote p+p{margin-top:.35em}.hero-quote cite{color:var(--muted);margin-top:8px;font-size:.85rem;font-style:normal;line-height:1.45;display:block}.hero-quote a{color:var(--accent-2);text-decoration:none}.hero-quote a:hover{text-decoration:underline}.letterboxd-badge{background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:inline-flex}.letterboxd-dots{align-items:center;display:inline-flex}.letterboxd-dot{border:1px solid #00000026;border-radius:999px;width:12px;height:12px}.letterboxd-dot+.letterboxd-dot{margin-left:-3px}.dot-green{background:#40bc77}.dot-orange{background:#ff8000}.dot-blue{background:#00a6ed}.letterboxd-word{color:var(--text);font-size:.88rem;font-weight:600}.roulette-panel,.rooms-panel,.room-panel,.result-panel,.history-panel,.import-panel{background:var(--panel);border-radius:var(--radius-xl);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid #ffffff14;position:relative;overflow:hidden}.roulette-panel:before,.rooms-panel:before,.room-panel:before,.result-panel:before,.history-panel:before,.import-panel:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#fff3,#0000);height:1px;position:absolute;inset:0 0 auto}.roulette-panel{padding:24px}.rooms-panel,.room-panel{margin-top:22px;padding:24px}.rooms-head,.room-head{justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px;display:flex}.rooms-kicker,.rooms-status,.room-kicker,.room-status,.room-vote-summary,.room-slot p{margin:0}.rooms-kicker,.rooms-item-kicker,.rooms-code-label span,.room-kicker,.room-slot-label,.room-code-card span,.room-link-card span{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-2);font-size:.72rem}.rooms-head h2,.room-head h2{margin-top:7px;font-size:clamp(1.35rem,3vw,2.4rem);line-height:1}.rooms-status,.room-status,.room-vote-summary{max-width:24rem;color:var(--muted);font-size:.95rem;line-height:1.5}.rooms-status[data-tone=ok],.room-status[data-tone=ok]{color:var(--accent-3)}.rooms-status[data-tone=error],.room-status[data-tone=error]{color:#ffb4a0}.rooms-join{grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:12px;margin-bottom:12px;display:grid}.rooms-code-label{gap:8px;min-width:0;display:grid}.rooms-code-label input,.rooms-code-label select{width:100%;min-height:52px;color:var(--text);font:inherit;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:16px;padding:0 16px}.rooms-code-label input{text-transform:uppercase;letter-spacing:.08em}.room-create-form{grid-template-columns:minmax(170px,.6fr) minmax(190px,.8fr) minmax(260px,1.2fr) auto}.rooms-list{gap:12px;margin-top:18px;display:grid}.rooms-item,.rooms-empty{background:#ffffff0a;border:1px solid #ffffff14;border-radius:16px;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.rooms-empty{color:var(--muted);justify-content:flex-start}.rooms-item h3,.rooms-item p,.rooms-empty p{margin:0}.rooms-item h3{letter-spacing:.08em;font-family:Archivo Expanded,sans-serif}.rooms-item p:not(.rooms-item-kicker){color:var(--muted);margin-top:5px;font-size:.92rem}.room-share-row{grid-template-columns:minmax(132px,.28fr) minmax(220px,1fr) auto;align-items:stretch;gap:12px;margin-bottom:18px;display:grid}.room-code-card,.room-link-card{background:#ffffff0b;border:1px solid #ffffff14;border-radius:16px;gap:8px;min-width:0;padding:14px 16px;display:grid}.room-code-card strong{color:var(--text);letter-spacing:.12em;font-family:Archivo Expanded,sans-serif;font-size:clamp(1.25rem,3vw,2rem)}.room-link-card input{width:100%;min-width:0;color:var(--text);font:inherit;text-overflow:ellipsis;background:0 0;border:0;padding:0;overflow:hidden}.room-current-choice{margin:0 0 18px}.room-current-card{background:linear-gradient(135deg,#ffd1661c,#ffffff0a),#ffffff09;border:1px solid #ffd1663d;border-radius:18px;grid-template-columns:78px minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px;display:grid}.room-current-card img{aspect-ratio:2/3;object-fit:cover;border:1px solid #ffffff1f;border-radius:9px;width:78px;box-shadow:0 14px 28px #00000052}.room-current-copy{gap:7px;min-width:0;display:grid}.room-current-copy h3,.room-current-copy p{margin:0}.room-current-copy h3{overflow-wrap:anywhere;font-size:clamp(1.18rem,2.4vw,1.85rem);line-height:1.1}.room-current-copy p:not(.room-slot-label),.room-current-copy a{color:var(--muted);line-height:1.45}.room-current-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.room-current-empty{grid-template-columns:56px minmax(0,1fr)}.room-tabs{flex-wrap:wrap;gap:8px;margin:0 0 16px;display:flex}.room-tab{color:var(--muted);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:999px;padding:9px 14px}.room-tab.is-active{color:var(--text);background:#ffd1661f;border-color:#ffd1666b}.room-slots{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;display:grid}.room-slot{background:linear-gradient(#ffffff0d,#ffffff05),#ffffff06;border:1px solid #ffffff14;border-radius:16px;align-content:space-between;gap:12px;min-width:0;min-height:248px;padding:14px;display:grid}.room-slot.is-leading{border-color:#7bd38985;box-shadow:0 0 0 1px #7bd3892e}.room-slot-active{border-color:#ffd16647;grid-template-rows:auto 1fr auto}.room-active-reel{align-self:center;min-width:0}.room-active-reel .digit-stage{gap:10px}.room-active-reel .digit-reels{--slot-row-height:clamp(1.75rem, 5vw, 2.6rem);gap:5px;width:100%}.room-active-reel .digit-slot{min-height:calc(var(--slot-row-height) + 14px);border-radius:12px}.room-active-reel .digit-window{inset:5px}.room-active-reel .digit-kicker{font-size:.68rem}.room-active-reel .digit-caption{font-size:.86rem;line-height:1.35}.room-slot img{aspect-ratio:2/3;object-fit:cover;border:1px solid #ffffff1a;border-radius:8px;width:72px;box-shadow:0 10px 22px #00000047}.room-member-profile{width:fit-content;max-width:100%;color:var(--text);overflow-wrap:anywhere;align-items:center;gap:8px;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.room-member-profile .room-member-avatar{aspect-ratio:1;object-fit:cover;width:30px;height:30px;box-shadow:none;border-radius:50%}.room-member-avatar-fallback{color:var(--bg);background:var(--accent-2);place-items:center;display:grid}.room-slot h3{overflow-wrap:anywhere;margin:0;font-size:1.02rem;line-height:1.2}.room-slot-copy{gap:7px;display:grid}.room-slot-copy p,.room-slot>p{color:var(--muted);line-height:1.45}.room-slot-empty-mark{width:48px;height:48px;color:var(--accent-2);background:#ffd1660f;border:1px dashed #ffd16673;border-radius:50%;place-items:center;font-size:1.6rem;display:grid}.room-slot-add{background:linear-gradient(135deg,#ffd1661a,#ffffff06),#ffffff05;border-style:dashed}.room-share-url{overflow-wrap:anywhere;color:var(--muted);font-size:.88rem}.room-slot-actions{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.92rem;display:flex}.room-vote-button{color:var(--text);background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;padding:9px 12px}.room-vote-button:disabled{color:var(--accent-3);cursor:default}.room-vote-summary{margin-top:14px}.room-list-items,.room-list-featured,.room-next-item{gap:12px;display:grid}.room-list-item{background:#ffffff09;border:1px solid #ffffff14;border-radius:16px;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px;display:grid}.room-list-featured{margin:0 0 14px}.room-list-featured-card{background:linear-gradient(135deg,#ffd1661f,#ffffff09),#ffffff0a;border-color:#ffd16659}.room-list-item.is-next{border-color:#ffd16675;box-shadow:0 0 0 1px #ffd16624}.room-list-item[data-status=watched]{border-color:#7bd38952}.room-list-item[data-status=skipped]{opacity:.72}.room-list-item img{aspect-ratio:2/3;object-fit:cover;border-radius:8px;width:58px}.room-list-item-copy{gap:5px;min-width:0;display:grid}.room-list-item-copy h3,.room-list-item-copy p{margin:0}.room-list-item-copy h3{overflow-wrap:anywhere;font-size:1rem}.status-bar{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-bottom:20px;display:flex}.status-metric{min-width:92px}.status-bar strong{color:var(--text);margin-top:6px;font-size:1.15rem;display:block}.marquee-frame{border-radius:var(--radius-lg);background:linear-gradient(#ffd16614,#0000 40%),linear-gradient(135deg,#ff6b351f,#120f0ce6);border:1px solid #ffffff14;min-height:clamp(220px,29vw,260px);position:relative;overflow:hidden}.spotlight{pointer-events:none;background:linear-gradient(90deg,#0000 0,#ffffff1a 50%,#0000 100%);animation:9s linear infinite sweep;position:absolute;inset:0;transform:translate(-100%)}.marquee{min-height:inherit;padding:clamp(10px,2.4vw,14px);position:relative}.digit-stage{text-align:center;align-content:center;justify-items:center;gap:clamp(10px,2vw,16px);min-height:100%;display:grid}.digit-kicker,.digit-caption{color:var(--muted);margin:0}.digit-kicker{text-transform:uppercase;letter-spacing:.22em;color:var(--accent-2);font-size:.78rem}.digit-reels{--slot-row-height:clamp(2.8rem, 8vw, 4.5rem);grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(6px,2vw,12px);width:min(100%,520px);display:grid}.digit-slot{min-height:calc(var(--slot-row-height) + clamp(18px, 4vw, 32px));background:linear-gradient(#ffffff0f,#00000047),#19120ee6;border:1px solid #ffd1662e;border-radius:18px;position:relative;box-shadow:inset 0 1px #ffffff14,0 14px 30px #0000003d}.digit-value{z-index:1;font-family:IBM Plex Sans,sans-serif;font-size:calc(var(--slot-row-height) * .72);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 24px #ffd1663d,0 4px 12px #00000059;place-items:center;font-weight:600;line-height:1;display:grid;position:absolute;inset:0}.digit-slot:before,.digit-slot:after{content:"";z-index:2;pointer-events:none;height:22px;position:absolute;left:0;right:0}.digit-slot:before{background:linear-gradient(#120f0cf5,#120f0c00);border-radius:18px 18px 0 0;top:0}.digit-slot:after{background:linear-gradient(#120f0c00,#120f0cf5);border-radius:0 0 18px 18px;bottom:0}.digit-window{border-radius:12px;position:absolute;inset:10px;overflow:hidden}.digit-track{transform:translateY(calc(var(--stop-index) * -1 * var(--slot-row-height)));will-change:transform;justify-items:center;transition:transform .98s cubic-bezier(.16,1,.3,1);display:grid}.digit-cell{height:var(--slot-row-height);width:100%;font-family:IBM Plex Sans,sans-serif;font-size:calc(var(--slot-row-height) * .72);font-variant-numeric:tabular-nums;color:var(--text);text-shadow:0 0 20px #ffd16633;place-items:center;font-weight:600;line-height:1;display:grid}.digit-slot.is-spinning .digit-track{animation:.52s linear infinite slot-roll}.digit-slot.is-spinning .digit-value{opacity:0}.digit-slot.is-locked .digit-track{visibility:hidden;animation:none}.digit-caption{max-width:32rem;font-size:1rem;line-height:1.45}.controls{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding:14px 16px;display:flex}.instant-copy{color:var(--muted);margin:0;font-size:.95rem}.instant-link{color:var(--accent-2);text-decoration:none}.instant-link:hover{text-decoration:underline}.filter-bar{background:linear-gradient(135deg,#ffd16614,#ffffff08),#ffffff08;border:1px solid #ffffff14;border-radius:18px;margin-bottom:20px;padding:16px 18px}.filter-bar-inner{gap:14px;display:grid}.filter-bar-kicker,.filter-pool-line,.filter-data-note,.filter-empty-note{margin:0}.filter-bar-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-2);font-size:.72rem}.filter-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.filter-select-group{gap:6px;min-width:148px;display:grid}.filter-select-label{color:var(--muted);font-size:.8rem}.filter-select-outer{display:block;position:relative}.filter-select-outer:after{content:"▾";color:var(--muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.filter-select{appearance:none;width:100%;color:var(--text);font:inherit;background:#ffffff12;border:1px solid #ffffff1a;border-radius:14px;padding:12px 40px 12px 14px}.filter-select:disabled{opacity:.55;cursor:not-allowed}.filter-chip{min-height:48px;color:var(--text);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.filter-chip input{accent-color:var(--accent);margin:0}.filter-chip.is-unavailable{opacity:.55;cursor:not-allowed}.filter-chip-label{white-space:nowrap}.filter-pool-line{color:var(--muted)}.filter-pool-line strong{color:var(--text);font-family:Archivo Expanded,sans-serif;font-size:1rem}.filter-data-note,.filter-empty-note{color:var(--muted);margin-top:12px;font-size:.92rem;line-height:1.5}.filter-empty-note{color:var(--accent-2)}.filter-panel{background:linear-gradient(135deg,#ffd1661f,#ffffff08),#ffffff05;border:1px solid #ffd1661f;border-radius:18px;margin-top:18px;padding:16px 18px}.filter-copy{gap:8px;display:grid}.filter-label,.filter-caption{margin:0}.filter-label{text-transform:uppercase;letter-spacing:.18em;color:var(--accent-2);font-size:.72rem}.filter-readout{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.filter-prefix{letter-spacing:.18em;color:var(--text);font-family:Archivo Expanded,sans-serif;font-size:clamp(1.2rem,3vw,2rem)}.filter-count{color:var(--accent-2);font-family:Archivo Expanded,sans-serif;font-size:clamp(1rem,2vw,1.5rem)}.filter-caption{color:var(--muted);font-size:.95rem;line-height:1.5}button,.result-link,.watch-cta{appearance:none;cursor:pointer;font:inherit;border:0;text-decoration:none}.spin-button,.secondary-button,.tertiary-button,.result-link,.watch-cta{border-radius:999px;padding:14px 20px;transition:transform .18s,box-shadow .18s,background .18s}.spin-button{background:linear-gradient(135deg, var(--accent), #ff9a3c);color:#1f130d;font-weight:700;box-shadow:0 16px 40px #ff6b3540}.secondary-button,.tertiary-button,.result-link{color:var(--text);background:#ffffff14;border:1px solid #ffffff1a}.spin-button:hover,.secondary-button:hover,.tertiary-button:hover,.result-link:hover,.watch-cta:hover{transform:translateY(-2px)}.mini-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:20px;transition:opacity .22s,transform .22s;display:grid}.mini-grid img{aspect-ratio:2/3;object-fit:cover;opacity:.8;border:1px solid #ffffff14;border-radius:14px;width:100%;transition:transform .22s,opacity .22s,filter .22s;transform:scale(1);box-shadow:0 12px 22px #0003}.mini-grid[data-prefix-length="0"] img{opacity:.48;filter:saturate(.72)}.mini-grid[data-prefix-length="1"] img{opacity:.58}.mini-grid[data-prefix-length="2"] img{opacity:.68}.mini-grid[data-prefix-length="3"] img{opacity:.8;transform:scale(1.02)}.mini-grid[data-prefix-length="4"] img{opacity:.92;transform:scale(1.04)}.mini-grid[data-prefix-length="5"] img{opacity:1;filter:saturate(1.08);transform:scale(1.08)}.result-panel{grid-template-columns:280px 1fr;gap:28px;margin-top:22px;padding:24px;display:grid}.history-panel{margin-top:22px;padding:24px}.history-head{gap:6px;margin-bottom:16px;display:grid}.history-kicker,.history-subtitle{margin:0}.history-kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--accent-2);font-size:.75rem}.history-subtitle{color:var(--muted);font-size:.96rem;line-height:1.5}.history-list{gap:14px;display:grid}.history-day{background:linear-gradient(#ffffff0b,#ffffff05);border:1px solid #ffffff14;border-radius:18px;padding:16px 18px}.history-day-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.history-day-head h3,.history-day-head span{margin:0}.history-day-head h3{font-size:1rem}.history-day-head span{color:var(--muted);font-size:.9rem}.history-day-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.history-item{grid-template-columns:72px 1fr;align-items:baseline;gap:12px;display:grid}.history-main{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.history-time{color:var(--accent-2);font-size:.9rem}.history-link{color:var(--text);text-decoration:none}.history-link:hover{text-decoration:underline}.history-badge{color:var(--accent-2);text-transform:uppercase;letter-spacing:.12em;background:#ff6b3529;border:1px solid #ff6b3542;border-radius:999px;padding:4px 8px;font-size:.78rem}.history-empty{color:var(--muted);margin:0}.import-panel{margin-top:22px;padding:24px}.import-head{gap:6px;margin-bottom:14px;display:grid}.import-kicker,.import-subtitle{margin:0}.import-kicker{text-transform:uppercase;letter-spacing:.2em;color:var(--accent-2);font-size:.75rem}.import-subtitle{color:var(--muted);line-height:1.5}.import-open-button{font-weight:800}.import-sheet{width:min(760px,100% - 24px)}.import-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.import-card{background:linear-gradient(#ffffff0b,#ffffff05);border:1px solid #ffffff14;border-radius:18px;padding:18px}.import-upload{position:relative;overflow:hidden}.import-upload:after{content:"";pointer-events:none;background:radial-gradient(circle,#ff6b352e,#0000 70%);border-radius:999px;width:160px;height:160px;position:absolute;inset:auto -30px -40px auto}.import-card h3,.import-linkline,.import-note,.import-status,.import-privacy{margin:0}.import-card h3{margin-bottom:10px;font-size:1rem}.letterboxd-profile-form,.letterboxd-profile-actions{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0 12px;display:flex}.letterboxd-profile-form .rooms-code-label{flex:190px;min-width:0}.letterboxd-profile-actions{margin-top:12px}.import-steps,.import-files{color:var(--muted);margin:0 0 12px 18px;padding:0;line-height:1.6}.import-linkline,.import-note,.import-status,.import-privacy{color:var(--muted);line-height:1.5}.import-linkline a{color:var(--accent-2);text-decoration:none}.import-linkline a:hover{text-decoration:underline}.upload-button{color:var(--text);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;justify-content:center;align-items:center;margin-top:8px;padding:12px 16px;display:inline-flex;box-shadow:0 10px 20px #0000002e}.upload-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.import-status{margin-top:10px}.import-privacy{align-items:flex-start;gap:8px;margin-top:10px;font-size:.88rem;display:flex}.privacy-lock{width:28px;height:28px;color:var(--accent-2);background:#ffd1661a;border:1px solid #ffd1662e;border-radius:999px;flex:none;place-items:center;margin-top:1px;line-height:1.1;display:inline-grid;box-shadow:inset 0 1px #ffffff0f,0 8px 16px #0000002e}.privacy-lock svg{width:15px;height:15px;display:block}.poster-wrap{isolation:isolate;position:relative}.poster-glow{filter:blur(24px);z-index:0;background:#ff6b3573;border-radius:999px;height:30px;position:absolute;inset:auto 10% -10%}.result-poster{z-index:1;aspect-ratio:2/3;object-fit:cover;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:20px;width:100%;transition:opacity .22s,transform .22s,filter .22s;display:block;position:relative;box-shadow:0 24px 48px #0000003d}.result-placeholder{z-index:2;background:radial-gradient(circle at 50% 18%,#ffd1662e,#0000 28%),linear-gradient(#ffffff0f,#18110d4d),linear-gradient(145deg,#573928eb,#36271ef5);border:1px solid #ffffff1f;border-radius:20px;align-content:space-between;gap:18px;padding:22px 20px;display:grid;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff14,0 24px 48px #00000038}.result-placeholder:before{content:"";pointer-events:none;border:1px dashed #ffd16633;border-radius:14px;position:absolute;inset:14px}.result-placeholder-kicker,.result-placeholder-title,.result-placeholder-copy{margin:0}.result-placeholder-kicker{z-index:1;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-2);font-size:.72rem;position:relative}.result-placeholder-mark{z-index:1;text-align:center;align-self:center;gap:4px;display:grid;position:relative}.result-placeholder-mark span:first-child{letter-spacing:.04em;color:var(--text);font-family:Archivo Expanded,sans-serif;font-size:clamp(2rem,3vw,2.5rem)}.result-placeholder-mark span:last-child{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.result-placeholder-title{z-index:1;text-transform:uppercase;max-width:8ch;color:var(--text);font-family:Archivo Expanded,sans-serif;font-size:clamp(1.35rem,3vw,2rem);line-height:.96;position:relative}.result-placeholder-copy{z-index:1;max-width:16ch;color:var(--muted);line-height:1.55;position:relative}.result-copy{align-content:center;gap:12px;display:grid}.result-copy h2{max-width:14ch}.result-meta{color:var(--muted);margin:0;font-size:1.05rem;line-height:1.7}.watch-forward{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.watch-cta{background:linear-gradient(135deg, var(--accent-2), #fff0a8);color:#1f130d;justify-content:center;align-items:center;min-height:48px;font-weight:800;display:inline-flex;box-shadow:0 14px 34px #ffd16633}.watch-sheet-open{overflow:hidden}.watch-sheet-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0705049e;position:fixed;inset:0}.watch-sheet{left:50%;bottom:max(18px, env(safe-area-inset-bottom));z-index:21;background:linear-gradient(#ffd16614,#ffffff08),#261c17fa;border:1px solid #ffffff1f;border-radius:22px;gap:16px;width:min(520px,100% - 24px);max-height:min(680px,100vh - 40px);padding:12px 16px 16px;display:grid;position:fixed;overflow:auto;transform:translate(-50%);box-shadow:0 28px 90px #00000094}.watch-sheet.import-sheet{width:min(760px,100% - 24px)}.watch-sheet-handle{background:#ffffff3d;border-radius:999px;justify-self:center;width:42px;height:4px}.watch-sheet-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.watch-sheet-head h3,.watch-sheet-kicker,.watch-sheet-subtitle,.watch-sheet-note{margin:0}.watch-sheet-head h3{color:var(--text);text-transform:uppercase;font-family:Archivo Expanded,sans-serif;font-size:1.05rem;line-height:1.15}.watch-sheet-kicker{color:var(--accent-2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px;font-size:.72rem;font-weight:800}.watch-sheet-subtitle,.watch-sheet-note{color:var(--muted);font-size:.9rem;line-height:1.45}.watch-sheet-close{min-height:40px;color:var(--text);background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;padding:9px 13px;font-weight:700}.watch-option-list{gap:9px;display:grid}.watch-option{min-height:64px;color:var(--text);background:#ffffff0e;border:1px solid #ffffff17;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 14px;text-decoration:none;display:grid}.watch-option:hover,.watch-option:focus-visible{background:#ffd16617;border-color:#ffd1665c;outline:none}.watch-option--netflix{background:linear-gradient(135deg,#e509142e,#ffffff0a),#ffffff0e;border-color:#e5091457}.watch-option--netflix:hover,.watch-option--netflix:focus-visible{background:linear-gradient(135deg,#e509143d,#ffd16614),#ffffff0f;border-color:#e509148f}.watch-option-copy{gap:3px;min-width:0;display:grid}.watch-option-copy strong{color:var(--text);font-size:.98rem}.watch-option-copy span{color:var(--muted);font-size:.88rem;line-height:1.4}.watch-option-arrow{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}.synopsis-card{background:linear-gradient(135deg,#7bd38917,#ffffff08),#ffffff0a;border:1px solid #7bd3892e;border-radius:16px;gap:6px;padding:14px 16px;display:grid}.synopsis-title{color:var(--accent-3);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.result-synopsis{color:var(--muted);margin:0;font-size:.95rem;line-height:1.55}.synopsis-card--loading .result-synopsis{color:#d2c2aab8}.result-actions{flex-wrap:wrap;gap:12px;margin-top:2px;padding-top:6px;display:flex}.curation-card{background:linear-gradient(#ffd16614,#ffffff08),#ffffff0d;border:1px solid #ffd1662e;border-radius:18px;gap:12px;margin-top:12px;padding:18px;display:grid}.curation-card--empty,.curation-card--loading,.curation-card--unavailable{background:#ffffff0d;border-color:#ffffff1a}.curation-card--loading .curation-title:after{content:"";border:2px solid #ffd16640;border-top-color:var(--accent-2);vertical-align:-.08em;border-radius:50%;width:.72em;height:.72em;margin-left:8px;animation:.82s linear infinite curation-spin;display:inline-block}.curation-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.curation-title{color:var(--text);margin:0;font-family:Archivo Expanded,sans-serif;font-size:.9rem;line-height:1.2}.curation-confidence{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:700}.curation-summary{color:var(--muted);margin:0;font-size:.98rem;line-height:1.65}.curation-reviews{background:#120f0c3d;border:1px solid #ffffff14;border-radius:14px;gap:8px;padding:12px 14px;display:grid}.curation-review-title{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.curation-review-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.curation-review-list blockquote{color:var(--text);border-left:2px solid #ffd16657;margin:0;padding-left:12px;font-size:.92rem;line-height:1.5}.curation-review-list blockquote:before{content:"“"}.curation-review-list blockquote:after{content:"”"}.curation-tags{flex-wrap:wrap;gap:8px;display:flex}.curation-tag{color:var(--text);background:#ffd16614;border:1px solid #ffd16629;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:700}.curation-guidance{gap:10px;padding-top:4px;display:grid}.curation-guidance-row{gap:4px;display:grid}.curation-error-actions{flex-wrap:wrap;gap:10px;display:flex}.curation-guidance-label{color:var(--accent-2);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800}.curation-guidance-copy{color:var(--muted);font-size:.92rem;line-height:1.45}.curation-retry-button{min-height:42px;color:var(--text);cursor:pointer;font:inherit;background:#ffd1661a;border:1px solid #ffd16647;border-radius:999px;justify-self:start;padding:10px 14px;font-size:.82rem;font-weight:800}.curation-retry-button:hover,.curation-retry-button:focus-visible{background:#ffd16629;border-color:#ffd16685}.curation-details-button{background:#ffffff0f;border-color:#ffffff24}.curation-error-details{color:var(--muted);overflow-wrap:anywhere;white-space:pre-wrap;background:#0000002e;border:1px solid #ffffff1a;border-radius:12px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1.45}.result-panel.is-empty .result-poster{opacity:.18;filter:saturate(.45)blur(1px);transform:scale(.985)}.result-panel.is-empty .poster-glow{background:#ffd1663d}@keyframes sweep{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes curation-spin{to{transform:rotate(360deg)}}@keyframes digit-jitter{0%{opacity:.7;transform:translateY(-3px)}50%{opacity:1;transform:translateY(3px)}to{opacity:.7;transform:translateY(-3px)}}@keyframes slot-roll{0%{transform:translateY(0)}to{transform:translateY(calc(var(--slot-row-height) * -10))}}@media (max-width:900px){.filter-controls{align-items:stretch}.filter-select-group{min-width:min(100%,180px)}.controls{align-items:flex-start}.room-share-row,.rooms-join,.room-create-form{grid-template-columns:1fr}.room-list-item{grid-template-columns:52px minmax(0,1fr)}.room-current-card{grid-template-columns:64px minmax(0,1fr)}.room-current-card img{width:64px}.room-current-actions{grid-column:1/-1;justify-content:flex-start}.room-list-item .room-slot-actions{grid-column:1/-1}.room-share-row .secondary-button{justify-self:start}.mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-panel{grid-template-columns:1fr}.poster-wrap{max-width:280px}.history-day-head,.history-item,.import-grid{grid-template-columns:1fr}}@media (max-width:700px){.hero{grid-template-columns:1fr;align-items:start}.hero-callout{width:min(100%,560px)}.epic-poster-wrap{justify-self:center;max-width:110px}}@media (max-width:560px){.app-shell{padding:max(18px, env(safe-area-inset-top)) max(12px, calc(12px + env(safe-area-inset-right))) max(40px, calc(40px + env(safe-area-inset-bottom))) max(12px, calc(12px + env(safe-area-inset-left)));gap:18px}.roulette-panel,.rooms-panel,.room-panel,.result-panel,.history-panel,.import-panel{border-radius:22px}.roulette-panel,.rooms-panel,.room-panel,.result-panel,.history-panel,.import-panel,.filter-bar,.controls{padding-left:14px;padding-right:14px}.marquee-frame{min-height:clamp(190px,60vw,240px)}.filter-controls{grid-template-columns:1fr;display:grid}.rooms-head,.room-head{display:grid}.rooms-item{align-items:stretch;display:grid}.room-slots{grid-template-columns:1fr}.filter-chip{border-radius:16px;justify-content:flex-start;min-height:44px}.hero-callout{padding:14px}.hero-quote-block{grid-template-columns:1fr minmax(62px,84px);gap:12px}.digit-reels{--slot-row-height:clamp(2.35rem, 10vw, 3.4rem);gap:6px}.digit-slot{min-height:calc(var(--slot-row-height) + 18px);border-radius:14px}.digit-window{inset:7px}.digit-caption{font-size:.92rem}}@media (max-width:430px){.status-bar{align-items:flex-start}.digit-reels{--slot-row-height:clamp(2.1rem, 9.5vw, 3rem);gap:5px}.digit-slot{min-height:calc(var(--slot-row-height) + 16px)}.digit-window{inset:6px}}@media (prefers-reduced-motion:reduce){.spotlight,.spin-button,.secondary-button,.tertiary-button,.result-link,.watch-cta,.digit-track,.epic-poster-link{transition:none;animation:none}.epic-poster-link:hover{transform:none}}
