:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--surface:#ffffffeb;--text:#1b1d21;--muted:#5d6470;--line:#0000001f;--accent:#1f6feb;--error:#b3261e;--hud:#f4f6f8;--hud-shadow:0 1px 3px #000000b3;--good:#6fdc8c;--bad:#ff6b5e;--mark:#ff453a;--objective:#ffd166;font-family:system-ui,-apple-system,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--surface:#181a1eeb;--text:#eceef2;--muted:#a3aab6;--line:#ffffff24;--accent:#6ea8ff;--error:#ffb4ab}}html,body{-webkit-user-select:none;user-select:none;background:#bfd4e6;height:100%;margin:0;overflow:hidden}canvas{display:block}[hidden]{display:none!important}.card{box-sizing:border-box;background:var(--surface);color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:20px;padding:20px;font-size:14px;line-height:1.45;box-shadow:0 6px 32px #00000038}.card h1,.card h2{margin:0 0 8px}.card header{justify-content:space-between;align-items:center;gap:12px;display:flex}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:12px}.brand{font-weight:700}.row{flex-wrap:wrap;gap:8px;display:flex}button,.button{border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:8px 16px}button.primary,button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}dl{grid-template-columns:auto 1fr;gap:4px 16px;margin:0 0 16px;display:grid}dt{color:var(--muted)}dd{margin:0}.screen{background:#0a0e1440;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.screen>.card{width:min(520px,100%)}#menu{background:linear-gradient(90deg,#0a0e1473,#0000 70%);place-items:center start}.menu-card h1{letter-spacing:-.02em;font-size:34px}.lead{color:var(--muted);margin:0 0 16px}#levels{gap:10px;margin:0 0 16px;padding:0;list-style:none;display:grid}#levels li{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}#levels p{color:var(--muted);margin:2px 0 0;font-size:13px}#levels .row{flex-wrap:nowrap}details{color:var(--muted);margin-top:16px}details+details{margin-top:8px}.credits{margin:8px 0 0;font-size:13px}.credits a{color:inherit}summary{cursor:pointer}.controls{margin:10px 0 0;font-size:13px}.errors,#messages{background:#7f7f7f1a;border-radius:8px;margin:0 0 12px;padding:8px 8px 8px 24px}.errors{color:var(--error)}#viewer-panel{width:min(360px,100vw - 32px);font-size:13px;position:fixed;top:16px;left:16px}#viewer-panel h2{margin:8px 0 12px;font-size:18px}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:12px 0 0;display:flex}.legend i{border-radius:2px;width:10px;height:10px;margin-right:-4px;display:inline-block}.legend .breakable{background:#4caf7d}.legend .reinforceable{background:#e0a33a}.legend .solid{background:#8a8f98}#hud{pointer-events:none;color:var(--hud);text-shadow:var(--hud-shadow);font-variant-numeric:tabular-nums;position:fixed;inset:0}#hud .top{white-space:nowrap;background:#00000059;border-radius:999px;align-items:center;gap:16px;padding:6px 16px;font-size:14px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}#timer{font-size:20px;font-weight:700}#timer.low{color:var(--bad)}#pips{gap:4px;display:flex}.pip{background:var(--mark);border-radius:3px;width:10px;height:14px}.pip.down{background:#ffffff40}#crosshair{--gap:8px;position:absolute;top:50%;left:50%}#crosshair i{background:var(--hud);position:absolute;box-shadow:0 0 2px #000c}#crosshair i:first-child{width:2px;height:10px;left:-1px;bottom:var(--gap)}#crosshair i:nth-child(2){width:2px;height:10px;left:-1px;top:var(--gap)}#crosshair i:nth-child(3){width:10px;height:2px;top:-1px;right:var(--gap)}#crosshair i:nth-child(4){width:10px;height:2px;top:-1px;left:var(--gap)}#hitmarker{background:linear-gradient(var(--hud), var(--hud)) center / 2px 100% no-repeat, linear-gradient(var(--hud), var(--hud)) center / 100% 2px no-repeat;width:22px;height:22px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg);-webkit-mask:radial-gradient(circle,#0000 5px,#000 5.5px);mask:radial-gradient(circle,#0000 5px,#000 5.5px)}#hitmarker.head{--hud:#ffd166}#hitmarker.kill{--hud:var(--bad);width:30px;height:30px}#drone-frame{border:2px solid #78dcff80;border-radius:24px;position:absolute;inset:24px;box-shadow:inset 0 0 120px #2878a059}#drone-lost{text-align:center;color:#ff786e;letter-spacing:.2em;background:repeating-linear-gradient(0deg,#ffffff0d 0 2px,#0000 2px 4px),#0a0c0ee0;place-content:center;gap:8px;font-size:22px;font-weight:700;display:grid;position:absolute;inset:0}#drone-lost small{color:#ffffffb3;letter-spacing:.02em;font-size:13px;font-weight:500}#tags .tag{color:#d7ebff;white-space:nowrap;pointer-events:none;background:#143c6eb3;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;position:absolute;top:0;left:0}#cam-label{color:#a0e6ff;letter-spacing:.06em;white-space:pre;background:#00000080;border-radius:6px;margin:0;padding:4px 12px;font-size:13px;font-weight:600;position:absolute;top:40px;left:50%;transform:translate(-50%)}#drone-frame:after{content:"";border:2px solid #78dcffcc;border-radius:50%;width:36px;height:36px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#vignette{opacity:0;background:radial-gradient(#0000 45%,#b41414d9);position:absolute;inset:0}#hurt-dir{border-top:6px solid var(--bad);border-radius:50%;width:240px;height:240px;position:absolute;top:50%;left:50%}.mark{border:2px solid var(--mark);background:#ff453a4d;width:14px;height:14px;position:absolute;top:0;left:0;rotate:45deg}#objective{color:var(--objective);flex-direction:column;align-items:center;gap:4px;font-size:12px;font-weight:600;display:flex;position:absolute;top:0;left:0}#objective .diamond{border:2px solid var(--objective);width:16px;height:16px;rotate:45deg}#secure{text-align:center;width:260px;font-size:13px;position:absolute;top:62%;left:50%;transform:translate(-50%)}#secure .bar{background:#ffffff40;border-radius:3px;height:6px;margin-top:6px}#secure-fill{background:var(--objective);border-radius:3px;height:100%}#prompt{white-space:nowrap;background:#0006;border-radius:999px;margin:0;padding:6px 14px;font-size:14px;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}#use{letter-spacing:.02em;white-space:pre;background:#00000073;border-radius:6px;margin:0;padding:4px 12px;font-size:13px;font-weight:600;position:absolute;top:calc(50% + 48px);left:50%;transform:translate(-50%)}#feed{justify-items:end;gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid;position:absolute;top:64px;right:20px}#feed li{background:#0006;border-radius:999px;padding:4px 12px;transition:opacity 1s}#feed li.good{color:var(--good)}#feed li.bad{color:var(--bad)}#feed li.fade{opacity:0}.bottom-left{align-items:center;gap:12px;font-size:22px;font-weight:700;display:flex;position:absolute;bottom:24px;left:24px}.health{background:#ffffff40;border-radius:5px;width:220px;height:10px;overflow:hidden}#health-fill{background:var(--hud);height:100%;transition:width .15s}#health-fill.low{background:var(--bad)}.bottom-right{text-align:right;position:absolute;bottom:24px;right:24px}#weapon{font-size:14px;font-weight:600}#weapon-mode{text-transform:uppercase;letter-spacing:.06em;border:1px solid #ffffff80;border-radius:4px;margin-left:4px;padding:1px 6px;font-size:11px}#weapon-other{opacity:.6;font-size:12px}#scope{pointer-events:none;background:linear-gradient(#000000d9,#000000d9) 50%/1px 100% no-repeat,linear-gradient(#000000d9,#000000d9) 50%/100% 1px no-repeat,radial-gradient(circle,#0000 0 calc(min(46vw,46vh)),#000 calc(min(46vw,46vh) + 1px));position:absolute;inset:0}#ammo{font-size:34px;font-weight:700}#ammo.low{color:var(--bad)}#reserve{opacity:.8;font-size:16px}#charges{opacity:.9;font-size:13px}#hints{opacity:.75;white-space:nowrap;margin:0;font-size:12px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}#end.screen .card{text-align:left}#end h2{color:var(--bad);font-size:30px}#end.won h2{color:#2e9d57}#operators{background:linear-gradient(270deg,#0a0e1480,#0000 70%);place-items:center end}.operators-card{width:min(420px,100%)}#operator-list{flex-wrap:wrap;gap:10px;margin:12px 0 16px;padding:0;list-style:none;display:flex}#operator-list button{border-radius:16px;justify-items:center;gap:6px;width:96px;padding:10px 8px;display:grid}#operator-list button[aria-checked=true]{border-color:var(--accent);color:inherit;background:#1f6feb1f}#operator-list .badge{border:3px solid var(--accent-color,var(--accent));background:var(--uniform-color,#555);border-radius:50%;width:44px;height:44px}#operator-list .name{font-size:13px;font-weight:600}#operator-detail .role{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 4px;font-size:12px}#operator-bio{margin:0 0 12px}.meter{vertical-align:middle;gap:3px;display:inline-flex}.meter i{background:var(--line);border-radius:3px;width:14px;height:6px}.meter i.on{background:var(--accent)}#operator-weapons{gap:12px;margin:12px 0 16px;display:grid}.weapon-slot .slot-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:12px;display:block}.weapon-options{gap:8px;display:flex}.weapon-options button{text-align:left;border-radius:12px;flex:1;gap:2px;padding:8px 10px;display:grid}.weapon-options button[aria-checked=true]{border-color:var(--accent);color:inherit;background:#1f6feb1f}.weapon-options .name{font-size:14px;font-weight:600}.weapon-options .pattern{color:var(--muted);font-size:11px}.weapon-stats,.weapon-ability{margin:6px 0 0;font-size:12px}.weapon-stats{color:var(--muted)}.soon{color:var(--muted);margin:0 0 16px;font-size:13px}.coop-card{width:min(460px,100%)}.coop-row{flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0;display:flex}.coop-row input{border:1px solid var(--line);width:9em;color:inherit;font:inherit;letter-spacing:.15em;text-transform:uppercase;background:0 0;border-radius:10px;padding:8px 12px}.coop-card select{border:1px solid var(--line);color:inherit;font:inherit;background:0 0;border-radius:8px;margin-left:4px;padding:6px 8px}.room-code{margin:0;font-size:15px}.room-code strong{letter-spacing:.18em;font-size:22px}.coop-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 6px;font-size:13px;font-weight:600}#coop-players{gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}#coop-players li{border:1px solid var(--line);border-radius:12px;grid-template-columns:1fr auto;gap:2px 10px;padding:8px 12px;display:grid}#coop-players .who{font-weight:600}#coop-players .kit{color:var(--muted);grid-column:1;font-size:12px}#coop-players .ready{color:var(--muted);grid-area:1/2/span 2;align-self:center;font-size:12px}#coop-players li.is-ready{border-color:var(--accent)}#coop-players li.is-ready .ready{color:var(--accent);font-weight:600}.coop-me{flex-wrap:wrap;gap:8px 14px;margin-bottom:12px;font-size:13px;display:flex}#editor{pointer-events:none;position:fixed;inset:0}#editor>*{pointer-events:auto}#editor .card{border-radius:16px;padding:10px;font-size:13px}#editor button,#editor .button{padding:6px 12px}#editor select,#editor input,#editor textarea{box-sizing:border-box;border:1px solid var(--line);color:inherit;font:inherit;-webkit-user-select:text;user-select:text;background:#7f7f7f14;border-radius:8px;padding:5px 8px}#editor-bar{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px;right:12px}#editor-bar .spacer{flex:1}#editor-drafts{max-width:220px}#editor-tools{flex-direction:column;gap:5px;width:176px;max-height:calc(100vh - 140px);display:flex;position:absolute;top:76px;left:12px;overflow-y:auto}#editor-tools h3{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:4px 4px 0;font-size:11px;font-weight:600}#editor-tools>button{text-align:left;border-radius:10px;align-items:center;gap:8px;display:flex}#editor-tools b{background:#7f7f7f2e;border-radius:5px;place-items:center;width:18px;height:18px;font-size:11px;display:inline-grid}#editor-tools .seg{gap:2px;margin:0 0 4px 12px;display:flex}#editor-tools .seg button{border-radius:8px;flex:1;padding:4px;font-size:11px}#editor-tools>select{margin:0 0 4px 12px;font-size:12px}#editor i{border-radius:2px;width:10px;height:10px;margin-right:4px;display:inline-block}#editor i.breakable{background:#4caf7d}#editor i.reinforceable{background:#e0a33a}#editor i.solid{background:#8a8f98}#editor i.attack{background:#3aa0ff;border-radius:50%}#editor i.defend{background:#ff453a;border-radius:50%}#editor i.objective{background:#ffc233;transform:rotate(45deg)scale(.8)}#editor-props{width:260px;max-height:calc(100vh - 140px);position:absolute;top:76px;right:12px;overflow-y:auto}#editor-props h2{margin:2px 0 10px;font-size:16px}#editor-props label{color:var(--muted);grid-template-columns:96px 1fr;align-items:center;gap:8px;margin-bottom:8px;display:grid}#editor-props label.check{grid-template-columns:96px auto}#editor-props input,#editor-props select,#editor-props textarea{width:100%;min-width:0}#editor-props input[type=checkbox]{width:auto}#editor-props textarea{resize:vertical;min-height:52px}#editor-props .row{margin-top:10px}#editor-props ul{background:#ffb40024;border-radius:8px;margin:10px 0 0;padding:8px 8px 8px 24px}#editor-props ul.ok{background:#50c87824;padding-left:8px;list-style:none}#editor-props .note{color:var(--muted);margin:8px 0 0;font-size:12px}#editor-hint{color:#fff;text-align:center;pointer-events:none;background:#0a0e14b3;border-radius:999px;max-width:calc(100vw - 32px);margin:0;padding:8px 14px;font-size:13px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}@media (max-width:720px){#editor-tools{width:150px}#editor-props{width:min(260px,100vw - 186px);max-height:40vh;top:auto;bottom:56px}}#editor-measure{color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#0a0e14bf;border-radius:6px;padding:3px 8px;font-size:12px;position:fixed;top:0;left:0}#share .card,#shared .card{width:min(480px,100%);padding:20px}#share h3,.mine-card h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 6px;font-size:12px;font-weight:600}.share-link{gap:8px;margin:4px 0 8px;display:flex}.share-link input{border:1px solid var(--line);min-width:0;color:inherit;font:inherit;-webkit-user-select:all;user-select:all;background:#7f7f7f14;border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.checks{gap:4px;margin:0 0 14px;padding:0;font-size:13px;list-style:none;display:grid}.checks li{grid-template-columns:18px 1fr;gap:6px;display:grid}.checks li:before{content:"✓";color:#2e9e5b;font-weight:700}.checks li.fail:before{content:"•";color:#d9822b}.checks li.fail{color:var(--text)}.checks li.pending:before{content:"…";color:var(--muted)}#editor-props .checks{background:#7f7f7f14;border-radius:8px;margin-top:10px;padding:8px}#shared-description{white-space:pre-wrap;margin:0 0 12px}.mine-card{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.level-list{gap:8px;margin:0 0 8px;padding:0;list-style:none;display:grid}.level-list li{border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.level-list p{color:var(--muted);margin:2px 0 0;font-size:12px}.level-list .row{flex-wrap:nowrap;gap:6px}.level-list button{padding:6px 12px;font-size:13px}@media (max-width:560px){.level-list li{flex-direction:column;align-items:stretch}}#editor .kit-search{width:100%;margin-bottom:8px}.kit-categories{flex-wrap:wrap;gap:4px;margin-bottom:8px;display:flex}#editor .kit-categories button{padding:3px 9px;font-size:11px}.kit-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}#editor .kit-grid button{border-radius:10px;justify-items:center;gap:2px;padding:4px;font-size:10px;line-height:1.2;display:grid}.kit-grid img{aspect-ratio:1;object-fit:contain;width:100%}.kit-grid span{-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}#editor .kit-grid button[aria-pressed=true]{border-color:var(--accent);color:inherit;background:#1f6feb2e}.finish-grid img{border-radius:8px}.finish-grid .plain{aspect-ratio:1;border:1px dashed var(--line);width:100%;color:var(--muted);border-radius:8px;place-items:center;font-size:22px;display:grid}.finish-row{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;display:flex}.finish-row img{border-radius:5px;width:22px;height:22px}.finish-row span{flex:1}#editor .finish-row button{padding:2px 8px;font-size:11px}#editor-tools .floors{gap:4px;margin-bottom:2px;display:flex}#editor-tools .floors select{flex:1;min-width:0;font-size:12px}#editor-tools .floors button{border-radius:8px;padding:2px 10px}#editor-props .light-presets{gap:4px;margin:-2px 0 8px 104px}#editor-props .light-presets button{padding:2px 8px;font-size:11px}#editor-props input[type=color]{height:28px;padding:2px}.kit-sets{align-items:center;margin-top:-4px}.kit-sets span{color:var(--muted);margin-right:2px;font-size:11px}.rating{margin:0 0 8px;font-weight:600}.stars{color:var(--muted);align-items:center;gap:2px;margin:10px 0 0;display:flex}.stars span{margin-right:6px}.stars .star{color:#e8a317;border:none;padding:0 4px;font-size:22px;line-height:1}.report{gap:8px;margin-top:12px;display:grid}.report select,.report textarea{border:1px solid var(--line);color:inherit;font:inherit;-webkit-user-select:text;user-select:text;background:0 0;border-radius:8px;padding:6px 8px}.tabs{margin-bottom:10px}.moderation li{align-items:flex-start}.settings-card{width:min(560px,100%);max-height:calc(100vh - 32px);overflow-y:auto}.settings-card h3{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:14px 0 6px;font-size:12px;font-weight:600}.setting{grid-template-columns:170px 1fr 56px;align-items:center;gap:10px;margin:6px 0;display:grid}.setting select{border:1px solid var(--line);color:inherit;font:inherit;background:0 0;border-radius:8px;grid-column:2/4;padding:5px 8px}.setting input[type=checkbox]{justify-self:start}.setting output{color:var(--muted);font-variant-numeric:tabular-nums}.keys{grid-template-columns:1fr 1fr;gap:4px 16px;margin:0 0 14px;padding:0;list-style:none;display:grid}.keys li{justify-content:space-between;align-items:center;gap:8px;display:flex}.keys button{font-variant-numeric:tabular-nums;border-radius:8px;min-width:84px;padding:4px 10px}.keys button.waiting{border-color:var(--accent);color:var(--accent)}@media (max-width:560px){.keys,.setting{grid-template-columns:1fr}}.difficulty{align-items:center;gap:6px;margin:12px 0 4px;display:flex}.difficulty span{color:var(--muted);margin-right:4px}.difficulty button{padding:5px 12px}#new-level .card{padding:20px}.templates{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.templates button{text-align:left;white-space:normal;gap:4px;padding:12px;display:grid}.templates button span{color:var(--muted);font-size:12px;line-height:1.35}#coach{width:min(340px,100% - 40px);text-shadow:none;background:#0000008c;border-left:3px solid #ffc233;border-radius:10px;padding:12px 16px;position:absolute;top:64px;left:20px}#coach.next{animation:.35s ease-out coach-in}#coach .coach-step{color:#ffc233;letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}#coach p{margin:6px 0 0;font-size:15px;line-height:1.4}@keyframes coach-in{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){#coach.next{animation:none}}#blueprint{color:#e8f2ff;text-shadow:none;background:#123c66;border:1px solid #b4d6ff80;border-radius:12px;grid-template-rows:auto 1fr auto;gap:8px;padding:14px 16px;display:grid;position:absolute;inset:56px max(16px,50% - 560px) 64px;box-shadow:0 20px 60px #00000080}#blueprint header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;font-size:13px;display:flex}.blueprint-title{letter-spacing:.14em;text-transform:uppercase;font-size:12px;font-weight:700}.blueprint-legend{color:#b9d3f2;flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.blueprint-legend i{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:4px;display:inline-block}.blueprint-legend .me{background:#6ee7ff}.blueprint-legend .team{background:#a3c9ff}.blueprint-legend .marked{background:#ff5a4f}.blueprint-legend .fuse{background:#ffd23f;border-radius:2px}.blueprint-legend .hatch{background:#e0b27a;border-radius:1px}#blueprint svg{width:100%;height:100%;min-height:0}.blueprint-hints{color:#b9d3f2;text-align:center;margin:0;font-size:12px}.plan-drawing .grid line{stroke:#a0c8ff1f;stroke-width:.02px}.plan-drawing .grid line.major{stroke:#a0c8ff3d}.plan-drawing .slab{fill:#ffffff0d;stroke:#dcecff59;stroke-width:.03px}.plan-drawing .prop{fill:none;stroke:#dcecff59;stroke-width:.025px}.plan-drawing .wall{fill:#e8f2ff;stroke:#e8f2ff;stroke-width:.02px}.plan-drawing .wall.reinforceable{fill:#c6dcf5}.plan-drawing .wall.breakable{fill:none;stroke:#e8f2ff;stroke-width:.04px}.plan-drawing .door path,.plan-drawing .window path{fill:none;stroke:#e8f2ff;stroke-width:.03px}.plan-drawing .door .swing{stroke-dasharray:.12 .08;stroke-width:.02px}.plan-drawing .window .glass{stroke:#8fd3ff;stroke-width:.05px}.plan-drawing .stair path{fill:none;stroke:#e8f2ff;stroke-width:.03px}.plan-drawing .stair .tread{stroke-width:.02px}.plan-drawing .stair .walk{stroke-width:.03px;stroke-linejoin:round}.plan-drawing .stair.arriving path{stroke-dasharray:.15 .1;opacity:.6}.plan-drawing .hatch path{fill:#c08a4a40;stroke:#e0b27a;stroke-width:.035px}.plan-drawing .hatch .cross{fill:none;stroke-width:.02px}.plan-drawing .hatch.overhead path{fill:none;stroke-dasharray:.12 .08;opacity:.6}.plan-drawing .fuse rect{fill:#ffd23f}.plan-drawing .fuse .bolt{fill:#123c66}.plan-drawing .fuse-out{fill:none;stroke:#ff5a4f;stroke-width:.1px;stroke-linecap:round}.plan-drawing .breach{fill:#ff5a4f4d;stroke:#ff5a4f;stroke-width:.06px}.plan-drawing .breach.overhead{fill:none;stroke-dasharray:.14 .1;opacity:.8}.plan-drawing .blown{fill:none;stroke:#ff5a4f;stroke-width:.06px;stroke-linecap:round}.plan-drawing .fuse-out.tripped{stroke:#ffb347}.plan-drawing .ink .line{fill:none;stroke-width:.12px;stroke-linecap:round;stroke-linejoin:round}.plan-drawing .objective-area{fill:#ffc23326;stroke:#ffc233;stroke-width:.05px;stroke-dasharray:.2 .12}.plan-drawing .objective{fill:#ffc233}.plan-drawing .marked{fill:#ff5a4f;stroke:#fff;stroke-width:.06px}.plan-drawing .drone{fill:none;stroke:#6ee7ff;stroke-width:.08px}.plan-drawing .me{fill:#6ee7ff;stroke:#fff;stroke-width:.05px}.plan-drawing .team{fill:#a3c9ff;stroke:#fff;stroke-width:.04px}.plan-drawing .pen{fill:none;stroke:#fff;stroke-width:.05px}#hud.planning .bottom-left,#hud.planning .bottom-right,#hud.planning #crosshair{visibility:hidden}.minimap{background:#123c66e0;border:1px solid #b4d6ff66;border-radius:10px;width:220px;height:165px;padding:6px;position:absolute;box-shadow:0 6px 20px #0000004d}.minimap svg{width:100%;height:100%;display:block}#editor-minimap{cursor:crosshair;top:76px;right:284px}#editor-minimap .look{fill:#ffd23f}#editor-minimap .wedge{fill:none;stroke:#ffd23f;stroke-width:.12px;stroke-linejoin:round}#minimap{pointer-events:none;bottom:64px;left:20px}#hud.planning #minimap{visibility:hidden}@media (max-width:900px){#editor-minimap{display:none}#minimap{width:150px;height:112px}}.save-room input{flex:1;min-width:0}.saved-rooms{gap:4px;margin:0 0 12px;padding:0;list-style:none;display:grid}.saved-rooms li{align-items:center;gap:6px;display:flex}.saved-rooms span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}#nv{pointer-events:none;background:radial-gradient(62% 70%,#0000 72%,#000800eb 100%),repeating-linear-gradient(0deg,#00000012 0 1px,#0000 1px 3px);animation:.12s steps(2,end) infinite nv-flicker;position:absolute;inset:0}@keyframes nv-flicker{50%{opacity:.94}}@media (prefers-reduced-motion:reduce){#nv{animation:none}}html.touch .mouse-only,html:not(.touch) .touch-only{display:none!important}html.touch{touch-action:manipulation;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html.touch canvas,#touch{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none}#touch{--tb:calc(56px * var(--tb-scale,1));--edge-l:max(14px, env(safe-area-inset-left));--edge-r:max(14px, env(safe-area-inset-right));--edge-b:max(12px, env(safe-area-inset-bottom));--edge-t:max(10px, env(safe-area-inset-top));pointer-events:none;font:600 calc(11px * var(--tb-scale,1)) / 1.1 system-ui, -apple-system, sans-serif;text-shadow:none;position:absolute;inset:0}#touch .touch-move,#touch .touch-look{pointer-events:auto;position:absolute;bottom:0}#touch .touch-move{width:40%;top:56px;left:0}#touch .touch-look{width:60%;top:0;right:0}#touch.planning .touch-move,#touch.planning .touch-look{display:none}#touch .stick{width:calc(var(--tb) * 2);height:calc(var(--tb) * 2);margin:calc(var(--tb) * -1) 0 0 calc(var(--tb) * -1);opacity:var(--tb-opacity,.7);background:#0f141c40;border:2px solid #fff6;border-radius:50%;position:fixed;top:0;left:0}#touch .stick.sprint{border-color:var(--accent)}#touch .knob{width:var(--tb);height:var(--tb);margin:calc(var(--tb) / -2) 0 0 calc(var(--tb) / -2);background:#ffffff80;border-radius:50%;position:absolute;top:50%;left:50%}#touch .tb{box-sizing:border-box;width:var(--tb);height:var(--tb);color:#fff;font:inherit;text-align:center;opacity:var(--tb-opacity,.7);pointer-events:auto;touch-action:none;background:#0f141c73;border:1.5px solid #ffffff80;border-radius:50%;place-items:center;padding:0;display:grid}#touch .tb.down{background:#fff6}#touch .tb.on{background:var(--accent);opacity:.95;border-color:#0000}#touch .touch-kit .tb,#touch .touch-prep .tb,#touch .tb-context,#touch.planning .tb{width:auto;min-width:calc(var(--tb) * .8);height:calc(var(--tb) * .66);border-radius:999px;padding:0 10px}#touch .touch-top{top:var(--edge-t);left:var(--edge-l);position:absolute}#touch .tb-pause{width:calc(var(--tb) * .72);height:calc(var(--tb) * .72);letter-spacing:-.1em;font-size:1.15em}#touch .touch-fire{right:var(--edge-r);bottom:var(--edge-b);width:calc(var(--tb) * 3.4);height:calc(var(--tb) * 3.2);pointer-events:none;position:absolute}#touch .touch-fire .tb{position:absolute}#touch .tb-fire{right:0;bottom:calc(var(--tb) * .35);width:calc(var(--tb) * 1.55);height:calc(var(--tb) * 1.55);background:#c8281e73;font-size:1.2em}#touch .tb-aim{right:calc(var(--tb) * 1.75);bottom:0}#touch .tb-jump{right:calc(var(--tb) * .25);bottom:calc(var(--tb) * 2.05)}#touch .tb-context{right:calc(var(--tb) * 1.5);bottom:calc(var(--tb) * 1.55);background:var(--accent);opacity:.95;border-color:#0000}#touch .touch-body{right:calc(var(--edge-r) + var(--tb) * 3.55);bottom:var(--edge-b);width:calc(var(--tb) * .85 * 3 + 16px);flex-flow:row-reverse wrap-reverse;align-items:flex-end;gap:8px;display:flex;position:absolute}#touch .touch-body .tb{width:calc(var(--tb) * .85);height:calc(var(--tb) * .85)}#touch .touch-kit{top:calc(var(--edge-t) + 50px);right:var(--edge-r);flex-flow:row-reverse wrap;gap:6px;max-width:64%;display:flex;position:absolute}#touch .touch-prep{bottom:var(--edge-b);position:absolute;left:50%;transform:translate(-50%)}#touch .tb-ready{background:var(--accent);opacity:.95;border-color:#0000}html.touch #hints,html.touch #use{display:none}html.touch #hud .bottom-left{top:max(14px, env(safe-area-inset-top));bottom:auto;left:calc(max(14px, env(safe-area-inset-left)) + 56px);gap:8px;font-size:15px}html.touch #hud .health{width:84px}html.touch #hud .bottom-right{top:max(8px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));grid-template-columns:auto auto;align-items:baseline;column-gap:8px;line-height:1.15;display:grid;bottom:auto}html.touch #hud .bottom-right>:nth-child(n+3){grid-column:1/-1}html.touch #ammo{font-size:22px}html.touch #weapon-other,html.touch #charges{display:none}html.touch #feed{top:calc(max(14px, env(safe-area-inset-top)) + 48px);right:auto;left:max(14px, env(safe-area-inset-left));justify-items:start;max-width:calc(36% - 20px);font-size:12px}html.touch #feed li{white-space:normal}html.touch #prompt{top:30%;bottom:auto}html.touch #coach{width:min(320px,40%);font-size:12px;top:auto;bottom:12px;left:50%;transform:translate(-50%)}html.touch #minimap{left:max(14px, env(safe-area-inset-left));bottom:auto;top:calc(max(14px, env(safe-area-inset-top)) + 48px);width:150px;height:112px}html.touch #blueprint{inset:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) calc(max(12px, env(safe-area-inset-bottom)) + 52px) max(10px, env(safe-area-inset-left));pointer-events:auto;touch-action:none;padding:8px 10px}html.touch #blueprint .blueprint-legend{display:none}#touch.planning .touch-body{width:auto;right:50%;transform:translate(50%)}#touch.planning .touch-kit{top:auto;bottom:var(--edge-b);right:var(--edge-r)}#rotate{z-index:50;text-align:center;background:#0a0e14;place-items:center;padding:24px;display:none;position:fixed;inset:0}@media (orientation:portrait){html.touch.playing #rotate{display:grid}}@media (max-height:560px),(max-width:560px){.screen{overscroll-behavior:contain;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));touch-action:pan-y;flex-direction:column;display:flex;overflow-y:auto}.screen>*{flex-shrink:0;margin:auto}#menu>*{margin-left:0}.card{border-radius:16px;padding:14px 16px}#hud .top{top:max(8px, env(safe-area-inset-top));gap:10px;padding:4px 12px;font-size:12px}#timer{font-size:16px}#viewer-panel{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));overscroll-behavior:contain;touch-action:pan-y;width:min(340px,100% - 20px);max-height:calc(100dvh - 20px);overflow-y:auto}}@media (max-height:560px) and (orientation:landscape){.operators-card{grid-template-rows:auto auto 1fr auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);column-gap:16px;max-height:calc(100dvh - 20px);display:grid}#operators>.operators-card{width:min(680px,100%)}.operators-card>header{grid-column:1/-1}.operators-card #operator-list{grid-column:1;gap:6px;margin:6px 0 8px}.operators-card #operator-list button{gap:4px;width:68px;padding:6px 4px}.operators-card #operator-list .badge{width:30px;height:30px}.operators-card #operator-detail{overscroll-behavior:contain;grid-area:2/2/6;min-height:0;overflow-y:auto}.operators-card .difficulty,.operators-card>.row{grid-column:1}.operators-card>.soon{display:none}}#fps{top:max(44px, calc(env(safe-area-inset-top) + 40px));z-index:40;color:#9ff59f;white-space:nowrap;pointer-events:none;background:#0000008c;border-radius:6px;padding:2px 8px;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;position:fixed;left:50%;transform:translate(-50%)}
