@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-ext-400-normal-B4-YHs9i.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-400-normal--n_iQ4wr.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-400-normal-Bx9Tn3WZ.woff2)format("woff2"),url(/assets/spectral-cyrillic-400-normal-X3p2PSzL.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-vietnamese-400-normal-C7CRHYqk.woff2)format("woff2"),url(/assets/spectral-vietnamese-400-normal-CWkMWCzb.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-ext-400-normal-XDLFwhqg.woff2)format("woff2"),url(/assets/spectral-latin-ext-400-normal-BHbqXr-7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-normal-CTVgUekv.woff2)format("woff2"),url(/assets/spectral-latin-400-normal-D34IWA1h.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-ext-400-italic-CZOVIkJA.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-400-italic-C6Gmo4JY.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-cyrillic-400-italic-C6o5RXh-.woff2)format("woff2"),url(/assets/spectral-cyrillic-400-italic-C95RxGpc.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-vietnamese-400-italic-DO3bsfcj.woff2)format("woff2"),url(/assets/spectral-vietnamese-400-italic-D8dhja4j.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-ext-400-italic-BgTM1Mst.woff2)format("woff2"),url(/assets/spectral-latin-ext-400-italic-BcKU4A_a.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/spectral-latin-400-italic-CDO25mTW.woff2)format("woff2"),url(/assets/spectral-latin-400-italic-Ds-NcNVC.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-ext-600-normal-CvRHnPuy.woff2)format("woff2"),url(/assets/spectral-cyrillic-ext-600-normal-BVATWin6.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-cyrillic-600-normal-Dl75bDKp.woff2)format("woff2"),url(/assets/spectral-cyrillic-600-normal-veT-ELBO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-vietnamese-600-normal-ZNiwCzjU.woff2)format("woff2"),url(/assets/spectral-vietnamese-600-normal-esmjhrFa.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-ext-600-normal-DKlDBbgb.woff2)format("woff2"),url(/assets/spectral-latin-ext-600-normal-DnKmvInL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Spectral;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/spectral-latin-600-normal-DE3OxvnQ.woff2)format("woff2"),url(/assets/spectral-latin-600-normal-DXnQJnYb.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Silkscreen;src:url(/fonts/silkscreen/Silkscreen-Regular.ttf)format("truetype");font-display:block}:root{--bg:#0d0b12;--panel:#17141f;--panel-border:#2c2638;--text:#d9d2c3;--text-muted:#8a8296;--accent:#c9a45c;--life:#4caf50;--mana:#3f7fdc;--bad:#d0463c;--good:#e8c45c;--pixel-font:"Silkscreen", monospace;--rarity-normal:#d8d4cc;--rarity-magic:#6f8cff;--rarity-rare:#f2d25a;--rarity-set:#5fd66b;--rarity-unique:#e8913a;--rarity-legendary:#ff5a3c;--better:#7ee07e;--enchant:#c58cff;--gem:#7fd6e8;--class-paladin:#d9b45a;--class-barbarian:#c8553d;--class-archer:#6fae4f;--class-sorceress:#5b8fe0;--class-priestess:#d7cfe8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}.app{flex-direction:column;height:100%;display:flex}.top-bar{border-bottom:1px solid var(--panel-border);align-items:baseline;gap:12px;padding:8px 16px;display:flex}.top-bar h1{font-family:var(--pixel-font);color:var(--accent);letter-spacing:.04em;margin:0;font-size:16px;font-weight:400}.connection-banner{border-bottom:1px solid var(--bad);color:var(--bad);background:#d0463c1f;justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;font-size:12px;display:flex}.notice-banner{justify-content:space-between;align-items:center;gap:12px;padding:6px 16px;font-size:12px;display:flex}.notice-info{border-bottom:1px solid var(--accent);color:var(--accent);background:#c9a45c1f}.notice-warning{border-bottom:1px solid var(--rarity-unique);color:var(--rarity-unique);background:#e8913a1f}.start-card .notice-banner{border:1px solid;border-radius:4px;margin-bottom:12px}.notice-dismiss{color:inherit;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:16px;line-height:1}.combat-area{min-width:0;min-height:0;position:relative}.damage-meter{border:1px solid var(--panel-border);background:#0d0b12d1;width:220px;padding:6px;font-size:12px;position:absolute;top:8px;left:8px}.meter-head{align-items:center;gap:4px;margin-bottom:4px;display:flex}.meter-title{font-family:var(--pixel-font);color:var(--accent);flex:1;font-size:11px}.meter-head button{padding:1px 6px;font-size:11px}.meter-rows{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.meter-row{background:#0d0b12;gap:6px;padding:2px 4px;display:flex;position:relative}.meter-bar{background:var(--hero-color,var(--accent));opacity:.35;transition:width .2s linear;position:absolute;inset:0 auto 0 0}.meter-name,.meter-dps,.meter-share{position:relative}.meter-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.meter-dps,.meter-share{font-variant-numeric:tabular-nums}.meter-share{text-align:right;width:3.5em;color:var(--text-muted)}.meter-foot{color:var(--text-muted);margin-top:4px;font-size:11px}.class-paladin{--hero-color:var(--class-paladin)}.class-barbarian{--hero-color:var(--class-barbarian)}.class-archer{--hero-color:var(--class-archer)}.class-sorceress{--hero-color:var(--class-sorceress)}.class-priestess{--hero-color:var(--class-priestess)}.combat-viewport{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.combat-canvas{image-rendering:pixelated;display:block}.tabs{flex-wrap:wrap;gap:4px;display:flex}button,select,input{font:inherit;color:var(--text);border:1px solid var(--panel-border);background:#211c2b;padding:4px 10px;font-size:13px}button:not(:disabled){cursor:pointer}button:not(:disabled):hover{border-color:var(--accent)}button:disabled{color:var(--text-muted);background:0 0}button[aria-pressed=true]{color:var(--bg);background:var(--accent);border-color:var(--accent)}.party-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.hero-card{border:1px solid var(--panel-border);background:#1d1927;gap:4px;padding:8px;display:grid}.hero-card.fallen{opacity:.55}.hero-heading{justify-content:space-between;align-items:baseline;display:flex}.hero-name{font-family:var(--pixel-font);color:var(--accent);font-size:12px}.hero-meta{color:var(--text-muted);font-size:12px}.meter{background:#120f18;border:1px solid #000;height:16px;position:relative}.meter-fill{height:100%;transition:width .2s linear}.meter-life .meter-fill{background:var(--life)}.meter-mana .meter-fill{background:var(--mana)}.meter-label{font-variant-numeric:tabular-nums;text-align:center;color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;font-size:11px;font-weight:600;line-height:16px;position:absolute;inset:0}.camp h2{font-family:var(--pixel-font);color:var(--text-muted);grid-column:1/-1;margin:0;font-size:11px;font-weight:400}.meter-xp .meter-fill{background:var(--accent);opacity:.6}.meter-xp .meter-label{font-size:10px;font-weight:400;line-height:12px}.points-badge{color:var(--accent);border-color:var(--accent);justify-self:start;padding:2px 8px;font-size:11px}.camp{gap:6px;display:grid}.camp ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.camp li{align-items:center;gap:8px;display:flex}.tab-dot{vertical-align:middle;background:var(--accent);border-radius:50%;width:6px;height:6px;margin-left:6px;display:inline-block}.skills-summary{flex-wrap:wrap;align-items:center;gap:8px 14px;font-size:13px;display:flex}.skills-summary label{color:var(--text-muted);align-items:center;gap:4px;display:flex}.points-left{color:var(--accent)}.skill-heading{align-items:center;gap:8px;display:flex}.skill-name{font-family:var(--pixel-font);color:var(--accent);font-size:12px}.skill-kind{color:var(--text-muted);border:1px solid var(--panel-border);padding:0 4px;font-size:11px}.skill-rank{color:var(--text-muted);margin-left:auto;font-size:12px}.skill-description{color:var(--text-muted);margin:0;font-size:12px}.skill-levels{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;font-size:12px;display:grid}.skill-levels h4{color:var(--text-muted);margin:0 0 2px;font-size:11px;font-weight:400}.skill-levels ul{margin:0;padding-left:14px}.skill-next{color:var(--text-muted)}.skill-slot-tag{color:var(--accent);font-size:11px}.autocast-order li.slot-empty{color:var(--text-muted);font-style:italic}.autocast-order{border:1px solid var(--panel-border);background:#1d1927;gap:4px;padding:8px;display:grid}.autocast-heading{justify-content:space-between;align-items:center;display:flex}.autocast-heading h3{font-family:var(--pixel-font);color:var(--text-muted);margin:0;font-size:11px;font-weight:400}.autocast-heading button{padding:2px 8px;font-size:11px}.autocast-controls-hint{color:var(--text-muted);margin:0 0 6px;font-size:11px}.autocast-order ol{gap:2px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.autocast-order li{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.autocast-order li.slot-pending{opacity:.6}.autocast-rank{width:16px;color:var(--text-muted)}.autocast-name{color:var(--accent)}.autocast-move:disabled{opacity:.35}.autocast-hint{color:var(--text-muted);font-size:11px}.autocast-rules-toggle.custom{color:var(--accent)}.autocast-rules{color:var(--text-muted);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:4px 10px;padding:2px 0 4px 22px;font-size:11px;display:flex}.autocast-rules label{align-items:center;gap:4px;display:flex}.autocast-rules select{padding:1px 4px;font-size:11px}.autocast-reset{margin-left:auto;padding:1px 8px;font-size:11px}.autocast-move{width:24px;padding:0;line-height:18px}.autocast-order li .autocast-move:first-of-type{margin-left:auto}.autocast-warning{color:#e8a04a;font-size:11px}.talents-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:14px;display:grid}.talents-main,.talents-side{gap:10px;min-width:0;display:grid}.talents-bar{border:1px solid var(--panel-border);background:#15121c;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 12px;font-size:12px;display:flex}.talents-bar strong{font-family:var(--pixel-font);font-size:15px;font-weight:400}.talents-bar label{color:var(--text-muted);align-items:center;gap:6px;display:flex}.talents-bar>button{margin-left:auto}.talent-card{border:1px solid var(--panel-border);background:#15121c;gap:8px;padding:10px 12px;font-size:12px;display:grid}.talent-card h3{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0;font-size:10px;font-weight:400}.points-none{color:var(--text-muted)}.talent-legend{color:var(--text-muted);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin:0;padding:0;list-style:none;display:grid}.talent-legend li{align-items:center;gap:6px;display:flex}.talent-swatch{background:#2c2338;border:1px solid #6b5d82;flex:none;width:22px;height:14px}.talent-swatch.talent-passive{border-radius:7px}.talent-swatch.talent-capstone{width:24px}.talents-side .gear-skills ul{padding-left:16px}.talent-tree-scroll{border:1px solid var(--panel-border);background:#15121c;overflow-x:auto}.talent-tree{min-width:560px;padding:8px 8px 8px 0}.talent-body{display:flex}.talent-levels,.talent-grid{background:repeating-linear-gradient(#ffffff06 0 72px,#0000 72px 144px)}.talent-levels{flex:none;grid-auto-rows:72px;width:40px;margin:0;padding:0;list-style:none;display:grid}.talent-levels li{text-align:right;white-space:nowrap;font-family:var(--pixel-font);color:#5d566a;align-self:center;padding-right:6px;font-size:8px}.talent-levels li.reached{color:var(--text-muted)}.talent-grid{flex:1;grid-template-rows:repeat(7,72px);grid-template-columns:repeat(7,minmax(0,1fr));display:grid;position:relative}.talent-locked{pointer-events:none;background:#08060c59;border-top:1px dashed #5d566a;position:absolute;bottom:0;left:0;right:0}.talent-locked span{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:#8a8199;background:#15121c;padding:0 6px;font-size:8px;line-height:14px;position:absolute;top:-8px;right:8px}.talent-links{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.talent-link{fill:none;stroke:#2f2a3b;stroke-width:1.5px;vector-effect:non-scaling-stroke}.talent-link.lit{stroke:#6a5a3a}.talent-link.taken{stroke:#b8995a;stroke-width:2.5px}.talent-link.focus{stroke:var(--accent);stroke-width:2.5px}.talent-node{z-index:1;text-align:center;border:1px solid var(--panel-border);width:calc(100% - 4px);max-width:96px;min-height:46px;color:var(--text);background:#221d2d;align-content:center;place-self:center;gap:2px;padding:4px 2px 7px;line-height:1.15;display:grid;position:relative}.talent-name{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:10px}.talent-rank{font-family:var(--pixel-font);color:var(--text-muted);font-size:8px}.talent-slot{min-width:14px;font-family:var(--pixel-font);color:var(--bg);background:var(--accent);padding:0 3px;font-size:8px;line-height:13px;position:absolute;top:-7px;right:-5px}.talent-slot.empty{border:1px dashed var(--accent);background:#14101d;width:14px;height:14px;padding:0}.talent-point-badge{width:14px;font-family:var(--pixel-font);color:var(--bg);background:var(--better);font-size:9px;line-height:13px;position:absolute;top:-7px;left:-5px}.talent-capstone .talent-point-badge{top:1px;left:8px}.talent-progress{background:#14101d;height:2px;position:absolute;bottom:3px;left:7px;right:7px}.talent-progress i{background:var(--accent);height:100%;display:block}.talent-node.talent-unslotted{border-color:var(--accent)}.talent-filler{border-top:2px solid var(--mana)}.talent-active{border-top:2px solid #b8b0c6}.talent-aura{border-top:2px solid var(--accent)}.talent-sustained{border-top:2px solid #9a6fd6}.talent-passive{border-radius:23px;max-width:90px}.talent-capstone{clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%);color:#f0d9a8;background:linear-gradient(#3a2f1c,#261f14);border:0;max-width:100px;padding-inline:7px}.talent-node.talent-level,.talent-node.talent-closed{opacity:.45}.talent-node.talent-excluded{opacity:.3}.talent-node.talent-excluded .talent-name{text-decoration:line-through}.talent-node.talent-open{border-color:#6b5d82}.talent-node.talent-learned,.talent-node.talent-maxed{background:#2c2338}.talent-node.talent-learned .talent-rank,.talent-node.talent-maxed .talent-rank{color:var(--accent)}.talent-capstone.talent-learned,.talent-capstone.talent-maxed{background:linear-gradient(#6b5426,#3c2f15)}.talent-node.hovered{outline:2px solid var(--accent);outline-offset:1px}.talent-capstone.hovered{filter:drop-shadow(0 0 3px var(--accent));outline:none}.talent-node:focus-visible{outline:2px solid var(--accent)}.talent-node.talent-pending{filter:saturate(.55);cursor:progress}.talent-node.talent-pending .talent-name{opacity:.7}.talent-requires,.talent-blocked{color:var(--text-muted);margin:0;font-size:12px}.talent-met{color:var(--accent)}.talent-blocked{color:#e8a04a}.zone-log{flex-direction:column;gap:8px;height:100%;min-height:0;display:flex}.zone-status{border-bottom:1px solid var(--panel-border);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px 20px;padding-bottom:8px;font-size:13px;display:flex}.zone-act{letter-spacing:.02em;font-size:11px}.zone-name{font-family:var(--pixel-font);color:var(--accent);font-size:13px}.zone-meta{font-size:12px}.zone-travel{color:var(--accent);font-size:12px;animation:1s ease-in-out infinite alternate zone-travel-pulse}@keyframes zone-travel-pulse{0%{opacity:.45}}@media (prefers-reduced-motion:reduce){.zone-travel{animation:none}}.zone-waves{justify-items:start;gap:4px;display:grid}.wave-track{gap:3px;margin:0;padding:0;list-style:none;display:flex}.wave-pip{border:1px solid var(--panel-border);background:#120f18;width:12px;height:8px}.wave-pip.done{background:var(--accent);border-color:var(--accent);opacity:.55}.wave-pip.current{background:var(--accent);border-color:var(--text);box-shadow:0 0 4px var(--accent)}.wave-pip.final,.wave-pip.boss{border-color:var(--rarity-unique);width:16px}.wave-pip.boss{border-color:var(--bad)}.wave-pip.boss.current{background:var(--bad);box-shadow:0 0 6px var(--bad)}.wave-text{color:var(--text);font-size:12px}.zone-record{flex-wrap:wrap;align-items:center;gap:4px 12px;margin-left:auto;font-size:12px;display:flex}.wipes{color:var(--bad)}.log-entries{margin:0;padding:0;font-size:13px;list-style:none;overflow-y:auto}.log-entries li{padding:1px 0}.log-bad{color:var(--bad)}.log-good{color:var(--good)}.log-elite{color:var(--rarity-unique)}.log-lore{color:var(--text-muted);font-style:italic}.final-wave{color:var(--rarity-unique);font-size:11px}.final-wave:first-letter{text-transform:uppercase}.map-panel{gap:12px;display:grid}.map-header{border-bottom:1px solid var(--panel-border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 24px;padding-bottom:10px;display:flex}.map-title{gap:4px;display:grid}.map-header h2{font-family:var(--pixel-font);letter-spacing:.04em;color:var(--accent);text-shadow:0 2px #000;margin:0;font-size:14px;font-weight:400}.act-camp{color:var(--text-muted);font-size:12px}.act-prologue,.zone-lore{color:var(--text-muted);margin:0;font-size:12px;font-style:italic}.act-prologue{max-width:72ch}.act-tabs{flex-wrap:wrap;gap:4px;display:flex}.act-tabs button{font-family:var(--pixel-font);align-items:baseline;gap:6px;font-size:11px;display:flex}.act-tabs button:disabled{cursor:help;border-style:dashed}.act-tab-mark{color:var(--good)}.act-tabs button[aria-pressed=true] .act-tab-mark{color:inherit}.act-tab-here{opacity:.75;font-family:system-ui,sans-serif;font-size:10px}.act-progress{width:min(260px,100%);color:var(--text-muted);text-align:right;gap:5px;font-size:11px;display:grid}.act-progress-bar{border:1px solid var(--panel-border);background:#120f18;height:6px}.act-progress-bar>div{background:var(--good);height:100%}.mode-switch{gap:4px;display:flex}.zone-record .mode-switch button{font-family:var(--pixel-font);padding:3px 8px;font-size:11px}.zone-columns,.zone-stop{grid-template-columns:34px minmax(0,1fr) minmax(0,1fr);column-gap:14px;display:grid}.zone-columns span{font-family:var(--pixel-font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:9px}.zone-columns span:first-child{grid-column:2}.zone-path{margin:0;padding:0;list-style:none;display:grid}.zone-stop{align-items:start;padding-bottom:12px;position:relative}.zone-stop:not(:last-child):before{content:"";background:#362f44;width:2px;position:absolute;top:16px;bottom:-16px;left:16px}.zone-stop.stop-cleared:not(:last-child):before{background:#8a7446}.zone-marker{z-index:1;width:34px;height:34px;font-family:var(--pixel-font);color:var(--text);background:#1b1724;border:2px solid #4a4160;border-radius:50%;place-items:center;font-size:12px;display:grid;position:relative}.stop-cleared .zone-marker{color:#1d1508;background:#b89a5a;border-color:#e0c27e;font-family:system-ui,sans-serif;font-size:16px;font-weight:700}.stop-locked .zone-marker{color:#5d566a;border-style:dashed}.zone-stop.current .zone-marker{border-color:var(--accent);box-shadow:0 0 0 3px #c9a45c40,0 0 12px #c9a45c73}.zone-sides{gap:8px;min-width:0;display:grid}.zone-sides .zone-card:before{content:"";border-top:2px dashed #4a4160;width:14px;position:absolute;top:16px;left:-16px}.zone-card{border:1px solid var(--panel-border);border-left:3px solid var(--zone-color,#4a4160);background:linear-gradient(#1f1a2b,#17131f);gap:5px;min-width:0;padding:8px 10px 9px;display:grid;position:relative}.zone-card.current{border-color:var(--accent);border-left-color:var(--accent);background:linear-gradient(#2a2216,#1a1510)}.zone-card.zone-locked{opacity:.5;padding-block:6px}.zone-main{--zone-color:#8a7446}.zone-boss{--zone-color:var(--bad)}.zone-lair{--zone-color:#9a6fd6}.zone-depths{--zone-color:var(--mana)}.zone-hunting{--zone-color:var(--better)}.zone-card-head{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.zone-title{font-family:var(--pixel-font);letter-spacing:.03em;font-size:11px}.zone-boss .zone-title{color:var(--bad)}.zone-card-head button{padding:2px 12px}.zone-here{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:9px}.zone-tags{flex-wrap:wrap;gap:4px 6px;font-size:11px;display:flex}.zone-kind,.zone-level,.zone-state{border:1px solid var(--panel-border);color:var(--text-muted);background:#120f18;padding:1px 6px}.zone-kind{color:var(--zone-color);border-color:color-mix(in srgb, var(--zone-color) 45%, transparent)}.zone-state{background:0 0;border-color:#0000;margin-left:auto}.state-cleared{color:var(--good)}.state-locked{color:var(--text-muted)}.zone-detail,.zone-reward{color:var(--text-muted);margin:0;font-size:12px}.zone-reward{color:var(--text)}.zone-reward-label{color:var(--rarity-set)}.zone-reward.claimed,.zone-reward.claimed .zone-reward-label{color:var(--text-muted)}.bottom-strip{background:var(--panel);border:1px solid var(--panel-border);min-height:0;padding:8px}.placeholder{color:var(--text-muted);font-size:13px}.rarity-normal{--rarity:var(--rarity-normal)}.rarity-magic{--rarity:var(--rarity-magic)}.rarity-rare{--rarity:var(--rarity-rare)}.rarity-set{--rarity:var(--rarity-set)}.rarity-unique{--rarity:var(--rarity-unique)}.rarity-legendary{--rarity:var(--rarity-legendary)}.log-entries li[class*=rarity-]{color:var(--rarity)}.picker-camp{color:var(--text-muted);font-size:11px}.item-slot{aspect-ratio:1;border:1px solid var(--rarity,var(--panel-border));background:#120f18;justify-content:center;align-items:center;width:100%;padding:3px;display:flex;position:relative}.item-slot.empty{border-color:var(--panel-border);border-style:dashed}button.item-slot:disabled{background:#120f18}.item-slot.selected,.item-slot[aria-pressed=true]{border-color:var(--rarity,var(--panel-border));outline:2px solid var(--accent);outline-offset:1px;background:#120f18}.item-slot:not(.empty){box-shadow:inset 0 0 8px color-mix(in srgb, var(--rarity) 35%, transparent)}.item-icon{width:100%;height:100%;image-rendering:pixelated}.slot-label{color:var(--text-muted);text-align:center;font-size:9px;line-height:1.1}.hero-stats{flex:1;align-content:start;gap:6px;min-width:170px;min-height:224px;font-size:12px;display:grid}.sheet-tabs{flex-wrap:wrap;gap:3px;display:flex}.sheet-tabs button{padding:2px 6px;font-size:11px}.hero-stats-group{gap:1px;margin:0;display:grid}.hero-stats-title{color:var(--accent);margin-bottom:1px;font-size:11px}.hero-stats-group div{justify-content:space-between;gap:8px;display:flex}.hero-stats-group dt{color:var(--text-muted)}.hero-stats-group dd{text-align:right;margin:0}.hero-stats-group .stat-row{cursor:help}.hero-stats-group .stat-row:hover dt,.hero-stats-group .stat-row:focus-visible dt{color:var(--text)}.hero-stats-group .stat-row:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.hero-effects{gap:4px;margin:0;padding:0;list-style:none;display:grid}.hero-effects .inactive{color:var(--text-muted)}.hero-effect-source{color:var(--text-muted);font-size:11px;display:block}.hero-effects-empty{color:var(--text-muted);margin:0}.inventory-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;display:grid}.inventory-hint{color:var(--text-muted);margin:0;font-size:11px}.item-actions{flex-wrap:wrap;gap:6px;display:flex}.item-card{text-align:center;gap:2px;font-size:12px;display:grid}.item-card-name{font-family:var(--pixel-font);color:var(--rarity);font-size:12px}.item-card-type{color:var(--text-muted);margin-bottom:4px}.item-line.enhanced,.item-line.affix{color:var(--rarity-magic)}.item-line.stone-boon{color:var(--good)}.item-line.stone-reward{color:var(--text);font-weight:600}.item-line.stone-curse{color:var(--bad)}.item-line.implicit{color:var(--text);opacity:.85}.item-card-reqs{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:2px 10px;margin-top:4px;font-size:11px;display:flex}.item-card-reqs .unmet,.item-card-blocker{color:var(--bad)}.item-card-note{color:var(--text-muted);margin-top:4px;font-size:11px}.item-changes{margin:2px 0 0;padding:0;list-style:none}.item-changes .better{color:var(--better)}.item-changes .worse{color:var(--bad)}.item-changes .no-change{color:var(--text-muted)}.hover-tooltip{z-index:40;overscroll-behavior:contain;pointer-events:auto;background-color:var(--panel-2);border:2px solid var(--frame-dark);width:320px;max-height:420px;padding:8px;position:fixed;overflow-y:auto;box-shadow:0 4px #00000073,inset 2px 2px #0006}.hover-tooltip .item-card{text-align:left}.hover-tooltip .item-card-reqs{justify-content:flex-start}.hover-tooltip .item-comparison+.item-comparison{border-top:1px dotted var(--panel-border);margin-top:6px;padding-top:6px}.help-button{width:16px;height:16px;color:var(--text-muted);border-radius:50%;flex:none;padding:0;font-size:10px;line-height:1}.help-button:not(:disabled):hover{color:#f2e7cd}.hover-tooltip.help-tooltip{width:240px;max-height:none}.help-tooltip-text{color:var(--text-muted);text-align:left;margin:0;font-size:11px}.hover-tooltip.stat-tooltip{width:260px}.stat-tooltip-name{font-family:var(--pixel-font);color:var(--accent);font-size:12px}.stat-tooltip-text{color:var(--text-muted);text-align:left;margin:3px 0 0;font-size:11px}.stat-tooltip-rows{gap:1px;margin:6px 0 0;font-size:11px;display:grid}.stat-tooltip-rows div{justify-content:space-between;gap:8px;display:flex}.stat-tooltip-rows dt{color:var(--text-muted)}.stat-tooltip-rows dd{text-align:right;margin:0}.stat-tooltip-rows .total{border-top:1px dotted var(--panel-border);margin-top:3px;padding-top:3px}.stat-tooltip-rows .total dt,.stat-tooltip-rows .total dd{color:var(--text)}.stat-tooltip-note{color:var(--text-muted);text-align:left;margin:6px 0 0;font-size:10px;font-style:italic}.skill-tooltip{text-align:left;gap:4px;font-size:12px;display:grid}.log-gem{color:var(--gem)}.item-line.skill-mod{color:var(--rarity-unique)}.item-line.skill-mod.inactive{color:var(--text-muted)}.inactive-tag{font-size:11px}.item-sockets{gap:1px;margin-top:4px;display:grid}.affix-tier{color:var(--text-muted);letter-spacing:.04em;margin-left:6px;font-size:10px}.item-line.socket{text-align:left;color:var(--gem);justify-content:flex-start;align-items:center;gap:6px;display:flex}.socket-slot{border:1px solid var(--panel-border);background:#120f18;flex:none;place-items:center;width:12px;height:12px;display:grid}.socket-slot.empty{border-style:dashed;border-color:var(--text-muted)}.socket-slot .item-icon{width:10px;height:10px}.item-line.socket.empty{color:var(--text-muted);font-style:italic}.item-line.enchantment{color:var(--enchant);margin-top:4px}.item-line.enchantment.empty{color:var(--text-muted);font-style:italic}.enchantment-name{font-weight:600}.item-set{border-top:1px solid var(--panel-border);gap:1px;margin-top:6px;padding-top:4px;display:grid}.item-set-name{color:var(--rarity-set);font-weight:600}.set-piece,.set-bonus{color:var(--text-muted)}.set-piece.worn,.set-bonus.active{color:var(--rarity-set)}.item-price{color:var(--good)}.materials-bar{flex-wrap:wrap;gap:4px 16px;margin:0;font-size:12px;display:flex}.materials-bar div{gap:6px;display:flex}.materials-bar dt{color:var(--text-muted)}.materials-bar dd{margin:0}.materials-bar .gold dd{color:var(--good)}.buff-bar{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.buff-chip{color:var(--rarity-set);align-items:center;gap:4px;display:inline-flex}.buff-card{gap:2px;max-width:260px;font-size:12px;display:grid}.buff-card strong{font-family:var(--pixel-font);color:var(--accent);font-size:11px;font-weight:400}.gem-list li .consume-actions{gap:6px;margin-left:auto;display:flex}.gem-list li .consume-actions button{margin-left:0;font-size:12px}.item-workbench{gap:8px;min-width:0;display:grid}.workbench-section{border-top:1px solid var(--panel-border);gap:6px;min-width:0;padding-top:6px;display:grid}.workbench-section h4{font-family:var(--pixel-font);color:var(--accent);margin:0;font-size:11px;font-weight:400}.workbench-note{color:var(--text-muted);margin:0;font-size:12px}.workbench-blocker{color:var(--bad);font-size:12px}.enchant-offer,.gem-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.gem-list li{align-items:center;gap:8px;font-size:12px;display:flex}.gem-list li button{margin-left:auto;font-size:12px}.enchant-offer{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.enchant-offer li{background:#1a1424;border:2px solid #5a3f80;align-content:start;gap:8px;padding:10px;display:grid}.enchant-offer li button{justify-self:stretch}.stash-view,.jeweler-view,.shop-view,.filter-view{gap:10px;display:grid}.stash-tabs{flex-wrap:wrap;gap:4px;display:flex}.stash-tabs button[aria-pressed=true] .picker-camp{color:var(--bg)}.camp-subheading,.overflow-tray h3{font-family:var(--pixel-font);color:var(--text-muted);margin:0;font-size:11px;font-weight:400}.overflow-tray{border:1px solid var(--rarity-unique);gap:6px;padding:6px;display:grid}.gem-info{gap:1px;min-width:0;display:grid}.gem-name{color:var(--gem)}.gem-count{color:var(--text)}.filter-rules{gap:6px;margin:0;padding:0;list-style:none;display:grid}.filter-rule{border:1px solid var(--panel-border);background:#1d1927;gap:6px;padding:6px;font-size:12px;display:grid}.filter-rule.disabled{opacity:.55}.filter-rule-head,.filter-conditions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-rule-moves{gap:4px;margin-left:auto;display:flex}.filter-rule-moves button{padding:2px 8px}.filter-chips{flex-wrap:wrap;gap:4px;display:flex}button.chip{padding:2px 8px;font-size:11px}button.chip[class*=rarity-]{color:var(--rarity)}button.chip[class*=rarity-][aria-pressed=true]{color:var(--bg);background:var(--rarity);border-color:var(--rarity)}.number-input{width:56px;padding:2px 6px}.item-ranks{color:var(--rarity-unique)}.gear-skills h3{font-family:var(--pixel-font);color:var(--accent);margin:0 0 4px;font-size:11px;font-weight:400}.gear-skills ul{color:var(--rarity-unique);margin:0;padding-left:18px;font-size:12px}button.primary{color:var(--bg);background:var(--accent);border-color:var(--accent)}button.primary:not(:disabled):hover{filter:brightness(1.1)}button.primary.danger{background:var(--bad);border-color:var(--bad)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}textarea{width:100%;color:var(--text);border:1px solid var(--panel-border);resize:vertical;background:#110e17;padding:6px;font:12px ui-monospace,monospace}.stat-list{gap:4px;margin:0;font-size:12px;display:grid}.stat-list div{justify-content:space-between;gap:12px;display:flex}.stat-list dt{color:var(--text-muted)}.stat-list dd{text-align:right;margin:0}.stat-rarities{gap:8px;display:inline-flex}.stat-rarities span{color:var(--rarity)}.achievement-group h3{color:var(--accent);margin:12px 0 6px;font-size:12px}.achievement-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.achievement{border:1px solid var(--panel-border);opacity:.75;padding:6px 8px;font-size:12px}.achievement.done{border-color:var(--accent);opacity:1}.achievement-head{justify-content:space-between;gap:12px;display:flex}.achievement.done .achievement-head span{color:var(--good)}.achievement-head span,.achievement p{color:var(--text-muted)}.achievement p{margin:2px 0 0}.achievement-bar{width:100%;height:4px;accent-color:var(--accent);margin-top:4px}.rarity-legend{flex-wrap:wrap;gap:8px;margin:6px 0 0;font-size:11px;display:flex}.rarity-legend span{color:var(--rarity)}.toasts{z-index:30;pointer-events:none;justify-items:end;gap:6px;display:grid;position:fixed;bottom:16px;right:16px}.toast{text-align:left;border:1px solid var(--panel-border);border-left:3px solid var(--accent);pointer-events:auto;background:#211c2b;max-width:360px;padding:8px 12px;font-size:13px;animation:.16s ease-out toast-in;box-shadow:0 4px 16px #0006}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}.start-screen{align-content:center;justify-items:center;gap:16px;min-height:100%;padding:32px 16px;display:grid}.start-title{text-align:center}.start-title h1{font-family:var(--pixel-font);color:var(--accent);letter-spacing:.04em;margin:0;font-size:32px;font-weight:400}.start-title p{color:var(--text-muted);margin:8px 0 0}.start-card{background:var(--panel);border:1px solid var(--panel-border);gap:12px;width:min(560px,100%);padding:16px;display:grid}.start-card h2,.settings-section h2,.modal h2{font-family:var(--pixel-font);color:var(--accent);margin:0;font-size:12px;font-weight:400}.start-actions{flex-wrap:wrap;gap:6px;display:flex}.start-hint,.setting-hint{color:var(--text-muted);margin:0;font-size:12px}.start-error{width:min(560px,100%);color:var(--bad);margin:0;font-size:12px}.settings-panel{gap:14px;display:grid}.settings-section{gap:6px;display:grid}.settings-section+.settings-section{border-top:1px dashed var(--panel-border);padding-top:12px}.setting-row{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.setting-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.setting-choice{border:0;gap:4px;margin:0;padding:0;font-size:13px;display:grid}.setting-choice label{cursor:pointer;align-items:center;gap:8px;display:flex}.setting-choice input{accent-color:var(--accent)}.modal-backdrop{z-index:20;background:#08060cb8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--accent);gap:12px;width:min(460px,100%);padding:20px;display:grid;box-shadow:0 8px 32px #00000080}.modal p{margin:0;font-size:13px;line-height:1.5}.act-summary h2{font-size:16px}.act-summary-kicker{font-family:var(--pixel-font);color:var(--good);font-size:11px}:root{--bg:#0a0810;--panel:#17131f;--panel-2:#1e1830;--panel-3:#262040;--panel-border:#352c46;--frame-dark:#06050a;--frame-gold:#6b5426;--frame-gold-dim:#3a2f1c;--accent-dim:#8a7446;--text:#ded6c6}body{background:radial-gradient(1200px 700px at 50% -20%, #1b1428, var(--bg)) fixed}.bottom-strip,.side-panel,.game-modal,.start-card,.modal,.damage-meter,.hero-card,.autocast-order,.filter-rule,.toast,.talent-tree-scroll,.overflow-tray{border:2px solid var(--frame-dark);background-color:var(--panel);box-shadow:inset 0 0 0 1px var(--frame-gold-dim), inset 0 0 0 3px #1a1526, inset 3px 3px 0 3px #ffffff0a, inset -3px -3px 0 3px #00000073;background-image:repeating-conic-gradient(#ffffff04 0% 25%,#0000 0% 50%);background-size:4px 4px;border-radius:0}.start-card,.modal{box-shadow:inset 0 0 0 1px var(--frame-gold-dim), inset 0 0 0 3px #1a1526, inset 3px 3px 0 3px #ffffff0a, inset -3px -3px 0 3px #00000073, 0 12px 32px #0000008c}.modal:before{content:"";pointer-events:none;border:1px solid #c9a45c2e;position:absolute;inset:6px}button{border:2px solid var(--frame-dark);font-family:var(--pixel-font);letter-spacing:.02em;background:linear-gradient(#2e2547,#1e1830);border-radius:0;justify-content:center;align-items:center;gap:5px;padding:5px 9px;font-size:10px;line-height:1.3;display:inline-flex;box-shadow:inset 0 1px #ffffff14,inset 0 -2px #00000073}button:not(:disabled):hover{border-color:var(--frame-gold);color:#f2e7cd;background:linear-gradient(#392e56,#241d3a)}button:not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 2px #00000080}button:disabled{color:var(--text-muted);background:#171221;border-color:#14101c}button[aria-pressed=true],button[aria-pressed=true]:not(:disabled):hover,.tabs button[aria-selected=true],.tabs button[aria-selected=true]:not(:disabled):hover{border-color:var(--frame-dark);color:#1d1508;text-shadow:0 1px #ffffff38;background:linear-gradient(#e6c169,#ab8433);box-shadow:inset 0 1px #ffffff73,inset 0 -2px #00000040}button.primary{border-color:var(--frame-dark);color:#1d1508;background:linear-gradient(#e6c169,#ab8433)}button.primary:not(:disabled):hover{color:#1d1508;background:linear-gradient(#f0cf78,#bb9440)}button.primary.danger{color:#ffe3df;background:linear-gradient(#c0443a,#8a2b24)}button.primary:disabled{color:var(--text-muted);background:#171221;border-color:#14101c}button.danger:not(:disabled):hover,button.danger.armed{color:#ffd9d4;background:linear-gradient(#6a2620,#4a1a16);border-color:#8a2f28}button.icon-button{padding:3px 5px}select,input,textarea{border:2px solid var(--frame-dark);color:var(--text);background:#120e1c;border-radius:0;padding:4px 6px;box-shadow:inset 2px 2px #00000073}input[type=checkbox]{box-shadow:none;background:0 0;border:0;padding:0}*{scrollbar-color:#3d3352 #0b0812;scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{border:2px solid var(--frame-dark);background:#0b0812}::-webkit-scrollbar-thumb{border:2px solid var(--frame-dark);background:#3d3352}::-webkit-scrollbar-thumb:hover{background:#4c4166}.game-icon{vertical-align:middle;flex:none}.top-bar{border-bottom:2px solid var(--frame-dark);background:linear-gradient(#1b1528,#0f0c17);align-items:center;gap:14px;padding:7px 12px;box-shadow:0 2px #0009,inset 0 -1px #ffffff0d}.top-bar h1{letter-spacing:.06em;text-shadow:0 2px #000;align-items:center;gap:8px;font-size:15px;display:inline-flex}.top-bar h1 .game-icon{color:var(--accent)}.combat-area{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold-dim), inset 0 0 26px #000000b3;background:#06050a}.bottom-strip{padding:10px}.tabs,.gear-tabs{border-bottom:2px solid var(--frame-dark);flex-wrap:wrap;gap:5px;padding-bottom:9px;display:flex;box-shadow:0 2px #ffffff0a}.tabs button,.gear-tabs button{padding:6px 9px;font-size:12px}.icon-button{align-items:center;padding:3px 6px;display:inline-flex}.gear-badge{color:var(--text-muted);border:1px solid var(--panel-border);background:#120e1c;padding:0 4px;font-size:9px}button[aria-pressed=true] .gear-badge,.tabs button[aria-selected=true] .gear-badge{color:#2a1f08;background:#00000024;border-color:#00000040}.equipment-view{gap:14px;display:grid}.character-view{grid-template-columns:auto minmax(260px,1fr);align-items:stretch;gap:14px;display:grid}.paper-doll{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold-dim);background:radial-gradient(260px 220px at 50% 45%,#231b33,#110d18);grid-template-rows:repeat(4,56px) 66px;grid-template-columns:56px 118px 118px 56px;grid-template-areas:"head figure figure gloves""amulet figure figure boots""body figure figure ring1""belt figure figure ring2"".mainHand offHand.";gap:10px 12px;padding:14px 16px;display:grid}.paper-doll .item-slot{width:56px}.paper-doll .item-slot[style*=mainHand],.paper-doll .item-slot[style*=offHand]{width:66px}.paper-doll .item-slot[style*=mainHand]{justify-self:end}.doll-figure{flex-direction:column;grid-area:figure;align-items:center;min-width:0;display:flex}.doll-name{font-family:var(--pixel-font);color:var(--hero-color,var(--accent));font-size:13px}.doll-meta{color:var(--text-muted);font-size:11px}.hero-sprite{margin-top:auto;position:relative;overflow:hidden}.hero-sprite-shadow{background:#0000008c;border-radius:50%;width:120px;height:16px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hero-sprite-strip{image-rendering:pixelated;background-position:0 0;background-repeat:no-repeat;animation-name:sprite-strip;animation-iteration-count:infinite;position:absolute}@keyframes sprite-strip{to{background-position-x:var(--strip-end)}}@media (prefers-reduced-motion:reduce){.hero-sprite-strip{animation:none}}.gear-stats{contain:size;border:2px solid var(--frame-dark);min-width:0;box-shadow:inset 0 0 0 1px var(--frame-gold-dim);background:#120f19;flex-direction:column;gap:6px;padding:14px;display:flex}.gear-stats h3{font-family:var(--pixel-font);letter-spacing:.06em;color:var(--accent);margin:0;font-size:11px;font-weight:400}.gear-stats-scroll{scrollbar-gutter:stable;flex:1;min-height:0;padding:0 8px 4px 0;overflow-y:auto}.gear-stats-scroll .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 28px;min-height:0}.gear-stats-scroll .sheet-tabs,.gear-stats-scroll .hero-effects,.gear-stats-scroll .hero-effects-empty{grid-column:1/-1}.gear-stats-scroll .sheet-tabs{z-index:1;background:#120f19;padding:4px 0 8px;position:sticky;top:0}.bag-view,.stash-view{gap:10px;display:grid}.bag-bar{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;font-size:11px;display:flex}.bag-count{font-family:var(--pixel-font);color:var(--accent);align-items:center;gap:6px;font-size:10px;display:inline-flex}.bag-body{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;display:grid}.bag-body>.inventory-grid{grid-template-columns:repeat(10,64px);gap:5px}.bulk-bar{border:2px solid var(--frame-dark);background-color:var(--panel-2);background-image:repeating-conic-gradient(#ffffff04 0% 25%,#0000 0% 50%);background-size:4px 4px;flex-direction:column;align-items:stretch;gap:8px;padding:12px;display:flex;box-shadow:inset 2px 2px #0006}.bulk-title{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:9px}.bulk-chips{flex-wrap:wrap;gap:4px;display:flex}.bulk-bar{align-self:start}.bulk-action{justify-content:center;padding:4px 8px;font-size:9px}.item-slot{border:2px solid var(--frame-dark);background:linear-gradient(#0d0a13,#151020);padding:4px;position:relative;box-shadow:inset 2px 2px #0009,inset -1px -1px #ffffff0d}.item-slot.empty{box-shadow:none;border-style:dashed;border-color:#2a2338}.item-slot:not(.empty){border-color:color-mix(in srgb, var(--rarity) 60%, #07050b);box-shadow:inset 2px 2px 0 #0000008c, inset -1px -1px 0 #ffffff0d, inset 0 0 10px color-mix(in srgb, var(--rarity) 30%, transparent)}.item-slot:not(.empty):hover{box-shadow:0 0 0 1px var(--rarity), inset 2px 2px 0 #0000008c, inset 0 0 12px color-mix(in srgb, var(--rarity) 40%, transparent)}.item-slot.unusable:not(.empty){background:linear-gradient(#3a0f14,#55161c)}.item-slot.unusable:not(.empty) .item-icon{opacity:.75}.item-slot .slot-lock{filter:drop-shadow(0 0 1px #000);pointer-events:none;position:absolute;bottom:1px;right:1px}.item-slot .slot-wait{filter:drop-shadow(0 0 1px #000);pointer-events:none;animation:.9s ease-in-out infinite alternate slot-wait-pulse;position:absolute;top:1px;left:1px}.item-slot.blocked:not(.empty){border-color:color-mix(in srgb, var(--rarity) 35%, #07050b)}.item-slot.blocked:not(.empty) .item-icon{opacity:.5}@keyframes slot-wait-pulse{0%{opacity:.45}to{opacity:1}}.item-slot.selected,.item-slot[aria-pressed=true]{outline:2px solid var(--accent);outline-offset:0;background:linear-gradient(#0d0a13,#151020)}.item-slot.drop-target,.inventory-grid.drop-target{outline:2px dashed var(--better);outline-offset:1px}.item-slot.filtered-out:not(.empty){opacity:.22;filter:grayscale(.9)}.item-slot.filtered-out:not(.empty):hover,.item-slot.filtered-out:not(.empty):focus-visible{opacity:1;filter:none}.item-search{gap:8px;display:grid}.item-search-bar{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.item-search-input{flex:1;min-width:140px;max-width:300px}.item-search-badge{color:var(--bg);background:var(--accent);margin-left:5px;padding:0 4px;font-size:9px}.item-search-count{color:var(--accent);margin-left:auto;font-size:11px}.item-search-panel{border:1px solid var(--panel-border);background:#120e1c;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;padding:10px;display:grid}.item-search-field{border:0;align-content:start;gap:6px;margin:0;padding:0;display:grid}.item-search-field>legend{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;padding:0;font-size:11px}.item-search-field select{width:100%}.item-search-group{gap:4px;display:grid}.item-search-group-label{color:var(--text-muted);font-size:10px}.sort-buttons{color:var(--text-muted);align-items:center;gap:4px;display:inline-flex}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px}.meter{border:2px solid var(--frame-dark);background:#0a0710;height:20px;box-shadow:inset 2px 2px #0000008c}.meter-fill{position:relative}.meter-fill:after{content:"";pointer-events:none;background:linear-gradient(#ffffff52,#0000 48%);position:absolute;inset:0}.meter-label{line-height:16px}.meter-xp{height:14px}.meter-xp .meter-label{font-size:9px;line-height:10px}.meter-xp .meter-fill:after{background:repeating-linear-gradient(90deg,#0000 0 7px,#00000073 7px 8px)}.zone-name{text-shadow:0 2px #000;font-size:14px}.zone-status{border-bottom:2px solid var(--frame-dark);box-shadow:0 2px #ffffff0a}.wave-pip{border-width:2px;height:10px}.log-entries li{border-bottom:1px dotted #ffffff0a;padding:2px 0}.talent-node,.act-progress-bar,.act-progress-bar>div{border-width:2px}.start-screen{background:radial-gradient(900px 520px at 50% 0%, #201732, transparent), repeating-conic-gradient(#ffffff03 0% 25%, transparent 0% 50%) 0 0 / 6px 6px, var(--bg)}.start-title h1{letter-spacing:.08em;color:#f0d18a;text-shadow:0 3px #6b4f18,0 0 26px #c9a45c59;font-size:40px}.start-card{padding:20px}.start-card h2,.settings-section h2,.modal h2{letter-spacing:.06em;font-size:13px}.toast{border-left:4px solid var(--accent);background-color:#1d1830;justify-content:flex-start;font-family:system-ui,sans-serif;font-size:12px}.toast-error{border-left-color:var(--bad)}.toast-success{border-left-color:var(--better)}.settings-section{gap:8px}.setting-row{padding:3px 0}.materials-bar{align-items:center;gap:5px 14px}.materials-bar dt{align-items:center;gap:5px;display:inline-flex}.online-account,.online-auth,.online-ranking,.arena-challenge{gap:10px;display:grid}.season-badge{border:1px solid var(--panel-border);width:fit-content;color:var(--accent);white-space:nowrap;border-radius:999px;place-self:flex-start start;padding:2px 8px;font-size:11px}.camp-subheading-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.ranking-table{border-collapse:collapse;width:100%;font-size:13px}.ranking-table th,.ranking-table td{text-align:left;border-bottom:1px solid var(--panel-border);padding:4px 8px}.auction{gap:10px;display:grid}.auction-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.auction-top .gear-tabs{flex:1}.auction-purse,.auction-gold{color:var(--good);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.auction-purse{border:1px solid var(--panel-border);background:#120e1c;padding:5px 8px;font-size:13px}.gear-badge.attention{color:var(--bg);background:var(--accent);border-color:var(--accent)}.auction-browse,.auction-mine{grid-template-columns:220px minmax(0,1fr) minmax(240px,300px);align-items:start;gap:14px;display:grid}.auction-mine{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}.auction-filters{border:1px solid var(--panel-border);background:#120e1c;gap:10px;padding:10px;display:grid}.auction-filters-head,.auction-results-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.auction-search,.auction-filters select{width:100%}.auction-field{color:var(--text-muted);gap:4px;font-size:12px;display:grid}.auction-fieldset{border:0;gap:6px;margin:0;padding:0;display:grid}.auction-fieldset legend,.auction-group-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;padding:0;font-size:11px}.auction-group-label{margin:2px 0;font-size:10px;display:block}.auction-chips{flex-wrap:wrap;gap:4px;display:flex}button.auction-chip{color:var(--rarity,var(--text));padding:2px 7px;font-size:11px}button.auction-chip[aria-pressed=true]{color:var(--bg);background:var(--rarity,var(--accent));border-color:var(--rarity,var(--accent))}button.auction-chip.removable{color:var(--text);border-color:var(--accent)}.auction-range{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;display:grid}.auction-range input{width:100%;min-width:0}.auction-results{gap:8px;min-width:0;display:grid}.auction-results>section{gap:6px;display:grid}.auction-row,.auction-list-head{grid-template-columns:36px minmax(0,1fr) 96px 84px 72px;align-items:center;gap:10px;display:grid}.auction-list-head{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 8px;font-size:10px}.auction-list{gap:3px;min-height:120px;max-height:calc(100vh - 300px);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.auction-mine .auction-list{min-height:0;max-height:calc(50vh - 150px)}.auction-row{text-align:left;background:var(--panel);border:1px solid var(--panel-border);width:100%;padding:4px 8px}.auction-row[aria-pressed=true],.auction-row[aria-pressed=true]:not(:disabled):hover{color:var(--text);border-color:var(--accent);background:#241d14}.auction-row .item-slot{width:36px;height:36px;padding:2px}.auction-row-item,.auction-row-price,.mail-reason{min-width:0;display:grid}.auction-row-name{min-width:0;color:var(--rarity);align-items:center;gap:6px;font-size:13px;display:flex}.auction-row-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.auction-row-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.auction-row-price,.auction-row-buyout,.auction-row-time{font-size:12px}.auction-row-time{color:var(--text-muted);text-align:right}.auction-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);border:1px solid;flex:none;padding:0 4px;font-size:9px}.auction-tag.leading{color:var(--better)}.auction-tag.outbid{color:var(--bad)}.auction-tag.seller{color:var(--accent)}.auction-detail,.auction-sell-form{align-content:start;gap:10px;min-width:0;display:grid}.auction-detail-empty{border:1px dashed var(--panel-border);padding:12px}.auction-facts{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:12px;display:grid}.auction-facts dt{color:var(--text-muted)}.auction-facts dd{margin:0}.auction-actions{gap:8px;display:grid}.auction-bid-input{gap:6px;display:flex}.auction-bid-input input{flex:1;min-width:0}.auction-leading{color:var(--better)}.auction-sell{grid-template-columns:minmax(240px,320px) minmax(0,360px)}.auction-sell-form input{width:100%}.mail-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.mail-entry{background:var(--panel);border:1px solid var(--panel-border);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:6px 8px;font-size:13px;display:grid}.mail-entry.claimed{opacity:.55}.mail-contents{align-items:center;gap:10px;display:flex}.mail-item{color:var(--rarity)}@media (width<=1100px){.auction-browse{grid-template-columns:200px minmax(0,1fr)}.auction-browse>.auction-detail,.auction-browse>.auction-detail-empty{grid-column:1/-1}.auction-mine,.auction-sell{grid-template-columns:minmax(0,1fr)}}.top-bar{flex-wrap:nowrap}.account-button{margin-left:auto;padding:5px 10px;font-size:11px}.shell{--rail-width:84px;grid-template-columns:var(--rail-width) minmax(0, 1fr) 340px;flex:1;grid-template-rows:minmax(0,1fr) minmax(150px,30%);grid-template-areas:"rail combat side""rail log side";gap:10px;min-height:0;padding:10px;display:grid}.rail{z-index:16;scrollbar-width:none;flex-direction:column;grid-area:rail;gap:4px;min-height:0;display:flex;position:relative;overflow-y:auto}.rail-group{flex-direction:column;gap:4px;display:flex}.rail-group-name{border-top:1px solid var(--panel-border);font-family:var(--pixel-font);letter-spacing:.08em;text-align:center;text-transform:uppercase;color:var(--accent-dim);padding:6px 0 2px;font-size:8px}.rail-group:first-child .rail-group-name{border-top:0;padding-top:0}.rail-button{letter-spacing:.04em;text-transform:uppercase;flex-direction:column;flex-shrink:0;gap:4px;padding:11px 2px 6px;font-size:8px;position:relative}.rail-key{opacity:.75;position:absolute;top:3px;left:4px}.rail-button[aria-pressed=true] .rail-key{color:#1d1508;background:#0000001f;border-color:#00000040}.rail-button .tab-dot{background:var(--good);width:8px;height:8px;box-shadow:0 0 0 2px var(--frame-dark);border-radius:0;margin:0;position:absolute;top:7px;right:9px}.combat-area{grid-area:combat;min-width:0;min-height:0;position:relative}.combat-area .damage-meter{contain:paint}.bottom-strip{grid-area:log;min-height:0}.expedition-side{flex-direction:column;grid-area:side;gap:8px;min-height:0;display:flex}.side-panel{flex-direction:column;gap:10px;min-height:0;padding:10px;display:flex}.side-panel.party-panel{flex:0 auto;overflow-y:auto}.side-panel.loot-panel{flex:1 1 0;overflow-y:auto}button.small{padding:3px 7px;font-size:9px}button.link{box-shadow:none;text-align:left;background:0 0;border:0;padding:0}button.link:not(:disabled):hover{background:0 0;text-decoration:underline}kbd{font-family:var(--pixel-font);color:var(--accent);border:1px solid var(--panel-border);background:#120f18;padding:0 4px;font-size:8px}.feed-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.feed-head h2,.camp h2{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0;font-size:11px;font-weight:400}.hero-card .hero-heading{align-items:center;gap:8px}.hero-card .hero-name,.camp .hero-name{font-family:var(--pixel-font);color:var(--hero-color,var(--accent));font-size:12px}.hero-card .hero-meta{margin-left:auto}.hero-card .points-badge,.camp .points-badge{padding:2px 6px;font-size:9px}.loot-feed{align-content:start;gap:6px;min-height:0;display:grid}.feed-entries{margin:0;padding:0;font-size:12px;list-style:none}.feed-entries li{border-bottom:1px dotted #ffffff0f;padding:3px 0}.feed-entries li[class*=rarity-]{color:var(--rarity)}.modal.sheet{flex-direction:column;gap:10px;width:min(720px,100%);max-height:calc(100vh - 48px);padding:16px;display:flex;position:relative}.modal.formation-sheet{width:min(780px,100%)}.sheet-head{justify-content:space-between;align-items:center;display:flex}.sheet-head h2{margin:0}.sheet-body{min-height:0;overflow-y:auto}.hero-strip{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.hero-strip-gap{background:var(--panel-border);width:2px;margin:4px}.hero-chip{gap:8px;padding:6px 12px 6px 8px;font-size:11px}.hero-chip.resting{opacity:.8}.hero-chip-mark{background:var(--hero-color);border:2px solid var(--frame-dark);width:14px;height:14px}.hero-chip-meta{opacity:.8;font-family:system-ui,sans-serif;font-size:11px}.hero-chip .tab-dot{margin:0}.equipment-view{gap:16px}.bag-bar{justify-content:flex-start}.bag-bar .bag-hint{flex:1}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.item-menu{z-index:30;border:2px solid var(--accent-dim);width:330px;max-height:calc(100vh - 16px);box-shadow:0 0 0 2px var(--frame-dark), 0 14px 36px #000000a6;background:#130f1a;gap:8px;padding:10px;display:grid;position:fixed;overflow-y:auto}.item-menu-close{z-index:1;position:absolute;top:8px;right:8px}.item-menu-card .item-card{box-shadow:none;background:0 0;border:0;padding:0}.item-menu-hero{color:var(--text-muted);align-items:center;gap:8px;font-size:12px;display:flex}.item-menu-hero select{flex:1}.item-menu-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.item-menu-wait{color:var(--text-muted);grid-column:1/-1;margin:0;font-size:11px}.item-menu-stations{border-top:1px solid var(--panel-border);gap:5px;padding-top:8px;display:grid}.item-menu-heading{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:var(--enchant);font-size:9px}.station-link{justify-content:flex-start;gap:8px}.station-link-note{color:var(--text-muted);margin-left:auto;font-family:system-ui,sans-serif;font-size:11px}.stash-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.stash-pane{gap:8px;min-width:0;display:grid}.stash-pane>.inventory-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.stash-tabs{margin-left:auto}.stash-tabs button{min-width:30px}.stash-tabs .tab-matches{color:var(--bg);background:var(--accent);margin-left:5px;padding:0 4px;font-size:9px}.stash-tabs .tab-matches.none{color:var(--text-muted);background:0 0}.stash-tabs button[aria-pressed=true] .tab-matches{color:var(--accent);background:var(--bg)}.overflow-tray{flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.overflow-text{flex:1;min-width:180px}.overflow-text p{color:var(--text-muted);margin:2px 0 0;font-size:12px}.overflow-tray .inventory-grid{gap:4px;display:flex}.overflow-tray .item-slot{width:44px;height:44px}.work-station{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.work-station.jeweler{grid-template-columns:minmax(220px,260px) minmax(0,1fr) minmax(220px,280px)}.item-picker{gap:8px;min-width:0;display:grid}.picker-sources{gap:4px;display:flex}.picker-list{max-height:calc(var(--modal-height) - 170px);gap:2px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.jeweler-bench{align-content:start;gap:10px;min-width:0;display:grid}.bench-item{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold-dim), inset 2px 2px 0 #ffffff0a;background:linear-gradient(#1a1428,#120e1c);align-items:center;gap:12px;padding:10px 12px;display:flex}.bench-item:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bench-item-icon{border:2px solid color-mix(in srgb, var(--rarity) 55%, var(--frame-dark));width:56px;height:56px;box-shadow:inset 0 0 12px color-mix(in srgb, var(--rarity) 30%, transparent);background:linear-gradient(#0d0a13,#151020);flex:none;place-items:center;padding:5px;display:grid}.bench-item-text{gap:2px;min-width:0;display:grid}.bench-item-name{font-family:var(--pixel-font);color:var(--rarity);font-size:13px}.bench-item-meta{color:var(--text-muted);font-size:11px}.bench-sockets{gap:8px;margin:0;padding:0;list-style:none;display:grid}.bench-socket{border:1px solid var(--panel-border);background:#120f18;align-items:center;gap:12px;padding:8px 10px;display:flex}.bench-socket.filled{border-color:color-mix(in srgb, var(--gem) 40%, var(--panel-border));box-shadow:inset 0 0 12px color-mix(in srgb, var(--gem) 12%, transparent);animation:.22s ease-out bench-socket-set}@keyframes bench-socket-set{0%{box-shadow:0 0 0 2px var(--gem);transform:scale(.97)}}.bench-socket.empty.drop{border-color:var(--better);box-shadow:0 0 0 1px var(--better)}.bench-socket-slot{border:2px solid var(--frame-dark);background:radial-gradient(circle at 50% 35%,#1f1830,#0d0a13 72%);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;padding:6px;display:grid;position:relative;box-shadow:inset 0 2px 4px #000000b3,inset 0 -1px #ffffff0f}.bench-socket-slot:disabled{background:radial-gradient(circle at 50% 35%,#1f1830,#0d0a13 72%)}.bench-socket-slot.empty{border-style:dashed;border-color:#3a3350}.bench-socket-slot.ready{cursor:pointer;border-color:color-mix(in srgb, var(--gem) 55%, var(--panel-border))}.bench-socket-slot.ready:not(:disabled):hover{border-color:var(--gem);box-shadow:0 0 0 2px color-mix(in srgb, var(--gem) 30%, transparent)}.bench-socket-slot.blocked{border-color:color-mix(in srgb, var(--bad) 55%, var(--panel-border))}.bench-socket-slot.blocked:disabled{background:radial-gradient(circle at 50% 35%,#2a1218,#0d0a13 72%)}.bench-socket-slot.drop{border-style:solid;border-color:var(--better);box-shadow:0 0 0 2px var(--better)}.bench-socket-ghost{opacity:.45;width:100%;height:100%;display:block}.bench-socket-plus{font-family:var(--pixel-font);color:#4c4268;font-size:16px;line-height:1}.bench-socket-text{flex:1;gap:2px;min-width:0;display:grid}.bench-socket-name{color:var(--gem);font-size:12px}.bench-socket-name.muted{color:var(--text-muted)}.bench-socket-name.blocked{color:var(--bad)}.bench-socket-effect{color:var(--text);font-size:11px}.bench-socket-effect.blocked{color:var(--bad)}.bench-socket-action{flex:none;font-size:10px}.bench-held{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold-dim);background:linear-gradient(#1c1430,#140f22);align-items:center;gap:12px;padding:10px 12px;display:flex}.bench-held.empty{box-shadow:none;border-style:dashed;justify-content:center}.bench-held.blocked{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--bad) 45%, transparent)}.bench-held-icon{border:2px solid var(--frame-dark);background:#120f18;flex:none;place-items:center;width:44px;height:44px;padding:4px;display:grid;position:relative}.bench-held-text{flex:1;gap:2px;min-width:0;display:grid}.bench-held-name{color:var(--gem);font-size:12px}.bench-held-effect{color:var(--text);font-size:11px}.bench-held-blocker{color:var(--bad);font-size:11px}.bench-held-hint,.bench-full{color:var(--text-muted);margin:0;font-size:12px}.gem-shelf{max-height:calc(var(--modal-height) - 150px);scrollbar-gutter:stable;gap:7px;margin:0;padding:0 6px 0 0;list-style:none;display:grid;overflow-y:auto}.gem-chip-row{border-bottom:1px solid var(--panel-border);justify-items:start;gap:4px;padding-bottom:7px;display:grid}.gem-chip{text-align:left;border:2px solid var(--frame-dark);background:#14101f;justify-content:flex-start;gap:10px;width:100%;padding:6px 8px}.gem-chip[aria-pressed=true],.gem-chip[aria-pressed=true]:not(:disabled):hover{border-color:var(--gem);box-shadow:0 0 0 1px color-mix(in srgb, var(--gem) 45%, transparent);color:var(--text);text-shadow:none;background:#1d1633}.gem-chip-icon{border:2px solid var(--frame-dark);background:#120f18;flex:none;place-items:center;width:40px;height:40px;padding:4px;display:grid;position:relative}.gem-chip-body{letter-spacing:0;flex:1;gap:1px;min-width:0;font-family:system-ui,sans-serif;display:grid}.gem-chip-name{color:var(--gem);font-size:12px}.gem-chip .gem-count{color:var(--text);font-family:system-ui,sans-serif}.gem-effects{color:var(--text-muted);font-size:11px}.gem-effect.on{color:var(--text)}.gem-req{color:var(--text-muted);font-size:10px}.gem-req.blocked{color:var(--bad)}.gem-chip-row.blocked .gem-chip{opacity:.45;cursor:not-allowed}.gem-forge{flex-wrap:wrap;align-items:center;gap:4px 8px;width:100%;display:flex}.forge-recipe{align-items:center;gap:3px;display:flex}.forge-slot{background:#0d0a13;border:1px dashed #3a3350;place-items:center;width:20px;height:20px;padding:2px;display:grid}.forge-slot.on{border-style:solid;border-color:color-mix(in srgb, var(--gem) 45%, var(--frame-dark));box-shadow:inset 0 0 6px color-mix(in srgb, var(--gem) 25%, transparent)}.forge-slot.result{border-style:solid;border-color:color-mix(in srgb, var(--accent) 45%, var(--frame-dark));background:#171126;animation:.22s ease-out forge-pop}.forge-result-count{font-family:var(--pixel-font);color:var(--accent);font-size:10px}@keyframes forge-pop{0%{box-shadow:0 0 0 2px var(--accent);transform:scale(.65)}}.forge-arrow{color:var(--text-muted);padding:0 2px;font-size:12px}.forge-progress{color:var(--text-muted);font-size:11px}.gem-combine{margin-left:auto;padding:3px 8px;font-size:10px}.gem-combine:disabled .cost-badge{color:var(--text-muted)}.cost-badge{color:var(--good);font-variant-numeric:tabular-nums;align-items:center;gap:3px;margin-left:2px;display:inline-flex}.gem-pips{border:1px solid var(--frame-dark);background:#06050a;gap:2px;padding:1px 2px;display:flex;position:absolute;bottom:-3px;left:50%;transform:translate(-50%)}.gem-pips i{background:#3a3350;width:3px;height:3px}.gem-pips i.on{background:var(--gem);box-shadow:0 0 2px var(--gem)}.enchanter-bench{align-content:start;gap:10px;min-width:0;display:grid}.enchant-tool,.craft-tool{gap:10px;min-width:0;display:grid}.enchant-current{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--enchant) 28%, var(--frame-gold-dim));background:linear-gradient(#1c1430,#140f22);align-items:center;gap:12px;padding:10px 12px;display:flex}.enchant-current.empty{box-shadow:none;border-style:dashed}.enchant-rune{width:44px;height:44px;color:var(--enchant);border:2px solid var(--frame-dark);box-shadow:inset 0 0 10px color-mix(in srgb, var(--enchant) 25%, transparent);background:#120f18;flex:none;place-items:center;padding:2px;display:grid}.enchant-current-text{gap:2px;min-width:0;display:grid}.enchant-name{font-family:var(--pixel-font);color:var(--enchant);font-size:12px}.enchant-name.muted{color:var(--text-muted)}.enchant-tier{color:var(--accent)}.enchant-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--panel-border);margin-top:2px;padding:0 4px;font-size:9px;display:inline-block}.enchant-text{color:var(--text);font-size:12px}.enchant-text.muted{color:var(--text-muted)}.enchant-action{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.enchant-action button{margin-left:auto}.enchant-head{align-items:center;gap:10px;display:flex}.enchant-offer .enchant-rune{width:36px;height:36px}.enchant-offer .enchant-name{font-size:11px}.enchant-tool .decline{justify-self:start}.cost-line{flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:inline-flex}.cost-badge.material{color:var(--text)}.craft-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.craft-row{border:1px solid var(--panel-border);background:#120f18;align-items:center;gap:10px;padding:8px 10px;display:flex}.craft-row.chosen{border-color:color-mix(in srgb, var(--enchant) 45%, var(--panel-border));box-shadow:inset 0 0 10px color-mix(in srgb, var(--enchant) 10%, transparent)}.craft-text{flex:1;gap:2px;min-width:0;display:grid}.craft-effect{color:var(--rarity-magic);font-size:12px}.craft-meta{color:var(--text-muted);font-size:11px}.craft-tag{color:var(--enchant);margin-left:6px}.craft-cost{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:12px;display:flex}.craft-dearer{color:var(--text-muted);font-size:11px}.craft-row button{flex:none}.picker-row{text-align:left;width:100%;box-shadow:none;background:0 0;border-color:#0000;justify-content:flex-start;gap:10px;padding:4px 6px}.picker-row[aria-pressed=true],.picker-row[aria-pressed=true]:not(:disabled):hover{border-color:var(--accent);box-shadow:none;color:var(--text);text-shadow:none;background:#241d14}.picker-row .item-slot{flex:none;width:36px;height:36px;padding:2px}.picker-text{min-width:0;display:grid}.picker-name{letter-spacing:0;color:var(--rarity);white-space:nowrap;text-overflow:ellipsis;font-family:system-ui,sans-serif;font-size:12px;overflow:hidden}.picker-where{letter-spacing:0;color:var(--text-muted);font-family:system-ui,sans-serif;font-size:11px}.picker-note{color:var(--enchant)}.work-bench{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.work-empty{color:var(--text-muted);border:2px dashed var(--panel-border);grid-column:1/-1;margin:0;padding:24px;font-size:13px}.work-side{min-width:0}.window-screen:has(>.arena){height:100%}.arena{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;min-height:0;display:grid}.arena-ladder,.arena-pvp,.arena .arena-challenge,.arena .online-ranking{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.arena .arena-challenge,.arena .online-ranking{flex:1;gap:10px}.table-scroll{border:1px solid var(--panel-border);scrollbar-gutter:stable;background:#120f19;flex:0 auto;min-height:0;overflow-y:auto}.table-scroll thead th{z-index:1;background:#1d1829;position:sticky;top:0}.arena-pvp .workbench-note{margin:0}.pvp-profile{gap:24px;display:flex}.pvp-profile>div{display:grid}.pvp-profile small{color:var(--text-muted);text-transform:uppercase;font-size:11px}.pvp-rating{font-family:var(--pixel-font);color:var(--good);font-size:22px}button.pvp-cta{width:100%;box-shadow:inset 0 1px 0 #ffffff80, inset 0 -3px 0 #0000004d, 0 0 0 1px var(--accent), 0 0 18px #e8c45c73;color:#1d1508;text-align:left;background:linear-gradient(#f4d27a,#c0892c 55%,#9a6a1c);border:2px solid #1d1508;justify-content:center;align-items:center;gap:14px;padding:14px 18px;animation:2.4s ease-in-out infinite pvp-cta-glow;display:flex}button.pvp-cta strong{font-family:var(--pixel-font);text-transform:uppercase;text-shadow:0 1px #ffffff59;font-size:20px;display:block}button.pvp-cta small{opacity:.85;font-size:12px;display:block}button.pvp-cta:not(:disabled):hover{color:#1d1508;background:linear-gradient(#ffe08e,#d39a36 55%,#a8761f);border-color:#1d1508;transform:translateY(-1px)}button.pvp-cta:disabled{color:#b9a988;background:linear-gradient(#5a4a2c,#3d321e);animation:none;box-shadow:inset 0 1px #ffffff1f}@keyframes pvp-cta-glow{50%{box-shadow:inset 0 1px 0 #ffffff80, inset 0 -3px 0 #0000004d, 0 0 0 1px var(--accent), 0 0 30px #e8c45cbf}}@media (prefers-reduced-motion:reduce){button.pvp-cta{animation:none}}.pvp-history td:last-child{text-align:right}.pvp-history button{padding:2px 8px;font-size:12px}.pvp-role{min-width:30px;font-family:var(--pixel-font);text-align:center;border:1px solid;padding:0 3px;font-size:9px;display:inline-block}.pvp-role.attack{color:var(--accent)}.pvp-role.defense{color:var(--gem)}.pvp-won{color:var(--better)}.pvp-lost{color:var(--bad)}.ranking-table tr.me td{color:var(--good);background:#c9a45c24}.pvp-stage{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold);pointer-events:auto;background:#0d0b12e0;justify-items:center;gap:6px;padding:8px 14px;display:grid;position:absolute;top:8px;left:50%;transform:translate(-50%)}.pvp-versus{font-family:var(--pixel-font);align-items:center;gap:14px;font-size:14px;display:flex}.pvp-side{justify-items:center;display:grid}.pvp-side small{color:var(--text-muted);font-size:10px}.pvp-status{align-items:center;gap:10px;font-size:12px;display:flex}.pvp-paused{color:var(--text-muted)}.pvp-status button{padding:2px 8px;font-size:12px}.pvp-result{justify-items:center;gap:4px;display:grid}.pvp-result strong{font-family:var(--pixel-font);font-size:26px}.pvp-result.won strong{color:var(--good)}.pvp-result.lost strong{color:var(--bad)}@media (width<=1280px){.shell{--rail-width:72px;grid-template-columns:var(--rail-width) minmax(0, 1fr) 300px}.work-station.jeweler{grid-template-columns:minmax(200px,240px) minmax(0,1fr)}.work-station.jeweler .work-side{grid-column:2}}.item-menu-card .item-card-name{padding:0 26px}.game-modal-backdrop{z-index:15;padding:16px 16px 16px calc(var(--rail-width) + 26px);--modal-height:min(840px, 100vh - 32px);background:#08060cbd;place-items:center;display:grid;position:fixed;inset:0}.game-modal{width:min(1180px,100%);height:min(840px,100%);min-height:0;box-shadow:inset 0 0 0 1px var(--accent-dim), 0 18px 60px #0009;flex-direction:column;display:flex}.game-modal-body{flex:1;min-height:0;position:relative}.game-modal-body>.window-body{height:100%}.window-tools{margin-left:auto}.window-tools .hero-chip{padding:4px 10px 4px 6px}.window-head{border-bottom:2px solid var(--frame-dark);background:linear-gradient(#241d33,#1a1526);align-items:center;gap:10px;padding:9px 12px;display:flex}.window-head>.game-icon{color:var(--accent)}.window-head h2{font-family:var(--pixel-font);letter-spacing:.06em;color:var(--accent);text-shadow:0 2px #000;margin:0;font-size:14px;font-weight:400}.window-subtitle{color:var(--text-muted);font-size:12px}.window-body{flex:1;min-height:0;padding:12px 14px;overflow-y:auto}.window-screen{flex-direction:column;gap:12px;min-width:0;display:flex}.window-body>.map-panel{max-width:1040px}.security-secret{letter-spacing:.08em;word-break:break-all;-webkit-user-select:all;user-select:all;font-family:ui-monospace,Consolas,monospace}.security-codes{columns:2;-webkit-user-select:all;user-select:all;border:1px solid var(--panel-border);background:#00000059;margin:0;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:14px;line-height:1.6}.stage-place{pointer-events:none;align-items:flex-start;gap:6px;display:flex;position:absolute;top:8px;right:8px}.stage-place-plate{color:var(--text-muted);text-align:right;border:1px solid var(--panel-border);contain:paint;background:#0d0b12d1;justify-items:end;gap:2px;padding:6px 10px;display:grid}.temerity-note{color:var(--bad);pointer-events:auto;cursor:help;font-size:12px}.stage-place-stone{color:var(--rarity)}.breach-badge{border:2px solid var(--frame-dark);width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--rarity);pointer-events:auto;background:#0d0b12e0;place-items:center;padding:0;display:grid}.breach-badge:not(:disabled):hover,.breach-badge:focus-visible{box-shadow:inset 0 0 0 1px var(--rarity), 0 0 8px var(--rarity)}.hover-tooltip.breach-tooltip{width:280px}.breach-tooltip-lines{margin:4px 0 0;padding:0;list-style:none}.training-stage{border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold);pointer-events:auto;background:#0d0b12e0;justify-items:center;gap:6px;padding:8px 14px;display:grid;position:absolute;top:8px;left:50%;transform:translate(-50%)}.training-versus{font-family:var(--pixel-font);align-items:center;gap:8px;font-size:14px;display:flex}.training-versus small{color:var(--text-muted);font-size:10px}.training-status{align-items:center;gap:10px;font-size:12px;display:flex}.training-dps{color:var(--good);font-variant-numeric:tabular-nums}.training-muted{color:var(--text-muted)}.training-status button{padding:2px 8px;font-size:12px}.training-grounds{gap:10px;display:grid}.training-setup{flex-wrap:wrap;align-items:flex-end;gap:10px;display:flex}.training-setup label{color:var(--text-muted);gap:4px;font-size:12px;display:grid}.training-setup input{width:90px}.training-totals{margin:0;font-size:14px}.training-totals strong{font-family:var(--pixel-font);color:var(--good);font-size:18px}.training-rows{gap:4px;max-width:460px;margin:0;padding:0;list-style:none;display:grid}.descent-stage{border:2px solid var(--frame-dark);pointer-events:auto;background:#090a12e6;justify-items:center;gap:6px;padding:8px 14px;display:grid;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:inset 0 0 0 1px #3f7a8c}.descent-stage-name{font-family:var(--pixel-font);align-items:center;gap:8px;font-size:14px;display:flex}.descent-stage-name small{color:var(--text-muted);font-size:10px}.descent-stage-status{align-items:center;gap:10px;font-size:12px;display:flex}.descent-stage-muted{color:var(--text-muted)}.descent-stage-status button{padding:2px 8px;font-size:12px}.descent{gap:10px;display:grid}.descent-record{border:1px solid var(--frame-dark);background:#0d0f1ab3;align-items:center;gap:12px;padding:10px 12px;display:flex}.descent-record strong{font-family:var(--pixel-font);color:#7fd8e8;font-size:20px;display:block}.descent-record span{color:var(--text-muted);font-size:12px}.descent-actions,.descent-setup{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.descent-setup label{color:var(--text-muted);gap:4px;font-size:12px;display:grid}.descent-payout{gap:4px;max-height:200px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}:root{--display-font:"Cinzel Variable", "Cinzel", Georgia, serif;--lore-font:"Spectral", Georgia, serif;--gold-hi:#e8c45c;--ember:#d0463c;--ember-hi:#ff6a3d;--void:#07060a}.title-gold{background:linear-gradient(#f3e3b8 0%,#d9b46a 45%,#9b6a2c 100%);color:#0000;filter:drop-shadow(0 2px #000c);-webkit-background-clip:text;background-clip:text}button.primary{box-shadow:inset 0 1px #ffffff73,inset 0 -2px #00000040,0 0 0 1px #6b4b1f}button.primary:not(:disabled):hover{box-shadow:inset 0 1px #ffffff73,inset 0 -2px #00000040,0 0 0 1px #8a6427,0 0 18px -2px #ff6a3d8c}.start-screen{background:radial-gradient(900px 520px at 50% 30%, #6e1a1459, transparent), var(--void);align-content:start;gap:0;padding:0 16px 40px}.start-title{width:min(1280px,100% + 32px);margin:0 -16px}.start-key-art{position:relative;overflow:hidden}.start-key-art img{aspect-ratio:1536/845;object-fit:cover;object-position:top;-webkit-mask-composite:source-in;width:100%;height:auto;display:block;-webkit-mask-image:linear-gradient(#000 45%,#0000 98%),linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(#000 45%,#0000 98%),linear-gradient(90deg,#0000,#000 8% 92%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.start-title p{z-index:1;max-width:46ch;font-family:var(--display-font);color:var(--text);text-shadow:0 2px 8px #000;margin:-14% auto 0;padding:0 16px;font-size:clamp(15px,2vw,20px);font-weight:600;line-height:1.4;position:relative}.start-title:not(:has(p))+*{margin-top:-12%}.start-title+*{z-index:1;margin-top:20px;position:relative}.start-card,.start-error{width:min(560px,100%)}.start-card h2{font-family:var(--display-font);letter-spacing:.04em;color:var(--gold-hi);font-size:18px;font-weight:700}.start-embers{pointer-events:none;position:absolute;inset:0}.start-embers span{background:var(--ember-hi);opacity:0;width:2px;height:2px;animation:8s linear infinite backwards ember-rise;position:absolute;bottom:0;box-shadow:0 0 6px 1px #ff6a3db3}.start-embers span:nth-child(3n){width:3px;height:3px}@keyframes ember-rise{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}to{transform:translate3d(var(--drift,20px), -60vh, 0);opacity:0}}@media (prefers-reduced-motion:reduce){.start-embers{display:none}}.top-bar h1{font-family:var(--display-font);letter-spacing:.12em;text-transform:uppercase;color:var(--gold-hi);font-size:18px;font-weight:700}.top-bar h1 img{border-radius:50%}.map-header h2{font-family:var(--display-font);letter-spacing:.03em;color:var(--gold-hi);font-size:20px;font-weight:700}.act-prologue,.zone-lore,.log-lore{font-family:var(--lore-font)}.act-prologue{font-size:15px;line-height:1.5}.zone-lore{font-size:13px;line-height:1.4}.start-card.wide{width:min(900px,100%)}.party-setup,.party-picker{gap:12px;display:grid}.picker-actions{z-index:2;background:linear-gradient(180deg, transparent, var(--panel) 35%);gap:6px;padding:10px 0 2px;display:flex;position:sticky;bottom:0}.hero-choices{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.hero-choices li{display:grid}button.hero-choice,button.hero-choice:not(:disabled):hover,button.hero-choice[aria-pressed=true],button.hero-choice[aria-pressed=true]:not(:disabled):hover{text-align:left;color:var(--text);text-shadow:none;background:linear-gradient(180deg, var(--panel-2), var(--panel));border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--panel-border), 0 8px 20px -12px #000c;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:6px;padding:0 0 10px;transition:transform .15s,box-shadow .15s,opacity .15s;display:flex}button.hero-choice:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--hero-color), 0 10px 24px -12px #000c;transform:translateY(-2px)}button.hero-choice[aria-pressed=true],button.hero-choice[aria-pressed=true]:not(:disabled):hover{border-color:var(--hero-color);box-shadow:inset 0 0 0 1px var(--hero-color), 0 0 22px -6px var(--hero-color)}button.hero-choice:not([aria-pressed=true]){opacity:.8}button.hero-choice:not(:disabled):hover{opacity:1}button.hero-choice:disabled{opacity:.5}.hero-choice-art{aspect-ratio:3/4;border-bottom:1px solid var(--panel-border);background:var(--void);max-height:210px;display:block;position:relative;overflow:hidden}.hero-choice-art img{object-fit:cover;object-position:50% 30%;width:100%;height:100%;image-rendering:pixelated;transition:transform .4s;display:block}button.hero-choice:not(:disabled):hover .hero-choice-art img{transform:scale(1.04)}.hero-choice-art:after{content:"";background:linear-gradient(0deg, var(--panel), transparent);height:35%;position:absolute;inset:auto 0 0}.hero-choice-badge{z-index:1;font-family:var(--pixel-font);text-transform:uppercase;color:var(--hero-color);border:1px solid var(--hero-color);background:#07060ad9;padding:2px 5px;font-size:9px;position:absolute;top:6px;right:6px}button.hero-choice[aria-pressed=true] .hero-choice-badge{color:#1d1508;background:var(--hero-color)}.hero-choice-name,.hero-choice-tag,.hero-choice-role{padding:0 10px}.hero-choice-name{font-family:var(--display-font);letter-spacing:.02em;text-transform:none;color:var(--hero-color);font-size:17px;font-weight:700}.hero-choice-level{white-space:nowrap;color:var(--text)}.hero-choice-tag{font-family:var(--pixel-font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);justify-content:space-between;gap:6px;font-size:9px;display:flex}.hero-choice-role{font-family:var(--lore-font);letter-spacing:0;text-transform:none;color:#d9d2c3d9;font-size:13px;line-height:1.35}.formation-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.formation-slot{background:var(--void);border:1px solid var(--hero-color,var(--panel-border));grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;min-height:64px;padding:6px;display:grid}.formation-slot img{object-fit:cover;object-position:top;width:36px;height:48px;image-rendering:pixelated;border:1px solid var(--panel-border);grid-row:1/-1}.formation-slot-name{font-family:var(--pixel-font);text-transform:uppercase;color:var(--text-muted);font-size:9px}.formation-slot-hero{font-family:var(--display-font);color:var(--hero-color,var(--text-muted));font-size:14px;font-weight:700}.formation-slot.empty{border-style:dashed;grid-template-columns:1fr;align-content:center;justify-items:center}.formation-slot.empty .formation-slot-hero{font-family:var(--pixel-font);opacity:.6;font-size:9px;font-weight:400}.formation-slot-actions{gap:3px;display:flex}@media (width<=560px){.hero-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.formation-strip{grid-template-columns:1fr}}.map-intro{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.map-view-switch{flex-shrink:0;gap:4px;display:flex}.world-map{width:min(100%, max(640px, calc((100vh - 240px) * var(--map-ratio))));border:2px solid var(--frame-dark);box-shadow:inset 0 0 0 1px var(--frame-gold-dim), 0 10px 30px -12px #000000b3;background:var(--void);-webkit-user-select:none;user-select:none;margin-inline:auto;position:relative}.world-map-art{object-fit:cover;width:100%;height:100%;image-rendering:pixelated;filter:saturate(.9)brightness(.85);pointer-events:none;position:absolute;inset:0}.world-map:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 80px #000000b3}.world-map-roads{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.world-map-roads line{fill:none;stroke-linecap:round}.map-road{stroke:#07060abf;stroke-width:4px;stroke-dasharray:2 7}.map-road.reached{stroke:var(--gold-hi);stroke-width:3px;stroke-dasharray:none;filter:drop-shadow(0 0 3px #e8c45cb3)}.map-branch{stroke:#07060ab3;stroke-width:3px;stroke-dasharray:1 6}.map-branch.reached{stroke:#e8c45cb3;stroke-dasharray:4 5}.map-camp,button.map-node{z-index:1;justify-items:center;gap:3px;display:grid;position:absolute;transform:translate(-50%,-50%)}.map-camp{pointer-events:none}.map-camp-mark{width:26px;height:26px;color:var(--gold-hi);border:2px solid var(--frame-gold);background:#07060ad9;border-radius:50%;place-items:center;display:grid}button.map-node,button.map-node:not(:disabled):hover,button.map-node[aria-expanded=true],button.map-node:not(:disabled):active{box-shadow:none;color:var(--text);text-shadow:none;background:0 0;border:0;padding:0;transform:translate(-50%,-50%)}.map-node-mark{--node-size:28px;--node-color:var(--accent);width:var(--node-size);height:var(--node-size);font-family:var(--pixel-font);color:var(--node-color);background:radial-gradient(circle at 50% 35%, #2a2238, var(--void));border:2px solid var(--node-color);border-radius:50%;place-items:center;font-size:11px;transition:transform .14s,box-shadow .14s;display:grid;box-shadow:0 0 0 2px #07060ad9,0 4px 10px #000000b3}.map-node:not(.node-main) .map-node-mark{--node-size:22px;border-radius:0;transform:rotate(45deg)}.map-node:not(.node-main) .map-node-mark>*{transform:rotate(-45deg)}.node-lair .map-node-mark{--node-color:#b48cf0}.node-depths .map-node-mark{--node-color:#6f9cf0}.node-hunting .map-node-mark{--node-color:var(--better)}.node-boss .map-node-mark{--node-size:32px;--node-color:var(--ember-hi);background:radial-gradient(circle, #5a1a14, var(--void));box-shadow:0 0 0 2px #07060ad9,0 0 18px #ff6a3d8c}.node-cleared .map-node-mark{color:#1d1508;background:linear-gradient(#f0d184,#a07a38);border-color:#f6e2a8}.node-locked .map-node-mark{--node-color:#5c5470;color:#8a8296;filter:grayscale()}.node-locked .map-node-label{opacity:.65}.map-node:hover .map-node-mark,.map-node:focus-visible .map-node-mark{box-shadow:0 0 0 2px #07060ad9, 0 0 0 4px var(--node-color), 0 0 18px var(--node-color)}.map-node:not(.node-main):hover .map-node-mark,.map-node:not(.node-main):focus-visible .map-node-mark{transform:rotate(45deg)scale(1.12)}.node-main:hover .map-node-mark,.node-main:focus-visible .map-node-mark{transform:scale(1.12)}.map-node:focus-visible{outline:none}.map-node.here .map-node-mark:after{content:"";border:2px solid var(--gold-hi);border-radius:inherit;pointer-events:none;animation:1.6s ease-out infinite map-here;position:absolute;inset:-8px}.map-node.here .map-node-mark{position:relative}@keyframes map-here{0%{opacity:.9;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.map-node-here{font-family:var(--pixel-font);text-transform:uppercase;color:#1d1508;background:var(--gold-hi);border:1px solid var(--void);padding:1px 4px;font-size:8px;position:absolute;bottom:calc(100% + 2px)}.map-node-label{max-width:100px;font-family:var(--pixel-font);letter-spacing:.04em;text-align:center;text-transform:uppercase;color:#efe6d2;background:#07060ac7;border:1px solid #c9a45c40;padding:1px 5px;font-size:8px;line-height:1.3}.node-boss .map-node-label{color:var(--ember-hi);border-color:#ff6a3d73}.map-card{z-index:3;pointer-events:none;filter:drop-shadow(0 10px 18px #000000bf);width:min(300px,70%);position:absolute;transform:translate(22px,-20px)}.map-card.flip-x{transform:translate(calc(-100% - 22px),-20px)}.map-card.flip-y{transform:translate(22px,calc(20px - 100%))}.map-card.flip-x.flip-y{transform:translate(calc(-100% - 22px),calc(20px - 100%))}.map-card .zone-card{border-color:var(--frame-gold);background:linear-gradient(#221c30,#16121f)}@media (prefers-reduced-motion:reduce){.map-node.here .map-node-mark:after{animation:none}}@media (width<=640px){.map-node-label,.map-camp .map-node-label{display:none}.map-card,.map-card.flip-x,.map-card.flip-y,.map-card.flip-x.flip-y{width:100%;position:absolute;inset:auto 0 0;transform:none;top:auto!important;left:0!important}}.talent-tree-scroll.has-backdrop{background-color:var(--void);background-image:linear-gradient(180deg, #0a081073, #0a0810a6), radial-gradient(ellipse at 50% 40%, transparent 40%, #07060a99), var(--talent-backdrop);background-position:50%;background-size:cover}.start-screen.compact{background:var(--void);align-content:start;gap:8px;padding:12px 16px 24px;position:relative}.start-backdrop{pointer-events:none;position:fixed;inset:0;overflow:hidden}.start-backdrop img{object-fit:cover;object-position:center 70%;filter:brightness(.45)saturate(.85)blur(1px);width:100%;height:100%}.start-backdrop:after{content:"";background:radial-gradient(at 50% 55%,#0000 20%,#07060abf);position:absolute;inset:0}.start-logo{z-index:1;position:relative}.start-logo img{width:auto;height:clamp(90px,17vh,160px);display:block;-webkit-mask-image:radial-gradient(50% 50%,#000 60%,#0000 100%);mask-image:radial-gradient(50% 50%,#000 60%,#0000 100%)}.start-screen.compact>.start-card{z-index:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17131feb;margin-top:0;position:relative}.start-screen.compact .hero-choice-art{max-height:clamp(120px,26vh,210px)}.modal.travel-dialog{width:min(440px,100%)}.travel-dialog h2{font-family:var(--display-font);letter-spacing:.02em;text-transform:none;color:var(--gold-hi);font-size:18px;font-weight:700}.travel-dialog .zone-card{border-color:var(--frame-gold)}.travel-warning{color:#f3d3c6;border-left:3px solid var(--ember);background:#6e1a144d;padding:8px 10px;font-size:12px}.travel-warning.calm{color:var(--text-muted);border-left-color:var(--panel-border);background:#ffffff08}.travel-warning{min-height:3.2em}.formation-sheet .hero-choices{grid-template-columns:repeat(5,minmax(0,1fr))}.formation-sheet .hero-choice-art{max-height:clamp(100px,24vh,210px)}@media (width<=640px){.formation-sheet .hero-choices{grid-template-columns:repeat(2,minmax(0,1fr))}}.pass-panel{flex-direction:column;gap:12px;display:flex}.pass-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.pass-level{align-items:center;gap:10px;display:flex}.pass-level strong{font-size:15px}.pass-level span{color:var(--text-muted);font-size:11px;display:block}.pass-muted{color:var(--text-muted);font-weight:400}.pass-bar{width:100%;height:6px;accent-color:var(--accent)}.pass-missions{border:1px solid var(--panel-border);padding:8px}.pass-tabs{align-items:center;gap:8px;margin-bottom:8px;display:flex}.pass-tabs button{border:1px solid var(--panel-border);color:inherit;cursor:pointer;background:0 0;padding:4px 10px;font-size:12px}.pass-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.pass-reset{color:var(--text-muted);margin-left:auto;font-size:11px}.pass-mission-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pass-mission{border:1px solid var(--panel-border);padding:6px 8px;font-size:12px}.pass-mission.done{border-color:var(--accent)}.pass-mission-head{justify-content:space-between;gap:12px;display:flex}.pass-mission.done .pass-mission-head span{color:var(--good)}.pass-mission-head span,.pass-mission p{color:var(--text-muted)}.pass-mission p{margin:2px 0 0}.pass-mission-count{color:var(--text-muted);text-align:right;font-size:11px;display:block}.pass-track-wrap h3{color:var(--accent);margin:0 0 6px;font-size:12px}.pass-track{flex-direction:column;gap:4px;max-height:300px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pass-track-row{color:var(--text-muted);border:1px solid #0000;align-items:center;gap:8px;padding:4px 8px;font-size:12px;display:flex}.pass-track-row.claimable{border-color:var(--accent);color:inherit}.pass-track-level{text-align:right;min-width:2ch;color:inherit;font-weight:600}.pass-track-rewards{flex:1}.pass-track-state{color:var(--text-muted);font-size:11px}.pass-track-state.done{color:var(--good)}.pass-track-row button{padding:2px 8px;font-size:11px}.referral-panel{flex-direction:column;gap:12px;display:flex}.referral-share,.referral-attribute,.referral-welcome,.referral-list{border:1px solid var(--panel-border);padding:8px}.referral-code-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.referral-code{border:1px solid var(--panel-border);letter-spacing:1px;padding:2px 8px;font-family:monospace;font-size:13px}.referral-share .setting-hint{margin:6px 0 0}.referral-attribute{align-items:flex-end;gap:8px;display:flex}.referral-attribute .setting-row{flex:1}.referral-welcome{justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.referral-list ul{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.referral-entry{border:1px solid var(--panel-border);padding:6px 8px;font-size:12px}.referral-entry.valid{border-color:var(--accent)}.referral-entry.invalid{opacity:.7}.referral-entry-head{justify-content:space-between;gap:12px;display:flex}.referral-entry-head span{color:var(--text-muted)}.referral-entry.valid .referral-entry-head span{color:var(--good)}
