:root{--ink: #0f0e0c;--ink-soft: #171512;--paper: #f2ede4;--muted: #8d8578;--line: rgba(242, 237, 228, .12);--gold: #d4a95a;--gold-deep: #a37c33;--ice: #8fbfd4;--ice-deep: #5b93aa;--serif: "Didot", "Bodoni MT", "Playfair Display", Georgia, "Times New Roman", serif;--sans: "Avenir Next", "Helvetica Neue", Helvetica, Arial, sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{min-height:100%}body{background:radial-gradient(60rem 40rem at 12% 10%,rgba(212,169,90,.09),transparent 60%),radial-gradient(60rem 40rem at 88% 10%,rgba(143,191,212,.09),transparent 60%),var(--ink);color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}.stage{max-width:72rem;margin:0 auto;padding:3rem 1.5rem 2.5rem;display:flex;flex-direction:column;gap:2.25rem;min-height:100vh}.masthead{text-align:center}.eyebrow{font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--muted)}.masthead h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:.02em;margin:.4rem 0 .5rem}.subtitle{color:var(--muted);font-size:.9rem;letter-spacing:.06em}.arena{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0;border:1px solid var(--line);border-radius:1.25rem;background:linear-gradient(180deg,#171512e6,#0f0e0ce6);overflow:hidden}.panel{padding:2.5rem 2rem 2.25rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;transition:background .5s ease}.panel.leading.gold{background:radial-gradient(30rem 20rem at 50% 0%,rgba(212,169,90,.1),transparent 70%)}.panel.leading.ice{background:radial-gradient(30rem 20rem at 50% 0%,rgba(143,191,212,.1),transparent 70%)}.crown{height:1.6rem;font-size:1.25rem;line-height:1.6rem}.gold .crown{color:var(--gold)}.ice .crown{color:var(--ice)}.player-name{font-family:var(--serif);font-weight:500;font-size:1.6rem;letter-spacing:.08em}.gold .player-name{color:var(--gold)}.ice .player-name{color:var(--ice)}.count{font-family:var(--serif);font-size:clamp(4rem,10vw,7rem);font-weight:400;line-height:1;margin-top:.75rem;font-variant-numeric:tabular-nums}.count-label{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.controls{display:flex;gap:1rem;margin:1.4rem 0 1.6rem}.ctl{width:3.4rem;height:3.4rem;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--paper);font-size:1.5rem;font-family:var(--sans);cursor:pointer;transition:all .2s ease}.ctl:hover:not(:disabled){border-color:var(--paper);transform:translateY(-2px)}.ctl:active:not(:disabled){transform:translateY(0)}.ctl:disabled{opacity:.25;cursor:default}.gold .ctl.add{border-color:var(--gold-deep);color:var(--gold)}.gold .ctl.add:hover{background:var(--gold);border-color:var(--gold);color:var(--ink)}.ice .ctl.add{border-color:var(--ice-deep);color:var(--ice)}.ice .ctl.add:hover{background:var(--ice);border-color:var(--ice);color:var(--ink)}.milestone{width:100%;max-width:22rem;margin-top:auto}.milestone-track{height:3px;border-radius:3px;background:var(--line);overflow:hidden}.milestone-fill{height:100%;border-radius:3px;transition:width .5s cubic-bezier(.22,1,.36,1)}.gold .milestone-fill{background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.ice .milestone-fill{background:linear-gradient(90deg,var(--ice-deep),var(--ice))}.milestone-note{margin-top:.6rem;font-size:.75rem;letter-spacing:.08em;color:var(--muted)}.badges{display:flex;justify-content:center;flex-wrap:wrap;gap:.4rem;margin-top:.9rem}.badge{font-size:.65rem;letter-spacing:.06em;padding:.22rem .55rem;border-radius:999px;border:1px solid var(--line);color:var(--muted);transition:all .3s ease}.gold .badge.earned{border-color:var(--gold-deep);color:var(--gold);background:#d4a95a14}.ice .badge.earned{border-color:var(--ice-deep);color:var(--ice);background:#8fbfd414}.divider{position:relative;width:1px;background:var(--line);display:flex;align-items:center;justify-content:center}.vs{position:absolute;font-family:var(--serif);font-style:italic;font-size:.95rem;color:var(--muted);background:var(--ink-soft);border:1px solid var(--line);border-radius:50%;width:2.6rem;height:2.6rem;display:flex;align-items:center;justify-content:center}.tug-labels{display:flex;justify-content:space-between;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.6rem}.gold-text{color:var(--gold)}.ice-text{color:var(--ice)}.tug-bar{position:relative;display:flex;height:10px;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.tug-fill{transition:width .6s cubic-bezier(.22,1,.36,1)}.gold-fill{background:linear-gradient(90deg,var(--gold-deep),var(--gold))}.ice-fill{background:linear-gradient(90deg,var(--ice),var(--ice-deep))}.tug-needle{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--paper);transform:translate(-1px);transition:left .6s cubic-bezier(.22,1,.36,1)}.team-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem}.team-title{font-family:var(--serif);font-style:italic;font-size:.95rem;letter-spacing:.04em;color:var(--paper)}.team-note{font-size:.72rem;letter-spacing:.1em;color:var(--muted)}.team-track{height:6px;border-radius:6px;background:var(--line);overflow:hidden}.team-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--gold),var(--ice));transition:width .6s cubic-bezier(.22,1,.36,1)}.team-badges{margin-top:.75rem}.badge.team-earned{border-color:var(--paper);color:var(--paper);background:#f2ede414}.colophon{text-align:center;font-size:.72rem;letter-spacing:.12em;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:.5rem}.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--muted)}.sync-dot.on{background:#7fc98a;box-shadow:0 0 8px #7fc98a99}.toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:.95rem;letter-spacing:.04em;padding:.8rem 1.6rem;border-radius:999px;box-shadow:0 10px 40px #00000080;animation:rise .4s cubic-bezier(.22,1,.36,1)}@keyframes rise{0%{opacity:0;transform:translate(-50%,1rem)}to{opacity:1;transform:translate(-50%)}}@media(max-width:640px){.stage{padding-top:2rem;gap:1.6rem}.arena{grid-template-columns:1fr}.divider{width:100%;height:1px}.panel{padding:2rem 1.25rem 1.75rem}.milestone{margin-top:.5rem}}
