/*
! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.aspect-\[10\/20\]{aspect-ratio:10/20}.h-full{height:100%}.min-h-dvh{min-height:100dvh}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.overflow-hidden,.truncate{overflow:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap}.text-balance{text-wrap:balance}.rounded-\[18px\]{border-radius:18px}.bg-\[\#020309\]{--tw-bg-opacity:1;background-color:rgb(2 3 9/var(--tw-bg-opacity))}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-ink{--tw-bg-opacity:1;background-color:rgb(8 9 13/var(--tw-bg-opacity))}.bg-panel{--tw-bg-opacity:1;background-color:rgb(17 20 27/var(--tw-bg-opacity))}.bg-\[radial-gradient\(circle_at_50\%_20\%\2c rgba\(94\2c 234\2c 212\2c 0\.16\)\2c transparent_34rem\)\]{background-image:radial-gradient(circle at 50% 20%,rgba(94,234,212,.16),transparent 34rem)}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-7{padding-left:1.75rem;padding-right:1.75rem}.py-\[max\(18px\2c env\(safe-area-inset-top\)\)\]{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:max(18px,env(safe-area-inset-top))}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-normal{letter-spacing:0}.text-coral{--tw-text-opacity:1;color:rgb(251 113 133/var(--tw-text-opacity))}.text-cyan\/75{color:rgba(56,189,248,.75)}.text-mint{--tw-text-opacity:1;color:rgb(94 234 212/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-white\/45{color:hsla(0,0%,100%,.45)}.text-white\/60{color:hsla(0,0%,100%,.6)}.underline{text-decoration-line:underline}.decoration-white\/20{text-decoration-color:hsla(0,0%,100%,.2)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-\[2px\]{--tw-backdrop-blur:blur(2px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}:root{color-scheme:dark;--app-height:100dvh;--board-size:280px;--board-room-size:250px}*{box-sizing:border-box}body,html{width:100%;height:100%;min-height:100%;margin:0;overflow:hidden;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation}body{background:#05070b;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Inter,Arial,sans-serif;-moz-user-select:none;user-select:none;-webkit-user-select:none}button{-webkit-tap-highlight-color:transparent}.game-shell{position:relative;isolation:isolate;min-height:var(--app-height);background:radial-gradient(circle at 18% -8%,rgba(56,189,248,.24),transparent 28rem),radial-gradient(circle at 86% 8%,rgba(94,234,212,.16),transparent 27rem),radial-gradient(circle at 50% 108%,rgba(99,102,241,.12),transparent 28rem),linear-gradient(180deg,#0a0f18,#060911 54%,#03050a)}.game-shell:after,.game-shell:before{position:absolute;inset:0;content:"";pointer-events:none}.game-shell:before{z-index:0;background-image:linear-gradient(rgba(94,234,212,.04) 1px,transparent 0),linear-gradient(90deg,rgba(56,189,248,.035) 1px,transparent 0);background-size:34px 34px;-webkit-mask-image:radial-gradient(circle at 50% 35%,#000 0,transparent 72%);mask-image:radial-gradient(circle at 50% 35%,#000 0,transparent 72%);opacity:.55}.game-shell:after{z-index:0;background:radial-gradient(circle at 50% 44%,transparent 0 42%,rgba(0,0,0,.42) 100%),linear-gradient(135deg,hsla(0,0%,100%,.025),transparent 28%,hsla(0,0%,100%,.014) 62%,transparent);opacity:.9}.game-screen{height:var(--app-height);min-height:var(--app-height);max-width:100vw;overflow:hidden;padding:max(12px,calc(env(safe-area-inset-top) + 10px)) 10px max(22px,calc(env(safe-area-inset-bottom) + 20px));display:flex;justify-content:center;touch-action:none}.game-cabinet{position:relative;z-index:1;display:grid;grid-template-rows:auto minmax(0,1fr);max-width:430px;min-height:0;overflow:hidden;border:1px solid hsla(0,0%,100%,.13);border-radius:30px;background:radial-gradient(circle at 50% -4%,rgba(56,189,248,.18),transparent 32%),radial-gradient(circle at 12% 72%,rgba(94,234,212,.08),transparent 30%),linear-gradient(180deg,hsla(0,0%,100%,.078),hsla(0,0%,100%,.026)),rgba(7,10,16,.92);box-shadow:0 0 0 1px rgba(94,234,212,.08),0 30px 88px rgba(0,0,0,.52),0 0 42px rgba(56,189,248,.12),inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -24px 52px rgba(0,0,0,.36);padding:9px 10px 11px;animation:shellIn .36s ease both}.game-cabinet:before{position:absolute;inset:8px;border:1px solid rgba(94,234,212,.07);border-radius:24px;content:"";pointer-events:none}.game-top{min-height:0}.game-top>div:first-child p{color:rgba(56,189,248,.9);text-shadow:0 0 14px rgba(56,189,248,.36)}.game-top h1{text-shadow:0 10px 26px rgba(0,0,0,.36)}.game-play{display:grid;grid-template-rows:minmax(0,1fr) auto auto;min-height:0;gap:clamp(4px,.65dvh,7px);overflow:hidden;padding-top:clamp(4px,.65dvh,7px);border-radius:24px;background:radial-gradient(circle at 50% 12%,rgba(56,189,248,.06),transparent 42%),linear-gradient(180deg,rgba(15,23,42,.42),rgba(15,23,42,.08)),hsla(0,0%,100%,.012)}.game-play-room .game-board-size{width:var(--board-room-size)}.board-zone{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}.board-frame{border:1px solid rgba(138,180,248,.12);background:linear-gradient(180deg,rgba(6,10,18,.98),rgba(4,6,11,.98));box-shadow:0 0 0 1px hsla(0,0%,100%,.13),0 18px 52px rgba(0,0,0,.56),0 0 34px rgba(56,189,248,.2),0 0 0 4px rgba(56,189,248,.025),inset 0 0 26px rgba(94,234,212,.07)}.board-frame:after{position:absolute;inset:0;z-index:1;border-radius:inherit;background:linear-gradient(135deg,hsla(0,0%,100%,.055),transparent 18%,transparent 72%,rgba(94,234,212,.035)),radial-gradient(circle at 50% 0,rgba(94,234,212,.055),transparent 34%);box-shadow:inset 0 0 34px rgba(0,0,0,.34);content:"";pointer-events:none}.board-frame>canvas{position:relative;z-index:0}.board-frame>div{z-index:2}.game-board-size{width:var(--board-size);min-width:0;min-height:0;max-width:none;height:auto}.game-hud-row{grid-template-columns:minmax(62px,auto) minmax(0,1fr) 52px;align-items:stretch;gap:5px}.game-hud-row,.hud-grid{display:grid;min-width:0}.hud-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.piece-preview{width:52px;min-width:0;border:1px solid rgba(94,234,212,.13);border-radius:10px;background:radial-gradient(circle at 50% 18%,rgba(94,234,212,.07),transparent 44%),linear-gradient(180deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.025));padding:4px 3px;text-align:center;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.075),0 0 18px rgba(94,234,212,.055)}.piece-preview p{margin:0 0 3px;color:hsla(0,0%,100%,.58);font-size:8px;font-weight:950;line-height:1}.piece-preview-grid{display:grid;grid-template-columns:repeat(4,6px);grid-template-rows:repeat(4,6px);justify-content:center;align-content:center;min-height:28px;gap:1px}.piece-preview-grid span{width:6px;height:6px;border-radius:2px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.22),0 0 8px currentColor}.piece-preview-grid em{grid-column:1/-1;align-self:center;color:hsla(0,0%,100%,.35);font-size:9px;font-style:normal;font-weight:900}.battle-notice{width:-moz-max-content;width:max-content;max-width:min(280px,86vw);margin:0 auto;border:1px solid rgba(94,234,212,.42);border-radius:999px;background:linear-gradient(180deg,rgba(94,234,212,.16),rgba(8,14,23,.84)),rgba(5,10,18,.78);padding:4px 9px;color:#fff;font-size:10px;font-weight:950;box-shadow:0 0 24px rgba(94,234,212,.22),inset 0 1px 0 hsla(0,0%,100%,.12);pointer-events:none;animation:noticePulse 1.2s ease both}.opponent-zone{display:grid;align-content:center;justify-items:center;gap:3px;min-height:0;overflow:hidden}.hud-stat{min-width:0;border:1px solid hsla(0,0%,100%,.085);border-radius:8px;background:linear-gradient(180deg,hsla(0,0%,100%,.064),hsla(0,0%,100%,.028)),rgba(8,14,23,.34);padding:3px 2px 2px;text-align:center;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.075),0 8px 18px rgba(0,0,0,.12);transition:border-color .16s ease,box-shadow .16s ease}.hud-stat:hover{border-color:rgba(94,234,212,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.09),0 10px 22px rgba(0,0,0,.16),0 0 18px rgba(94,234,212,.045)}.status-badge{min-width:62px;border:1px solid rgba(94,234,212,.2);border-radius:999px;background:radial-gradient(circle at 50% 0,rgba(94,234,212,.12),transparent 58%),linear-gradient(180deg,hsla(0,0%,100%,.09),hsla(0,0%,100%,.035));padding:7px 8px;text-align:center;color:#fff;font-size:13px;font-weight:950;line-height:1;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 0 22px rgba(94,234,212,.08)}.mini-action{min-height:28px;border:1px solid hsla(0,0%,100%,.13);border-radius:999px;background:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.032)),rgba(0,0,0,.14);padding:0 9px;color:hsla(0,0%,100%,.86);font-size:10px;font-weight:900;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.09),0 8px 18px rgba(0,0,0,.16);transition:transform .11s ease,border-color .14s ease,background .14s ease}.mini-action:disabled{opacity:.45}.mini-action:active{transform:translateY(1px);background:rgba(94,234,212,.15)}.press-start{margin-top:18px;min-height:40px;border:1px solid rgba(94,234,212,.48);border-radius:999px;background:radial-gradient(circle at 50% 0,hsla(0,0%,100%,.14),transparent 52%),linear-gradient(180deg,rgba(94,234,212,.26),rgba(56,189,248,.08));padding:0 22px;color:#fff;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.14),0 12px 30px rgba(0,0,0,.32),0 0 28px rgba(94,234,212,.18);touch-action:none;transition:transform .11s ease,box-shadow .14s ease,border-color .14s ease}.press-start:active{transform:translateY(1px) scale(.98)}.press-start:disabled{opacity:.68;transform:none;background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.16);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.handheld-controls{display:grid;grid-template-columns:minmax(128px,1fr) minmax(142px,1fr);align-items:center;gap:clamp(12px,4vw,22px);width:100%;height:clamp(142px,19dvh,166px);min-height:142px;overflow:visible;margin-top:0;padding:4px clamp(10px,4vw,24px) max(10px,env(safe-area-inset-bottom))}.dpad{display:grid;grid-template-columns:repeat(2,minmax(58px,72px));grid-template-rows:repeat(2,minmax(58px,72px));grid-template-areas:"left right" "down down";place-items:center;gap:6px 8px;width:clamp(128px,34vw,160px);min-height:132px;justify-self:end;border:1px solid rgba(148,163,184,.14);border-radius:22px;background:radial-gradient(circle at 50% 0,rgba(96,165,250,.1),transparent 58%),linear-gradient(180deg,hsla(0,0%,100%,.066),hsla(0,0%,100%,.022)),rgba(8,14,23,.78);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.09),inset 0 -14px 24px rgba(0,0,0,.2),0 16px 30px rgba(0,0,0,.28),0 0 24px rgba(56,189,248,.055)}.dpad:before{content:"";grid-column:1/-1;grid-row:1/-1;align-self:center;justify-self:center;width:58px;height:58px;border-radius:12px;background:linear-gradient(180deg,rgba(104,122,150,.7),rgba(35,47,66,.88));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),inset 0 -8px 14px rgba(0,0,0,.24)}.action-pad{display:grid;grid-template-columns:repeat(2,minmax(58px,72px));grid-template-rows:56px minmax(58px,72px);gap:8px 10px;justify-items:center;justify-self:start;width:clamp(142px,38vw,180px);border:1px solid rgba(148,163,184,.14);border-radius:23px;background:radial-gradient(circle at 50% 0,rgba(94,234,212,.08),transparent 58%),linear-gradient(180deg,hsla(0,0%,100%,.064),hsla(0,0%,100%,.022)),rgba(8,14,23,.68);padding:8px 10px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),inset 0 -12px 22px rgba(0,0,0,.2),0 16px 30px rgba(0,0,0,.24),0 0 28px rgba(56,189,248,.08);transform:none}.game-control{display:inline-flex;align-items:center;justify-content:center;border:1px solid hsla(0,0%,100%,.14);background:radial-gradient(circle at 34% 18%,hsla(0,0%,100%,.15),transparent 32%),linear-gradient(180deg,rgba(91,111,140,.98),rgba(33,45,64,.98));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.18),inset 0 -8px 14px rgba(0,0,0,.22),0 12px 24px rgba(0,0,0,.24);color:#fff;font-weight:950;touch-action:none;transition:transform .1s ease,background .1s ease,box-shadow .1s ease,filter .1s ease}.game-control:active{transform:translateY(3px) scale(.94);background:linear-gradient(180deg,rgba(94,234,212,.42),rgba(47,70,92,.98));box-shadow:inset 0 5px 16px rgba(0,0,0,.34),0 7px 20px rgba(0,0,0,.18),0 0 26px rgba(94,234,212,.2)}.game-control:disabled{opacity:.44;transform:none;filter:saturate(.55);color:hsla(0,0%,100%,.45);background:linear-gradient(180deg,rgba(83,92,118,.52),rgba(26,34,50,.78));box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),inset 0 -6px 12px rgba(0,0,0,.24)}.game-control-pad{position:relative;z-index:1;border-radius:13px;font-size:24px}.game-control-pad,.game-control-round{width:clamp(58px,15vw,72px);height:clamp(58px,15vw,72px)}.game-control-round{border-radius:999px;flex-direction:column;font-size:clamp(21px,6.4vw,28px);letter-spacing:0;background:radial-gradient(circle at 30% 22%,hsla(0,0%,100%,.4),transparent 23%),radial-gradient(circle at 70% 86%,rgba(6,182,212,.18),transparent 36%),linear-gradient(180deg,rgba(69,207,224,.92),rgba(18,88,113,.98));color:#dffcff;box-shadow:inset 0 2px 0 hsla(0,0%,100%,.22),inset 0 -10px 18px rgba(0,0,0,.24),0 14px 28px rgba(0,0,0,.28),0 0 26px rgba(94,234,212,.2)}.game-control-hold{grid-column:1/-1;justify-self:center;width:clamp(82px,22vw,112px);height:56px;border-radius:18px;flex-direction:column;font-size:20px;background:radial-gradient(circle at 32% 24%,hsla(0,0%,100%,.3),transparent 22%),linear-gradient(180deg,rgba(129,140,248,.9),rgba(55,67,126,.98));box-shadow:inset 0 2px 0 hsla(0,0%,100%,.18),inset 0 -10px 18px rgba(0,0,0,.24),0 12px 24px rgba(0,0,0,.25),0 0 22px rgba(129,140,248,.18)}.game-control-round:active{background:radial-gradient(circle at 34% 24%,hsla(0,0%,100%,.46),transparent 24%),linear-gradient(180deg,rgba(104,232,245,.96),rgba(20,104,130,.98))}.game-control-round small{display:block;margin-top:-1px;font-size:9px;line-height:1;color:hsla(0,0%,100%,.58);text-align:center;white-space:nowrap;transform:none}.game-control-accent{border-color:rgba(94,234,212,.42)}.dpad-left{grid-area:left}.dpad-right{grid-area:right}.dpad-down{grid-area:down}.dpad-down:active,.dpad-left:active,.dpad-right:active{transform:translateY(2px) scale(.96)}.room-panel{position:relative;display:grid;grid-template-columns:minmax(92px,1fr) auto auto;align-items:center;gap:6px;min-height:38px;margin-top:6px;border:1px solid hsla(0,0%,100%,.075);border-radius:13px;background:radial-gradient(circle at 8% 0,rgba(94,234,212,.075),transparent 40%),linear-gradient(180deg,hsla(0,0%,100%,.064),hsla(0,0%,100%,.024)),rgba(4,8,14,.48);padding:5px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.07),0 8px 20px rgba(0,0,0,.12)}.room-panel-live{grid-template-columns:minmax(0,1fr) auto;min-height:34px}.room-kicker{color:rgba(94,234,212,.82);font-size:8px;font-weight:900;letter-spacing:.14em;line-height:1}.room-code-row{display:flex;align-items:center;gap:5px;margin-top:2px}.room-summary{margin:2px 0 0;overflow:hidden;color:#fff;font-size:12px;font-weight:950;line-height:1;text-overflow:ellipsis;white-space:nowrap}.room-summary-compact{display:none}.room-code{color:#ecfeff;font-size:15px;font-weight:950;line-height:1;letter-spacing:.08em;text-shadow:0 0 16px rgba(94,234,212,.24)}.room-count{border:1px solid rgba(94,234,212,.15);border-radius:999px;background:rgba(94,234,212,.075);padding:2px 5px;color:rgba(222,252,255,.78);font-size:8px;font-weight:900;line-height:1}.room-actions{display:flex;gap:5px}.room-button{min-height:28px;border:1px solid hsla(0,0%,100%,.12);border-radius:999px;background:linear-gradient(180deg,hsla(0,0%,100%,.088),hsla(0,0%,100%,.035)),rgba(0,0,0,.12);padding:0 9px;color:hsla(0,0%,100%,.86);font-size:10px;font-weight:950;white-space:nowrap;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08),0 8px 18px rgba(0,0,0,.13);transition:transform .11s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.room-button-primary{border-color:rgba(94,234,212,.38);background:radial-gradient(circle at 50% 0,hsla(0,0%,100%,.13),transparent 56%),linear-gradient(180deg,rgba(94,234,212,.24),rgba(56,189,248,.09));color:#f0fdff;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 0 18px rgba(94,234,212,.1),0 8px 18px rgba(0,0,0,.13)}.room-button:active{transform:translateY(1px) scale(.98)}.room-input-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:28px;border:1px solid rgba(94,234,212,.12);border-radius:999px;background:linear-gradient(180deg,hsla(0,0%,100%,.038),hsla(0,0%,100%,.012)),rgba(0,0,0,.18);padding:0 8px}.room-input-wrap span{color:hsla(0,0%,100%,.5);font-size:9px;font-weight:900;white-space:nowrap}.room-input-wrap input{width:100%;min-width:0;border:0;background:transparent;color:#fff;font-size:12px;font-weight:950;outline:0;text-transform:uppercase}.room-error,.room-player-line{grid-column:1/-1;margin:0;overflow:hidden;color:hsla(0,0%,100%,.54);font-size:9px;font-weight:800;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.room-error{color:#fda4af}.versus-panel{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;align-items:center;width:min(100%,324px);margin:0 auto}.opponent-card,.versus-player{min-height:42px;border:1px solid rgba(94,234,212,.1);border-radius:11px;background:linear-gradient(180deg,hsla(0,0%,100%,.052),hsla(0,0%,100%,.02)),rgba(4,8,14,.48);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.055),0 8px 20px rgba(0,0,0,.13)}.versus-player{display:none;align-content:center;padding:6px}.opponent-card{display:flex;align-items:center;gap:6px;min-height:34px;min-width:0;padding:4px 6px}.versus-label{margin:0;color:rgba(94,234,212,.76);font-size:8px;font-weight:900;letter-spacing:.12em;line-height:1}.versus-name{margin:3px 0 0;overflow:hidden;color:#fff;font-size:11px;font-weight:950;text-overflow:ellipsis}.opponent-stats,.versus-name{line-height:1.1;white-space:nowrap}.opponent-stats{display:flex;flex-wrap:nowrap;gap:3px 6px;margin-top:4px;color:hsla(0,0%,100%,.54);font-size:8px;font-weight:850}.mini-board{display:grid;grid-template-columns:repeat(10,2px);grid-template-rows:repeat(20,2px);gap:1px;flex:0 0 auto;padding:2px;border:1px solid hsla(0,0%,100%,.08);border-radius:7px;background:#060910;box-shadow:0 0 14px rgba(56,189,248,.08)}.mini-cell{width:2px;height:2px;border-radius:1px}@media (max-height:740px){.game-screen{padding-top:max(8px,calc(env(safe-area-inset-top) + 8px));padding-bottom:max(18px,calc(env(safe-area-inset-bottom) + 18px))}.game-cabinet{padding:8px 9px 10px}.game-board-size{width:var(--board-size)}.game-play-room .game-board-size{width:var(--board-room-size)}.handheld-controls{height:148px;min-height:148px;gap:clamp(10px,3vw,16px);margin-top:0;padding-inline:clamp(10px,4vw,18px)}.dpad{width:clamp(128px,34vw,150px);min-height:132px}.dpad:before,.game-control-pad,.game-control-round{width:58px;height:58px}}@media (min-height:820px){.game-board-size{width:var(--board-size)}}@media (max-width:420px){.game-screen{padding-inline:6px}.game-cabinet{border-radius:24px;padding:7px 8px 9px}.game-hud-row{grid-template-columns:minmax(58px,auto) minmax(0,1fr) 48px;gap:4px}.hud-grid{gap:3px}.status-badge{min-width:58px;padding-inline:6px;font-size:12px}.piece-preview{width:48px}.room-panel{min-height:34px;margin-top:5px;gap:4px;padding:4px}.room-button{min-height:26px;padding-inline:7px;font-size:9px}.handheld-controls{grid-template-columns:minmax(128px,1fr) minmax(142px,1fr);gap:10px;padding-inline:8px}.action-pad,.dpad{justify-self:center}}@media (max-width:760px){.game-play{grid-template-rows:minmax(0,1fr) auto}.opponent-zone{display:none}.room-panel-live{grid-template-columns:minmax(0,1fr) auto;min-height:34px;max-height:40px;overflow:hidden}.room-panel-live .room-kicker,.room-panel-live .room-player-line,.room-panel-live .room-summary:not(.room-summary-compact){display:none}.room-panel-live .room-summary-compact{display:block;margin:0;font-size:10px;line-height:1.05}.room-panel-live .room-actions{gap:4px}.room-panel-live .room-button{min-height:26px;padding-inline:8px;font-size:9px}.room-panel-live .room-button:not(.room-button-primary){display:none}}.is-wechat .game-screen{padding:max(8px,calc(env(safe-area-inset-top) + 6px)) 6px max(20px,calc(env(safe-area-inset-bottom) + 20px))}.is-wechat .game-cabinet{border-radius:24px;padding:7px 8px 9px}.is-wechat .game-play{gap:4px;grid-template-rows:minmax(0,1fr) auto;padding-top:4px}.is-wechat .game-board-size{width:var(--board-size)}.is-wechat .game-play-room .game-board-size{width:var(--board-room-size)}.is-wechat .room-panel{min-height:32px;margin-top:4px;padding:4px}.is-wechat .room-error,.is-wechat .room-player-line{font-size:8px}.is-wechat .mini-board,.is-wechat .opponent-zone{display:none}.is-wechat .room-panel-live{min-height:32px;max-height:38px}.is-wechat .handheld-controls{height:154px;min-height:154px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.debug-toggle{position:fixed;top:max(8px,calc(env(safe-area-inset-top) + 8px));right:max(8px,env(safe-area-inset-right));z-index:72;min-width:64px;min-height:34px;border:1px solid rgba(94,234,212,.28);border-radius:999px;background:linear-gradient(180deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.025)),rgba(5,10,18,.86);padding:0 12px;color:#dffcff;font-size:12px;font-weight:900;box-shadow:0 10px 26px rgba(0,0,0,.32),0 0 20px rgba(94,234,212,.12);touch-action:manipulation}.debug-toggle:active{transform:translateY(1px) scale(.97)}.debug-state{position:fixed;top:max(48px,calc(env(safe-area-inset-top) + 48px));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));z-index:71;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px;max-width:430px;max-height:min(52dvh,360px);margin:0 auto;border:1px solid rgba(94,234,212,.26);border-radius:12px;background:linear-gradient(180deg,hsla(0,0%,100%,.055),hsla(0,0%,100%,.025)),rgba(5,10,18,.9);padding:8px;color:#fff;font-size:10px;line-height:1.15;box-shadow:0 12px 34px rgba(0,0,0,.35);overflow:auto;pointer-events:auto;backdrop-filter:blur(12px)}.debug-state p{display:flex;justify-content:space-between;gap:6px;margin:0}.debug-state span{color:hsla(0,0%,100%,.55)}.debug-state strong{color:#5eead4;font-weight:900}.final-level{animation:finalBackdrop .7s ease both}.block-message{display:grid;grid-template-columns:repeat(29,minmax(0,1fr));grid-template-rows:repeat(16,minmax(0,1fr));width:min(92vw,420px);aspect-ratio:29/16;gap:clamp(2px,.7vw,5px);padding:clamp(8px,2vw,14px);border-radius:22px;background:hsla(0,0%,100%,.035);box-shadow:0 0 0 1px hsla(0,0%,100%,.08),0 22px 80px rgba(0,0,0,.45)}.message-block{border-radius:22%;box-shadow:0 0 14px currentColor;transition:opacity .22s ease,transform .22s ease}.ending-button{min-height:62px;border-radius:18px;border:1px solid rgba(94,234,212,.42);background:linear-gradient(180deg,rgba(94,234,212,.24),rgba(56,189,248,.12));padding:0 18px;color:#fff;font-size:15px;font-weight:950;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.16),0 18px 38px rgba(0,0,0,.32)}.ending-button:active{transform:translateY(1px) scale(.99)}.ending-particle{position:absolute;top:-10%;left:var(--x);width:var(--size);height:calc(var(--size) * 1.55);border-radius:3px;background:var(--color);box-shadow:0 0 18px var(--color);animation:confettiFall var(--duration) cubic-bezier(.16,.8,.35,1) var(--delay) infinite}.spark-ring{position:absolute;left:50%;top:44%;width:28vmin;height:28vmin;border-radius:999px;border:1px solid rgba(94,234,212,.45);transform:translate(-50%,-50%);animation:sparkPulse 1.4s ease-out infinite}.animate-endingFade{animation:endingFade .65s ease both}.animate-endingRise{animation:endingRise .76s ease both}@keyframes shellIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes noticePulse{0%{opacity:0;transform:translateY(4px) scale(.96)}18%{opacity:1;transform:translateY(0) scale(1)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes finalBackdrop{0%{opacity:0}to{opacity:1}}@keyframes endingFade{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes endingRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes confettiFall{0%{opacity:0;transform:translate3d(0,-10vh,0) rotate(0deg)}10%{opacity:1}to{opacity:.95;transform:translate3d(calc((50vw - var(--x)) * .2),112vh,0) rotate(620deg)}}@keyframes sparkPulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(.45)}to{opacity:0;transform:translate(-50%,-50%) scale(1.65)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}