:root{color-scheme:dark;--c-ink-950: #060914;--c-ink-900: #0a0f1e;--c-ink-800: #111833;--c-ink-700: #1a2347;--c-ink-600: #26325f;--c-text: #f4f1e6;--c-text-dim: #b4bcdf;--c-text-disabled: #8790b8;--c-cell-neutral: #2a3560;--c-cell-neutral-edge: #5a6baa;--c-team-sky: #4db5ff;--c-team-amber: #ffb020;--c-team-pink: #ff8fc8;--c-team-lilac: #b39dff;--c-team-teal: #2dd4bf;--c-team-sand: #e8dfc4;--c-correct: #3ddc84;--c-wrong: #ff4d5e;--c-wrong-deep: #c21f35;--c-armed: #ff3b4e;--c-focus: #ffffff;--c-brand-ember: #ff8a1f;--font-display: "Lalezar", "Cairo", system-ui, sans-serif;--font-ui: "Cairo", system-ui, "Segoe UI", Tahoma, sans-serif;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--sp-16: 64px;--r-sm: 8px;--r-md: 14px;--r-lg: 22px;--r-pill: 999px;--t-fast: .12s;--t-base: .24s;--t-slow: .6s;--t-pulse: 1.2s;--stroke-icon: 2.5;--stroke-hex-edge: 3px;--stroke-focus: 4px;--team-a: var(--c-team-sky);--team-b: var(--c-team-amber);--team-a-bg: color-mix(in srgb, var(--team-a) 16%, var(--c-ink-800));--team-b-bg: color-mix(in srgb, var(--team-b) 16%, var(--c-ink-800));--team-a-glow: color-mix(in srgb, var(--team-a) 55%, transparent);--team-b-glow: color-mix(in srgb, var(--team-b) 55%, transparent);--chrome-top: 72px;--chrome-dock: 156px;--stage-h: calc(100vh - var(--chrome-top) - var(--chrome-dock));--hex-r: clamp( 30px, calc((var(--stage-h) - 16px) / 8), 84px );--hex-w: calc(var(--hex-r) * 1.7320508);--hex-h: calc(var(--hex-r) * 2);--fs-cell: clamp( 22px, calc(var(--hex-r) * .92), 72px );--fs-banner: clamp(20px, 4.4vh, 40px);--fs-hp: clamp(32px, 7vh, 72px);--fs-body: clamp(16px, 2.6vh, 24px);--fs-small: clamp(14px, 2vh, 18px);--fs-question: clamp(26px, 6.2vh, 56px);--fs-countdown: clamp(64px, 18vh, 180px);--tap: 48px}@media(max-width:1023px){:root{--chrome-dock: 0px}}:root{--dir-flip: 1}:root[dir=rtl]{--dir-flip: -1}.icon--directional{transform:scaleX(calc(var(--dir-flip) * var(--team-flip, 1)))}[data-team=b]{--team-flip: -1}@media(prefers-reduced-motion:reduce){:root{--t-fast: 0ms;--t-base: 0ms;--t-slow: 0ms;--t-pulse: 0ms}}:root{--vvh: 100dvh;--v-top: 52px;--v-turn: 52px;--v-strip: 60px;--v-action: 88px;--v-chrome: 346px;--ctl-h: 52px;--sheet-r: 22px;--safe-b: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html{background:var(--c-ink-900);color:var(--c-text);font-family:var(--font-ui);-webkit-text-size-adjust:100%}body{margin:0;font-size:var(--fs-body);line-height:1.4;font-weight:500}:root[lang=ar] body{line-height:1.6}:root[lang=ar]{letter-spacing:0}h1,h2,h3,p{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}.icon{width:1em;height:1em;flex:none}[hidden]{display:none!important}:focus-visible{outline:4px solid var(--c-focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.num{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}.display{font-family:var(--font-display);font-weight:400;letter-spacing:0}[data-team=a]{--team: var(--team-a);--team-bg: var(--team-a-bg);--team-glow: var(--team-a-glow)}[data-team=b]{--team: var(--team-b);--team-bg: var(--team-b-bg);--team-glow: var(--team-b-glow);--team-flip: -1}.mark{display:inline-block;width:.8em;height:.8em;background:currentColor;flex:none}.mark--a{border-radius:50%}.mark--b{transform:rotate(45deg) scale(.82)}.pat-a{background-image:repeating-linear-gradient(135deg,rgba(10,15,30,.22) 0 3px,transparent 3px 9px)}.pat-b{background-image:conic-gradient(rgba(10,15,30,.26) 25%,transparent 0 50%,rgba(10,15,30,.26) 0 75%,transparent 0);background-size:9px 9px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);padding:0 24px;border:3px solid var(--c-ink-600);border-radius:var(--r-md);background:var(--c-ink-700);color:var(--c-text);font-weight:800;font-size:var(--fs-body);line-height:1.1;text-align:center;transition:transform var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.btn .icon{font-size:1.25em}.btn:hover{border-color:var(--c-text-dim);background:#222d58}.btn:active{transform:scale(.97)}.btn[disabled],.btn[aria-disabled=true]{background:transparent;border-style:dashed;color:var(--c-text-disabled);cursor:not-allowed;transform:none}.btn[aria-busy=true]{pointer-events:none;color:transparent;position:relative}.btn[aria-busy=true]:after{content:"";position:absolute;width:1.3em;height:1.3em;border:4px solid var(--c-text-dim);border-top-color:var(--c-text);border-radius:50%;animation:spin .8s linear infinite}.btn--primary{background:var(--c-text);color:var(--c-ink-900);border-color:var(--c-text)}.btn--primary:hover{background:#fff;border-color:#fff}.btn--primary[disabled]{background:transparent;color:var(--c-text-disabled);border-color:var(--c-ink-600)}.btn--correct{background:var(--c-correct);border-color:var(--c-correct);color:var(--c-ink-900)}.btn--correct:hover{background:#63ea9f;border-color:#63ea9f}.btn--wrong{background:var(--c-wrong-deep);border-color:var(--c-wrong-deep);color:var(--c-text)}.btn--wrong:hover{background:#d8283f;border-color:#d8283f}.btn--ghost{background:transparent;border-color:transparent}.btn--xl{min-height:72px;padding:0 36px;font-size:clamp(22px,3.6vh,30px);border-radius:var(--r-lg)}.btn--icon{width:var(--tap);padding:0;flex:none}.btn--error{border-color:var(--c-wrong);animation:shake .3s 1}.seg{display:inline-flex;border:3px solid var(--c-ink-600);border-radius:var(--r-md);overflow:hidden;background:var(--c-ink-900)}.seg button{min-height:calc(var(--tap) - 6px);padding:0 16px;border:0;background:transparent;font-weight:800;color:var(--c-text-dim)}.seg button[aria-pressed=true]{background:var(--c-text);color:var(--c-ink-900)}.seg button:focus-visible{outline-offset:-4px}.chip{display:inline-flex;align-items:center;gap:10px;font-weight:800;color:var(--team, var(--c-text))}.tag{display:inline-flex;align-items:center;gap:8px;padding:2px 14px;border-radius:999px;border:2px solid currentColor;font-weight:800;font-size:var(--fs-small);line-height:1.5}.tag .icon{font-size:1.3em}.tag--shield{color:var(--c-text);background:#f4f1e61f}.tag--nuke{color:var(--c-text);background:var(--c-armed);border-color:var(--c-armed);animation:pulse var(--t-pulse) ease-in-out infinite}.tag--ok{color:var(--c-correct)}.hex{--edge: var(--c-cell-neutral-edge);--face: var(--c-cell-neutral);--ink: var(--c-text);--edge-w: 3px;--gap: calc(var(--hex-r) * .07);--pattern: none;--pattern-2: none;position:relative;flex:none;width:var(--hex-w);height:var(--hex-h);padding:0;border:0;background:none;color:var(--ink);font-family:var(--font-ui);cursor:default;-webkit-tap-highlight-color:transparent;transition:transform var(--t-fast),filter var(--t-fast),opacity var(--t-base)}.hex:before,.hex:after{content:"";position:absolute;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.hex:before{inset:var(--gap);background:var(--edge);transition:background var(--t-fast),inset var(--t-fast)}.hex:after{inset:calc(var(--gap) + var(--edge-w));background:var(--pattern-2),var(--pattern),var(--face);background-size:9px 9px,9px 9px,auto}.hex__letter{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding-bottom:7%;font-size:var(--fs-cell);font-weight:800;line-height:1}.hex__stud{position:absolute;z-index:2;top:calc(var(--gap) + var(--edge-w) - 2px);left:50%;width:max(9px,calc(var(--hex-r) * .27));aspect-ratio:1;transform:translate(-50%);border:2.5px solid var(--c-ink-900);background:transparent;pointer-events:none}.hex__stud--a{border-radius:50%}.hex__stud--b{border-radius:2px;transform:translate(-50%) rotate(45deg) scale(.8)}.hex__badge{position:absolute;z-index:2;display:grid;place-items:center;border-radius:50%;line-height:1;font-weight:900}.hex__badge--num{top:6%;left:50%;transform:translate(-50%);width:calc(var(--hex-r) * .62);height:calc(var(--hex-r) * .62);background:#fff;color:var(--c-ink-900);font-size:calc(var(--hex-r) * .42);border:3px solid var(--c-ink-900)}.hex__badge--nuke{top:7%;left:50%;transform:translate(-50%);width:calc(var(--hex-r) * .6);height:calc(var(--hex-r) * .6);background:var(--c-armed);color:#fff;border:3px solid var(--c-ink-900);font-size:calc(var(--hex-r) * .38)}.hex__badge--new{top:9%;inset-inline-end:14%;width:calc(var(--hex-r) * .42);height:calc(var(--hex-r) * .42);background:var(--c-text);color:var(--c-ink-900);font-size:calc(var(--hex-r) * .3)}.hex[data-owner=a]{--edge: color-mix(in srgb, var(--team-a) 55%, #000);--face: var(--team-a);--ink: var(--c-ink-900);--pattern: repeating-linear-gradient(135deg, rgba(10, 15, 30, .22) 0 3px, transparent 3px 9px)}.hex[data-owner=b]{--edge: color-mix(in srgb, var(--team-b) 55%, #000);--face: var(--team-b);--ink: var(--c-ink-900);--pattern: conic-gradient( rgba(10, 15, 30, .26) 25%, transparent 0 50%, rgba(10, 15, 30, .26) 0 75%, transparent 0 )}.hex[data-armed]{--edge: var(--c-armed);--edge-w: 6px;--pattern-2: repeating-linear-gradient(45deg, rgba(10, 15, 30, .5) 0 4px, transparent 4px 12px);filter:drop-shadow(0 0 calc(var(--hex-r) * .2) var(--c-armed));animation:pulse var(--t-pulse) ease-in-out infinite;z-index:1}.hex[data-pickable]{--edge: #8ea0e0;cursor:pointer}@media(hover:hover){.hex[data-pickable]:hover{transform:scale(1.07);z-index:3}}.hex[data-pickable]:hover:before{background:#fff}.hex[data-selectable]{cursor:pointer}.hex[data-selectable]:before{clip-path:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 115.47' preserveAspectRatio='none'%3E%3Cpolygon points='50,3 96.5,29.5 96.5,86 50,112.5 3.5,86 3.5,29.5' fill='none' stroke='white' stroke-width='4' stroke-dasharray='9 6' stroke-linejoin='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat}.hex[data-selectable]{--edge-w: 4px}.hex[data-selected]{--edge-w: 6px;filter:drop-shadow(0 0 calc(var(--hex-r) * .18) rgba(255,255,255,.85));z-index:2}.hex[data-selected]:before{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#fff;inset:calc(var(--gap) - 3px)}.hex[data-blank]{--edge: var(--c-ink-600);--face: var(--c-ink-900);--edge-w: 3px;opacity:.8}.hex[data-blank]:before{background:repeating-linear-gradient(45deg,var(--c-ink-600) 0 5px,transparent 5px 9px)}.hex[data-blank] .hex__letter{color:var(--c-text-disabled);font-size:calc(var(--hex-r) * .5)}.hex[data-dim]{opacity:.36;filter:saturate(.5)}.hex[data-new]:before{background:var(--c-text);animation:newedge .9s ease-in-out 3}.hex[data-new] .hex__letter{animation:flip var(--t-slow) ease-out 1}@media(hover:hover){.hex[data-selectable]:hover{transform:scale(1.07);z-index:3}}.hex:focus-visible{outline:none;z-index:4}.hex:focus-visible:before{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#fff;inset:calc(var(--gap) - 5px)}.hex:focus-visible:after{box-shadow:none}.hex[data-error]{animation:shake .3s 1}.hex.is-hover{transform:scale(1.07);z-index:3}.hex.is-focus{z-index:4}.hex.is-focus:before{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:#fff;inset:calc(var(--gap) - 5px)}.board{direction:ltr;display:flex;flex-direction:column;width:calc(var(--hex-w) * 5.5);flex:none}.board__row{display:flex;height:var(--hex-h);margin-block-end:calc(var(--hex-r) * -.5)}.board__row:last-child{margin-block-end:0}.board__row:nth-child(2n){margin-inline-start:calc(var(--hex-w) / 2)}.castle{display:grid;justify-items:center;align-content:center;gap:clamp(6px,1.4vh,12px);min-width:0;padding:clamp(10px,2vh,20px);border-radius:var(--r-lg);background:var(--team-bg);border:4px solid transparent;text-align:center;transition:border-color var(--t-base),box-shadow var(--t-base)}.castle[data-active]{border-color:var(--team);box-shadow:0 0 36px var(--team-glow)}.castle[data-threat]{border-color:var(--c-armed);box-shadow:0 0 36px #ff3b4e8c;animation:pulse var(--t-pulse) ease-in-out infinite}.castle__name{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--team);font-family:var(--font-display);font-size:var(--fs-banner);line-height:1.2;overflow-wrap:break-word}.castle__art{position:relative;width:clamp(64px,20vh,140px);aspect-ratio:1;color:var(--team);display:grid;place-items:center}.castle__art .icon{width:100%;height:100%}.castle[data-shield] .castle__art:before{content:"";position:absolute;inset:-12%;border:5px solid var(--c-text);border-radius:50%;box-shadow:0 0 24px #f4f1e68c,inset 0 0 18px #f4f1e659}.castle__shield{position:absolute;z-index:1;inset-block-start:-6%;inset-inline-end:-14%;width:44%;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:var(--c-text);color:var(--c-ink-900);border:4px solid var(--c-ink-900)}.castle__shield .icon{width:68%;height:68%}.hp{display:flex;align-items:baseline;justify-content:center;gap:6px;line-height:1}.hp__num{font-family:var(--font-display);font-size:var(--fs-hp)}.hp__max{font-size:var(--fs-small);font-weight:800;color:var(--c-text-dim)}.hpbar{--tick: 25%;position:relative;width:100%;height:clamp(14px,2.6vh,24px);border-radius:999px;background:var(--c-ink-900);border:3px solid var(--c-ink-600);overflow:hidden}.hpbar>i{display:block;height:100%;width:var(--p, 100%);background-color:var(--team);transition:width var(--t-slow) ease-out}.hpbar>i.pat-a{background-image:repeating-linear-gradient(135deg,rgba(10,15,30,.28) 0 3px,transparent 3px 9px)}.hpbar>i.pat-b{background-image:conic-gradient(rgba(10,15,30,.32) 25%,transparent 0 50%,rgba(10,15,30,.32) 0 75%,transparent 0);background-size:9px 9px}.hpbar:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 calc(var(--tick) - 2px),var(--c-ink-900) calc(var(--tick) - 2px) var(--tick))}.castle__tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;min-height:1.6em}.app{position:relative;display:grid;grid-template-rows:var(--chrome-top) minmax(0,1fr) var(--chrome-dock);height:100vh;min-height:100vh;overflow:hidden;background:radial-gradient(120% 90% at 50% 40%,#131c3d 0%,var(--c-ink-900) 60%,var(--c-ink-950) 100%)}.app--2{grid-template-rows:var(--chrome-top) minmax(0,1fr);overflow:auto}.preview{margin-inline-start:auto;display:inline-flex}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding-inline:24px;background:var(--c-ink-800);border-bottom:2px solid var(--c-ink-600)}.topbar__logo{height:40px;width:auto;display:block}.topbar__logo--mark,.seg .short{display:none}.topbar__tools{display:flex;align-items:center;gap:8px}.banner{display:grid;justify-items:center;gap:0;text-align:center;min-width:0}.banner__main{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;font-size:var(--fs-banner);font-weight:900;line-height:1.2}.banner__hint{font-size:var(--fs-small);font-weight:600;color:var(--c-text-dim);line-height:1.3}.banner--alarm .banner__main{color:#fff}.alarm{background:repeating-linear-gradient(-45deg,var(--c-armed) 0 18px,#b81f31 18px 36px);color:#fff}.stage,.lightning{direction:ltr}:root[dir=rtl] .stage>.castle,:root[dir=rtl] .lightning>*{direction:rtl}.stage{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(12px,2vw,32px);padding:8px clamp(12px,2vw,28px);min-height:0}.stage>.castle{max-width:380px;width:100%;justify-self:center}.stage>.castle[data-team=a]{order:3;justify-self:start}.stage>.castle[data-team=b]{order:1;justify-self:end}.stage>.board,.stage>.lcenter{order:2}.dock{display:flex;align-items:stretch;gap:8px;padding:10px clamp(12px,2vw,24px);background:var(--c-ink-800);border-top:2px solid var(--c-ink-600);min-width:0}.dock__tiles{display:flex;gap:8px;flex:1;min-width:0}.dock__side{display:grid;gap:8px;align-content:stretch;width:128px;flex:none}.dock__side .btn{height:100%;min-height:0;padding:0 8px}.dock--message{align-items:center;justify-content:center;gap:24px;font-size:var(--fs-body)}.legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 28px;font-weight:700}.legend__item{display:inline-flex;align-items:center;gap:10px}.legend__hex{--hex-r: 18px;position:relative;width:calc(var(--hex-r) * 1.732);height:calc(var(--hex-r) * 2);flex:none}.legend__hex .hex{position:absolute;inset:0;width:100%;height:100%;--gap: 2px;--edge-w: 3px;pointer-events:none}.legend__hex .hex__stud{border-width:2px}.legend__hex .hex__letter{display:none}:root{--fs-weapon: clamp(15px, 2.5vh, 20px)}.weapon{--w-pad: 10px;position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:2px;width:112px;min-width:0;flex:1 1 0;max-width:128px;height:100%;padding:var(--w-pad) 8px;border:3px solid var(--c-ink-600);border-radius:var(--r-md);background:var(--c-ink-700);color:var(--c-text);text-align:start;align-content:start;transition:transform var(--t-fast),background var(--t-fast),border-color var(--t-fast)}.weapon__top{display:flex;align-items:center;justify-content:space-between;gap:6px}.weapon__icon{width:36px;height:36px;color:var(--team, var(--c-text));flex:none}.weapon__shape{color:var(--c-text-dim);display:flex;align-items:center;height:30px}.weapon__shape svg{flex:none}.weapon__name{font-size:var(--fs-weapon);font-weight:900;line-height:1.15}.weapon__sub{font-size:13.5px;font-weight:600;line-height:1.25;color:var(--c-text-dim)}.weapon:hover{border-color:var(--team, var(--c-text-dim));background:#222d58;transform:translateY(-2px)}.weapon:active{transform:scale(.97)}.weapon.is-hover{border-color:var(--team, var(--c-text-dim));background:#222d58;transform:translateY(-2px)}.weapon.is-focus{outline:4px solid var(--c-focus);outline-offset:3px}.weapon[aria-pressed=true]{background:var(--team);border-color:var(--team);color:var(--c-ink-900)}.weapon[aria-pressed=true] .weapon__icon,.weapon[aria-pressed=true] .weapon__sub,.weapon[aria-pressed=true] .weapon__shape{color:var(--c-ink-900)}.weapon[aria-disabled=true]{background:transparent;border-style:dashed;border-color:var(--c-ink-600);color:var(--c-text-disabled);cursor:not-allowed;transform:none}.weapon[aria-disabled=true] .weapon__icon{color:var(--c-text-disabled);opacity:.7}.weapon[aria-disabled=true] .weapon__sub{color:var(--c-text-dim)}.weapon[aria-disabled=true]:hover{background:#1a234780}.weapon[aria-busy=true]{pointer-events:none}.weapon[aria-busy=true]:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#0a0f1eb8}.weapon[aria-busy=true]:before{content:"";position:absolute;z-index:1;inset-block-start:calc(50% - 16px);inset-inline-start:calc(50% - 16px);width:32px;height:32px;border:5px solid var(--c-text-dim);border-top-color:var(--c-text);border-radius:50%;animation:spin .8s linear infinite}.weapon[data-error]{border-color:var(--c-wrong);animation:shake .3s 1}.weapon[data-error] .weapon__sub{color:#ff9ba5}.weapon[data-error] .weapon__sub:before{content:"! ";font-weight:900}.selbar{display:flex;align-items:center;gap:clamp(12px,2vw,28px);width:100%}.selbar__weapon{display:flex;align-items:center;gap:12px;color:var(--team);font-weight:900;font-size:var(--fs-banner)}.selbar__weapon .icon{width:56px;height:56px}.selbar__text{flex:1;min-width:0;font-size:var(--fs-body);font-weight:700}.selbar__text small{display:block;font-size:var(--fs-small);color:var(--c-text-dim);font-weight:600}.selbar__count{font-family:var(--font-display);font-size:var(--fs-hp);line-height:1;padding-inline:8px}.selbar__count span{color:var(--c-text-dim);font-size:.6em}.selbar .btn{min-height:64px}.timer{--size: clamp(96px, 22vh, 160px);position:relative;width:var(--size);height:var(--size);flex:none;color:var(--c-text)}.timer svg{width:100%;height:100%;transform:rotate(-90deg)}.timer__track{fill:none;stroke:var(--c-ink-600);stroke-width:10}.timer__arc{fill:none;stroke:currentColor;stroke-width:10;stroke-linecap:round;stroke-dasharray:339.3;stroke-dashoffset:calc(339.3 * (1 - var(--p, 1)));transition:stroke-dashoffset 1s linear}.timer__num{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-size:calc(var(--size) * .5);line-height:1;padding-bottom:4%}.timer[data-state=warn]{color:var(--team-b-fallback, #ffb020)}.timer[data-state=urgent]{color:var(--c-wrong);animation:pulse .6s ease-in-out infinite}.timer[data-state=urgent] .timer__num{color:#ff9ba5}.timer[data-state=off]{color:var(--c-text-disabled)}.scrim{position:absolute;z-index:10;inset:var(--chrome-top) 0 0 0;display:grid;place-items:center;padding:16px clamp(12px,3vw,40px);background:#060914db}.qcard{width:min(1020px,100%);display:grid;gap:clamp(10px,2.4vh,22px);padding:clamp(14px,3vh,30px);border-radius:var(--r-lg);background:var(--c-ink-800);border:4px solid var(--team);box-shadow:0 0 48px var(--team-glow)}.qcard__who{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--fs-banner);font-weight:900}.qcard__main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(14px,3vw,36px)}.qcard__letter{--hex-r: clamp(48px, 12vh, 92px);position:relative;width:var(--hex-w);height:var(--hex-h);flex:none}.qcard__letter .hex{position:absolute;inset:0}.qcard__text{font-size:var(--fs-question);font-weight:800;line-height:1.4;text-wrap:balance}:root[lang=ar] .qcard__text{line-height:1.55}.qcard__controls{display:grid;grid-template-columns:1fr 1fr;gap:clamp(10px,2vw,24px)}.qcard__answer{padding:12px 20px;border-radius:var(--r-md);background:var(--c-ink-900);border:3px dashed var(--c-text-dim);font-size:var(--fs-question);font-weight:900;text-align:center}.qcard__answer small{display:block;color:var(--c-text-dim);font-size:var(--fs-small);font-weight:700}.qcard__result{display:flex;align-items:center;justify-content:center;gap:12px;font-size:var(--fs-banner);font-weight:900}.qcard__result--ok{color:var(--c-correct)}.qcard__result--bad{color:var(--c-wrong)}.qcard__result .icon{font-size:1.4em}.lightning{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);gap:clamp(12px,2vw,32px);align-items:center;padding:clamp(12px,2vw,32px);min-height:0}.buzzer{display:grid;justify-items:center;align-content:center;gap:clamp(8px,1.6vh,16px);padding:clamp(14px,3vh,28px);border-radius:var(--r-lg);background:var(--team-bg);border:4px solid var(--c-ink-600);text-align:center;min-height:0}.buzzer__name{display:flex;align-items:center;gap:10px;color:var(--team);font-family:var(--font-display);font-size:var(--fs-banner)}.keycap{display:grid;place-items:center;min-width:clamp(64px,14vh,120px);height:clamp(64px,14vh,120px);padding-inline:16px;border-radius:22px;background:var(--c-ink-700);border:4px solid var(--c-text-dim);border-block-end-width:10px;font-family:var(--font-display);font-size:clamp(36px,8vh,72px);line-height:1;direction:ltr}.buzzer__state{font-size:var(--fs-body);font-weight:800;color:var(--c-text-dim)}.buzzer[data-state=ready]{border-color:var(--team)}.buzzer[data-state=ready] .keycap{border-color:var(--team);color:var(--team)}.buzzer[data-state=ready] .buzzer__state{color:var(--c-text)}.buzzer[data-state=locked]{background:var(--team);border-color:var(--team);color:var(--c-ink-900);box-shadow:0 0 48px var(--team-glow)}.buzzer[data-state=locked] .buzzer__name,.buzzer[data-state=locked] .buzzer__state{color:var(--c-ink-900)}.buzzer[data-state=locked] .keycap{background:var(--c-ink-900);color:var(--team);border-color:var(--c-ink-900)}.buzzer[data-state=waiting],.buzzer[data-state=out]{opacity:.55}.lightning>.buzzer[data-team=a]{order:3}.lightning>.buzzer[data-team=b]{order:1}.lightning>.lcenter{order:2;display:grid;justify-items:center;gap:clamp(10px,2.2vh,22px);text-align:center;min-width:0}.lcenter .qcard__text{text-align:center}.lcenter__row{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,32px)}.lcenter .qcard__controls{width:100%}.countdown{font-family:var(--font-display);font-size:var(--fs-countdown);line-height:1;text-align:center}.setup{display:grid;gap:clamp(10px,1.8vh,18px);width:min(1160px,100%);margin-inline:auto;padding:clamp(10px,1.8vh,20px) clamp(12px,2vw,24px);align-content:start}.swatchrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}.setup__teams{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,24px)}.card{display:grid;gap:8px;padding:clamp(12px,2vh,20px);border-radius:var(--r-lg);background:var(--c-ink-800);border:3px solid var(--c-ink-600)}.card--team{border-color:var(--team)}.card__title{display:flex;align-items:center;gap:10px;font-size:var(--fs-banner);font-weight:900;color:var(--team, var(--c-text))}.label{font-size:var(--fs-small);font-weight:800;color:var(--c-text-dim)}.input{width:100%;min-height:54px;padding:0 18px;border:3px solid var(--c-ink-600);border-radius:var(--r-md);background:var(--c-ink-900);font-size:clamp(20px,3.4vh,28px);font-weight:700}.input::placeholder{color:var(--c-text-disabled)}.input:focus-visible{border-color:var(--c-focus);outline-offset:2px}.input[aria-invalid=true]{border-color:var(--c-wrong)}.field__error{color:#ff9ba5;font-size:var(--fs-small);font-weight:700}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{position:relative;width:46px;height:52px;padding:0;border:0;background:none}.swatch:before,.swatch:after{content:"";position:absolute;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}.swatch:before{inset:0;background:var(--c-ink-600)}.swatch:after{inset:4px;background:var(--sw)}.swatch .icon{position:absolute;inset:0;margin:auto;width:24px;height:24px;color:var(--c-ink-900);z-index:1;display:none}.swatch[aria-checked=true]:before{background:#fff}.swatch[aria-checked=true] .icon{display:block}.swatch[aria-disabled=true]{cursor:not-allowed;opacity:.4}.swatch[aria-disabled=true]:after{background:repeating-linear-gradient(45deg,var(--sw) 0 6px,var(--c-ink-900) 6px 10px)}.swatch:focus-visible{outline:none}.swatch:focus-visible:before{background:#fff;inset:-4px}.preview{display:flex;align-items:center;gap:12px;font-size:var(--fs-small);color:var(--c-text-dim);font-weight:700}.bank{display:grid;gap:10px}.bank__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:800}.letters{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:5px}@media(max-width:1023px){.letters{grid-template-columns:repeat(7,minmax(0,1fr))}}.lchip{display:grid;place-items:center;padding:1px 2px;border-radius:10px;background:var(--c-ink-700);font-weight:800;line-height:1.15;font-size:13px}.lchip b{font-size:18px;font-weight:900;line-height:1.1}.lchip[data-warn]{background:transparent;border:2px dashed var(--c-wrong);color:#ff9ba5}.notice{display:flex;align-items:center;gap:10px;padding:8px 16px;border-radius:var(--r-md);font-weight:700;background:#ff4d5e1f;border:2px solid var(--c-wrong);color:#ffc2c8}.notice .icon{font-size:1.4em;flex:none}.notice--info{background:#f4f1e614;border-color:var(--c-text-dim);color:var(--c-text)}.setup__start{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.winner{display:grid;place-items:center;align-content:center;gap:clamp(10px,2.2vh,22px);padding:16px;text-align:center;background:radial-gradient(70% 70% at 50% 40%,color-mix(in srgb,var(--team) 35%,var(--c-ink-900)) 0%,var(--c-ink-900) 70%);min-height:0}.winner__crown{width:clamp(56px,14vh,110px);height:auto;aspect-ratio:1;color:var(--team)}.winner__title{font-family:var(--font-display);font-size:clamp(40px,12vh,104px);line-height:1.1;color:var(--team);text-shadow:0 0 40px var(--team-glow)}.winner__sub{font-size:var(--fs-banner);font-weight:800}.stats{display:grid;grid-template-columns:repeat(3,auto);gap:6px clamp(16px,4vw,56px);align-items:center;padding:14px 28px;border-radius:var(--r-lg);background:#111833d9;border:3px solid var(--c-ink-600);font-size:var(--fs-body);font-weight:700}.stats .h{font-family:var(--font-display);font-size:calc(var(--fs-body) * 1.2)}.stats .v{font-family:var(--font-display);font-size:calc(var(--fs-body) * 1.5);text-align:center}.stats .l{color:var(--c-text-dim)}.winner__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.loser-castle{opacity:.45;filter:grayscale(.6)}.nukebar{display:flex;align-items:center;justify-content:center;gap:16px;padding:8px 16px;font-size:var(--fs-banner);font-weight:900}.nukebar .icon{font-size:1.6em}.nuke-over{display:grid;justify-items:center;gap:16px;padding:clamp(18px,4vh,40px) clamp(20px,4vw,56px);border-radius:var(--r-lg);background:var(--c-ink-900);border:6px solid var(--c-armed);box-shadow:0 0 80px #ff3b4e99;text-align:center;max-width:min(900px,100%)}.nuke-over>.icon{width:clamp(72px,22vh,170px);height:clamp(72px,22vh,170px);color:var(--c-armed);animation:pulse var(--t-pulse) ease-in-out infinite}.nuke-over__title{font-family:var(--font-display);font-size:clamp(36px,10vh,88px);line-height:1.1;color:#fff}.nuke-over__sub{font-size:var(--fs-banner);font-weight:800}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.72}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes newedge{0%,to{opacity:1}50%{opacity:.35}}@keyframes flip{0%{transform:rotateY(90deg);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:1023px){:root{--hex-r: min(calc((100vw - 28px) / 9.6), 78px);--fs-banner: clamp(18px, 3.4vw, 28px);--fs-hp: 40px;--fs-body: 18px;--fs-small: 15px;--fs-question: clamp(22px, 5vw, 36px);--fs-cell: calc(var(--hex-r) * .94);--fs-countdown: 120px}.app{height:auto;min-height:100vh;overflow:visible;grid-template-rows:auto minmax(0,1fr) auto}.app--2{grid-template-rows:auto minmax(0,1fr);overflow:visible}.topbar{grid-template-columns:1fr auto;grid-template-areas:"logo tools" "banner banner";padding:8px 12px;gap:6px 8px}.topbar__logo{height:34px;grid-area:logo}.topbar__tools{grid-area:tools}.topbar .banner{grid-area:banner}.stage{grid-template-columns:1fr 1fr;grid-template-areas:"b a" "board board";align-items:start;align-content:start;padding:10px 12px;gap:10px}.stage>.castle[data-team=a]{grid-area:a;justify-self:stretch;order:0}.stage>.castle[data-team=b]{grid-area:b;justify-self:stretch;order:0}.stage>.board{grid-area:board;justify-self:center}.stage>.castle{max-width:none;grid-template-columns:auto 1fr;grid-template-areas:"art name" "art hp" "bar bar" "tags tags";justify-items:start;text-align:start;gap:2px 10px;padding:10px;border-width:3px}.castle__name{grid-area:name;justify-content:flex-start;font-size:clamp(16px,4.2vw,24px)}.castle__art{grid-area:art;width:48px;align-self:center;margin:4px}.castle[data-shield] .castle__art:before{inset:-8%;border-width:3px}.castle__shield{width:50%;border-width:2px;inset-inline-end:-22%;inset-block-start:-14%}.castle .hp{grid-area:hp}.castle .hpbar{grid-area:bar;height:14px}.castle__tags{grid-area:tags;justify-content:flex-start;min-height:0}.castle__tags:empty{display:none}.dock{position:sticky;bottom:0;z-index:5;height:auto;flex-direction:column;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -10px 30px #00000073}.dock__tiles{display:grid;grid-template-columns:repeat(3,1fr)}.dock__side{width:auto;grid-template-columns:1fr}.dock__side .btn{min-height:var(--tap)}.weapon{width:auto;max-width:none;height:116px}.weapon__sub{font-size:13px}.selbar{flex-wrap:wrap;gap:8px 12px}.selbar__weapon{font-size:20px}.selbar__weapon .icon{width:36px;height:36px}.selbar__text{flex-basis:100%;order:1}.selbar__count{margin-inline-start:auto}.selbar .btn{flex:1;min-height:56px;order:2}.castle__tags .tag{font-size:13px;padding:0 8px;white-space:nowrap}.scrim{position:fixed;inset:0;align-items:start;overflow-y:auto;padding:12px}.qcard__main{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"letter timer" "text text"}.qcard__letter{grid-area:letter;--hex-r: 42px}.qcard__main .timer{grid-area:timer;justify-self:end;--size: 96px}.qcard__text{grid-area:text}.qcard__controls{position:sticky;bottom:0}.btn--xl{min-height:64px;padding:0 16px;font-size:22px}.lightning{grid-template-columns:1fr 1fr;grid-template-areas:"q q" "b a"}.lightning>.lcenter{grid-area:q;order:0}.lightning>.buzzer[data-team=a]{grid-area:a;order:0}.lightning>.buzzer[data-team=b]{grid-area:b;order:0}.setup__teams{grid-template-columns:1fr}.winner__title{font-size:clamp(34px,11vw,72px)}.stats{padding:12px 16px;gap:6px 18px}}@media(max-width:480px){.btn--xl{padding:0 8px;font-size:19px;gap:6px}.topbar__logo--full{display:none}.topbar__logo--mark{display:block;height:36px}.seg .long{display:none}.seg .short{display:inline}.seg button{min-width:44px;padding:0 8px}:root{--hex-r: calc((100vw - 20px) / 9.6)}.weapon__name{font-size:15px}.swatch{width:46px;height:52px}.buzzer{padding:12px 8px}.keycap{min-width:56px;height:56px;font-size:32px;border-radius:14px}}html{-webkit-tap-highlight-color:transparent}body{font-size:17px;line-height:1.45;overscroll-behavior:none}.vapp{position:relative;height:var(--vvh);min-height:0;overflow:hidden;display:flex;flex-direction:column;background:radial-gradient(120% 80% at 50% 30%,#131c3d 0%,var(--c-ink-900) 62%,var(--c-ink-950) 100%)}.vapp--scroll{overflow-y:auto}.vapp h1,.vapp h2,.vapp h3{margin:0}.btn--block{width:100%}.btn--lg{min-height:var(--ctl-h);font-size:18px;padding:0 18px}.btn--sm{min-height:44px;padding:0 14px;font-size:16px}.btn .icon{font-size:1.2em}.input--lg{min-height:var(--ctl-h);font-size:20px;padding:0 14px}.field{display:grid;gap:6px}.field__hint{font-size:14px;color:var(--c-text-dim);font-weight:600}.field__error{display:flex;gap:8px;align-items:center;font-size:15px}.field__error .icon{font-size:1.2em;flex:none}.answer-input{direction:rtl;text-align:start;unicode-bidi:plaintext}.vtop{flex:none;display:flex;align-items:center;gap:8px;height:var(--v-top);padding-inline:12px;background:var(--c-ink-800);border-bottom:2px solid var(--c-ink-600)}.vtop__brand{display:flex;align-items:center;gap:8px;margin-inline-end:auto;min-width:0}.vtop__brand img{height:34px;width:auto;display:block}.vtop__brand .vtop__full{display:none}.vtop__code{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;border:2px solid var(--c-ink-600);font-weight:800;font-size:14px;color:var(--c-text-dim);direction:ltr}.vtop .seg button{min-width:44px;padding:0 8px}.vtop .seg .long{display:none}.vtop .seg .short{display:inline}.vtop .btn--icon{width:44px;min-height:44px}.conn{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:800;border:2px solid currentColor;color:var(--c-correct)}.conn:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.conn[data-state=lost]{color:var(--c-wrong)}.conn[data-state=lost]:before{border-radius:2px}.conn[data-state=retry]{color:#ffb020}.conn[data-state=retry]:before{clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:0}.page{flex:1;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:12px;width:min(480px,100%);margin-inline:auto;padding:16px 16px calc(16px + var(--safe-b))}.page--center{align-content:center}.hero{display:grid;justify-items:center;gap:6px;text-align:center;padding-top:4px}.hero img{width:min(280px,78%);height:auto}.hero p{color:var(--c-text-dim);font-weight:700;font-size:17px}.stack{display:grid;gap:12px}.how{display:grid;gap:8px;padding:12px 14px;border-radius:var(--r-md);background:var(--c-ink-800);border:2px solid var(--c-ink-600);font-size:15px;font-weight:600;color:var(--c-text-dim)}.how b{color:var(--c-text)}.how li{display:flex;gap:10px;align-items:center}.how ol{margin:0;padding:0;list-style:none;display:grid;gap:6px;counter-reset:s}.how li:before{counter-increment:s;content:counter(s);flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--c-ink-700);color:var(--c-text);font-weight:900;font-size:14px}.sep{display:flex;align-items:center;gap:12px;color:var(--c-text-disabled);font-weight:700;font-size:14px}.sep:before,.sep:after{content:"";flex:1;height:2px;background:var(--c-ink-600)}.notice{padding:10px 14px}.codecard{display:grid;gap:10px;padding:12px;border-radius:var(--r-lg);background:var(--c-ink-800);border:3px solid var(--c-ink-600);justify-items:center;text-align:center}.code{display:flex;gap:8px;direction:ltr}.code span{display:grid;place-items:center;width:48px;height:58px;border-radius:12px;background:var(--c-ink-900);border:3px solid var(--c-ink-600);font-family:var(--font-display);font-size:40px;line-height:1;padding-bottom:6px}.code--input{width:100%}.codeinput{width:100%;direction:ltr;text-align:center;text-transform:uppercase;letter-spacing:.32em;padding-inline-start:.32em;font-family:var(--font-display);font-size:40px;min-height:68px}.actions3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.actions3 .btn{flex-direction:column;gap:4px;min-height:64px;padding:6px 4px;font-size:14px;line-height:1.2}.actions3 .btn .icon{font-size:1.5em}.toast-inline{font-size:14px;font-weight:800;color:var(--c-correct);min-height:1.4em;display:flex;gap:6px;align-items:center;justify-content:center}.expires{font-size:14px;color:var(--c-text-dim);font-weight:700;display:flex;gap:6px;align-items:center;justify-content:center}.expires .num{color:var(--c-text)}.plist{display:grid;gap:8px;padding:12px;border-radius:var(--r-lg);background:var(--c-ink-800);border:3px solid var(--c-ink-600)}.plist h2{font-size:15px;color:var(--c-text-dim);font-weight:800}.prow{display:flex;align-items:center;gap:12px;min-height:56px;padding:6px 12px;border-radius:var(--r-md);background:var(--team-bg);border:3px solid var(--team)}.prow__hex{--hex-r: 18px;position:relative;width:calc(var(--hex-r) * 1.732);height:calc(var(--hex-r) * 2);flex:none}.prow__hex .hex{position:absolute;inset:0;width:100%;height:100%;--gap: 2px;pointer-events:none}.prow__hex .hex__letter{display:none}.prow__name{flex:1;min-width:0;font-weight:900;font-size:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--team);display:flex;align-items:center;gap:8px}.prow--empty{background:transparent;border:3px dashed var(--c-ink-600);color:var(--c-text-dim);font-weight:700}.prow--empty .icon{font-size:28px;animation:pulse var(--t-pulse) ease-in-out infinite}.prow .tag{font-size:13px;padding:0 10px;color:var(--c-text);border-color:var(--c-text-dim)}.prow .tag--new{color:var(--c-correct);border-color:var(--c-correct)}.settings{border-radius:var(--r-md);background:var(--c-ink-800);border:2px solid var(--c-ink-600)}.settings summary{min-height:48px;padding:0 14px;display:flex;align-items:center;gap:10px;font-weight:800;cursor:pointer;list-style:none}.settings summary::-webkit-details-marker{display:none}.settings[open] summary{border-bottom:2px solid var(--c-ink-600)}.settings__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;font-weight:700}.stepper{display:inline-flex;align-items:center;gap:4px}.stepper .btn{width:44px;min-height:44px;padding:0;font-size:22px}.stepper output{min-width:44px;text-align:center;font-family:var(--font-display);font-size:24px}.stickybar{position:sticky;bottom:0;display:grid;gap:8px;padding:12px 16px calc(12px + var(--safe-b));background:linear-gradient(to top,var(--c-ink-900) 70%,transparent);margin-inline:-16px}.stickybar p{text-align:center;font-size:14px;color:var(--c-text-dim);font-weight:700}.tb{flex:none;display:flex;align-items:center;gap:10px;min-height:var(--v-turn);padding:4px 12px;background:var(--c-ink-800);border-bottom:2px solid var(--c-ink-600)}.tb__main{flex:1;min-width:0}.tb__title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:900;font-size:19px;line-height:1.25}.tb__hint{font-size:14px;color:var(--c-text-dim);font-weight:600;line-height:1.3}.tb .timer{--size: 44px}.tb[data-mine]{box-shadow:inset 0 -4px 0 var(--team)}.tb--alarm{background:repeating-linear-gradient(-45deg,var(--c-armed) 0 14px,#b81f31 14px 28px);color:#fff;border-color:#7e1020}.tb--alarm .tb__hint{color:#fff;font-weight:800}.tb--bad .tb__title{color:#ff9ba5}.timer[data-state=paused]{color:var(--c-text-disabled)}.timer[data-state=paused] .timer__num{font-size:calc(var(--size) * .36);letter-spacing:2px}.ps{--ps-pad: 6px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;grid-template-areas:"art name hp" "art bar hp";align-items:center;column-gap:10px;row-gap:4px;min-height:var(--v-strip);padding:var(--ps-pad) 12px;border-radius:var(--r-md);background:var(--team-bg);border:3px solid transparent;transition:border-color var(--t-base),box-shadow var(--t-base)}.ps[data-active]{border-color:var(--team);box-shadow:0 0 18px var(--team-glow)}.ps[data-threat]{border-color:var(--c-armed);box-shadow:0 0 22px #ff3b4e99;animation:pulse var(--t-pulse) ease-in-out infinite}.ps__art{grid-area:art;position:relative;width:44px;height:44px;color:var(--team);display:grid;place-items:center}.ps__art .icon{width:100%;height:100%}.ps[data-shield] .ps__art:before{content:"";position:absolute;inset:-4px;border:3px solid var(--c-text);border-radius:50%;box-shadow:0 0 12px #f4f1e68c}.ps__name{grid-area:name;display:flex;align-items:center;gap:6px;min-width:0;font-weight:900;font-size:17px;line-height:1.2;color:var(--team)}.ps__name>span:not(.mark):not(.ps__you):not(.tag){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.ps__you{flex:none;padding:0 8px;border-radius:999px;background:var(--team);color:var(--c-ink-900);font-size:12px;font-weight:900;line-height:1.6}.ps__tags{display:inline-flex;gap:4px;flex:none}.ps__tags .tag{padding:0 6px;font-size:12px;line-height:1.5;gap:4px}.ps__tags .tag .icon{font-size:1.25em}.ps__tags .tag .t{display:none}.ps .hp{grid-area:hp;align-self:center;flex-direction:column;align-items:center;gap:0}.ps .hp__num{font-size:32px}.ps .hp__max{font-size:12px}.ps .hpbar{grid-area:bar;height:12px;border-width:2px}.vgame .v__board{container-type:size}.vgame .v__board>.board{--hex-r: clamp(24px, min(calc(100cqw / 9.6), 12.5cqh ), 84px);--hex-w: calc(var(--hex-r) * 1.7320508);--hex-h: calc(var(--hex-r) * 2);--fs-cell: calc(var(--hex-r) * .92)}.vgame .v__stage{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px;padding:6px 8px}.vgame .v__board{flex:1;min-height:0;display:grid;place-items:center;width:100%}.act{flex:none;display:grid;align-content:center;gap:8px;min-height:var(--v-action);padding:8px 12px calc(8px + var(--safe-b));background:var(--c-ink-800);border-top:2px solid var(--c-ink-600)}.act__row{display:flex;align-items:center;gap:8px}.act__row .btn{flex:1;min-height:var(--ctl-h)}.act__msg{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-weight:800;font-size:17px;line-height:1.35}.act__msg .icon{font-size:1.5em;flex:none}.act__msg small{display:block;font-size:14px;color:var(--c-text-dim);font-weight:600}.act__confirm{display:flex;align-items:center;gap:12px}.act__confirm .qhex{--hex-r: 22px;--hex-w: calc(var(--hex-r) * 1.7320508);--hex-h: calc(var(--hex-r) * 2);--fs-cell: calc(var(--hex-r) * .92);position:relative;width:var(--hex-w);height:var(--hex-h);flex:none}.act__confirm .qhex .hex{position:absolute;inset:0}.act__confirm p{flex:1;font-weight:900;font-size:18px;line-height:1.3}.legendrow{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;font-size:14px;font-weight:700;color:var(--c-text-dim)}.legendrow .legend{gap:4px 14px;justify-content:center}.legendrow .legend__hex{--hex-r: 12px}.legend{font-size:14px}.sbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"w t c" "x x x";align-items:center;gap:6px 10px}.sbar__w{grid-area:w;display:flex;align-items:center;gap:8px;color:var(--team);font-weight:900;font-size:18px}.sbar__w .icon{width:32px;height:32px}.sbar__t{grid-area:t;font-size:14px;font-weight:700;line-height:1.3;color:var(--c-text-dim)}.sbar__c{grid-area:c;font-family:var(--font-display);font-size:30px;line-height:1}.sbar__c span{color:var(--c-text-dim);font-size:.6em}.sbar__b{grid-area:x;display:grid;grid-template-columns:1fr 2fr;gap:8px}.sbar__b .btn{min-height:var(--ctl-h)}.act--error{box-shadow:inset 0 4px 0 var(--c-wrong)}.errline{display:flex;gap:10px;align-items:flex-start;padding:8px 12px;border-radius:var(--r-md);background:#ff4d5e24;border:2px solid var(--c-wrong);color:#ffc4ca;font-weight:700;font-size:15px;line-height:1.35}.errline .icon{font-size:1.4em;flex:none;margin-top:2px}.vscrim{position:absolute;inset:0;z-index:20;background:#060914b8;display:flex;flex-direction:column;justify-content:flex-end}.vscrim--center{justify-content:center;align-items:center;padding:16px}.sheet{position:relative;max-height:calc(var(--vvh) * .8);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--c-ink-800);border-top:4px solid var(--team, var(--c-ink-600));border-start-start-radius:var(--sheet-r);border-start-end-radius:var(--sheet-r);box-shadow:0 -16px 40px #00000080}.sheet:before{content:"";justify-self:center;width:44px;height:5px;margin-top:8px;border-radius:3px;background:var(--c-ink-600)}.sheet__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px 4px}.sheet__head h2{font-size:19px;font-weight:900}.sheet__head .sub{font-size:14px;color:var(--c-text-dim);font-weight:700}.sheet__body{overflow-y:auto;padding:8px 12px;display:grid;gap:10px;align-content:start}.sheet__foot{padding:8px 12px calc(10px + var(--safe-b));display:grid;gap:8px;border-top:2px solid var(--c-ink-600)}.sheet__foot--row{grid-template-columns:1fr 2fr}.sheet__foot .btn{min-height:var(--ctl-h)}.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wgrid .weapon{width:auto;max-width:none;height:104px;padding:6px 8px;gap:0}.wgrid .weapon__top{margin-bottom:0}.wgrid .weapon__icon{width:28px;height:28px}.wgrid .weapon__shape{height:24px}.wgrid .weapon__name{font-size:15px;line-height:1.1}.wgrid .weapon__sub{font-size:12.5px;line-height:1.2}.modes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modes .btn{min-height:64px;flex-direction:column;gap:2px;font-size:16px}.hintline{padding:8px 12px;border-radius:var(--r-md);background:var(--c-ink-900);border:2px solid var(--c-ink-600);font-size:15px;font-weight:700;display:flex;gap:8px;align-items:center}.hintline .icon{font-size:1.3em;flex:none}.ans{--accent: var(--team, var(--c-text));position:relative;height:var(--vvh);display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--c-ink-900);overflow:hidden}.ans__prog{height:8px;background:var(--c-ink-600)}.ans__prog i{display:block;height:100%;width:var(--p, 100%);background:var(--accent);transition:width 1s linear}.ans[data-timer=warn] .ans__prog i{background:#ffb020}.ans[data-timer=urgent] .ans__prog i{background:var(--c-wrong);animation:pulse .6s ease-in-out infinite}.ans__head{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--c-ink-800);border-bottom:2px solid var(--c-ink-600);min-height:64px}.ans__letter{--hex-r: 24px;--hex-w: calc(var(--hex-r) * 1.7320508);--hex-h: calc(var(--hex-r) * 2);--fs-cell: calc(var(--hex-r) * .92);position:relative;width:var(--hex-w);height:var(--hex-h);flex:none}.ans__letter .hex{position:absolute;inset:0}.ans__who{flex:1;min-width:0;font-weight:900;font-size:18px;line-height:1.25}.ans__who small{display:block;font-size:14px;font-weight:700;color:var(--c-text-dim)}.ans__who .tag{font-size:13px;line-height:1.4;padding:0 10px;margin-top:2px}.ans__head .timer{--size: 52px}.ans[data-timer=warn] .timer{color:#ffb020}.ans[data-timer=urgent] .timer{color:var(--c-wrong);animation:pulse .6s ease-in-out infinite}.ans__body{overflow-y:auto;padding:12px 16px;display:grid;align-content:start;gap:10px}.ans__q{font-size:clamp(21px,6.4vw,28px);font-weight:800;line-height:1.6;text-wrap:balance}.ans__status{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-md);background:var(--c-ink-800);border:2px solid var(--c-ink-600);font-weight:800;font-size:16px;line-height:1.35}.ans__status .icon{font-size:1.4em;flex:none}.ans__status--bad{border-color:var(--c-wrong);color:#ffc4ca;background:#ff4d5e1f}.ans__status--ok{border-color:var(--c-correct);color:var(--c-correct);background:#3ddc841a}.ans__status--steal{border:3px dashed var(--accent);color:var(--c-text);background:color-mix(in srgb,var(--accent) 14%,var(--c-ink-800))}.ans__foot{display:grid;gap:6px;padding:8px 12px calc(8px + var(--safe-b));background:var(--c-ink-800);border-top:2px solid var(--c-ink-600)}.ans__row{display:flex;gap:8px;align-items:stretch}.ans__row .input{flex:1;min-width:0}.ans__row .btn{min-width:96px;min-height:var(--ctl-h)}.ans__meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--c-text-dim);font-weight:700;min-height:1.3em}.ans__meta .warn{color:#ffb020}.ans[data-mode=watch] .ans__foot .input{opacity:.55}.ans[data-mode=steal] .ans__head{background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--accent) 22%,var(--c-ink-800)) 0 12px,var(--c-ink-800) 12px 24px)}.ans[data-kb=open] .ans__head{min-height:56px;padding-block:4px}.ans[data-kb=open] .ans__q{font-size:clamp(20px,5.8vw,24px);line-height:1.5}.ans__count{align-self:center;justify-self:center;font-family:var(--font-display);font-size:120px;line-height:1;padding:16px 0}.kbd-mock{height:290px;background:#1b1e29;border-top:1px solid #333949;display:grid;gap:8px;padding:12px 6px;align-content:start;position:relative}.kbd-mock i{display:block;height:44px;border-radius:7px;background:#3a3f50;opacity:.8}.kbd-mock .r{display:grid;gap:5px;grid-auto-flow:column;grid-auto-columns:1fr}.kbd-mock .r.r2{margin-inline:14px}.kbd-mock .r.r3{margin-inline:30px}.kbd-mock small{position:absolute;inset-inline:0;bottom:6px;text-align:center;color:#8d94ad;font-size:12px;direction:ltr}.devkb{display:grid;grid-template-rows:350px 290px;height:640px;width:100%;overflow:hidden;background:#000}.devkb .ans{--vvh: 350px;height:350px}.rv{display:grid;gap:10px}.rv__result{display:flex;align-items:center;gap:10px;font-weight:900;font-size:20px}.rv__result .icon{font-size:1.5em}.rv__result--ok{color:var(--c-correct)}.rv__result--bad{color:#ffb020}.rv__q{font-size:17px;font-weight:700;color:var(--c-text-dim);line-height:1.55}.rv__ans{padding:10px 14px;border-radius:var(--r-md);background:var(--c-ink-900);border:3px dashed var(--c-text-dim);text-align:center}.rv__ans small{display:block;color:var(--c-text-dim);font-size:14px;font-weight:800}.rv__ans b{font-size:28px;font-weight:900;line-height:1.5}.rv__typed{display:grid;gap:6px}.rv__t{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-md);background:var(--team-bg);border:2px solid var(--team)}.rv__t .who{font-size:14px;font-weight:800;color:var(--team);display:flex;align-items:center;gap:6px;white-space:nowrap}.rv__t .txt{font-size:20px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv__t .txt.none{font-size:15px;color:var(--c-text-dim)}.rv__t .ver{display:inline-flex;align-items:center;gap:4px;font-weight:900;font-size:14px}.rv__t .ver .icon{font-size:1.3em}.rv__t .ver--ok{color:var(--c-correct)}.rv__t .ver--bad{color:#ff9ba5}.rv__next{height:6px;border-radius:3px;background:var(--c-ink-600);overflow:hidden}.rv__next i{display:block;height:100%;width:var(--p, 60%);background:var(--c-text-dim)}.rv__foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:14px;font-weight:700;color:var(--c-text-dim)}.opts{display:grid;gap:8px}.opt{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 14px;border-radius:var(--r-md);border:3px solid var(--c-ink-600);background:var(--c-ink-700);font-weight:800;font-size:17px;text-align:start;width:100%}.opt:before{content:"";flex:none;width:22px;height:22px;border-radius:50%;border:3px solid var(--c-text-dim)}.opt[aria-checked=true]{border-color:var(--c-text);background:var(--c-ink-600)}.opt[aria-checked=true]:before{border-color:var(--c-text);background:radial-gradient(var(--c-text) 0 45%,transparent 50%)}.textarea{width:100%;min-height:76px;padding:10px 14px;border:3px solid var(--c-ink-600);border-radius:var(--r-md);background:var(--c-ink-900);font-size:17px;resize:none}.textarea:focus-visible{border-color:var(--c-focus);outline-offset:2px}.vscrim .nuke-over{width:min(400px,100%);padding:20px 18px;gap:10px;text-align:center}.vscrim .nuke-over>.icon{width:84px;height:84px}.vscrim .nuke-over__title{font-size:40px}.vscrim .nuke-over__sub{font-size:18px;line-height:1.45}.vscrim .nuke-over__hint{font-size:16px;font-weight:800;color:var(--c-text-dim);display:flex;gap:8px;align-items:center;justify-content:center}.vscrim .nuke-over .btn{min-width:60%}.overlay-card{width:min(400px,100%);display:grid;justify-items:center;gap:12px;padding:22px 18px;border-radius:var(--r-lg);background:var(--c-ink-800);border:3px solid var(--c-ink-600);text-align:center}.overlay-card>.icon{font-size:52px;color:var(--c-text-dim)}.overlay-card h2{font-size:22px;font-weight:900;line-height:1.3}.overlay-card p{color:var(--c-text-dim);font-weight:700;font-size:16px}.overlay-card .btn{width:100%;min-height:var(--ctl-h)}.overlay-card .clock{font-family:var(--font-display);font-size:48px;line-height:1;direction:ltr}.spinner{width:44px;height:44px;border:5px solid var(--c-ink-600);border-top-color:var(--c-text);border-radius:50%;animation:spin .8s linear infinite}.bannerbar{flex:none;display:flex;align-items:center;gap:10px;padding:8px 12px;background:#3a2a05;border-bottom:3px solid #ffb020;color:#ffe2a0;font-weight:800;font-size:15px;line-height:1.35}.bannerbar .icon{font-size:1.5em;flex:none;color:#ffb020}.bannerbar .num{font-family:var(--font-display);font-size:22px;color:#fff;margin-inline-start:auto}.dimmed{opacity:.5;filter:saturate(.6);pointer-events:none}.winv{flex:1;min-height:0;overflow-y:auto;display:grid;align-content:center;justify-items:center;gap:12px;padding:20px 16px calc(16px + var(--safe-b));text-align:center;background:radial-gradient(70% 55% at 50% 22%,color-mix(in srgb,var(--team, #888) 24%,transparent),transparent 70%)}.winv .winner__crown{width:72px;height:72px;margin-bottom:6px}.winv .winner__title{font-size:clamp(40px,13vw,64px);line-height:1.4}.winv .stats{grid-template-columns:auto 1fr 1fr;width:min(440px,100%);padding:10px 14px;gap:6px 14px;text-align:center}.winv .stats .l{text-align:start;font-size:15px}.winv .stats .v{font-size:26px}.winv .stats .h{font-size:17px;display:flex;align-items:center;justify-content:center;gap:6px}.hand{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:min(440px,100%)}.hand__p{display:grid;justify-items:center;gap:2px;padding:8px;border-radius:var(--r-md);border:3px dashed var(--c-ink-600);font-weight:800;font-size:15px;color:var(--c-text-dim)}.hand__p b{font-size:17px;color:var(--team);display:flex;align-items:center;gap:6px}.hand__p[data-ready]{border-style:solid;border-color:var(--c-correct);color:var(--c-correct);background:#3ddc8414}.winv .btns{display:grid;gap:8px;width:min(440px,100%)}.winv .btns .btn{min-height:var(--ctl-h)}.winv .note{font-size:15px;font-weight:700;color:var(--c-text-dim);display:flex;align-items:center;justify-content:center;gap:8px}@media(min-width:600px){body{font-size:18px}.vtop{padding-inline:20px}.vtop__brand .vtop__mark{display:none}.vtop__brand .vtop__full{display:block;height:36px}.vtop .seg .long{display:inline}.vtop .seg .short{display:none}.ps__tags .tag .t{display:inline}.ps{--ps-pad: 8px;grid-template-columns:52px minmax(0,1fr) auto;min-height:68px}.ps__art{width:52px;height:52px}.ps__name{font-size:19px}.ps .hp__num{font-size:38px}.ans__body{padding:20px 24px}.ans__q{font-size:30px}.page{padding-top:28px}.wgrid .weapon{height:112px}.wgrid .weapon__sub{font-size:13.5px}}@media(min-width:700px){.ans-wrap{height:var(--vvh);display:grid;place-items:center;padding:24px;background:#060914e6}.ans-wrap .ans{height:auto;width:min(620px,100%);border:4px solid var(--accent);border-radius:var(--r-lg);min-height:520px}.ans-wrap .ans__prog{border-start-start-radius:18px;border-start-end-radius:18px;overflow:hidden}.ans-wrap .ans__foot{border-end-start-radius:18px;border-end-end-radius:18px}}@media(min-width:1024px){.vgame[data-sheet] .act{display:none}.vgame .v__stage{display:grid;grid-template-columns:minmax(200px,1fr) minmax(0,1.7fr) minmax(200px,1fr);align-items:stretch;gap:24px;padding:8px 32px}.vgame .v__stage>.ps{align-self:center}.vgame .v__board{height:100%}.vgame .v__stage>.ps[data-side=opp]{order:1}.vgame .v__stage>.v__board{order:2}.vgame .v__stage>.ps[data-side=me]{order:3}.ps{grid-template-columns:1fr;grid-template-areas:"art" "name" "hp" "bar";justify-items:center;text-align:center;row-gap:8px;padding:16px;max-width:320px;width:100%;justify-self:center;border-radius:var(--r-lg)}.vgame .v__stage>.ps[data-side=opp]{justify-self:end}.vgame .v__stage>.ps[data-side=me]{justify-self:start}.ps__art{width:112px;height:112px}.ps__name{justify-content:center;flex-wrap:wrap;font-size:24px;font-family:var(--font-display);font-weight:400}.ps .hp{flex-direction:row;align-items:baseline;gap:6px}.ps .hp__num{font-size:56px}.ps .hpbar{width:100%;height:18px}.act{min-height:110px;padding-inline:32px}.sheet{position:static;max-height:none;border-radius:var(--r-lg);border:3px solid var(--team, var(--c-ink-600));box-shadow:none;background:transparent;border-top-width:3px}.sheet:before{display:none}.vscrim:has(>.sheet){position:static;background:none;display:block}.wgrid{grid-template-columns:repeat(9,minmax(0,1fr))}.wgrid .weapon{height:128px}.ans-wrap .ans{min-height:560px}}.hex.is-err{animation:shake .3s 2}.btnrow2{display:grid;grid-template-columns:1fr 2fr;gap:8px}.btnrow2 .btn{min-height:var(--ctl-h)}.pillrow{display:grid;gap:6px}.tb__last{width:44px;min-height:44px;flex:none;color:var(--c-text-dim)}.hp{position:relative}.ps__float{position:absolute;inset-inline-end:0;inset-block-start:-6px;font-family:var(--font-display);font-size:28px;line-height:1;pointer-events:none;animation:fx-float 1.6s ease-out forwards;text-shadow:0 2px 0 var(--c-ink-900)}.ps__float .icon{width:28px;height:28px}.ps__float[data-kind=hit]{color:var(--c-wrong)}.ps__float[data-kind=heal]{color:var(--c-correct)}.ps__float[data-kind=block]{color:var(--c-text)}.ps[data-fx=hit]{animation:fx-hit .48s ease-out 1}.ps[data-fx=heal]{animation:fx-heal .9s ease-out 1}.ps[data-fx=block],.ps[data-fx=shield]{animation:fx-shield .9s ease-out 1}.hex[data-fx=break]{animation:fx-break .9s ease-out 1}.hex[data-fx=hijack]{animation:fx-pop .9s ease-out 1}.fx-nuke{position:fixed;inset:0;z-index:70;background:#fff;pointer-events:none;opacity:0;animation:fx-nuke 1.8s ease-in-out 1 forwards}.fxlines{position:absolute;inset-inline:12px;inset-block-start:46%;transform:translateY(-50%);z-index:40;display:grid;gap:6px;pointer-events:none}.fxlines .notice{margin:0;background:var(--c-ink-800);box-shadow:0 6px 18px #0000008c}@keyframes fx-float{0%{opacity:0;transform:translateY(8px)}15%{opacity:1}to{opacity:0;transform:translateY(-26px)}}@keyframes fx-hit{0%,to{transform:translate(0);box-shadow:none}20%{transform:translate(-5px);box-shadow:0 0 0 4px var(--c-wrong)}60%{transform:translate(4px);box-shadow:0 0 0 4px var(--c-wrong)}}@keyframes fx-heal{0%,to{box-shadow:none}30%{box-shadow:0 0 0 4px var(--c-correct)}}@keyframes fx-shield{0%,to{box-shadow:none}30%{box-shadow:0 0 0 4px var(--c-text)}}@keyframes fx-break{0%{transform:scale(1.18);filter:drop-shadow(0 0 10px var(--c-wrong)) brightness(1.6)}50%{transform:scale(.8);filter:drop-shadow(0 0 6px var(--c-wrong))}to{transform:scale(1);filter:none}}@keyframes fx-pop{0%{transform:scale(.8);filter:brightness(1.8)}60%{transform:scale(1.14)}to{transform:scale(1);filter:none}}@keyframes fx-nuke{0%{opacity:0}35%{opacity:.88}to{opacity:0}}.winv{align-content:safe center}.winv[data-draw] .winner__crown{color:var(--c-text-dim)}@media(max-height:700px){.winv{gap:8px;padding-top:10px}.winv .winner__crown{width:48px;height:48px;margin-bottom:0}.winv .winner__title{font-size:40px;line-height:1.2}.winv .stats .v{font-size:22px}}@font-face{font-family:Cairo;src:url(/fonts/Cairo-VF.ttf) format("truetype");font-weight:200 1000;font-display:swap}@font-face{font-family:Lalezar;src:url(/fonts/Lalezar-Regular.ttf) format("truetype");font-weight:400;font-display:swap}#root{min-height:100dvh}.vscrim.vscrim--modal:has(>.sheet){position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;background:#060914b8}@media(min-width:700px){.vscrim.vscrim--modal:has(>.sheet){justify-content:center;align-items:center;padding:16px}.vscrim--modal>.sheet{position:relative;width:min(560px,100%);border-radius:var(--r-lg);border:3px solid var(--team, var(--c-ink-600));background:var(--c-ink-800);box-shadow:0 16px 40px #00000080}.vscrim--modal>.sheet:before{display:none}}.answer-input[data-pulse]{animation:pulse var(--t-pulse) ease-in-out infinite;border-style:dashed}html,body,.page{overflow-x:hidden}
