:root{--ui-page-bg:#04101c;--ui-panel-bg:#104e84f0;--ui-panel-bg-solid:#0e4a82;--ui-panel-bg-raised:#1a90c4;--ui-panel-vignette:linear-gradient(180deg, #ffffff5c 0%, #78e6ff1f 34%, #001e4633 100%);--ui-radius:1.55rem;--ui-radius-card:1.05rem;--ui-radius-pill:999px;--ui-frame:5px;--ui-rim:#140c38;--ui-panel-shadow:inset 0 3px 0 #ffffff70, inset 0 -6px 0 #00183852, 0 0 0 5px #1a1048, 0 8px 0 #0a0618, 0 18px 28px #0000006b;--ui-button-face:linear-gradient(180deg, #4ae0ff, #1288bc);--ui-button-shadow:inset 0 3px 0 #ffffff7a, inset 0 -4px 0 #001e3240, 0 6px 0 #0a2040;--ui-gold-face:linear-gradient(180deg, #fff08a, #ffc01a 58%, #f0a400);--ui-gold-shadow:inset 0 3px 0 #ffffff9e, inset 0 -4px 0 #b46e0052, 0 6px 0 #8a5a00;--ui-heading-stroke:0 3px 0 #140c38;--ui-border:#4ae4ff;--ui-border-strong:#9cffff;--ui-border-dim:#1c6e8c;--ui-inlay:#041320;--ui-accent:#ffe14d;--ui-accent-soft:#fff08a;--ui-accent-glow:#ffe14d73;--ui-focus:#9cffff;--ui-text:#e8f8ff;--ui-text-bright:#fff;--ui-text-dim:#9fd4e8;--ui-heading:#fff3a0;--ui-key-bg:#12405c;--ui-key-border:#4ce4ff;--ui-ready:#7fbf72;--ui-warn:#ffd27d;--ui-danger:#e25b52;--ui-danger-text:#ffc9c2;--ui-muted-state:#7fa8bc;--ui-arcane:#8a76c0;--rarity-magic:#6da5ff;--rarity-rare:#f0c75e;--rarity-unique:#ff8000;--ui-font-heading:"Trebuchet MS", "Segoe UI", "Avenir Next", ui-rounded, system-ui, sans-serif;color:var(--ui-text);background:var(--ui-page-bg);font-synthesis:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;padding:clamp(1rem,3vw,2.5rem)}.technical-shell{width:min(100%,1080px);margin-inline:auto}body.combat-mode{background:#5aa8d4;width:100vw;height:100vh;padding:0;overflow:hidden}body.combat-mode #app,.combat-shell,.combat-shell .game-region,.combat-shell #game-host{width:100%;height:100%}.combat-shell{max-width:none;margin:0;position:relative}.combat-shell .diagnostic-shell,.combat-vitals-hud,.combat-minimap,.combat-action-hud,.combat-paused-hud,.item-menu{border:var(--ui-frame) solid var(--ui-border-strong);border-radius:var(--ui-radius);background-color:var(--ui-panel-bg);background-image:var(--ui-panel-vignette);box-shadow:var(--ui-panel-shadow);position:relative}.combat-shell .diagnostic-shell:after,.combat-vitals-hud:after,.combat-minimap:after,.combat-action-hud:after,.combat-paused-hud:after,.item-menu:after{content:"";background-image:linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft));pointer-events:none;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:.95rem 3px,3px .95rem,.95rem 3px,3px .95rem,.95rem 3px,3px .95rem,.95rem 3px,3px .95rem;position:absolute;inset:3px}.combat-shell .diagnostic-shell{z-index:2;pointer-events:none;border-radius:1.15rem;width:auto;margin:0;padding:.65rem .8rem;position:absolute;top:1rem;left:1rem}.combat-shell .diagnostic-shell h1{font-size:clamp(1rem,2vw,1.25rem)}.combat-shell .boot-status,.combat-shell .persistence-fixture{display:none}.combat-shell .diagnostics{gap:.35rem .8rem;margin-top:.4rem;display:flex}.combat-shell .diagnostics>div{display:none}.combat-shell .diagnostics>.combat-essential-diagnostic{box-shadow:none;background:0 0;border:0;gap:.25rem;padding:0;font-size:.67rem;line-height:1.2;display:flex}.combat-shell .diagnostics>.combat-essential-diagnostic dd{margin:0}.combat-shell .shell-controls{z-index:2;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.combat-shell .shell-controls button,.combat-shell .shell-controls output{display:none}.combat-shell .shell-controls p{color:var(--ui-text);font-size:.85rem}.combat-vitals-stack{z-index:3;pointer-events:none;gap:.4rem;width:min(14rem,100vw - 2rem);display:grid;position:absolute;bottom:1rem;right:1rem}.combat-vitals-hud{pointer-events:none;border-radius:1.15rem;gap:.45rem;width:100%;padding:.55rem .65rem;display:grid}.combat-minimap{z-index:3;pointer-events:none;border-radius:1.1rem;gap:.25rem;width:min(11.5rem,100vw - 2rem);padding:.4rem .45rem .5rem;display:grid;position:absolute;top:1rem;right:1rem}.combat-minimap-label{color:var(--ui-heading);font-family:var(--ui-font-heading);letter-spacing:.09em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.combat-minimap-canvas{aspect-ratio:3/2;border-radius:.75rem;width:100%;display:block}.combat-minimap-void{fill:#5aa8d4}.combat-minimap-bounds{fill:none;stroke-width:22px;stroke-linejoin:miter}.combat-minimap-marker-player{fill:#e8f1ff}.combat-minimap-marker-enemy{fill:#ef476f}.combat-minimap-marker-elite{fill:#f59e0b}.combat-minimap-marker-boss{fill:#a855f7}.combat-minimap-marker-portal{fill:#64d8cb}.combat-minimap-marker-node{fill:#b45309}.combat-minimap-marker-forge{fill:#fb923c}.combat-minimap-marker-vendor{fill:#e8b86d}.combat-minimap-marker-quest{fill:#c084fc}.combat-action-hud{z-index:2;pointer-events:none;border-radius:1.1rem;gap:.3rem;width:min(18rem,100vw - 2rem);padding:.4rem;display:grid;position:absolute;bottom:1rem;left:1rem}.combat-flask-list,.combat-ability-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.combat-flask-slot{border:2px solid var(--ui-border);background:radial-gradient(circle at 50% 60%, #1a5a78 0 22%, transparent 24%), var(--ui-panel-bg-raised);border-radius:.75rem;align-content:start;gap:.15rem;min-height:2.5rem;display:grid;position:relative;overflow:hidden}.combat-flask-slot kbd{position:absolute;top:.2rem;left:.2rem}.combat-flask-slot span{color:var(--ui-text);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:1.15rem;padding:0 .2rem .15rem;font-size:.52rem;line-height:1.15;display:-webkit-box;overflow:hidden}.combat-flask-slot[data-rarity=magic]{border-color:var(--rarity-magic)}.combat-flask-slot[data-rarity=rare]{border-color:var(--rarity-rare)}.combat-flask-charges{color:var(--ui-text-bright);background:var(--ui-key-bg);border-radius:.25rem;margin-top:0;padding:.06rem .2rem;font-size:.52rem;font-weight:700;line-height:1.2;display:block;position:absolute;top:.2rem;right:.2rem}.combat-flask-slot[data-state=depleted]{opacity:.65;border-style:dashed}.combat-flask-slot[data-state=depleted] .combat-flask-charges{color:var(--ui-warn)}.combat-flask-slot[data-state=cooldown]{opacity:.8}.combat-flask-slot[data-state=cooldown]:after{content:"";pointer-events:none;background:#080c1273;position:absolute;inset:0}.combat-flask-feedback{border:2px solid var(--ui-border);color:var(--ui-text-bright);background:var(--ui-panel-bg-raised);text-align:center;border-radius:.7rem;margin:.25rem 0 0;padding:.2rem .4rem;font-size:.56rem}.combat-ability{border:2px solid var(--ui-border);background:radial-gradient(circle at 50% 48%, #1a5a78 0 24%, transparent 26%), var(--ui-panel-bg-raised);border-radius:.8rem;flex-direction:column;justify-content:space-between;gap:.15rem;min-width:0;min-height:4.2rem;padding:.3rem;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 2px #fff3}.combat-ability[data-state=ready]{border-color:var(--ui-ready)}.combat-ability[data-state=busy],.combat-ability[data-state=insufficient-mana],.combat-ability[data-state=defeated]{border-color:var(--ui-border-dim);color:var(--ui-muted-state)}.combat-ability-cooldown{z-index:0;background:#080502bd;position:absolute;bottom:0;left:0;right:0}.combat-ability-heading,.combat-ability-state{z-index:1;position:relative}.combat-ability-heading{gap:.2rem;min-width:0;display:grid}.combat-ability kbd,.combat-flask-slot kbd{border:1px solid var(--ui-key-border);color:var(--ui-text-bright);background:var(--ui-key-bg);border-radius:.25rem;font-family:inherit;font-size:.66rem;font-weight:800;line-height:1}.combat-ability kbd{text-align:center;flex:none;min-width:1.55rem;padding:.28rem .3rem}.combat-ability strong{text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;line-height:1.15;overflow:hidden}.combat-ability-state{color:var(--ui-ready);align-self:end;font-size:.58rem;font-weight:700}.combat-ability[data-state=cooldown] .combat-ability-state{color:var(--ui-warn)}.combat-ability[data-state=busy] .combat-ability-state,.combat-ability[data-state=insufficient-mana] .combat-ability-state,.combat-ability[data-state=defeated] .combat-ability-state{color:var(--ui-muted-state)}.combat-statuses{flex-wrap:wrap;justify-content:center;gap:.3rem;display:flex}.combat-status{border:1px solid var(--ui-border);color:var(--ui-text);background:var(--ui-panel-bg-raised);border-radius:999px;padding:.18rem .42rem;font-size:.65rem}.combat-vitals-row{grid-template-columns:1.6rem 1fr;align-items:center;gap:.45rem;display:grid}.combat-vitals-label{color:var(--ui-heading);font-family:var(--ui-font-heading);letter-spacing:.08em;font-size:.7rem;font-weight:700}.combat-vitals-meter{border-radius:999px;height:.85rem;overflow:hidden}.combat-health-meter{background:#2a120e;border:1px solid #a3524d}.combat-vitals-meter span{height:100%;transition:width 80ms linear;display:block}.combat-health-meter span{background:#ef476f}.combat-vitals-row[data-state=dead] .combat-health-meter span{background:#737f8f}.combat-mana-meter{background:#101d2e;border:1px solid #4a6c96}.combat-mana-meter span{background:#3f8fe8}.combat-experience-meter{background:#1e1329;border:1px solid #77588f}.combat-experience-meter span{background:#9b5de5}.combat-paused-hud{z-index:2;border-color:var(--ui-accent-soft);color:var(--ui-heading);border-radius:1.1rem;gap:.2rem;padding:.55rem .75rem;display:grid;position:absolute;top:9.5rem;left:1rem}.combat-menu-toggles{pointer-events:auto;justify-content:flex-end;gap:.35rem;display:flex}.inventory-menu-toggle,.character-menu-toggle{background:var(--ui-panel-bg-solid);pointer-events:auto;min-height:2.4rem;padding:.4rem .55rem}.inventory-menu-toggle kbd,.character-menu-toggle kbd,.item-menu kbd{border:1px solid var(--ui-key-border);color:var(--ui-text-bright);background:var(--ui-key-bg);font:inherit;border-radius:.25rem;padding:.15rem .32rem;font-size:.7rem;font-weight:800}.item-menu{z-index:4;border-color:var(--ui-border-strong);width:min(62rem,100% - clamp(1rem,6vw,4rem));height:min(44rem,100% - clamp(1rem,6vw,4rem));box-shadow:var(--ui-panel-shadow);background-color:#0a243efa;border-radius:1.35rem;grid-template-rows:auto minmax(0,1fr);margin:auto;display:grid;position:absolute;inset:clamp(.5rem,3vw,2rem);overflow:hidden}.item-menu:focus{outline:2px solid var(--ui-focus);outline-offset:-4px}.item-menu>header{background:var(--ui-gold-face);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.1rem;display:flex;box-shadow:inset 0 2px #ffffff80,0 4px #8a5a00}.item-menu>header .eyebrow{color:#5a3a10}.item-menu>header button{border-radius:var(--ui-radius-pill);color:#fff;background:linear-gradient(#ff8a7a,#d4453a);border-color:#ffd0c4;min-height:2.3rem;box-shadow:inset 0 2px #fff6,0 5px #7a1810}.item-menu h2,.item-menu h3,.item-menu p{margin:0}.item-menu h2{color:#12304a;font-family:var(--ui-font-heading);letter-spacing:.04em;text-shadow:0 1px #ffffff8c;font-size:clamp(1.15rem,3vw,1.65rem);font-weight:800}.item-menu h3{color:var(--ui-heading);font-family:var(--ui-font-heading);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.55rem;font-size:.86rem}.item-menu-layout{grid-template-columns:minmax(14rem,1.4fr) minmax(10rem,.85fr) minmax(13rem,1fr);gap:1rem;padding:1rem;display:grid;overflow:auto}.inventory-gold{align-items:center;gap:.4rem;margin:0 0 .55rem;font-size:.85rem;display:flex}.inventory-gold-coin{background:radial-gradient(circle at 35% 30%,#fff6b0,#ffd24a 55%,#b45309);border:3px solid #8a5a00;border-radius:50%;flex:none;width:1.05rem;height:1.05rem;box-shadow:inset 0 2px #ffffff8c,0 2px #5a3a00}.inventory-gold-label{color:var(--ui-text-dim);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:800}.inventory-gold-amount{color:#facc15;font-variant-numeric:tabular-nums;font-weight:600}.inventory-grid-scroll{max-height:min(32rem,58vh);margin-bottom:.7rem;padding-right:.25rem;overflow-y:auto}.inventory-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.inventory-slot{color:#08304a;width:100%;min-height:3.6rem;text-shadow:none;background:linear-gradient(#5ec8f0,#2186b4);border:3px solid #0a3868;border-radius:.9rem;padding:.35rem;font-size:.72rem;font-weight:800;position:relative;overflow:hidden;box-shadow:inset 0 2px #ffffff61,0 3px #082040}.inventory-slot span{overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.inventory-slot small{position:absolute;bottom:.2rem;right:.25rem}.inventory-slot.selected,.equipment-slot.selected{border-color:var(--ui-focus);box-shadow:inset 0 0 0 1px var(--ui-focus)}.stone-choice ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.paper-doll{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:".helmet amulet""mainhand chest offhand""ring1 belt ring2"".boots.""flasks flasks flasks";gap:.45rem;display:grid}.doll-helmet{grid-area:helmet}.doll-amulet{grid-area:amulet;align-self:end}.doll-chest{grid-area:chest}.doll-main-hand{grid-area:mainhand}.doll-offhand{grid-area:offhand}.doll-belt{grid-area:belt}.doll-boots{grid-area:boots}.doll-ring-1{grid-area:ring1}.doll-ring-2{grid-area:ring2}.paper-doll-flasks{grid-area:flasks;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.paper-doll-flask{border-style:dashed;gap:.15rem;min-height:3.4rem;padding:.3rem;display:grid}.paper-doll-flask kbd{border:1px solid var(--ui-key-border);min-width:1.2rem;color:var(--ui-text-bright);background:var(--ui-key-bg);font:inherit;text-align:center;border-radius:.25rem;justify-self:start;padding:.12rem .28rem;font-size:.62rem;font-weight:800}.paper-doll-flask strong{color:var(--ui-text-dim);letter-spacing:.05em;text-transform:uppercase;font-size:.58rem}.paper-doll-flask span{color:var(--ui-text-dim);font-size:.68rem}.equipment-slot{color:#08304a;text-align:left;width:100%;min-height:3.75rem;text-shadow:none;touch-action:none;background:linear-gradient(#5ec8f0,#2186b4);border:3px solid #0a3868;border-radius:.9rem;gap:.2rem;padding:.35rem;display:grid;box-shadow:inset 0 2px #ffffff61,0 3px #082040}.equipment-slot strong{color:#08304a;letter-spacing:.05em;text-transform:uppercase;font-size:.62rem}.equipment-slot span{color:#08304a;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.72rem;display:-webkit-box;overflow:hidden}.inventory-slot{touch-action:none}.inventory-slot[data-rarity=magic],.equipment-slot[data-rarity=magic]{border-color:var(--rarity-magic)}.inventory-slot[data-rarity=rare],.equipment-slot[data-rarity=rare]{border-color:var(--rarity-rare)}.inventory-slot[data-rarity=unique],.equipment-slot[data-rarity=unique]{border-color:var(--rarity-unique)}.item-menu-layout.dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.equipment-slot.drop-valid{border-color:var(--ui-ready);box-shadow:inset 0 0 0 1px var(--ui-ready)}.equipment-slot.drop-invalid{border-color:var(--ui-border-dim);opacity:.45}.equipment-slot.drop-hover{background:#2a7a40}.inventory-panel.drop-valid{outline:1px dashed var(--ui-ready);outline-offset:4px;border-radius:.45rem}.inventory-panel.drop-hover{background:#7fbf7214}.drag-ghost{z-index:6;border:2px solid var(--ui-accent);pointer-events:none;background:#0a243ef2;border-radius:.75rem;max-width:11rem;padding:.3rem .5rem;font-size:.72rem;position:fixed;transform:translate(.75rem,.75rem)}.item-actions{gap:.45rem;margin-top:.7rem;display:grid}.item-actions button{text-align:left;min-height:2.3rem;padding:.4rem .55rem;font-size:.78rem}.unequip-button{border-color:var(--ui-border);min-height:2rem;padding:.3rem .45rem;font-size:.7rem}.item-tooltip{border:2px solid var(--ui-border);background:var(--ui-panel-bg-raised);border-radius:1rem;min-height:12rem;padding:.85rem;box-shadow:inset 0 2px #ffffff38}.item-tooltip.rarity-magic{border-color:var(--rarity-magic)}.item-tooltip.rarity-magic .item-rarity{color:var(--rarity-magic)}.item-tooltip.rarity-rare{border-color:var(--rarity-rare)}.item-tooltip.rarity-rare .item-rarity{color:var(--rarity-rare)}.item-tooltip.rarity-unique{border-color:var(--rarity-unique)}.item-tooltip.rarity-unique .item-rarity{color:var(--rarity-unique)}.item-tooltip h3{color:var(--ui-text-bright);letter-spacing:normal;text-transform:none;margin:.2rem 0 .45rem;font-size:1rem}.item-tooltip .item-rarity{color:var(--ui-text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;font-weight:800}.item-tooltip ul{gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.item-tooltip li{color:var(--ui-text);font-size:.78rem}.item-tooltip li span{color:var(--ui-accent-soft);text-transform:uppercase;font-size:.65rem;font-weight:800}.item-tooltip li .affix-tier{border:1px solid var(--ui-border);color:var(--ui-text-dim);background:var(--ui-panel-bg-solid);border-radius:.25rem;padding:.05rem .3rem;font-size:.6rem}.item-tooltip li .affix-tier[data-tier="1"]{border-color:var(--rarity-rare);color:var(--ui-warn)}.item-tooltip-empty{color:var(--ui-text-dim);text-align:center;place-items:center;display:grid}.stone-choice{border:1px solid var(--ui-arcane);background:#1c1426;border-radius:.45rem;grid-column:1/-1;padding:.75rem}.stone-choice button{text-align:left;width:100%;min-height:2.3rem;padding:.4rem .55rem}.character-menu-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;min-height:0;padding:1rem;display:grid;overflow:auto}.character-summary,.character-attribute-list,.character-passive-list,.character-loadout-list{margin:0;padding:0}.character-attribute-list,.character-passive-list,.character-loadout-list{gap:.55rem;list-style:none;display:grid}.character-attribute-list li,.character-passive-list li,.character-loadout-list li{border:1px solid var(--ui-border-dim);background:var(--ui-panel-bg-raised);border-radius:.45rem;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;display:flex}.character-attribute-list p,.character-passive-list p,.character-summary p{color:var(--ui-text-dim);margin:.25rem 0 0;font-size:.8rem}.character-derived-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .8rem;margin:.75rem 0;display:grid}.character-derived-stats div{justify-content:space-between;gap:.5rem;display:flex}.character-derived-stats dt{color:var(--ui-text-dim)}.character-derived-stats dd{color:var(--ui-text-bright);margin:0}.character-spend-buttons,.character-loadout-choices{flex-wrap:wrap;align-items:flex-start;gap:.3rem;display:flex}.respec-button,.character-spend-buttons button,.character-passive-list button,.character-loadout-choices button{min-height:2rem;padding:.3rem .55rem}.combat-gathering{color:var(--ui-accent);margin-top:.25rem;font-size:.75rem;font-weight:700}.combat-zone{color:var(--ui-text-dim);margin-top:.25rem;font-size:.72rem}@media (width<=700px){.combat-vitals-stack{width:min(11.5rem,100vw - 1rem);bottom:.5rem;right:.5rem}.combat-action-hud{width:min(17rem,100vw - 1rem);padding:.3rem;bottom:.5rem;left:.5rem}.combat-flask-list,.combat-ability-list{gap:.25rem}.combat-ability{min-height:4rem;padding:.25rem}.combat-flask-slot{min-height:2.3rem}.combat-ability strong{font-size:.58rem}.combat-ability-state{text-overflow:ellipsis;font-size:.54rem;overflow:hidden}.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.item-menu-layout,.character-menu-layout{grid-template-columns:1fr 1fr}.item-tooltip,.stone-choice{grid-column:1/-1}}@media (width<=420px){.combat-vitals-stack{bottom:8.5rem}.item-menu-layout,.character-menu-layout{grid-template-columns:1fr}.item-tooltip,.stone-choice{grid-column:auto}}.combat-paused-hud strong{font-family:var(--ui-font-heading);letter-spacing:.14em;font-size:.85rem}.combat-paused-hud span{color:var(--ui-text);font-size:.75rem}.combat-shell #game-host{aspect-ratio:auto;box-shadow:none;border:0;border-radius:0}.diagnostic-shell,.game-region{width:100%}.diagnostic-shell{gap:1rem;margin-bottom:1.5rem;display:grid}.eyebrow{color:var(--ui-accent-soft);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .35rem;font-size:.75rem;font-weight:700}h1{color:var(--ui-text-bright);font-family:var(--ui-font-heading);letter-spacing:.02em;text-shadow:var(--ui-heading-stroke);margin:0;font-size:clamp(1.7rem,4vw,2.8rem)}.diagnostics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin:0;display:grid}.diagnostics div,.boot-status,.persistence-fixture{border:1px solid var(--ui-border-dim);background:var(--ui-panel-bg-raised);border-radius:.55rem;padding:.85rem 1rem}.diagnostics dt{color:var(--ui-text-dim);text-transform:uppercase;font-size:.75rem}.diagnostics dd{overflow-wrap:anywhere;margin:.25rem 0 0}.skip-link{z-index:3;color:var(--ui-page-bg);background:var(--ui-text);border-radius:.35rem;padding:.65rem .8rem;position:fixed;top:.5rem;left:.5rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.boot-status{color:#cbe8c4;border-color:#3f7a48}.boot-status.error{border-color:var(--ui-danger);color:var(--ui-danger-text)}.persistence-fixture{gap:.8rem;display:grid}.persistence-fixture h2{margin:0}.persistence-fixture label{color:var(--ui-text);gap:.35rem;font-size:.85rem;display:grid}.persistence-fixture input,.persistence-fixture textarea,.persistence-fixture button{border:1px solid var(--ui-border);color:var(--ui-text);background:var(--ui-panel-bg-solid);font:inherit;border-radius:.4rem}.persistence-fixture input,.persistence-fixture textarea{width:100%;padding:.55rem .65rem}.persistence-fixture textarea{resize:vertical;font-family:ui-monospace,Cascadia Code,monospace;font-size:.75rem}.persistence-actions{flex-wrap:wrap;gap:.5rem;display:flex}.persistence-fixture button{cursor:pointer;padding:.5rem .75rem}.persistence-fixture button:hover{border-color:var(--ui-accent)}.persistence-status{border-left:3px solid var(--ui-border-strong);background:var(--ui-panel-bg-solid);margin:0;padding:.7rem .8rem}.persistence-status.saved,.persistence-status.loaded{border-color:#36a174}.persistence-status.recovered{color:#ffe5a6;border-color:#d3a13a}.persistence-status.error{border-color:var(--ui-danger);color:var(--ui-danger-text)}#game-host{aspect-ratio:16/9;border:1px solid var(--ui-border-dim);background:var(--ui-panel-bg-solid);border-radius:.7rem;width:100%;position:relative;overflow:hidden;box-shadow:0 1.5rem 4rem #0000004d}#game-canvas{outline:0;max-width:100%;max-height:100%;display:block;position:absolute;inset:0}#game-canvas:focus-visible{outline:3px solid var(--ui-accent);outline-offset:-3px}#game-canvas[hidden]{display:none}.boot-overlay{z-index:1;text-align:center;background:#0e0a07f0;place-content:center;gap:.75rem;padding:clamp(1rem,4vw,3rem);display:grid;position:absolute;inset:0}.boot-overlay.error{color:var(--ui-danger-text)}button{border:3px solid var(--ui-border-strong);border-radius:var(--ui-radius-card);min-height:2.75rem;color:var(--ui-text-bright);background:var(--ui-button-face);box-shadow:var(--ui-button-shadow);font:inherit;text-shadow:0 2px #041820;cursor:pointer;padding:.65rem .95rem;font-weight:800}button:hover:not(:disabled){border-color:var(--ui-accent-soft);box-shadow:var(--ui-button-shadow), 0 0 .7rem var(--ui-accent-glow)}button:focus-visible,a:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}.shell-controls{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding-block:1rem;display:flex}.shell-controls p{color:var(--ui-text);flex-basis:100%;margin:0}.shell-controls output{overflow-wrap:anywhere}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}.combat-tutorial{z-index:3;border:var(--ui-frame) solid var(--ui-border-strong);background-color:var(--ui-panel-bg);background-image:var(--ui-panel-vignette);width:min(21rem,100vw - 2rem);box-shadow:var(--ui-panel-shadow);text-align:center;pointer-events:none;border-radius:1.15rem;gap:.3rem;padding:.55rem .8rem .65rem;display:grid;position:absolute;top:1rem;left:50%;transform:translate(-50%)}.combat-tutorial:after{content:"";background-image:linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft));pointer-events:none;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:.95rem 3px,3px .95rem,.95rem 3px,3px .95rem,.95rem 3px,3px .95rem,.95rem 3px,3px .95rem;position:absolute;inset:3px}.combat-tutorial-heading{color:var(--ui-heading);font-family:var(--ui-font-heading);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.combat-tutorial-prompt{color:var(--ui-text-bright);margin:0;font-size:.9rem;line-height:1.35}@media (width<=700px){.combat-tutorial{width:min(16rem,100vw - 1rem);padding:.4rem .6rem .5rem;top:.5rem}}.main-menu{z-index:10;background-color:#0a3a8c;background-image:radial-gradient(circle,#ffffff29 1.3px,#0000 1.7px),radial-gradient(120% 90% at 50% -20%,#50e6ff52,#0000 55%),radial-gradient(130% 100% at 50% 115%,#ffd24a29,#0000 60%);background-size:26px 26px,auto,auto;justify-content:center;align-items:safe center;padding:clamp(.75rem,3vh,2rem);display:flex;position:fixed;inset:0;overflow-y:auto}.main-menu-panel{border:var(--ui-frame) solid var(--ui-border-strong);background-color:var(--ui-panel-bg);background-image:var(--ui-panel-vignette);width:min(34rem,100%);max-height:100%;box-shadow:var(--ui-panel-shadow), 0 0 4.5rem var(--ui-accent-glow);border-radius:1.5rem;justify-items:center;gap:clamp(1rem,3.5vh,2.2rem);padding:clamp(1.25rem,4vh,2.75rem) clamp(1.25rem,5vw,3rem);display:grid;position:relative}.main-menu-panel:after{content:"";background-image:linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft)), linear-gradient(var(--ui-accent-soft), var(--ui-accent-soft));pointer-events:none;background-position:0 0,0 0,100% 0,100% 0,0 100%,0 100%,100% 100%,100% 100%;background-repeat:no-repeat;background-size:1.25rem 3px,3px 1.25rem,1.25rem 3px,3px 1.25rem,1.25rem 3px,3px 1.25rem,1.25rem 3px,3px 1.25rem;position:absolute;inset:4px}.main-menu-logo{filter:drop-shadow(0 .5rem 1.2rem #0000008c);width:min(26rem,100%);height:auto}.main-menu-actions{justify-items:stretch;gap:.75rem;width:min(15.5rem,100%);display:grid}.main-menu-button{border-radius:var(--ui-radius-pill);background:var(--ui-button-face);box-shadow:var(--ui-button-shadow);color:#fff;font-family:var(--ui-font-heading);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 3px #041820;cursor:pointer;border:4px solid #8eefff;padding:.8rem 1.2rem;font-size:1.05rem;font-weight:800;transition:border-color .12s,box-shadow .12s,color .12s;position:relative}.main-menu-button:hover:enabled,.main-menu-button:focus-visible{border-color:var(--ui-accent-soft);box-shadow:var(--ui-button-shadow), 0 0 1.2rem var(--ui-accent-glow);color:#fff8d0}.main-menu-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.main-menu-new-game{background:var(--ui-gold-face);box-shadow:var(--ui-gold-shadow);color:#12304a;text-shadow:0 1px #ffffff8c;border-color:#fff6b0}.main-menu-new-game:disabled{border-color:var(--ui-border-dim);color:var(--ui-muted-state);cursor:wait}.main-menu-continue:disabled{border-color:var(--ui-border-dim);color:var(--ui-muted-state);cursor:not-allowed;opacity:.75;background-image:none}.main-menu-note{color:var(--ui-text-dim);text-align:center;margin:-.35rem 0 0;font-size:.78rem;font-style:italic}.main-menu-build{color:var(--ui-text-dim);letter-spacing:.05em;margin:0;font-size:.72rem}@media (height<=560px){.main-menu-panel{gap:.7rem;padding:.9rem 1.5rem}.main-menu-logo{width:min(17rem,100%)}.main-menu-button{padding:.45rem 1rem}}.account-gate-copy{max-width:24rem;color:var(--ui-text-dim);text-align:center;margin:0;font-size:.85rem;line-height:1.5}.account-home-link{color:var(--ui-accent);text-align:center;font-size:.82rem}.account-home-link:hover,.account-home-link:focus-visible{color:var(--ui-focus)}.account-home-cta{border-radius:var(--ui-radius-pill);background:var(--ui-gold-face);width:min(15.5rem,100%);box-shadow:var(--ui-gold-shadow);color:#12304a;text-align:center;border:3px solid #fff6b0;padding:.7rem 1.2rem;font-size:.95rem;font-weight:800;text-decoration:none;display:block}.account-home-cta:hover,.account-home-cta:focus-visible{border-color:var(--ui-focus);box-shadow:var(--ui-gold-shadow), 0 0 1.1rem var(--ui-accent-glow);color:#061018}.account-retry{width:min(15.5rem,100%);color:var(--ui-heading)}.account-logout{font-size:.75rem}.account-menu{justify-items:center;gap:.85rem;width:min(26rem,100%);display:grid}.account-create{grid-template-columns:1fr 1fr}.account-create>:not(.account-back){grid-column:1/-1}.account-heading{color:var(--ui-heading);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:1.15rem}.account-email{color:var(--ui-text-dim);margin:-.5rem 0 0;font-size:.75rem}.account-character-list{gap:.55rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.account-character-list:empty{display:none}.account-character{grid-template-columns:1fr auto;align-items:stretch;gap:.45rem;display:grid}.account-character-select{border:2px solid var(--ui-border-strong);background-color:var(--ui-panel-bg-raised);background-image:var(--ui-panel-vignette);color:var(--ui-text);text-align:left;cursor:pointer;border-radius:1rem;justify-items:start;gap:.15rem;padding:.55rem .9rem;display:grid;box-shadow:inset 0 2px #ffffff38}.account-character-select:hover:enabled,.account-character-select:focus-visible{border-color:var(--ui-accent);color:var(--ui-focus)}.account-character-select:disabled{color:var(--ui-muted-state);cursor:wait}.account-character-name{color:var(--ui-heading);font-size:.95rem}.account-character-meta{color:var(--ui-text-dim);letter-spacing:.04em;font-size:.72rem}.account-character-delete{border:1px solid var(--ui-border-dim);color:var(--ui-text-dim);cursor:pointer;background:0 0;border-radius:.4rem;padding:0 .7rem;font-size:.72rem}.account-character-delete:hover:enabled,.account-character-delete:focus-visible{border-color:var(--ui-danger);color:var(--ui-danger)}.account-delete-confirm{border:1px solid var(--ui-border-dim);background-color:var(--ui-panel-bg);border-radius:.4rem;grid-column:1/-1;gap:.4rem;padding:.6rem .75rem;display:grid}.account-delete-actions{gap:.5rem;display:flex}.account-delete-submit{border:1px solid var(--ui-danger);color:var(--ui-danger);cursor:pointer;background:0 0;border-radius:.35rem;padding:.35rem .8rem;font-size:.78rem}.account-delete-submit:disabled{border-color:var(--ui-border-dim);color:var(--ui-muted-state);cursor:not-allowed}.account-back{color:var(--ui-text-dim);cursor:pointer;background:0 0;border:none;padding:.35rem .8rem;font-size:.78rem;text-decoration:underline}.account-back:hover:enabled,.account-back:focus-visible{color:var(--ui-focus)}a.account-home-return{margin-top:.4rem;display:inline-block}.account-create a.account-home-return{margin-top:0}a.account-home-return:hover{color:var(--ui-focus)}.account-class-card{border:2px solid var(--ui-border-strong);background-color:var(--ui-panel-bg-raised);background-image:var(--ui-panel-vignette);border-radius:1.15rem;grid-template-columns:auto 1fr;align-items:center;gap:.9rem;width:100%;padding:.8rem .9rem;display:grid;box-shadow:inset 0 2px #ffffff38}.account-class-copy{gap:.35rem;display:grid}.account-class-copy h3{color:var(--ui-heading);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.95rem}.account-class-copy p{color:var(--ui-text-dim);margin:0;font-size:.78rem;line-height:1.45}.barbarian-idle-preview{width:96px;height:96px;image-rendering:pixelated;transform-origin:50% 78%;background:url(/assets/characters/diver/Idle.png) 0 -192px no-repeat;animation:.8s steps(4,end) infinite barbarian-idle-preview;transform:scale(2.8)}@keyframes barbarian-idle-preview{0%{background-position-x:0}to{background-position-x:-384px}}@media (prefers-reduced-motion:reduce){.barbarian-idle-preview{animation:none}}.account-create-form{justify-items:stretch;gap:.5rem;width:min(15.5rem,100%);display:grid}.account-field-label{color:var(--ui-text-dim);font-size:.78rem}.account-name-input{border:1px solid var(--ui-border-strong);background-color:var(--ui-panel-bg);color:var(--ui-text);font:inherit;border-radius:.35rem;padding:.5rem .7rem;font-size:.9rem}.account-name-input:focus-visible{border-color:var(--ui-accent);outline:2px solid var(--ui-focus);outline-offset:1px}.account-error{max-width:100%;color:var(--ui-danger-text);text-align:center;margin:0;font-size:.78rem}@media (height<=720px){.main-menu-panel:has(.account-create){gap:.7rem;padding:.9rem 1.5rem}.main-menu-panel:has(.account-create) .main-menu-logo{width:min(14rem,100%)}.barbarian-idle-preview{transform:scale(1.45)}.account-menu{gap:.55rem}}.save-warning{z-index:7;border:1px solid var(--ui-danger);background:var(--ui-panel-bg);max-width:min(92vw,34rem);color:var(--ui-danger-text);text-align:center;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;position:fixed;top:clamp(.5rem,2vh,1rem);left:50%;transform:translate(-50%);box-shadow:0 0 12px #e25b5240}.death-overlay{z-index:8;background:radial-gradient(120% 90%,#5a140e2e,#0000 70%),#0804029e;justify-content:center;align-items:center;padding:clamp(.75rem,3vh,2rem);display:flex;position:fixed;inset:0}.death-overlay-panel{border:var(--ui-frame) solid var(--ui-border-strong);background-color:var(--ui-panel-bg);background-image:var(--ui-panel-vignette);width:min(24rem,100%);box-shadow:var(--ui-panel-shadow), 0 0 3.5rem #e25b5238;text-align:center;border-radius:1.4rem;justify-items:center;gap:.85rem;padding:clamp(1.1rem,3.5vh,2rem) clamp(1.1rem,4vw,2.4rem);display:grid;position:relative}.death-overlay-heading{color:var(--ui-danger-text);font-family:var(--ui-font-heading);letter-spacing:.08em;text-shadow:0 3px #3a1010;margin:0;font-size:1.6rem;font-weight:800}.death-overlay-note{color:var(--ui-text-dim);margin:0;font-size:.85rem;font-style:italic}.death-respawn-button{border-radius:var(--ui-radius-pill);background:var(--ui-gold-face);box-shadow:var(--ui-gold-shadow);color:#12304a;font-family:var(--ui-font-heading);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px #ffffff8c;cursor:pointer;border:3px solid #fff6b0;padding:.7rem 1.4rem;font-size:1rem;font-weight:800;transition:border-color .12s,box-shadow .12s,color .12s}.death-respawn-button:hover,.death-respawn-button:focus-visible{border-color:var(--ui-focus);box-shadow:var(--ui-gold-shadow), 0 5px 0 #8a5a00, 0 0 1.1rem var(--ui-accent-glow);color:#061018}.death-respawn-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.system-menu{z-index:9;background:radial-gradient(120% 90%,#50e6ff24,#0000 70%),#041028b3;justify-content:center;align-items:center;padding:clamp(.75rem,3vh,2rem);display:flex;position:fixed;inset:0}.system-menu:focus{outline:none}.system-menu-panel{border:var(--ui-frame) solid var(--ui-border-strong);background-color:var(--ui-panel-bg);background-image:var(--ui-panel-vignette);width:min(26rem,100%);max-height:100%;box-shadow:var(--ui-panel-shadow), 0 0 3.5rem var(--ui-accent-glow);text-align:center;border-radius:1.4rem;justify-items:center;gap:.85rem;padding:clamp(1.1rem,3.5vh,2rem) clamp(1.1rem,4vw,2.4rem);display:grid;position:relative;overflow-y:auto}.system-menu-heading{color:#fff;font-family:var(--ui-font-heading);letter-spacing:.08em;text-shadow:var(--ui-heading-stroke);margin:0;font-size:1.5rem;font-weight:800}.system-menu-actions{justify-items:stretch;gap:.7rem;width:min(15.5rem,100%);display:grid}.system-menu-keybinds{justify-items:center;gap:.7rem;width:100%;display:grid}.system-menu-keybinds-help{max-width:22rem;margin:0}.system-menu-keybind-list{gap:.3rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.system-menu-keybind-list li{border-bottom:1px solid var(--ui-border-dim);justify-content:space-between;align-items:center;gap:.75rem;padding:.15rem .2rem;display:flex}.system-menu-keybind-label{color:var(--ui-text);text-align:left;font-size:.85rem}.system-menu-keybind-button{border:2px solid var(--ui-border-strong);border-radius:var(--ui-radius-pill);background-color:var(--ui-panel-bg-raised);min-width:7.5rem;color:var(--ui-text-bright);font-family:var(--ui-font-heading);letter-spacing:.08em;cursor:pointer;padding:.35rem .75rem;font-size:.82rem;font-weight:700;transition:border-color .12s,color .12s;box-shadow:inset 0 2px #ffffff38}.system-menu-keybind-button:hover:enabled,.system-menu-keybind-button:focus-visible{border-color:var(--ui-accent);color:var(--ui-focus)}.system-menu-keybind-button:focus-visible{outline:2px solid var(--ui-focus);outline-offset:2px}.system-menu-keybind-button:disabled{border-color:var(--ui-border-dim);color:var(--ui-muted-state);cursor:not-allowed}.system-menu-keybind-button.listening{border-color:var(--ui-accent);color:var(--ui-focus);animation:1.1s ease-in-out infinite system-menu-listening}@keyframes system-menu-listening{50%{box-shadow:inset 0 0 0 1px var(--ui-inlay), 0 0 .9rem var(--ui-accent-glow)}}.system-menu-feedback{min-height:1.1rem;color:var(--ui-text-dim);margin:0;font-size:.78rem;font-style:italic}@media (height<=640px){.system-menu-panel{gap:.55rem;padding:.85rem 1.2rem}.system-menu-keybind-list{gap:.15rem}.system-menu-keybind-button{padding:.2rem .6rem}}
