:root{color-scheme:dark;--gold:#e4aa37;--deep:#111922;--panel:#10151de8;--stroke:#435060;--ice:#d6e0e9;--muted:#8192a4}*{box-sizing:border-box}html,body{width:100%;height:100%;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;background:#121b22;color:var(--ice);overflow:hidden}#viewport{width:100vw;height:100vh;position:relative;user-select:none}#game{display:block;width:100%;height:100%;background:linear-gradient(#8ca2b0,#c3c8ba);touch-action:none}.hidden{display:none!important}button{font-family:inherit;color:#d8e4ed;cursor:pointer;border:1px solid #526172;background:#26313b;padding:10px 12px;letter-spacing:.05em;font-weight:800;font-size:11px;text-align:center;transition:background .12s,border-color .12s}button:hover{background:#435161;border-color:#c7d6e6}button:active{transform:translateY(1px)}button.primary{background:#c48d30;border-color:#e5ac3c;color:#1b1a13;text-shadow:0 1px #fff2;font-weight:900}button.primary:hover{background:#ecae36}button.selected,button.tool.active{background:#574629;border-color:var(--gold);color:#f8d891}.wide{width:100%;margin-top:10px}input{width:100%;color:white;background:#080e15;border:1px solid #4d5c69;padding:10px 12px;font-weight:bold;outline:none}input:focus{border-color:var(--gold)}#topbar{z-index:3;position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient(#0b111bdb,#0b111b55);display:flex;align-items:center;padding:0 26px;gap:18px;pointer-events:none}.wordmark{font-size:24px;font-weight:1000;letter-spacing:.06em;color:var(--gold);text-shadow:2px 3px 0 #070c14}.wordmark span{color:#f0f2ee}.wordmark em{font-size:10px;font-style:normal;letter-spacing:.15em;display:block;color:#9eafb9;text-shadow:none;margin-top:-3px}.status{font-size:10px;letter-spacing:.12em;font-weight:900;color:#b5cd8e;border:1px solid #526b4a;padding:7px 9px;margin-left:auto}#viewMode{font-size:12px;letter-spacing:.1em;color:#e6eff9;font-weight:900}#reticle{position:absolute;top:50%;left:50%;width:29px;height:29px;pointer-events:none;transform:translate(-50%,-50%);z-index:2}#reticle i{position:absolute;background:#f8fafb;box-shadow:1px 1px 0 #10141b;width:2px;height:9px}#reticle i:nth-child(1){top:0;left:14px}#reticle i:nth-child(2){bottom:0;left:14px}#reticle i:nth-child(3){width:9px;height:2px;top:14px;left:0}#reticle i:nth-child(4){width:9px;height:2px;top:14px;right:0}#hitflash{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;opacity:0;background:radial-gradient(transparent 42%,#ad25253b 95%);transition:opacity .18s}#playHUD{pointer-events:none}#leftHUD{position:absolute;top:78px;left:25px;font-size:12px;font-weight:800;color:#e9eef4;letter-spacing:.09em;text-shadow:1px 2px #1119}#coord{color:#c9d6df;font-size:10px;margin-top:8px}#weaponHUD{position:absolute;bottom:23px;right:35px;text-align:right;text-shadow:2px 2px 0 #090c10;font-size:18px;font-weight:900}#weaponName{color:var(--gold)}.ammo{font-size:42px;line-height:1.12}.ammo small{font-size:19px;color:#a6b6c7}#weaponHint{font-size:10px;color:#c9d6df;letter-spacing:.06em}#lifeHUD{position:absolute;left:25px;bottom:24px;width:215px;text-shadow:1px 1px #111}.lifeLabel{display:flex;justify-content:space-between;font-size:10px;font-weight:bold;letter-spacing:.1em;margin-bottom:5px}.lifeLabel strong{font-size:14px}.healthTrack{height:10px;background:#321b21;border:1px solid #d2d6da;margin-bottom:12px}.healthTrack>div{height:100%;background:linear-gradient(#cbe678,#88ad45);width:100%}.hint{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;color:#d9e1e9;text-shadow:1px 1px 3px black;letter-spacing:.08em}#editorHUD{pointer-events:none}#editorHUD .panel{pointer-events:auto;background:var(--panel);border:1px solid #4b5869;box-shadow:5px 7px 0 #080e1699;backdrop-filter:blur(6px)}.panelHeading{border-bottom:2px solid #5f4930;background:#1c252f;color:#fff;padding:13px 14px;font-weight:1000;letter-spacing:.1em;font-size:12px}.panelHeading span{color:#e3b75c;font-size:9px;float:right}.panelBody{padding:12px}.panelBody>label,.flexLabel label{display:block;font-size:10px;color:#a9b7c5;font-weight:900;letter-spacing:.12em;margin:0 0 7px}.flexLabel{display:flex;justify-content:space-between}.flexLabel>b{font-size:10px;color:#f7bf58}.toolbarRow{display:flex;gap:5px;margin-top:8px}.toolbarRow button{flex:1;min-width:0;padding:10px 3px}.rule{height:1px;background:#384653;margin:13px 0}.toolGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.tool{font-size:20px;height:51px;padding:4px 2px}.tool small{display:block;font-size:8px;letter-spacing:.02em;margin-top:3px}.paletteFrame{position:relative;outline:1px solid #536471;display:flex;background:#080b10;overflow:hidden}.paletteFrame canvas{width:100%;height:auto;image-rendering:pixelated;cursor:crosshair}.paletteFrame #paletteSelection{pointer-events:none;position:absolute;width:6.25%;height:6.25%;border:2px solid #ffe181;box-shadow:0 0 0 1px #0b0c0a;top:0;left:0}#tileText{font-size:9px;color:#8d9fb0;margin-top:6px}.statline{display:flex;justify-content:space-between;align-items:center;color:#9eb0bd;font-size:10px;font-weight:bold;margin:9px 0}.statline b{color:#e2eaf2}#leftPanel{position:absolute;top:78px;left:17px;width:278px;max-height:calc(100vh - 100px);overflow:auto}#rightPanel{position:absolute;top:78px;right:18px;width:222px}#minimap{width:100%;height:auto;background:#1b2630;border:1px solid #3e5861;image-rendering:pixelated}#editorTip{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);font-size:10px;white-space:nowrap;letter-spacing:.05em;font-weight:900;text-shadow:0 2px 3px #060a0b;background:#101822aa;padding:12px 20px}#centerMessage{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,90vw);background:linear-gradient(#101823ee,#17232fe8);border:1px solid #657481;padding:34px 44px 27px;text-align:center;box-shadow:8px 10px 0 #070c1160}#centerMessage h1{font-size:49px;letter-spacing:.05em;font-weight:1000;color:#f5f7fa;text-shadow:4px 5px 0 #000;margin:0}#centerMessage h1 span{color:var(--gold)}#centerMessage p{font-size:12px;font-weight:bold;letter-spacing:.07em;margin:10px 0 29px;color:#a4b5c4}#centerMessage button{display:block;width:100%;margin-bottom:10px;padding:15px;font-size:13px}.introNotes{font-size:10px;line-height:1.6;color:#a1aeb9;margin-top:25px}.introNotes strong{color:#efbd5f}#toast{position:absolute;z-index:9;pointer-events:none;left:50%;top:80px;transform:translateX(-50%);padding:11px 17px;background:#131b24e8;border:1px solid #d4a94f;color:#f2dfb2;max-width:650px;font-size:12px;white-space:pre-line;opacity:0;transition:opacity .18s}#toast.show{opacity:1}.modal{position:absolute;z-index:8;inset:0;background:#070c14ba;display:flex;align-items:center;justify-content:center}.modalContent{background:#121b25;border:1px solid #697584;width:min(450px,90vw);max-height:70vh;overflow:auto;box-shadow:10px 10px 0 #070c14}.modalContent .panelHeading{display:flex;justify-content:space-between;align-items:center}.modalContent button{padding:8px 10px}#mapList{padding:13px}#mapList button{width:100%;text-align:left;margin:3px 0;padding:13px}#mapList .time{float:right;color:#a0b5c0;font-weight:normal}@media(max-width:950px){#leftPanel{width:235px}#rightPanel{width:190px}.tool{height:45px}.panelBody{padding:9px}.toolbarRow button{font-size:9px}}@media(max-height:760px){#leftPanel{top:61px;max-height:calc(100vh - 70px)}#rightPanel{top:61px}#editorTip{font-size:8px;bottom:6px}#topbar{height:51px}}@media(max-width:670px){#rightPanel{display:none}#editorTip{left:auto;right:0;transform:none;max-width:35vw;white-space:normal;line-height:1.5}#leftPanel{width:235px}}
.pasteBody{padding:14px}.pasteBody p{font-size:11px;line-height:1.55;color:#afc0ce}.pasteBody textarea{width:100%;height:230px;resize:vertical;background:#070e17;color:#e7eef4;padding:12px;font-family:Consolas,monospace;font-size:11px;border:1px solid #536271;outline:none}.pasteBody textarea:focus{border-color:#e4aa37}

.miniHelp{font-size:10px;color:#b0c2d2;line-height:1.5;margin-top:7px;}

/* v0.6: team spawn chooser and half-block shape controls. */
#spawnTeamSelect,#playTeamSelect{width:100%;background:#141d28;color:#e6edf6;border:1px solid #f0474c;padding:9px 10px;font-size:12px;font-weight:800;margin:7px 0 10px;cursor:pointer}
.shapeRow{display:flex;gap:5px;margin:5px 0}.shapeRow button{flex:1;min-width:0;font-size:10px;padding:9px 4px}.teamControls{padding:9px 0;max-width:260px;pointer-events:auto}.teamControls label{font-size:10px;font-weight:900;letter-spacing:1px;color:#e7b654}.teamControls button{margin-left:0;background:#2e3d48;color:#e5edf4}.teamControls select{width:122px;margin:5px 8px 5px 0}#halfHelp{color:#e5ba5f}#leftPanel .panelBody{padding-bottom:35px}

/* v0.7 context-specific tool settings */
.teamChoiceGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}
.teamChoiceGrid button{padding:11px 5px}
.teamChoiceGrid button.selected{border-color:var(--gold);background:#4d432e;color:#fff}
.shapeChoices button{padding:11px 4px}
.toolOptions.hidden{display:none!important}
#triangleCount{color:#efbe5a}

/* v0.8: offline flag-capture match HUD */
#captureHUD{position:absolute;top:246px;left:25px;width:245px;max-height:calc(100vh - 420px);overflow-y:auto;z-index:2;background:#111a25d9;border:1px solid #536373;box-shadow:3px 4px 0 #090c1290;padding:10px;pointer-events:none}
#flagsSummary{font-size:10px;color:#e8c172;font-weight:900;letter-spacing:.06em;border-bottom:1px solid #4a5763;padding-bottom:8px;margin-bottom:8px}
.flagCard{border-left:3px solid #d1a150;background:#26313ba8;padding:6px 7px;margin:6px 0}
.flagHeading{display:flex;justify-content:space-between;font-size:10px;gap:4px;letter-spacing:.02em}
.flagHeading strong{color:#eef4f9}.flagHeading span{font-weight:900}
.flagTrack{margin:6px 0 4px;height:6px;background:#080e17;border:1px solid #475360;overflow:hidden}
.flagTrack>div{height:100%;transition:width .1s linear}
.flagHint{font-size:9px;color:#aec3d4;letter-spacing:.01em}
#captureTip,.noFlags{color:#8fa7ba;font-size:9px;line-height:1.4;padding:5px 0}
@media(max-height:730px){#captureHUD{top:220px;max-height:calc(100vh - 355px)}}
@media(max-width:650px){#captureHUD{width:175px;left:10px;top:205px}}

/* AlmostDead damage-feedback HUD. Health stays at the top of Play Mode. */
#healthHUD{position:absolute;top:66px;left:50%;transform:translateX(-50%);width:clamp(185px,24vw,330px);padding:8px 12px 11px;background:linear-gradient(180deg,#0e141ddf,#0e141d9e);border:1px solid #536474;border-top:2px solid #d4a348;border-radius:3px;text-shadow:1px 2px 2px #000;box-shadow:0 5px 18px #0005;z-index:4;pointer-events:none}
#healthHUD .healthHeading{display:flex;justify-content:center;align-items:baseline;gap:6px;font-size:11px;font-weight:900;letter-spacing:.14em}
#healthHUD .healthHeading strong{font-size:22px;letter-spacing:0;color:#f0f4f4}
#healthHUD .healthUnit{font-size:10px;color:#abb9c6;letter-spacing:0}
#healthHUD .healthTrack{height:12px;margin:5px 0 0;background:#411a1d;border:1px solid #a8b3bf;overflow:hidden}
#healthHUD #healthFill{height:100%;width:100%;background:linear-gradient(90deg,#7bc53b,#b6db5b);transition:width .12s ease-out,background .12s linear}
#damageVignette{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}
#damageVignette .damageZone{position:absolute;opacity:0;will-change:opacity}
#damageVignette .top-left{top:0;left:0;width:49%;height:52%;background:radial-gradient(ellipse at 0% 0%,rgba(250,22,27,.85) 0%,rgba(208,12,21,.42) 24%,transparent 70%)}
#damageVignette .top-right{top:0;right:0;width:49%;height:52%;background:radial-gradient(ellipse at 100% 0%,rgba(250,22,27,.85) 0%,rgba(208,12,21,.42) 24%,transparent 70%)}
#damageVignette .bottom-left{bottom:0;left:0;width:50%;height:58%;background:radial-gradient(ellipse at 0% 100%,rgba(250,22,27,.85) 0%,rgba(208,12,21,.42) 24%,transparent 72%)}
#damageVignette .bottom-right{bottom:0;right:0;width:50%;height:58%;background:radial-gradient(ellipse at 100% 100%,rgba(250,22,27,.85) 0%,rgba(208,12,21,.42) 24%,transparent 72%)}
#damageVignette .left{top:0;left:0;width:28%;height:100%;background:linear-gradient(90deg,rgba(235,14,22,.65),rgba(200,12,19,.24) 38%,transparent)}
#damageVignette .right{top:0;right:0;width:28%;height:100%;background:linear-gradient(270deg,rgba(235,14,22,.65),rgba(200,12,19,.24) 38%,transparent)}
#damageVignette .top-center{top:0;left:24%;width:52%;height:34%;background:radial-gradient(ellipse at 50% 0%,rgba(240,18,22,.72),rgba(215,15,20,.30) 36%,transparent 75%)}
@media(max-height:650px){#healthHUD{top:53px;padding:4px 9px 7px}}

/* AlmostDead v1.3: CSS-customizable workshop and HUD variables */
:root {--hud-accent:#e0b561;--hud-bg:#111b27e6;--hud-text:#edf1f7;--hud-padding:12px;--hud-border:#48586d}
#globalMetrics{position:absolute;z-index:6;top:54px;right:18px;background:var(--hud-bg);color:var(--hud-text);padding:7px 12px;border:1px solid var(--hud-border);font-weight:800;font-size:11px;letter-spacing:.04em;pointer-events:none}
#globalMetrics b{color:var(--hud-accent)}
.workflowTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin:8px 0 15px}.workflowTabs button{font-size:9px;padding:9px 2px}
.shapeChoices{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.shapeChoices button{font-size:9px}
.recentTextures{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px 1px}.recentTextures button{height:35px;background-repeat:no-repeat;border:1px solid #758696;image-rendering:pixelated}.recentTextures button.selected{outline:2px solid var(--gold)}
#colorOptions input[type=color]{width:100%;height:37px}#lightOptions input[type=range],#colorOptions input[type=range]{width:100%;accent-color:#e7b554;margin:8px 0 16px}
#matchHUD{position:absolute;top:118px;left:50%;transform:translateX(-50%);background:#111d28d8;color:#f9e4b7;border:1px solid #536b7e;font-size:14px;font-weight:900;padding:7px 18px;pointer-events:none}
#matchHUD span{padding-left:11px;color:#e7e8ee}
#deathOverlay{position:absolute;z-index:7;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#15070bd4;color:#f5f5f5;pointer-events:auto}#deathOverlay.hidden{display:none}
#deathOverlay h2{font-size:56px;color:#e54b52;letter-spacing:.1em}#deathOverlay p{font-size:16px}
.adPlaceholder{border:1px dashed #6b7787;background:#1b2734bb;color:#8391a2;text-align:center;font-weight:700;font-size:10px;letter-spacing:.07em;padding:30px 12px;margin:22px auto;min-height:92px;max-width:440px}
.wideModal{width:min(590px,96vw)}.wideModal label{display:block;font-size:11px;margin:14px 0 4px;color:#f2c46a}.wideModal select{width:100%;padding:10px;background:#26384a;color:white;border:1px solid #56677b}
#menuRewards{color:#97a7b5;font-size:10px;margin:10px 0}
#dailyWheelBtn:disabled{opacity:.60;cursor:default}

/* AlmostDead v1.4: independent menu, local inventory and keyboard access */
.backToMenu{position:absolute;right:24px;top:90px;z-index:20;background:#293747;color:#f2f5f7;border:1px solid #667481;padding:10px 16px;cursor:pointer;font-weight:700}
.inventoryList{max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:5px}.inventoryEntry{background:#202937;border:1px solid #34455a;padding:9px;color:#dce6ef}
#ownedBoxes button:disabled{opacity:.45;cursor:default}

/* v1.5: editable custom game controls and offline information panels */
.modeChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;padding:10px 0}.modeChoices label{display:block;background:#243345;padding:12px;cursor:pointer;border:1px solid #40566d;border-radius:3px}.modeChoices input{accent-color:#f3bc45;margin-right:8px}.modeChoices label:has(input:checked){outline:2px solid #e9b74a}

/* v1.7 trunk inventory previews, derived from user's Trunk.obj */
.trunkCard{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-width:130px;max-width:190px;padding:8px;gap:4px}
.trunkCard img{display:block;width:128px;height:96px;object-fit:contain}.trunkCard strong{font-size:12px}
@keyframes trunkOpen{0%{transform:translateY(20px) scale(.84) rotate(-7deg);filter:brightness(.6)}45%{transform:translateY(-14px) scale(1.09) rotate(4deg);filter:brightness(1.8)}100%{transform:translateY(0) scale(1) rotate(0);filter:brightness(1)}}
.trunkOpening{animation:trunkOpen .65s ease-out both}

/* v1.8 main menu and secure offline account destinations */
#centerMessage{max-height:92vh;overflow:auto;width:min(640px,94vw);padding:24px 34px}
#centerMessage h1{font-size:clamp(31px,4vw,48px)}
#centerMessage p{margin:8px 0 15px}
#centerMessage button{padding:11px;margin-bottom:7px;font-size:12px}
.menuDivider{border-top:1px solid #3e5064;padding-top:11px;text-align:left;margin:10px 0;color:#dcb968;font-size:11px;font-weight:900;letter-spacing:.18em}
.menuGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#centerMessage .menuGrid button{margin:0}
.offlineNote{padding:13px;color:#c8d4de;background:#27303c;border-left:3px solid #da9a3e;font-size:12px;line-height:1.5}
.linkedRow{display:grid;grid-template-columns:75px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid #3a4656;padding:12px 0;font-size:11px}.linkedRow span{color:#8da1b8}.linkedRow button:disabled,.modal button:disabled{opacity:.48;cursor:not-allowed}
#centerMessage .introNotes{margin-top:11px}

/* v2.1.1: user-approved color-coded map-editor categories. */
.editorCategory{padding:9px 9px 10px;margin:9px 0 11px;border:1px solid #435160;border-left:3px solid #7b8896;background:#121d28c9}
.editorCategory .toolGrid,.editorCategory .shapeChoices{margin:0}
.categoryTitle{font-size:11px;letter-spacing:.12em;font-weight:900;margin:0 0 9px;color:#bac6d4}
.categoryStandard{border-left-color:#8d9caa}
.categoryObjective{border-left-color:#e2ba4a;background:#2c281d83}
.categoryObjective .categoryTitle{color:#f0ca61}
.categorySpecial{border-left-color:#5dcf75;background:#15291f75}
.categorySpecial .categoryTitle{color:#92e0a2}
.categoryFluid{border-left-color:#a486e8;background:#241a34a8}
.categoryFluid .categoryTitle{color:#bda0fa}
.editorCategory button.selected,.editorCategory button.tool.active{border-color:var(--gold)}
.categoryObjective .tool.active,.categoryObjective button.selected{border-color:#ebc453;color:#f7d980;background:#5b4a24}
.categorySpecial .tool.active,.categorySpecial button.selected{border-color:#70d28a;color:#a5f0b5;background:#2c5039}
.categoryFluid button.selected{border-color:#b59af5;color:#e2d3ff;background:#49395d}
.editorCategory button:disabled{opacity:.55;cursor:not-allowed;background:#202735;border-style:dashed}
.editorCategory .planned{display:block;font-size:7px;letter-spacing:.05em;margin-top:3px}

/* External blockout importer */
.importerModal{width:min(670px,94vw);max-height:92vh}.importerModal .panelHeading span{float:none;color:#f7d58e;font-size:12px}.importerModal .pasteBody{padding:17px}.importerSettings label{font-size:11px;color:#ccd5e0;font-weight:800;letter-spacing:.06em}.importerSettings .toolbarRow input[type="range"]{width:80%;flex:1;accent-color:#efb34d}.importerSettings .toolbarRow input[type="number"]{width:84px;flex:none}.importerModal canvas{width:100%;height:auto;max-height:35vh;display:block;background:#101820;image-rendering:pixelated;border:1px solid #657689;margin:12px 0}.importerModal #importSizeReport{color:#e7c87d;font-size:11px;margin-top:10px;line-height:1.6}.importerModal .importerNotice{font-size:11px;color:#b7c8d4;line-height:1.55}.importerModal button:disabled{cursor:not-allowed;opacity:.5}

/* v2.1.4 — explicit, source-image sampled default face-color presets. */
.defaultColorPalette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:8px 0 12px}
.defaultColorPalette button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 2px;font-size:9px;letter-spacing:0;min-width:0;overflow:hidden}
.defaultColorPalette button .presetSwatch{height:25px;width:90%;border:1px solid #9aa7b4;border-radius:3px;box-shadow:inset 0 0 0 1px #0003}
.defaultColorPalette button[aria-pressed="true"]{outline:2px solid #f1c459;outline-offset:-2px;border-color:#f1c459}

/* v2.1.5 combat congratulations and transparent score tally */
#combatCongratulations{position:fixed;top:26%;left:50%;transform:translateX(-50%) scale(.9);z-index:49;font-size:clamp(24px,4vw,54px);font-weight:900;color:#ffd66b;text-shadow:0 3px 0 #471f09,0 0 18px #ba4b03;opacity:0;pointer-events:none;text-align:center;transition:opacity .16s,transform .16s}
#combatCongratulations.active{opacity:1;transform:translateX(-50%) scale(1)}
#matchAwardsSummary{max-width:500px;margin:12px auto;padding:10px;border:1px solid #52626e;background:#101922df;display:grid;gap:6px;line-height:1.3;font-size:13px;text-align:left;max-height:38vh;overflow:auto}
.weaponProgress{max-height:180px;overflow:auto;min-width:260px}

.combatScoreHud{position:absolute;top:83px;right:22px;background:#090f19d9;border:1px solid #5a6f84;border-radius:4px;padding:5px 9px;font-size:12px;font-weight:700;pointer-events:none;z-index:5;color:#e4ecfa}

/* v2.1.7 accessibility and material sound selection */
.materialSoundChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.materialSoundChoices button{min-width:0;padding:9px 3px;font-size:11px}
.materialSoundChoices button.selected{border-color:#e9be60;background:#4e422a;color:#ffdc8e}
.materialAudioSettings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 0 22px}
.audioToggle{display:flex;align-items:center;gap:6px;background:#272e36;border:1px solid #57616b;border-radius:3px;padding:7px 6px;font-size:12px;color:#e7eef8}
.audioToggle input{accent-color:#ddb86d;width:16px;height:16px}
.colorblindAssist #game{filter:contrast(1.28) saturate(.78)}
.colorblindAssist .tool.active,.colorblindAssist .shapeChoices button.selected,.colorblindAssist .selected{outline:2px dashed #f9e765;outline-offset:-3px}

.workflowTabs{grid-template-columns:repeat(5,minmax(0,1fr))}

/* v2.1.8: weapon spawn preview and tech status */
#pickupStatus{position:absolute;left:50%;bottom:19%;transform:translateX(-50%);padding:.55rem .85rem;background:#081522d9;border:1px solid #6fa5d0;border-radius:6px;color:#e2f6ff;font:600 13px monospace;pointer-events:none;white-space:nowrap;z-index:7}#pickupStatus.hidden{display:none!important}
#techStatus{position:absolute;right:15px;bottom:92px;background:#071b22d0;border:1px solid #38616b;padding:6px 9px;color:#b4efdb;font:600 11px monospace;pointer-events:none;z-index:5}
#weaponSpawnOptions input{min-width:76px;width:95px;background:#12222b;color:#e8e8e8;border:1px solid #506377;border-radius:3px;padding:4px}

#localRadar{position:absolute;right:15px;top:85px;padding:5px;background:#071b22dc;border:1px solid #38616b;color:#aacbcc;font:10px monospace;text-align:center;pointer-events:none;z-index:4}#localRadarCanvas{display:block;width:120px;height:120px} 

/* v2.2.3 equipment HUD — faded in inactivity; brightens when switching */
#rotarySelector{position:absolute;top:60px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:12;opacity:.10;transition:opacity .25s ease;pointer-events:auto;max-width:min(96vw,900px)}
#rotarySelector.rotaryActive,#rotarySelector:hover{opacity:1}
#rotarySelector button{border:1px solid #526a73;background:#101e27d9;color:#edf7f6;border-radius:6px;font-size:10px;padding:7px;min-width:75px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
#rotarySelector button.rotarySelected{background:#255066;border-color:#91e7f8;color:#fff;box-shadow:0 0 12px #52cde36e}

/* v2.2.7 unified AlmostDead jade UI (approved palette). */
:root{--gold:#9FDA8A;--deep:#0F1712;--panel:#16221AF2;--stroke:#35523C;--ice:#D7F5CF;--muted:#9FBEA0}
html,body{background:#0F1712;color:#D7F5CF}
button{background:#1D2C21;color:#D7F5CF;border-color:#35523C}
button:hover{background:#35523C;border-color:#B6E8A8}
button.primary{background:#7CCB6B;border-color:#9FDA8A;color:#0F1712}
button.primary:hover{background:#9FDA8A}
button.selected,button.tool.active{background:#35523C;border-color:#9FDA8A;color:#D7F5CF}
.panelHeading{background:#16221A;border-bottom-color:#35523C;color:#D7F5CF}
#editorHUD .panel,.modalContent{background:#16221Af2;border-color:#35523C}
#topbar{background:linear-gradient(#0F1712ee,#0F171244)}
#centerMessage{background:linear-gradient(#0F1712f5,#16221Af0);border-color:#35523C}
#toast{background:#16221Af0;border-color:#9FDA8A;color:#D7F5CF}
#rotationSnapBtn,#editorPlacementMode,#editorGravityMode{border-color:#7CCB6B}
#adGraphicsCard,#ambientSoundMixer{background:#16221A;border:1px solid #35523C;padding:11px;margin-top:10px}
#adGraphicsCard select,#ambientSoundMixer select{width:100%;background:#1D2C21;color:#D7F5CF;padding:7px;border:1px solid #35523C}
#adGraphicsCard label,#ambientSoundMixer label{font-size:11px;color:#B6E8A8;display:block;margin:8px 0}
#adGraphicsCard button,#ambientSoundMixer button{margin:5px 0}
.ambLayer{display:grid;grid-template-columns:20px 130px 1fr 22px;align-items:center;gap:6px;margin:3px 0}
.ambLayer input[type=checkbox]{width:auto}
.ambLayer input[type=range]{width:100%}

#ambientSoundMixer{position:absolute;z-index:14;right:235px;top:67px;width:400px;max-height:calc(100vh - 82px);overflow-y:auto;pointer-events:auto;box-shadow:0 10px 30px #0009}
#ambientSoundMixer h3{color:#9FDA8A;font-size:13px}
#ambientSoundMixer input{box-sizing:border-box}

/* v2.2.8 material and fixture controls */
#workflowTabs{display:flex;flex-wrap:wrap;gap:4px}#workflowTabs button{flex:1 1 85px;min-height:36px}
#focusedBlockMenu{max-height:78vh;overflow:auto;min-width:300px;max-width:420px}
#focusedLightSettings{border:1px solid #35523c;margin:10px 0;padding:8px}#focusedLightSettings legend{font-size:12px;color:#9fda8a}
#focusedBlockMenu input[type=number],#focusedBlockMenu select{max-width:150px}
#finishOptions button.selected{border-color:#9fda8a;color:#9fda8a;background:#25382a}
#emissiveOptions input{width:100%}#closeFocusedSettings{border-color:#9fda8a}
/* v2.2.12: AlmostDead HUD and interaction feedback. */
:root{--hud-accent:#9FDA8A;--hud-secondary:#1A1A19}
body.playing #topbar{height:47px;background:linear-gradient(#101312e8,#10131233)}
body.playing .wordmark{color:var(--hud-accent);font-size:20px}
#healthHUD{top:54px;width:320px;padding:7px 15px 10px;background:linear-gradient(120deg,#171b19eb,var(--hud-secondary));border-color:var(--hud-accent);border-top:3px solid var(--hud-accent);clip-path:polygon(3% 0,97% 0,100% 22%,97% 100%,3% 100%,0 22%)}
#healthHUD .healthHeading{font-size:10px;letter-spacing:.2em}#healthHUD .healthHeading strong{font-size:21px}#healthHUD .healthTrack{height:10px;border-color:#e3ecdf77}
#rotarySelector{top:130px;left:50%;width:430px;height:124px;transform:translateX(-50%);display:block;max-width:none;pointer-events:none;z-index:7;opacity:.10}
#rotarySelector button{position:absolute;width:82px;height:66px;min-width:0;max-width:none;border-radius:8px;border-color:#71816c;background:linear-gradient(145deg,#1b211ff0,var(--hud-secondary));padding:5px 3px;color:#e6eee3;white-space:normal;line-height:1.1;overflow:hidden;pointer-events:none}
#rotarySelector button:nth-child(1){left:0;top:54px}#rotarySelector button:nth-child(2){left:87px;top:14px}#rotarySelector button:nth-child(3){left:174px;top:0}#rotarySelector button:nth-child(4){left:261px;top:14px}#rotarySelector button:nth-child(5){left:348px;top:54px}
#rotarySelector svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
#rotarySelector small{display:block;font-size:8px;font-weight:700;letter-spacing:0;line-height:1.2}
#rotarySelector button.rotarySelected{background:var(--hud-secondary);border:2px solid var(--hud-accent);color:var(--hud-accent);box-shadow:0 0 13px #9fda8a30}
#rotarySelector.rotaryActive,#rotarySelector.radialOpen{opacity:1}
#rotarySelector.radialOpen{top:50%;transform:translate(-50%,-50%) scale(1.25);pointer-events:auto;z-index:10}
#rotarySelector.radialOpen:before{content:'SELECT EQUIPMENT · RELEASE ALT';position:absolute;top:-35px;width:100%;text-align:center;color:var(--hud-accent);font-size:11px;letter-spacing:.14em;text-shadow:0 2px 4px #000}
#rotarySelector.radialOpen button{pointer-events:auto}#rotarySelector .radialHover{outline:2px solid var(--hud-accent);background:#394a37;color:white}
#weaponHUD #weaponName{color:var(--hud-accent)}#hudTheme{width:100%;padding:10px;margin:8px 0 16px;background:#18201c;color:#e4eddf;border:1px solid #789770}
#explosionHaze{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0}#explosionHaze.blast{animation:blast-haze .6s linear forwards}
@keyframes blast-haze{0%{background:#fff083;opacity:.94}28%{background:#ff941e;opacity:.9}62%{background:#ef3020;opacity:.8}100%{background:#be1818;opacity:0}}
#damageVignette.poisonDamage:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,transparent 48%,#6fcf2766 84%,#5ba91dc0 100%);pointer-events:none;animation:poison-edge 1s linear forwards}
@keyframes poison-edge{0%,30%{opacity:1}100%{opacity:0}}
#radialPicker{pointer-events:auto;z-index:14}
@media(max-width:700px){#rotarySelector{transform:translateX(-50%) scale(.76);transform-origin:top center}#rotarySelector.radialOpen{transform:translate(-50%,-50%) scale(.9)}#healthHUD{width:260px}}

/* v2.2.13: actual block previews with subordinate names. */
.shapeChoices .blockChoice,#radialPicker .blockChoice{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;padding:5px 3px 7px;min-height:104px;overflow:hidden;background:#192825;}
.blockChoice img{display:block;width:100%;height:76px;object-fit:contain;pointer-events:none;image-rendering:auto;}
.shapeChoices .blockChoice small,#radialPicker .blockChoice small{font-size:9px;line-height:1.25;letter-spacing:.25px;text-align:center;font-weight:650;text-transform:none;overflow-wrap:anywhere;}
.shapeChoices .blockChoice.selected{background:#2b4134;border-color:#9fda8a;box-shadow:inset 0 0 0 1px #9fda8a;}
#radialPicker .blockChoice{width:90px;min-height:94px;}#radialPicker .blockChoice img{height:65px;}
.blockChoice:focus-visible{outline:2px solid #9fda8a;outline-offset:2px;}

.radarWrap{position:relative;width:192px;margin:auto}.radarWrap #sketchMapBtn{position:absolute;right:5px;bottom:5px;font-size:22px;width:32px;height:32px;padding:0;line-height:1;background:#25362b;border:1px solid #9fda8a;color:#cceabc;border-radius:4px}.sketchDialog{width:min(620px,96vw);max-height:94vh;overflow:auto}.sketchDialog .pasteBody{padding:16px}.sketchHelp{font-size:12px;line-height:1.5}#sketchCanvas{display:block;width:min(512px,100%);height:auto;aspect-ratio:1;image-rendering:pixelated;touch-action:none;border:1px solid #63716a;cursor:crosshair;margin:12px auto}#sketchCount{font-size:11px;color:#b3c7b9}.sketchCoordinates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.sketchCoordinates input{width:100%;box-sizing:border-box}#sketchStatus{font-size:12px;min-height:2em;color:#cddbcf}

#scoreboard{position:fixed;inset:0;z-index:1000;display:flex;justify-content:center;align-items:flex-start;padding:8vh 20px;pointer-events:none;background:#080c1080}.scoreboardCard{width:min(850px,96vw);background:#19211ff2;border:1px solid #718b70;padding:24px;border-radius:8px;color:#ddebd7;box-shadow:0 14px 55px #0008}.scoreboardCard h2{font-size:18px;letter-spacing:2px}.scoreboardCard table{width:100%;border-collapse:collapse;font-size:13px}.scoreboardCard th,.scoreboardCard td{padding:9px 7px;text-align:right;border-bottom:1px solid #52604e}.scoreboardCard th:first-child,.scoreboardCard td:first-child{text-align:left}.scoreboardCard tr.self{background:#9fda8a19;color:#c7f1b4}.scoreboardCard small{font-size:10px;color:#a0aca3}

/* STREAMER is presentation-only; report target IDs stay in closures, never visible labels. */
.streamerMode #worldChatModal,.streamerMode #worldChatBtn,.streamerMode [data-game-chat],.streamerMode [data-player-id]{display:none!important;}
.viewingCamera #editorHUD,.viewingCamera #playHUD,.viewingCamera #reticle,.viewingCamera #hitflash,.viewingCamera #quickColors{display:none!important}
#cameraViewHUD{position:absolute;inset:0;z-index:7;pointer-events:none;box-shadow:inset 0 0 0 3px #9fda8a60}
#cameraViewHUD .cameraFeedBar{position:absolute;top:68px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:12px;background:#18231df0;border:1px solid #9fda8a;pointer-events:auto}
#cameraFeedName{display:block;max-width:32ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#c9efbb;font-size:15px}
#cameraFeedStatus{display:block;margin-top:4px;color:#c0cec2;font-size:10px;letter-spacing:.06em}
#cameraViewHUD button{min-height:38px;white-space:nowrap}
.cameraFeedTip{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:8px 14px;background:#18231de8;color:#ddefd8;font-size:12px;white-space:nowrap}
#cameraManager input,#cameraManager select{width:100%;margin:5px 0 13px}
#cameraOptions input{width:100%}

/* Map presentation: loading closes automatically; no in-match camera controls. */
.loadingMap #editorHUD,.loadingMap #playHUD,.loadingMap #reticle,.loadingMap #centerMessage,.loadingMap #toast{display:none!important}
#mapLoadingScreen{position:absolute;inset:0;z-index:22;pointer-events:auto;background:linear-gradient(transparent 45%,#101711ed)}
.mapLoadingCard{position:absolute;bottom:9%;left:7%;right:7%;color:#edf6e8;text-shadow:0 2px 4px #000}
.mapLoadingCard small{color:#9fda8a;letter-spacing:.22em;font-weight:700}
.mapLoadingCard h2{font-size:clamp(24px,4vw,42px);margin:12px 0}
.mapLoadingCard p{font-size:14px}
.savedMapThumbnail{display:block;width:100%;max-width:320px;aspect-ratio:16/9;object-fit:cover;margin:0 0 8px;border:1px solid #526c52}

#crashReportModal{z-index:10000;background:rgba(0,0,0,.88)}
#crashReportText{width:100%;box-sizing:border-box;min-height:240px;max-height:55vh;font:12px/1.5 monospace;white-space:pre;resize:vertical;user-select:text}
#spawnProtectionHud{position:absolute;top:92px;left:50%;transform:translateX(-50%);color:#9fda8a;font:600 12px monospace;text-shadow:0 1px 3px #000;pointer-events:none}
#lanManualConnect:not(.hidden){display:block;padding:12px;color:#9fda8a}

/* Editor controls occupy an explicit overlay instead of flowing below the canvas. */
#editorHUD{position:absolute;inset:0;pointer-events:none;--editor-panel-top:225px}
#editorQuick{position:absolute;top:60px;left:16px;right:16px;z-index:10;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;padding:8px;background:#1a1a19ed;border:1px solid #51704f;box-shadow:0 6px 18px #0005;pointer-events:none}
#editorQuick button{min-height:31px;padding:6px;font-size:10px;letter-spacing:.02em}
#editorHint{grid-column:1/-1;text-align:center;color:#c3d8bc;font-size:9px;line-height:1.4;letter-spacing:.03em}
.editorAltDown #editorQuick,.editorPaused #editorQuick{pointer-events:auto;border-color:#9fda8a}
#editorQuick .backToMenu{position:static;z-index:auto;font-size:10px;padding:6px;background:#25352a}
#editorHUD #leftPanel,#editorHUD #rightPanel{top:var(--editor-panel-top);max-height:calc(100vh - var(--editor-panel-top) - 45px);overflow:auto}
#editorHUD #rightPanel{width:222px}
#editorTip{max-width:calc(100vw - 40px);white-space:normal;text-align:center;bottom:6px;padding:6px 12px;line-height:1.4;font-size:9px}
#quickColors{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;margin:10px 0}
#quickColors button{height:25px;min-width:0;padding:0;border:1px solid #8b9e88}
#quickColors button:hover{outline:2px solid #d7f5cf}
#focusedBlockMenu{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:16;width:min(420px,94vw);min-width:0;padding:18px;background:#1a1a19f5;border:1px solid #9fda8a;pointer-events:auto;box-shadow:0 14px 50px #0009}
#focusedBlockMenu label{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:8px 0;font-size:12px}
#focusedBlockMenu input[type=checkbox]{width:auto}
#radialPicker{position:absolute;inset:0;z-index:30;background:#090d0c99;pointer-events:auto}
.radialWheel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(590px,94vw,90vh);aspect-ratio:1;border:1px solid #9fda8a55;border-radius:50%;background:radial-gradient(circle,#1a1a19f5 24%,#223328b8 25%,#17231fe8 68%,#1a1a19c0 69%);box-shadow:0 18px 60px #0007}
.radialCenter{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:32%;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center;pointer-events:auto}
.radialCenter strong{font-size:13px;letter-spacing:.08em;color:#c4ecb4}
.radialCenter small{font-size:10px;line-height:1.4;color:#c0d2ba}
.radialCenter button{padding:5px 10px;font-size:10px}
.radialPager{display:flex;gap:10px}.radialPager button{font-size:22px;line-height:1}
#radialPicker .radialItem{position:absolute;transform:translate(-50%,-50%);width:18%;height:19%;min-height:0;padding:5px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;border-radius:8px;background:#1a1a19;border:1px solid #688064}
#radialPicker .radialItem img{height:70%;width:100%;object-fit:contain}
#radialPicker .radialItem small{font-size:9px;line-height:1.2;max-width:100%;overflow-wrap:anywhere;letter-spacing:0}
#radialPicker .radialItem.radialHover,#radialPicker .radialItem:focus-visible{background:#38523d;outline:2px solid #9fda8a;color:#fff}
.radialSwatch{display:block;width:72%;aspect-ratio:1;min-height:0;max-height:65%;border-radius:4px;border:1px solid #a6b3a2;image-rendering:pixelated}
#rotarySelector.radialOpen{width:min(430px,85vw,75vh);height:auto;aspect-ratio:1;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid #9fda8a88;background:#1a1a19e8;box-shadow:0 0 0 100vmax #080c0b88}
#rotarySelector.radialOpen button{width:22%;height:20%;transform:translate(-50%,-50%)}
#rotarySelector.radialOpen button:nth-child(1){left:50%;top:15%}
#rotarySelector.radialOpen button:nth-child(2){left:83%;top:39%}
#rotarySelector.radialOpen button:nth-child(3){left:70%;top:78%}
#rotarySelector.radialOpen button:nth-child(4){left:30%;top:78%}
#rotarySelector.radialOpen button:nth-child(5){left:17%;top:39%}
#rotarySelector.radialOpen:before{top:45%;left:29%;width:42%;font-size:11px;line-height:1.5}
@media(min-width:1700px){#editorQuick{grid-template-columns:repeat(11,minmax(0,1fr))}#editorHUD{--editor-panel-top:180px}}
@media(max-width:900px){#editorQuick{grid-template-columns:repeat(4,minmax(0,1fr))}#editorHUD{--editor-panel-top:270px}#editorQuick button{font-size:9px}#editorHint{font-size:8px}}
@media(max-height:650px){#editorQuick{top:49px}#editorHUD{--editor-panel-top:214px}.radialCenter{gap:3px}.radialCenter strong{font-size:11px}.radialCenter small{font-size:8px}.radialCenter button{padding:3px 7px}#radialPicker .radialItem small{font-size:8px}}
@media(max-height:650px) and (max-width:900px){#editorHUD{--editor-panel-top:259px}}
.categoryTitle .categoryToggle{display:block;width:100%;border:0;background:transparent;padding:0;color:inherit;font-size:inherit;letter-spacing:inherit;text-align:left;line-height:1.5}
.categoryTitle .categoryToggle:hover{color:#d7f5cf;background:#9fda8a12}

/* Combat draft: top health, confirmed hit feedback and held scopes. */
body.playing #healthHUD{top:18px;width:min(440px,44vw);padding:8px 19px 13px;border:1px solid var(--hud-accent);border-top:3px solid var(--hud-accent);background:linear-gradient(120deg,#18201df2,var(--hud-secondary));box-shadow:0 4px 22px #0009;z-index:6}
#healthHUD .healthTrack{position:relative;height:17px;margin-top:6px;background:#251d21;border:1px solid #e8f3e099;box-shadow:inset 0 0 7px #0008}
#healthHUD .healthTrack>div{position:absolute;inset:0 auto 0 0;width:100%;height:100%}
#healthHUD #healthTrail{background:#fff0b3;transition:width .22s ease-out}
#healthHUD #healthFill{background:linear-gradient(90deg,#79c842,#c1ee73);box-shadow:inset 0 2px #ffffff55;transition:width .12s ease-out}
#healthHUD .healthTrack:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(10% - 1px),#151a1966 calc(10% - 1px),#151a1966 10%);pointer-events:none}
#outgoingHit{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#f4f8ed;opacity:0;z-index:6;text-align:center;pointer-events:none;text-shadow:0 2px 4px #000;font-weight:900}
#hitSymbol{font-size:42px;line-height:1}#hitAmount{position:absolute;top:43px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:13px;letter-spacing:.06em}
#outgoingHit.headshot{color:#ffe07c}#outgoingHit.elimination{color:#ff7771}#outgoingHit.active,#incomingHit.active{opacity:1}
#incomingHit{position:absolute;top:99px;left:50%;transform:translateX(-50%);opacity:0;color:#ff8075;font-size:18px;font-weight:900;text-shadow:0 2px 5px #000;pointer-events:none;z-index:6}
#scopeOverlay{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3;display:flex;align-items:center;justify-content:center}
.scopeLens{position:relative;width:72vmin;height:72vmin;border:3px solid #141817;border-radius:50%;box-shadow:0 0 0 200vmax #040807f5,inset 0 0 35px #01060677}
.scopeLens i,.scopeLens b{position:absolute;background:#17211af0}.scopeLens i{height:1px;left:0;right:0;top:50%}.scopeLens b{width:1px;top:0;bottom:0;left:50%}.scopeLens:after{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:#da5748;top:50%;left:50%;transform:translate(-50%,-50%)}
#reticle.scopeHidden{opacity:0}
@media(max-width:900px){body.playing #healthHUD{top:51px;width:min(350px,54vw)}#incomingHit{top:133px}#rotarySelector:not(.radialOpen){top:149px}}

.mirrorControls{flex-wrap:wrap;gap:6px}.mirrorControls label{display:flex;gap:4px;align-items:center;font-size:10px}.mirrorControls input{width:66px}.mirrorControls select{width:auto;max-width:112px}

#crownHUD{position:absolute;top:145px;left:50%;transform:translateX(-50%);background:#20231eee;color:#f5cf65;padding:8px 14px;border:1px solid #bfa14e;pointer-events:none}#objectiveSettings{margin:16px 0;padding:12px;border:1px solid #637361}#objectiveSettings label{display:block;margin:10px 0}#customModeStatus{color:#ffae9a}

.hubContent{width:min(980px,95vw);max-height:90vh;overflow:auto}.hubTabs{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.hubTabs .selected{border-color:var(--hud-accent);color:var(--hud-accent)}.hubContent label{display:block;margin:12px 0}.hubContent input[type=text]{max-width:350px}#creativeCanvas{width:256px;height:256px;touch-action:none;image-rendering:pixelated;border:1px solid #9fda8a;background:repeating-conic-gradient(#323832 0 25%,#222822 0 50%) 0/16px 16px}.draftTools{display:inline-block;vertical-align:top;padding:0 18px}.draftTools button{display:block;margin:8px 0}#menuCharacterStage{position:absolute;right:4vw;top:18vh;width:34vw;height:65vh;pointer-events:none;z-index:2}#characterPreview{width:100%;height:100%;object-fit:contain}#creativePreviewArea{width:360px;height:360px;max-width:80vw;margin:8px auto}#centerMessage{z-index:3}#streamBrand{position:fixed;right:20px;top:75px;z-index:12;display:flex;align-items:center;gap:10px;pointer-events:none;background:#151d19bb;padding:8px 12px;border-radius:4px}#streamBrandLogo{width:56px;height:56px;object-fit:contain}#streamTraceOverlay{position:fixed;right:18px;bottom:10px;z-index:15;font:11px monospace;opacity:.7;pointer-events:none}#streamWatermarkOverlay{position:fixed;inset:45% 0 auto;text-align:center;font:clamp(16px,3vw,42px) monospace;opacity:.13;z-index:14;pointer-events:none;transform:rotate(-18deg)}#localProfileText{white-space:pre-wrap;line-height:1.7}@media(max-width:1000px){#menuCharacterStage{right:0;width:27vw;opacity:.55}}

.creatorSubmissionPanel{margin-top:18px;padding:16px;border:1px solid #4e7668;background:#15251f;border-radius:8px}.creatorSubmissionPanel p{max-width:80ch;line-height:1.5}.creatorSubmissionPanel li{display:flex;align-items:center;gap:12px;margin:8px 0}.creatorSubmissionPanel img{image-rendering:pixelated;background:#303735}.creatorSubmissionPanel input,.creatorSubmissionPanel select{max-width:220px}.creatorSubmissionPanel button:disabled{opacity:.45;cursor:not-allowed}

/* Custom scenario authoring and linked player profiles. */
#scenarioSettings {margin:14px 0;padding:12px;border:1px solid #536c60;text-align:left;}
#scenarioSettings summary {cursor:pointer;font-weight:700;color:#b5e4c7;}
#scenarioSettings label,#accountProfilePanel label {display:block;margin:8px 0;}
#scenarioSettings input:not([type=checkbox]),#scenarioSettings select,#accountProfilePanel input,#accountProfilePanel select {width:100%;max-width:100%;}
.scenarioGrid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
#scenarioSettings .channelChecks {display:flex;flex-wrap:wrap;gap:16px;}
#scenarioSettings .channelChecks label {display:inline-flex;gap:4px;align-items:center;}
#scenarioRules li {margin:10px 0;display:flex;gap:10px;align-items:center;justify-content:space-between;}
#scenarioRules span {overflow-wrap:anywhere;}
#customGameModal .modalContent {max-height:90vh;overflow:auto;}
#deathrunHUD {position:absolute;top:265px;left:50%;transform:translateX(-50%);background:#18241ee8;border:1px solid #9fda8a;padding:8px 16px;max-width:75vw;text-align:center;color:#d8f2e0;pointer-events:none;}
#accountProfilePanel {border-bottom:1px solid #536c60;}

#customGameModal {z-index:20;}
#scenarioSettings label:has(> input[type=checkbox]) {display:flex;gap:8px;align-items:center;}
#scenarioSettings label > input[type=checkbox] {width:auto;}

#accountProfilePanel details{margin:16px 0;border-top:1px solid #51665b;padding-top:12px}#accountProfilePanel summary{cursor:pointer;color:#b9efcd;font-weight:700}#accountProfilePanel label{display:block;margin:8px 0}#accountProfilePanel label input[type=checkbox]{width:auto}.accountChatLog{max-height:280px;overflow:auto;padding-left:24px;overflow-wrap:anywhere}.accountChatLog li{padding:8px;border-bottom:1px solid #43594f}.accountChatLog small{display:block;color:#a7c4b3}.accountChatLog p{white-space:pre-wrap;margin:4px 0}#accountLoanList li{margin:12px 0;overflow-wrap:anywhere}#worldMessage{width:95%;background:#17221e;color:#e7f5eb}#accountProfilePanel input,#accountProfilePanel select{max-width:100%}
/* Channel devices */
#devicePlacement,#deviceProperties{margin:8px 0;border:1px solid #49756a;border-radius:6px;padding:8px;font-size:11px}#devicePlacement label,#deviceProperties label{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0}#devicePlacement input,#deviceProperties input{max-width:90px}#devicePlacement .hidden,#deviceProperties .hidden{display:none}.deviceHint{position:fixed;left:50%;top:58%;transform:translateX(-50%);padding:8px 14px;background:#15251fe6;color:#afffd2;border:1px solid #84c7a4;border-radius:5px;pointer-events:none;z-index:40}.signalCard{background:#15211f;padding:24px;border:1px solid #84c7a4;border-radius:10px;min-width:280px;color:#e0f2e9}.signalCard input{display:block;width:100%;margin:16px 0;padding:10px;font-size:22px;letter-spacing:4px}.signalCard button{margin-right:10px;padding:10px}#keypadModal{z-index:200;display:flex;align-items:center;justify-content:center}#keypadModal.hidden{display:none}

/* Keybinds (20 Oct 2026) */
.keybindGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 14px}.keybindRow{display:flex;align-items:center;gap:6px}.keybindRow span{flex:1;font-size:12px}.keybindRow button{min-width:74px;padding:3px 6px}.keybindRow .keybindReset{min-width:0;opacity:.7}.keybindRow .customKey{outline:1px solid currentColor}.keybindSettings h4{margin:10px 0 4px;font-size:12px;letter-spacing:.08em}.keybindMsg{min-height:1em;font-size:12px}
.keybindPresets{display:flex;gap:8px;margin:6px 0}.keybindSettings h5{margin:8px 0 3px;font-size:11px;opacity:.8;letter-spacing:.08em}.keybindRow .secondaryKey{opacity:.85}.keybindDup{font-size:12px;color:#f3c969}
/* Main menu backdrop (20 Oct 2026): the menu is not shown inside the map. */
body.menuBackdrop{background:radial-gradient(ellipse at 50% 30%,#26332c 0%,#141a17 55%,#0b0e0d 100%)}
body.menuBackdrop #game{visibility:hidden}
body.menuBackdrop #globalMetrics{display:none}
/* Kill feed */
#killFeed{position:fixed;top:244px;right:18px;z-index:30;display:flex;flex-direction:column;align-items:flex-end;gap:3px;pointer-events:none;font-size:13px}
.killFeedRow{background:rgba(12,16,14,.72);border:1px solid rgba(159,218,138,.25);padding:3px 8px;color:#e8f2ea}
.killFeedRow.self{border-color:#9fda8a}
.killFeedWeapon{color:#9fda8a}
body.menuBackdrop #killFeed{display:none}
/* Shaped damage numbers (colour-blind friendly) */
#damageShapeLayer{position:fixed;inset:0;pointer-events:none;z-index:25;overflow:hidden}
.damageShape{position:absolute;left:0;top:0;will-change:transform,opacity}
body.menuBackdrop #damageShapeLayer{display:none}
.killFeedRow b{text-shadow:0 0 2px #000,0 0 2px #000}
.killFeedRow b.darkName{text-shadow:0 0 2px #fff,0 0 3px #fff}
.badgeCounts{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.badgeChip{border:1px solid rgba(159,218,138,.5);padding:2px 8px;font-size:12px}.vitaeList{max-height:160px;overflow:auto;font-family:monospace;font-size:12px}
/* Karambit slash trail */
#slashTrailLayer{position:fixed;inset:0;pointer-events:none;z-index:24}
.slashTrail{position:absolute;left:50%;top:50%;width:46vmin;height:28vmin;animation:slashFade .22s ease-out forwards}
@keyframes slashFade{from{opacity:1}to{opacity:0}}
body.menuBackdrop #slashTrailLayer{display:none}
/* Always-visible atlas strip down the left edge (owner, 21 Oct 2026) */
#atlasStrip{pointer-events:auto;position:fixed;left:0;top:168px;bottom:8px;width:58px;overflow-y:auto;overflow-x:hidden;z-index:12;background:rgba(14,20,17,.86);border-right:1px solid rgba(159,218,138,.25);display:flex;flex-direction:column;gap:4px;padding:4px 6px;scrollbar-width:thin}
#atlasStrip button{flex:0 0 auto;width:44px;height:44px;padding:0;border:2px solid transparent;background-image:url(assets/map-atlas.png);background-size:1600% 1600%;image-rendering:pixelated;cursor:pointer}
#atlasStrip button.selected{border-color:#9fda8a;box-shadow:0 0 0 1px #000}
#atlasStrip button:hover{border-color:rgba(255,255,255,.6)}
#leftPanel{left:66px!important}
.paletteTools{margin:6px 0}.paletteRow{display:flex;gap:4px;align-items:center;margin:3px 0}.paletteRow span{font-size:10px;width:34px;opacity:.75}.paletteRow button{flex:1;padding:3px 0;font-size:11px}
/* Player Bazaar (22 Oct 2026) */
#bazaarHUD{position:absolute;left:50%;top:14px;transform:translateX(-50%);background:rgba(10,14,18,.78);color:#f3efe2;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:8px 14px;text-align:center;font:600 13px/1.45 system-ui,sans-serif;letter-spacing:.04em;z-index:6;max-width:min(560px,calc(100vw - 32px))}
#bazaarHUD b{color:#ffd166}#bazaarHint{margin:3px 0 6px;color:#fff}#bazaarAfk{font-size:12px;padding:4px 10px}#bazaarAfkNote{font-size:11px;opacity:.8;margin-top:4px}
body.bazaarMode #techStatus,body.bazaarMode .teamControls,body.bazaarMode #localRadar,body.bazaarMode #matchHUD,body.bazaarMode #healthHUD,body.bazaarMode #rotarySelector,body.bazaarMode #playtip,body.bazaarMode #spawnProtectionHud,body.bazaarMode #lifeHUD,body.bazaarMode #weaponHUD,body.bazaarMode #captureHUD,body.bazaarMode #crownHUD,body.bazaarMode #killFeed,body.bazaarMode #botsCount,body.bazaarMode #reticle{display:none!important}
.shopList{list-style:none;margin:8px 0;padding:0;display:grid;gap:6px}
.shopList li{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:7px 10px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(255,255,255,.04)}
.shopList .price.scrap{color:#e0b878}.shopList .price.cells{color:#7fd1ff}
#profileShopSlots{font-weight:700;margin:6px 0}
.badgeLegend{display:grid;grid-template-columns:max-content 1fr;gap:3px 12px;margin:8px 0;font-size:12px}.badgeLegend dt{font-weight:700;color:#bfe8c9}.badgeLegend dd{margin:0;opacity:.85}

.lobbyMaps{display:flex;gap:8px;flex-wrap:wrap}.lobbyMaps button{flex:1 1 40%;min-height:48px}

/* Two-click editor measurements use screen-space guides; distances remain world-space. */
#game.measureActive{cursor:crosshair}
#measureOverlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:8;overflow:hidden}
#measureLine{stroke:#f6e66a;stroke-width:2;stroke-dasharray:6 4}
#measureStart,#measureEnd{fill:#f6e66a;stroke:#141914;stroke-width:2}
#measureReadout{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);z-index:12;max-width:min(700px,90vw);padding:12px 16px;border:1px solid #cfc46b;background:#141914ed;color:#f3eed2;font:11px/1.6 monospace;white-space:pre-wrap;pointer-events:none;box-shadow:0 5px 20px #0008}
#canvasPreset{width:100%;font-size:11px;margin:5px 0}

/* Keep the body visible during the orbiting death camera. */
body.deathViewing #deathOverlay{justify-content:flex-start;padding-top:9vh;background:linear-gradient(#15070b99,transparent 38%,transparent 75%,#15070b77);pointer-events:none}
body.deathViewing #deathOverlay h2{font-size:34px;margin:0 0 8px;text-shadow:0 2px 6px #000}
body.deathViewing #deathOverlay p{margin:0;text-shadow:0 2px 4px #000}
body.deathViewing #deathOverlay .adPlaceholder{position:absolute;bottom:12px;padding:10px 16px;min-height:0;margin:0;background:#10151d99}
body.deathViewing #reticle,body.deathViewing #weaponHUD,body.deathViewing #scopeOverlay{display:none!important}

/* Bounded transient HUD layers. */
.damageShape{will-change:transform,opacity;contain:layout style;}

/* Main-menu banner sits between daily rewards and desktop return. */
#menuAdSlot{width:100%;max-width:none;margin:12px 0;min-height:92px;display:flex;align-items:center;justify-content:center}

.supportedAdSlot{display:flex;flex-direction:column;gap:8px;align-items:center;max-width:440px;overflow:hidden;pointer-events:auto}.supportedAdSlot img{max-width:100%;height:90px;object-fit:contain}.supportedAdSlot small{font-size:9px;letter-spacing:.1em}#bazaarHUD .supportedAdSlot{max-width:240px;margin:8px 0;padding:8px;min-height:55px}#mapLoadingScreen .supportedAdSlot{margin:12px 0;min-height:65px;padding:8px}#automaticBoxes{padding-top:16px;border-top:1px solid #536069}.automaticBoxCard{text-align:center;max-height:88vh;overflow:auto}#automaticBoxPrizes{max-height:240px;overflow:auto;text-align:left}#automaticBoxAnimation{font-size:64px;height:90px}.boxOpeningCycle{animation:boxOpenCycle 2s ease-out both}@keyframes boxOpenCycle{0%{transform:scale(.8) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}100%{transform:scale(1) rotate(0)}}#crowbarQuestion button{display:block;width:100%;margin-top:8px}#crowbarAdView{padding:12px;border:1px solid #9fda8a}#crowbarAdView.hidden,.supportedAdSlot.hidden{display:none}

#publicJoinDialog .modalContent{padding:24px;max-width:520px}#publicJoinDialog label{display:block;margin:16px 0}#publicJoinDialog p{line-height:1.5}
