:root{--bg:#0d0f12;--surface:#16191e;--surface-raised:#232830;--border:#ffffff17;--text:#f2f4f7;--text-muted:#98a2b3;--accent:#ffb703;--accent-text:#1a1206;--danger:#f97066;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem;--radius:12px;--radius-lg:20px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);overscroll-behavior:none;-webkit-font-smoothing:antialiased;font-size:1rem;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;height:100dvh;display:flex}h1,h2,p,ul,ol{margin:0}button{font:inherit;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent;cursor:pointer}a{color:var(--accent)}code{background:var(--surface-raised);overflow-wrap:anywhere;border-radius:4px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.app{flex-direction:column;flex:1;min-height:0;display:flex}.header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0}.header__bar{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-4);padding-top:calc(var(--space-2) + env(safe-area-inset-top));cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.header__bar:active{background:var(--surface-raised)}.header__bar:active .header__menu{color:var(--text)}.header__title{letter-spacing:.01em;font-size:1rem;font-weight:600}.header__menu{border-radius:var(--radius);width:48px;height:48px;color:var(--text-muted);place-items:center;font-size:1.5rem;line-height:1;display:grid}.screen{padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--space-5) + env(safe-area-inset-bottom));gap:var(--space-4);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.screen--centred{text-align:center;justify-content:center}.screen__title{font-size:1.5rem;font-weight:700;line-height:1.2}.screen__body{color:var(--text-muted)}.spacer{min-height:var(--space-4);flex:1}.footer{gap:var(--space-3);flex-direction:column;flex-shrink:0;align-self:stretch;display:flex}.btn{width:100%;min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-raised);color:var(--text);text-align:center;font-weight:600;transition:transform .12s,opacity .12s;display:block}.btn:active{opacity:.85;transform:scale(.98)}.btn--primary{background:var(--accent);min-height:56px;color:var(--accent-text);border-color:#0000;font-size:1.125rem;font-weight:700}.btn--tertiary{color:var(--text-muted);background:0 0;border:none;min-height:44px;font-weight:500}.btn--inline{width:auto;min-height:44px;padding:var(--space-2) var(--space-3);display:inline-block}.btn--resume{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.btn--resume__title{font-weight:600}.btn--resume__meta{color:var(--text-muted);font-size:.8125rem;font-weight:400}.round{text-align:center;justify-content:center;align-items:center}.round__meta{color:var(--text-muted);font-size:.875rem}.round__number{font-size:1.5rem;font-weight:700}.play-control{align-items:center;gap:var(--space-2);margin-top:var(--space-6);flex-direction:column;display:flex}.play-control__row{justify-content:center;align-items:center;gap:var(--space-5);display:flex}.play-control__spacer,.play-control__forward{width:44px;height:44px}.play-control__forward{border:1px solid var(--border);background:var(--surface-raised);color:var(--text);border-radius:50%;place-items:center;font-size:.8125rem;transition:transform .12s;display:grid}.play-control__forward:active{transform:scale(.94)}.play-control__forward:disabled{opacity:.4}.play-control__button{border:1px solid var(--border);background:var(--surface-raised);width:76px;height:76px;color:var(--text);border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;transition:transform .12s;display:grid}.play-control__button:active{transform:scale(.94)}.play-control__button--playing{animation:2s ease-in-out infinite ring}.play-control__label{color:var(--text-muted);text-align:center;font-size:.875rem}.play-control__button:disabled{opacity:.6}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ring{0%,to{box-shadow:0 0 #ffb70347}50%{box-shadow:0 0 0 12px #ffb70300}}.reveal{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.reveal__year{color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(4.5rem,22vw,9rem);font-weight:800;line-height:1;animation:.4s .9s both fade-in}.reveal__track{font-size:1.125rem;font-weight:600}.reveal__artist{color:var(--text-muted)}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.timeline-round{gap:var(--space-3)}.timeline-round__head{text-align:center;flex-shrink:0}.round__actions{gap:var(--space-3);display:flex}.round__actions .btn--primary{flex:2}.round__actions .btn--tertiary{flex:1}.play-control--compact{margin-top:0}.play-control--compact .play-control__button{width:56px;height:56px;font-size:1.125rem}.play-control--compact .play-control__row{gap:var(--space-4)}.score-strip{gap:var(--space-2);flex-shrink:0;margin:0;padding:0;list-style:none;display:flex}.score-strip__team{min-width:0;padding:var(--space-2);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:center;color:var(--text-muted);flex:1;font-size:.8125rem}.score-strip__team--current{border-color:var(--accent);color:var(--text)}.score-strip__name{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.score-strip__score{font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.score-strip__target{color:var(--text-muted);font-weight:400}.timeline{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.timeline__card,.timeline__hint,.timeline__slot,.timeline__placed{gap:var(--space-2);text-align:left;grid-template-columns:3.25rem 1fr;width:100%;display:grid}.timeline__card{padding:var(--space-1) 0;align-items:center}.timeline__year{font-variant-numeric:tabular-nums;text-align:right;align-self:center;font-size:1rem;font-weight:700}.timeline__body{padding-left:var(--space-5);flex-direction:column;justify-content:center;min-height:2.25rem;display:flex;position:relative}.timeline__card .timeline__body:before{content:"";background:var(--text-muted);border-radius:50%;width:10px;height:10px;margin-top:-5px;position:absolute;top:50%;left:4px}.timeline__title{font-size:.9375rem;font-weight:600;line-height:1.25}.timeline__artist{color:var(--text-muted);font-size:.8125rem}.timeline__rail{position:relative}.timeline__rail:after{content:"";left:calc(3.25rem + var(--space-2) + 8px);background:var(--border);width:2px;position:absolute;top:0;bottom:0}.timeline__slot{background:0 0;border:none;align-items:stretch;padding:0}.timeline__target{min-height:48px;margin-left:var(--space-5);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text-muted);justify-content:center;align-items:center;font-size:.875rem;transition:border-color .15s,background .15s,color .15s;display:flex}.timeline__slot[aria-pressed=true] .timeline__target{border-style:solid;border-color:var(--accent);color:var(--text);background:#ffb7031f;font-weight:600}.timeline__slot:active .timeline__target{background:var(--surface-raised)}.timeline__hint{align-items:stretch}.timeline__hint-label{min-height:36px;margin-left:var(--space-5);border:1px dashed var(--accent);border-radius:var(--radius);color:var(--accent);justify-content:center;align-items:center;font-size:.8125rem;display:flex}.timeline__placed{padding:var(--space-1) 0;grid-template-columns:1fr}.timeline__placed .timeline__body{padding:var(--space-3);border-radius:var(--radius);border:1px solid var(--accent);background:#ffb7031f;animation:.25s both fade-in}.timeline__placed--wrong .timeline__body{border-color:var(--danger);background:#f970661f}.timeline__result{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.timeline__verdict{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:.6875rem;font-weight:700}.timeline__placed--wrong .timeline__verdict{color:var(--danger)}.timeline__revealed-year{color:var(--accent);font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:800;line-height:1}.timeline__placed--wrong .timeline__revealed-year{color:var(--danger)}.deck-card[aria-pressed=true]{border-color:var(--accent);background:var(--surface-raised)}.stepper{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-1);display:flex}.stepper__label{font-weight:600}.stepper__controls{align-items:center;gap:var(--space-3);display:flex}.stepper__button{border:1px solid var(--border);background:var(--surface-raised);width:48px;height:48px;color:var(--text);border-radius:50%;place-items:center;font-size:1.25rem;line-height:1;display:grid}.stepper__button:disabled{opacity:.4}.stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:1.5rem;font-size:1.25rem;font-weight:700}.standings{gap:var(--space-2);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.standings__row{padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:left;justify-content:space-between;align-items:center;display:flex}.standings__row--top{border-color:var(--accent);color:var(--accent);font-weight:700}.standings__score{font-variant-numeric:tabular-nums;font-weight:700}.deck-list{gap:var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.deck-card{text-align:left;width:100%;min-height:64px;padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);transition:transform .12s}.deck-card:active{background:var(--surface-raised);transform:scale(.99)}.deck-card__name{font-size:1.125rem;font-weight:600}.deck-card__meta{color:var(--text-muted);margin-top:var(--space-1);font-size:.875rem}.deck-card--summary{padding-right:calc(var(--space-4) + 1.5rem);position:relative}.deck-card--summary:after{content:"›";top:50%;right:var(--space-4);color:var(--text-muted);font-size:1.5rem;line-height:1;position:absolute;transform:translateY(-50%)}.checklist{gap:var(--space-4);padding-left:var(--space-5);color:var(--text-muted);flex-direction:column;display:flex}.checklist strong{color:var(--text)}.scrim{background:#0009;border:none;width:100%;padding:0;animation:.15s both scrim-in;position:fixed;inset:0}@keyframes scrim-in{0%{opacity:0}to{opacity:1}}.sheet{background:var(--surface);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border-top:1px solid var(--border);padding:var(--space-2) var(--space-4) var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));gap:var(--space-2);flex-direction:column;animation:.2s both sheet-in;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:none}}.sheet__handle{background:var(--border);width:36px;height:4px;margin:var(--space-2) auto var(--space-3);border-radius:2px}.sheet__info{color:var(--text-muted);padding:0 var(--space-2) var(--space-3);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);font-size:.875rem}.sheet__item{text-align:left;width:100%;min-height:52px;padding:var(--space-3) var(--space-2);border-radius:var(--radius);background:0 0;border:none;font-size:1.0625rem;display:block}.sheet__item:active{background:var(--surface-raised)}.sheet__footnote{color:var(--text-muted);text-align:center;padding-top:var(--space-3);font-size:.75rem}.alert{color:var(--danger);border-radius:var(--radius);padding:var(--space-3);background:#f970661f;border:1px solid #f9706666;font-size:.9375rem}.screen__title--danger{color:var(--danger)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
