.road{--won:0;--n:4;grid-template-columns:repeat(var(--n),1fr);margin:0;padding:18px 8px 6px;list-style:none;display:grid;position:relative}.road:before,.road:after{content:"";left:calc(50% / var(--n) + 4px);border-radius:99px;height:8px;position:absolute;top:42px}.road:before{right:calc(50% / var(--n) + 4px);background:var(--bg2);border:2px solid var(--ink)}.road:after{width:calc((100% - 100% / var(--n) - 8px) * var(--won) / (var(--n) - 1));max-width:calc(100% - 100% / var(--n) - 8px);background:linear-gradient(90deg,var(--leaf),#b8f56b);box-shadow:0 0 12px color-mix(in srgb,var(--leaf) 60%,transparent);transition:width .9s var(--ease);border:2px solid #0000}.road-node{z-index:1;text-align:center;justify-items:center;gap:10px;display:grid;position:relative}.road-dot{width:46px;height:46px;font:400 14px var(--f-display);color:var(--muted);background:var(--surface);border:3px solid var(--ink);box-shadow:0 0 0 3px var(--line),0 5px 0 var(--ink);transition:all .4s var(--spring);border-radius:50%;place-items:center;display:grid}.road-label{font:600 12px var(--f-body);color:var(--muted);max-width:11ch;line-height:1.25}.road-node.done .road-dot{background:linear-gradient(180deg,#8dffb6,var(--leaf));color:#06331a;box-shadow:0 0 0 3px var(--leaf),0 5px 0 var(--ink)}.road-node.done .road-label{color:var(--fg)}.road-node.current .road-dot{background:linear-gradient(180deg,var(--fire2),var(--fire));color:#fff;box-shadow:0 0 0 3px var(--fire),0 5px 0 var(--ink);animation:1.5s ease-in-out infinite nodePulse}.road-node.current .road-label{color:var(--fg);font-weight:700}.road-node.lost .road-dot{color:#ff8a7a;box-shadow:0 0 0 3px var(--fire),0 5px 0 var(--ink);background:#4a2a35}.road-node.trophy .road-dot{width:56px;height:56px;margin-top:-5px;font-size:20px}.road-node.trophy:not(.locked) .road-dot{background:radial-gradient(circle at 35% 30%,#fff2a8,var(--gold));color:#4a3000;box-shadow:0 0 0 3px var(--gold),0 0 26px color-mix(in srgb,var(--gold) 60%,transparent),0 5px 0 var(--ink)}@keyframes nodePulse{50%{box-shadow:0 0 0 3px var(--fire),0 0 24px color-mix(in srgb,var(--fire) 70%,transparent),0 5px 0 var(--ink);transform:scale(1.12)}}.cup-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (max-width:860px){.cup-grid{grid-template-columns:1fr}}.opp{grid-template-columns:auto 1fr;align-items:center;gap:16px;display:grid}.opp-art{background:radial-gradient(circle at 50% 100%,color-mix(in srgb,var(--c,var(--fire)) 50%,transparent),transparent 70%),var(--bg2);border:3px solid var(--ink);width:96px;height:96px;box-shadow:0 0 0 2px var(--c,var(--fire));border-radius:18px;place-items:center;display:grid}.opp-art img{filter:drop-shadow(0 5px #0000004d);width:84px;height:84px;animation:3s ease-in-out infinite floaty}.opp h3{font:700 19px var(--f-body)}.stars{color:var(--gold);gap:3px;margin-top:6px;font-size:14px;display:flex}.stars i{opacity:.25;font-style:normal}.stars i.on{opacity:1}.lineup-picker{gap:12px;display:grid}.lineup-count{font:400 12px var(--f-display);color:var(--muted)}.lineup-count b{color:var(--fire)}.cup-hist{gap:8px;margin:0;padding:0;list-style:none;display:grid}.cup-hist li{background:var(--bg2);border-left:5px solid var(--faint);border-radius:10px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:grid}.cup-hist li.win{border-left-color:var(--leaf)}.cup-hist li.loss{border-left-color:var(--fire)}.cup-end{text-align:center;justify-items:center;gap:18px;padding:34px 20px;display:grid}.cup-end .trophy-big{font:400 54px var(--f-display);color:var(--gold);text-shadow:4px 4px 0 var(--ink),0 0 40px color-mix(in srgb,var(--gold) 55%,transparent);animation:medal 1.2s var(--spring) both}.cup-end.lost .trophy-big{color:var(--faint);text-shadow:4px 4px 0 var(--ink)}.cup-end h2{font:400 clamp(16px,3.2vw,24px)/1.5 var(--f-display);text-shadow:3px 3px 0 var(--ink)}.cup-stats{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.cup-stats .stat-box{min-width:104px}.cup-stats b{font-size:15px}@keyframes medal{0%{transform:scale(0)rotate(-180deg)}70%{transform:scale(1.2)rotate(10deg)}to{transform:none}}
