:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--slate-950:#020617;--slate-900:#0f172a;--slate-800:#1e293b;--slate-700:#334155;--slate-400:#94a3b8;--slate-300:#cbd5e1;--slate-100:#f1f5f9;--cyan:#0ea5e9;--pink:#ec4899;--purple:#a855f7;--yellow:#eab308}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100dvh;min-height:var(--app-viewport-height,100dvh);margin:0}body{background:var(--slate-950);color:var(--slate-100);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden}button,select{font:inherit}button{cursor:pointer}.game-shell{height:100dvh;height:var(--app-viewport-height,100dvh);min-height:100dvh;min-height:var(--app-viewport-height,100dvh);background:var(--slate-950);color:var(--slate-100);-webkit-user-select:none;user-select:none;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-left:env(safe-area-inset-left);flex-direction:column;display:flex;position:relative;overflow:hidden}.hud{z-index:20;width:100%;padding-top:max(.5rem, env(safe-area-inset-top));padding-right:max(.5rem, env(safe-area-inset-right));padding-bottom:.5rem;padding-left:max(.5rem, env(safe-area-inset-left));pointer-events:none;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.5rem;display:grid;position:absolute;top:0;left:0}.hud-roster{pointer-events:auto;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.45rem;max-width:min(72rem,100vw - 5rem);display:grid}.hud-center{pointer-events:auto;flex-direction:column;justify-content:flex-start;align-items:center;gap:.5rem;display:flex}.player-card,.wind-card,.menu-modal{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ad1;border:1px solid #94a3b83d}.player-card{border-radius:.625rem;flex-direction:column;gap:.35rem;width:100%;min-width:0;padding:.5rem .55rem;display:flex}.player-card-active{background:#0f172aeb}.player-card-disconnected{outline-offset:-1px;opacity:.78;filter:saturate(.45);background:linear-gradient(90deg,#7f1d1d47,#0f172ac7 62%),#0f172ad1;outline:1px solid #f8717175}.player-card-header{justify-content:space-between;align-items:center;gap:.4rem;min-width:0;display:flex}.player-card h2{min-width:0;color:var(--cyan);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:.3rem;margin:0;font-size:.78rem;font-weight:800;line-height:1.1;display:flex;overflow:hidden}.player-active-dot{border-radius:999px;flex:none;width:.4rem;height:.4rem;animation:1.4s ease-in-out infinite player-active-pulse}@keyframes player-active-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.78)}}.player-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.player-offline-badge{color:#fecaca;letter-spacing:.12em;text-transform:uppercase;background:#7f1d1d80;border:1px solid #f8717175;border-radius:999px;flex:none;padding:.13rem .28rem;font-size:.48rem;font-weight:950;line-height:1}.player-score-chip{color:var(--slate-300);letter-spacing:.02em;font-variant-numeric:tabular-nums;background:#94a3b81a;border:1px solid #94a3b833;border-radius:999px;flex:none;align-items:center;gap:.22rem;padding:.1rem .36rem .1rem .3rem;font-size:.65rem;font-weight:800;line-height:1;display:inline-flex}.player-score-chip svg{width:.7rem;height:.7rem;color:var(--slate-400)}.player-score-chip-target{opacity:.55;margin-left:.05rem;font-weight:700}.player-score-chip svg{width:.7rem;height:.7rem}.hp-track{background:var(--slate-800);border:1px solid #334155f2;border-radius:999px;width:100%;height:.85rem;position:relative;overflow:hidden}.hp-track-low{border-color:#fbbf2473}.hp-track-critical{border-color:#f871718c;animation:1.6s ease-in-out infinite hp-critical-pulse}@keyframes hp-critical-pulse{0%,to{box-shadow:inset 0 0 #f8717100}50%{box-shadow:inset 0 0 8px #f8717159}}.hp-fill{height:100%;transition:width .3s}.hp-label{color:#fff;letter-spacing:.02em;text-shadow:0 1px 2px #000000d9;font-variant-numeric:tabular-nums;pointer-events:none;font-size:.58rem;font-weight:800;line-height:1;position:absolute;top:50%;right:.45rem;transform:translateY(-50%)}.hp-label-max{opacity:.6;margin-left:.05rem;font-weight:700}.player-stats{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.2rem .3rem;margin:0;padding:0;list-style:none;display:flex}.player-stat{color:#e2e8f0;font-variant-numeric:tabular-nums;align-items:center;gap:.18rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.player-stat svg{width:.7rem;height:.7rem;color:var(--slate-400)}.player-stat-empty{opacity:.4}.wind-card{border-color:#a855f752;border-radius:.75rem;flex-direction:column;align-items:center;padding:.25rem .75rem;display:flex;box-shadow:0 0 15px #a855f738}.hud-kicker{color:#c084fc;letter-spacing:.08em;text-transform:uppercase;margin-bottom:0;font-size:.625rem;font-weight:800;line-height:1.2}.wind-row{align-items:center;gap:.25rem;display:flex}.wind-icon{width:.875rem;height:.875rem;color:var(--slate-300);display:none}.wind-arrow{color:#fff;width:1rem;height:1rem;transition:transform .5s}.wind-value{color:#fff;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.875rem;font-weight:800}.audio-controls{gap:.4rem;display:flex}.audio-button{border:1px solid var(--slate-700);width:2rem;height:2rem;color:var(--slate-400);background:#1e293bd1;border-radius:999px;place-items:center;transition:background-color .16s,color .16s,border-color .16s;display:grid;box-shadow:0 10px 22px #00000047}.audio-button-muted{color:#fecaca;background:#450a0ad1;border-color:#f8717157}.audio-button:hover{color:#fff;background:#334155e6;border-color:#94a3b894}.audio-button svg{width:.875rem;height:.875rem}.settings-button{border:1px solid var(--slate-700);width:2rem;height:2rem;color:var(--slate-300);background:#1e293bdb;border-radius:999px;place-items:center;transition:background-color .16s,color .16s,border-color .16s;display:grid;box-shadow:0 10px 22px #00000047}.settings-button:hover{color:#fff;background:#334155e6;border-color:#94a3b894}.settings-button svg{width:.925rem;height:.925rem}.audio-icon-stack{place-items:center;width:.875rem;height:.875rem;display:grid;position:relative}.audio-icon-stack svg{width:100%;height:100%}.audio-icon-stack .audio-icon-x{color:#fecaca;stroke-width:3px;width:.58rem;height:.58rem;position:absolute;top:50%;right:-.25rem;transform:translateY(-38%)}.battle-wrap{z-index:10;pointer-events:none;flex:auto;justify-content:center;align-items:center;min-height:0;padding:clamp(5.5rem,18dvh,7.5rem) .5rem .75rem;display:flex;position:relative;container-type:size}.battlefield{aspect-ratio:3/2;border:1px solid var(--slate-800);background:var(--slate-950);pointer-events:auto;border-radius:.5rem;width:min(100%,72rem,150cqh);height:auto;max-height:100%;display:block;box-shadow:0 25px 50px #00000080}.control-dock{z-index:20;overscroll-behavior:contain;border-top:1px solid var(--slate-700);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172af5;flex:none;width:100%;max-height:min(44dvh,22rem);position:relative;overflow-y:auto;box-shadow:0 -10px 30px #00000080}.control-dock-picker-open{overflow:visible}.control-inner{width:min(100%,64rem);padding-top:1rem;padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1.5rem, calc(env(safe-area-inset-bottom) + .75rem));padding-left:max(1rem, env(safe-area-inset-left));margin:0 auto}.online-match-row{color:var(--slate-400);text-transform:uppercase;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;margin:0 auto .65rem;font-size:.72rem;font-weight:800;display:flex}.online-match-row.has-offline-player{color:var(--slate-300)}.online-room-label{color:#c4b5fd}.online-room-code{letter-spacing:0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:950}.online-turn-status{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.online-turn-status.is-offline{color:#fecaca}.online-offline-badge{color:#fecaca;letter-spacing:.13em;background:#7f1d1d94;border:1px solid #f8717185;border-radius:999px;align-items:center;gap:.24rem;padding:.16rem .42rem;font-size:.56rem;font-weight:950;line-height:1;display:inline-flex;box-shadow:0 0 14px #ef44442e}.online-offline-badge:before{content:"";background:#ef4444;border-radius:999px;width:.38rem;height:.38rem;box-shadow:0 0 10px #f87171b8}.online-match-row button{color:var(--slate-300);cursor:pointer;font:inherit;text-transform:uppercase;background:#020617b8;border:1px solid #94a3b847;border-radius:999px;padding:.2rem .6rem}.turn-pill{letter-spacing:.08em;text-transform:uppercase;border:1px solid;border-radius:999px;width:max-content;max-width:100%;margin:0 auto .75rem;padding:.125rem .75rem;font-size:.75rem;font-weight:900;line-height:1.5;display:block}.shot-status{z-index:3;color:#bae6fd;letter-spacing:.08em;pointer-events:none;text-align:center;text-transform:uppercase;background:#082f49bd;border:1px solid #22d3ee47;border-radius:999px;width:max-content;max-width:min(30rem,100% - 2rem);padding:.125rem .7rem;font-size:.7rem;font-weight:900;line-height:1.5;position:absolute;bottom:1.35rem;left:50%;transform:translate(-50%);box-shadow:0 .85rem 1.8rem #0206175c}.shot-status-alert{color:#fecaca;background:#7f1d1dc7;border-color:#f8717175;animation:.24s ease-out shot-status-alert}@keyframes shot-status-alert{0%{opacity:0;transform:translate(-50%)translateY(.35rem)scale(.98)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.target-picker{z-index:6;pointer-events:auto;background:#020617e6;border:1px solid #22d3ee59;border-radius:.5rem;gap:.7rem;width:min(34rem,100% - 1.5rem);padding:.85rem;display:grid;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 1rem 2.5rem #0000007a,0 0 1.5rem #22d3ee24}.target-picker-header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.target-picker-kicker{color:#67e8f9;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.1rem;font-size:.62rem;font-weight:900;line-height:1.2;display:block}.target-picker h2{color:#f8fafc;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.95rem;font-weight:950;line-height:1.2}.target-picker-close{width:2rem;height:2rem;color:var(--slate-300);background:#0f172ad1;border:1px solid #94a3b852;border-radius:999px;flex:none;place-items:center;display:grid}.target-picker-close svg{width:1rem;height:1rem}.target-picker-list{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.5rem;display:grid}.target-picker-option{color:#fff;text-align:left;background:#0f172adb;border:1px solid #94a3b83d;border-radius:.5rem;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.55rem;min-height:3.25rem;padding:.55rem;display:grid}.target-picker-option:hover:not(:disabled){background:#082f49d1;border-color:#22d3ee94}.target-picker-option.is-selected:not(:disabled){background:#082f49eb;border-color:#67e8f9c7;box-shadow:inset 0 0 0 1px #67e8f92e,0 0 1rem #22d3ee2e}.target-picker-option:disabled{cursor:not-allowed;opacity:.55}.target-picker-reticle{background:#020617ad;border:1px solid;border-radius:999px;place-items:center;width:1.8rem;height:1.8rem;display:grid;box-shadow:0 0 1rem}.target-picker-reticle svg{width:1rem;height:1rem}.target-picker-copy{gap:.12rem;min-width:0;display:grid}.target-picker-copy strong,.target-picker-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.target-picker-copy strong{color:#f8fafc;font-size:.82rem;line-height:1.2}.target-picker-copy small{color:var(--slate-400);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.62rem;line-height:1.2}.control-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:1rem;display:grid}.control-group{gap:.375rem;min-width:0;display:grid}.control-group-alert .control-label{color:#fecaca}.control-label-row{color:var(--slate-300);justify-content:space-between;align-items:center;gap:.5rem;padding:0 .25rem;font-size:.75rem;font-weight:700;display:flex}.control-label{align-items:center;gap:.25rem;min-width:0;display:inline-flex}.control-label svg{flex:none;width:.875rem;height:.875rem}.control-value{border:1px solid var(--slate-700);background:var(--slate-800);color:#fff;white-space:nowrap;border-radius:.25rem;padding:0 .375rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.75rem;line-height:1.4}.ammo-chip{color:#fecaca;text-transform:uppercase;background:#7f1d1d75;border:1px solid #f871716b;border-radius:999px;padding:.05rem .4rem;font-size:.62rem;font-weight:900;line-height:1.35}.touch-slider{background:var(--slate-950);cursor:pointer;touch-action:none;border:1px solid #33415580;border-radius:.75rem;width:100%;height:2.5rem;position:relative;overflow:hidden;box-shadow:inset 0 2px 8px #00000073}.touch-slider-disabled{cursor:not-allowed;opacity:.5}.touch-slider-fill{opacity:.8;pointer-events:none;height:100%;position:absolute;top:0;left:0}.touch-slider-thumb{pointer-events:none;background:#fff;width:.5rem;height:100%;position:absolute;top:0}select{background:var(--slate-950);color:#fff;border:1px solid #33415580;border-radius:.75rem;outline:none;width:100%;height:2.5rem;padding:0 .5rem;font-size:.6875rem;display:block;box-shadow:inset 0 2px 8px #0000005c}.action-picker{position:relative}.action-picker-trigger,.action-option{background:var(--slate-950);color:#fff;border:1px solid #33415580;border-radius:.75rem;width:100%;min-width:0;box-shadow:inset 0 2px 8px #0000005c}.action-picker-trigger{--trigger-icon-left:-.55rem;--trigger-icon-size:3rem;height:2.5rem;padding:.35rem .5rem .35rem calc(var(--trigger-icon-left) + var(--trigger-icon-size) + .42rem);text-align:left;grid-template-columns:minmax(0,1fr);align-items:center;display:grid;position:relative;overflow:visible}.action-picker-trigger:hover:not(:disabled),.action-option:hover:not(:disabled){background:#082f49b8;border-color:#7dd3fc94}.action-picker-trigger.is-equipment{background:#052e166b;border-color:#86efac57}.action-picker-alert{border-color:#f87171d1;box-shadow:inset 0 2px 8px #0000005c,0 0 0 3px #ef444424}.action-icon{width:2.15rem;height:2.15rem;color:var(--action-accent,#67e8f9);flex:none;place-items:center;display:grid;position:relative}.action-icon.has-raster-icon{filter:drop-shadow(0 .16rem .12rem #0000007a) drop-shadow(0 0 .42rem color-mix(in srgb, var(--action-accent,#67e8f9) 24%, transparent))}.action-icon.is-fallback-icon{box-shadow:0 0 .8rem color-mix(in srgb, currentColor 35%, transparent);background:#020617b3;border:1px solid;border-radius:.55rem}.action-picker-trigger-icon{top:50%;left:var(--trigger-icon-left);width:var(--trigger-icon-size);height:var(--trigger-icon-size);margin:0;position:absolute;transform:translateY(-50%)}.action-icon-image{object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.action-icon svg{stroke-width:2.4px;width:.95rem;height:.95rem}.action-icon-count{z-index:1;min-width:1.05rem;height:1.05rem;box-shadow:0 0 0 1px #020617e6, 0 0 .55rem color-mix(in srgb, var(--action-accent,#67e8f9) 26%, transparent);color:#e0f2fe;pointer-events:none;background:#020617f0;border:1px solid #7dd3fc8f;border-radius:999px;place-items:center;padding:0 .22rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.5rem;font-weight:900;line-height:1;display:grid;position:absolute;bottom:-.02rem;right:-.02rem}.action-icon-count.is-zero{color:#fecaca;background:#7f1d1df5;border-color:#f871718a}.action-picker-trigger-copy,.action-option-copy{align-self:center;gap:.1rem;min-width:0;display:grid}.action-picker-trigger-copy strong,.action-option-copy strong,.action-picker-trigger-copy small,.action-option-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.action-picker-trigger-copy strong{color:#f8fafc;font-size:.74rem;font-weight:900;line-height:1.1}.action-picker-trigger-copy small{color:var(--slate-400);letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:900;line-height:1.1}.action-count{color:#e0f2fe;text-align:center;background:#082f497a;border:1px solid #7dd3fc5c;border-radius:999px;min-width:1.65rem;padding:.22rem .4rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.62rem;font-weight:900;line-height:1}.action-count.is-zero{color:#fecaca;background:#7f1d1d61;border-color:#f871714d}.action-picker-popover{z-index:40;background:#020617f5;border:1px solid #22d3ee4d;border-radius:.65rem;grid-template-rows:auto minmax(0,1fr);gap:.55rem;width:min(40rem,100vw - 2rem);max-height:min(58dvh,28rem);padding:.65rem;display:grid;position:absolute;bottom:calc(100% + .55rem);right:0;overflow:hidden;box-shadow:0 1.25rem 3rem #00000094,0 0 1.5rem #22d3ee24}.action-picker-tabs{flex-wrap:wrap;gap:.35rem;display:flex}.action-picker-tabs button{color:var(--slate-300);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#0f172ac2;border:1px solid #94a3b833;border-radius:999px;padding:.38rem .55rem;font-size:.58rem;font-weight:900;line-height:1}.action-picker-tabs button.is-active{color:#e0f2fe;background:#082f49d1;border-color:#7dd3fc9e;box-shadow:0 0 .85rem #22d3ee29}.action-picker-list{overscroll-behavior:contain;scrollbar-color:#7dd3fc66 #0f172a3d;scrollbar-width:thin;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:.45rem;min-height:0;padding-right:.1rem;display:grid;overflow-y:auto}.action-picker-list::-webkit-scrollbar{width:.35rem}.action-picker-list::-webkit-scrollbar-track{background:#0f172a3d;border-radius:999px}.action-picker-list::-webkit-scrollbar-thumb{background:#7dd3fc61;border-radius:999px}.action-picker-list::-webkit-scrollbar-thumb:hover{background:#7dd3fc94}.action-option{text-align:left;grid-template-columns:2.75rem minmax(0,1fr) minmax(2.15rem,max-content);align-items:center;gap:.65rem;min-height:4.15rem;padding:.6rem;display:grid}.action-option .action-icon{justify-self:center;width:2.65rem;height:2.65rem}.action-option.is-selected{background:#082f49db;border-color:#67e8f9b8;box-shadow:inset 0 0 0 1px #67e8f929,0 0 1rem #22d3ee29}.action-option.is-equipment{border-color:#86efac42}.action-option.is-equipment.is-selected{background:#052e16bd;border-color:#86efacb3;box-shadow:inset 0 0 0 1px #86efac24,0 0 1rem #22c55e29}.action-option:disabled{cursor:not-allowed;filter:grayscale(.25);opacity:.48}.action-option-copy strong{color:#f8fafc;font-size:.75rem;font-weight:900;line-height:1.1}.action-option-copy small{-webkit-line-clamp:2;color:var(--slate-400);text-overflow:clip;white-space:normal;-webkit-box-orient:vertical;font-size:.62rem;line-height:1.2;display:-webkit-box;overflow:hidden}.select-alert{border-color:#f87171d1;box-shadow:inset 0 2px 8px #0000005c,0 0 0 3px #ef444424}.move-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.move-button{background:var(--slate-950);color:#fff;border:1px solid #334155a6;border-radius:.75rem;justify-content:center;align-items:center;height:2.5rem;transition:border-color .16s,transform .12s,opacity .16s;display:flex;box-shadow:inset 0 2px 8px #0000005c}.move-button svg{width:1rem;height:1rem}.move-button:hover:not(:disabled){border-color:currentColor}.move-button:active:not(:disabled){transform:scale(.97)}select:focus-visible,button:focus-visible,.touch-slider:focus-visible{outline-offset:2px;outline:2px solid #c084fc}.fire-button{background:var(--cyan);color:#fff;letter-spacing:.08em;text-transform:uppercase;border:1px solid #fff3;border-radius:.75rem;justify-content:center;align-items:center;gap:.25rem;width:100%;height:2.5rem;font-size:.75rem;font-weight:900;transition:transform .12s,filter .16s,opacity .16s;display:flex;box-shadow:0 0 15px #0ea5e961}.fire-button-alert{animation:.26s ease-out fire-button-alert}@keyframes fire-button-alert{0%,to{transform:translate(0)}22%{transform:translate(-.22rem)}44%{transform:translate(.22rem)}66%{transform:translate(-.12rem)}}.fire-button svg{width:.875rem;height:.875rem}.fire-button:hover:not(:disabled){filter:brightness(1.08)}.fire-button:active:not(:disabled){transform:scale(.98)}.fire-button:disabled,select:disabled,.move-button:disabled{cursor:not-allowed;opacity:.5}.overlay{z-index:50;padding-top:max(1rem, env(safe-area-inset-top));padding-right:max(1rem, env(safe-area-inset-right));padding-bottom:max(1rem, env(safe-area-inset-bottom));padding-left:max(1rem, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#020617d1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu-modal{text-align:center;border-color:#a855f780;border-radius:1rem;width:min(100%,28rem);max-height:100%;padding:1.5rem;overflow:auto;box-shadow:0 0 50px #a855f74d;container-type:inline-size}.menu-modal-local{width:min(100%,44rem)}.menu-modal-online{width:min(100%,32rem)}.menu-modal h1{color:#0000;letter-spacing:0;background:linear-gradient(90deg,#22d3ee,#a855f7,#ec4899);-webkit-background-clip:text;background-clip:text;width:calc(100% + .28em);margin:0 -.14em .125rem;font-size:clamp(2.5rem,18cqw,4.35rem);font-style:italic;font-weight:950;line-height:.94}.menu-modal h1 span{white-space:nowrap;display:block}.menu-modal-local h1,.menu-modal-online h1{font-size:clamp(2.35rem,11cqw,3.25rem);line-height:.9}.menu-modal h2{color:var(--slate-300);letter-spacing:.16em;text-transform:uppercase;margin:0 0 1.5rem;font-size:clamp(1.25rem,5vw,1.5rem);font-weight:800;line-height:1.1}.menu-modal p{color:var(--slate-400);margin:0 0 1.5rem;font-size:.875rem;line-height:1.55}.menu-modal .round-bark{color:#fde68a;margin-top:-.75rem;font-size:.82rem;font-style:italic}.menu-modal .last-shot,.menu-modal .damage-recap,.menu-modal .market-recap{color:#bae6fd;background:#02061780;border:1px solid #7dd3fc29;border-radius:.4rem;margin:-.75rem 0 1rem;padding:.45rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.66rem;line-height:1.35}.menu-modal .damage-recap{color:#fed7aa;border-color:#fb923c38;margin-top:-.55rem}.menu-modal .damage-recap-self{color:#fecaca;border-color:#f871714d}.menu-modal .market-recap{color:#bbf7d0;border-color:#86efac38;margin-top:-.55rem}.match-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:-.7rem 0 1rem;display:grid}.match-stats span,.recap-awards span{color:#fef3c7;text-overflow:ellipsis;white-space:nowrap;background:#02061780;border:1px solid #eab3082e;border-radius:.4rem;padding:.4rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.62rem;overflow:hidden}.recap-awards{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.4rem;margin:-.55rem 0 1rem;display:grid}.recap-awards span{color:#ddd6fe;border-color:#c084fc38}.menu-modal button{color:#fff;text-transform:uppercase;background:linear-gradient(90deg,#9333ea,#db2777);border:0;border-radius:.75rem;width:100%;padding:.875rem 1rem;font-size:1.125rem;font-weight:900;transition:box-shadow .16s,transform .16s;box-shadow:0 0 20px #ec489980}.menu-modal button:hover{transform:translateY(-.125rem);box-shadow:0 0 30px #ec4899cc}.menu-actions{gap:.75rem;display:grid}.resume-block{text-align:left;margin:.25rem 0 1.5rem;padding:0;animation:.32s ease-out both resume-block-in}@keyframes resume-block-in{0%{opacity:0;transform:translateY(-.4rem)}to{opacity:1;transform:translateY(0)}}.resume-eyebrow{justify-content:space-between;align-items:center;gap:.75rem;margin:0 0 .55rem;padding:0 .1rem;display:flex}.resume-eyebrow-tag{color:#67e8f9;letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.45rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.66rem;font-weight:700;display:inline-flex}.resume-eyebrow-dot{background:#22d3ee;border-radius:999px;width:.4rem;height:.4rem;animation:2.2s ease-in-out infinite resume-pulse;box-shadow:0 0 8px #22d3eed9}@keyframes resume-pulse{0%,to{opacity:1;box-shadow:0 0 8px #22d3eed9}50%{opacity:.45;box-shadow:0 0 14px #22d3eef2}}.resume-eyebrow-time{color:var(--slate-400);letter-spacing:.08em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.66rem;font-weight:600}.resume-meta{color:var(--slate-300);letter-spacing:.1em;text-transform:uppercase;flex-wrap:wrap;align-items:baseline;gap:.4rem;margin:0 0 .7rem;padding:0 .1rem;font-size:.78rem;font-weight:700;display:flex}.resume-meta-round{color:#f1f5f9}.resume-meta-sep{color:#94a3b880}.resume-players{gap:.3rem;margin:0 0 .9rem;padding:0;list-style:none;display:grid}.resume-player{background:linear-gradient(90deg,#0f172a8c,#0f172a26);border-radius:.55rem;grid-template-columns:auto 1fr auto;align-items:center;gap:.6rem;padding:.4rem .6rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;line-height:1;transition:background .16s;display:grid}.resume-player-dead{opacity:.45}.resume-player-dead .resume-player-hp{text-decoration:line-through}.resume-player-dot{border-radius:999px;width:.55rem;height:.55rem}.resume-player-name{color:var(--slate-100);letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.resume-player-stats{align-items:center;gap:.5rem;display:inline-flex}.resume-player-hp{color:var(--slate-300);font-variant-numeric:tabular-nums;text-align:right;min-width:1.6rem;font-weight:700}.resume-player-wins{color:#fde047;letter-spacing:.04em;text-shadow:0 0 6px #facc1580;font-size:.7rem}.menu-modal button.resume-primary{letter-spacing:.12em;background:linear-gradient(90deg,#9333ea,#db2777,#ec4899);border-radius:.85rem;justify-content:center;align-items:center;gap:.6rem;width:100%;margin:0 0 .45rem;display:inline-flex;box-shadow:0 0 24px #ec48998c,inset 0 1px #ffffff26}.menu-modal button.resume-primary:hover{box-shadow:0 0 34px #ec4899d9,inset 0 1px #ffffff38}.resume-primary-arrow{transition:transform .2s;display:inline-block}.menu-modal button.resume-primary:hover .resume-primary-arrow{transform:translate(.25rem)}.menu-modal button.resume-discard{width:auto;box-shadow:none;color:var(--slate-400);letter-spacing:.16em;text-transform:uppercase;text-underline-offset:.2rem;background:0 0;border:0;border-radius:.4rem;margin:0 auto;padding:.3rem .6rem;font-size:.7rem;font-weight:600;-webkit-text-decoration:underline #94a3b84d;text-decoration:underline #94a3b84d;transition:color .14s,text-decoration-color .14s;display:block}.menu-modal button.resume-discard:hover{box-shadow:none;color:#fda4af;background:0 0;text-decoration-color:#fda4af8c;transform:none}.home-section-divider{color:var(--slate-400);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.75rem;margin:0 0 1.25rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.66rem;font-weight:600;display:flex}.home-section-divider:before,.home-section-divider:after{content:"";background:linear-gradient(90deg,#0000,#94a3b840,#0000);flex:1;height:1px}.home-section-divider span{white-space:nowrap}.install-prompt-row{margin:.85rem 0 0}.install-prompt-button{letter-spacing:.08em;width:100%;font-size:.8rem}.ios-install-banner{z-index:90;color:#e9d5ff;letter-spacing:.04em;background:#0f172af5;border:1px solid #a855f78c;border-radius:.85rem;grid-template-columns:1fr auto;align-items:stretch;width:min(28rem,100vw - 1.5rem);font-size:.82rem;font-weight:700;animation:.22s ease-out toast-in;display:grid;position:fixed;overflow:hidden;box-shadow:0 0 22px #a855f747,0 1rem 2rem #00000073}.ios-install-banner-bottom{left:50%;bottom:max(.75rem, env(safe-area-inset-bottom));transform:translate(-50%)}.ios-install-banner-top{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right));width:min(24rem,100vw - 1.5rem)}.ios-install-banner-summary{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .4rem .7rem 1rem;display:flex}.ios-install-banner-summary-text{text-transform:uppercase;letter-spacing:.08em;flex:1}.ios-install-banner-chevron{color:#e9d5ffb3;justify-content:center;align-items:center;width:1.25rem;font-size:.85rem;line-height:1;display:inline-flex}.ios-install-banner-dismiss{color:#e9d5ffbf;cursor:pointer;background:0 0;border:0;border-left:1px solid #a855f752;justify-content:center;align-items:center;padding:.4rem .75rem;display:inline-flex}.ios-install-banner-dismiss:hover{color:#fce7f3}.ios-install-banner-dismiss svg{width:1.05rem;height:1.05rem}.ios-install-banner-instructions{text-transform:none;background:#2e106559;border-top:1px solid #a855f752;grid-column:1/-1;padding:.75rem 1rem .85rem}.ios-install-banner-instructions ol{color:var(--slate-200);letter-spacing:.01em;margin:0;padding-left:1.1rem;font-size:.82rem;font-weight:500;line-height:1.5}.ios-install-banner-instructions li+li{margin-top:.4rem}.ios-install-banner-instructions strong{color:#f5d0fe}.menu-modal-local .menu-actions,.home-primary-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-panel-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;margin-bottom:1rem;display:grid}.menu-panel-header h2{grid-column:2;margin:0}.menu-modal .menu-back-button{width:auto;min-width:4.25rem;min-height:2.25rem;box-shadow:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.25rem;padding:.45rem .7rem;font-size:.7rem;display:inline-flex}.menu-modal .menu-back-button svg{width:.9rem;height:.9rem}.menu-setting{color:var(--slate-300);text-align:left;text-transform:uppercase;gap:.4rem;margin:-.5rem 0 1rem;font-size:.72rem;font-weight:800;display:grid}.settings-section{text-align:left;border-top:1px solid #94a3b829;gap:.7rem;padding:1rem 0 .25rem;display:grid}.settings-section+.settings-section{margin-top:.5rem}.settings-section h3{color:#c4b5fd;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.75rem;display:grid}.settings-grid .menu-setting{margin:0 0 .85rem}.match-rules-disclosure{text-align:left;border-top:1px solid #94a3b829;gap:0;padding-top:.85rem;display:grid}.menu-modal .match-rules-disclosure-trigger{width:100%;box-shadow:none;color:#fff;cursor:pointer;text-align:left;text-transform:none;background:linear-gradient(#a855f714,#0000 75%),#02061799;border:1px solid #a855f747;border-radius:.78rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.8rem;padding:.85rem .95rem;transition:border-color .16s,box-shadow .16s,background-color .16s,transform .16s;display:grid}.menu-modal .match-rules-disclosure-trigger:hover{border-color:#a855f799;transform:translateY(-.08rem);box-shadow:0 0 20px #a855f729}.menu-modal .match-rules-disclosure-trigger:focus-visible{border-color:#c084fce6;outline:none;box-shadow:0 0 0 2px #a855f73d}.match-rules-disclosure-icon{color:#c084fc;border:1px solid #a855f77a;border-radius:50%;justify-content:center;align-items:center;width:2.55rem;height:2.55rem;display:inline-flex}.match-rules-disclosure-icon svg{width:1.25rem;height:1.25rem}.match-rules-disclosure-copy{gap:.2rem;min-width:0;display:grid}.match-rules-disclosure-title{color:#d8b4fe;letter-spacing:.13em;text-transform:uppercase;font-size:.78rem;font-weight:950;line-height:1}.match-rules-disclosure-summary{color:var(--slate-400);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:800;line-height:1.25;overflow:hidden}.match-rules-disclosure-badge{color:var(--slate-400);letter-spacing:.12em;text-transform:uppercase;border:1px solid #a855f752;border-radius:999px;padding:.28rem .45rem;font-size:.58rem;font-weight:950}.match-rules-disclosure-chevron{width:1.05rem;height:1.05rem;color:var(--slate-400);transition:transform .16s,color .16s}.match-rules-disclosure.is-open .match-rules-disclosure-chevron{color:#fff;transform:rotate(180deg)}.match-rules-disclosure-panel{gap:.5rem;padding-top:.85rem;display:grid}.match-rules-disclosure-panel .settings-section:first-child{border-top:0;padding-top:0}.settings-grid .match-setting-select{margin:0 0 .85rem}.match-setting-select{min-width:0;position:relative}.menu-modal .match-setting-trigger{width:100%;min-height:5.4rem;box-shadow:none;color:#fff;cursor:pointer;text-align:left;text-transform:none;background:linear-gradient(#a855f712,#0000 70%),#020617a3;border:1px solid #a855f73d;border-radius:.75rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.05rem;transition:border-color .16s,box-shadow .16s,background-color .16s,transform .16s;display:grid}.menu-modal .match-setting-trigger:hover:not(:disabled),.match-setting-select.is-open .match-setting-trigger{background:linear-gradient(#a855f71f,#0000 70%),#020617b8;border-color:#a855f794;transform:translateY(-.08rem);box-shadow:0 0 20px #a855f72e}.menu-modal .match-setting-trigger:focus-visible{border-color:#c084fce6;outline:none;box-shadow:0 0 0 2px #a855f73d}.menu-modal .match-setting-trigger:disabled{cursor:not-allowed;filter:none;opacity:.52;transform:none}.match-setting-icon{color:#c084fc;border:1px solid #a855f77a;border-radius:50%;justify-content:center;align-items:center;width:3rem;height:3rem;display:inline-flex}.match-setting-icon svg{stroke-width:1.9px;width:1.5rem;height:1.5rem}.match-setting-copy{gap:.24rem;min-width:0;display:grid}.match-setting-label{color:var(--slate-400);letter-spacing:.11em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:900;line-height:1;overflow:hidden}.match-setting-copy strong{color:#fff;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(1rem,3.3cqw,1.2rem);font-weight:900;line-height:1.15;overflow:hidden}.match-setting-chevron{width:1.05rem;height:1.05rem;color:var(--slate-400);transition:transform .16s,color .16s}.match-setting-select.is-open .match-setting-chevron{color:#fff;transform:rotate(180deg)}.match-setting-options{z-index:30;background:#020617f7;border:1px solid #a855f75c;border-radius:.7rem;gap:.25rem;max-height:min(16rem,52dvh);padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);left:0;right:0;overflow:auto;box-shadow:0 0 30px #a855f738,0 1rem 2rem #0000005c}.menu-modal .match-setting-option{width:100%;box-shadow:none;color:var(--slate-300);cursor:pointer;letter-spacing:0;text-align:left;text-transform:none;background:0 0;border:1px solid #0000;border-radius:.48rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.62rem .7rem;font-size:.84rem;font-weight:900;line-height:1.2;transition:border-color .12s,background-color .12s,color .12s;display:grid}.menu-modal .match-setting-option:hover,.menu-modal .match-setting-option.is-active{box-shadow:none;color:#fff;background:#a855f71f;border-color:#a855f752;transform:none}.menu-modal .match-setting-option.is-selected{color:#bae6fd;background:#22d3ee1f;border-color:#22d3ee6b}.match-setting-option span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.match-setting-option small{color:var(--slate-500);letter-spacing:.08em;text-transform:uppercase;font-size:.64rem;font-weight:900}.local-match-setup{gap:.9rem;display:grid}.local-match-setup .settings-section{padding-top:.85rem}.local-seat-section{border-top:0;padding-top:0}.local-section-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.local-section-heading span{color:var(--slate-500);letter-spacing:.1em;text-transform:uppercase;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.68rem;font-weight:900}.local-seat-grid{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.65rem;display:grid}.local-seat-card{min-width:0;position:relative}.menu-modal .local-seat-toggle,.menu-modal .local-seat-add{width:100%;min-height:8.35rem;box-shadow:none;color:var(--slate-300);cursor:pointer;text-align:center;text-transform:none;background:#020617a8;border:1px solid #94a3b838;border-radius:.75rem;align-content:center;justify-items:center;gap:.32rem;padding:.7rem;transition:border-color .16s,box-shadow .16s,transform .16s,background-color .16s;display:grid}.menu-modal .local-seat-toggle:hover:not(:disabled),.menu-modal .local-seat-add:hover:not(:disabled){border-color:#22d3ee8c;transform:translateY(-.08rem);box-shadow:0 0 22px #22d3ee29}.menu-modal .local-seat-toggle:disabled{cursor:default;filter:none;opacity:1}.local-seat-card-human .local-seat-toggle{background:linear-gradient(#22d3ee1a,#0000 70%),#020617b8;border-color:#22d3ee61}.local-seat-card-cpu .local-seat-toggle{background:linear-gradient(#fbbf241a,#0000 70%),#020617b8;border-color:#fbbf245c}.local-seat-avatar{width:2.65rem;height:2.65rem;color:var(--slate-200);border:1px solid #94a3b83d;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.local-seat-card-human .local-seat-avatar{color:#67e8f9;border-color:#22d3ee73}.local-seat-card-cpu .local-seat-avatar{color:#fcd34d;border-color:#fbbf2473}.local-seat-avatar svg{width:1.25rem;height:1.25rem}.local-seat-number{color:var(--slate-500);letter-spacing:.14em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.64rem;font-weight:900}.local-seat-toggle strong{color:#fff;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;font-weight:950}.local-seat-toggle small{color:var(--slate-500);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem;font-weight:800}.menu-modal .local-seat-remove{z-index:1;width:1.55rem;height:1.55rem;box-shadow:none;color:#fecaca;background:#0f172aeb;border:1px solid #f871715c;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex;position:absolute;top:.42rem;right:.42rem}.menu-modal .local-seat-remove:hover{box-shadow:none;color:#fff;background:#7f1d1db3;border-color:#f87171bf;transform:none}.local-seat-remove svg{width:.8rem;height:.8rem}.menu-modal .local-seat-add{color:#bae6fd;border-style:dashed}.local-seat-add svg{width:1.35rem;height:1.35rem}.local-seat-add span{letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;font-weight:900}.local-difficulty-control{background:#02061785;border:1px solid #94a3b82e;border-radius:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;padding:.35rem;display:grid}.menu-modal .local-difficulty-button{width:100%;box-shadow:none;color:var(--slate-400);letter-spacing:.1em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:.52rem;padding:.65rem .45rem;font-size:.74rem;font-weight:900}.menu-modal .local-difficulty-button:hover:not(:disabled){box-shadow:none;color:#fff;border-color:#a855f752;transform:none}.menu-modal .local-difficulty-button.is-active{color:#d8b4fe;background:#a855f729;border-color:#a855f794}.menu-modal .local-difficulty-button:disabled{filter:none;opacity:.42}.local-setup-actions{margin-top:.2rem}.round-history{text-align:left;gap:.35rem;max-height:7rem;margin:-.25rem 0 1rem;padding:0;display:grid;overflow:auto}.round-history li{color:#e2e8f0;background:#0f172aad;border:1px solid #94a3b824;border-radius:.4rem;grid-template-columns:2.25rem minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:.4rem;padding:.4rem;font-size:.68rem;list-style:none;display:grid}.round-history span,.round-history strong,.round-history small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.round-history span{color:#fde68a;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-weight:900}.round-history small{color:#94a3b8}.menu-setting input{height:2.5rem}.local-shop{--cat-weapons:#fb923c;--cat-weapons-soft:#fb923c2e;--cat-weapons-ink:#fed7aa;--cat-terrain:#d4a373;--cat-terrain-soft:#d4a37329;--cat-terrain-ink:#fde6c4;--cat-utility:#22d3ee;--cat-utility-soft:#22d3ee29;--cat-utility-ink:#cffafe;--cat-chaos:#c084fc;--cat-chaos-soft:#c084fc2e;--cat-chaos-ink:#f3e8ff;--cat-equipment:#4ade80;--cat-equipment-soft:#4ade8029;--cat-equipment-ink:#dcfce7;--cat-all:#94a3b8;--cat-all-soft:#94a3b82e;--cat-all-ink:#e2e8f0;text-align:left;gap:.85rem;margin:.75rem 0 0;display:grid;overflow:visible}.shop-item[data-category=weapons]{--cat:var(--cat-weapons);--cat-soft:var(--cat-weapons-soft);--cat-ink:var(--cat-weapons-ink)}.shop-item[data-category=terrain]{--cat:var(--cat-terrain);--cat-soft:var(--cat-terrain-soft);--cat-ink:var(--cat-terrain-ink)}.shop-item[data-category=utility]{--cat:var(--cat-utility);--cat-soft:var(--cat-utility-soft);--cat-ink:var(--cat-utility-ink)}.shop-item[data-category=chaos]{--cat:var(--cat-chaos);--cat-soft:var(--cat-chaos-soft);--cat-ink:var(--cat-chaos-ink)}.shop-item[data-category=equipment]{--cat:var(--cat-equipment);--cat-soft:var(--cat-equipment-soft);--cat-ink:var(--cat-equipment-ink)}.shop-section[data-category=weapons]{--cat:var(--cat-weapons)}.shop-section[data-category=terrain]{--cat:var(--cat-terrain)}.shop-section[data-category=utility]{--cat:var(--cat-utility)}.shop-section[data-category=chaos]{--cat:var(--cat-chaos)}.shop-section[data-category=equipment]{--cat:var(--cat-equipment)}.menu-modal .shop-tabs button[data-category=all]{--tab-dot:var(--cat-all)}.menu-modal .shop-tabs button[data-category=weapons]{--tab-dot:var(--cat-weapons)}.menu-modal .shop-tabs button[data-category=terrain]{--tab-dot:var(--cat-terrain)}.menu-modal .shop-tabs button[data-category=utility]{--tab-dot:var(--cat-utility)}.menu-modal .shop-tabs button[data-category=chaos]{--tab-dot:var(--cat-chaos)}.menu-modal .shop-tabs button[data-category=equipment]{--tab-dot:var(--cat-equipment)}.between-round-header{text-align:center;gap:.35rem;margin-bottom:1rem;display:grid}.between-round-header p{margin:0}.between-round-actions{margin-top:1rem}.shop-empty{color:#cbd5e1;text-align:center;background:#0f172ab8;border:1px solid #94a3b82e;border-radius:.5rem;margin:0;padding:.75rem;font-size:.75rem}.shop-player-tabs{grid-template-columns:repeat(auto-fit,minmax(6rem,1fr));gap:.35rem;display:grid}.menu-modal .shop-player-tabs button{width:100%;min-height:2rem;box-shadow:none;color:var(--slate-300);letter-spacing:.06em;text-transform:uppercase;background:#020617b3;border:1px solid #94a3b82e;border-radius:999px;padding:.45rem .9rem;font-size:.66rem;font-weight:800;line-height:1;transition:border-color .15s,color .15s,box-shadow .15s;position:relative}.menu-modal .shop-player-tabs button:hover:not(:disabled){color:#fde68a;border-color:#fde04766}.menu-modal .shop-player-tabs .shop-player-tab-active{color:#fef3c7;background:linear-gradient(#854d0e8c,#020617b3);border-color:#fde047a6;box-shadow:inset 0 0 0 1px #fde0472e,0 0 18px #fde0472e}.shop-wallet-bar{background:radial-gradient(120% 180% at 0%,#854d0e61 0%,#02061700 60%),linear-gradient(#0f172ae6,#020617f5);border:1px solid #fde04747;border-radius:.75rem;grid-template-columns:minmax(0,1.3fr) auto minmax(0,1fr);align-items:center;gap:.9rem;padding:.7rem 1rem;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #fde04714,0 0 0 1px #fde0470a,0 18px 40px -20px #854d0e80}.shop-wallet-bar:before{content:"";mix-blend-mode:screen;pointer-events:none;opacity:.6;background-image:repeating-linear-gradient(0deg,#fde0470a 0 1px,#0000 1px 4px);position:absolute;inset:0}.wallet-cash,.wallet-bank{align-content:center;gap:.2rem;min-width:0;display:grid;position:relative}.wallet-bank{grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .85rem}.wallet-bank .wallet-tag{grid-area:1/1}.wallet-bank .wallet-amount{grid-area:2/1}.wallet-bank .bank-flow{grid-area:1/2/span 2;align-self:center;margin-top:0}.wallet-tag{letter-spacing:.22em;text-transform:uppercase;color:#fde047b3;font-size:.55rem;font-weight:900;line-height:1}.wallet-bank .wallet-tag{color:#94a3b8cc}.wallet-amount{color:#fef3c7;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:-.02em;text-shadow:0 0 18px #fde04766;align-items:baseline;gap:.15rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:2.1rem;font-weight:900;line-height:1;display:inline-flex}.wallet-sigil{color:#fde047b3;text-shadow:none;margin-right:.05rem;font-size:1.3rem;font-weight:800}.wallet-bank .wallet-amount{color:#e2e8f0;text-shadow:none;font-size:1.45rem}.wallet-bank .wallet-sigil{color:#94a3b8d9;font-size:1rem}.wallet-owner{letter-spacing:.16em;color:#e2e8f08c;text-transform:uppercase;font-size:.62rem;font-weight:900}.wallet-divider{background:linear-gradient(#0000 0%,#94a3b847 50%,#0000 100%);align-self:stretch;width:1px}.bank-flow{gap:.35rem;margin-top:.4rem;display:flex}.menu-modal .bank-flow-button{width:auto;min-width:0;min-height:1.85rem;box-shadow:none;color:var(--slate-300);text-transform:none;letter-spacing:0;background:#02061799;border:1px solid #94a3b838;border-radius:.4rem;flex:1 1 0;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .5rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.65rem;font-weight:800;line-height:1;transition:all .15s;display:inline-flex}.menu-modal .bank-flow-button:hover:not(:disabled){color:#bbf7d0;background:#052e166b;border-color:#86efac8c;transform:translateY(-.0625rem);box-shadow:0 0 14px #22c55e2e}.bank-flow-arrow{font-size:.85rem;line-height:1}.bank-deposit .bank-flow-arrow{color:#86efac}.bank-withdraw .bank-flow-arrow{color:#fde68a}.shop-tabs{z-index:1;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;background:#020617b3;border:1px solid #94a3b81f;border-radius:999px;gap:.35rem;padding:.3rem;display:flex;position:sticky;top:0;overflow:auto hidden;box-shadow:inset 0 0 0 1px #ffffff05}.shop-tabs::-webkit-scrollbar{display:none}.menu-modal .shop-tabs button{width:auto;min-width:0;min-height:2rem;box-shadow:none;color:var(--slate-400);letter-spacing:.14em;text-transform:uppercase;scroll-snap-align:start;background:0 0;border:1px solid #0000;border-radius:999px;flex:1 1 0;justify-content:center;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.66rem;font-weight:800;line-height:1;transition:all .18s;display:inline-flex}.shop-tab-dot{background:var(--tab-dot,currentColor);width:.45rem;height:.45rem;box-shadow:0 0 6px color-mix(in srgb, var(--tab-dot,currentColor) 60%, transparent);border-radius:999px;flex-shrink:0}.shop-tab-label{flex-shrink:0}.shop-tab-count{color:#e2e8f0b3;letter-spacing:0;background:#94a3b829;border-radius:999px;justify-content:center;align-items:center;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.55rem;font-weight:800;display:inline-flex}.menu-modal .shop-tabs button:hover:not(.shop-tab-active){color:var(--slate-300);background:#94a3b80f}.menu-modal .shop-tabs .shop-tab-active{background:linear-gradient(180deg, color-mix(in srgb, var(--tab-dot) 18%, transparent), color-mix(in srgb, var(--tab-dot) 6%, transparent));border-color:color-mix(in srgb, var(--tab-dot) 55%, transparent);color:#f8fafc;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--tab-dot) 24%, transparent), 0 0 16px color-mix(in srgb, var(--tab-dot) 22%, transparent)}.menu-modal .shop-tabs .shop-tab-active .shop-tab-count{background:color-mix(in srgb, var(--tab-dot) 35%, transparent);color:#f8fafc}.shop-stage{gap:1rem;display:grid;position:relative}.shop-section{gap:.55rem;display:grid}.shop-section-head{grid-template-columns:auto auto 1fr auto;align-items:center;gap:.55rem;display:grid}.shop-section-dot{background:var(--cat);width:.55rem;height:.55rem;box-shadow:0 0 12px color-mix(in srgb, var(--cat) 55%, transparent);border-radius:999px}.shop-section-title{color:#f1f5f9;letter-spacing:.28em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:900;line-height:1}.shop-section-rule{background:linear-gradient(90deg, color-mix(in srgb, var(--cat) 38%, transparent), transparent 80%);height:1px}.shop-section-count{color:#94a3b8bf;letter-spacing:.08em;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.6rem;font-weight:800}.shop-section-count:before{content:"/";opacity:.5;margin-right:.18rem}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:.55rem;display:grid;overflow:visible}.shop-item{--cat:var(--cat-all);--cat-soft:var(--cat-all-soft);--cat-ink:var(--cat-all-ink);min-width:0;box-shadow:inset 3px 0 0 0 var(--cat);background:#020617c7;border:1px solid #94a3b824;border-radius:.65rem;gap:.55rem;padding:.7rem .8rem .7rem .95rem;transition:border-color .18s,transform .18s,box-shadow .18s;display:grid;position:relative}.shop-item[data-owned=true]{border-color:color-mix(in srgb, var(--cat) 22%, #94a3b829);background:linear-gradient(90deg, color-mix(in srgb, var(--cat) 8%, #020617c7) 0%, #020617d1 45%, #020617d1 100%)}.shop-item[data-affordable=false]{opacity:.7}.shop-item:hover{border-color:color-mix(in srgb, var(--cat) 45%, transparent);box-shadow:inset 4px 0 0 0 var(--cat), 0 14px 32px -22px color-mix(in srgb, var(--cat) 55%, transparent);transform:translateY(-.0625rem)}.shop-item-head{z-index:1;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.65rem;min-width:0;display:grid;position:relative}.shop-item-icon{width:3.1rem;height:3.1rem;box-shadow:none;background:0 0;border:0;border-radius:0;margin-top:-.3rem;padding:0}.shop-item-owned{align-self:start}.shop-item-meta{gap:.16rem;min-width:0;display:grid}.shop-item-name{color:#f1f5f9;letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:.92rem;font-weight:900;line-height:1.05;overflow:hidden}.shop-item-cat{color:color-mix(in srgb, var(--cat) 85%, var(--slate-400));letter-spacing:.22em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin:0;font-size:.55rem;font-weight:800;line-height:1;overflow:hidden}.shop-item-owned{background:color-mix(in srgb, var(--cat) 14%, #02061780);border:1px solid color-mix(in srgb, var(--cat) 35%, transparent);min-width:2.4rem;color:var(--cat-ink,#e0f2fe);border-radius:.45rem;flex-shrink:0;align-content:center;justify-items:center;gap:.05rem;padding:.25rem .4rem;display:grid}.shop-item-owned.is-zero{color:#94a3b88c;background:#0f172a8c;border-color:#94a3b829}.shop-item-owned .owned-num{font-feature-settings:"tnum" 1, "lnum" 1;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:1.05rem;font-weight:900;line-height:1}.shop-item-owned .owned-lbl{letter-spacing:.18em;text-transform:uppercase;opacity:.75;font-size:.48rem;font-weight:800;line-height:1}.shop-item-actions{z-index:1;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;display:grid;position:relative}.menu-modal .shop-buy{border:1px solid color-mix(in srgb, var(--cat) 55%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--cat) 22%, #020617b8), color-mix(in srgb, var(--cat) 10%, #020617eb));width:100%;min-height:2.35rem;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cat) 28%, transparent), 0 0 18px color-mix(in srgb, var(--cat) 18%, transparent);color:#f8fafc;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:0;text-align:center;text-transform:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.5rem .7rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:900;line-height:1;transition:all .16s;display:inline-flex;position:relative;overflow:hidden}.menu-modal .shop-buy:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--cat) 30%, transparent), transparent 70%);opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;inset:0}.menu-modal .shop-buy:hover:not(:disabled){border-color:color-mix(in srgb, var(--cat) 80%, transparent);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--cat) 40%, transparent), 0 0 28px color-mix(in srgb, var(--cat) 35%, transparent);transform:translateY(-.0625rem)}.menu-modal .shop-buy:hover:not(:disabled):before{opacity:1}.menu-modal .shop-buy:disabled{box-shadow:none;color:#94a3b873;cursor:not-allowed;background:#020617a6;border-color:#94a3b82e}.buy-verb{letter-spacing:.22em;text-transform:uppercase;opacity:.85;font-size:.62rem;font-weight:900}.buy-price{letter-spacing:-.01em;align-items:baseline;gap:.05rem;font-size:1rem;font-weight:900;display:inline-flex}.buy-currency{opacity:.7;font-size:.65rem;font-weight:800}.buy-delta{letter-spacing:.04em;border-radius:999px;align-items:center;gap:.1rem;padding:.15rem .3rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.5rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:.18rem;right:.4rem}.buy-delta.up{color:#fecaca;background:#7f1d1d8c}.buy-delta.down{color:#bbf7d0;background:#14532d8c}.menu-modal .shop-sell{width:auto;min-width:3.6rem;min-height:2.35rem;box-shadow:none;color:#e2e8f09e;font-feature-settings:"tnum" 1, "lnum" 1;letter-spacing:0;text-transform:none;background:#02061780;border:1px solid #94a3b82e;border-radius:.5rem;grid-template-rows:auto auto;place-items:center;gap:.05rem;padding:.35rem .55rem;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.7rem;font-weight:800;line-height:1;transition:all .16s;display:inline-grid}.menu-modal .shop-sell:hover:not(:disabled){color:#fed7aa;background:#78350f52;border-color:#fdba748c;box-shadow:0 0 14px #fb923c33}.menu-modal .shop-sell:disabled{opacity:.4;cursor:not-allowed}.sell-verb{letter-spacing:.22em;text-transform:uppercase;opacity:.7;font-size:.5rem;font-weight:900}.sell-price{letter-spacing:-.01em;font-size:.78rem;font-weight:900}@media (width<=640px){.shop-wallet-bar{grid-template-columns:1fr;gap:.65rem;padding:.75rem .85rem}.wallet-divider{display:none}.wallet-amount{font-size:1.95rem}.wallet-bank .wallet-amount{font-size:1.3rem}.shop-grid{grid-template-columns:1fr}.shop-tabs{padding:.3rem;-webkit-mask-image:linear-gradient(90deg,#000 0% 92%,#0000 100%);mask-image:linear-gradient(90deg,#000 0% 92%,#0000 100%)}.menu-modal .shop-tabs button{flex:none;padding:.55rem .9rem}}.menu-modal .secondary-button{background:#0f172ae6;border:1px solid #a855f77a;box-shadow:0 0 14px #a855f738}.menu-modal button:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.52;transform:none}.menu-modal.in-game-settings-modal{text-align:left;background:#020617f5;border-color:#22d3ee57;width:min(100%,30rem);padding:1.25rem;box-shadow:0 0 42px #22d3ee24,0 30px 80px -30px #020617e6}.in-game-settings-modal button{width:auto;box-shadow:none;color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;background:0 0;border:0;border-radius:0;padding:0;transition:none}.in-game-settings-modal button:hover{box-shadow:none;transform:none}.settings-modal-header{border-bottom:1px solid #94a3b829;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding-bottom:.85rem;display:flex}.settings-modal-kicker{color:#67e8f9;letter-spacing:.16em;text-transform:uppercase;margin-bottom:.25rem;font-size:.65rem;font-weight:900;display:block}.in-game-settings-modal h2{color:#f8fafc;letter-spacing:.12em;margin:0;font-size:1.25rem}.settings-close-button{place-items:center;height:2rem;display:grid;width:2rem!important;color:var(--slate-300)!important;background:#0f172ad1!important;border:1px solid #94a3b838!important;border-radius:.5rem!important}.settings-close-button:hover{color:#fff!important;border-color:#7dd3fc70!important}.settings-close-button svg{width:1rem;height:1rem}.in-game-settings-section{gap:.75rem;padding-top:.9rem}.settings-toggle-grid,.settings-rule-actions,.settings-exit-actions{gap:.6rem;display:grid}.settings-toggle-grid,.settings-rule-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-toggle-button,.settings-primary-action,.settings-secondary-action,.settings-danger-action{justify-content:center;align-items:center;gap:.45rem;min-height:2.55rem;display:inline-flex;border-radius:.5rem!important;font-size:.74rem!important;font-weight:900!important}.settings-toggle-button{color:#e0f2fe!important;background:#082f4970!important;border:1px solid #7dd3fc42!important}.settings-toggle-button.is-muted{color:#fecaca!important;background:#450a0aa3!important;border-color:#f8717161!important}.settings-toggle-button:hover,.settings-primary-action:hover,.settings-secondary-action:hover,.settings-danger-action:hover{filter:brightness(1.08)}.settings-toggle-button svg,.settings-primary-action svg,.settings-secondary-action svg,.settings-danger-action svg{width:1rem;height:1rem}.in-game-rules-panel .settings-section:first-child{margin-top:.25rem}.settings-primary-action{isolation:isolate;position:relative;overflow:hidden;color:#fff!important;background:linear-gradient(90deg,#0ea5e9,#7c3aed)!important}.settings-primary-action:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:linear-gradient(100deg,#16a34a00 0%,#16a34af2 35%,#4ade80 50%,#16a34af2 65%,#16a34a00 100%);position:absolute;inset:0;transform:translate(-130%)}.settings-primary-action.is-applied{animation:.9s ease-out settings-apply-glow}.settings-primary-action.is-applied:before{animation:.9s ease-out settings-apply-wave}@keyframes settings-apply-wave{0%{opacity:0;transform:translate(-130%)}15%{opacity:1}85%{opacity:1}to{opacity:0;transform:translate(130%)}}@keyframes settings-apply-glow{0%{transform:scale(1);box-shadow:0 0 #4ade8000}25%{transform:scale(1.03);box-shadow:0 0 22px 6px #4ade80b3}60%{transform:scale(1.01);box-shadow:0 0 28px 10px #4ade8073}to{transform:scale(1);box-shadow:0 0 #4ade8000}}.settings-secondary-action{color:var(--slate-200)!important;background:#0f172adb!important;border:1px solid #94a3b842!important}.settings-danger-action{color:#fee2e2!important;background:#7f1d1db3!important;border:1px solid #f8717161!important}.settings-readout{color:#bae6fd!important;margin:0!important;font-size:.75rem!important;line-height:1.4!important}.settings-readout-feedback{color:#a7f3d0!important;margin-top:.5rem!important}.settings-readout-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.settings-readout-grid span{background:#0f172a94;border:1px solid #94a3b824;border-radius:.5rem;gap:.2rem;padding:.55rem;display:grid}.settings-readout-grid strong{color:var(--slate-400);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.settings-readout-grid code{color:#f8fafc;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.8rem;font-weight:800}.join-room-form{grid-template-columns:minmax(0,1fr) minmax(6rem,.45fr);gap:.75rem;display:grid}.player-name-field{text-align:left;gap:.4rem;display:grid}.player-name-field label{color:var(--slate-300);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:900}.player-name-field div{grid-template-columns:minmax(0,1fr) minmax(5.5rem,.32fr);gap:.75rem;display:grid}.menu-setting input,.join-room-form input,.player-name-field input{color:#fff;min-width:0;font:inherit;letter-spacing:.08em;text-transform:uppercase;background:#020617e6;border:1px solid #334155b3;border-radius:.75rem;outline:none;padding:0 1rem;font-size:1rem;font-weight:800}.player-name-field input{text-transform:none;min-height:3rem}.name-roll-button,.name-save-button{padding-inline:.75rem;font-size:.875rem}.menu-setting input:focus-visible,.join-room-form input:focus-visible,.player-name-field input:focus-visible{border-color:#c084fcd1;box-shadow:0 0 0 2px #a855f73d}.online-status{color:#c4b5fd;margin:0;font-size:.78rem;line-height:1.35}.online-server-status{text-align:center;max-width:32rem;min-height:1.1rem;margin:.15rem auto .75rem}.online-server-status-online{color:#86efac}.online-server-status-offline{color:#fcd34d}.toast{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));z-index:80;color:#e0f2fe;letter-spacing:.06em;pointer-events:none;text-transform:uppercase;background:#020617eb;border:1px solid #22d3ee80;border-radius:.75rem;max-width:min(24rem,100vw - 2rem);padding:.75rem 1rem;font-size:.85rem;font-weight:900;line-height:1.25;animation:.18s ease-out toast-in;position:fixed;box-shadow:0 0 22px #22d3ee38,0 1rem 2rem #00000059}.toast-info{color:#e0f2fe;border-color:#22d3ee80}.toast-success{color:#f0fdf4;background:linear-gradient(120deg,#166534f2,#15803df2);border-color:#4ade80d9;box-shadow:0 0 28px #4ade8073,0 1rem 2rem #0006}.toast-warning{color:#fef3c7;border-color:#fbbf248f}.toast-error{color:#fee2e2;border-color:#f8717194}@keyframes toast-in{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}.diag-root{color:#e0f2fe;background:#050617;width:100%;height:100vh;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;position:relative;overflow:hidden}.diag-layer-100pct,.diag-layer-dvh,.diag-layer-lvh,.diag-layer-svh,.diag-layer-safe{pointer-events:none;position:fixed;left:0}.diag-layer-100pct{border:2px solid #f87171d9;inset:0}.diag-layer-dvh{border:2px dashed #facc15d9;width:100%;top:0}.diag-layer-lvh{border:2px dotted #22d3eed9;width:100%;top:0}.diag-layer-svh{border:2px dotted #a855f7d9;width:100%;top:0}.diag-layer-safe{top:env(safe-area-inset-top);right:env(safe-area-inset-right);bottom:env(safe-area-inset-bottom);left:env(safe-area-inset-left);background:#4ade800f;border:2px solid #4ade80f2}.diag-corner-tl,.diag-corner-tr,.diag-corner-bl,.diag-corner-br,.diag-safe-label{white-space:nowrap;background:#000000b3;border-radius:.25rem;padding:.15rem .4rem;font-size:.65rem;position:absolute}.diag-corner-tl{top:4px;left:4px}.diag-corner-tr{color:#67e8f9;top:4px;right:4px}.diag-corner-bl{color:#fde047;bottom:4px;left:4px}.diag-corner-br{color:#c4b5fd;bottom:4px;right:4px}.diag-safe-label{color:#4ade80;top:50%;left:50%;transform:translate(-50%,-50%)}.diag-fixed{z-index:5;color:#1f1037;white-space:nowrap;pointer-events:none;background:#f472b6f2;border-radius:.25rem;padding:.2rem .45rem;font-size:.6rem;font-weight:700;position:fixed}.diag-fixed-tl{top:0;left:0}.diag-fixed-tr{top:0;right:0}.diag-fixed-bl{bottom:0;left:0}.diag-fixed-br{bottom:0;right:0}.diag-fixed-bl-safe{bottom:env(safe-area-inset-bottom);left:env(safe-area-inset-left);background:#4ade80f2}.diag-readout{z-index:10;padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));color:#f0f9ff;white-space:pre;background:0 0;max-height:100vh;margin:0;font-size:.7rem;line-height:1.5;position:relative;overflow:auto}.menu-chrome{z-index:60;position:absolute}.menu-chrome-corner-tr{top:max(.75rem, env(safe-area-inset-top));right:max(.75rem, env(safe-area-inset-right))}.menu-chrome-corner-bl{bottom:max(.75rem, env(safe-area-inset-bottom));left:max(.75rem, env(safe-area-inset-left))}.game-shell-ios-standalone .menu-chrome-version-tag{bottom:max(.35rem, calc(env(safe-area-inset-bottom) - 1.35rem))}.menu-chrome-button{width:2.4rem;height:2.4rem;color:var(--slate-200);cursor:pointer;background:#0f172ab3;border:1px solid #94a3b86b;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background-color .12s ease-out,color .12s ease-out,box-shadow .12s ease-out;display:inline-flex}.menu-chrome-button:hover,.menu-chrome-button[aria-expanded=true]{color:#e0f2fe;background:#0f172aeb;box-shadow:0 0 14px #22d3ee59}.menu-chrome-button svg{width:1.1rem;height:1.1rem}.menu-chrome-popover{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#020617f5;border:1px solid #94a3b86b;border-radius:.75rem;flex-direction:column;gap:.4rem;width:min(16rem,100vw - 1.5rem);padding:.75rem;animation:.16s ease-out toast-in;display:flex;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1rem 2rem #00000080}.menu-chrome-toggle,.menu-chrome-action{color:var(--slate-100);cursor:pointer;font:inherit;letter-spacing:.06em;text-transform:uppercase;background:#0f172ab3;border:1px solid #94a3b852;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.55rem .75rem;font-size:.78rem;font-weight:700;transition:background-color .12s ease-out,border-color .12s ease-out;display:inline-flex}.menu-chrome-toggle:hover,.menu-chrome-action:hover:not(:disabled){background:#0f172aeb;border-color:#22d3ee99}.menu-chrome-toggle.is-off{color:var(--slate-400)}.menu-chrome-toggle svg{width:1rem;height:1rem}.menu-chrome-action:disabled{cursor:progress;opacity:.7}.menu-chrome-feedback{color:#a7f3d0;margin:0;padding:0 .25rem;font-size:.72rem;line-height:1.4}.menu-chrome-build{color:var(--slate-400);cursor:default;letter-spacing:.03em;text-align:center;text-transform:none;background:0 0;border:0;margin:.15rem 0 0;padding:0 .25rem;font-size:.68rem}.menu-chrome-build code{color:var(--slate-200);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem}.menu-chrome-build-trigger{width:100%}.menu-chrome-version-tag{color:#e2e8f06b;cursor:default;letter-spacing:.04em;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:.2rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem}.update-banner{left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom));z-index:80;color:#e0f2fe;letter-spacing:.06em;text-transform:uppercase;background:#020617f0;border:1px solid #22d3ee99;border-radius:.75rem;align-items:center;gap:.75rem;max-width:min(24rem,100vw - 2rem);padding:.6rem .75rem .6rem 1rem;font-size:.8rem;font-weight:800;line-height:1.25;animation:.18s ease-out toast-in;display:flex;position:fixed;box-shadow:0 0 22px #22d3ee47,0 1rem 2rem #0006}.update-banner-message{flex:1}.update-banner-action{appearance:none;color:#e0f2fe;cursor:pointer;font:inherit;letter-spacing:.08em;text-transform:uppercase;background:#22d3ee29;border:1px solid #22d3eeb3;border-radius:.5rem;padding:.4rem .75rem;font-size:.75rem;transition:background-color .12s ease-out,box-shadow .12s ease-out}.update-banner-action:hover:not(:disabled){background:#22d3ee47;box-shadow:0 0 12px #22d3ee80}.update-banner-action:disabled{cursor:progress;opacity:.6}.menu-modal.online-lobby{--lb-accent:#06b6d4;--lb-accent-bright:#22d3ee;--lb-accent-line:#22d3ee6b;--lb-accent-soft:#22d3ee1a;--lb-line:#94a3b829;--lb-line-strong:#94a3b842;--lb-rhythm:1.4rem;--lb-type-micro:.62rem;--lb-type-meta:.72rem;--lb-type-body:.9rem;--lb-type-title:1.2rem;text-align:left;background:radial-gradient(120% 60% at 50% 0,#22d3ee0f,#0000 65%),#020617f2;border-color:#22d3ee52;width:min(100%,28rem);padding:1.6rem 1.5rem 1.4rem;box-shadow:0 0 60px #22d3ee1f,0 30px 80px -30px #020617e6}.online-lobby button{width:auto;box-shadow:none;color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:none;background:0 0;border:0;border-radius:0;padding:0;transition:none}.online-lobby button:hover{box-shadow:none;transform:none}.online-lobby .lobby-header{margin-bottom:var(--lb-rhythm);border-bottom:1px solid var(--lb-line);gap:.55rem;padding-bottom:1.1rem;display:grid}.online-lobby .lobby-phase{width:max-content;color:var(--slate-400);font-size:var(--lb-type-micro);letter-spacing:.22em;text-transform:uppercase;align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.online-lobby .lobby-phase-dot{background:currentColor;border-radius:50%;width:.4rem;height:.4rem;animation:1.8s ease-in-out infinite lobby-phase-pulse}.online-lobby .lobby-phase.is-ready{color:var(--lb-accent-bright)}.online-lobby .lobby-phase.is-ready .lobby-phase-dot{box-shadow:0 0 .55rem var(--lb-accent);animation:none}@keyframes lobby-phase-pulse{0%,to{opacity:.45}50%{opacity:1}}.online-lobby .lobby-title{color:#fff;font-size:var(--lb-type-title);letter-spacing:.2em;text-transform:uppercase;margin:0;font-weight:950;line-height:1}.online-lobby .lobby-spectators{color:#a5f3fc;width:max-content;font-size:var(--lb-type-micro);letter-spacing:.16em;text-transform:uppercase;background:#082f4961;border:1px solid #22d3ee33;border-radius:999px;padding:.18rem .55rem;font-weight:800}.online-lobby .lobby-hero{margin-bottom:var(--lb-rhythm);gap:.65rem;display:grid}.online-lobby .lobby-microlabel{color:var(--slate-500);font-size:var(--lb-type-micro);letter-spacing:.22em;text-transform:uppercase;font-weight:800}.online-lobby .lobby-code{cursor:copy;transform-origin:50%;background:0 0;border:none;grid-template-columns:repeat(5,1fr);gap:.4rem;width:100%;margin:0;padding:0;transition:transform .2s;display:grid}.online-lobby .lobby-code:active{transform:scale(.985)}.online-lobby .lobby-code-cell{aspect-ratio:1/1.1;border:1px solid var(--lb-accent-line);background:linear-gradient(180deg, var(--lb-accent-soft), transparent 60%), #020617d9;color:var(--lb-accent-bright);letter-spacing:0;text-transform:uppercase;text-shadow:0 0 14px #22d3ee73;border-radius:.4rem;justify-content:center;align-items:center;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:clamp(1.4rem,8.5cqw,2rem);font-weight:900;transition:border-color .2s,box-shadow .2s;display:flex}.online-lobby .lobby-code:hover .lobby-code-cell{border-color:var(--lb-accent-bright);box-shadow:inset 0 0 12px #22d3ee2e}.online-lobby .lobby-share-row{grid-template-columns:minmax(0,1fr);gap:.45rem;display:grid}.online-lobby .lobby-share-row:has(.lobby-share-button){grid-template-columns:minmax(0,1fr) auto}.online-lobby .lobby-link{border:1px solid var(--lb-line);width:100%;color:var(--slate-300);cursor:copy;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--lb-type-meta);text-align:left;text-transform:none;background:#0f172a66;border-radius:.4rem;align-items:center;gap:.5rem;padding:.55rem .7rem;font-weight:600;transition:border-color .16s,color .16s;display:inline-flex;overflow:hidden}.online-lobby .lobby-link-tag{color:var(--slate-400);font-family:inherit;font-size:var(--lb-type-micro);letter-spacing:.18em;text-transform:uppercase;background:#94a3b82e;border-radius:.2rem;flex:none;padding:.1rem .35rem;font-weight:800}.online-lobby .lobby-link-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.online-lobby .lobby-link:hover{border-color:var(--lb-accent-line);color:#fff}.online-lobby .lobby-link:hover .lobby-link-tag{background:var(--lb-accent-soft);color:var(--lb-accent-bright)}.online-lobby .lobby-share-button{border:1px solid var(--lb-line);color:var(--slate-300);cursor:pointer;font-size:var(--lb-type-micro);letter-spacing:.18em;text-transform:uppercase;background:#0f172a66;border-radius:.4rem;align-items:center;gap:.4rem;padding:.55rem .85rem;font-weight:800;transition:border-color .16s,color .16s;display:inline-flex}.online-lobby .lobby-share-button svg{width:.9rem;height:.9rem}.online-lobby .lobby-share-button:hover{border-color:var(--lb-accent-line);color:#fff}.online-lobby .lobby-section{margin-bottom:var(--lb-rhythm)}.online-lobby .lobby-rule{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.65rem;margin-bottom:.65rem;display:grid}.online-lobby .lobby-rule-with-action{grid-template-columns:auto minmax(0,1fr) auto}.online-lobby .lobby-rule:after{content:"";background:linear-gradient(90deg, var(--lb-line) 0%, transparent 100%);height:1px}.online-lobby .lobby-rule-with-action:after{content:none}.online-lobby .lobby-rule-line{background:linear-gradient(90deg, var(--lb-line) 0%, transparent 100%);height:1px}.online-lobby .lobby-rule span{color:var(--slate-500);font-size:var(--lb-type-micro);letter-spacing:.28em;text-transform:uppercase;font-weight:900}.online-lobby .lobby-rule-action{border:1px solid var(--lb-line-strong);width:1.7rem;height:1.7rem;color:var(--slate-400);border-radius:.35rem;justify-content:center;align-items:center;transition:border-color .16s,color .16s,background-color .16s,opacity .16s;display:inline-flex}.online-lobby .lobby-rule-action svg{width:.85rem;height:.85rem}.online-lobby .lobby-rule-action:hover:not(:disabled){border-color:var(--lb-accent-line);background:var(--lb-accent-soft);color:var(--lb-accent-bright)}.online-lobby .lobby-rule-action:disabled{cursor:not-allowed;opacity:.45}.online-lobby .lobby-readout{color:var(--slate-300);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--lb-type-meta);text-transform:lowercase;margin:0;font-weight:500;line-height:1.65}.online-lobby .lobby-settings-form{gap:.7rem;display:grid}.online-lobby .lobby-settings-form .settings-section{border-top-color:var(--lb-line);gap:.6rem;padding:.75rem 0 0}.online-lobby .lobby-settings-form .settings-section:first-child{border-top:0;padding-top:0}.online-lobby .lobby-settings-form .settings-section h3{color:var(--lb-accent-bright);font-size:var(--lb-type-micro);letter-spacing:.2em}.online-lobby .lobby-settings-form .settings-grid{column-gap:.55rem}.online-lobby .lobby-settings-form .menu-setting{color:var(--slate-400);font-size:var(--lb-type-micro);gap:.32rem;margin-bottom:.65rem}.online-lobby .lobby-settings-form .match-setting-select{margin-bottom:.65rem}.online-lobby .lobby-settings-form .match-setting-trigger{border-radius:.48rem;gap:.65rem;min-height:4rem;padding:.65rem .7rem}.online-lobby .lobby-settings-form .match-setting-icon{width:2.25rem;height:2.25rem}.online-lobby .lobby-settings-form .match-setting-icon svg{width:1.05rem;height:1.05rem}.online-lobby .lobby-settings-form .match-setting-label{font-size:var(--lb-type-micro)}.online-lobby .lobby-settings-form .match-setting-copy strong{font-size:.86rem}.online-lobby .lobby-settings-form select,.online-lobby .lobby-settings-form input{height:2.25rem;font-size:var(--lb-type-meta);border-radius:.45rem}.online-lobby .lobby-settings-actions{grid-template-columns:minmax(0,1fr) auto;gap:.5rem;margin-top:.1rem;display:grid}.online-lobby .lobby-settings-save,.online-lobby .lobby-settings-cancel{border:1px solid var(--lb-line-strong);cursor:pointer;font-size:var(--lb-type-micro);letter-spacing:.18em;text-transform:uppercase;border-radius:.4rem;justify-content:center;align-items:center;gap:.45rem;padding:.6rem .75rem;font-weight:900;transition:border-color .16s,color .16s,background-color .16s,opacity .16s;display:inline-flex}.online-lobby .lobby-settings-save{border-color:var(--lb-accent-line);background:var(--lb-accent-soft);color:var(--lb-accent-bright)}.online-lobby .lobby-settings-cancel{color:var(--slate-400)}.online-lobby .lobby-settings-save svg,.online-lobby .lobby-settings-cancel svg{width:.85rem;height:.85rem}.online-lobby .lobby-settings-save:hover:not(:disabled),.online-lobby .lobby-settings-cancel:hover:not(:disabled){border-color:var(--lb-accent-line);color:#fff}.online-lobby .lobby-settings-save:disabled,.online-lobby .lobby-settings-cancel:disabled{cursor:not-allowed;opacity:.5}.online-lobby .lobby-roster{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.online-lobby .lobby-seat{border:1px solid var(--lb-line);background:#0f172a59;border-radius:.45rem;align-items:center;gap:.65rem;padding:.55rem .7rem;transition:border-color .2s,background-color .2s;display:flex}.online-lobby .lobby-seat.is-empty{background:#0f172a26;border-style:dashed}.online-lobby .lobby-seat.is-you{border-color:var(--lb-accent-line);background:linear-gradient(90deg, var(--lb-accent-soft), transparent 70%), #0f172a66}.online-lobby .lobby-seat-marker{background:var(--slate-600);border-radius:50%;flex:none;width:.5rem;height:.5rem}.online-lobby .lobby-seat--1.is-filled .lobby-seat-marker{background:#0ea5e9;box-shadow:0 0 .5rem #0ea5e98c}.online-lobby .lobby-seat--2.is-filled .lobby-seat-marker{background:#ec4899;box-shadow:0 0 .5rem #ec48998c}.online-lobby .lobby-seat.is-empty .lobby-seat-marker{background:0 0;border:1px dashed #94a3b866}.online-lobby .lobby-seat-slot{color:var(--slate-500);font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:var(--lb-type-micro);letter-spacing:.16em;text-transform:uppercase;flex:none;font-weight:800}.online-lobby .lobby-seat.is-you .lobby-seat-slot{color:var(--lb-accent-bright)}.online-lobby .lobby-seat-body{flex:1;justify-content:space-between;align-items:center;gap:.5rem;min-width:0;display:flex}.online-lobby .lobby-seat-name{color:#fff;min-width:0;font-size:var(--lb-type-body);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.online-lobby .lobby-seat.is-empty .lobby-seat-name{color:var(--slate-500);font-style:italic;font-weight:600}.online-lobby .lobby-seat-tag{color:var(--slate-500);font-size:var(--lb-type-micro);letter-spacing:.18em;text-transform:uppercase;flex:none;font-weight:800}.online-lobby .lobby-seat-tag-ready{color:#86efac}.online-lobby .lobby-seat-tag-not-ready{color:#fef08a}.online-lobby .lobby-seat-tag-offline{color:#fca5a5}.online-lobby .lobby-seat.is-empty .lobby-seat-tag{color:#94a3b88c}.online-lobby .lobby-seat-form{flex:1;align-items:center;gap:.4rem;min-width:0;display:flex}.online-lobby .lobby-seat-input{color:#fff;min-width:0;font:inherit;font-size:var(--lb-type-body);letter-spacing:0;text-transform:none;background:0 0;border:none;outline:none;flex:1;padding:0;font-weight:700}.online-lobby .lobby-seat-input::placeholder{color:var(--slate-500);text-transform:none;font-style:italic;font-weight:500}.online-lobby .lobby-seat-input:focus-visible{box-shadow:inset 0 -1px 0 0 var(--lb-accent-line)}.online-lobby .lobby-pill{border:1px solid var(--lb-line-strong);width:2rem;height:2rem;color:var(--slate-400);cursor:pointer;background:0 0;border-radius:.3rem;flex:none;justify-content:center;align-items:center;padding:0;transition:border-color .16s,color .16s,background-color .16s;display:inline-flex}.online-lobby .lobby-pill svg{stroke-width:2.2px;width:.95rem;height:.95rem}.online-lobby .lobby-pill:hover:not(:disabled),.online-lobby .lobby-pill.is-primary,.online-lobby .lobby-pill.is-random{border-color:var(--lb-accent-line);color:var(--lb-accent-bright)}.online-lobby .lobby-pill.is-primary:hover:not(:disabled),.online-lobby .lobby-pill.is-random:hover:not(:disabled){background:var(--lb-accent-soft)}.online-lobby .lobby-pill:disabled{color:#94a3b859;cursor:not-allowed;border-color:#94a3b82e}.online-lobby .lobby-pill.is-primary:disabled,.online-lobby .lobby-pill.is-random:disabled{color:#22d3ee61;border-color:#22d3ee33}.online-lobby .lobby-footer{gap:.65rem;margin-top:.3rem;display:grid}.online-lobby .lobby-ready{border:1px solid var(--lb-line-strong);width:100%;color:var(--slate-300);cursor:pointer;font-size:var(--lb-type-meta);letter-spacing:.18em;text-transform:uppercase;background:#0f172a9e;border-radius:.45rem;justify-content:center;align-items:center;gap:.45rem;padding:.72rem 1rem;font-weight:900;transition:border-color .16s,background-color .16s,color .16s;display:inline-flex}.online-lobby .lobby-ready svg{width:.95rem;height:.95rem}.online-lobby .lobby-ready.is-ready{color:#bbf7d0;background:#1665343d;border-color:#86efac6b}.online-lobby .lobby-ready:not(:disabled):hover{border-color:var(--lb-accent-line);color:#fff}.online-lobby .lobby-ready:disabled{cursor:not-allowed;opacity:.45}.online-lobby .lobby-start{border:1px solid var(--lb-accent);background:linear-gradient(180deg, var(--lb-accent-bright), var(--lb-accent));color:#020617f2;cursor:pointer;width:100%;font-size:var(--lb-type-meta);letter-spacing:.22em;text-transform:uppercase;border-radius:.45rem;justify-content:center;align-items:center;gap:.6rem;margin:0;padding:.95rem 1rem;font-weight:950;transition:transform .16s,box-shadow .2s,opacity .16s,filter .16s;display:inline-flex;box-shadow:0 0 0 1px #22d3ee2e,0 16px 36px -12px #22d3ee8c,inset 0 1px #ffffff52}.online-lobby .lobby-start svg{width:1rem;height:1rem;transition:transform .22s}.online-lobby .lobby-start:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 0 1px #22d3ee52,0 22px 42px -12px #22d3eeb3,inset 0 1px #fff6}.online-lobby .lobby-start:not(:disabled):hover svg{transform:translate(4px)}.online-lobby .lobby-start:disabled{cursor:not-allowed;opacity:.4;filter:saturate(.3);box-shadow:none;transform:none}.online-lobby .lobby-start-note{min-height:3.15rem;color:var(--slate-300);font-size:var(--lb-type-meta);letter-spacing:.14em;text-align:center;text-transform:uppercase;background:#0f172a70;border:1px solid #94a3b82e;border-radius:.45rem;justify-content:center;align-items:center;margin:0;padding:.8rem 1rem;font-weight:900;display:flex}.online-lobby .lobby-leave{color:var(--slate-500);cursor:pointer;font-size:var(--lb-type-meta);letter-spacing:.18em;text-align:center;text-transform:uppercase;background:0 0;border:none;margin:0;padding:.4rem 0;font-weight:700;transition:color .16s}.online-lobby .lobby-leave:hover{color:var(--slate-300)}.online-lobby .lobby-leave:focus-visible{outline:1px dashed var(--lb-line-strong);outline-offset:4px}.online-lobby .lobby-status{color:var(--slate-500);font-size:var(--lb-type-meta);text-align:center;margin:.65rem 0 0;font-style:italic}.game-over-modal{border-color:#eab30880;width:min(100%,56rem);box-shadow:0 0 50px #eab3084d}.game-over-modal.shop-modal{width:min(100%,70rem)}.game-over-modal h2{color:#fff;letter-spacing:.08em;margin-bottom:.5rem}.game-over-modal .round-summary{color:#fde68a;margin-bottom:1rem;font-size:.78rem;font-weight:900}.game-over-modal button{background:#ca8a04;box-shadow:0 0 20px #eab30880}.menu-modal .shop-action-button{color:#f0fdf4;background:linear-gradient(135deg,#16a34a,#22c55e);border:1px solid #86efac80;justify-content:center;align-items:center;gap:.5rem;display:flex;box-shadow:0 0 22px #22c55e61}.menu-modal .shop-action-button:hover:not(:disabled){border-color:#bbf7d0b8;box-shadow:0 0 28px #22c55e80}.menu-modal .shop-action-button svg{width:1rem;height:1rem}.skull-icon{width:4rem;height:4rem;color:var(--yellow);margin:0 auto 1rem}@media (width>=640px){.hud{gap:1rem;padding:1rem}.player-card{padding:.75rem}.player-stats{justify-content:flex-start;gap:.4rem .65rem}.player-stat{background:#0f172a70;border:1px solid #94a3b824;border-radius:999px;gap:.24rem;padding:.16rem .38rem;font-size:.7rem}.player-stat svg{width:.82rem;height:.82rem}.player-card h2{font-size:1.125rem}.hp-track{height:.75rem}.player-card p{font-size:.75rem}.wind-card{padding:.5rem 1.5rem}.hud-kicker{margin-bottom:.25rem}.wind-icon{width:1rem;height:1rem;display:block}.wind-arrow{width:1.25rem;height:1.25rem}.wind-value{font-size:1.125rem}.audio-button,.settings-button{width:2.5rem;height:2.5rem}.audio-button svg,.settings-button svg,.audio-icon-stack{width:1.25rem;height:1.25rem}.audio-icon-stack .audio-icon-x{width:.7rem;height:.7rem}.battle-wrap{padding:clamp(6rem,18dvh,8rem) 1rem .9rem}.control-inner{padding:1.5rem 1.5rem 1.75rem}.turn-pill{padding:.25rem 1rem;font-size:.875rem}.control-grid{gap:1.5rem}.control-label-row,.fire-button{font-size:.875rem}.touch-slider,.action-picker-trigger,select,.move-button,.fire-button{height:3rem}.action-picker-trigger{--trigger-icon-left:-.55rem;--trigger-icon-size:3.5em}}@media (width>=768px){.control-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width<=767px){.fire-button{grid-column:1/-1;gap:.45rem;height:clamp(3.75rem,12vw,4.75rem);font-size:1rem}.fire-button svg{width:1.2rem;height:1.2rem}}@media (width<=520px){body{overflow:hidden}.game-shell{min-height:100dvh}.battle-wrap{align-items:start;padding-top:clamp(5.5rem,20dvh,8rem);padding-bottom:.75rem}.battlefield{max-height:100%}.control-inner{padding:.75rem 1rem max(1rem, calc(env(safe-area-inset-bottom) + .85rem))}.control-grid{gap:.85rem}.menu-modal{padding:1.5rem}.settings-grid,.settings-toggle-grid,.settings-rule-actions,.home-primary-actions,.menu-modal-local .menu-actions{grid-template-columns:minmax(0,1fr)}.shop-wallet{flex-wrap:wrap}.local-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.local-difficulty-control,.hud{grid-template-columns:minmax(0,1fr)}.hud-roster{max-width:100%;padding-bottom:.25rem;display:flex;overflow-x:auto}.hud-roster .player-card{flex:0 0 9.25rem}.hud-center{top:max(.5rem, env(safe-area-inset-top));right:max(.5rem, env(safe-area-inset-right));position:absolute}}
