.board{background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(8px);border:1px solid #ffffff0f;border-radius:20px;justify-content:center;gap:6px;margin-bottom:28px;padding:24px 16px 32px;transition:opacity .6s,filter .6s;display:flex;position:relative;box-shadow:0 20px 60px #00000080,0 4px 12px #0000004d,inset 0 1px #ffffff0f,inset 0 -1px #0003}.board-thinking{animation:2s ease-in-out infinite boardThink}.board-thinking:after{content:"";border-radius:inherit;pointer-events:none;z-index:5;background:linear-gradient(90deg,#0000,#3bb8a814,#4a9eff14,#0000) 0 0/300% 100%;animation:2s ease-in-out infinite thinkShimmer;position:absolute;inset:-2px}@keyframes boardThink{0%,to{opacity:.55;filter:brightness(.85)saturate(.8)}50%{opacity:.75;filter:brightness(.95)saturate(.9)}}@keyframes thinkShimmer{0%{background-position:-100% 0}to{background-position:200% 0}}.stand{background:color-mix(in srgb, var(--bg2) 90%, transparent);cursor:pointer;border:1.5px solid #ffffff0f;border-bottom:none;border-radius:12px 12px 0 0;flex-direction:column-reverse;justify-content:flex-start;align-items:center;width:56px;min-width:0;min-height:256px;padding:4px 4px 6px;transition:transform .3s cubic-bezier(.25,.46,.45,.94),border-color .3s,box-shadow .4s,opacity .5s,filter .5s,background .3s;display:flex;position:relative}.stand:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#0000 50%,#ffffff05 100%);position:absolute;inset:0}.stand:hover{border-color:#ffffff1f;transform:translateY(-5px);box-shadow:0 12px 30px #0006,0 0 1px #ffffff1a}.stand:active{transition-duration:80ms;transform:translateY(-1px)scale(.97)}.stand.golden{background:linear-gradient(#ffbe301a 0%,#ffbe3008 100%);border-color:#ffbe304d;box-shadow:0 0 12px #ffbe3014}.stand.golden:hover{border-color:#ffbe3080;box-shadow:0 8px 30px #ffbe3033,0 0 20px #ffbe301a}.stand.closed{opacity:.35;cursor:default;filter:saturate(.4)brightness(.75);background:color-mix(in srgb, var(--bg2) 50%, transparent)}.stand.closed:hover{box-shadow:none;transform:none}.stand.closed:active{transform:none}.stand.selected{border-color:var(--p1);box-shadow:0 0 20px var(--p1-glow), 0 0 50px #4a9eff1a;animation:1.5s ease-in-out infinite selectedGlow;transform:translateY(-8px)scale(1.04)}@keyframes selectedGlow{0%,to{box-shadow:0 0 15px var(--p1-glow), 0 0 30px #4a9eff14;border-color:var(--p1)}50%{box-shadow:0 0 25px var(--p1-glow), 0 0 60px #4a9eff26;border-color:var(--p1-light)}}.stand.target{border-color:var(--green);box-shadow:0 0 12px var(--green-glow);animation:2s ease-in-out infinite targetBreathe}.stand.target:hover{box-shadow:0 0 24px var(--green-glow), 0 8px 24px #0000004d;transform:translateY(-5px)scale(1.02)}@keyframes targetBreathe{0%,to{box-shadow:0 0 8px var(--green-glow)}50%{box-shadow:0 0 20px var(--green-glow), 0 0 40px #3dd68c1a}}.stand-flash{animation:.8s ease-out standClose!important}.stand-flash-glow{border-radius:inherit;pointer-events:none;z-index:10;background:radial-gradient(circle,#ffbe3080,#0000 70%);animation:1s ease-out forwards flashBurst;position:absolute;inset:-4px}@keyframes standClose{0%{filter:brightness();transform:scale(1)}10%{filter:brightness(1.4);transform:scale(1.12)rotate(-1deg)}25%{filter:brightness(1.2);transform:scale(.94)rotate(1deg)}40%{filter:brightness(1.1);transform:scale(1.06)}60%{transform:scale(.98)}to{filter:brightness();transform:scale(1)}}@keyframes flashBurst{0%{opacity:.9;transform:scale(.6)}30%{opacity:.7;transform:scale(1.1)}to{opacity:0;transform:scale(1.6)}}.stand-recent-transfer-from{animation:1.2s ease-out standRecentTransferFrom!important}@keyframes standRecentTransferFrom{0%{box-shadow:0 0 0 3px var(--accent), 0 0 24px var(--accent-glow);border-color:var(--accent)}to{box-shadow:0 0 #0000}}.stand-recent-transfer-to{animation:1.2s ease-out standRecentTransferTo!important}@keyframes standRecentTransferTo{0%{box-shadow:0 0 0 3px var(--green), 0 0 24px var(--green-glow);border-color:var(--green)}to{box-shadow:0 0 #0000}}.stand-recent-place-p0{animation:1.2s ease-out standRecentPlaceP0!important}@keyframes standRecentPlaceP0{0%{box-shadow:0 0 0 3px var(--p1), 0 0 24px var(--p1-glow);border-color:var(--p1)}to{box-shadow:0 0 #0000}}.stand-recent-place-p1{animation:1.2s ease-out standRecentPlaceP1!important}@keyframes standRecentPlaceP1{0%{box-shadow:0 0 0 3px var(--p2), 0 0 24px var(--p2-glow);border-color:var(--p2)}to{box-shadow:0 0 #0000}}[data-theme=minimal] .stand-recent-transfer-from{animation-name:standRecentTransferFromLight}[data-theme=minimal] .stand-recent-transfer-to{animation-name:standRecentTransferToLight}[data-theme=minimal] .stand-recent-place-p0{animation-name:standRecentPlaceP0Light}[data-theme=minimal] .stand-recent-place-p1{animation-name:standRecentPlaceP1Light}@keyframes standRecentTransferFromLight{0%{outline:3px solid var(--accent);outline-offset:-1px;background-color:color-mix(in srgb, var(--accent) 22%, transparent)}to{outline-offset:-1px;background-color:#0000;outline:3px solid #0000}}@keyframes standRecentTransferToLight{0%{outline:3px solid var(--green);outline-offset:-1px;background-color:color-mix(in srgb, var(--green) 22%, transparent)}to{outline-offset:-1px;background-color:#0000;outline:3px solid #0000}}@keyframes standRecentPlaceP0Light{0%{outline:3px solid var(--p1);outline-offset:-1px;background-color:color-mix(in srgb, var(--p1) 22%, transparent)}to{outline-offset:-1px;background-color:#0000;outline:3px solid #0000}}@keyframes standRecentPlaceP1Light{0%{outline:3px solid var(--p2);outline-offset:-1px;background-color:color-mix(in srgb, var(--p2) 22%, transparent)}to{outline-offset:-1px;background-color:#0000;outline:3px solid #0000}}.close-particles{pointer-events:none;z-index:11;position:absolute;inset:0}.close-particle{width:var(--size);height:var(--size);animation:particleExplode .9s var(--delay) ease-out forwards;opacity:0;filter:brightness(1.3);border-radius:50%;position:absolute;top:50%;left:50%;box-shadow:0 0 6px}@keyframes particleExplode{0%{opacity:1;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(0) scale(1.2)}40%{opacity:.9}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--angle)) translateY(calc(-1 * var(--dist))) scale(.3)}}.stand-label{color:var(--ink2);opacity:.85;letter-spacing:.3px;font-size:9px;font-weight:600;position:absolute;top:-14px}.stand.golden .stand-label{color:var(--gold);text-shadow:0 0 12px var(--gold-glow), 0 0 24px #ffbe3033;font-size:15px;top:-22px}.stand-owner{color:var(--ink2);font-size:10px;font-weight:600;position:absolute;bottom:-20px}.chip{border-radius:3px;width:40px;height:20px;margin:1px 0;transition:transform .2s,box-shadow .2s;position:relative}.chip.p0{background:linear-gradient(180deg, #85c4ff 0%, var(--p1) 50%, #3580d4 100%);box-shadow:0 2px 4px #4a9eff4d,inset 0 1px #ffffff59,inset 0 -1px #0003,0 0 6px #4a9eff1a}.chip.p1{background:linear-gradient(180deg, #ffa0a4 0%, var(--p2) 50%, #d44c52 100%);box-shadow:0 2px 4px #ff60664d,inset 0 1px #ffffff59,inset 0 -1px #0003,0 0 6px #ff60661a}.chip-hidden{opacity:0;transform:translateY(-20px)scaleX(.5)}.chip-drop{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards chipDropIn}@keyframes chipDropIn{0%{opacity:0;transform:translateY(-20px)scaleX(.5)scaleY(1.5)}35%{opacity:1;transform:translateY(4px)scaleX(1.2)scaleY(.8)}55%{transform:translateY(-3px)scaleX(.92)scaleY(1.08)}75%{transform:translateY(1px)scaleX(1.03)scaleY(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.chip-pending{opacity:.8;border:2px dashed;animation:1.2s ease-in-out infinite pendingPulse;position:relative}.chip-pending.p0{border-color:var(--p1-light);box-shadow:0 0 12px var(--p1-glow), 0 0 4px #4a9eff66;background:linear-gradient(#72b8ff80,#4a9eff4d)}.chip-pending.p1{border-color:var(--p2-light);box-shadow:0 0 12px var(--p2-glow), 0 0 4px #ff606666;background:linear-gradient(#ff8a8e80,#ff60664d)}@keyframes pendingPulse{0%,to{opacity:.5;transform:scale(1);box-shadow:0 0 8px}50%{opacity:1;transform:scale(1.08);box-shadow:0 0 16px,0 0 30px}}.chip-ghost-out{opacity:.15;border:1.5px dashed #fff6;animation:1.2s ease-in-out infinite ghostFade;background-image:repeating-linear-gradient(45deg,#0000,#0000 2px,#ffffff26 2px 4px)!important}@keyframes ghostFade{0%,to{opacity:.1}50%{opacity:.25}}.chip-ghost-in{opacity:.65;border:1.5px solid #ffffff4d;animation:1.2s ease-in-out infinite ghostPulse;box-shadow:0 0 10px #ffffff26}@keyframes ghostPulse{0%,to{opacity:.4;transform:scaleY(.95)}50%{opacity:.8;transform:scaleY(1)}}.stand-ghost-from:after{content:"↗";color:var(--accent);opacity:.7;font-size:14px;animation:1s infinite ghostArrow;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.stand-ghost-to:after{content:"↙";color:var(--green);opacity:.7;font-size:14px;animation:1s infinite ghostArrow;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}@keyframes ghostArrow{0%,to{opacity:.5}50%{opacity:1}}.stand-ghost-from{border-color:var(--accent)!important;border-style:dashed!important;border-width:2px!important}.stand-ghost-to{border-color:var(--green)!important;border-style:solid!important;border-width:2px!important}@media (width>=769px){.board{gap:4px;padding:28px 14px 36px}.stand{width:70px;min-height:332px}.chip{border-radius:4px;width:52px;height:26px;margin:1.5px 0}.stand-label{font-size:10px;top:-16px}.stand.golden .stand-label{font-size:17px;top:-24px}}@media (width<=480px){.board{gap:4px;padding:32px 10px 26px}.stand{width:44px;min-height:216px;padding:4px 3px 5px}.chip{border-radius:2px;width:32px;height:16px;margin:1px 0}.stand.golden .stand-label{font-size:14px;top:-26px}}.scoreboard{justify-content:center;align-items:flex-end;gap:clamp(16px,6vw,40px);margin-bottom:24px;padding:12px 0;display:flex;position:relative}.score-player{text-align:center}.score-label{text-transform:uppercase;letter-spacing:2.5px;text-overflow:ellipsis;white-space:nowrap;max-width:110px;color:var(--ink2);font-size:9px;font-weight:600;overflow:hidden}.score-num{transition:transform .5s var(--ease-out-back), text-shadow .5s ease, color .5s ease;font-family:DM Serif Display,serif;font-size:52px;font-weight:400;line-height:1}.score-num.p0{color:var(--p1);text-shadow:0 0 20px var(--p1-glow)}.score-num.p1{color:var(--p2);text-shadow:0 0 20px var(--p2-glow)}.score-num.score-bump{animation:scoreBump .7s var(--ease-out-back)}@keyframes scoreBump{0%{filter:brightness();transform:scale(1)}20%{filter:brightness(1.4);transform:scale(1.45)}45%{transform:scale(.85)}65%{transform:scale(1.12)}85%{transform:scale(.97)}to{filter:brightness();transform:scale(1)}}.turn-arrow{-webkit-user-select:none;user-select:none;font-size:18px;font-weight:700;line-height:1;display:inline-block}.turn-arrow--p0{color:var(--p1);text-shadow:0 0 8px var(--p1-glow)}.turn-arrow--p1{color:var(--p2);text-shadow:0 0 8px var(--p2-glow)}.score-sep{color:var(--surface3);opacity:.6;padding-bottom:12px;font-family:DM Serif Display,serif;font-size:20px}.game-info{text-align:center;color:var(--ink2);letter-spacing:.3px;min-height:20px;margin-bottom:20px;font-size:13px;font-weight:500;transition:opacity .4s}.thinking-dots{position:relative}.thinking-dots:after{content:"...";vertical-align:bottom;width:0;animation:1.2s steps(4,end) infinite dotsReveal;display:inline-block;overflow:hidden}@keyframes dotsReveal{0%{width:0}to{width:1.2em}}.actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:8px 0 24px;display:flex}.btn{border:1px solid var(--surface3);background:var(--surface2);color:var(--ink2);cursor:pointer;transition:all .2s var(--ease-smooth);letter-spacing:.3px;-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 20px;font-family:Outfit,sans-serif;font-size:13px;font-weight:500;display:flex;position:relative;overflow:hidden}.btn:before{content:"";opacity:0;background:radial-gradient(circle,#ffffff14,#0000 70%);transition:opacity .3s;position:absolute;inset:0}.btn:hover{color:var(--ink);border-color:var(--ink3);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.btn:hover:before{opacity:1}.btn:active{transition-duration:.1s;transform:scale(.95)}.btn.primary{background:linear-gradient(135deg, var(--accent), #2a9a8c);color:#fff;box-shadow:0 4px 20px var(--accent-glow);border-color:#0000;animation:2.5s ease-in-out infinite primaryPulse}.btn.primary:hover{box-shadow:0 8px 32px var(--accent-glow);transform:translateY(-3px)}.btn.primary:active{box-shadow:0 2px 8px var(--accent-glow);transform:scale(.92)}.btn.primary:disabled{background:var(--surface2);border-color:var(--surface3);color:var(--ink3);cursor:default;box-shadow:none;animation:none;transform:none}.btn:not(.primary):disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.btn:not(.primary):disabled:hover{border-color:var(--surface3);color:var(--ink2);transform:none}@keyframes primaryPulse{0%,to{box-shadow:0 4px 16px var(--accent-glow)}50%{box-shadow:0 4px 28px var(--accent-glow), 0 0 40px #3bb8a81a}}.action-slot{min-width:160px}.action-slot--swap{order:-2}.action-slot.primary{order:-1}.action-slot:disabled{opacity:.4;cursor:default;box-shadow:none;transform:none}.action-slot:disabled:hover{border-color:var(--surface3);color:var(--ink3);transform:none}.action-slot.primary:disabled{background:var(--surface2);border-color:var(--surface3);color:var(--ink3);animation:none}.action-slot--swap{animation:actionSlotSwap .2s var(--ease-smooth)}@keyframes actionSlotSwap{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.action-slot{flex:1 1 0;min-width:0;padding-left:12px;padding-right:12px}}.place-controls{animation:fadeUp .3s var(--ease-smooth);justify-content:center;align-items:center;gap:8px;margin-bottom:16px;display:flex}.place-controls span{color:var(--ink2);font-size:13px}.chip-btn{border:2px solid var(--surface3);background:var(--surface);cursor:pointer;width:40px;height:40px;transition:all .2s var(--ease-smooth);color:var(--ink3);border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.chip-btn:hover{border-color:var(--ink3);color:var(--ink);transform:scale(1.08)}.chip-btn.active{border-color:var(--accent);color:#fff;background:var(--accent);box-shadow:0 0 14px var(--accent-glow);transform:scale(1.1)}.place-status{color:var(--ink2);background:var(--surface);border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500}.game-log{background:color-mix(in srgb, var(--surface) 75%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff0a;border-left:3px solid var(--surface3);max-height:150px;color:var(--ink3);border-radius:0 14px 14px 0;margin-top:24px;margin-bottom:16px;padding:14px 18px;font-size:12px;line-height:1.7;overflow-y:auto}.game-log::-webkit-scrollbar{width:3px}.game-log::-webkit-scrollbar-track{background:0 0}.game-log::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:2px}.game-log div{border-bottom:1px solid #ffffff05;padding:3px 0}.game-log div:first-child{animation:logSlide .3s var(--ease-out-back)}@keyframes logSlide{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.game-result{text-align:center;background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(16px);animation:resultReveal .8s var(--ease-out-back);border:1px solid #ffffff14;border-radius:20px;margin-bottom:16px;padding:28px;font-family:DM Serif Display,serif;font-size:22px;position:relative;overflow:hidden;box-shadow:0 16px 48px #0006}.game-result:before{content:"";background:conic-gradient(#0000,#ffbe301f,#0000,#4a9eff1a,#0000,#3bb8a814,#0000);animation:6s linear infinite resultSpin;position:absolute;inset:-50%}.game-result span,.game-result div{z-index:1;position:relative}@keyframes resultReveal{0%{opacity:0;transform:scale(.6)translateY(30px)}30%{opacity:1;transform:scale(1.1)translateY(-8px)}50%{transform:scale(.93)translateY(3px)}70%{transform:scale(1.04)translateY(-1px)}to{transform:scale(1)translateY(0)}}@keyframes resultSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.hint-panel{background:color-mix(in srgb, var(--surface) 88%, transparent);border:1px solid #ffc14526;border-left:3px solid var(--gold);border-radius:12px;margin:8px 0 16px;padding:14px 18px}.hint-title{color:var(--gold);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:11px;font-weight:700}.hint-line{color:var(--ink2);margin:0;font-size:13px;line-height:1.7}.achievement-popup{z-index:2000;background:var(--surface);animation:fadeIn .4s var(--ease-out-back);border:1px solid #ffc1454d;border-radius:16px;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #00000080}.ach-label{color:var(--gold);text-transform:uppercase;letter-spacing:.8px;font-size:10px;font-weight:700}.ach-name{color:var(--ink);margin-top:2px;font-size:14px;font-weight:600}.board-fog .stand:not(.stand-ghost-from):not(.stand-ghost-to) .chip:not(.chip-fog){filter:blur()}
