:root{--ink-900: #0a0c10;--ink-850: #0d1016;--ink-800: #11151d;--ink-750: #151a24;--ink-700: #1a2030;--ink-650: #20283a;--ink-600: #283145;--line-soft: rgba(255, 255, 255, .05);--line: rgba(255, 255, 255, .09);--line-strong: rgba(255, 255, 255, .16);--text-100: #f4f6fa;--text-300: #c4cad6;--text-500: #8b94a7;--text-700: #5a6378;--gold-300: #f2dcab;--gold-400: #e6c27a;--gold-500: #d2a85a;--gold-a08: rgba(230, 194, 122, .08);--gold-a14: rgba(230, 194, 122, .14);--gold-a22: rgba(230, 194, 122, .22);--gold-a40: rgba(230, 194, 122, .4);--green-400: #5fbf8a;--green-soft: rgba(95, 191, 138, .14);--red-400: #e0727f;--red-soft: rgba(224, 114, 127, .14);--red-ink: #2e171b;--color-bg: var(--ink-900);--color-surface: var(--ink-700);--color-surface-variant: var(--ink-800);--color-on-surface: var(--text-100);--color-on-surface-variant: var(--text-500);--color-primary: var(--gold-400);--color-primary-container: var(--gold-500);--color-on-primary: var(--ink-900);--color-secondary: var(--gold-400);--color-secondary-container: var(--gold-a14);--color-error: var(--red-400);--color-error-container: var(--red-ink);--color-outline: var(--line-strong);--color-success: var(--green-400);--radius-xs: 6px;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 20px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(0, 0, 0, .4);--shadow-2: 0 2px 6px rgba(0, 0, 0, .36), 0 10px 28px -8px rgba(0, 0, 0, .5);--shadow-card: var(--shadow-2);--glow-gold: 0 0 0 1px var(--gold-a40), 0 0 26px -8px rgba(230, 194, 122, .55);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--dur-fast: .12s;--dur: .2s;--dur-slow: .36s;--ease-out: cubic-bezier(.22, .61, .36, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--font-sans: "Inter", "Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;font-family:var(--font-sans);color-scheme:dark;font-variant-numeric:tabular-nums}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}.theme-card:focus-within{outline:2px solid var(--color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--color-bg);color:var(--color-on-surface)}body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-size:16px;line-height:1.5;letter-spacing:.005em}h1,h2,h3{letter-spacing:-.02em}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:transparent;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}input,textarea{font-family:inherit;font-size:inherit}a{color:var(--color-primary);text-decoration:none}a:hover{color:var(--gold-300)}::selection{background:var(--gold-a22);color:var(--text-100)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:13px 20px;border-radius:var(--radius-sm);background:var(--color-primary);color:var(--color-on-primary);font-weight:600;letter-spacing:.005em;border:1px solid transparent;transition:background-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.btn:hover:not(:disabled){background:var(--gold-300);box-shadow:var(--glow-gold)}.btn:active:not(:disabled){transform:translateY(1px)}.btn-secondary{background:var(--ink-700);color:var(--color-on-surface);border-color:var(--line)}.btn-secondary:hover:not(:disabled){background:var(--ink-650);border-color:var(--line-strong);box-shadow:none}.btn-danger{background:var(--red-soft);color:#fbd5d9;border:1px solid rgba(224,114,127,.5)}.btn-danger:hover:not(:disabled){background:#e0727f38;border-color:var(--red-400);box-shadow:none}.btn-ghost{background:transparent;color:var(--color-on-surface-variant);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--line-soft);color:var(--color-on-surface);box-shadow:none}.btn-block{width:100%}.btn-large{padding:17px 22px;font-size:1.02rem}.input{width:100%;padding:13px 15px;border-radius:var(--radius-sm);background:var(--ink-800);color:var(--color-on-surface);border:1px solid var(--line);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.input::placeholder{color:var(--text-700)}.input:focus{outline:none;border-color:var(--gold-a40);box-shadow:0 0 0 3px var(--gold-a14)}.error-text{color:var(--color-error);font-size:.9rem}.muted{color:var(--color-on-surface-variant);font-size:.9rem}.card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--line);box-shadow:var(--shadow-1)}.spinner{display:inline-block;width:28px;height:28px;border:2px solid var(--line-strong);border-top-color:var(--color-primary);border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.icon-btn{width:40px;height:40px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;background:transparent;color:var(--color-on-surface-variant);transition:background-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.icon-btn:hover{background:var(--line-soft);color:var(--color-on-surface)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app-shell{position:relative;min-height:100vh;min-height:100dvh;display:flex;justify-content:center}.app-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(120% 80% at 50% -10%,var(--gold-a08) 0%,transparent 42%),radial-gradient(100% 70% at 50% 0%,rgba(40,49,69,.5) 0%,transparent 60%),var(--color-bg)}.app-backdrop:after{content:"";position:absolute;inset:0;background:radial-gradient(130% 100% at 50% 38%,transparent 55%,rgba(0,0,0,.55) 100%)}.app-frame{position:relative;z-index:1;width:100%;max-width:720px;min-height:100vh;min-height:100dvh;padding:var(--space-5) var(--space-5) var(--space-7);display:flex;flex-direction:column}.screen-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.screen-header h1{margin:0;font-size:1.2rem;font-weight:700}.screen-header-spacer{width:40px}.section-heading{margin:var(--space-5) 0 var(--space-2);font-size:1rem;font-weight:600}.section-heading-tight{margin:0 0 var(--space-1);font-size:1rem;font-weight:600}.timeline-hint{margin:var(--space-2) 0 0;font-size:.85rem}.timeline-result{margin-top:var(--space-2)}.timeline-result-correct{color:var(--color-success)}.timeline-result-incorrect{color:var(--color-error)}.timeline-turn-points{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-1)}.timeline-turn-points-total{font-size:1.15rem;font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums;animation:turn-points-pop .48s var(--ease-spring) both}.timeline-turn-points-detail{font-size:.78rem}@keyframes turn-points-pop{0%{opacity:0;transform:translateY(6px) scale(.9)}to{opacity:1;transform:none}}.timeline-turn-joker{align-self:flex-start;margin-top:2px;padding:2px 10px;border-radius:var(--radius-pill);background:var(--gold-a14);border:1px solid var(--gold-a40);color:var(--gold-300);font-size:.78rem;font-weight:700;animation:turn-points-pop .48s var(--ease-spring) .2s both}.timeline-shielded-note{margin-top:2px;color:var(--gold-300)}.joker-bar{display:flex;flex-direction:column;gap:var(--space-2)}.joker-bar-count{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-500)}.joker-bar-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.joker-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--space-2) var(--space-1);border-radius:var(--radius-sm);background:var(--ink-700);border:1px solid var(--line);color:var(--text-300);font-size:.72rem;font-weight:600;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.joker-btn svg{font-size:1.05rem}.joker-btn:hover:not(:disabled){background:var(--ink-650);border-color:var(--line-strong);color:var(--text-100)}.joker-btn-armed,.joker-btn-armed:hover:not(:disabled){background:var(--gold-a14);border-color:var(--gold-a40);color:var(--gold-300);box-shadow:inset 0 0 0 1px var(--gold-a22)}.hidden-card-decade{margin-top:2px;font-size:.85rem;font-weight:700;color:var(--color-primary)}.timeline-decade-chip{display:inline-flex;align-items:center;align-self:flex-start;gap:var(--space-2);margin:var(--space-2) 0 0;padding:4px 12px;border-radius:var(--radius-pill);background:var(--gold-a14);border:1px solid var(--gold-a40);color:var(--gold-300);font-size:.85rem;font-weight:700}.invite-code{font-size:1.8rem;font-weight:700;letter-spacing:.25em}.invite-qr{display:inline-block;margin-top:12px;padding:8px;background:#fff;border-radius:8px;line-height:0}.modal-backdrop{position:fixed;inset:0;background:#05070ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:100}.modal-card{background:var(--ink-750);color:var(--color-on-surface);border-radius:var(--radius-lg);padding:var(--space-5);max-width:420px;width:100%;display:flex;flex-direction:column;gap:var(--space-4);border:1px solid var(--line);box-shadow:var(--shadow-2)}.modal-title{margin:0;font-size:1.15rem;font-weight:700}.modal-message{margin:0;color:var(--color-on-surface-variant)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.drawer-overlay{position:fixed;inset:0;background:#05070ab8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;justify-content:center;align-items:flex-end;z-index:50}.drawer{width:100%;max-width:720px;background:var(--ink-750);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border:1px solid var(--line);border-bottom:none;padding:var(--space-5);max-height:75vh;overflow-y:auto}.drawer h3{margin-top:0}.drawer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.drawer li{padding:var(--space-3);border-radius:var(--radius-sm);background:var(--ink-800);border:1px solid var(--line-soft)}.error-boundary{flex:1;display:flex;flex-direction:column;justify-content:center;gap:var(--space-4);text-align:center;padding:var(--space-5)}.error-boundary-title{margin:0;font-size:1.4rem;color:var(--color-error)}.home{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:var(--space-5);padding-top:var(--space-4)}.home-header{width:100%;display:flex;align-items:center;justify-content:space-between}.home-header-spacer{width:40px;height:1px}.home-brand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;margin-top:var(--space-3)}.home-logo{width:84px;height:84px;border-radius:var(--radius-lg);filter:drop-shadow(0 8px 26px rgba(230,194,122,.28))}.home-title{margin:0;font-size:2.1rem;font-weight:800;letter-spacing:-.03em}.home-tagline{margin:0;max-width:34ch;color:var(--color-on-surface-variant)}.home-actions{width:100%;display:flex;flex-direction:column;gap:var(--space-3)}.home-url{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line)}.home-url p{margin:0}.home-url-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--text-500)}.home-reset-history{margin-top:var(--space-2);color:var(--color-on-surface-variant);font-size:.9rem}.language-picker{appearance:none;-webkit-appearance:none;background:var(--ink-700);color:var(--color-on-surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:7px 28px 7px 12px;font-family:inherit;font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out);background-image:linear-gradient(45deg,transparent 50%,var(--text-500) 50%),linear-gradient(-45deg,transparent 50%,var(--text-500) 50%);background-position:right 12px center,right 6px center;background-size:6px 6px,6px 6px;background-repeat:no-repeat}.language-picker:focus{outline:none;border-color:var(--gold-a40)}.theme-list{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-4) 0}.theme-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--ink-700);border-radius:var(--radius-md);border:1px solid var(--line);cursor:pointer;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.theme-card:hover{border-color:var(--line-strong)}.theme-card.checked{background:var(--gold-a14);border-color:var(--gold-a40);box-shadow:inset 0 0 0 1px var(--gold-a22)}.theme-card input{width:20px;height:20px;accent-color:var(--color-primary)}.blitz-toggle{margin-top:var(--space-3);display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-3);row-gap:2px;align-items:center}.blitz-toggle input{grid-row:1 / span 2}.blitz-toggle-desc{grid-column:2;font-size:.8rem;margin:0}.theme-name{font-size:1.05rem;font-weight:600}.theme-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-4)}.scanner-dialog{background:var(--ink-750);color:var(--color-on-surface);border-radius:var(--radius-lg);padding:var(--space-5);max-width:420px;width:100%;display:flex;flex-direction:column;gap:var(--space-4);border:1px solid var(--line);box-shadow:var(--shadow-2)}.scanner-viewport{position:relative;width:100%;aspect-ratio:1;background:#000;border-radius:var(--radius-md);overflow:hidden}.scanner-video{width:100%;height:100%;object-fit:cover;display:block}.scanner-frame{position:absolute;inset:16%;border:2px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:0 0 0 100vmax #00000073}.timeline-hud{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) 0 var(--space-3);white-space:nowrap}.timeline-hud-mode,.timeline-hud-team-round,.timeline-hud-stats,.timeline-hud-score,.blitz-countdown{margin:0;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 12px;border-radius:var(--radius-pill);background:var(--ink-700);border:1px solid var(--line);font-size:.85rem;font-weight:600;color:var(--color-on-surface)}.timeline-hud-mode{display:none}.timeline-hud-score{color:var(--color-primary);font-variant-numeric:tabular-nums}.timeline-hud-streak{padding:1px 8px;border-radius:var(--radius-pill);background:var(--gold-a14);border:1px solid var(--gold-a40);font-size:.72rem;letter-spacing:.04em}.blitz-countdown{min-width:96px;font-variant-numeric:tabular-nums}.blitz-countdown-seconds{min-width:2.4em;text-align:right}.blitz-countdown-track{flex:1;min-width:36px;height:4px;border-radius:var(--radius-pill);background:var(--ink-600);overflow:hidden}.blitz-countdown-bar{display:block;height:100%;border-radius:inherit;background:var(--gold-400);transition:width .25s linear}.blitz-countdown-urgent{border-color:#e0727f8c;color:var(--red-400)}.blitz-countdown-urgent .blitz-countdown-bar{background:var(--red-400)}.timeline-pane{display:contents}.timeline-now-playing{margin-top:var(--space-3)}.timeline-error{display:flex;flex-direction:column;gap:var(--space-2);background:var(--red-soft);border:1px solid rgba(224,114,127,.4);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.timeline-error-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.timeline-section-title{margin-bottom:var(--space-2);color:var(--text-500);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700}.timeline-list{display:flex;flex-direction:column;gap:var(--space-2);flex:1;overflow-y:auto;position:relative;padding:var(--space-3) var(--space-2);border-radius:var(--radius-md);background:linear-gradient(180deg,#0000002e,#0000),var(--ink-850);border:1px solid var(--line-soft);scroll-behavior:smooth}.timeline-list-readonly{min-height:220px}.timeline-screen{display:flex;flex-direction:column;flex:1;min-height:0}.timeline-viewport{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.timeline-viewport>.timeline-list{flex:1}.app-frame:has(.timeline-screen-placing){height:100vh;height:100dvh;overflow:hidden}.timeline-center-line{display:none}.timeline-hitster-boards{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.timeline-hitster-board{display:flex;flex-direction:column;gap:var(--space-2)}.timeline-screen-placing .timeline-hitster-boards{display:flex;flex-direction:column;flex:1;min-height:0}.timeline-screen-placing .timeline-hitster-board{min-height:0}.timeline-screen-placing .timeline-hitster-board.active{flex:1}.timeline-screen-placing .timeline-hitster-board:not(.active) .timeline-list{min-height:0;max-height:min(30vh,260px)}.timeline-hitster-board.active .timeline-list{border-color:var(--gold-a40);box-shadow:inset 0 0 0 1px var(--gold-a22)}.placed-card{background:var(--ink-700);border-radius:var(--radius-md);border:1px solid var(--line);padding:var(--space-3);display:grid;grid-template-columns:48px 1fr;gap:var(--space-3);align-items:center;box-shadow:var(--shadow-1);transition:transform var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out);animation:card-enter var(--dur-slow) var(--ease-out) both}@keyframes card-enter{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.placed-card.card-misplaced{background:var(--red-soft);border-color:#e0727f8c;box-shadow:0 0 0 1px #e0727f59,0 0 18px -6px #e0727f80}.placed-card.card-just-placed{background:var(--green-soft);border-color:#5fbf8a8c;box-shadow:0 0 0 1px #5fbf8a59,0 0 18px -6px #5fbf8a80}.placed-card-cover{width:48px;aspect-ratio:.66;border-radius:var(--radius-xs);overflow:hidden;background:var(--ink-600);box-shadow:var(--shadow-1)}.placed-card-cover-button{padding:0;transition:transform var(--dur-fast) var(--ease-out)}.placed-card-cover-button:hover{transform:scale(1.04)}.placed-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.placed-card-cover-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:1.05rem;color:var(--text-700)}.placed-card-content{display:flex;flex-direction:column;gap:3px;min-width:0}.placed-card .year{font-size:1.2rem;font-weight:700;letter-spacing:-.01em;color:var(--color-primary);line-height:1.1}.placed-card .title{font-size:.95rem;font-weight:500;color:var(--text-100);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.placed-card .meta{font-size:.8rem;color:var(--color-on-surface-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.poster-lightbox{position:fixed;inset:0;z-index:60;background:#05070aeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:var(--space-5)}.poster-lightbox img{max-width:min(92vw,720px);max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-2)}.hidden-card{position:relative;background:var(--ink-750);border:1px dashed var(--gold-a40);box-shadow:inset 0 0 22px -10px #e6c27a59;display:flex;flex-direction:column;gap:4px}.hidden-card strong{font-weight:700;letter-spacing:-.01em}.hidden-card-grip{align-self:center;display:flex;align-items:center;justify-content:center;width:44px;height:20px;margin:-2px 0 2px;border-radius:var(--radius-pill);background:#e6c27a1a;color:var(--gold-a40);font-size:18px;transition:background-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.hidden-card-draggable:hover .hidden-card-grip,.timeline-current-card-overlay.dragging .hidden-card-grip{background:#e6c27a2e;color:var(--color-primary)}.hidden-card-coaching{border-style:solid;border-color:var(--color-primary);box-shadow:inset 0 0 22px -10px #e6c27a59,var(--glow-gold);animation:coach-sway 2.4s var(--ease-out) infinite}.hidden-card-coaching .hidden-card-grip{color:var(--color-primary);background:#e6c27a33}@keyframes coach-sway{0%,62%,to{transform:rotate(0)}70%{transform:rotate(-1.4deg)}80%{transform:rotate(1.4deg)}90%{transform:rotate(-.6deg)}}.hidden-card-coach-tip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:2;max-width:15rem;padding:6px var(--space-2);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-size:.8rem;font-weight:700;line-height:1.25;text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 8px 20px #00000073;animation:coach-tip-in var(--dur) var(--ease-spring) both}.hidden-card-coach-tip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border:5px solid transparent;border-top-color:var(--color-primary)}@keyframes coach-tip-in{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.timeline-hint-coaching{padding:var(--space-2);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:#e6c27a14;color:var(--color-primary);font-weight:700}@media(prefers-reduced-motion:reduce){.hidden-card-coaching,.hidden-card-coach-tip{animation:none}}.hidden-card-position{margin-top:2px;font-size:.8rem;font-weight:700;color:var(--color-primary)}.hidden-card-bet{position:absolute;right:var(--space-2);display:flex;align-items:center;gap:var(--space-1)}.hidden-card-bet-top{top:var(--space-2)}.hidden-card-bet-bottom{bottom:var(--space-2)}.hidden-card-bet-label{font-size:.66rem;color:var(--color-on-surface-variant);text-transform:uppercase;letter-spacing:.08em}.hidden-card-bet-stepper{display:inline-flex;align-items:center;gap:var(--space-1);background:#0a0c10b3;border:1px solid var(--line);border-radius:var(--radius-pill);padding:2px 4px}.hidden-card-bet-btn{width:20px;height:20px;border-radius:50%;background:var(--ink-700);color:var(--color-on-surface);font-weight:700;line-height:1;transition:background-color var(--dur-fast) var(--ease-out)}.hidden-card-bet-btn:hover:not(:disabled){background:var(--ink-600)}.hidden-card-bet-value{min-width:14px;text-align:center;font-size:.78rem;font-weight:700}.insertion-slot{position:relative;height:12px;border-radius:var(--radius-pill);background:transparent;cursor:pointer;transition:background-color var(--dur) var(--ease-out),height var(--dur) var(--ease-spring)}.insertion-slot:after{content:"";position:absolute;left:8px;right:8px;top:50%;height:2px;margin-top:-1px;border-radius:var(--radius-pill);background:var(--line);transition:background-color var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out)}.insertion-slot:hover:after{background:var(--gold-a40)}.insertion-slot.selected{height:18px}.insertion-slot.selected:after{height:3px;margin-top:-1.5px;background:var(--color-primary);box-shadow:var(--glow-gold)}.insertion-slot-label{position:relative;z-index:1;font-size:.78rem;font-weight:700;color:var(--color-primary)}.timeline-current-card-ghost{opacity:0;pointer-events:none}.timeline-current-card-overlay{position:absolute;left:var(--space-2);right:var(--space-2);z-index:4;cursor:grab;touch-action:none;filter:drop-shadow(0 12px 28px rgba(0,0,0,.5));transition:filter var(--dur) var(--ease-out)}.timeline-current-card-overlay.dragging{cursor:grabbing;z-index:6;filter:drop-shadow(0 18px 38px rgba(0,0,0,.6))}.timeline-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.timeline-anchor-intro{display:flex;flex-direction:column;gap:var(--space-2)}.timeline-anchor-title{margin:0;font-size:1rem;font-weight:700;color:var(--color-primary)}.timeline-anchor-explainer{margin:0;font-size:.88rem;line-height:1.4}.timeline-anchor-footnote{margin:0;font-size:.78rem;text-align:center}.timeline-token-reward{display:flex;flex-direction:column;gap:var(--space-2)}.timeline-token-reward-row{display:flex;flex-direction:column;gap:var(--space-1)}.timeline-token-reward-guesses{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);background:var(--ink-800);border:1px solid var(--line-soft);border-radius:var(--radius-sm);font-size:.85rem;color:var(--text-300)}.timeline-token-reward-total{margin:0;font-weight:600;text-align:center;color:var(--color-primary)}.timeline-token-reward-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2)}.timeline-token-reward-options .btn.is-selected{background:var(--color-primary);color:var(--color-on-primary);border-color:transparent}.timeline-board-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:44px;padding:10px 14px;background:var(--ink-700);border:1px solid var(--line);border-radius:var(--radius-md);font-weight:600;text-align:left;transition:border-color var(--dur-fast) var(--ease-out)}.timeline-board-summary:hover{border-color:var(--line-strong)}.timeline-bet-row{display:flex;gap:var(--space-3)}.timeline-bet-group{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);background:var(--ink-700);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-2)}.timeline-bet-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-on-surface-variant)}.timeline-bet-stepper{display:flex;align-items:center;gap:var(--space-2)}.timeline-bet-btn{width:44px;height:44px;border-radius:50%;background:var(--ink-800);border:1px solid var(--line);color:var(--color-on-surface);font-weight:700;font-size:1.15rem;transition:background-color var(--dur-fast) var(--ease-out)}.timeline-bet-btn:hover:not(:disabled){background:var(--ink-600)}.timeline-bet-value{min-width:24px;text-align:center;font-weight:700}.timeline-placement-controls{display:flex;gap:var(--space-2)}.timeline-step-btn{min-width:56px;min-height:48px;font-size:1.1rem}.timeline-placement-validate{flex:1}@media(pointer:coarse){.timeline-screen-placing .timeline-list{scroll-snap-type:y proximity}.timeline-screen-placing .timeline-viewport>.timeline-list:before,.timeline-screen-placing .timeline-viewport>.timeline-list:after{content:"";flex:0 0 var(--timeline-edge-spacer, 0px)}.timeline-screen-placing .insertion-slot{scroll-snap-align:center}.timeline-center-line{display:block;position:absolute;left:calc(-1 * var(--space-2));right:calc(-1 * var(--space-2));top:50%;height:0;border-top:2px dashed var(--color-primary);opacity:.9;pointer-events:none;z-index:3;filter:drop-shadow(0 0 8px rgba(230,194,122,.45))}.timeline-center-line:before,.timeline-center-line:after{position:absolute;top:-.55em;color:var(--color-primary);font-size:.75rem;line-height:1}.timeline-center-line:before{content:"▶";left:0}.timeline-center-line:after{content:"◀";right:0}.timeline-hitster-boards{flex:1;min-height:0;display:flex;flex-direction:column}.timeline-hitster-board{min-height:0}.timeline-hitster-board.active{flex:1;display:flex;flex-direction:column}.timeline-screen-placing .timeline-hitster-board:not(.active) .timeline-list{min-height:0;max-height:140px}.insertion-slot{height:44px;display:flex;align-items:center;justify-content:center}.insertion-slot:after{left:0;right:0;height:3px;margin-top:-1.5px;background:var(--gold-a22)}.insertion-slot.selected{height:48px;background:var(--gold-a08);border:1px dashed var(--gold-a40)}.insertion-slot.selected:after{content:none}.hidden-card-bet-btn{width:30px;height:30px}}.end-title{font-size:2rem;font-weight:800;letter-spacing:-.03em;margin-bottom:var(--space-2)}.end-victory{color:var(--color-success)}.end-defeat{color:var(--color-error)}.end-score{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);margin:var(--space-2) 0 var(--space-1)}.end-score-total{font-size:1.35rem;font-weight:800;color:var(--color-primary);font-variant-numeric:tabular-nums}.end-score-meta{display:inline-flex;flex-wrap:wrap;gap:var(--space-2)}.end-score-chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);background:var(--ink-700);border:1px solid var(--line);font-size:.78rem;font-weight:600;color:var(--text-300)}.end-score-record{background:var(--gold-a14);border-color:var(--gold-a40);color:var(--gold-300);box-shadow:var(--glow-gold)}.player{display:flex;flex-direction:column;gap:var(--space-4)}.player-meta{background:var(--ink-700);padding:var(--space-4);border-radius:var(--radius-md);border:1px solid var(--line);display:flex;flex-direction:column;gap:var(--space-1)}.player-meta h2{margin:0}.audio-player{display:flex;align-items:center;width:100%}.audio-player-full{flex-direction:column;gap:var(--space-4)}.audio-player-compact{flex-direction:row;gap:var(--space-3);justify-content:center;padding:var(--space-2) var(--space-3);background:var(--ink-800);border:1px solid var(--line-soft);border-radius:var(--radius-pill);width:fit-content;margin:var(--space-2) auto 0}.audio-player-row{display:flex;align-items:center;gap:var(--space-3);width:100%}.audio-player-play{width:60px;height:60px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);font-size:1.3rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-1);flex-shrink:0;transition:background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.audio-player-play:hover:not(:disabled){background:var(--gold-300);box-shadow:var(--glow-gold)}.audio-player-play:active:not(:disabled){transform:scale(.96)}.audio-player-compact .audio-player-play{width:46px;height:46px;font-size:1.05rem}.audio-player-seek{padding:8px 12px;border-radius:var(--radius-sm);background:transparent;color:var(--color-on-surface-variant);font-weight:600;font-size:.82rem;flex-shrink:0;transition:color var(--dur-fast) var(--ease-out)}.audio-player-seek:hover:not(:disabled){color:var(--color-on-surface)}.audio-player-slider{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.audio-player-slider input[type=range]{width:100%;accent-color:var(--color-primary)}.audio-player-times{display:flex;justify-content:space-between;font-size:.78rem;color:var(--color-on-surface-variant)}.audio-player-error{margin-top:var(--space-2);font-size:.85rem;color:var(--color-error)}.audio-player-hint{margin-top:var(--space-2);font-size:.85rem;color:var(--color-primary);text-align:center}.now-playing{display:inline-flex;align-items:flex-end;gap:3px;height:18px;flex-shrink:0}.now-playing span{width:3px;height:100%;border-radius:var(--radius-pill);background:var(--color-primary);transform-origin:bottom;transform:scaleY(.35)}.now-playing.is-playing span{animation:eq .9s var(--ease-out) infinite}.now-playing span:nth-child(2){animation-delay:.15s}.now-playing span:nth-child(3){animation-delay:.3s}@keyframes eq{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}audio{width:100%;margin-top:var(--space-2)}.revealable-card{width:256px;max-width:100%;height:420px;perspective:1400px;background:transparent;padding:0;border:none;cursor:pointer;display:block;margin:0 auto}.revealable-card-inner{position:relative;width:100%;height:100%;transition:transform var(--dur-slow) var(--ease-out);transform-style:preserve-3d}.revealable-card-revealed .revealable-card-inner{transform:rotateY(180deg)}.revealable-card-face{position:absolute;inset:0;border-radius:var(--radius-lg);background:var(--ink-700);border:1px solid var(--line);box-shadow:var(--shadow-2);display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-4);-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}.revealable-card-front{justify-content:center;background:radial-gradient(80% 60% at 50% 38%,var(--gold-a14) 0%,transparent 60%),linear-gradient(160deg,var(--ink-650) 0%,var(--ink-800) 100%)}.revealable-card-front-placeholder{font-size:5rem;font-weight:800;letter-spacing:-.04em;color:var(--gold-a40);line-height:1}.revealable-card-back{transform:rotateY(180deg);gap:6px;justify-content:flex-start}.revealable-card-cover{width:128px;height:192px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--ink-600) 0%,var(--ink-800) 100%);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;margin-bottom:var(--space-3);box-shadow:var(--shadow-1)}.revealable-card-cover img{width:100%;height:100%;object-fit:cover;display:block}.revealable-card-cover-placeholder{font-size:2.2rem}.revealable-card-year{font-size:2.4rem;font-weight:800;letter-spacing:-.03em;color:var(--color-primary);line-height:1}.revealable-card-title{font-size:1rem;font-weight:600;color:var(--text-100);text-align:center;width:100%;min-width:0;line-height:1.25;margin-top:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-shrink:0}.revealable-card-meta{width:100%;min-width:0;display:flex;flex-direction:column;gap:2px}.revealable-card-label{display:block;width:100%;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-500);margin-top:var(--space-2);text-align:center}.revealable-card-value{display:-webkit-box;width:100%;min-width:0;font-size:.95rem;line-height:1.25;color:var(--text-100);text-align:center;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}:root{--reveal-shift: 106px}.placed-card.card-flip-in,.placed-card.card-misplaced{position:relative;z-index:1;transform-style:preserve-3d;-webkit-backface-visibility:hidden;backface-visibility:hidden}.placed-card.card-flip-in>:not(.placed-card-back),.placed-card.card-misplaced>:not(.placed-card-back){-webkit-backface-visibility:hidden;backface-visibility:hidden}.placed-card-back{position:absolute;inset:0;z-index:2;display:grid;place-items:center;border-radius:inherit;background:radial-gradient(70% 90% at 50% 30%,var(--gold-a14) 0%,transparent 65%),linear-gradient(160deg,var(--ink-650) 0%,var(--ink-800) 100%);border:1px dashed var(--gold-a40);transform:rotateX(180deg);-webkit-backface-visibility:hidden;backface-visibility:hidden}.placed-card-back-mark{font-size:1.7rem;font-weight:800;line-height:1;color:var(--gold-a40)}.placed-card.card-flip-in{animation:card-enter var(--dur-slow) var(--ease-out) both,card-flip-in 1.15s var(--ease-out) both}.placed-card.card-misplaced{animation:card-enter var(--dur-slow) var(--ease-out) both,card-flip-in 1.15s var(--ease-out) both,card-shake .46s ease-in-out 1.3s both}.placed-card.card-make-room{animation:card-enter var(--dur-slow) var(--ease-out) both,card-make-room .38s var(--ease-out) both}.placed-card.card-unmask{position:relative;z-index:1;transform-origin:50% 100%;animation:card-enter var(--dur-slow) var(--ease-out) both,card-flip-in 1.15s var(--ease-out) both,card-unmask .52s var(--ease-spring) both}@keyframes card-flip-in{0%{opacity:0;transform:perspective(1100px) rotateX(180deg)}22%{opacity:1;transform:perspective(1100px) rotateX(180deg)}48%{opacity:1;transform:perspective(1100px) rotateX(180deg)}82%{transform:perspective(1100px) rotateX(-7deg)}to{opacity:1;transform:perspective(1100px) rotateX(0)}}@keyframes card-shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}35%{transform:translate(6px)}55%{transform:translate(-4px)}75%{transform:translate(3px)}}@keyframes card-make-room{0%{transform:translateY(calc(-1 * var(--reveal-shift)))}to{transform:translateY(0)}}@keyframes card-unmask{0%{opacity:.4;transform:perspective(1100px) rotateX(-72deg)}to{opacity:1;transform:perspective(1100px) rotateX(0)}}.reveal-hero{position:fixed;inset:0;z-index:55;display:grid;place-items:center;padding:var(--space-5);pointer-events:none;background:radial-gradient(60% 50% at 50% 45%,rgba(5,7,10,.55) 0%,rgba(5,7,10,.25) 55%,transparent 100%);animation:reveal-hero 1.7s var(--ease-out) .9s both}.reveal-hero-poster{max-width:min(62vw,340px);max-height:52vh;border-radius:var(--radius-md);box-shadow:var(--shadow-2),var(--glow-gold);animation:reveal-hero-poster 1.7s var(--ease-spring) .9s both}@keyframes reveal-hero{0%{opacity:0}18%{opacity:1}78%{opacity:1}to{opacity:0}}@keyframes reveal-hero-poster{0%{transform:scale(.82) translateY(10px)}22%{transform:scale(1) translateY(0)}80%{transform:scale(1)}to{transform:scale(1.04)}}.end-title{animation:end-title-in .62s var(--ease-spring) both}.end-title+p{animation:end-fade-up .5s var(--ease-out) .22s both}@keyframes end-title-in{0%{opacity:0;transform:translateY(14px) scale(.94);letter-spacing:.06em}to{opacity:1;transform:none;letter-spacing:-.03em}}@keyframes end-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.gold-rain{position:fixed;inset:0;z-index:50;overflow:hidden;pointer-events:none}.gold-rain span{position:absolute;top:-4vh;width:7px;height:11px;border-radius:2px;background:linear-gradient(160deg,var(--gold-300),var(--gold-500));opacity:0;animation:gold-fall 3.2s linear both}@keyframes gold-fall{0%{opacity:0;transform:translateY(0) rotate(0)}8%{opacity:.9}80%{opacity:.75}to{opacity:0;transform:translateY(112vh) rotate(300deg)}}.gold-rain span:nth-child(1){left:4%;animation-delay:0ms}.gold-rain span:nth-child(2){left:11%;animation-delay:.64s}.gold-rain span:nth-child(3){left:17%;animation-delay:.18s}.gold-rain span:nth-child(4){left:23%;animation-delay:.94s}.gold-rain span:nth-child(5){left:29%;animation-delay:.42s}.gold-rain span:nth-child(6){left:35%;animation-delay:1.18s}.gold-rain span:nth-child(7){left:41%;animation-delay:80ms}.gold-rain span:nth-child(8){left:47%;animation-delay:.76s}.gold-rain span:nth-child(9){left:53%;animation-delay:.3s}.gold-rain span:nth-child(10){left:59%;animation-delay:1.04s}.gold-rain span:nth-child(11){left:65%;animation-delay:.52s}.gold-rain span:nth-child(12){left:71%;animation-delay:1.26s}.gold-rain span:nth-child(13){left:77%;animation-delay:.14s}.gold-rain span:nth-child(14){left:83%;animation-delay:.86s}.gold-rain span:nth-child(15){left:89%;animation-delay:.38s}.gold-rain span:nth-child(16){left:95%;animation-delay:1.12s}.gold-rain span:nth-child(17){left:8%;animation-delay:1.42s}.gold-rain span:nth-child(18){left:92%;animation-delay:1.56s}.gold-rain span:nth-child(3n){width:5px;height:8px;animation-duration:3.8s}.gold-rain span:nth-child(4n+1){animation-duration:2.8s}.poster-lightbox{animation:lightbox-in .2s var(--ease-out) both}.poster-lightbox img{animation:lightbox-poster-in .3s var(--ease-spring) both}@keyframes lightbox-in{0%{opacity:0}}@keyframes lightbox-poster-in{0%{opacity:.4;transform:scale(.86)}}.salon-lobby,.salon-join,.salon-controller,.salon-guess,.salon-placement{display:flex;flex-direction:column;gap:var(--space-3)}.salon-lobby{align-items:flex-start}.salon-lobby-hint,.salon-lobby-note{margin:0;font-size:.85rem}.salon-lobby-teams{display:flex;flex-wrap:wrap;gap:var(--space-2)}.salon-team-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--ink-700);border:1px solid var(--line);font-size:.82rem;font-weight:600;color:var(--text-500)}.salon-team-chip-joined{background:var(--gold-a14);border-color:var(--gold-a40);color:var(--gold-300)}.salon-code-input{font-size:1.5rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;text-align:center}.salon-join-teams{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.salon-controller-room,.salon-controller-facts{margin:0;font-size:.85rem}.salon-big-status{margin:var(--space-4) 0;text-align:center;font-size:1.05rem;color:var(--text-300)}.salon-token-reward-recall{margin:0;padding:var(--space-3);list-style:none;display:flex;flex-direction:column;gap:var(--space-1);background:var(--ink-800);border:1px solid var(--line-soft);border-radius:var(--radius-sm);color:var(--text-300)}.salon-result{margin:var(--space-2) 0 0;text-align:center;font-size:1.3rem;font-weight:800}.salon-result-card{margin:0;text-align:center;color:var(--color-primary);font-weight:600}.salon-position-label{margin:0;text-align:center;font-size:1.25rem;font-weight:700;color:var(--color-primary);min-height:1.6em}.salon-placement-steppers{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.salon-step-btn{padding:var(--space-4) 0;font-size:1.1rem}.salon-bets{display:flex;flex-direction:column;gap:var(--space-2)}.salon-bet-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.salon-bet-controls{display:inline-flex;align-items:center;gap:var(--space-2)}.salon-bet-value{min-width:1.6em;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}.salon-guess-field{display:flex;flex-direction:column;gap:4px}.salon-guess-field span{font-size:.78rem;font-weight:600;color:var(--text-500)}.salon-host-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);padding:6px 12px;border-radius:var(--radius-sm);background:var(--gold-a08);border:1px solid var(--gold-a22);font-size:.82rem}.salon-host-banner-room{font-weight:700;color:var(--gold-300)}.salon-guess-wait{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-3) 0}@media(min-width:1100px){.app-frame{max-width:1200px}.app-frame:has(.timeline-screen){max-width:1400px;height:100vh;height:100dvh;overflow:hidden}.timeline-screen{display:grid;grid-template-columns:240px minmax(0,1fr) 340px;grid-template-rows:minmax(0,1fr);column-gap:var(--space-5)}.timeline-pane{display:flex;flex-direction:column;min-height:0}.timeline-pane-info{gap:var(--space-3);overflow-y:auto}.timeline-pane-info .screen-header{margin-bottom:0;justify-content:flex-start;gap:var(--space-2)}.timeline-pane-info .screen-header-spacer{display:none}.timeline-pane-info .timeline-hud{flex-direction:column;align-items:stretch;white-space:normal;padding:0}.timeline-hud-mode{display:inline-flex}.timeline-pane-board{min-height:0}.timeline-pane-board .timeline-hitster-boards{flex:1;min-height:0}.timeline-pane-board .timeline-hitster-board{min-height:0}.timeline-pane-controls{overflow-y:auto}.timeline-pane-controls .timeline-now-playing{margin-top:0}.timeline-hitster-boards{grid-template-columns:1fr 1fr;align-items:stretch}.timeline-screen-placing .timeline-hitster-boards{display:grid;align-items:stretch}.timeline-screen-placing .timeline-hitster-board:not(.active) .timeline-list{max-height:none}}
