:root{--ice: #a8dcff;--gold: #ffcc00;--glass: rgba(10, 16, 26, .62);--line: rgba(168, 220, 255, .18);--hud: linear-gradient(180deg, rgba(18, 28, 44, .86), rgba(8, 12, 20, .9));--hud-shadow: 0 10px 30px rgba(0, 0, 0, .5), inset 0 1px 0 rgba(255, 255, 255, .06);--text: #e4eef8;--muted: rgba(228, 238, 248, .6)}html,body{margin:0;height:100%;overflow:hidden;background:#000;color:var(--text);font:14px/1.4 system-ui,sans-serif}#world{display:block;width:100vw;height:100vh}#overlay{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none}:where(#hud button){font:inherit;color:inherit}:where(#hud button):focus-visible{outline:2px solid var(--ice);outline-offset:2px}#minimap,#info,#card,#tooltip,#sandbox,#board,#resources,#status,#menu-btn,#game-menu,#give,#end,#end-reopen,#chat-input{background:var(--hud);border:1px solid var(--line);border-radius:12px;box-shadow:var(--hud-shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#minimap{position:fixed;left:12px;bottom:12px;width:200px;height:200px;padding:4px;box-sizing:content-box;cursor:crosshair}#status{position:fixed;top:12px;left:50%;transform:translate(-50%);padding:6px 16px;font:700 15px Cinzel,Georgia,serif;color:var(--gold);pointer-events:none}#status:empty,body:has(#home) #status{display:none}#menu-btn{position:fixed;top:12px;left:12px;z-index:6;display:flex;align-items:center;gap:8px;padding:7px 12px;font:700 13px Cinzel,Georgia,serif;letter-spacing:.08em;color:var(--gold);cursor:pointer;transition:border-color .15s}#menu-btn:hover,#menu-btn[aria-expanded=true]{border-color:#ffcc008c}kbd{padding:1px 5px;font:600 10px system-ui,sans-serif;letter-spacing:0;color:var(--muted);border:1px solid var(--line);border-radius:4px}#resources{position:fixed;top:12px;right:12px;display:flex;gap:18px;padding:7px 16px;font-weight:700;font-variant-numeric:tabular-nums}.gold,.lumber,.lives{display:inline-flex;align-items:center;gap:6px}.gold{color:#ffe27a}.lumber{color:#a6e39a}.gold:before,.lumber:before{content:"";width:18px;height:18px;background:var(--icon-gold) center / contain no-repeat}.lumber:before{background-image:var(--icon-lumber)}.lives:before{content:"♥";color:#ff5a5a}#board{position:fixed;top:56px;right:12px;min-width:180px;padding:8px 14px;white-space:pre;font-size:13px;line-height:1.6;font-variant-numeric:tabular-nums}#game-menu{position:fixed;top:56px;left:12px;z-index:6;display:flex;flex-direction:column;gap:14px;width:340px;padding:16px;animation:drop .15s ease-out}#game-menu[hidden]{display:none}@keyframes drop{0%{opacity:0;transform:translateY(-6px)}}#game-menu section{display:flex;flex-wrap:wrap;gap:6px}#game-menu h3{flex-basis:100%;margin:0 0 2px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}#game-menu section button,#give button{padding:6px 10px;font-size:13px;background:#ffffff0d;border:1px solid var(--line);border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}#game-menu section button:hover,#give button:not(:disabled):hover{border-color:#a8dcff80;background:#ffffff1a}#game-menu .give,#game-menu .chip{flex:1 1 calc(50% - 3px);display:flex;align-items:center;gap:8px}#game-menu .give i,#game-menu .chip i{width:24px;height:24px;border-radius:4px;background:center / cover no-repeat}#volume{flex:1;display:flex;align-items:center;gap:10px;font-variant-numeric:tabular-nums}#volume input{flex:1;accent-color:var(--gold)}#volume output{width:3em;text-align:right;color:var(--muted)}#quit{padding:9px;font-weight:700;color:#ffb4a8;background:#a01e1440;border:1px solid rgba(255,120,100,.35);border-radius:8px;cursor:pointer;transition:background .15s}#quit:hover,#quit[data-armed]{background:#be28198c;color:#fff}#message{position:fixed;bottom:230px;left:50%;transform:translate(-50%);color:var(--gold);font-size:18px;font-weight:600;text-shadow:0 1px 3px #000,0 0 12px rgba(0,0,0,.8)}#info{position:fixed;bottom:12px;left:232px;min-width:260px;padding:10px 14px}#info:empty{display:none}#info:not(:empty){display:flex;align-items:center;gap:12px}#info .portrait{flex:none;width:56px;height:56px;border:1px solid rgba(0,0,0,.7);border-radius:6px;background:#00000073 center / cover no-repeat}#info.dead .portrait{filter:grayscale(1) brightness(.6)}#info .name{font:700 16px Cinzel,Georgia,serif;color:var(--gold);margin-bottom:4px}#card{position:fixed;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(4,52px);gap:5px;padding:8px}.cmd{position:relative;width:52px;height:52px;padding:0;border:1px solid rgba(0,0,0,.7);border-radius:6px;background:#00000073 center / cover no-repeat;box-shadow:inset 0 0 0 1px #a8dcff1f;cursor:pointer;transition:box-shadow .12s,transform .12s}.cmd:disabled{cursor:default;box-shadow:inset 0 0 0 1px #a8dcff0f;background-color:#00000040}.cmd:not(:disabled):hover{box-shadow:0 0 0 2px var(--gold),0 0 14px #ffcc0073}.cmd:not(:disabled):active,.cmd.pressed{transform:scale(.9);filter:brightness(1.5);box-shadow:0 0 0 2px var(--gold),0 0 14px #ffcc00b3}.cmd .hk{position:absolute;right:3px;bottom:2px;font-size:11px;font-weight:700;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}.cmd .badge{position:absolute;left:3px;top:1px;font-size:12px;font-weight:700;color:#fff;text-shadow:0 0 2px #000,0 0 2px #000}.cmd.empty,.cmd.poor{filter:grayscale(1) brightness(.55)}#tooltip{position:fixed;right:12px;bottom:200px;width:300px;padding:10px 12px}#tooltip .tip{font-weight:700;margin-bottom:4px}#tooltip .cost{display:flex;gap:12px;margin-bottom:6px}#sandbox{position:fixed;top:56px;left:12px;display:grid;grid-template-columns:repeat(5,44px);gap:5px;padding:10px}#sandbox>div{grid-column:1 / -1;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}#sandbox .cmd{width:44px;height:44px}#home{position:fixed;inset:0;z-index:10;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);align-items:center;gap:48px;padding:48px clamp(16px,6vw,96px);overflow-y:auto;background:radial-gradient(ellipse at 30% 40%,#040a1426,#040a14d9 75%),linear-gradient(90deg,rgba(4,10,20,.55),transparent 45%,rgba(4,10,20,.55))}#home .snow{position:fixed;inset:-200px 0 0;pointer-events:none;background-image:radial-gradient(2px 2px at 20px 30px,#fff,transparent),radial-gradient(2px 2px at 140px 90px,#fff,transparent),radial-gradient(3px 3px at 80px 160px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 190px 200px,#fff,transparent);background-size:220px 220px;opacity:.55;animation:snow 9s linear infinite}#home .snow.far{background-size:130px 130px;opacity:.3;filter:blur(1px);animation-duration:16s}@keyframes snow{to{transform:translate(60px,220px)}}@media(prefers-reduced-motion:reduce){#home .snow{animation:none}}#home .hero{position:relative;text-shadow:0 2px 18px rgba(0,0,0,.8);animation:rise .8s ease-out both}#home .logo{margin:0;font-family:Cinzel,Georgia,serif;font-weight:900;line-height:.95;text-transform:uppercase}#home .logo span{display:block;font-size:clamp(36px,5.6vw,92px);letter-spacing:.02em;background:linear-gradient(180deg,#fff 10%,var(--ice) 55%,#4f8fc4);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(120,190,255,.45)) drop-shadow(0 4px 2px rgba(0,0,0,.7))}#home .logo small{display:flex;align-items:center;gap:18px;margin-top:10px;font-size:clamp(20px,2.6vw,34px);letter-spacing:.6em;color:var(--gold)}#home .logo small:before,#home .logo small:after{content:"";flex:0 1 90px;height:2px;background:linear-gradient(90deg,transparent,var(--gold))}#home .logo small:after{transform:scaleX(-1)}#home .tagline{max-width:34ch;margin:22px 0 18px;font-size:clamp(16px,1.5vw,20px);color:#e4eef8}#home .version{position:fixed;bottom:10px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.08em;color:#e4eef899;pointer-events:none}#menu{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px;background:var(--glass);border:1px solid var(--line);border-radius:18px;box-shadow:0 30px 80px #0000008c,inset 0 1px #ffffff0f;-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);animation:rise .8s .15s ease-out both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}}#menu h1{margin:0 0 4px;font:700 24px Cinzel,Georgia,serif;color:var(--gold)}#menu h2{margin:8px 0 0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e4eef899}#menu input,#menu button{font:inherit;padding:10px 12px;color:#e8eef6;background:#ffffff0d;border:1px solid var(--line);border-radius:10px;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s}#menu input:focus{outline:none;border-color:var(--ice);box-shadow:0 0 0 3px #a8dcff26}#menu button{cursor:pointer}#menu button:not(:disabled):hover{border-color:#a8dcff80;background:#ffffff17}#menu button:focus-visible{outline:2px solid var(--ice);outline-offset:2px}#menu button:disabled{cursor:default;opacity:.5}#menu button.primary{font-weight:700;color:#1b1200;background:linear-gradient(180deg,#ffe066,#f0a800);border-color:#ffe9a0;box-shadow:0 8px 24px #f0a8004d}#menu button.primary:not(:disabled):hover{background:linear-gradient(180deg,#fff0a0,#ffb800);transform:translateY(-1px);box-shadow:0 12px 32px #f0a80073}#menu button.play{display:flex;flex-direction:column;align-items:center;padding:14px;font:900 24px Cinzel,Georgia,serif;letter-spacing:.08em;text-transform:uppercase}#menu button.play small{font:600 12px system-ui,sans-serif;letter-spacing:0;text-transform:none;opacity:.7}#menu .field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#e4eef899}#menu .field input{font-size:16px}#menu .error{color:#ff8a7a;min-height:1.4em}#menu .error:empty{min-height:0}#menu .modes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#menu button.mode{position:relative;display:grid;place-items:center;min-height:68px;padding:8px}#menu .mode strong{font:700 22px Cinzel,Georgia,serif;line-height:1;color:#e8eef6}#menu .mode small{position:absolute;bottom:6px;left:0;right:0;text-align:center;font-size:11px;color:var(--ice)}#menu button.mode.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold),0 0 18px #fc03;background:#ffcc0014}#menu .mode.selected strong{color:var(--gold)}#menu button.play{padding:16px}#menu .seats{display:flex;gap:4px}#menu .seats i{width:9px;height:9px;border-radius:50%;border:1px solid rgba(168,220,255,.4)}#menu .seats i.on{background:var(--ice);border-color:var(--ice);box-shadow:0 0 6px var(--ice)}#menu .radar{position:relative;width:132px;height:132px;margin:6px auto 0}#menu .radar i{position:absolute;inset:0;border:2px solid var(--gold);border-radius:50%;opacity:0;animation:ping 2.4s ease-out infinite}#menu .radar i:nth-child(2){animation-delay:.8s}#menu .radar i:nth-child(3){animation-delay:1.6s}#menu .radar span{position:absolute;inset:36px;display:grid;place-items:center;border-radius:50%;font:700 20px Cinzel,Georgia,serif;color:var(--gold);background:radial-gradient(circle,#ffcc002e,#0a101ae6);border:1px solid rgba(255,204,0,.6);box-shadow:0 0 24px #ffcc004d;animation:breathe 2.4s ease-in-out infinite}@keyframes ping{0%{transform:scale(.35);opacity:.9}to{transform:scale(1);opacity:0}}@keyframes breathe{50%{box-shadow:0 0 40px #ffcc008c}}@keyframes pulse{to{opacity:.25}}#menu .countdown,#menu .elapsed{text-align:center}#menu .elapsed{margin:-6px 0 0;font-size:13px;font-variant-numeric:tabular-nums;color:#e4eef899}#menu .lineup{display:grid;gap:8px}#menu .seat{display:flex;align-items:center;justify-content:center;gap:4px;min-height:40px;padding:8px;border:1px dashed rgba(168,220,255,.35);border-radius:10px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#menu .seat.on{border:1px solid var(--ice);background:#a8dcff14;box-shadow:0 0 12px #a8dcff33}#menu .seat i{width:6px;height:6px;border-radius:50%;background:var(--ice);animation:pulse .9s ease-in-out infinite alternate}#menu .seat i:nth-child(2){animation-delay:.3s}#menu .seat i:nth-child(3){animation-delay:.6s}@media(prefers-reduced-motion:reduce){#menu .radar i,#menu .radar span,#menu .seat i{animation:none}#menu .radar i:first-child{opacity:.4}}#menu .actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:6px}#menu .action{display:flex;align-items:center;gap:10px;text-align:left}#menu .action .icon{flex:none;width:40px;height:40px;border-radius:6px;border:1px solid rgba(0,0,0,.6);background:#111 center / cover no-repeat}#menu .action strong{display:block}#menu .action small{font-size:12px;opacity:.65}#menu .invite{display:flex;gap:6px}#menu .invite input{flex:1}#menu .teams{display:grid;grid-template-columns:1fr 1fr;gap:12px}#menu .team{display:flex;flex-direction:column;gap:6px}#menu .slot{text-align:left}#menu .slot.selected{outline:2px solid var(--gold)}#menu .dot{display:inline-block;width:10px;height:10px;margin-right:6px;border-radius:50%}#menu .hint{margin:0;font-size:12px;opacity:.7}#menu button.link{align-self:center;padding:4px 8px;font-size:13px;background:none;border-color:transparent;color:#e4eef899}#menu .credits{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:0;font-size:14px}#menu .credits dt{font-weight:700;color:var(--ice)}#menu .credits dd{margin:0;color:#e4eef8cc}#menu .credits a{color:inherit}#menu .countdown{margin:0;font-size:18px;color:var(--gold)}#menu ul{margin:0;padding-left:20px}#menu .flags.lang{position:absolute;top:16px;right:22px}.flags{display:flex;gap:6px}#menu .flags button,#game-menu .flags button{display:block;width:30px;height:20px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.25);border-radius:4px;background:none;opacity:.55;cursor:pointer;transition:opacity .15s,transform .15s,box-shadow .15s}#menu .flags button:hover,#game-menu .flags button:hover{opacity:.9;transform:translateY(-1px)}#menu .flags button[aria-pressed=true],#game-menu .flags button[aria-pressed=true]{opacity:1;border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.flags svg{display:block;width:100%;height:100%}#menu .options{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px}#menu .options legend{padding:0 6px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#e4eef899}#menu .options label{display:flex;align-items:center;gap:6px;cursor:pointer}#menu .options input{width:16px;height:16px;padding:0;accent-color:var(--gold)}#menu .options .hint{flex-basis:100%}#menu .bar{display:flex;align-items:center;gap:10px}#menu .bar h1{margin:0}#menu button.back{padding:4px 12px;font-size:20px;line-height:1}@media(max-width:860px){#home{grid-template-columns:minmax(0,1fr);align-content:start;gap:24px;padding:44px 16px 32px}#home .tagline{margin:14px 0 12px}}#chat{position:fixed;left:232px;bottom:120px;max-width:520px;font-size:14px;text-shadow:0 1px 2px #000,0 0 2px #000;pointer-events:none}#chat-input{position:fixed;left:232px;bottom:84px;width:420px;padding:7px 12px;font:inherit;color:#fff;border-radius:8px}#chat-input:focus{outline:none;border-color:var(--ice)}#give{position:fixed;top:30%;left:50%;transform:translate(-50%);z-index:7;display:flex;flex-direction:column;gap:8px;min-width:300px;padding:20px 22px}#give .title{margin-bottom:4px;font:700 18px Cinzel,Georgia,serif;color:var(--gold);text-align:center}#give button{padding:9px;font-weight:700}#give button[type=submit]{color:#1b1200;background:linear-gradient(180deg,#ffe066,#f0a800);border-color:#ffe9a0}#give button:disabled{opacity:.4;cursor:default}#give label{display:flex;gap:8px;cursor:pointer}#give input[type=number]{font:inherit;padding:8px 10px;color:#fff;background:#ffffff0d;border:1px solid var(--line);border-radius:8px}#home.loading{grid-template-columns:minmax(0,1fr);align-items:stretch;background:radial-gradient(ellipse at 50% 45%,#0a182c8c,#02050af5 72%)}#home.loading .hero,#home.loading .version{display:none}#home.loading #menu{padding:0;background:none;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:none}#menu .kicker{margin:0;font:600 13px/1.4 system-ui,sans-serif;letter-spacing:.35em;text-transform:uppercase;color:var(--ice);animation:fade-up .5s .35s both}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}}@keyframes from-left{0%{opacity:0;transform:translate(-60px) skew(-8deg)}}@keyframes from-right{0%{opacity:0;transform:translate(60px) skew(8deg)}}@keyframes shock{0%{transform:scale(.1);opacity:1}to{transform:scale(4);opacity:0}}@keyframes vs-slam{0%{opacity:0;transform:scale(4) rotate(-12deg)}}@keyframes vs-pulse{to{transform:scale(1.08);text-shadow:0 0 30px #ffcc00,0 0 70px #ff7a00,0 4px 0 #000}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}#menu .intro{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%;max-width:1100px;margin:0 auto;text-align:center;text-shadow:0 2px 8px #000}#menu .burst{position:fixed;inset:0;overflow:hidden;pointer-events:none}#menu .burst:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 40%,rgba(255,244,200,.95),rgba(255,204,0,.35) 18%,transparent 55%);animation:flash 1.1s ease-out both}@keyframes flash{0%{opacity:0}8%{opacity:1}to{opacity:0}}#menu .burst i{position:absolute;top:40%;left:50%;width:40vmin;height:40vmin;margin:-20vmin 0 0 -20vmin;border:3px solid rgba(255,214,90,.9);border-radius:50%;box-shadow:0 0 40px #fc09,inset 0 0 40px #fc06;animation:shock 1.4s cubic-bezier(.15,.7,.3,1) both}#menu .burst i:nth-child(2){border-color:#a8dcffcc;animation-delay:.15s}#menu .burst i:nth-child(3){border-width:1px;animation-delay:.3s}#menu .intro .headline{margin:6px 0 0;font:900 clamp(40px,9vw,120px) / 1 "Cinzel",Georgia,serif;letter-spacing:.04em;text-transform:uppercase;text-shadow:none;color:transparent;background:linear-gradient(100deg,#8a5a12,#fc0 30%,#fff6c8 45%,#fc0 55%,#b07800 80%) 0 0 / 250% 100%;-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 4px 0 #3a2400) drop-shadow(0 0 28px rgba(255,190,0,.45));animation:slam .7s cubic-bezier(.2,1.5,.4,1) both,shine 2.2s .6s ease-in-out both}@keyframes slam{0%{opacity:0;transform:scale(2.6);letter-spacing:.5em}}@keyframes shine{0%{background-position:100% 0}}#menu .intro .lead{margin:10px 0 0;font-size:clamp(15px,1.6vw,19px);animation:fade-up .5s .5s both}#menu .versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(16px,4vw,56px);width:100%;margin-top:clamp(28px,6vh,56px)}#menu .roster{padding:14px 20px;text-align:left;background:linear-gradient(90deg,#080e18e0,#080e1866);border:1px solid var(--line);border-left:3px solid #4aa3ff;border-radius:12px;animation:from-left .6s .55s cubic-bezier(.2,.9,.3,1.15) both}#menu .roster.side1{text-align:right;background:linear-gradient(270deg,#080e18e0,#080e1866);border-left:1px solid var(--line);border-right:3px solid #ff5a4a;animation-name:from-right}#menu .roster h2{margin:0 0 8px;font:700 18px Cinzel,Georgia,serif;letter-spacing:.08em;color:#8cc4ff}#menu .roster.side1 h2{color:#ff9a8a}#menu .roster p{display:flex;align-items:center;gap:10px;margin:0;padding:5px 0;font-size:17px;font-weight:600;overflow-wrap:anywhere;animation:fade-up .4s calc(.8s + var(--i, 0) * .08s) both}#menu .roster.side1 p{flex-direction:row-reverse}#menu .roster small{font-weight:400;color:var(--muted)}#menu .swatch{flex:none;width:16px;height:16px;border:1px solid #000;box-shadow:inset 1px 1px #ffffff73,inset -1px -1px #00000073}#menu .vs{font:900 clamp(40px,6vw,72px) / 1 "Cinzel",Georgia,serif;color:#fff;text-shadow:0 0 18px #ffcc00,0 0 42px #ff7a00,0 3px 0 #000;animation:vs-slam .5s .75s cubic-bezier(.3,1.8,.5,1) both,vs-pulse 1.2s 1.3s ease-in-out infinite alternate}#menu .intro .opts{margin:24px 0 0;color:var(--muted);animation:fade-up .4s 1s both}#menu .loading-foot{width:100%;margin-top:auto;padding-top:32px}#menu .loadbar{height:22px;padding:3px;border:2px solid #7a5a2a;border-radius:2px;background:#05080c;box-shadow:0 0 0 1px #000,inset 0 2px 4px #000000e6}#menu .loadbar i{display:block;height:100%;transform-origin:left;background:repeating-linear-gradient(90deg,transparent 0 14px,rgba(0,0,0,.25) 14px 15px),linear-gradient(180deg,#ffe680,#fc0 45%,#b07800);animation:load var(--intro, 3s) linear both}@keyframes load{0%{transform:scaleX(0)}to{transform:scaleX(1)}}#menu .pick{display:flex;flex-direction:column;gap:16px;width:100%;max-width:1280px;margin:0 auto;animation:fade-up .5s both}#menu .pick-head{display:flex;align-items:center;justify-content:space-between;gap:16px}#menu .pick-head h1{margin:4px 0 0;font:900 clamp(26px,3.6vw,44px) / 1.1 "Cinzel",Georgia,serif;text-shadow:0 2px 0 #3a2400,0 0 24px rgba(255,190,0,.35)}#menu .timer{--p: 1;--ring: var(--gold);position:relative;flex:none;display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:conic-gradient(var(--ring) calc(var(--p) * 360deg),rgba(255,255,255,.08) 0);box-shadow:0 0 24px #ffcc0040}#menu .timer:before{content:"";position:absolute;inset:6px;border-radius:50%;background:#070c14}#menu .timer span{position:relative;font:900 28px Cinzel,Georgia,serif;font-variant-numeric:tabular-nums}#menu .timer.hurry{--ring: #ff4d3a;animation:hurry .5s ease-in-out infinite alternate}#menu .timer.hurry span{color:#ff7a6a}@keyframes hurry{to{transform:scale(1.08);box-shadow:0 0 36px #ff4d3a99}}#menu .pick-body{display:grid;grid-template-columns:220px minmax(0,1fr) 300px;align-items:start;gap:20px}#menu .pick-body>aside,#menu .pick-body>.side{padding:14px;background:var(--glass);border:1px solid var(--line);border-radius:14px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}#menu .pick-body>aside{animation:from-left .5s .1s both}#menu .pick-body>.side{display:flex;flex-direction:column;gap:12px;animation:from-right .5s .1s both}#menu .pick h2{margin:0 0 8px;letter-spacing:.3em;color:var(--ice)}#menu .group+.group{margin-top:14px}#menu .cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}#menu button.card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;text-align:center;background:linear-gradient(180deg,#1e2c42c7,#0a101ae0);border-radius:12px;animation:card-in .45s calc(var(--i, 0) * 40ms) cubic-bezier(.2,.9,.3,1.2) both}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.9)}}#menu button.card:not(:disabled):hover{transform:translateY(-3px);border-color:#fc09;box-shadow:0 8px 24px #00000080,0 0 18px #ffcc0040}#menu button.card.selected{transform:translateY(-3px);border-color:var(--gold);box-shadow:0 0 0 2px var(--gold),0 0 28px #ffcc0073}#menu button.card.locked{opacity:1;animation:lock .6s both}@keyframes lock{40%{transform:scale(1.12);box-shadow:0 0 0 2px #fff,0 0 60px #ffcc00e6}}#menu button.card.taken{filter:grayscale(1) brightness(.6)}#menu .card .art{width:56px;height:56px;border-radius:8px;background:#000 center / cover;box-shadow:0 0 0 1px #000,0 0 0 2px #c9a35a99,0 4px 10px #0009}#menu .card strong{font-size:13px;line-height:1.2}#menu .card small{font-size:11px;color:#ff9d8f}#menu .card small:empty{display:none}#menu .detail{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:240px;text-align:center}#menu .detail .hint{margin:auto 0}#menu .detail .portrait{padding:5px;border-radius:16px;background:linear-gradient(135deg,#fff2b0,#c98a1a 50%,#5a3a08);box-shadow:0 0 40px #ffcc0059;animation:pop .4s cubic-bezier(.2,1.6,.4,1) both}#menu .detail .portrait .art{display:block;width:96px;height:96px;border-radius:12px;background:#000 center / cover}#menu .detail h2{margin:4px 0 0;font:900 20px Cinzel,Georgia,serif;letter-spacing:0;text-transform:none;color:var(--gold)}#menu .stats{width:100%;font-size:13px}#menu .stats p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:4px 0;text-align:left;border-bottom:1px solid rgba(255,255,255,.06)}#menu .stats span{color:var(--muted)}#menu .stats b{text-align:right}#menu .detail h3{margin:6px 0 0;font:700 11px system-ui,sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--ice)}#menu .towers{display:flex;flex-wrap:wrap;justify-content:center;gap:4px}#menu .towers .art{width:30px;height:30px;border-radius:4px;background:#000 center / cover;box-shadow:0 0 0 1px #000;animation:pop .3s both}#menu .towers .missing{display:none}#menu button.confirm{font-size:20px}#menu button.confirm.done{opacity:1;font:600 14px system-ui,sans-serif;text-transform:none;letter-spacing:0;color:var(--gold);background:#ffcc0014;border-color:#fc06;box-shadow:none}#menu .mate{--c: #fff;display:flex;align-items:center;gap:10px;margin-bottom:6px;padding:8px;background:#ffffff08;border-left:3px solid var(--c);border-radius:10px}#menu .mate.me{background:#ffcc0012}#menu .mate .art{flex:none;width:40px;height:40px;border-radius:6px;background:#000 center / cover;box-shadow:0 0 0 1px #000,0 0 0 2px var(--c)}#menu .mate.ready .art{animation:pop .4s cubic-bezier(.2,1.6,.4,1) both}#menu .mate .art.empty{background:repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 6px,transparent 6px 12px);animation:pulse 1s ease-in-out infinite alternate}#menu .mate strong{display:block;font-size:14px;overflow-wrap:anywhere}#menu .mate small{font-size:12px;color:var(--muted)}#menu .mate.ready small{color:var(--gold)}#menu .foes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0 0;font-size:13px;color:var(--muted)}#menu .foes i{width:12px;height:12px;border:2px solid var(--c);border-radius:50%;opacity:.5}#menu .foes i.on{background:var(--c);box-shadow:0 0 10px var(--c);opacity:1;animation:pop .3s both}#menu .pick>.hint{text-align:center}@media(max-width:1000px){#menu .pick-body{grid-template-columns:minmax(0,1fr)}#menu .pick-body>aside{order:3}}#menu .reveal{--reveal: 6s;position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:1fr auto;align-items:center;gap:24px clamp(16px,3vw,48px);flex:1;width:100%;max-width:1280px;margin:0 auto}#menu .reveal:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(100deg,#286eff42 0 49.7%,#fff0c88c 49.9% 50.1%,#ff3c2842 50.3%);animation:split .7s cubic-bezier(.2,.9,.3,1) both}@keyframes split{0%{opacity:0;transform:scaleX(0)}}#menu .reveal .rays{position:fixed;inset:-50vmax;z-index:-1;pointer-events:none;background:repeating-conic-gradient(rgba(255,204,0,.08) 0 6deg,transparent 6deg 18deg);-webkit-mask-image:radial-gradient(circle,#000,transparent 45%);mask-image:radial-gradient(circle,#000,transparent 45%);animation:fade-in .8s .6s both,spin 40s linear infinite}@keyframes fade-in{0%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}#menu .reveal .half{display:flex;flex-direction:column;align-items:flex-end;gap:14px;perspective:800px;animation:slide-l .7s cubic-bezier(.2,.9,.3,1) both,shake .35s .85s}#menu .reveal .half.side1{align-items:flex-start;animation-name:slide-r,shake}@keyframes slide-l{0%{opacity:0;transform:translate(-50vw) skew(-10deg)}70%{transform:translate(12px) skew(2deg)}}@keyframes slide-r{0%{opacity:0;transform:translate(50vw) skew(10deg)}70%{transform:translate(-12px) skew(-2deg)}}@keyframes shake{20%{transform:translate(-6px,3px)}40%{transform:translate(5px,-4px)}60%{transform:translate(-4px,2px)}80%{transform:translate(3px,-1px)}}#menu .reveal .half h2{margin:0 0 4px;font:900 clamp(18px,2vw,24px) "Cinzel",Georgia,serif;letter-spacing:.2em;color:#8cc4ff;text-shadow:0 0 18px rgba(74,163,255,.6)}#menu .reveal .side1 h2{color:#ff9a8a;text-shadow:0 0 18px rgba(255,90,74,.6)}#menu .champ{--c: #fff;box-sizing:border-box;display:flex;align-items:center;gap:16px;width:min(100%,420px);padding:12px 18px;background:linear-gradient(90deg,#060a12eb,#060a128c);border:1px solid rgba(255,255,255,.08);border-radius:14px;box-shadow:inset 4px 0 0 var(--c),0 10px 30px #00000080;animation:hero-in .6s calc(1.1s + var(--i, 0) * .35s) cubic-bezier(.2,1.4,.4,1) both}#menu .side1 .champ{flex-direction:row-reverse;text-align:right;background:linear-gradient(270deg,#060a12eb,#060a128c);box-shadow:inset -4px 0 0 var(--c),0 10px 30px #00000080}#menu .champ.me{outline:1px solid rgba(255,204,0,.6);outline-offset:3px}@keyframes hero-in{0%{opacity:0;transform:rotateY(90deg) scale(.8)}}#menu .champ .frame{position:relative;flex:none;padding:4px;border-radius:14px;background:linear-gradient(135deg,#fff2b0,#c98a1a 50%,#5a3a08);box-shadow:0 0 0 1px #000,0 0 30px var(--c)}#menu .champ .frame:after{content:"";position:absolute;inset:-40%;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#fff,var(--c) 30%,transparent 65%);animation:burst-out .7s calc(1.1s + var(--i, 0) * .35s) ease-out both}@keyframes burst-out{0%{opacity:1;transform:scale(.3)}to{opacity:0;transform:scale(1.6)}}#menu .champ .art{display:block;width:clamp(64px,7vw,92px);aspect-ratio:1;border-radius:10px;background:#000 center / cover}#menu .champ strong{display:block;font:900 clamp(16px,1.8vw,22px) / 1.15 "Cinzel",Georgia,serif;color:var(--gold);text-shadow:0 2px 0 #000}#menu .champ .who span{display:inline-flex;align-items:center;gap:8px;margin-top:4px;font-size:14px;overflow-wrap:anywhere}#menu .side1 .champ .who span{flex-direction:row-reverse}#menu .clash{position:relative;display:grid;place-items:center;width:clamp(90px,10vw,140px);aspect-ratio:1}#menu .clash b{font:900 clamp(48px,6vw,88px) / 1 "Cinzel",Georgia,serif;color:#fff;text-shadow:0 0 20px #ffcc00,0 0 50px #ff7a00,0 4px 0 #000;animation:vs-slam .5s .6s cubic-bezier(.3,1.8,.5,1) both,vs-pulse 1s 1.2s ease-in-out infinite alternate}#menu .clash i{position:absolute;inset:0;border:3px solid rgba(255,214,90,.9);border-radius:50%;box-shadow:0 0 40px #fc09;animation:shock 1s .85s cubic-bezier(.15,.7,.3,1) both}#menu .reveal .go{grid-column:1 / -1;margin:0;text-align:center;font:900 clamp(20px,3vw,34px) "Cinzel",Georgia,serif;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 0 18px rgba(255,204,0,.8);animation:go-in .8s calc(var(--reveal) - 2.4s) cubic-bezier(.2,.9,.3,1) both}@keyframes go-in{0%{opacity:0;letter-spacing:.8em}}#menu .flashout{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle,#fff,#ffe9a8 40%,#fc0);opacity:0;animation:flashout .6s calc(var(--reveal) - .6s) ease-in forwards}@keyframes flashout{to{opacity:.85}}@media(max-width:760px){#menu .versus,#menu .reveal{grid-template-columns:minmax(0,1fr);grid-template-rows:none}#menu .vs,#menu .clash{justify-self:center}#menu .roster.side1{text-align:left}#menu .roster.side1 p,#menu .side1 .champ,#menu .side1 .champ .who span{flex-direction:row;text-align:left}#menu .reveal .half,#menu .reveal .half.side1{align-items:stretch}#menu .champ{width:100%}}@media(prefers-reduced-motion:reduce){#menu .intro *,#menu .pick *,#menu .pick,#menu .reveal,#menu .reveal *,#menu .reveal:before{animation:none!important}#menu .burst,#menu .clash i,#menu .champ .frame:after,#menu .flashout{display:none}}#end{position:fixed;top:50%;left:50%;z-index:8;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow-y:auto;box-sizing:border-box;padding:20px 24px}#end h2{margin:0;text-align:center;font:700 28px Cinzel,Georgia,serif;color:var(--gold)}#end .sub{margin:4px 0 16px;text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}#end h3{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}#end svg{display:block;width:100%;height:160px;background:#ffffff08;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}#end .axis{display:flex;justify-content:space-between;margin-top:2px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}#end table{width:100%;margin-top:16px;border-collapse:collapse;font-variant-numeric:tabular-nums}#end th,#end td{padding:5px 8px;text-align:right;border-bottom:1px solid var(--line)}#end th:first-child,#end td:first-child{text-align:left;font-weight:600;overflow-wrap:anywhere}#end th{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--muted)}#end td:first-child:before{content:"";display:inline-block;width:10px;height:10px;margin-right:8px;border-radius:2px;background:var(--slot);box-shadow:0 0 0 1px #fff6}#end tr.won td:first-child:after{content:" ★";color:var(--gold)}#end .actions{display:flex;justify-content:center;gap:10px;margin-top:18px}#end .actions button,#end-reopen{padding:8px 16px;background:#ffffff0f;border:1px solid var(--line);border-radius:8px;cursor:pointer}#end .actions button:hover,#end-reopen:hover{border-color:#a8dcff80;background:#ffffff1f}#end-reopen{position:fixed;top:12px;left:50%;z-index:8;transform:translate(-50%);font-weight:700;color:var(--gold)}#end[hidden],#end-reopen[hidden]{display:none}
