:root{color:#edf8ff;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;font-synthesis:none;background:#020308;--safe-top: max(14px, env(safe-area-inset-top));--safe-right: max(14px, env(safe-area-inset-right));--safe-bottom: max(14px, env(safe-area-inset-bottom));--safe-left: max(14px, env(safe-area-inset-left));--cyan: #8dfff3;--violet: #a99cff}*{box-sizing:border-box}html,body,#game-shell{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}body{user-select:none;-webkit-user-select:none}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}#game-shell{position:relative;background:#03040a;isolation:isolate}#game-canvas{position:absolute;inset:0;width:100%;height:100%;outline:none;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 50%,rgba(0,0,8,.48) 118%);z-index:1}.glass-panel{background:linear-gradient(135deg,#161f35ad,#06091485);border:1px solid rgba(174,224,255,.16);box-shadow:inset 0 1px #ffffff0a,0 14px 34px #0000002e;backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}.top-hud{position:absolute;z-index:3;top:var(--safe-top);left:var(--safe-left);display:grid;grid-template-columns:minmax(104px,auto) minmax(150px,250px);gap:20px;padding:12px 16px 13px;border-radius:12px;pointer-events:none}.eyebrow{display:block;color:#bed2e894;font:600 8px/1.2 IBM Plex Mono,monospace;letter-spacing:.19em}.mass-line{display:flex;align-items:baseline;gap:6px;margin-top:3px}.mass-line strong{font:600 25px/1 IBM Plex Mono,monospace;letter-spacing:-.05em}.mass-line span{color:var(--cyan);font:600 9px/1 IBM Plex Mono,monospace;letter-spacing:.12em}.dimension-block{min-width:0}.dimension-row{display:flex;justify-content:space-between;align-items:baseline;gap:18px}.dimension-row span:first-child{font-size:13px;font-weight:700}.dimension-row span:last-child{color:var(--cyan);font:500 9px/1 IBM Plex Mono,monospace}.dimension-block>span{display:block;margin-top:5px;color:#dbe7f77a;font-size:9px;white-space:nowrap}.progress-track{height:2px;margin-top:7px;overflow:hidden;background:#ffffff1a}.progress-track i{display:block;width:.01%;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));box-shadow:0 0 8px var(--cyan);transition:width .35s ease}.top-actions{position:absolute;z-index:5;top:var(--safe-top);right:var(--safe-right);display:flex;gap:8px}.icon-button{width:42px;height:42px;padding:0;color:#edf8ffd1;border-radius:12px;cursor:pointer;font:600 18px IBM Plex Mono,monospace}.icon-button:active{transform:scale(.94)}.mobile-menu-panel{display:none}.agent-monitor{position:absolute;z-index:4;top:calc(var(--safe-top) + 98px);right:var(--safe-right);width:min(260px,calc(100vw - 28px));padding:8px 11px;border-radius:10px;pointer-events:none}.agent-monitor span{display:flex;align-items:center;gap:6px;color:#cec3ffa8;font:600 8px IBM Plex Mono,monospace;letter-spacing:.12em}.agent-monitor span i{width:6px;height:6px;border-radius:50%;background:#9b8cff;box-shadow:0 0 10px #9b8cffcc}.agent-monitor strong{display:block;margin-top:3px;overflow:hidden;color:#f0f6ffe0;font:500 9px IBM Plex Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.agent-monitor[data-connection=thinking] span i{animation:agent-pulse .8s ease-in-out infinite alternate}.agent-monitor[data-connection=offline] span i{background:#ff7f9d;box-shadow:0 0 10px #ff5f84b3}.agent-monitor[data-connection=fallback] span i{background:#ffd36d;box-shadow:0 0 10px #ffc754b3}@keyframes agent-pulse{to{opacity:.3;transform:scale(.7)}}.multiplayer-monitor{position:absolute;z-index:4;top:calc(var(--safe-top) + 52px);right:var(--safe-right);width:min(260px,calc(100vw - 28px));padding:8px 11px;border-radius:10px;pointer-events:none}.multiplayer-monitor span{display:flex;align-items:center;gap:6px;color:#8dfff3b3;font:600 8px IBM Plex Mono,monospace;letter-spacing:.12em}.multiplayer-monitor span i{width:6px;height:6px;border-radius:50%;background:#8dfff3;box-shadow:0 0 10px #8dfff3cc}.multiplayer-monitor strong{display:block;margin-top:3px;overflow:hidden;color:#f0f6ffe6;font:500 9px IBM Plex Mono,monospace;text-overflow:ellipsis;white-space:nowrap}.multiplayer-monitor[data-connection=connecting] span i,.multiplayer-monitor[data-connection=reconnecting] span i{animation:agent-pulse .8s ease-in-out infinite alternate}.multiplayer-monitor[data-connection=offline] span i{background:#ff7f9d;box-shadow:0 0 10px #ff5f84b3}.season-hud{position:absolute;z-index:5;right:var(--safe-right);top:calc(var(--safe-top) + 100px);display:grid;width:272px;padding:13px 15px;color:#f4f1ff;border-color:#c79bff4d;border-radius:11px;cursor:pointer;text-align:left}.season-hud span{color:#cfb5ffc2;font:700 9px IBM Plex Mono,monospace;letter-spacing:.13em}.season-hud span b{color:#eadcff}.season-hud strong{margin-top:3px;color:#fff;font:750 28px IBM Plex Mono,monospace;text-shadow:0 0 18px rgba(181,114,255,.55)}.season-hud small{max-width:240px;margin-top:4px;overflow:hidden;color:#eee5fab8;font-size:10px;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.season-hud.is-urgent{border-color:#ff628ba6;background:linear-gradient(135deg,#6f193ac7,#160a28b3);animation:doomsday-pulse 1s ease-in-out infinite alternate}@keyframes doomsday-pulse{to{box-shadow:0 0 24px #ff467e4d}}.scoreboard-panel{position:absolute;z-index:12;right:var(--safe-right);top:calc(var(--safe-top) + 208px);width:min(390px,calc(100vw - 28px));padding:22px;border-radius:16px;opacity:0;transform:translateY(10px) scale(.98);pointer-events:none;transition:.18s ease}.scoreboard-panel.is-open{opacity:1;transform:none;pointer-events:auto}.scoreboard-current,.scoreboard-winner{display:grid;gap:3px;margin-top:8px;padding:10px 11px;border:1px solid rgba(195,157,255,.15);border-radius:9px;background:#41255b24}.scoreboard-current span,.scoreboard-winner span{color:#cebee785;font-size:8px}.scoreboard-current strong,.scoreboard-winner strong{color:#f6f0fff5;font:650 13px IBM Plex Mono,monospace}.scoreboard-panel>p{margin:12px 1px 0;color:#d2cae180;font-size:8px;line-height:1.6}.mutation-dialog{position:fixed;z-index:90;inset:0;display:grid;place-items:center;padding:18px;background:radial-gradient(circle,#3d255b4d,#010309bd);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.mutation-card{width:min(680px,100%);padding:24px;border-color:#c195ff52;border-radius:18px;text-align:center}.mutation-card h2{margin:7px 0 5px;font-size:21px}.mutation-card>p{margin:0;color:#ddd2ed99;font-size:10px}.mutation-card>small{display:block;margin-top:12px;color:#cabbde6b;font-size:8px}.mutation-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.mutation-option{display:grid;min-height:142px;place-items:center;align-content:center;gap:6px;padding:14px 10px;color:#f6f0ff;border:1px solid rgba(189,147,255,.25);border-radius:12px;background:linear-gradient(145deg,#4f2f7340,#0d1122ad);cursor:pointer}.mutation-option:active{transform:scale(.97)}.mutation-option i{color:#c9a5ff;font: 700 28px IBM Plex Mono,monospace;text-shadow:0 0 18px rgba(188,128,255,.7)}.mutation-option strong{font-size:12px}.mutation-option span{color:#e1d6f09e;font-size:9px;line-height:1.45}.mutation-option b{color:var(--cyan);font:600 8px IBM Plex Mono,monospace}.status-stack{position:absolute;z-index:3;top:calc(var(--safe-top) + 78px);left:var(--safe-left);display:flex;gap:7px;pointer-events:none}.status-chip{min-width:74px;padding:7px 10px;border-radius:9px}.status-chip span{display:block;color:#d3e1f27a;font-size:8px}.status-chip strong{display:block;margin-top:1px;color:#effaffdb;font:500 10px IBM Plex Mono,monospace}.hierarchy-chip{min-width:190px}.hierarchy-chip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.effect-chip{min-width:142px;border-color:#c9abff4d;background:linear-gradient(135deg,#422b68c2,#090c1b99)}.effect-chip strong{color:#ede0fff2;white-space:nowrap}.is-hidden{display:none!important}.event-feed{position:absolute;z-index:3;top:calc(var(--safe-top) + 116px);left:var(--safe-left);width:min(360px,calc(100vw - 28px));pointer-events:none}.event-item{max-width:max-content;margin-top:6px;padding:7px 10px;color:#e7f2ffcc;border-left:1px solid rgba(141,255,243,.48);background:linear-gradient(90deg,rgba(15,23,39,.68),transparent);font-size:10px;animation:event-in .22s ease both}.event-item b{margin-right:6px;color:var(--cyan);font:600 10px IBM Plex Mono,monospace}.event-item.is-danger{border-color:#ff819f}.event-item.is-danger b{color:#ff9caf}.event-item.is-fading{opacity:0;transform:translateY(-4px);transition:.6s ease}@keyframes event-in{0%{opacity:0;transform:translate(-8px)}}.collision-legend{position:absolute;z-index:3;left:var(--safe-left);bottom:var(--safe-bottom);display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:10px;color:#d6e4f48a;font-size:8px;pointer-events:none}.collision-legend strong{padding-right:10px;color:#e2f1fbc2;border-right:1px solid rgba(255,255,255,.1);font-size:8px}.collision-legend span{display:flex;align-items:center;gap:5px;white-space:nowrap}.collision-legend i{display:inline-block;width:9px;height:9px}.legend-bracket{border:2px solid #74ffdc;box-shadow:0 0 6px #57ffda70}.legend-ghost{border:1px dashed rgba(149,159,188,.55);background:#79819c1f}.item-legend{position:absolute;z-index:3;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 58px);display:grid;width:218px;gap:5px;padding:9px 10px;border-radius:10px;color:#ddeaf8ad;font-size:8px;pointer-events:none}.item-legend>strong{padding-bottom:5px;color:#edf7ffd1;border-bottom:1px solid rgba(255,255,255,.08);font-size:8px}.item-legend span{display:grid;grid-template-columns:17px 33px 1fr;align-items:center;white-space:nowrap}.item-legend i{display:grid;width:14px;height:14px;place-items:center;border:1px solid currentColor;font-style:normal;font-weight:900}.item-legend b{color:#f5fbffe6;font-size:8px}.item-speed{color:#d6ff72}.item-impact{color:#ff8d76}.item-mimic{color:#c6a7ff}.tutorial-hint{position:absolute;z-index:3;left:50%;bottom:calc(var(--safe-bottom) + 20px);transform:translate(-50%);padding:9px 14px;border-radius:999px;color:#e8f4ffad;font-size:10px;pointer-events:none;transition:opacity .5s ease}.booster-button{position:absolute;z-index:7;left:50%;bottom:calc(var(--safe-bottom) + 10px);display:flex;align-items:center;gap:9px;min-width:164px;padding:8px 12px;color:#fff0cf;border-color:#ffae5385;border-radius:12px;background:linear-gradient(135deg,#723010d1,#221121d1);box-shadow:0 0 20px #ff802c26,inset 0 1px #ffffff12;transform:translate(-50%);cursor:pointer;text-align:left}.booster-button>span:first-child{color:#ffb457;font:900 20px/1 IBM Plex Mono,monospace;text-shadow:0 0 10px rgba(255,126,39,.8)}.booster-button strong,.booster-button small{display:block}.booster-button strong{font-size:9px}.booster-button small{margin-top:2px;color:#ffe0be9e;font-size:7px}.booster-button:active{transform:translate(-50%) scale(.96)}.booster-button:disabled{opacity:.38;cursor:not-allowed;filter:grayscale(.45)}.booster-button.is-active{border-color:#ffd068e6;animation:booster-pulse .5s ease-in-out infinite alternate}.tutorial-hint{bottom:calc(var(--safe-bottom) + 62px)}@keyframes booster-pulse{to{box-shadow:0 0 30px #ff79226b,inset 0 1px #ffffff24}}.rebirth-quick{position:absolute;z-index:7;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 62px);display:grid;grid-template-columns:1fr 30px;align-items:center;width:min(230px,calc(100vw - 28px));padding:9px 10px 9px 12px;color:#ffeaf0;border-color:#ff709594;border-radius:12px;background:linear-gradient(135deg,#801e42e0,#1e0e30d1);box-shadow:0 0 22px #ff487d33,inset 0 1px #ffffff14;cursor:pointer;text-align:left}.rebirth-quick-copy strong,.rebirth-quick-copy small{display:block}.rebirth-quick-copy strong{font-size:10px}.rebirth-quick-copy small{margin-top:3px;color:#ffd5e2ad;font-size:7px}.rebirth-quick-icon{color:#ff9fbc;font:700 25px/1 IBM Plex Mono,monospace;text-align:center;text-shadow:0 0 12px rgba(255,96,145,.85)}.rebirth-quick.is-confirming{border-color:#ff789e;background:linear-gradient(135deg,#c02756f0,#3f143de6)}.rebirth-tooltip{position:absolute;right:0;bottom:calc(100% + 8px);width:min(270px,calc(100vw - 28px));padding:9px 11px;color:#f9f4fff0;border:1px solid rgba(205,178,255,.38);border-radius:9px;background:#0d0919f0;box-shadow:0 10px 28px #0006;font-size:8px;line-height:1.55;opacity:0;transform:translateY(5px);pointer-events:none;transition:.16s ease}.rebirth-quick:hover .rebirth-tooltip,.rebirth-quick:focus-visible .rebirth-tooltip,.rebirth-quick:focus .rebirth-tooltip,.rebirth-quick.is-confirming .rebirth-tooltip{opacity:1;transform:none}#game-shell:has(.rebirth-quick:not(.is-hidden)) .tutorial-hint{opacity:0}#game-shell:has(.rebirth-quick:not(.is-hidden)) .item-legend{bottom:calc(var(--safe-bottom) + 126px)}.joystick-base{position:fixed;z-index:6;width:116px;height:116px;opacity:0;transform:translate(-50%,-50%) scale(.7);border:1px solid rgba(168,247,247,.26);border-radius:50%;background:radial-gradient(circle,#83fff414,#545e9614);box-shadow:0 0 42px #46f8e412,inset 0 0 25px #ffffff08;pointer-events:none;transition:opacity .16s ease,transform .16s ease}.joystick-base.is-active{opacity:1;transform:translate(-50%,-50%) scale(1)}.joystick-base.is-mouse{width:44px;height:44px;border-color:#a8fff6ad;background:#24586533;box-shadow:0 0 24px #61ffee33,inset 0 0 18px #ffffff0a}.joystick-base.is-mouse i{width:72%;background:#befff873}.joystick-base.is-mouse i:after{height:32px}.joystick-base.is-mouse span{width:8px;height:8px;background:var(--cyan);box-shadow:0 0 12px #8dfff3e6}.joystick-base i{position:absolute;inset:50%;width:70%;height:1px;background:#bef2ff1f;transform:translate(-50%,-50%)}.joystick-base i:after{content:"";position:absolute;left:50%;top:50%;width:1px;height:80px;background:inherit;transform:translate(-50%,-50%)}.joystick-base span{position:absolute;left:50%;top:50%;width:36px;height:36px;border:1px solid rgba(197,255,250,.66);border-radius:50%;background:#87fff22e;box-shadow:0 0 20px #76ffef33;transform:translate(-50%,-50%)}.control-dock{position:absolute;z-index:5;right:var(--safe-right);bottom:var(--safe-bottom);border-radius:13px;overflow:hidden}.mode-button{display:flex;align-items:center;gap:9px;min-width:128px;padding:9px 13px;color:#eaf9ff;border:0;background:transparent;cursor:pointer;text-align:left}.mode-button small{display:block;color:#d1e0f070;font-size:8px}.mode-button strong{display:block;margin-top:1px;font-size:11px}.sensor-dot{width:9px;height:9px;border-radius:50%;border:1px solid rgba(164,199,219,.5);box-shadow:inset 0 0 0 2px #050a14cc;background:#708193}.mode-button[aria-pressed=true] .sensor-dot{background:var(--cyan);box-shadow:0 0 12px #8dfff3cc,inset 0 0 0 2px #050a14cc}.settings-panel{position:absolute;z-index:10;top:calc(var(--safe-top) + 52px);right:var(--safe-right);width:min(330px,calc(100vw - 28px));padding:18px;border-radius:16px;opacity:0;transform:translateY(-10px) scale(.98);pointer-events:none;transition:.2s ease}.settings-panel.is-open{opacity:1;transform:none;pointer-events:auto}.templates-panel{position:absolute;z-index:11;top:calc(var(--safe-top) + 52px);right:var(--safe-right);width:min(370px,calc(100vw - 28px));max-height:calc(100vh - 84px);overflow:auto;padding:18px;border-radius:16px;opacity:0;transform:translateY(-10px) scale(.98);pointer-events:none;transition:.2s ease}.templates-panel.is-open{opacity:1;transform:none;pointer-events:auto}.templates-summary{margin:-8px 0 12px;color:#d3e4f394;font-size:9px}.tactical-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:12px 1px 8px}.tactical-heading strong{color:#f0faffe6;font-size:10px}.tactical-heading span{color:#b8cfe175;font-size:7px;text-align:right}.tactical-heading.image-heading{margin-top:18px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}.tactical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.tactical-card{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:7px;min-height:58px;padding:8px;color:#eafaff;border:1px solid rgba(141,255,243,.17);border-radius:10px;background:linear-gradient(145deg,#27575e26,#0f122394);cursor:pointer;text-align:left}.tactical-card>i{display:grid;width:30px;height:30px;place-items:center;color:var(--cyan);border:1px solid rgba(141,255,243,.28);background:#8dfff30f;font: 800 17px IBM Plex Mono,monospace}.tactical-card span{min-width:0}.tactical-card strong,.tactical-card small{display:block}.tactical-card strong{font-size:9px}.tactical-card small{margin-top:3px;color:#c5daea7a;font-size:6px;line-height:1.35}.tactical-card>b{align-self:start;color:#8dfff394;font:650 6px IBM Plex Mono,monospace;white-space:nowrap}.tactical-card:active{transform:scale(.97)}.tactical-card:disabled{opacity:.32;filter:grayscale(.5);cursor:not-allowed}.image-upload-zone{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:12px;padding:12px;border:1px dashed rgba(141,255,243,.35);border-radius:12px;background:#27575e1a;cursor:pointer}.image-upload-zone:active{transform:scale(.985)}.image-upload-zone input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.image-upload-preview{position:relative;display:grid;width:72px;height:72px;place-items:center;overflow:hidden;border:1px solid rgba(141,255,243,.24);background:#030812b8;image-rendering:pixelated}.image-upload-preview img{display:none;width:100%;height:100%;object-fit:cover}.image-upload-preview.has-image img{display:block}.image-upload-preview.has-image i{display:none}.image-upload-preview i{color:var(--cyan);font: 300 28px IBM Plex Mono,monospace}.image-upload-zone strong,.image-upload-zone small{display:block}.image-upload-zone strong{color:#e7fcffeb;font-size:11px}.image-upload-zone small{margin-top:5px;color:#c1d3e880;font-size:8px;line-height:1.45}.image-upload-status{min-height:28px;margin:10px 2px;color:#cddeef94;font-size:8px;line-height:1.45}.image-upload-status.is-error{color:#ff9bba}.template-color-option{display:flex;align-items:center;gap:9px;margin:-2px 0 12px;padding:9px 10px;border:1px solid rgba(141,255,243,.14);border-radius:9px;background:#1c444d1f;cursor:pointer}.template-color-option input{width:15px;height:15px;margin:0;accent-color:#8dfff3}.template-color-option span{min-width:0}.template-color-option strong,.template-color-option small{display:block}.template-color-option strong{color:#e7fcffe0;font-size:9px}.template-color-option small{margin-top:2px;color:#c1d3e873;font-size:7px}.templates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.template-card{display:grid;grid-template-columns:38px 1fr;gap:8px;min-height:62px;padding:9px;color:#eafaff;border:1px solid rgba(141,255,243,.18);border-radius:10px;background:#27575e1a;cursor:pointer;text-align:left}.template-card:active{transform:scale(.97)}.template-card:disabled{opacity:.36;filter:grayscale(.55);cursor:not-allowed}.template-glyph{display:grid;width:42px;height:42px;place-items:center;color:var(--cyan);border:1px solid rgba(141,255,243,.34);background:radial-gradient(circle,rgba(141,255,243,.18),transparent 70%);font:700 18px IBM Plex Mono,monospace}.pixel-art-preview{grid-template-columns:repeat(var(--template-cols),1fr);grid-auto-rows:1fr;place-items:stretch;gap:1px;padding:4px;box-sizing:border-box}.pixel-art-preview i{min-width:0;min-height:0;background:transparent}.pixel-art-preview i[data-role=B]{background:hsl(var(--preview-hue) 72% 51%)}.pixel-art-preview i[data-role=O]{background:hsl(var(--preview-hue) 92% 88%);box-shadow:0 0 4px hsl(var(--preview-hue) 90% 72%)}.pixel-art-preview i[data-role=L]{background:hsl(var(--preview-hue) 88% 72%)}.pixel-art-preview i[data-role=D]{background:hsl(var(--preview-hue) 56% 27%)}.pixel-art-preview i[data-role=A]{background:hsl(var(--preview-accent) 92% 58%);box-shadow:0 0 3px hsl(var(--preview-accent) 92% 58% / .7)}.template-copy strong{display:block;font-size:10px}.template-copy small{display:block;margin-top:3px;color:#cddeef7a;font-size:8px;line-height:1.35}.template-copy i{display:block;margin-top:4px;color:#8dfff3ad;font: 600 7px IBM Plex Mono,monospace}.templates-note{display:block;margin-top:12px;color:#c1d3e861;font-size:8px}.panel-heading{display:flex;justify-content:space-between;align-items:flex-start}.panel-heading small{color:#a6c5dd7a;font:600 8px IBM Plex Mono,monospace;letter-spacing:.16em}.panel-heading h2{margin:3px 0 18px;font-size:17px}.text-button{padding:4px 0 4px 12px;color:var(--cyan);border:0;background:none;font-size:10px;cursor:pointer}.range-setting>span{display:flex;justify-content:space-between;margin-bottom:8px;font-size:11px}.range-setting output{color:var(--cyan);font:500 10px IBM Plex Mono,monospace}.range-setting input{width:100%;accent-color:#8dfff3}.wide-button{width:100%;margin-top:16px;padding:10px;color:#dffdfa;border:1px solid rgba(141,255,243,.3);border-radius:9px;background:#50b6b71a;cursor:pointer;font-size:10px}.danger-button{margin-top:8px;color:#ffc1cf;border-color:#ff70955c;background:#91264621}.danger-button.is-confirming{color:#fff;border-color:#ff7095cc;background:#cb2d5752;box-shadow:0 0 14px #ff3f722e}.settings-panel p{margin:13px 0 0;color:#d1deee75;font-size:9px;line-height:1.7}.settings-panel .rebirth-bonus{padding:8px 10px;color:#ffd4df;border:1px solid rgba(255,112,149,.2);border-radius:8px;background:#91264617;font-family:IBM Plex Mono,monospace}.help-dialog{width:min(470px,calc(100vw - 30px));padding:0;color:#eefaff;border:1px solid rgba(175,225,255,.2);border-radius:22px;background:linear-gradient(145deg,#0c1323f7,#04060efa);box-shadow:0 25px 100px #000000b3,inset 0 1px #ffffff0d}.help-dialog::backdrop{background:#000208ad;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.help-dialog form{padding:30px;text-align:center}.logo-mark{position:relative;width:66px;height:60px;margin:0 auto 19px;filter:drop-shadow(0 0 18px rgba(105,255,238,.2))}.logo-mark i{position:absolute;width:26px;height:26px;border:1px solid rgba(166,255,246,.75);background:#4dffe814}.logo-mark i:nth-child(1){left:6px;top:4px}.logo-mark i:nth-child(2){left:32px;top:12px;border-color:#af97ffc7}.logo-mark i:nth-child(3){left:14px;top:30px;border-color:#8db2ffb8}.logo-mark i:nth-child(4){left:38px;top:35px;width:14px;height:14px;background:var(--cyan)}.help-dialog h1{margin:4px 0 8px;font:600 clamp(27px,8vw,40px)/1 "IBM Plex Mono",monospace;letter-spacing:.08em}.queue-dialog{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));background:radial-gradient(circle at 50% 42%,#1f4a5b42,#010309db 58%);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.queue-card{width:min(390px,100%);padding:34px 28px 30px;border-radius:22px;text-align:center}.queue-card h2{margin:8px 0 5px;font-size:22px}.queue-card p{margin:8px 0;color:#e0effacc}.queue-card p b{color:var(--cyan)}.queue-card small{display:block;margin-top:20px;color:#b7ccdd94}.queue-position{display:block;color:var(--cyan);font:600 clamp(42px,14vw,64px)/1.05 "IBM Plex Mono",monospace;letter-spacing:-.08em;text-shadow:0 0 25px rgba(141,255,243,.35)}.queue-capacity{font-size:13px;line-height:1.55}.queue-pixels{position:relative;width:44px;height:38px;margin:0 auto 18px}.queue-pixels i{position:absolute;width:11px;height:11px;border:1px solid var(--cyan);background:#8dfff32e;animation:queue-pixel 1.2s ease-in-out infinite}.queue-pixels i:nth-child(1){left:0;top:13px}.queue-pixels i:nth-child(2){left:11px;top:2px;animation-delay:-.9s}.queue-pixels i:nth-child(3){left:22px;top:13px;animation-delay:-.6s}.queue-pixels i:nth-child(4){left:33px;top:24px;animation-delay:-.3s}@keyframes queue-pixel{0%,to{opacity:.25;transform:scale(.78)}50%{opacity:1;transform:scale(1);box-shadow:0 0 16px #8dfff38c}}.lead{max-width:380px;margin:0 auto 25px;color:#deedf9a8;font-size:12px;line-height:1.7}.rules{display:grid;gap:8px;margin:0;padding:0;list-style:none;text-align:left}.rules li{display:grid;grid-template-columns:34px 1fr;gap:8px;padding:11px 12px;border:1px solid rgba(182,216,255,.09);border-radius:10px;background:#ffffff06}.rules li>b{padding-top:2px;color:var(--cyan);font:500 10px IBM Plex Mono,monospace}.rules span{color:#d4e2f280;font-size:9px;line-height:1.55}.rules strong{display:block;margin-bottom:2px;color:#f4fbffe0;font-size:11px}.start-button{width:100%;margin-top:18px;padding:13px;color:#061416;border:0;border-radius:10px;background:linear-gradient(90deg,#8dfff3,#b7c1ff);box-shadow:0 8px 30px #5ef5e42e;cursor:pointer;font-weight:800;font-size:12px}.desktop-tip{display:block;margin-top:11px;color:#c1d3e854;font-size:8px}.rotate-hint{display:none}@media(hover:hover)and (pointer:fine){#game-canvas{cursor:crosshair}#game-canvas:active{cursor:grabbing}}@media(orientation:portrait)and (max-width:620px){.top-hud{right:calc(var(--safe-right) + 150px);grid-template-columns:70px 1fr;gap:7px;padding:10px 11px}.mass-line strong{font-size:20px}.dimension-block>span{display:none}.multiplayer-monitor{top:calc(var(--safe-top) + 72px);right:var(--safe-right);left:var(--safe-left);width:auto;padding:6px 9px}.agent-monitor{display:none}.status-stack{top:calc(var(--safe-top) + 114px);right:var(--safe-right);display:grid;grid-template-columns:82px minmax(0,1fr);gap:6px}.status-chip,.hierarchy-chip{min-width:0}.effect-chip{position:static;grid-column:1 / -1;min-width:0}.event-feed{top:calc(var(--safe-top) + 167px)}#game-shell:has(.effect-chip:not(.is-hidden)) .event-feed{top:calc(var(--safe-top) + 211px)}.tutorial-hint{bottom:calc(var(--safe-bottom) + 113px)}.collision-legend{bottom:calc(var(--safe-bottom) + 58px);max-width:calc(100vw - 174px);flex-wrap:wrap;gap:5px 9px}.collision-legend strong{width:100%;padding:0 0 4px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.rotate-hint{position:absolute;z-index:2;top:50%;right:-64px;display:block;padding:5px 8px;color:#d0ddf433;font-size:8px;transform:rotate(90deg);pointer-events:none}.item-legend{bottom:calc(var(--safe-bottom) + 126px);width:176px;padding:7px 9px}.item-legend span{white-space:normal}.booster-button{bottom:calc(var(--safe-bottom) + 6px);min-width:150px;padding:7px 10px}.rebirth-quick{right:var(--safe-right);bottom:calc(var(--safe-bottom) + 62px);width:min(224px,calc(100vw - 28px))}#game-shell:has(.rebirth-quick:not(.is-hidden)) .item-legend{bottom:calc(var(--safe-bottom) + 138px)}.templates-panel{top:auto;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 62px);left:var(--safe-left);width:auto;max-height:66vh}.tactical-grid{grid-template-columns:1fr}.tactical-card{min-height:54px}.season-hud{right:auto;left:var(--safe-left);bottom:calc(var(--safe-bottom) + 76px);min-width:154px}.season-hud{top:auto;width:154px;padding:8px 10px}.season-hud span{font-size:7px}.season-hud strong{font-size:15px}.season-hud small{max-width:134px;margin-top:2px;font-size:7px}.scoreboard-panel{top:auto;right:var(--safe-right);bottom:calc(var(--safe-bottom) + 76px);left:var(--safe-left);width:auto;padding:18px}.mutation-card{padding:20px 14px}.mutation-options{grid-template-columns:1fr;gap:7px}.mutation-option{grid-template-columns:38px 1fr auto;min-height:72px;padding:10px 12px;text-align:left}.mutation-option i{font-size:23px}.mutation-option strong,.mutation-option span{display:block}}@media(max-width:720px),(hover:none)and (pointer:coarse){.top-hud{right:calc(var(--safe-right) + 52px);grid-template-columns:minmax(118px,auto) minmax(82px,1fr);gap:7px;min-height:48px;padding:8px 10px}.top-actions #templates-button,.top-actions #help-button{display:none}.top-actions{gap:0}.top-actions #settings-button{width:44px;height:44px}.multiplayer-monitor,.agent-monitor,.status-stack,.season-hud,.collision-legend,.item-legend,.rotate-hint{display:none!important}.event-feed,#game-shell:has(.effect-chip:not(.is-hidden)) .event-feed{top:calc(var(--safe-top) + 58px);width:min(260px,calc(100vw - 28px))}.event-item{margin-top:4px;padding:5px 8px;font-size:8px}.event-item:nth-child(n+3){display:none}.tutorial-hint{bottom:calc(var(--safe-bottom) + 58px);max-width:calc(100vw - 28px);padding:6px 10px;font-size:8px;white-space:nowrap}.booster-button{right:auto;left:var(--safe-left);width:min(220px,calc(100vw - var(--safe-left) - var(--safe-right) - 136px));min-width:0;justify-content:center;transform:none}.booster-button:active{transform:scale(.96)}.control-dock{width:128px}.control-dock .mode-button{width:100%;min-width:0;padding-right:9px;padding-left:9px}.mobile-menu-panel{position:absolute;z-index:20;top:calc(var(--safe-top) + 52px);right:var(--safe-right);left:var(--safe-left);display:block;max-height:calc(100vh - var(--safe-top) - var(--safe-bottom) - 72px);overflow:auto;padding:16px;border-radius:16px;opacity:0;transform:translateY(-8px) scale(.985);pointer-events:none;transition:opacity .16s ease,transform .16s ease}.mobile-menu-panel.is-open{opacity:1;transform:none;pointer-events:auto}.mobile-menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:10px}.mobile-menu-actions button{display:flex;align-items:center;gap:8px;min-height:46px;padding:8px 10px;color:#f0f9ffe6;border:1px solid rgba(152,224,246,.15);border-radius:10px;background:#22344c4d;text-align:left}.mobile-menu-actions i{display:grid;width:25px;height:25px;place-items:center;color:var(--cyan);border:1px solid rgba(141,255,243,.24);font-style:normal}.mobile-menu-actions span{font-size:9px;font-weight:700}.mobile-menu-section,.mobile-menu-grid>div{padding:9px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#060a1770}.mobile-menu-section{display:grid;gap:3px;margin-top:7px}.mobile-menu-grid{display:grid;grid-template-columns:1fr 1.45fr;gap:7px;margin-top:7px}.mobile-menu-grid>div{display:grid;gap:3px}.mobile-menu-section>span,.mobile-menu-grid span{color:#c2d5e97a;font-size:7px;letter-spacing:.08em}.mobile-menu-section strong,.mobile-menu-grid strong{overflow:hidden;color:#eff9ffe6;font:600 9px/1.45 IBM Plex Mono,monospace;text-overflow:ellipsis}.mobile-season-summary b{color:#d9c3ff}.mobile-season-summary em{color:#fff;font: 750 15px IBM Plex Mono,monospace}.mobile-season-summary small{color:#eadff8b3;font-size:8px}.mobile-item-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.mobile-item-guide span{display:grid;grid-template-columns:18px 1fr;align-items:center;padding:7px;border:1px solid rgba(255,255,255,.07);border-radius:8px;font-size:6px}.mobile-item-guide i{grid-row:span 2;font-style:normal;font-size:12px}.mobile-item-guide b{color:#f5faffe6;font-size:8px}.settings-panel,.scoreboard-panel{z-index:22}}@media(max-height:520px){.help-dialog form{padding:18px 24px}.logo-mark{display:none}.help-dialog .lead{margin-bottom:12px}.rules{grid-template-columns:repeat(4,1fr)}.rules li{display:block;padding:9px}.rules li>b{display:block;margin-bottom:4px}.start-button{margin-top:12px}.desktop-tip{display:none}.collision-legend{max-width:310px}}@media(prefers-reduced-motion:reduce){.queue-pixels i{animation:none}*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
