.board{--token:min(calc(var(--case-h) - 8px), 54px);--pulse:calc(3.4s - var(--hunger,0) * .8s);--shake:3px;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.board.fx-leader{--shake:9px}.board-inner{flex-direction:column;flex:1;min-height:0;display:flex}.board.fx-aspirate .board-inner{animation:shake calc(var(--beat-ms) * .24) linear calc(var(--beat-ms) * .62) both}.vorax{height:var(--vorax-h);z-index:1;flex:none;position:relative}.vorax-halo{width:calc(var(--vorax-h) * 2.3);height:calc(var(--vorax-h) * 2.3);margin:calc(var(--vorax-h) * -1.15) 0 0 calc(var(--vorax-h) * -1.15);animation:halo var(--pulse) ease-in-out infinite alternate;pointer-events:none;background:radial-gradient(circle,#a855f799 0%,#7c3aed38 38%,#0000 68%);border-radius:50%;position:absolute;top:66%;left:50%}.vorax-body{transform-origin:50% 66%;animation:breathe calc(var(--pulse) * 1.3) ease-in-out infinite;position:absolute;inset:0}.vorax-art{left:50%;top:calc(var(--vorax-h) * -.375);width:calc(var(--vorax-h) * 4);aspect-ratio:1600/893;margin-left:calc(var(--vorax-h) * -2);position:absolute}.vorax-img{width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:radial-gradient(27% 58% at 51.9% 42%,#000 58%,#0000 100%);mask-image:radial-gradient(27% 58% at 51.9% 42%,#000 58%,#0000 100%)}.vorax-eye{mix-blend-mode:screen;pointer-events:none;animation:eye-glow calc(var(--pulse) * .8) ease-in-out infinite alternate;background:radial-gradient(circle,#fffffff2 0%,#c8aaffb3 32%,#0000 68%);border-radius:50%;position:absolute}.eye-l{aspect-ratio:1;width:5%;margin:-2.5% 0 0 -2.5%;top:26.9%;left:45.9%}.eye-c{aspect-ratio:1;width:7%;margin:-3.5% 0 0 -3.5%;top:21.3%;left:53.6%}.eye-r{aspect-ratio:1;width:5%;margin:-2.5% 0 0 -2.5%;top:26.9%;left:61.4%}.vorax.is-aimed .vorax-eye,.vorax.is-piege .vorax-eye{background:radial-gradient(circle,#fff 0%,#ff3c64d9 32%,#0000 68%)}.vorax.is-aimed .vorax-eye{animation-duration:.3s}.vorax-mouth{aspect-ratio:1;width:22%;margin:-11% 0 0 -11%;transition:transform .35s cubic-bezier(.3,.7,.3,1.3),filter .35s;position:absolute;top:46.5%;left:51.9%}.mouth-ring,.mouth-core{border-radius:50%;position:absolute}.mouth-ring{mix-blend-mode:screen;animation:spin calc(6.5s - var(--hunger,0) * 1.6s) linear infinite;background:conic-gradient(#0000,#ff50b4a6,#0000 28%,#8264ff99,#0000 58%,#ff50b480,#0000 86%);inset:0;-webkit-mask-image:radial-gradient(circle,#0000 40%,#000 46% 64%,#0000 71%);mask-image:radial-gradient(circle,#0000 40%,#000 46% 64%,#0000 71%)}.mouth-core{background:radial-gradient(circle,#000 52%,#0000008c 68%,#0000 72%);inset:27%}.vorax.is-open .vorax-mouth{filter:brightness(1.5);transform:scale(1.4)}.board.fx-aspirate .vorax-mouth{animation:gulp var(--beat-ms) ease-in-out both}.vorax-flash{aspect-ratio:1;opacity:0;pointer-events:none;background:radial-gradient(circle,#fff 0%,#ffd2ffb3 22%,#a855f740 45%,#0000 62%);border-radius:50%;width:70%;margin:-35% 0 0 -35%;position:absolute;top:46.5%;left:51.9%}.board.fx-aspirate .vorax-flash{animation:gulp-flash var(--beat-ms) linear both}.particle{width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);background:var(--c);box-shadow:0 0 6px var(--c);opacity:0;animation:particle calc(var(--beat-ms) * .42) ease-in calc(var(--beat-ms) * var(--d)) both;border-radius:50%;position:absolute;top:50%;left:50%}.vorax-piege{color:#fff;background:#ff3c64bf;border-radius:8px;padding:1px 7px;font:800 12px/1.4 ui-monospace,monospace;animation:.4s ease-out pop;position:absolute;bottom:10%;right:18%;box-shadow:0 0 12px #ff3c64cc}.console{flex:1;grid-template-columns:minmax(72px,1fr) minmax(176px,250px) minmax(72px,1fr);align-items:start;gap:6px;min-height:0;padding:0 6px 6px;display:grid}.panel{color:var(--muted);text-align:center;background:linear-gradient(#221a52e0,#0e0a24e0);border:1px solid #9682ff47;border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:10px 4px;font-size:10.5px;display:flex;position:relative;box-shadow:inset 0 0 18px #7c3aed33,0 6px 18px #00000073}.panel:before,.panel:after{content:"";opacity:.8;background:#67e8f9;border-radius:50%;width:4px;height:4px;position:absolute;top:6px;box-shadow:0 0 5px #67e8f9}.panel:before{left:7px}.panel:after{background:#f472b6;right:7px;box-shadow:0 0 5px #f472b6}.last-move{flex-direction:column;align-items:center;gap:4px;animation:.35s ease-out pop;display:flex}.last-move .card-thumb{width:58px}.last-move .card-thumb img{border-radius:6px}.last-move span{line-height:1.2}.counters{flex-direction:column;gap:4px;width:100%;padding:0 4px;display:flex}.counter{letter-spacing:.3px;text-transform:uppercase;background:#00000059;border:1px solid #67e8f933;border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:3px 2px;font-size:9.5px;display:flex}.counter b{color:#67e8f9;text-shadow:0 0 6px #22d3eeb3;font:700 13px/1 ui-monospace,monospace}.rail{flex-direction:column;display:flex;position:relative}.rail-track{background:linear-gradient(#08061a26,#08061ab3);border-left:2px solid #67e8f98c;border-right:2px solid #67e8f98c;border-radius:0 0 20px 20px;position:absolute;inset:-14px 10% 2px;overflow:hidden;box-shadow:0 0 10px #67e8f94d,inset 0 0 16px #67e8f91f;-webkit-mask-image:linear-gradient(#0000,#000 28px);mask-image:linear-gradient(#0000,#000 28px)}.rail.is-running .rail-track{border-color:#ff5aaae6;box-shadow:0 0 14px #ff5aaa8c,inset 0 0 18px #ff5aaa2e}.rail-bands{opacity:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 40' preserveAspectRatio='none'%3E%3Cpolyline points='8,32 50,12 92,32' fill='none' stroke='%23ff5aaa' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:100% 40px;height:calc(100% + 40px);transition:opacity .5s;position:absolute;top:0;left:0;right:0}.rail.is-running .rail-bands{opacity:.5;animation:bands calc(1.15s - var(--hunger,0) * .1s) linear infinite}.board.fx-conveyor .rail-bands,.board.fx-advance .rail-bands{opacity:1;animation-duration:.35s}.case{height:var(--case-h);background:0 0;border:none;flex:none;width:100%;padding:0;display:block;position:relative}.pad{left:13%;right:13%;top:calc(var(--case-h) * .36);height:calc(var(--case-h) * .5);background:radial-gradient(at 50% 40%,#67e8f94d,#2418608c 62%,#08061ad9);border:2px solid #67e8f999;border-radius:50%;position:absolute;box-shadow:0 0 12px #67e8f959,inset 0 0 10px #67e8f94d}.pad:before{content:"";border:1px dashed #a5f3fc8c;border-radius:50%;position:absolute;inset:20% 22%}.pad:after{content:"";height:calc(var(--case-h) * .55);pointer-events:none;background:linear-gradient(#0000,#67e8f92e);position:absolute;bottom:45%;left:18%;right:18%}.case:first-child .pad{background:radial-gradient(at 50% 40%,#ff467859,#46123c99 62%,#140614d9);border-color:#ff5a82d9;box-shadow:0 0 14px #ff467873,inset 0 0 10px #ff467859}.case:first-child .pad:after{background:linear-gradient(#0000,#ff467838)}.case-num{left:0;top:calc(var(--case-h) * .61);color:#a5f3fc;text-shadow:0 0 6px #22d3ee;font:800 12px/1 ui-monospace,monospace;position:absolute;transform:translateY(-50%)}.case:first-child .case-num{color:#ffb3c7;text-shadow:0 0 6px #ff4d7a}.case .pad-ring{border:2px solid var(--ring,var(--gold));opacity:0;pointer-events:none;border-radius:50%;position:absolute;inset:-5px}.case.is-target{z-index:3;cursor:pointer}.case.is-target .pad-ring{--ring:var(--gold);animation:.9s ease-out infinite ring}.case.is-selected .pad{filter:brightness(1.5)sepia(.6)saturate(2)hue-rotate(5deg)}.case.is-aimed .pad-ring,.rail.is-aimed .pad-ring{--ring:#ff5a7a;animation:.6s ease-out infinite ring}.board.fx-distort .pad{animation:pad-warp var(--beat-ms) ease-in-out}.rail-toast{z-index:8;white-space:nowrap;animation:toast var(--beat-ms) ease-out both;background:#0a081ee6;border:1px solid #ff5a82b3;border-radius:8px;padding:4px 10px;font-size:11.5px;font-weight:700;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.token{--dx:var(--mouth-x,0px);--dy:calc(var(--mouth-y,-60px) - var(--case-h) * var(--i) - var(--case-h) * .4);width:var(--token);height:var(--case-h);margin-left:calc(var(--token) / -2);transform:translateY(calc(var(--case-h) * var(--i)));transition:transform var(--move-ms,.45s) cubic-bezier(.3, .7, .3, 1);pointer-events:none;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:50%}.token-body{width:var(--token);height:var(--token);margin-top:calc(var(--case-h) * -.1);position:relative}.token-disc{border:3px solid var(--crew);background:radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--crew) 35%, #120c30), #0a0820);box-shadow:0 0 10px color-mix(in srgb, var(--crew) 70%, transparent), 0 5px 8px #0009;border-radius:50%;position:absolute;inset:0;overflow:hidden}.token-face{width:168%;max-width:none;position:absolute;top:-48%;left:-34%}.token.is-leader .token-face{width:150%;top:-22%;left:-25%}.token.is-mine .token-disc{outline-offset:1px;outline:2px solid #ffffffe6}.token-badge{background:var(--crew);color:#0b0820;text-align:center;border-radius:9px;min-width:17px;height:17px;padding:0 3px;font:800 10.5px/17px system-ui,sans-serif;position:absolute;bottom:-3px;right:-5px;box-shadow:0 0 0 2px #0b0820}.token-crown{filter:drop-shadow(0 0 4px #ffd54ae6);width:26px;height:17px;margin-left:-13px;position:absolute;top:-11px;left:50%}.token-tag{left:calc(100% + 5px);top:calc(50% - var(--case-h) * .1);text-overflow:ellipsis;white-space:nowrap;color:#ece9ff;border:1px solid color-mix(in srgb, var(--crew) 55%, transparent);text-shadow:0 1px 2px #000;background:#0a081eb8;border-radius:6px;max-width:74px;padding:1px 5px;font-size:10.5px;font-weight:700;position:absolute;overflow:hidden;transform:translateY(-50%)}.token.is-shielded .token-body:before{content:"";background:radial-gradient(circle,#0000 58%,#67e8f94d);border:2px solid #67e8f9f2;border-radius:50%;animation:1.6s ease-in-out infinite alternate shield;position:absolute;inset:-6px}.token.is-shield-up .token-body:before{animation:shield-up var(--beat-ms) ease-out both}.token.is-spared .token-body:before{content:"";animation:shield-up var(--beat-ms) ease-out both;border:3px solid #a5f3fc;border-radius:50%;position:absolute;inset:-8px}.token.is-arrive .token-body{animation:materialize var(--beat-ms) ease-out both}.token.is-arrive .token-body:after{content:"";border:2px solid color-mix(in srgb, var(--crew) 70%, #fff);animation:ring calc(var(--beat-ms) * .8) ease-out both;border-radius:50%;position:absolute;inset:-4px}.token.is-moving{z-index:4}.token.is-moving .token-body{animation:move-glow var(--move-ms) ease-in-out}.token.is-swap-a .token-body{animation:arc-a var(--move-ms) ease-in-out}.token.is-swap-b .token-body{animation:arc-b var(--move-ms) ease-in-out}.token.is-threat{z-index:5}.token.is-threat .token-body{filter:drop-shadow(0 0 7px #ff3c78f2);animation:.32s ease-in-out infinite alternate threat}.token-ghost{z-index:6;transition:none}.token-ghost .token-tag{display:none}.token-ghost.ghost-aspirate .token-body{animation:spiral var(--beat-ms) linear forwards}.token-ghost.ghost-save .token-body{animation:save-freeze var(--beat-ms) ease-in forwards}.token-ghost.ghost-save .token-body:after{content:"";animation:time-ripple calc(var(--beat-ms) * .3) ease-out calc(var(--beat-ms) * .15) both;border:2px solid #67e8f9;border-radius:50%;position:absolute;inset:-10px;box-shadow:0 0 14px #67e8f9}.token-ghost.ghost-returned .token-body{animation:beam-out var(--beat-ms) ease-in forwards}.save-orb{z-index:60;opacity:0;pointer-events:none;width:30px;height:30px;animation:orb var(--beat-ms) ease-in-out both;background:radial-gradient(circle,#fff 0%,#cffafe 25%,#67e8f9 45%,#22d3ee59 62%,#0000 72%);border-radius:50%;margin:-15px 0 0 -15px;position:absolute;box-shadow:0 0 18px #22d3ee,0 0 40px #22d3ee99}.bulbs{flex-direction:column;align-items:center;gap:8px;display:flex}.bulb{width:32px;height:48px;position:relative}.bulb-glow{background:radial-gradient(circle, color-mix(in srgb, var(--bulb) 75%, transparent) 0%, transparent 68%);opacity:0;pointer-events:none;border-radius:50%;width:74px;height:74px;margin:-37px 0 0 -37px;position:absolute;top:16px;left:50%}.bulb-glass{background:radial-gradient(circle at 34% 28%, #ffffff47, color-mix(in srgb, var(--bulb) 18%, #0b0918) 58%);border:1px solid color-mix(in srgb, var(--bulb) 38%, #2a2840);border-radius:50% 50% 46% 46%/56% 56% 44% 44%;height:32px;position:absolute;top:0;left:2px;right:2px;box-shadow:inset 0 -5px 8px #0000008c}.bulb-glass:after{content:"";background:inherit;border:inherit;border-top:none;border-radius:0 0 4px 4px;height:7px;position:absolute;bottom:-5px;left:26%;right:26%}.bulb-filament{border:1.5px solid color-mix(in srgb, var(--bulb) 35%, #4a4860);border-top:none;border-radius:0 0 6px 6px;width:11px;height:8px;margin-left:-5.5px;position:absolute;top:42%;left:50%}.bulb-base{background:repeating-linear-gradient(#9a97ae 0 2px,#4b4860 2px 4px);border-radius:2px 2px 6px 6px;height:12px;position:absolute;top:35px;left:9px;right:9px;box-shadow:inset 0 0 3px #0009}.bulb.is-on .bulb-glass{background:radial-gradient(circle at 50% 46%, #fff 0%, #fff 14%, var(--bulb) 52%, color-mix(in srgb, var(--bulb) 65%, #000) 100%);border-color:color-mix(in srgb, var(--bulb) 70%, #fff);box-shadow:0 0 14px var(--bulb), inset 0 -4px 8px #00000040}.bulb.is-on .bulb-filament{filter:drop-shadow(0 0 3px #fff);border-color:#fff7d0}.bulb.is-on .bulb-glow{opacity:.85;animation:3.3s linear infinite flicker}.bulb:nth-child(2) .bulb-glow{animation-delay:-1.1s}.bulb:nth-child(3) .bulb-glow{animation-delay:-2.2s}.bulb.is-locked:before{content:"";border:2px dashed var(--gold);border-radius:50%;height:44px;animation:7s linear infinite spin;position:absolute;top:-6px;left:-6px;right:-6px;box-shadow:0 0 10px #ffd54a99}.bulb-lock{filter:drop-shadow(0 0 3px #ffd54ae6);width:15px;height:17px;position:absolute;bottom:-2px;right:-9px}.bulb.is-igniting .bulb-glass,.bulb.is-igniting .bulb-glow{animation:ignite var(--beat-ms) linear both}.bulb.is-dimming .bulb-glass{animation:dim var(--beat-ms) ease-out both}.bulb.is-locking:before{animation:lock-in calc(var(--beat-ms) * .6) ease-out both, spin 7s linear infinite}.bulbs.is-blocked{animation:denied calc(var(--beat-ms) * .5) ease-in-out}.bulbs.is-aimed .bulb-glass{animation:.4s ease-in-out infinite alternate aimed}.conveyor-led{letter-spacing:.3px;color:var(--muted);font:700 10.5px/1.2 ui-monospace,monospace}.conveyor-led.is-on{color:#ff7ab8;text-shadow:0 0 8px #ff5aaacc;animation:1.2s ease-in-out infinite blink}.flag{border-radius:6px;padding:2px 6px;font-size:10px;font-weight:800}.flag-blackout{color:#fff;background:#000;border:1px solid #555}.flag-piege{color:var(--danger);background:#ff6b6b33}.blackout-flash,.blackout-dark{z-index:20;pointer-events:none;opacity:0;position:absolute;inset:0}.blackout-flash{background:radial-gradient(circle at 80% 40%,#fff,#fff9 40%,#fff3)}.blackout-dark{background:#000}.board.fx-blackout .blackout-flash{animation:blackout-flash var(--beat-ms) ease-out both}.board.fx-blackout .blackout-dark{animation:blackout-dark var(--beat-ms) ease-in-out both}.board.fx-blackout .bulb .bulb-glass{animation:dim var(--beat-ms) ease-out both}.reveal{z-index:25;pointer-events:none;opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex;position:absolute;inset:0}.reveal img{border-radius:14px;width:min(48%,190px);box-shadow:0 0 30px #a855f7cc,0 12px 40px #000000b3}.reveal strong{text-shadow:0 0 12px #a855f7e6,0 2px 4px #000;background:#0a081ebf;border-radius:10px;padding:3px 12px;font-size:18px}.reveal-leader{animation:leader-reveal var(--beat-ms) ease-out both}.reveal-out{animation:out-reveal var(--beat-ms) ease-out both}.reveal-out img{filter:grayscale()brightness(.7);box-shadow:0 12px 40px #000000b3}.reveal-out strong{color:var(--danger)}.card-stamp{z-index:24;pointer-events:none;width:112px;animation:stamp-card var(--beat-ms) ease-out both;margin:-78px 0 0 -56px;position:absolute;top:46%;left:50%}.card-stamp img{border-radius:9px;width:100%;box-shadow:0 8px 24px #000000b3}.card-stamp span{border:3px solid var(--danger);letter-spacing:1px;color:var(--danger);white-space:nowrap;animation:stamp calc(var(--beat-ms) * .4) cubic-bezier(.3, 1.6, .5, 1) calc(var(--beat-ms) * .15) both;background:#0a081ed9;border-radius:6px;padding:3px 10px;font:900 16px/1 system-ui,sans-serif;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)rotate(-14deg)}.card-stamp.is-rebound span{color:#ffb020;border-color:#ffb020}@keyframes halo{0%{opacity:calc(.3 + var(--hunger,0) * .1);transform:scale(.88)}to{opacity:calc(.55 + var(--hunger,0) * .15);transform:scale(calc(1.02 + var(--hunger,0) * .08))}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(calc(1.018 + var(--hunger,0) * .008))}}@keyframes eye-glow{0%{opacity:.12}to{opacity:calc(.5 + var(--hunger,0) * .16)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes gulp{0%{filter:brightness(1.5);transform:scale(1.4)}10%,56%{filter:brightness(1.9);transform:scale(1.65)}64%{filter:brightness(2.4);transform:scale(.85)}78%{filter:brightness(1.4);transform:scale(1.12)}to{filter:brightness();transform:scale(1)}}@keyframes gulp-flash{0%,60%{opacity:0;transform:scale(.5)}67%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}@keyframes particle{0%{opacity:0;transform:translate(var(--px), var(--py)) scale(1)}20%{opacity:1}to{opacity:0;transform:translate(0)scale(.2)}}@keyframes shake{0%,to{transform:translate(0)}12%{transform:translate(calc(var(--shake) * -1), calc(var(--shake) * .6))}26%{transform:translate(var(--shake), calc(var(--shake) * -.5))}40%{transform:translate(calc(var(--shake) * -.7), calc(var(--shake) * -.6))}55%{transform:translate(calc(var(--shake) * .6), calc(var(--shake) * .4))}72%{transform:translate(calc(var(--shake) * -.3), calc(var(--shake) * .2))}86%{transform:translate(calc(var(--shake) * .15), 0)}}@keyframes spiral{0%{filter:drop-shadow(0 0 4px #ff3c78e6);transform:translate(0)}5%{transform:translate(2px,-7px)rotate(-6deg)}10%{transform:translate(-2px,-11px)rotate(6deg)}24%{transform:translate(calc(var(--dx) * .15 + 26px), calc(var(--dy) * .25)) rotate(130deg) scale(.9);filter:blur()drop-shadow(0 0 6px #c878ffe6)}38%{transform:translate(calc(var(--dx) * .4 - 22px), calc(var(--dy) * .5)) rotate(300deg) scale(.7);filter:blur(.6px)}50%{transform:translate(calc(var(--dx) * .7 + 12px), calc(var(--dy) * .78)) rotate(470deg) scale(.45);filter:blur(1.4px)brightness(1.3);opacity:1}60%{transform:translate(var(--dx), var(--dy)) rotate(680deg) scale(.08);filter:blur(3px)brightness(2);opacity:0}to{transform:translate(var(--dx), var(--dy)) rotate(680deg) scale(.05);opacity:0}}@keyframes save-freeze{0%{transform:translate(calc(var(--dx) * .12), calc(var(--dy) * .14)) rotate(0deg);filter:drop-shadow(0 0 7px #ff3c78f2)}14%{transform:translate(calc(var(--dx) * .36 + 10px), calc(var(--dy) * .36)) rotate(60deg) scale(.86);filter:none}16%,40%{transform:translate(calc(var(--dx) * .36 + 10px), calc(var(--dy) * .36)) rotate(60deg) scale(.9);filter:saturate(.2)brightness(1.4)drop-shadow(0 0 12px #67e8f9)}44%{transform:translate(calc(var(--dx) * .36 + 10px), calc(var(--dy) * .36)) rotate(0deg) scale(1);filter:saturate(.2)brightness(1.6)drop-shadow(0 0 14px #67e8f9)}54%{transform:translate(calc(var(--dx) * .36 + 10px), calc(var(--dy) * .36)) scaleX(.12) scaleY(1.7);filter:brightness(3)drop-shadow(0 0 14px #67e8f9);opacity:1}60%,to{transform:translate(calc(var(--dx) * .36 + 10px), calc(var(--dy) * .36 - 30px)) scaleX(0) scaleY(2.4);opacity:0}}@keyframes time-ripple{0%{opacity:1;transform:scale(.6)}to{opacity:0;transform:scale(1.9)}}@keyframes beam-out{0%,30%{opacity:1;transform:none}55%{filter:brightness(3);opacity:1;transform:scaleX(.15)scaleY(1.5)}to{filter:brightness(4);opacity:0;transform:translateY(-30px)scaleX(0)scaleY(2.2)}}@keyframes orb{0%,48%{opacity:0;transform:translate(0)scale(.4)}54%{opacity:1;transform:translate(0)scale(1.2)}90%{opacity:1;transform:translate(var(--orb-dx), var(--orb-dy)) scale(.7)}to{opacity:0;transform:translate(var(--orb-dx), var(--orb-dy)) scale(2.2)}}@keyframes materialize{0%{opacity:0;filter:brightness(3)blur(2px);transform:scale(.3)}40%{opacity:1;filter:brightness(1.6);transform:scale(1.14)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes ring{0%{opacity:.9;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}@keyframes move-glow{50%{filter:brightness(1.5) drop-shadow(0 0 8px var(--crew));transform:scale(1.08)}}@keyframes arc-a{50%{transform:translateX(calc(var(--token) * .95)) scale(1.14);filter:drop-shadow(0 0 8px var(--crew))}}@keyframes arc-b{50%{transform:translateX(calc(var(--token) * -.95)) scale(1.14);filter:drop-shadow(0 0 8px var(--crew))}}@keyframes threat{0%{transform:translate(calc(var(--dx) * .12 - 2px), calc(var(--dy) * .14)) rotate(-6deg) scale(1.03)}to{transform:translate(calc(var(--dx) * .12 + 2px), calc(var(--dy) * .14 - 5px)) rotate(6deg) scale(.97)}}@keyframes shield{0%{opacity:.55}to{opacity:1}}@keyframes shield-up{0%{opacity:0;transform:scale(1.8)}45%{opacity:1;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pad-warp{50%{filter:hue-rotate(160deg)brightness(1.7);transform:scaleX(.2)scaleY(1.3)}}@keyframes toast{0%{opacity:0;transform:translate(-50%,8px)}15%,80%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%)}}@keyframes flicker{0%,to{opacity:.85}7%{opacity:.65}9%{opacity:.9}41%{opacity:.78}43%{opacity:.95}70%{opacity:.82}}@keyframes ignite{0%{opacity:.15;filter:brightness(.5)}12%{opacity:1;filter:brightness(2.2)}20%{opacity:.25;filter:brightness(.8)}32%{opacity:1;filter:brightness(1.9)}to{filter:brightness()}}@keyframes dim{0%{filter:brightness(3)saturate(1.4)}18%{filter:brightness(4)}to{filter:brightness()}}@keyframes lock-in{0%{opacity:0;transform:scale(1.8)}}@keyframes denied{20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes blackout-flash{0%{opacity:0}8%{opacity:.9}22%,to{opacity:0}}@keyframes blackout-dark{0%,12%{opacity:0}28%,62%{opacity:.72}to{opacity:0}}@keyframes leader-reveal{0%,56%{opacity:0;transform:scale(.6)}66%{opacity:1;transform:scale(1.05)}90%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes out-reveal{0%{opacity:0;transform:scale(.9)}15%,85%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes stamp-card{0%{opacity:0;transform:scale(.7)}12%,70%{opacity:1;filter:none;transform:scale(1)}to{opacity:0;filter:grayscale()brightness(.6);transform:scale(.9)rotate(-6deg)}}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-14deg)scale(2.4)}to{opacity:1;transform:translate(-50%,-50%)rotate(-14deg)scale(1)}}@keyframes bands{to{transform:translateY(-40px)}}@media (prefers-reduced-motion:reduce){.vorax-halo,.vorax-body,.vorax-eye,.mouth-ring,.rail.is-running .rail-bands,.bulb.is-on .bulb-glow,.bulb.is-locked:before,.token.is-shielded .token-body:before,.conveyor-led.is-on,.case.is-aimed .pad-ring,.rail.is-aimed .pad-ring,.bulbs.is-aimed .bulb-glass{animation:none!important}.case.is-aimed .pad-ring,.rail.is-aimed .pad-ring,.case.is-target .pad-ring{opacity:1}.case.is-target .pad-ring,.board.fx-aspirate .board-inner,.bulbs.is-blocked{animation:none}.token.is-threat .token-body{animation:none;transform:translateY(-8px)}.token-ghost.ghost-aspirate .token-body,.token-ghost.ghost-save .token-body,.token-ghost.ghost-returned .token-body{animation:fade-away var(--beat-ms) ease-in forwards}.token.is-swap-a .token-body,.token.is-swap-b .token-body,.token.is-moving .token-body,.board.fx-distort .pad,.board.fx-aspirate .vorax-mouth{animation:none}.token.is-arrive .token-body{animation:fade-in calc(var(--beat-ms) * .6) ease-out both}.board.fx-aspirate .vorax-flash{animation:soft-flash var(--beat-ms) ease-out both}.particle{display:none}.reveal-leader{animation:out-reveal var(--beat-ms) ease-out both}@keyframes fade-away{0%,20%{opacity:1}60%,to{opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes soft-flash{0%,55%{opacity:0}70%{opacity:.35}to{opacity:0}}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0e0a24;--panel:#1a1440;--text:#ece9ff;--muted:#a49bd1;--accent:#7c3aed;--accent-2:#a78bfa;--gold:#ffd54a;--danger:#ff6b6b;--good:#6ee7a0;--bar-h:70px;--status-h:50px;--hand-h:118px;--journal-h:34px;--vorax-h:clamp(84px, 13.5dvh, 150px);--game-w:480px;--case-h:clamp(34px, calc((100dvh - var(--bar-h) - var(--status-h) - var(--hand-h) - var(--journal-h) - var(--vorax-h) - 12px) / 7), 66px);color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:radial-gradient(1.5px 1.5px at 12% 22%, #ffffffb3, transparent), radial-gradient(1px 1px at 22% 68%, #ffffff8c, transparent), radial-gradient(1.5px 1.5px at 8% 84%, #bedcff99, transparent), radial-gradient(1px 1px at 30% 40%, #fff6, transparent), radial-gradient(1.5px 1.5px at 88% 18%, #ffffffa6, transparent), radial-gradient(1px 1px at 76% 56%, #ffd2ff8c, transparent), radial-gradient(1.5px 1.5px at 93% 77%, #ffffff80, transparent), radial-gradient(1px 1px at 69% 90%, #ffffff73, transparent), radial-gradient(ellipse at 50% -10%, #3b1d7a 0%, transparent 55%), radial-gradient(ellipse at 80% 110%, #1b2a6b 0%, transparent 50%), var(--bg);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;background-attachment:fixed;min-height:100%;margin:0}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.btn{white-space:nowrap;text-align:center;background:#ffffff14;border:1px solid #ffffff38;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-block}.btn-primary{background:linear-gradient(#8b5cf6,#6d28d9);border-color:#0000;box-shadow:0 2px 10px #7c3aed73}.btn-ghost{background:0 0}.btn-wide{width:100%}.btn-big{padding:14px;font-size:17px}.btn-small{padding:6px 10px;font-size:12px}.game{height:100dvh;max-width:var(--game-w);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}.preview-target{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.preview-target img{-webkit-touch-callout:none;pointer-events:none}@media (width>=900px) and (height>=640px){:root{--game-w:580px}.game{background:linear-gradient(#140e348c,#0a081ebf);border-left:1px solid #9682ff38;border-right:1px solid #9682ff38;box-shadow:0 0 40px #7c3aed2e,inset 0 0 60px #00000059}}.crews-bar{height:var(--bar-h);scrollbar-width:none;flex:none;gap:4px;padding:5px 6px;display:flex;overflow-x:auto}.crew-chip{background:#ffffff0d;border:2px solid #0000;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:1px;min-width:46px;max-width:100px;padding:3px 2px;font-size:10.5px;line-height:1.1;transition:opacity .3s,filter .3s;display:flex;position:relative}.crew-chip:disabled{opacity:1}.crew-chip.is-me{background:#ffffff1a}.crew-chip.is-turn{border-color:var(--crew);box-shadow:0 0 12px var(--crew)}.crew-chip.is-asked{border-style:dashed;border-color:var(--crew)}.crew-chip.is-target{border-color:var(--gold)}.crew-chip.is-target:after,.crew-chip.is-flash:after{content:"";border:2px solid var(--gold);pointer-events:none;border-radius:12px;animation:1s ease-out infinite chip-ring;position:absolute;inset:-2px}.crew-chip.is-flash:after{animation:chip-ring calc(var(--beat-ms,.9s) * .4) ease-out calc(var(--beat-ms,.9s) * .55) 2 both;border-color:#67e8f9}.crew-chip.is-aimed{border-color:var(--danger);animation:.5s ease-in-out infinite alternate aimed}.crew-chip.is-aimed.is-me{background:#ff50504d;border-color:#fff}.crew-chip.is-selected{background:color-mix(in srgb, var(--gold) 25%, transparent)}.crew-chip.is-out{filter:grayscale();opacity:.4}.chip-avatar{height:34px;display:block;position:relative}.chip-name{color:var(--crew);white-space:nowrap;font-weight:700}.chip-stats{color:var(--muted);white-space:nowrap;gap:4px;display:flex}.chip-effects{gap:1px;font-size:10px;display:flex;position:absolute;top:2px;left:2px}.badge{font-size:12px;line-height:1;position:absolute;top:-4px;right:-8px}.badge-out{color:var(--danger);font-size:18px;font-weight:900;top:6px;right:6px}.badge-pick{background:var(--gold);color:#000;border-radius:8px;padding:1px 4px;font-size:10px;font-weight:800;left:-8px;right:auto}.avatar{object-fit:cover;object-position:50% 16%;background:#05030f;border:2px solid;border-radius:50%;flex:none;display:block}.avatar-leader{object-position:50% 22%}.status{height:var(--status-h);z-index:5;background:#ffffff0d;border-top:1px solid #ffffff14;flex:none;align-items:center;gap:6px;padding:4px 8px;display:flex;position:relative}.status.is-mine{background:#7c3aed2e}.prompt{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;margin:0;font-size:13px;line-height:1.2;display:-webkit-box;overflow:hidden}.actions{flex:none;gap:4px;display:flex}.btn-icon{letter-spacing:-1px;width:38px;padding:7px 0;font-size:13px}.hand{height:var(--hand-h);flex:none;justify-content:center;align-items:flex-end;padding:0 10px 6px;display:flex}.hand-card{--w:clamp(54px, calc((min(100vw, var(--game-w)) + 60px) / 6.4), 82px);width:var(--w);height:calc(var(--w) * 1.4);transform:translateY(var(--lift)) rotate(var(--angle));transform-origin:50% 130%;touch-action:none;background:0 0;border:none;border-radius:7px;flex:none;margin-left:-16px;padding:0;transition:transform .2s}.hand-card:first-child{margin-left:0}.hand-card img{object-fit:cover;pointer-events:none;border-radius:7px;width:100%;height:100%;display:block;box-shadow:0 4px 10px #0000008c}.hand-card.is-unplayable img{filter:grayscale(.85)brightness(.6)}.hand.is-waiting .hand-card img{filter:brightness(.75)}.hand-card.is-selected{z-index:2;transform:translateY(-14px)rotate(0)scale(1.06)}.hand-card.is-selected img{outline:3px solid var(--gold)}@media (hover:hover){.hand-card:hover{z-index:3;transform:translateY(-8px)rotate(0)}}.journal-bar{height:var(--journal-h);text-align:left;background:#00000059;border:none;border-top:1px solid #ffffff14;flex:none;align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.journal-title{color:var(--accent-2);font-weight:800}.journal-title:before{content:"▴ "}.journal-last{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);flex:1;overflow:hidden}.journal-last.is-mine{color:#ffb4b4;font-weight:700}.overlay{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#050314bf;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid #ffffff26;border-radius:16px;width:min(420px,100%);max-height:94dvh;padding:16px;overflow:auto;box-shadow:0 20px 60px #0009}.modal h2{text-align:center;margin:0 0 8px;font-size:19px}.sheet-backdrop{justify-content:flex-end;padding:0}.sheet{background:var(--panel);border:1px solid #ffffff1f;border-radius:16px 16px 0 0;flex-direction:column;width:min(480px,100%);max-height:72dvh;animation:.25s ease-out slide-up;display:flex}.sheet-head{justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.journal-list{margin:0;padding:0 14px 18px;font-size:13px;list-style:none;overflow:auto}.journal-list li{border-bottom:1px solid #ffffff0f;padding:4px 0}.journal-list li.has-card{align-items:center;gap:8px;display:flex}.card-thumb{touch-action:pan-y;cursor:zoom-in;flex:none;display:inline-block}.card-thumb img{border-radius:4px;width:100%;display:block;box-shadow:0 2px 6px #00000080}.log-card{width:26px}.log-turn{color:var(--accent-2);font-weight:800;padding-top:10px!important}.log-play{font-weight:700}.log-danger{color:#ffa3a3}.log-good{color:var(--good)}.log-info{color:#d7d2f5}.log-end{color:var(--gold);font-weight:800}.journal-list li.log-mine{border-left:3px solid var(--danger);padding-left:6px;font-weight:700}.card-details{flex-direction:column;align-items:center;gap:8px;max-width:340px;display:flex}.card-details img{border-radius:12px;max-width:100%;max-height:52dvh;box-shadow:0 8px 30px #0009}.card-details-text{text-align:center;flex-direction:column;gap:3px;display:flex}.card-details-text strong{font-size:17px}.card-details-text em{color:var(--muted);font-size:12px}.card-details-text p{margin:2px 0;font-size:14px;line-height:1.35}.card-details-text small{color:var(--muted)}.card-preview{z-index:90;pointer-events:none;background:#050314b8;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fade;display:flex;position:fixed;inset:0}.card-preview .card-details{width:min(330px,100%);animation:.18s ease-out preview-in}.card-preview .card-details img{max-height:56dvh}.card-preview .card-details-text{background:var(--panel);border:1px solid #ffffff24;border-radius:12px;align-self:stretch;padding:10px 12px}.reaction.is-mine{border-color:#ff6b6bb3;box-shadow:0 0 0 1px #ff6b6b59,0 20px 60px #0009}.reaction.is-mine h2{color:#ffb4b4}.reaction-scene{justify-content:center;align-items:center;gap:8px;margin:4px 0 6px;display:flex}.reaction-played{width:116px}.reaction-played img{border-radius:9px;box-shadow:0 6px 22px #000000a6}.reaction-arrow{color:var(--muted);font-size:20px}.reaction-targets{flex-direction:column;gap:6px;display:flex}.reaction-crew{color:var(--crew);text-align:center;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;font-weight:700;line-height:1.15;display:flex}.reaction-crew.is-me{color:#fff}.reaction-crew.is-me .avatar{box-shadow:0 0 0 3px var(--danger)}.reaction-member small{color:var(--muted);font-weight:600}.reaction-all{color:var(--muted);text-align:center;max-width:90px;font-size:12px}.reaction-vorax img{object-fit:cover;object-position:52% 46%;border-radius:50%;width:92px;height:92px;box-shadow:0 0 22px #a855f7cc}.reaction-detail{text-align:center;margin:6px 0 10px;font-size:14px}.reaction-hand-title{text-transform:uppercase;letter-spacing:1px;color:var(--muted);text-align:center;margin:0 0 6px;font-size:12px}.reaction-hand{justify-content:center;gap:6px;padding:6px 0 4px;display:flex}.reaction-hand-card{width:54px;transition:transform .2s,opacity .2s,filter .2s}.reaction-hand-card.is-invalid{opacity:.45;filter:grayscale(.8)}.reaction-hand-card.is-valid{cursor:pointer;transform:translateY(-6px)}.reaction-hand-card.is-valid img{outline:2px solid #5eb8ff;box-shadow:0 0 14px #5eb8ffd9}.reaction-hand-card.is-chosen{transform:translateY(-10px)scale(1.08)}.reaction-hand-card.is-chosen img{outline:3px solid var(--gold);box-shadow:0 0 18px #ffd54ae6}.reaction-effect{text-align:center;margin:6px 0 10px;font-size:12.5px;line-height:1.35}.reaction-buttons{flex-direction:column;gap:8px;display:flex}.countdown{text-align:center;color:var(--gold);font-weight:800}.end p{text-align:center;color:var(--muted)}.winners{justify-content:center;gap:18px;margin:8px 0;display:flex}.winner{flex-direction:column;align-items:center;gap:6px;font-weight:700;display:flex}.end-actions{flex-direction:column;gap:8px;margin-top:12px;display:flex}.fx-layer{z-index:35;pointer-events:none;position:absolute;inset:0;overflow:hidden}.banner-layer{left:0;right:0;top:var(--bar-h);bottom:calc(var(--status-h) + var(--hand-h) + var(--journal-h));z-index:30;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute}.banner{border:2px solid var(--crew);width:min(62%,230px);box-shadow:0 0 26px color-mix(in srgb, var(--crew) 55%, transparent), 0 18px 50px #000000b3;text-align:center;background:#0e0a24eb;border-radius:16px;flex-direction:column;align-items:center;gap:4px;padding:10px 10px 12px;transition:transform .4s ease-in,opacity .4s ease-in;animation:.3s cubic-bezier(.2,.9,.3,1.2) banner-in;display:flex}.banner.is-docked{opacity:0;transform:translate(-62%,-24%)scale(.32)}.banner-head{color:var(--crew);align-items:center;gap:6px;font-size:14px;font-weight:800;display:flex}.banner-card{border-radius:10px;width:100%;box-shadow:0 6px 20px #0009}.banner-name{font-size:16px}.banner-detail{color:var(--muted);margin:0;font-size:13px;line-height:1.25}.banner.is-mine{border-color:var(--danger);box-shadow:0 0 30px #ff5050b3,0 18px 50px #000000b3}.banner.is-mine .banner-detail{color:#ffb4b4;font-size:14px;font-weight:800}.banner-protect{border-color:#5eb8ff}.banner-faille{border-color:#67e8f9}.banner-discard .banner-card{filter:grayscale(.6)brightness(.8)}.game.is-paused *,.game.is-paused :before,.game.is-paused :after{animation-play-state:paused!important}.pause-sheet{z-index:45;background:var(--panel);border-top:1px solid #ffffff26;border-radius:16px 16px 0 0;flex-direction:column;gap:8px;padding:14px 16px 18px;animation:.25s ease-out slide-up;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -12px 40px #0009}.game.is-paused .pause-sheet,.game.is-paused .pause-sheet *{animation-play-state:running!important}.pause-head{align-items:baseline;gap:10px;display:flex}.pause-head strong{font-size:19px}.pause-head span{color:var(--muted);font-size:12.5px}.pause-sheet h3{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:4px 0 0;font-size:12px}.pause-actions{flex-direction:column;gap:8px;margin-top:4px;display:flex}.pause-sheet .hint{text-align:center}.home{flex-direction:column;gap:14px;max-width:480px;margin:0 auto;padding:12px 16px 40px;display:flex}.home-hero{position:relative}.home-hero img{object-fit:cover;object-position:50% 40%;border-radius:18px;width:100%;height:160px;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.home-hero h1{text-align:center;letter-spacing:2px;text-shadow:0 2px 12px #000;margin:0;font-size:34px;position:absolute;bottom:-4px;left:0;right:0}.home-hero h1 span{letter-spacing:6px;color:var(--accent-2);text-transform:uppercase;font-size:14px;display:block}.field h2{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 6px;font-size:13px}.hint{color:var(--muted);margin:6px 0 0;font-size:12.5px}.segmented{background:#ffffff0f;border-radius:12px;gap:4px;padding:4px;display:flex}.segmented button{background:0 0;border:none;border-radius:9px;flex:1;padding:10px 0;font-weight:700}.segmented button.is-on{background:var(--accent);box-shadow:0 2px 10px #7c3aed80}.crew-picker{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.crew-pick{color:var(--crew);background:#ffffff0a;border:2px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:10.5px;font-weight:700;display:flex}.crew-pick.is-on{border-color:var(--crew);background:color-mix(in srgb, var(--crew) 22%, transparent)}.crew-pick .avatar{max-width:100%}.seed-input{width:100%;color:var(--text);background:#0000004d;border:1px solid #fff3;border-radius:10px;padding:11px 12px;font-size:16px}.rules{background:#ffffff0a;border-radius:12px;padding:10px 14px;font-size:13.5px;line-height:1.45}.rules summary{cursor:pointer;font-weight:700}.rules ul{padding-left:18px}@keyframes blink{50%{opacity:.55}}@keyframes pop{0%{opacity:0;transform:scale(.6)}}@keyframes fade{0%{opacity:0}}@keyframes chip-ring{0%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes aimed{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.5)drop-shadow(0 0 6px #ff5a5ae6);transform:scale(1.06)}}@keyframes banner-in{0%{opacity:0;transform:scale(.6)}}@keyframes preview-in{0%{opacity:0;transform:scale(.85)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.banner{animation:.2s ease-out fade}.banner.is-docked{transform:none}.crew-chip.is-aimed{background:#ff505038;animation:none}.crew-chip.is-target:after,.crew-chip.is-flash:after{opacity:.8;animation:none}.hand-card,.reaction-hand-card{transition:none}}
