:root{color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow:hidden;background:var(--body);color:var(--ink);font-family:Microsoft YaHei,Arial,sans-serif;letter-spacing:0}body{display:grid;place-items:center}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid var(--white);outline-offset:2px}.hidden{display:none!important}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}#app{width:100vw;min-width:0;height:100vh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--topbar-size) minmax(0,1fr) var(--hud-size);background:var(--page)}.topbar,.hud{display:flex;align-items:center;background:var(--overlay-modal);border-color:var(--line);z-index:5}.topbar{gap:16px;padding:8px 16px;border-bottom:1px solid var(--line);justify-content:space-between;min-width:0;position:relative}.brand,.resources,nav{display:flex;align-items:center;gap:12px;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold);color:var(--gold)}.brand small,.resources{color:var(--muted);font-size:13px}.brand strong{font-size:16px}.resources{padding:5px 10px;border:1px solid var(--line);background:var(--overlay-soft)}.connection-status{position:absolute;left:50%;top:50%;z-index:2;max-width:min(360px,42vw);padding:5px 10px;transform:translate(-50%,-50%);border:1px solid var(--line);background:var(--overlay-modal);box-shadow:0 5px 18px var(--backdrop);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.connection-status.reconnecting{border-color:var(--gold);color:var(--gold-soft)}.connection-status.lost{border-color:var(--danger);color:var(--danger-light)}.connection-status.restored{border-color:var(--success);color:var(--success)}.topbar:has(.connection-status:not(.hidden)) .resources{visibility:hidden}.icon-button{position:relative;width:34px;height:34px;display:inline-grid;place-items:center;border:1px solid var(--line);background:var(--surface-7);cursor:pointer}.icon-button svg{width:18px;height:18px;stroke-width:1.8;color:currentColor}.topbar nav .icon-button{width:auto;min-width:62px;padding:0 9px;display:inline-flex;gap:6px;white-space:nowrap}.tool-label{font-size:12px;line-height:1;white-space:nowrap}.revive-button .tool-label{display:none}.revive-button .tool-icon{width:26px;height:26px;stroke-width:1.8}.icon-button:hover{border-color:var(--gold)}.stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:var(--surface-3)}.frame-rate{position:absolute;right:12px;bottom:12px;z-index:4;min-width:70px;padding:5px 8px;border:1px solid var(--border-muted);background:var(--overlay-panel);color:var(--muted);font-size:11px;font-weight:600;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;pointer-events:none}.frame-rate[data-state=healthy]{border-color:var(--success-muted);color:var(--success)}.frame-rate[data-state=strained]{border-color:var(--gold-muted);color:var(--gold-soft)}.frame-rate[data-state=danger]{border-color:var(--danger-muted);color:var(--danger-light)}.stage:has(.revive-button:not(.hidden)) .frame-rate{right:86px}canvas{display:block;width:100%;height:100%;touch-action:none}.hud{gap:18px;padding:9px 16px;border-top:1px solid var(--line);justify-content:space-between;min-width:0}.vitals{width:min(420px,38vw);flex:0 0 min(430px,42vw);display:grid;gap:6px}.bar-row{display:grid;grid-template-columns:36px 1fr 94px;align-items:center;gap:8px;font-size:12px;white-space:nowrap}.bar{height:10px;background:var(--surface-9);border:1px solid var(--border-muted)}.bar i{display:block;height:100%;width:100%;background:var(--danger);transition:width .12s}.mana .bar i{background:var(--mana)}.xp .bar i{background:var(--xp)}.bar-row b{text-align:right;font-weight:400;color:var(--muted)}.resource-gain{position:relative;animation:resource-pulse .72s ease-out}.resource-gain:after{content:attr(data-gain);position:absolute;z-index:7;color:var(--success);font-size:11px;font-weight:700;white-space:nowrap;text-shadow:0 1px 3px var(--black);pointer-events:none}.bar-row.resource-gain:after{right:98px;top:-9px}.resources .resource-gain:after,.resources.resource-gain:after{left:50%;top:calc(100% + 7px);transform:translate(-50%)}@keyframes resource-pulse{0%{filter:brightness(1)}30%{filter:brightness(1.7)}to{filter:brightness(1)}}.skill-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:fit-content;max-width:100%;margin-inline:auto;overflow:visible;scrollbar-width:none}.skill-chip{position:relative;flex:0 0 58px;min-width:58px;width:58px;height:var(--hud-skill-chip-height);padding:4px 5px calc(var(--hud-skill-state-height) + var(--hud-skill-content-gap));border:1px solid var(--line);border-color:var(--border-muted);background:var(--overlay-panel);display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:4px;box-shadow:0 6px 18px var(--overlay-soft)}.skill-chip:before{content:"";position:absolute;left:0;top:0;z-index:4;width:var(--skill-mastery-progress,0%);height:var(--hud-skill-mastery-track-height);background:var(--gold);box-shadow:0 0 6px var(--gold-alpha-35);pointer-events:none}.skill-glyph{position:relative;font-size:22px;color:var(--gold);width:28px;height:28px;display:grid;place-items:center;overflow:hidden}.skill-glyph img{position:relative;z-index:0;width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 0 3px var(--gold-alpha-35))}.skill-chip b,.skill-chip small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skill-chip small{color:var(--muted)}.skill-chip b{font-size:12px;text-align:center}.skill-inspect:after{content:attr(data-detail);position:fixed;top:118px;left:50%;z-index:8;width:max-content;max-width:280px;padding:7px 9px;border:1px solid var(--border-muted);background:var(--overlay-modal);color:var(--ink);font-size:11px;line-height:1.45;white-space:normal;box-shadow:0 8px 22px var(--backdrop);opacity:0;visibility:hidden;transform:translate(-50%,-3px);transition:opacity .12s,transform .12s;pointer-events:none}.skill-inspect:hover,.skill-inspect:focus{z-index:9}.skill-inspect:hover:after,.skill-inspect:focus:after{opacity:1;visibility:visible;transform:translate(-50%)}.skill-inspect[data-tooltip-dismissed]:after{opacity:0!important;visibility:hidden!important}.skill-detail-panel{position:absolute;top:118px;left:50%;z-index:9;width:min(460px,calc(100% - 36px));max-height:calc(100dvh - 180px);padding:12px;overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--gold-muted);border-left:4px solid var(--gold);background:var(--overlay-modal);box-shadow:0 14px 36px var(--backdrop);transform:translate(-50%);pointer-events:auto}.skill-detail-panel header{display:grid;grid-template-columns:38px minmax(0,1fr) 30px;align-items:center;gap:10px;margin-bottom:8px}.skill-detail-panel img{width:38px;height:38px;object-fit:contain;border:1px solid var(--gold-muted);filter:drop-shadow(0 0 4px var(--gold-alpha-35))}.skill-detail-panel h3,.skill-detail-panel small,.skill-detail-panel p,.skill-detail-panel b,.skill-detail-panel i{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-detail-panel h3{margin:0;color:var(--white-warm);font-size:16px}.skill-detail-panel small,.skill-detail-panel i{color:var(--muted);font-style:normal}.skill-detail-panel p{margin:0 0 10px;color:var(--ink);font-size:12px;line-height:1.55;white-space:normal;overflow:visible;text-overflow:clip}.skill-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.skill-detail-grid span{display:grid;gap:2px;min-width:0;padding:6px 8px;border:1px solid var(--line);background:var(--surface-4)}.skill-detail-grid b{color:var(--gold-soft);font-size:12px}.skill-detail-panel>.command{margin-top:10px;width:100%;justify-content:center}.stage:has(.skill-detail-panel:not(.hidden)) .skill-inspect:after,.stage:has(.skill-detail-panel:not(.hidden)) .hud-inspect:after{display:none}.skill-mastery-route{display:grid;gap:7px;margin-top:8px;padding:8px;border:1px solid var(--gold-muted);border-left:3px solid var(--gold);background:var(--surface-7)}.skill-mastery-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px}.skill-mastery-head>span{display:flex;align-items:baseline;gap:7px;min-width:0}.skill-mastery-head small,.skill-mastery-head b,.skill-mastery-head em,.skill-mastery-head strong{white-space:nowrap}.skill-mastery-head small{color:var(--muted)}.skill-mastery-head b{overflow:hidden;color:var(--white-warm);text-overflow:ellipsis}.skill-mastery-head em{padding:2px 6px;border:1px solid var(--line);color:var(--muted);font-size:10px;font-style:normal}.skill-mastery-head strong{color:var(--gold-soft);font-size:13px}.skill-mastery-route[data-state=divine]{border-color:var(--gold);box-shadow:inset 0 0 16px color-mix(in srgb,var(--gold) 8%,transparent)}.skill-mastery-route[data-state=divine] .skill-mastery-head em{border-color:var(--gold-muted);color:var(--gold-soft)}.skill-mastery-track{display:grid;gap:3px;height:6px}.skill-mastery-track i{display:block;min-width:0;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--line)}.skill-mastery-track i.active{background:var(--gold);box-shadow:0 0 6px var(--gold-alpha-35)}.skill-mastery-gates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.skill-mastery-gates span{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:5px 7px;border:1px solid var(--line);background:var(--surface-4)}.skill-mastery-gates i{color:var(--muted);font-style:normal;white-space:nowrap}.skill-mastery-gates b{color:var(--gold-soft);white-space:nowrap}.skill-mastery-gates span[data-complete=true]{border-color:var(--gold-muted)}.skill-mastery-signature{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:6px 7px;border:1px solid var(--line);background:var(--surface-4)}.skill-mastery-signature>span{display:grid;gap:2px}.skill-mastery-signature small,.skill-mastery-signature b{white-space:nowrap}.skill-mastery-signature b{color:var(--gold-soft)}.skill-detail-panel .skill-mastery-signature p{margin:0;color:var(--ink);font-size:11px;line-height:1.45}.skill-mastery-functions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.skill-mastery-functions article{display:grid;align-content:start;gap:4px;min-width:0;padding:6px 7px;border:1px solid var(--line);background:var(--surface-4)}.skill-mastery-functions article>div{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0}.skill-mastery-functions b,.skill-mastery-functions small{white-space:nowrap}.skill-mastery-functions b{overflow:hidden;color:var(--white-warm);text-overflow:ellipsis}.skill-mastery-functions small{color:var(--muted);font-size:9px}.skill-detail-panel .skill-mastery-functions p{margin:0;color:var(--muted);font-size:10px;line-height:1.4}.skill-mastery-functions article[data-state=selected]{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 10%,var(--surface-4))}.skill-mastery-functions article[data-state=selected] small{color:var(--gold-soft)}.skill-mastery-functions article[data-state=sealed]{opacity:.62}.upgrade-summary{word-break:keep-all;overflow-wrap:normal}.hud-inspect{position:relative;cursor:help;outline-offset:2px;white-space:nowrap}.hud-inspect:after{content:attr(data-detail);position:fixed;right:16px;bottom:calc(var(--hud-size) + 8px);z-index:8;width:max-content;max-width:min(420px,84vw);padding:8px 10px;border:1px solid var(--border-muted);background:var(--overlay-modal);color:var(--ink);font-size:11px;font-weight:400;line-height:1.5;white-space:normal;box-shadow:0 8px 22px var(--backdrop);opacity:0;visibility:hidden;transform:translateY(3px);transition:opacity .12s,transform .12s;pointer-events:none}.hud-inspect:hover:after,.hud-inspect:focus:after{opacity:1;visibility:visible;transform:translateY(0)}.modal{position:absolute;inset:0;z-index:10;display:grid;place-items:center;background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:var(--modal-gutter)}.modal-surface{width:min(920px,94vw);max-height:88%;overflow:auto;background:var(--panel);border:1px solid var(--text-dim);box-shadow:0 16px 48px var(--black);padding:var(--modal-surface-padding)}.modal-surface:focus{outline:none}.modal-surface:focus-visible{outline:2px solid var(--gold-muted);outline-offset:2px}.modal-surface.compact{width:min(460px,94vw);text-align:center}.character-surface,.inventory-surface{width:min(1120px,calc(100vw - var(--modal-gutter) - var(--modal-gutter)));max-width:100%}.character-surface{position:relative}.modal-surface.character-surface .equipment-stage{min-height:400px;height:400px;align-self:start}.modal-surface.character-surface .equipment-ring{grid-auto-rows:minmax(40px,1fr)}.modal-surface.character-surface .equipment-ring .slot{min-height:0;height:100%;padding:4px 8px}.modal-surface.character-surface .paper-doll{transform:translate(-50%,-50%) scale(.85)}.modal-head{position:sticky;top:calc(0px - var(--modal-surface-padding));z-index:var(--modal-header-layer);display:flex;justify-content:space-between;align-items:center;background:var(--panel);border-bottom:1px solid var(--line);padding:var(--modal-surface-padding) var(--modal-surface-padding) 12px;margin:calc(0px - var(--modal-surface-padding)) calc(0px - var(--modal-surface-padding)) var(--modal-header-gap)}.modal-head:after{content:"";position:absolute;top:100%;left:0;right:0;height:var(--modal-header-gap);background:var(--panel);pointer-events:none}.foundation-summary{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:var(--foundation-summary-gap);margin-bottom:var(--foundation-summary-section-gap);padding-bottom:var(--foundation-summary-section-gap);border-bottom:1px solid var(--line)}.foundation-summary-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;min-width:var(--foundation-summary-header-min-width);padding:var(--foundation-summary-padding);border:0;background:var(--surface-4);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.foundation-summary-toggle:hover{background:var(--surface-7)}.foundation-summary-toggle strong,.foundation-summary-toggle span,.foundation-summary-toggle small{white-space:nowrap}.foundation-summary-toggle strong{color:var(--gold-soft)}.foundation-summary-toggle span{font-size:var(--foundation-summary-value-size)}.foundation-summary-toggle small{color:var(--muted);font-size:var(--foundation-summary-hint-size)}.foundation-toggle-icon{grid-column:2;grid-row:1/4;align-self:center;width:var(--foundation-summary-toggle-icon-size);height:var(--foundation-summary-toggle-icon-size);color:var(--muted)}.foundation-summary>div{display:grid;grid-template-columns:repeat(var(--foundation-summary-desktop-columns),minmax(0,1fr));min-width:0;gap:var(--foundation-summary-gap);overflow:visible}.foundation-summary>div>span{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--foundation-summary-item-gap);padding:var(--foundation-summary-padding);background:var(--surface-4);white-space:nowrap;overflow:hidden}.foundation-summary i,.foundation-summary b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.foundation-summary i{color:var(--muted);font-size:var(--foundation-summary-label-size);font-style:normal}.foundation-summary b{color:var(--ink);font-size:var(--foundation-summary-value-size)}.foundation-summary:not(.expanded)>div{display:none}.foundation-stat{position:relative}.foundation-stat .foundation-allocate{display:grid;place-items:center;width:var(--foundation-allocate-size);height:var(--foundation-allocate-size);padding:0;border:1px solid var(--gold-muted);background:var(--surface-5);color:var(--gold-soft);font:600 14px/1 inherit;cursor:pointer}.foundation-stat .foundation-allocate:hover,.foundation-stat .foundation-allocate:focus-visible{border-color:var(--gold);background:var(--surface-7)}.foundation-stat .foundation-allocate:disabled{border-color:var(--line);color:var(--muted);opacity:.45;cursor:not-allowed}.character-heading{display:flex;align-items:baseline;gap:8px;min-width:0}.character-heading h2{white-space:nowrap}.attribute-points-badge{padding:var(--attribute-points-badge-padding);border:1px solid var(--gold-muted);color:var(--gold-soft);font-size:11px;line-height:1;white-space:nowrap}.character-mastery-roster{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:stretch;gap:var(--character-mastery-gap);min-width:0;margin-bottom:var(--foundation-summary-section-gap);padding:7px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.character-mastery-roster>header{display:grid;align-content:center;gap:3px;min-width:112px;padding:0 10px}.character-mastery-roster>header span{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.character-mastery-roster>header strong{color:var(--white-warm)}.character-mastery-roster>header small{color:var(--muted);font-size:9px}.character-mastery-roster>header>b{color:var(--gold-soft);font-size:11px;white-space:nowrap}.character-mastery-roster>div{display:flex;gap:var(--character-mastery-gap);min-width:0;overflow-x:auto;overflow-y:hidden;padding:1px 2px 3px;scrollbar-width:thin}.character-skill-route{position:relative;display:grid;grid-template-columns:var(--character-mastery-icon-size) minmax(0,1fr);align-items:center;gap:6px;flex:0 0 var(--character-mastery-chip-width);width:var(--character-mastery-chip-width);height:var(--character-mastery-chip-height);min-width:0;padding:5px 7px;border:1px solid var(--line);background:var(--surface-4);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.character-skill-route:hover,.character-skill-route:focus-visible{border-color:var(--gold)}.character-skill-route img{width:var(--character-mastery-icon-size);height:var(--character-mastery-icon-size);object-fit:contain;border:1px solid var(--border-muted);filter:drop-shadow(0 0 3px var(--gold-alpha-35))}.character-skill-route span,.character-skill-route b,.character-skill-route small{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-skill-route b{color:var(--white-warm);font-size:11px}.character-skill-route small{color:var(--muted);font-size:9px}.character-skill-route[data-state=active]{border-color:var(--gold-muted)}.character-skill-route[data-state=active] small{color:var(--gold-soft)}.character-skill-route[data-state=divine]{border-color:var(--white-warm);box-shadow:inset 0 0 0 1px var(--gold),0 0 8px var(--gold-alpha-22)}.character-skill-route[data-state=divine] small{color:var(--gold-soft)}.stage:has(.modal:not(.hidden)) .skill-detail-panel:not(.hidden){z-index:11}.choice-source-heading{display:flex;align-items:center;gap:12px;min-width:0}.choice-source-heading>div{min-width:0}.modal h2,.modal h3{margin:0}.command-row{display:flex;justify-content:center;gap:10px;margin-top:20px;flex-wrap:wrap}.audio-mixer{display:grid;gap:9px;width:min(100%,380px);margin:18px auto 0}.audio-volume{display:grid;grid-template-columns:68px minmax(140px,1fr) 44px;align-items:center;gap:10px;color:var(--muted);font-size:12px;white-space:nowrap}.audio-volume input{width:100%;accent-color:var(--gold);cursor:pointer}.audio-volume b{color:var(--gold-soft);text-align:right;font-weight:500}.main-menu-surface{width:min(760px,94vw);overflow:hidden;border-color:var(--gold-muted)}.main-menu{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:18px;min-width:0}.main-menu-mark{grid-row:1/3;display:grid;place-items:center;width:84px;height:84px;border:1px solid var(--gold);color:var(--gold-soft);font-family:serif;font-size:42px}.main-menu>div{min-width:0;text-align:left}.main-menu>div small,.main-menu>div h2{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.main-menu>div small{color:var(--muted);font-size:11px}.main-menu>div h2{margin-top:4px;font-size:28px;color:var(--white-warm)}.main-menu-actions{grid-column:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-width:0}.main-menu-actions .command{min-width:0;padding-inline:8px;white-space:nowrap}.command.danger{border-color:var(--danger-muted);color:var(--danger-light)}.settings-surface,.settings-surface .modal-head{text-align:left}.settings-section{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.settings-section:last-child{border-bottom:0}.settings-section h3{grid-column:1/-1;color:var(--gold-soft);font-size:13px}.settings-section .audio-mixer{grid-column:1/-1;width:100%;margin:0}.setting-toggle{min-width:150px;white-space:nowrap}.exit-surface{text-align:center}.exit-state{display:grid;gap:8px}.exit-state small{color:var(--gold-soft);white-space:nowrap}.exit-state p{margin:0;color:var(--muted);white-space:nowrap}.command{min-width:120px;padding:10px 16px;border:1px solid var(--text-subtle);background:var(--surface-8);cursor:pointer}.command.primary{background:var(--gold);border-color:var(--gold);color:var(--surface-2);font-weight:700}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.choice-footer{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:12px;flex-wrap:wrap;color:var(--muted);font-size:12px}.choice-footer small{white-space:nowrap}.choice{--choice-accent: var(--school-stat);position:relative;display:flex;flex-direction:column;min-height:142px;padding:14px;text-align:left;border:1px solid var(--line);border-top:3px solid var(--choice-accent);background:linear-gradient(145deg,color-mix(in srgb,var(--choice-accent) 8%,var(--surface-6)),var(--surface-6) 58%);cursor:pointer}.choice:hover{border-color:var(--gold);transform:translateY(-1px)}.choice:disabled{cursor:not-allowed;opacity:.58;transform:none}.choice-cost{display:block;margin-top:8px;color:var(--gold-soft);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-command-pending .choice:not(.choice-pending){opacity:.34}.choice.choice-pending:disabled{position:relative;opacity:1;border-color:var(--choice-accent);box-shadow:inset 0 0 0 1px var(--choice-accent),0 0 18px color-mix(in srgb,var(--choice-accent) 28%,transparent)}.choice-pending-label{position:absolute;right:10px;bottom:8px;padding:3px 7px;border:1px solid var(--choice-accent);background:var(--surface-1);color:var(--choice-accent);font-size:11px;font-weight:700;line-height:1;white-space:nowrap}.choice .tag{display:block;padding-right:0;color:var(--choice-accent);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice h3{margin:8px 0;line-height:1.25}.choice p{flex:1;color:var(--muted);line-height:1.55;margin:0}.panel-grid{display:grid;grid-template-columns:280px 1fr;gap:20px}.stats{display:grid;grid-template-columns:1fr auto;gap:8px 14px;align-content:start;max-height:400px;overflow-y:auto;padding-right:8px;scrollbar-width:thin}.stats dt{color:var(--muted)}.stats dd{margin:0}.equipment-ring{position:absolute;inset:0;display:grid;grid-template-columns:minmax(var(--equipment-ring-side-min-width),1fr) minmax(var(--equipment-ring-center-width),1.2fr) minmax(var(--equipment-ring-side-min-width),1fr);grid-auto-rows:minmax(46px,1fr);gap:5px 14px;align-items:center}.slot,.item{min-height:58px;border:1px solid var(--line);background:var(--surface-4);padding:8px;font-size:12px;overflow:hidden}.slot strong,.item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot small,.item small{color:var(--muted)}.item{position:relative;display:flex;flex-direction:column;gap:6px;min-width:0;min-height:168px;height:168px;border-color:var(--loot-color);border-top-width:3px;background:var(--surface-4)}.item header,.item-score{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-rarity{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;white-space:nowrap}.item-name{color:var(--loot-color);font-size:13px}.item-score{padding-bottom:5px;border-bottom:1px solid var(--line);font-size:10px}.trait-list{display:flex;flex-wrap:wrap;gap:4px}.trait-list span{padding:3px 6px;border:1px solid var(--gold-muted);color:var(--gold-soft);font-size:10px;white-space:nowrap}.item.selected{box-shadow:inset 0 0 0 1px var(--danger-soft)}.item.inspected{background:color-mix(in srgb,var(--loot-color) 8%,var(--surface-4));box-shadow:inset 0 0 0 1px var(--loot-color),0 0 14px color-mix(in srgb,var(--loot-color) 18%,transparent)}.item-select{display:flex;align-items:center;gap:5px;color:var(--ink);white-space:nowrap}.item-select input{accent-color:var(--gold)}.item-card-actions{display:flex;flex:none;align-items:center;gap:var(--inventory-card-action-gap);min-width:0}.item-card-salvage{height:var(--inventory-card-salvage-height);padding:var(--inventory-card-salvage-padding);border:1px solid var(--danger-muted);background:var(--surface-5);color:var(--danger-soft);font:inherit;font-size:var(--inventory-card-salvage-font-size);line-height:1;white-space:nowrap;cursor:pointer}.item-card-salvage:hover,.item-card-salvage:focus-visible{border-color:var(--danger);background:var(--danger-overlay)}.item-card-salvage:disabled{border-color:var(--line);color:var(--muted);opacity:.42;cursor:not-allowed}.item-inspect{display:grid;grid-template-rows:auto auto auto minmax(0,1fr) auto;flex:1 1 auto;gap:5px;min-width:0;height:auto;padding:0;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.item-inspect:hover .item-name,.item-inspect:focus-visible .item-name{color:var(--white-warm)}.item-inspect em{align-self:end;color:var(--gold-soft);font-size:10px;font-style:normal;text-align:right;white-space:nowrap}.item-compact-affixes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.item-compact-affixes i{min-width:0;padding:3px 5px;background:var(--surface-7);color:var(--muted);font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-compact-affixes b{display:inline;color:var(--ink);font-weight:500}.item-compact-traits{display:flex;gap:3px;min-width:0;overflow:hidden}.item-compact-traits i{flex:none;max-width:72px;padding:2px 4px;border:1px solid var(--gold-muted);color:var(--gold-soft);font-size:9px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item.favorite{border-left-color:var(--gold);border-left-width:3px}.favorite-icon{flex:none;width:14px;height:14px;color:var(--gold-soft);stroke-width:2}.item-title>.favorite-icon{margin-left:auto}.item-select:has(input:disabled){color:var(--gold-soft);cursor:not-allowed}.item.auto-salvage-protected{border-bottom-color:color-mix(in srgb,var(--gold) 46%,var(--line))}.auto-protection-badge{display:inline-block;margin-left:6px;padding:2px 5px;border:1px solid color-mix(in srgb,var(--gold) 58%,var(--line));color:var(--gold-soft);font-size:10px;line-height:1;white-space:nowrap}.comparison.positive{color:var(--success)}.comparison.negative{color:var(--danger-light)}.command:disabled{border-color:var(--line);color:var(--muted);opacity:.42;filter:saturate(.2);cursor:not-allowed}.bag-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.bag-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.bag-controls label{display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted)}.bag-controls select{background:var(--surface-5);color:var(--ink);border:1px solid var(--line);padding:6px}.bag-toolbar>span,.bag-controls .command,.bag-controls label,.bag-view-controls label{white-space:nowrap}.bag-view-controls{display:flex;justify-content:flex-start;gap:10px;margin:-4px 0 10px}.bag-view-controls label{display:flex;align-items:center;gap:5px;color:var(--muted)}.bag-view-controls select{padding:6px;border:1px solid var(--line);background:var(--surface-5);color:var(--ink)}.auto-salvage-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);background:var(--surface-4)}.auto-salvage-panel>strong{color:var(--gold-soft);white-space:nowrap}.auto-salvage-panel>div{display:flex;flex-wrap:wrap;gap:7px}.auto-salvage-panel label{display:flex;align-items:center;gap:5px;color:var(--muted);white-space:nowrap}.auto-salvage-panel select{padding:5px;border:1px solid var(--line);background:var(--surface-5);color:var(--ink)}.auto-salvage-panel small{color:var(--muted);white-space:nowrap}.item-stack-count{flex:none!important;display:grid!important;place-items:center;min-width:28px;padding:2px 5px;border:1px solid var(--gold-muted);color:var(--gold-soft)!important;font-size:10px}.inventory-surface{display:flex;flex-direction:column;width:min(1120px,calc(100vw - var(--modal-gutter) - var(--modal-gutter)));height:min(var(--inventory-surface-max-height),100%);max-width:100%;max-height:none;overflow:hidden;box-sizing:border-box}.inventory-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(var(--inventory-detail-min-width),var(--inventory-detail-width));gap:14px;flex:1 1 auto;min-height:0;overflow:hidden;align-items:stretch}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--inventory-card-min-width),1fr));align-content:start;gap:8px;min-height:0;max-height:none;overflow-y:auto;padding-right:4px;scrollbar-width:thin}.inventory-detail{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(var(--inventory-candidate-min-height),1fr) minmax(var(--inventory-equipped-min-height),var(--inventory-equipped-max-height)) auto;gap:var(--inventory-detail-section-gap);width:100%;min-width:0;min-height:0;max-height:none;overflow:hidden;box-sizing:border-box;border:1px solid var(--line);border-left:3px solid var(--loot-color);padding:12px}.inventory-candidate-scroll,.equipped-target-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:var(--inventory-detail-scroll-padding);scrollbar-width:thin}.inventory-detail.empty{grid-template-rows:auto;min-height:180px;place-content:center}.inventory-candidate-header{padding-right:calc(var(--equipment-detail-favorite-size) + var(--inventory-candidate-action-separation))!important}.inventory-candidate-header .equipment-detail-title{display:flex;align-items:center;gap:var(--equipment-detail-grid-gap)}.inventory-candidate-header .equipment-detail-title h3{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-variant-control{display:flex;flex:none;align-items:center;gap:var(--inventory-variant-action-gap);min-width:0;color:var(--muted);font-size:var(--inventory-variant-font-size);white-space:nowrap}.item-variant-control b{margin:0!important;color:var(--gold-soft)!important;font-size:inherit;font-weight:500}.item-variant-switch{width:var(--inventory-variant-action-size);height:var(--inventory-variant-action-size);color:var(--gold-soft)}.equipment-variant-icon{width:var(--inventory-variant-icon-size);height:var(--inventory-variant-icon-size);stroke-width:2}.equipped-target-preview{display:grid;grid-template-rows:auto minmax(0,1fr);gap:var(--inventory-equipped-header-gap);min-height:var(--inventory-equipped-min-height);max-height:var(--inventory-equipped-max-height);padding:var(--inventory-equipped-padding);border:1px solid var(--loot-color);background:var(--surface-4);overflow:hidden;font-size:var(--inventory-equipped-font-size)}.equipment-detail .equipped-target-preview>header{position:static;display:grid;grid-template-columns:var(--equipment-emblem-preview-size) minmax(0,1fr) auto;align-items:center;gap:var(--inventory-equipped-header-gap);min-width:0;padding:0 0 var(--inventory-equipped-header-gap);border-bottom:1px solid var(--line)}.equipment-detail .equipped-target-preview>header>.equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-preview-size)}.equipment-detail .equipped-target-preview>header strong{display:flex;align-items:baseline;gap:var(--inventory-equipped-title-gap);min-width:0;margin:0;color:var(--loot-color);font-size:var(--inventory-equipped-title-font-size);white-space:nowrap}.equipped-target-preview>header strong>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.equipment-detail .equipped-target-preview>header strong>small{flex:none;margin:0;color:var(--muted);font-size:var(--inventory-equipped-meta-font-size)}.equipped-target-preview .equipment-replace{min-width:var(--inventory-equipped-action-min-width);height:var(--inventory-equipped-action-height);padding:var(--inventory-equipped-action-padding);white-space:nowrap}.equipped-target-preview.empty{grid-template-rows:auto;align-content:center;border-style:solid;border-color:var(--line)}.equipment-detail .equipped-target-preview.empty>header{grid-template-columns:minmax(0,1fr)}.equipment-target-dock{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:var(--equipment-detail-grid-gap);min-width:0}.equipment-target-dock .equipment-target{min-height:var(--inventory-target-min-height);padding:var(--inventory-target-padding)}.equipment-target-dock .equipment-target.selected{background:var(--surface-7);box-shadow:inset 0 0 0 1px var(--loot-color)}.equipment-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.equipment-detail-actions .command{flex:1 1 110px;min-width:0;white-space:nowrap}.equipment-detail-actions .danger{border-color:var(--danger-muted);color:var(--danger-soft)}.inventory-empty{grid-column:1/-1;align-self:start;padding:20px;color:var(--muted)}.equipment-detail header{position:relative;padding-bottom:12px;border-bottom:2px solid var(--loot-color)}.equipment-detail-heading-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--equipment-detail-header-gap);min-width:0}.equipment-detail .detail-favorite{position:static;flex:none;width:var(--equipment-detail-favorite-size);height:var(--equipment-detail-favorite-size);color:var(--muted)}.equipment-detail .detail-favorite:hover,.equipment-detail .detail-favorite:focus-visible,.equipment-detail .detail-favorite.active{border-color:var(--gold);color:var(--gold-soft)}.equipment-detail .detail-favorite.active{background:var(--gold-alpha-22)}.equipment-detail-heading-row>.equipment-detail-growth-actions{display:flex;align-items:center;gap:var(--equipment-growth-action-gap);min-width:0}.equipment-detail-growth-actions>.equipment-growth-trigger{width:var(--equipment-growth-action-width);height:var(--equipment-growth-action-height);min-width:var(--equipment-growth-action-width);padding:3px 4px;font-size:10px;white-space:nowrap}.equipment-detail-growth-actions>.equipment-growth-trigger.unavailable{border-color:var(--line);color:var(--muted);opacity:.7}.equipment-detail-title{display:grid;grid-template-columns:var(--equipment-emblem-detail-size) minmax(0,1fr) auto;align-items:center;gap:var(--equipment-detail-grid-gap);min-width:0}.equipment-detail-title>.equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-detail-size)}.equipment-detail-title h3{min-width:0;margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-detail-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:5px;color:var(--muted);font-size:10px}.equipment-detail-meta span{white-space:nowrap}.equipment-detail-meta .equipment-score{color:var(--ink);font-weight:600}.character-equipment-detail .equipment-detail-meta .equipment-score{color:var(--white-warm);font-size:12px}.equipment-detail-meta .comparison{font-weight:600}.equipment-detail .affix-list{grid-template-columns:repeat(auto-fit,minmax(min(var(--equipment-affix-min-width),100%),1fr));gap:var(--equipment-detail-grid-gap);margin:9px 0}.equipment-detail .affix-list span{min-width:0;align-items:center;padding:4px 6px}.equipment-detail .affix-list i{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-detail .affix-list strong{flex:none;white-space:nowrap}.equipment-detail .affix-list .empty-affixes{display:block;color:var(--muted);text-align:center}.equipment-target{display:grid;grid-template-rows:auto auto;gap:var(--inventory-target-row-gap);min-width:0;padding:var(--inventory-target-padding);border:1px solid var(--loot-color);background:var(--surface-4);color:var(--ink);text-align:left;cursor:pointer}.equipment-target:hover,.equipment-target:focus-visible{background:var(--surface-7);box-shadow:inset 0 0 0 1px var(--loot-color)}.equipment-target>span{display:grid;grid-template-columns:var(--inventory-target-icon-size) minmax(0,1fr) auto;align-items:center;gap:var(--inventory-target-inline-gap);min-width:0}.equipment-target .equipment-emblem{--equipment-emblem-size:var(--inventory-target-icon-size)}.equipment-target b,.equipment-target em,.equipment-target-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.equipment-target b{color:var(--muted);font-size:var(--inventory-target-label-font-size)}.equipment-target em{color:var(--gold-soft);font-size:var(--inventory-target-state-font-size);font-style:normal}.equipment-target-item{display:block!important;min-width:0}.equipment-target-item strong{color:var(--loot-color);font-size:var(--inventory-target-name-font-size)}.equipment-target.empty{border-style:dashed;opacity:.82}.equipment-target.empty .equipment-target-item strong{color:var(--ink)}.inventory-detail .affix-list{grid-template-columns:minmax(0,1fr);gap:var(--inventory-detail-content-gap);margin:var(--inventory-detail-content-gap) 0}.inventory-detail .affix-list span{padding:var(--inventory-affix-row-padding)}.inventory-detail .affix-list i{overflow:visible;text-overflow:clip}.inventory-candidate-scroll .affix-list{font-size:var(--inventory-candidate-affix-font-size)}.equipped-target-scroll .affix-list{font-size:var(--inventory-equipped-font-size)}.inventory-detail .trait-list{gap:var(--inventory-detail-content-gap)}.inventory-detail .set-detail p{margin:var(--inventory-detail-content-gap) 0;line-height:var(--inventory-detail-line-height)}.inventory-detail .special-detail{gap:var(--inventory-detail-content-gap);line-height:var(--inventory-detail-line-height)}.inventory-detail .ultimate-detail{gap:var(--inventory-detail-content-gap);margin:var(--inventory-detail-content-gap) 0 0;padding:var(--inventory-detail-block-padding);line-height:var(--inventory-detail-line-height)}.announcement-stack{display:grid;justify-items:stretch;gap:7px;width:min(var(--hud-announcement-width),100%);padding-top:6px;pointer-events:none}.boss-banner{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;min-width:0;padding:7px 10px;text-align:left;background:var(--danger-overlay);border:1px solid var(--danger-bright);border-left-width:4px;box-shadow:0 8px 22px var(--backdrop)}.boss-banner span,.boss-banner strong{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-banner span{color:var(--danger-soft);font-size:10px}.boss-banner strong{color:var(--white-warm);font-size:13px}.achievement-banner{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:8px;max-width:100%;padding:8px 14px;border:1px solid var(--gold);border-left-width:4px;background:var(--overlay-modal);box-shadow:0 10px 26px var(--backdrop);pointer-events:none}.achievement-banner span,.achievement-banner strong,.achievement-banner small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-banner span{color:var(--gold-soft);font-size:11px}.achievement-banner strong{color:var(--white-warm);font-size:14px}.achievement-banner small{color:var(--muted);font-size:11px}.achievement-banner[data-emphasis=apex]{border-color:var(--gold-soft);border-left-color:var(--danger);background:var(--surface-8);box-shadow:0 0 0 1px var(--gold-muted),0 12px 30px var(--backdrop)}.achievement-banner[data-emphasis=apex] span{color:var(--danger-soft)}.achievement-banner[data-emphasis=apex] strong{color:var(--gold-soft);font-size:15px}.achievement-banner[data-emphasis=apex] small{color:var(--white-warm)}.toast{position:absolute;bottom:60px;left:50%;max-width:calc(100% - 24px);transform:translate(-50%);z-index:6;padding:8px 14px;background:var(--surface-1);border:1px solid var(--success-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage:has(.skill-detail-panel:not(.hidden)) .toast{display:none}.stage:has(.status-hud:not(.hidden)) .toast{bottom:64px}.loot-feed{z-index:4;width:min(var(--hud-loot-width),34vw);display:flex;flex-direction:column;gap:6px;pointer-events:none}.loot-entry{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--loot-color);border-left-width:4px;background:var(--overlay-modal);box-shadow:0 8px 24px var(--backdrop);animation:loot-in var(--loot-entry-duration) ease-out}.loot-mark{display:grid;place-items:center;width:32px;height:32px;color:var(--loot-color);background:var(--surface-7);border:1px solid var(--loot-color);font-style:normal}.loot-mark .equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-loot-size)}.loot-copy{display:grid;min-width:0;gap:2px}.loot-copy small{display:flex;justify-content:space-between;gap:8px}.loot-copy small span,.loot-copy>span{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loot-copy small em{flex:none;color:var(--success);font-size:9px;font-style:normal;white-space:nowrap}.loot-copy strong{color:var(--loot-color);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loot-copy>span{color:var(--ink)}@keyframes loot-in{0%{opacity:0;transform:translate(var(--loot-entry-offset))}to{opacity:1;transform:translate(0)}}.status-hud{position:absolute;left:14px;bottom:12px;z-index:4;display:flex;gap:6px;max-width:calc(100% - 28px);overflow-x:auto;pointer-events:none}.status-hud span{flex:none;display:grid;grid-template-columns:auto auto;gap:1px 7px;min-width:82px;padding:6px 8px;border:1px solid var(--status-color);border-left-width:3px;background:var(--overlay-panel);box-shadow:0 4px 14px var(--backdrop);white-space:nowrap}.status-hud b{color:var(--status-color);font-size:11px}.status-hud strong{justify-self:end;color:var(--ink);font-size:11px}.status-hud small{grid-column:1/-1;color:var(--muted);font-size:10px}@media(min-width:761px)and (max-width:1199px){.status-hud{bottom:calc(var(--hud-ultimate-dock-bottom) + var(--hud-ultimate-chip-height) + var(--hud-fixed-lane-gap))}}.attribute-rail{position:relative;flex:1;min-width:0;max-width:100%;display:flex;flex-wrap:nowrap;justify-content:safe flex-end;gap:7px;padding:0;font-size:11px;overflow-x:auto;scrollbar-width:thin}.attribute-rail:focus-visible{outline:1px solid var(--gold-muted);outline-offset:2px}.attribute-rail[data-scroll-state=start],.attribute-rail[data-scroll-state=middle]{mask-mode:alpha;-webkit-mask-image:linear-gradient(90deg,transparent 0,var(--white) var(--hud-attribute-edge-width),var(--white) 100%);mask-image:linear-gradient(90deg,transparent 0,var(--white) var(--hud-attribute-edge-width),var(--white) 100%)}.attribute-rail[data-scroll-state=end],.attribute-rail[data-scroll-state=middle]{mask-mode:alpha;-webkit-mask-image:linear-gradient(90deg,var(--white) 0,var(--white) calc(100% - var(--hud-attribute-edge-width)),transparent 100%);mask-image:linear-gradient(90deg,var(--white) 0,var(--white) calc(100% - var(--hud-attribute-edge-width)),transparent 100%)}.attribute-rail[data-scroll-state=middle]{-webkit-mask-image:linear-gradient(90deg,transparent 0,var(--white) var(--hud-attribute-edge-width),var(--white) calc(100% - var(--hud-attribute-edge-width)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,var(--white) var(--hud-attribute-edge-width),var(--white) calc(100% - var(--hud-attribute-edge-width)),transparent 100%)}.attribute-rail span{display:flex;min-height:28px;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px;border:1px solid var(--line);background:var(--surface-4);white-space:nowrap}.combat-hud{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:3;width:min(900px,calc(100% - 220px));display:grid;gap:5px;pointer-events:none}.ultimate-bar{display:flex;justify-content:center;gap:5px}.ultimate-chip{position:relative;height:var(--hud-ultimate-chip-height);min-width:var(--hud-ultimate-chip-width);display:grid;grid-template-columns:var(--hud-ultimate-key-width) var(--hud-ultimate-icon-size) minmax(0,1fr);align-items:center;gap:var(--hud-ultimate-gap);padding:5px 6px;background:var(--overlay-panel);border:1px solid var(--border-muted)}.ultimate-chip.ready{border-color:var(--gold);box-shadow:0 0 14px var(--gold-alpha-35);opacity:1}.ultimate-chip img{width:var(--hud-ultimate-icon-size);height:var(--hud-ultimate-icon-size);object-fit:contain;filter:drop-shadow(0 0 3px var(--gold-alpha-35))}.ultimate-chip kbd{color:var(--gold);font-weight:700}.ultimate-chip span{min-width:0}.ultimate-chip b,.ultimate-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ultimate-chip b{font-size:12px}.ultimate-chip small{color:var(--muted);font-size:9px}.character-layout{display:grid;grid-template-columns:var(--character-layout-stats-width) minmax(var(--character-layout-stage-min-width),1fr) minmax(var(--character-layout-detail-width),.9fr);gap:18px}.character-layout>*{min-width:0}.character-layout>.character-mastery-roster{grid-column:1/-1;margin-bottom:0}.equipment-stage{position:relative;min-height:540px}.equipment-ring .slot{position:relative;border-color:var(--loot-color);background:var(--surface-4);text-align:left;transition:border-color .15s,background .15s,box-shadow .15s}.equipment-ring .slot[data-side=left]{grid-column:1}.equipment-ring .slot[data-side=right]{grid-column:3}.equipment-ring .slot:hover,.equipment-ring .slot.equipped{background:var(--surface-7)}.equipment-ring .slot.empty{opacity:.66}.paper-doll{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1;width:132px;height:270px;text-align:center;pointer-events:none}.paper-doll i{position:absolute;display:block;background:var(--paper-doll-robe);border:2px solid var(--paper-doll-accent);overflow:hidden}.paper-doll .doll-head{left:44px;top:8px;width:44px;height:48px;border-radius:50% 50% 42% 42%;background:var(--paper-doll-skin);border-color:var(--white-warm)}.paper-doll .doll-body{left:36px;top:60px;width:60px;height:108px;clip-path:polygon(20% 0,80% 0,100% 100%,0 100%);background:linear-gradient(100deg,var(--paper-doll-robe-dark),var(--doll-armor-color,var(--paper-doll-robe)) 42%,var(--paper-doll-robe-light))}.paper-doll .doll-arm{top:69px;width:22px;height:112px;border-radius:12px}.paper-doll .doll-arm.left{left:17px;transform:rotate(9deg)}.paper-doll .doll-arm.right{right:17px;transform:rotate(-9deg)}.paper-doll .doll-leg{top:158px;width:26px;height:92px;border-radius:0 0 14px 14px}.paper-doll .doll-leg.left{left:38px;transform:rotate(3deg)}.paper-doll .doll-leg.right{right:38px;transform:rotate(-3deg)}.paper-doll b{position:absolute;left:0;right:0;bottom:0;color:var(--white-warm);text-shadow:0 2px 4px var(--black)}.equipment-detail{padding:14px;border-left:1px solid var(--line);min-width:0}.character-equipment-detail{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:var(--character-detail-scroll-height);max-height:var(--character-detail-scroll-height);overflow:hidden}.character-detail-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-width:thin}.equipment-detail.empty{display:grid;align-content:center;gap:8px;color:var(--muted)}.equipment-detail.empty strong{color:var(--ink)}.equipment-detail header small,.equipment-detail header b{display:block;color:var(--muted);margin-bottom:5px}.equipment-detail header h3{color:var(--loot-color);margin-bottom:7px}.affix-list{display:grid;gap:5px;margin:12px 0}.affix-list span{display:flex;justify-content:space-between;gap:8px;padding:5px 7px;background:var(--surface-4)}.affix-list i{color:var(--muted);font-style:normal}.affix-list strong{color:var(--ink)}.special-detail{display:grid;gap:5px;color:var(--muted);line-height:1.45}.special-detail strong{color:var(--gold-soft)}.set-progress{border-top:1px solid var(--line);padding-top:12px;margin-top:14px;color:var(--muted)}.character-surface .equipment-stage{min-height:420px}.character-surface .equipment-ring .slot{min-height:0;height:100%;padding:5px 8px}.boss-hud{width:min(480px,72vw);justify-self:center;padding:6px 10px;background:var(--overlay-panel);border:1px solid var(--danger-muted);box-shadow:0 6px 18px var(--overlay-soft)}.boss-hud>div{display:grid;grid-template-columns:minmax(90px,1fr) auto auto;gap:12px;align-items:center;font-size:11px}.boss-hud strong{color:var(--danger-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-hud span,.boss-hud b{color:var(--muted);white-space:nowrap;font-weight:400}.boss-hud>i{display:block;height:6px;margin-top:5px;background:var(--surface-9);border:1px solid var(--danger-muted)}.boss-hud>i>em{display:block;height:100%;background:var(--danger);transition:width .12s}.boss-hud>.boss-hud-conditions{display:flex;align-items:center;justify-content:flex-start;gap:var(--hud-boss-condition-gap);min-width:0;margin-top:5px;overflow-x:auto;scrollbar-width:thin}.boss-condition{position:relative;display:block;flex:0 0 var(--hud-boss-condition-size);width:var(--hud-boss-condition-size);height:var(--hud-boss-condition-size);min-width:var(--hud-boss-condition-size);padding:0;overflow:hidden;border:1px solid var(--status-color);background:var(--status-fill);white-space:nowrap}.boss-condition i{display:grid;place-items:center;width:100%;height:100%;padding-bottom:var(--hud-boss-condition-timer-height);color:var(--status-text);font-style:normal;font-size:14px;font-weight:700}.boss-condition strong{position:absolute;right:1px;top:1px;display:grid;place-items:center;min-width:var(--hud-boss-condition-count-size);height:var(--hud-boss-condition-count-size);padding:0 2px;border:1px solid var(--status-color);background:var(--surface-1);color:var(--status-color);font-size:8px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.boss-condition strong:empty{display:none}.boss-condition small{position:absolute;left:0;right:0;bottom:0;display:grid;place-items:center;height:var(--hud-boss-condition-timer-height);border-top:1px solid color-mix(in srgb,var(--status-color) 55%,transparent);background:var(--surface-1);color:var(--status-text);font-size:8px;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.boss-recruit{display:block;min-width:0;margin-top:4px;overflow:hidden;color:var(--gold-soft);font-size:10px;font-variant-numeric:tabular-nums;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.boss-recruit.qualified{color:var(--success)}.boss-recruit.hidden{display:none}.loadout-panel{display:grid;gap:6px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.loadout-panel>header{display:flex;align-items:baseline;gap:10px;min-width:0}.loadout-panel>header strong{flex:none;color:var(--white-warm)}.loadout-panel>header small{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.loadout-panel>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:6px}.loadout-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border-left:3px solid var(--line);background:var(--surface-4)}.loadout-entry.active{border-left-color:var(--success);background:var(--surface-7)}.loadout-entry.missing{border-left-color:var(--danger)}.loadout-entry>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;min-width:0}.loadout-entry>div strong,.loadout-entry>div span,.loadout-entry>div small{white-space:nowrap}.loadout-entry>div strong{color:var(--ink)}.loadout-entry>div span{color:var(--gold-soft);font-size:11px}.loadout-entry>div small{grid-column:1/-1;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis}.loadout-entry>nav{display:flex;gap:5px;align-items:center}.loadout-entry .command{min-width:0;height:28px;padding:3px 7px;gap:5px;white-space:nowrap}.loadout-entry .command.active{border-color:var(--success);color:var(--success)}.loadout-action-icon{width:14px;height:14px;flex:none}.loadout-clear{width:28px;height:28px;color:var(--danger-light)}.item.loadout-protected{border-left-color:var(--success);border-left-width:3px}.character-surface .modal-head>h2{flex:none;white-space:nowrap}.character-head-actions{display:flex;align-items:center;gap:8px;min-width:0}.loadout-toggle{display:none;min-width:0;height:30px;padding:4px 7px;gap:5px;white-space:nowrap}.loadout-toggle.active{border-color:var(--gold);color:var(--gold-soft)}.teammate-hud{position:static;grid-column:1;grid-row:1;justify-self:start;z-index:4;width:min(var(--hud-teammate-width),100%);padding:9px 10px;background:var(--overlay-panel);border:1px solid var(--line);box-shadow:0 8px 24px var(--backdrop)}.teammate-head{display:flex;justify-content:space-between;gap:8px;font-size:12px}.teammate-head span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.teammate-head b{color:var(--gold-soft);white-space:nowrap}.teammate-health,.revive-progress{height:5px;margin-top:7px;background:var(--surface-2);overflow:hidden}.teammate-health i{display:block;height:100%;background:var(--danger-light)}.revive-progress i{display:block;height:100%;background:var(--gold)}.teammate-hud small{display:block;margin-top:6px;color:var(--muted);white-space:nowrap}.teammate-control{display:flex!important;align-items:center;gap:6px}.teammate-control kbd{min-width:22px;padding:1px 5px;border:1px solid var(--gold-muted);color:var(--gold-soft);font:700 10px/1.4 Microsoft YaHei,Arial,sans-serif;text-align:center}.teammate-control span{color:var(--ink)}.revive-button{display:none}.companion-hud{display:flex;justify-content:center;gap:var(--hud-companion-gap);max-width:100%;overflow-x:auto;overflow-y:hidden;padding:1px 2px 2px;scrollbar-width:thin;pointer-events:none}.companion-chip{position:relative;display:grid;grid-template-columns:var(--hud-companion-icon-size) minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) var(--hud-companion-state-height);align-items:center;gap:0 6px;flex:0 0 var(--hud-companion-chip-width);width:var(--hud-companion-chip-width);height:var(--hud-companion-chip-height);min-width:0;padding:4px 7px 3px;border:1px solid color-mix(in srgb,var(--companion-color) 60%,var(--line));background:var(--overlay-panel);box-shadow:0 5px 16px var(--overlay-soft);color:var(--ink)}.companion-chip.ready{border-color:var(--companion-color);box-shadow:0 0 9px color-mix(in srgb,var(--companion-color) 32%,transparent)}.companion-chip .companion-icon-slot,.companion-chip .equipment-emblem{width:var(--hud-companion-icon-size);height:var(--hud-companion-icon-size);display:grid;place-items:center}.companion-chip .equipment-emblem{border-color:var(--companion-color);color:var(--companion-color);--equipment-emblem-size:var(--hud-companion-icon-size)}.companion-chip .companion-copy{display:grid;min-width:0;gap:1px;line-height:1.05}.companion-copy b,.companion-copy small,.companion-state{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.companion-copy b{color:var(--white-warm);font-size:10px}.companion-copy small{color:var(--muted);font-size:9px}.companion-state{max-width:55px;color:var(--gold-soft);font-size:9px;font-variant-numeric:tabular-nums;text-align:right}.companion-chip.ready .companion-state{color:var(--success)}.companion-cooldown{grid-column:1/-1;display:block;width:100%;height:var(--hud-companion-state-height);margin-top:2px;background:var(--surface-2);overflow:hidden}.companion-cooldown em{display:block;height:100%;width:0;background:var(--companion-color);transition:width .12s linear}.room-surface{max-height:calc(100% - var(--room-layout-gap) - var(--room-layout-gap));text-align:left}.room-surface .command{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--room-command-height);padding-block:7px;white-space:nowrap}.room-action-icon{width:15px;height:15px;flex:none}.room-code{display:grid;grid-template-columns:minmax(0,1fr);gap:5px var(--room-layout-gap);margin:16px 0;padding:11px 12px;border:1px solid var(--line);background:var(--overlay-panel)}.room-code>span{grid-column:1;color:var(--muted);font-size:11px}.room-code strong{grid-column:1/-1;align-self:center;min-width:0;color:var(--white-warm);font:600 12px/1.5 Consolas,Microsoft YaHei,sans-serif;text-align:center;white-space:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.room-code .command{grid-column:2;grid-row:1;min-width:76px}.room-members{display:grid;gap:6px;margin-bottom:14px}.room-members>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.room-members>header strong{color:var(--ink)}.room-members>header small{color:var(--muted);white-space:nowrap}.room-member-list{border-block:1px solid var(--line)}.room-member{display:grid;grid-template-columns:var(--room-member-mark-size) minmax(0,1fr) auto;align-items:center;gap:3px var(--room-layout-gap);min-height:var(--room-member-min-height);padding:7px 2px}.room-member+.room-member{border-top:1px solid var(--line)}.room-member>i{grid-row:1/3;display:grid;width:var(--room-member-mark-size);height:var(--room-member-mark-size);place-items:center;border:1px solid var(--border-muted);color:var(--muted);font-size:11px;font-style:normal}.room-member.occupied>i{border-color:var(--gold-muted);background:var(--surface-7);color:var(--gold-soft)}.room-member>div{display:grid;gap:2px;min-width:0}.room-member strong,.room-member small,.room-member>b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-member strong{color:var(--ink);font-size:13px}.room-member small{color:var(--muted);font-size:10px}.room-member>b{max-width:90px;color:var(--gold-soft);font-size:11px;font-weight:500;text-align:right}.room-member>b.downed{color:var(--danger-light)}.room-member.empty{opacity:.7}.room-join{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:end;margin-top:12px}.room-join>label{grid-column:1/-1;color:var(--muted);font-size:11px}.room-join input{min-width:0;height:38px;padding:0 10px;color:var(--ink);background:var(--surface-2);border:1px solid var(--line)}.room-actions{position:sticky;bottom:0;z-index:2;display:flex;justify-content:flex-end;min-height:var(--room-command-height);margin-top:var(--room-layout-gap);padding-block:var(--room-layout-gap);margin-bottom:calc(0px - var(--room-layout-gap));background:var(--panel)}.room-actions:empty{display:none}.room-leave-confirm{display:grid;width:100%;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding-top:10px;border-top:1px solid var(--danger-muted)}.room-leave-confirm>span{min-width:0;color:var(--danger-soft);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-leave-confirm .command{min-width:86px}.room-note{margin:12px 0 0;color:var(--muted);font-size:12px;text-align:center}.room-surface:has(.room-leave-confirm) .room-join,.room-surface:has(.room-leave-confirm) .room-note{display:none}.room-code strong,.room-code-actions{grid-column:1/-1}.room-code-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(126px,100%),1fr));gap:5px var(--room-layout-gap)}.room-code-actions .command{grid-column:auto;grid-row:auto;min-width:0}.room-join.invited>label{color:var(--gold-soft)}.room-join.invited input{border-color:var(--gold-muted);background:var(--surface-4)}.attribute-rail b{color:var(--gold);font-size:10px;font-weight:500}.touch-stick{display:none;position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:7;width:96px;height:96px;border:2px solid var(--text-alpha-55);background:var(--overlay-soft);border-radius:50%;touch-action:none}.touch-stick i{position:absolute;left:31px;top:31px;width:30px;height:30px;border-radius:50%;background:var(--gold-alpha-90);border:2px solid var(--white-soft);pointer-events:none}.revive-button:disabled{opacity:.44;border-color:var(--line);color:var(--muted);filter:saturate(.35);cursor:not-allowed}@media(pointer:coarse){.revive-button{display:block;position:absolute;right:22px;bottom:22px;z-index:5;width:58px;height:58px;border-radius:50%;border:2px solid var(--gold);background:var(--overlay-panel);color:var(--gold-soft);font-size:20px;font-weight:700;touch-action:none}.status-hud{left:128px;right:88px;max-width:none}.touch-stick{display:block}.teammate-control{display:none!important}}@media(max-width:760px){#app{grid-template-rows:var(--topbar-size-mobile) minmax(0,1fr) 112px}.topbar{padding:6px 8px;gap:8px}.brand small,.resources span:not(:first-child){display:none}.resources{display:none}.hud{padding:7px 8px;display:grid;grid-template-columns:1fr}.vitals{width:100%}.skill-bar{width:fit-content;max-width:100%}.skill-chip{min-width:82px;height:48px}.choice-grid,.panel-grid{grid-template-columns:1fr}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-surface{--modal-surface-padding: var(--modal-surface-padding-mobile)}.bar-row{grid-template-columns:32px 1fr 78px}.attribute-rail{grid-template-columns:repeat(4,auto);right:6px;top:6px}.attribute-rail span{grid-template-columns:14px auto}}@media(max-width:760px){.topbar nav{gap:3px}.topbar nav .icon-button{min-width:42px;width:42px;padding:0 3px;gap:2px}.topbar nav .icon-button svg{width:13px;height:13px}.topbar nav .tool-label{font-size:10px}.achievement-tabs{margin-inline:-4px;padding-inline:4px}}@media(max-width:360px){.topbar{gap:5px;padding-inline:6px}.topbar .resources{display:none}.topbar .resources.resource-gain{display:block;position:absolute;left:50%;top:40px;width:0;height:0;padding:0}.topbar .resources.resource-gain span{display:none}.brand{gap:5px;min-width:0}.brand-mark{width:28px;height:28px}.brand strong{font-size:14px}.topbar nav{flex:none;gap:4px}.topbar nav .icon-button{width:32px;min-width:32px;height:30px}.topbar nav .tool-label{display:none}}@media(max-width:600px){.main-menu{grid-template-columns:56px minmax(0,1fr);gap:12px}.main-menu-mark{width:56px;height:56px;font-size:28px}.main-menu>div h2{font-size:22px}.main-menu-actions{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.main-menu-actions .command{width:100%}.audio-volume{grid-template-columns:60px minmax(0,1fr) 38px;gap:7px}.exit-state p{white-space:normal}}.leaderboard-surface{width:min(940px,94vw)}.achievement-view-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid var(--line)}.achievement-view-tab{min-width:0;padding:8px 7px;border:1px solid var(--line);background:var(--surface-4);color:var(--muted);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.achievement-view-tab:hover,.achievement-view-tab.active{border-color:var(--gold);color:var(--gold-soft);background:var(--surface-7)}.achievement-tabs{display:flex;gap:5px;margin-bottom:12px;padding-bottom:5px;overflow-x:auto;scrollbar-width:thin}.achievement-tab{flex:0 0 auto;padding:7px 10px;border:1px solid var(--line);background:var(--surface-4);color:var(--muted);cursor:pointer;white-space:nowrap}.achievement-tab:hover,.achievement-tab.active{border-color:var(--gold);color:var(--gold-soft);background:var(--surface-7)}.leaderboard-table{display:grid;gap:3px}.leaderboard-row{display:grid;grid-template-columns:54px minmax(120px,1.4fr) minmax(64px,.7fr) minmax(320px,3.5fr);align-items:center;gap:8px;min-height:38px;padding:6px 10px;border:1px solid var(--line);background:var(--surface-4)}.leaderboard-row>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-row strong{color:var(--gold);font-size:16px}.leaderboard-status{display:inline-block;margin-right:7px;padding:2px 5px;border:1px solid var(--border-muted);color:var(--muted);font-size:9px;font-weight:500;vertical-align:middle}.leaderboard-status.status-active{border-color:var(--success-muted);color:var(--success)}.leaderboard-heading{color:var(--muted);background:var(--surface-7);font-size:11px}.leaderboard-metrics{display:grid;grid-template-columns:repeat(6,minmax(48px,1fr));gap:8px;align-items:center}.leaderboard-metrics i{display:none;font-style:normal;color:var(--muted)}.leaderboard-metrics b{font-size:inherit;color:var(--ink)}.leaderboard-player{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;align-items:center;gap:1px 6px;min-width:0}.leaderboard-player .leaderboard-status{margin:0;width:max-content}.leaderboard-player>span{overflow:hidden;text-overflow:ellipsis}.leaderboard-player>i{overflow:hidden;color:var(--gold-soft);font-size:10px;font-style:normal;font-weight:400;text-overflow:ellipsis}.leaderboard-title{color:var(--gold-soft);font-size:10px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.achievement-list{display:grid;gap:6px;max-height:min(58vh,520px);overflow:auto;padding-right:2px;scrollbar-width:thin}.achievement-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:9px 11px;border:1px solid var(--line);background:var(--surface-4)}.achievement-entry>div{display:grid;gap:3px;min-width:0}.achievement-entry strong,.achievement-entry small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.achievement-entry strong{color:var(--white-warm);font-size:13px}.achievement-entry small{color:var(--muted);font-size:11px}.achievement-entry>b{color:var(--gold-soft);font-size:12px;white-space:nowrap}.achievement-entry.unlocked{border-color:var(--gold-muted);box-shadow:inset 3px 0 0 var(--gold)}.achievement-entry.locked{opacity:.68}.special-title{grid-template-columns:minmax(0,1fr) auto}.special-title[data-visual=jade]{border-left:3px solid var(--title-jade)}.special-title[data-visual=flame]{border-left:3px solid var(--title-flame)}.special-title[data-visual=gold]{border-left:3px solid var(--title-gold)}.special-title[data-visual=crimson]{border-left:3px solid var(--title-crimson)}.special-title[data-visual=void]{border-left:3px solid var(--title-void)}.special-title[data-visual=frost]{border-left:3px solid var(--title-frost)}.special-title .command{min-width:76px;padding-inline:8px}.empty-state{min-height:180px;display:grid;place-content:center;gap:8px;text-align:center;color:var(--muted)}.empty-state strong{color:var(--ink);font-size:18px}.run-recap-surface{width:min(780px,100%);min-width:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;overflow:hidden}.run-recap-scroll{min-width:0;min-height:0;display:grid;gap:14px;overflow:auto;padding-right:2px;scrollbar-width:thin}.run-recap-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding-bottom:13px;border-bottom:1px solid var(--line)}.run-recap-head small{display:block;margin-bottom:4px;color:var(--muted);white-space:nowrap}.run-recap-head strong{color:var(--gold-soft);font-size:16px;white-space:nowrap}.run-recap-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line);background:var(--surface-4)}.run-recap-primary span,.run-recap-stats span{display:grid;gap:5px;min-width:0;padding:11px 12px;border-right:1px solid var(--line)}.run-recap-primary span:last-child,.run-recap-stats span:last-child{border-right:0}.run-recap-primary i,.run-recap-stats i{color:var(--muted);font-size:11px;font-style:normal;white-space:nowrap}.run-recap-primary b{color:var(--white-warm);font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-recap-profile{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px 16px;padding:8px 10px;border-left:3px solid var(--gold);background:var(--surface-7)}.run-recap-profile span,.run-recap-profile b,.run-recap-profile small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-recap-profile b{color:var(--gold-soft)}.run-recap-profile small{justify-self:end;max-width:100%;color:var(--muted)}.run-recap-section{display:grid;gap:7px}.run-recap-section h3{color:var(--muted);font-size:12px;font-weight:400}.run-recap-mastery{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:9px 11px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--surface-7)}.run-recap-mastery>div{display:flex;align-items:center;gap:10px;min-width:0}.run-recap-mastery h3{white-space:nowrap}.run-recap-mastery strong{color:var(--white-warm);white-space:nowrap}.run-recap-mastery>span{display:flex;align-items:baseline;gap:9px;min-width:0}.run-recap-mastery>span b{color:var(--gold-soft);font-size:16px;white-space:nowrap}.run-recap-mastery>span small{color:var(--muted);white-space:nowrap}.run-recap-mastery[data-complete=true]{border-color:var(--gold-muted);border-left-color:var(--danger);box-shadow:inset 0 0 18px var(--surface-5)}.run-recap-mastery[data-complete=true] strong{color:var(--gold-soft)}.run-recap-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--line)}.run-recap-stats b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-recap-tags{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.run-recap-tags>span{flex:none;display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);background:var(--surface-4);white-space:nowrap}.run-recap-tags b{color:var(--gold-soft);font-size:10px}.run-recap-tags>small{color:var(--muted);white-space:nowrap}.run-recap-equipment>div{display:flex;gap:14px;padding:8px 10px;border:1px solid var(--line);background:var(--surface-4)}.run-recap-equipment>div span{white-space:nowrap}.run-recap-equipment p{margin:0;color:var(--gold-soft);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-recap-surface .command-row{margin-top:0;padding:9px 0 2px;background:var(--panel)}@media(max-width:600px){.run-recap-surface{gap:8px;max-height:94%;padding:13px}.run-recap-scroll{gap:10px}.run-recap-head{padding-bottom:9px}.run-recap-head h2{font-size:20px}.run-recap-primary{grid-template-columns:repeat(2,minmax(0,1fr))}.run-recap-primary span:nth-child(2){border-right:0}.run-recap-primary span:nth-child(-n+2){border-bottom:1px solid var(--line)}.run-recap-profile{grid-template-columns:auto 1fr}.run-recap-profile small{grid-column:1/-1;justify-self:start}.run-recap-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.run-recap-stats span:nth-child(2){border-right:0}.run-recap-stats span:nth-child(-n+2){border-bottom:1px solid var(--line)}.run-recap-equipment>div{gap:8px;justify-content:space-between;font-size:11px}.run-recap-surface .command-row{display:grid;grid-template-columns:1fr 1fr}.run-recap-surface .command-row .primary{grid-column:1/-1;grid-row:1}}.run-recap-section,.run-recap-tags{min-width:0;max-width:100%}.run-recap-achievements>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.run-achievement-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;min-width:0;padding:8px 10px;border:1px solid var(--gold-muted);background:var(--surface-7)}.run-achievement-card i,.run-achievement-card b,.run-achievement-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-achievement-card i{color:var(--gold-soft);font-style:normal}.run-achievement-card b{color:var(--white-warm);font-size:13px}.run-achievement-card small{grid-column:1/-1;color:var(--muted)}.run-recap-achievements>small{color:var(--muted);white-space:nowrap}.modal:has(.run-recap-surface){position:fixed}.run-recap-damage-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.run-recap-damage-head span{color:var(--gold-soft);font-size:11px;white-space:nowrap}.run-recap-damage-list{display:grid;gap:4px}.run-recap-damage-row{display:grid;grid-template-columns:minmax(90px,1fr) minmax(120px,2fr) auto;align-items:center;gap:9px;min-width:0;padding:5px 7px;border:1px solid var(--line);background:var(--surface-4)}.run-recap-damage-row>b,.run-recap-damage-row>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-recap-damage-row>b{font-size:11px}.run-recap-damage-row>strong{color:var(--gold-soft);font-size:10px;font-weight:500;text-align:right}.run-recap-damage-row>i{display:block;height:6px;overflow:hidden;border:1px solid var(--border-muted);background:var(--surface-9)}.run-recap-damage-row>i>em{display:block;height:100%;background:var(--gold)}.run-recap-lethal{padding:9px 10px;border:1px solid var(--danger-muted);border-left:3px solid var(--danger);background:var(--surface-7)}.run-recap-lethal>div{display:grid;gap:4px}.run-recap-lethal-row{display:grid;grid-template-columns:minmax(100px,1.3fr) minmax(90px,1fr) auto auto;align-items:center;gap:8px;min-width:0;padding:5px 7px;border:1px solid var(--line);background:var(--surface-4)}.run-recap-lethal-row>b,.run-recap-lethal-row>i,.run-recap-lethal-row>strong,.run-recap-lethal-row>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-recap-lethal-row>b{color:var(--white-warm);font-size:11px}.run-recap-lethal-row>i{color:var(--muted);font-size:10px;font-style:normal}.run-recap-lethal-row>strong{color:var(--danger);font-size:11px}.run-recap-lethal-row>small{color:var(--muted);font-size:9px;text-align:right}.run-recap-lethal-row[data-lethal=true]{border-color:var(--danger-muted);box-shadow:inset 3px 0 0 var(--danger)}.run-recap-lethal-row[data-lethal=true]>small{color:var(--danger)}@media(max-width:600px){.run-recap-tags{flex-wrap:wrap;overflow-x:visible}}@media(max-width:600px){.run-recap-mastery{grid-template-columns:minmax(0,1fr);gap:5px}.run-recap-mastery>div,.run-recap-mastery>span{justify-content:space-between}.run-recap-mastery>span small{min-width:0;overflow:hidden;text-overflow:ellipsis}}@media(max-width:600px){.run-recap-damage-row{grid-template-columns:minmax(72px,1fr) minmax(72px,1.5fr) auto;gap:6px;padding:4px 6px}.run-recap-damage-head span{font-size:10px}}@media(max-width:600px){.run-recap-lethal-row{grid-template-columns:minmax(76px,1.2fr) minmax(68px,1fr) auto auto;gap:5px;padding:4px 5px}.run-recap-lethal-row>b{font-size:10px}.run-recap-lethal-row>i,.run-recap-lethal-row>small{font-size:9px}}@media(max-width:600px){.run-recap-achievements>div{gap:4px}.run-achievement-card{padding:6px;grid-template-columns:1fr;gap:2px}.run-achievement-card b{font-size:11px}.run-achievement-card small{grid-column:auto;font-size:9px}}@media(max-width:760px){.leaderboard-table{overflow-x:auto}.leaderboard-row{min-width:720px}}@media(max-width:900px){.combat-hud{width:calc(100% - 12px);top:6px}.combat-hud .skill-bar{display:flex;flex-wrap:wrap;justify-content:center;width:fit-content;max-width:100%;gap:4px;overflow:visible}.skill-chip{flex:0 0 68px;min-width:0;width:68px;height:34px;padding:3px;grid-template-columns:1fr;gap:0}.skill-chip span:last-child{display:none}.skill-glyph,.skill-glyph img{width:24px;height:24px}.skill-glyph{justify-self:center;font-size:18px}.skill-detail-panel{top:92px;width:min(330px,calc(100% - 18px));max-height:calc(100dvh - 220px);padding:9px}.skill-detail-grid{grid-template-columns:1fr;gap:4px}.skill-detail-panel header{grid-template-columns:30px minmax(0,1fr) 28px}.skill-detail-panel img{width:30px;height:30px}.skill-detail-panel p{font-size:11px}.character-layout{grid-template-columns:1fr}.equipment-stage{min-height:440px}.equipment-detail{border-left:0;border-top:1px solid var(--line)}.attribute-rail{font-size:10px;max-height:48px;overflow:auto}.ultimate-chip{min-width:82px}.ultimate-chip span{display:none}}@media(max-width:900px){.skill-inspect:after{position:fixed;top:94px;left:50%;width:min(280px,86vw);max-width:none;text-align:center}}@media(max-width:900px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-footer{gap:8px}.choice-footer small{white-space:normal;text-align:center}}@media(max-width:900px){.teammate-hud{width:min(var(--hud-teammate-width-mobile),100%);padding:7px 8px}.teammate-hud small{font-size:10px}.companion-hud{justify-content:flex-start}.companion-chip{flex-basis:var(--hud-companion-chip-width-mobile);width:var(--hud-companion-chip-width-mobile);height:var(--hud-companion-chip-height)}.room-leave-confirm{grid-template-columns:1fr 1fr}.room-leave-confirm>span{grid-column:1/-1;text-align:center}.room-leave-confirm .command{width:100%;min-width:0}}@media(max-width:760px){.revive-button{display:block;position:absolute;right:14px;bottom:14px;z-index:5;width:54px;height:54px;border-radius:50%;border:2px solid var(--gold);background:var(--overlay-panel);color:var(--gold-soft);font-size:20px;font-weight:700;touch-action:none}}@media(max-width:760px){.boss-hud{width:min(300px,82vw);padding:4px 7px}.boss-hud>div{grid-template-columns:minmax(70px,1fr) auto;gap:7px}.boss-hud b{display:none}.boss-hud>i{height:5px;margin-top:3px}.announcement-stack{width:min(var(--hud-announcement-width-mobile),100%)}.boss-banner{gap:6px;padding:5px 8px}.achievement-banner{grid-template-columns:auto minmax(0,1fr) auto;gap:4px 6px;max-width:100%;padding:5px 8px}.loot-feed{width:min(var(--hud-loot-width-mobile),42vw)}.loot-entry{grid-template-columns:28px minmax(0,1fr);gap:7px;padding:5px 7px}.loot-mark{width:26px;height:26px}.loot-mark .equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-loot-size-mobile)}.loot-copy strong{font-size:12px}.loot-copy>span{display:none}.loot-entry:nth-last-child(n+3){display:none}}@media(max-width:760px){.topbar:has(.connection-status:not(.hidden)) .brand{display:none}.connection-status{position:static;left:auto;top:auto;flex:1;max-width:none;min-width:0;margin-right:auto;padding:4px 7px;transform:none;font-size:10px}}@media(max-width:760px){.leaderboard-table{overflow-x:visible}.leaderboard-heading{display:none}.leaderboard-row{min-width:0;grid-template-columns:30px minmax(0,1fr) auto;gap:6px 8px;padding:8px}.leaderboard-row>strong{grid-row:1/3}.leaderboard-duration{justify-self:end}.leaderboard-metrics{grid-column:2/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.leaderboard-metrics span{display:grid;gap:2px;min-width:0;text-align:left}.leaderboard-metrics i{display:block;font-size:9px}.leaderboard-metrics b{font-size:11px}.leaderboard-player{overflow:hidden}.achievement-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;overflow:visible;padding-bottom:0}.achievement-tab{min-width:0;width:100%;overflow:hidden;text-overflow:ellipsis}}@media(max-width:760px){.achievement-view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.achievement-view-tab{padding:7px 5px;font-size:11px}.achievement-entry{padding:8px 9px}.achievement-entry strong{font-size:12px}.achievement-entry small{font-size:10px}.achievement-entry>b{font-size:11px}.achievement-list{max-height:min(56vh,460px)}}@media(max-width:760px){.leaderboard-surface .modal-head>div{min-width:0}.leaderboard-surface .modal-head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:350px){.achievement-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.skill-bar::-webkit-scrollbar{display:none}.skill-chip:hover{border-color:var(--gold)}.skill-chip.skill-ultimate{border-color:var(--gold-muted);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 24%,transparent),0 0 10px color-mix(in srgb,var(--gold) 12%,transparent)}.skill-chip.skill-ultimate .skill-glyph{outline:1px solid var(--gold);box-shadow:0 0 9px color-mix(in srgb,var(--gold) 35%,transparent)}.skill-chip.skill-ultimate .skill-glyph em{background:var(--white-warm);color:var(--surface-2);box-shadow:0 0 6px var(--gold)}.skill-chip.skill-divine{border-color:var(--white-warm);box-shadow:inset 0 0 0 1px var(--gold),0 0 14px var(--gold-alpha-35)}.skill-chip.skill-divine .skill-glyph{outline:2px solid var(--white-warm);box-shadow:0 0 13px var(--gold)}.skill-mastery-mark{position:absolute;left:0;top:0;z-index:3;display:grid;place-items:center;width:var(--hud-skill-mastery-mark-size);height:var(--hud-skill-mastery-mark-size);border-right:1px solid var(--gold-muted);border-bottom:1px solid var(--gold-muted);background:var(--surface-2);color:var(--gold-soft);font-size:var(--hud-skill-mastery-mark-font-size);font-style:normal;font-weight:700;line-height:1;pointer-events:none}.skill-chip[data-mastery-state=path] .skill-mastery-mark{background:var(--gold-muted);color:var(--white-warm)}.skill-chip[data-mastery-state=divine] .skill-mastery-mark{border-color:var(--white-warm);background:var(--white-warm);color:var(--surface-2);box-shadow:0 0 6px var(--gold)}.skill-detail-grid .skill-ultimate-detail{border-color:var(--gold-muted);background:color-mix(in srgb,var(--gold) 8%,var(--surface-4))}.skill-detail-grid .skill-ultimate-detail i,.skill-detail-grid .skill-ultimate-detail b{color:var(--gold-soft)}.skill-growth-grid{margin-top:8px}@media(max-width:900px){.skill-detail-core{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-detail-core .skill-ultimate-detail{grid-column:1/-1}}.skill-cooldown{position:absolute;left:0;right:0;bottom:0;z-index:1;background:var(--skill-cooldown-mask);pointer-events:none;transition:height .08s linear}.skill-glyph.mana-blocked{outline:1px solid var(--skill-mana-blocked);opacity:.72}.skill-glyph em{position:absolute;right:-3px;bottom:-3px;z-index:2;min-width:15px;height:15px;padding:0 3px;display:grid;place-items:center;border-radius:8px;background:var(--gold);color:var(--surface-2);font-size:9px;font-style:normal;font-weight:700}.skill-label{display:grid;align-content:center;min-width:0;line-height:1.05}.skill-chip small.skill-state{position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;place-items:center;height:var(--hud-skill-state-height);min-width:0;margin:0;border-top:1px solid var(--border-muted);background:var(--surface-1);color:var(--white-soft);font-size:9px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:clip;font-variant-numeric:tabular-nums}.ultimate-chip:not(.ready)>span{grid-column:2 / 4}.ultimate-dock{position:absolute;left:50%;bottom:var(--hud-ultimate-dock-bottom);z-index:5;max-width:calc(100% - 24px);transform:translate(-50%);pointer-events:auto}.ultimate-chip:not(.ready){opacity:.68}.ultimate-chip.fragmentary{border-color:var(--gold-muted);box-shadow:inset 0 0 0 1px var(--gold-alpha-22)}.ultimate-chip.forged{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-alpha-22),0 0 10px var(--gold-alpha-22)}.ultimate-fragmentary-mark{position:absolute;right:3px;top:2px;padding:1px 4px;border:1px solid var(--gold-muted);background:var(--surface-2);color:var(--gold-soft);font-size:8px;font-style:normal;line-height:12px;white-space:nowrap}.attribute-group{flex:none;display:grid;grid-template-rows:13px auto;gap:2px;padding-left:6px;border-left:1px solid var(--gold-muted)}.attribute-group>i{color:var(--muted);font-size:9px;font-style:normal;line-height:11px;white-space:nowrap}.attribute-group>div{display:grid;grid-template-rows:repeat(2,28px);grid-auto-flow:column;grid-auto-columns:minmax(72px,auto);gap:4px}.attribute-group.featured{grid-template:13px minmax(0,1fr)/minmax(78px,auto);min-width:88px;padding:5px 9px;border:1px solid var(--gold);background:var(--surface-7);box-shadow:inset 3px 0 0 var(--gold),0 0 12px var(--gold-alpha-22)}.attribute-group.featured>i{color:var(--gold-soft);font-size:9px}.attribute-group.featured>strong{align-self:center;color:var(--white-warm);font-size:18px;font-variant-numeric:tabular-nums;line-height:1;text-align:right;white-space:nowrap}@media(max-width:1100px){.inventory-surface{display:block;overflow:auto}.inventory-workspace{grid-template-columns:1fr;overflow:visible}.inventory-detail{order:-1;height:min(var(--inventory-detail-stacked-height),100%);max-height:none;overflow:hidden}.inventory-grid{max-height:none;overflow:visible;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.combat-hud{width:calc(100% - 10px)}.combat-hud .skill-bar{display:flex;flex-wrap:wrap;justify-content:center;width:fit-content;max-width:100%;overflow:visible}.skill-chip{flex:0 0 52px;min-width:52px;width:52px;height:var(--hud-skill-chip-height-mobile);padding:3px 3px calc(var(--hud-skill-state-height) + var(--hud-skill-content-gap));grid-template-columns:24px minmax(0,1fr);gap:2px;border-color:var(--border-muted)}.skill-glyph,.skill-glyph img{width:24px;height:24px}.skill-glyph em{right:0;bottom:0;min-width:13px;height:13px;font-size:8px}.ultimate-chip{min-width:70px;height:var(--hud-ultimate-chip-height-mobile);grid-template-columns:14px 20px minmax(0,1fr);gap:2px;padding:3px;justify-content:center}.ultimate-chip img{width:20px;height:20px}.ultimate-chip span{display:block}.ultimate-chip b{display:block;font-size:9px}.ultimate-chip small{font-size:8px}.attribute-rail{max-height:none;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;font-size:10px;padding-bottom:2px}.attribute-rail span{flex:0 0 auto;min-height:24px}}@media(max-width:760px){#app{--hud-size:var(--hud-size-mobile);grid-template-rows:var(--topbar-size-mobile) minmax(0,1fr) var(--hud-size)}.hud-inspect:after{right:8px}.topbar{padding:5px 7px 24px}.brand{gap:7px}.brand small{display:block;position:absolute;left:7px;right:7px;bottom:4px;overflow:hidden;color:var(--muted);font-size:10px;line-height:14px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.brand strong{font-size:15px}.resources{padding:0;border:0;background:none}.hud{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:7px 8px;grid-template-rows:56px minmax(0,1fr);align-items:stretch}.ultimate-chip{min-width:var(--hud-ultimate-chip-width-mobile)}.vitals{width:100%;min-width:0;gap:4px}.bar-row{min-width:0;grid-template-columns:32px minmax(0,1fr) minmax(76px,max-content);gap:7px}.bar-row>*{min-width:0}.bar-row b{overflow:hidden;text-overflow:ellipsis}.bar{height:9px}.attribute-rail{width:100%;min-height:0;align-items:center;padding-bottom:0;overscroll-behavior-x:contain;touch-action:pan-x}.attribute-group{height:100%;display:flex;align-items:center;gap:4px;grid-template:none}.attribute-group>i{flex:none}.attribute-group>div{display:flex;grid-template:none;grid-auto-flow:row;grid-auto-columns:auto;gap:4px}.attribute-group.featured{display:grid;grid-template-columns:auto auto;grid-template-rows:28px;align-items:center;gap:6px;height:28px;min-width:78px;padding:3px 7px}.attribute-group.featured>strong{font-size:14px}.attribute-rail span{height:28px;min-height:28px}.status-hud{left:8px;right:8px;bottom:var(--hud-status-bottom-mobile);max-width:none;justify-content:flex-start}.status-hud span{min-width:72px;min-height:var(--hud-status-card-height-mobile);box-sizing:border-box;padding:4px 6px}.stage:has(.status-hud:not(.hidden)) .toast{bottom:104px}.auto-salvage-panel{grid-template-columns:1fr;gap:7px}.auto-salvage-panel>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.auto-salvage-panel label{justify-content:space-between}.auto-salvage-panel small{white-space:normal}.choice-grid{gap:8px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.choice{min-height:108px;padding:10px 12px}.choice h3{margin:5px 0;font-size:16px}.choice p:not(.upgrade-summary){display:-webkit-box;flex:0 0 2.7em;height:2.7em;min-height:2.7em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;line-height:1.35}.choice .tag{font-size:11px}}@media(max-width:1100px){.foundation-summary>div{grid-template-columns:repeat(var(--foundation-summary-compact-columns),minmax(0,1fr))}.character-layout{grid-template-columns:var(--character-layout-stats-width-compact) minmax(var(--character-layout-stage-min-width-compact),1fr) minmax(var(--character-layout-detail-width-compact),.8fr);gap:10px}}@media(max-width:900px){.foundation-summary{grid-template-columns:1fr}.foundation-summary-toggle{grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:var(--foundation-summary-header-inline-gap);min-width:0}.foundation-summary-toggle span{grid-column:auto}.foundation-summary-toggle small{text-align:right}.foundation-toggle-icon{grid-column:auto;grid-row:auto}.foundation-summary>div{display:grid;grid-template-columns:repeat(var(--foundation-summary-mobile-columns),minmax(0,1fr));overflow:visible}.foundation-summary>div>span{min-width:0}.character-layout{grid-template-columns:1fr}.equipment-stage{min-height:500px}.character-layout>.equipment-stage{order:-2}.character-layout>.equipment-detail{order:-1}.character-layout>.equipment-detail.empty{display:none}.character-layout>.stats{max-height:none;overflow:visible;padding-right:0}.character-layout>.equipment-detail{grid-column:auto}}@media(max-width:760px){.equipment-ring{grid-template-columns:minmax(0,1fr) minmax(0,var(--equipment-ring-center-width-mobile)) minmax(0,1fr);gap:var(--equipment-ring-row-gap-mobile) var(--equipment-ring-column-gap-mobile)}.equipment-ring .slot{min-height:42px;padding:4px;font-size:10px}.equipment-ring .slot small{font-size:9px}.paper-doll{transform:translate(-50%,-50%) scale(.72)}.bag-toolbar{align-items:flex-start;flex-direction:column}.bag-controls{justify-content:flex-start;width:100%;gap:6px}.bag-controls .command{min-width:0;flex:1 1 140px}.bag-view-controls{justify-content:flex-start;margin-top:4px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-detail{height:min(var(--inventory-detail-mobile-height),100%)}.loadout-panel>header{align-items:baseline;flex-direction:row;gap:8px}.loadout-panel>div{display:flex;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scroll-snap-type:x proximity;overscroll-behavior-x:contain;touch-action:pan-x}.loadout-entry{flex:0 0 min(300px,calc(100vw - 64px));grid-template-columns:1fr;gap:6px;scroll-snap-align:start}.loadout-entry>nav{justify-content:flex-start}.loadout-toggle{display:flex}.character-surface:not(.loadouts-expanded)>.loadout-panel{display:none}}@media(max-width:360px){.inventory-grid{grid-template-columns:1fr}.inventory-detail{height:min(var(--inventory-detail-narrow-height),100%)}.inventory-candidate-header .equipment-detail-title{display:grid;grid-template-columns:var(--equipment-emblem-detail-size) minmax(0,1fr)}.inventory-candidate-header .equipment-detail-title h3{max-width:none;font-size:13px}.inventory-candidate-header .item-variant-control{grid-column:2;justify-self:start}.equipment-target-dock .equipment-target{padding:var(--inventory-target-padding-narrow)}.equipment-target>span{grid-template-columns:var(--inventory-target-icon-size-narrow) minmax(0,1fr) auto;gap:var(--inventory-target-inline-gap-narrow)}.equipment-target .equipment-emblem{--equipment-emblem-size:var(--inventory-target-icon-size-narrow)}.equipment-target b{font-size:var(--inventory-target-label-font-size-narrow)}.equipment-target em{font-size:var(--inventory-target-state-font-size-narrow)}.equipment-target-item strong{font-size:var(--inventory-target-name-font-size-narrow)}.modal-surface.character-surface .equipment-stage{height:var(--equipment-stage-height-narrow);min-height:var(--equipment-stage-height-narrow)}.modal-surface.character-surface .equipment-ring{grid-auto-rows:var(--equipment-ring-slot-height-narrow);row-gap:var(--equipment-ring-row-gap-narrow)}.modal-surface.character-surface .equipment-ring .slot{height:var(--equipment-ring-slot-height-narrow);min-height:var(--equipment-ring-slot-height-narrow);padding:var(--equipment-ring-slot-padding-narrow)}.modal-surface.character-surface .paper-doll{transform:translate(-50%,-50%) scale(var(--equipment-paper-doll-scale-narrow))}}@media(max-width:560px){.wonder-choice-surface .choice-grid{grid-template-columns:minmax(0,1fr)}.wonder-choice-surface .wonder-forge-choice{min-height:0}.wonder-choice-surface .wonder-forge-choice .tag,.wonder-choice-surface .wonder-forge-choice .choice-cost{white-space:nowrap;overflow:visible;text-overflow:clip}}@media(max-width:360px){.auto-salvage-panel>div{grid-template-columns:1fr}.auto-salvage-panel label{min-width:0}.auto-salvage-panel select{max-width:150px}}@media(max-width:360px){.character-head-actions{gap:4px}.loadout-toggle{padding-inline:5px}}.equipment-action-backdrop.is-fixed{position:fixed}.equipment-action-backdrop{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:var(--modal-gutter);background:var(--backdrop);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.equipment-action-dialog{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(var(--equipment-action-dialog-width),100%);max-height:var(--equipment-action-dialog-max-height);overflow:hidden;background:var(--panel);border:1px solid var(--gold-muted);box-shadow:0 16px 48px var(--black)}.equipment-action-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:var(--equipment-action-dialog-padding);border-bottom:1px solid var(--gold-muted)}.equipment-action-dialog>header small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-action-dialog>header h2{margin:2px 0 0;color:var(--gold-soft);font-size:17px}.equipment-action-dialog>header .icon-button{flex:none}.equipment-action-content{min-height:0;overflow-y:auto;padding:var(--equipment-action-dialog-padding);overscroll-behavior:contain}.growth-unavailable{display:grid;gap:7px;margin:0;padding:12px;border:1px solid var(--line);background:var(--surface-4)}.growth-unavailable strong{color:var(--muted)}.growth-unavailable span{color:var(--ink);line-height:1.5}.equipment-detail-growth-actions{display:flex;align-items:center;gap:var(--equipment-growth-action-gap);min-width:0}.equipment-growth-trigger{width:var(--equipment-growth-action-width);height:var(--equipment-growth-action-height);min-width:var(--equipment-growth-action-width);padding:3px 4px;font-size:10px;white-space:nowrap}.equipment-growth-trigger.unavailable{border-color:var(--line);color:var(--muted);opacity:.7}.equipment-action-dialog .upgrade-detail,.equipment-action-dialog .refinement-detail,.equipment-action-dialog .reforge-detail{margin:0}.equipment-detail-heading-row>.detail-favorite{grid-column:3}.equipment-detail-heading-row>nav.equipment-detail-growth-actions{grid-column:2}.equipment-ring .slot[data-side]:after{content:"";position:absolute;top:50%;width:15px;border-top:1px solid var(--loot-color);opacity:.5}.equipment-ring .slot[data-side=left]:after{left:100%}.equipment-ring .slot[data-side=right]:after{right:100%}.equipment-ring .slot.equipped:before{content:"";position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--loot-color);box-shadow:0 0 9px var(--loot-color)}.equipment-ring .slot.equipped{box-shadow:inset 0 0 14px color-mix(in srgb,var(--loot-color) 14%,transparent)}.paper-doll:before{content:"";position:absolute;inset:-18px -12px 10px;border:1px solid var(--doll-aura-color,var(--paper-doll-aura-edge));border-radius:50%;background:radial-gradient(circle,var(--paper-doll-aura),transparent 68%);box-shadow:0 0 24px var(--doll-aura-color,var(--paper-doll-aura))}.paper-doll .doll-head:before{content:"";position:absolute;inset:-2px -2px 55%;border-radius:50% 50% 30% 30%;background:var(--paper-doll-hair)}.paper-doll .doll-head:after{content:"";position:absolute;right:9px;top:25px;width:4px;height:4px;border-radius:50%;background:var(--paper-doll-hair);box-shadow:-13px 0 var(--paper-doll-hair)}.paper-doll .doll-body:before{content:"";position:absolute;left:17px;top:-2px;width:22px;height:24px;border:3px solid var(--paper-doll-accent);transform:rotate(45deg);background:var(--paper-doll-robe-dark)}.paper-doll .doll-body:after{content:"";position:absolute;left:0;right:0;top:58px;height:8px;background:var(--paper-doll-robe-dark);border-block:1px solid var(--paper-doll-accent)}.paper-doll .doll-arm,.paper-doll .doll-leg{background:linear-gradient(var(--doll-armor-color,var(--paper-doll-robe)),var(--paper-doll-robe-dark))}.paper-doll .doll-arm:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:14px;background:var(--paper-doll-accent)}.paper-doll .doll-leg:after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;background:var(--paper-doll-hair)}.paper-doll .doll-weapon{position:absolute;right:2px;top:35px;z-index:-1;width:7px;height:194px;border:2px solid var(--doll-weapon-color,var(--paper-doll-accent));background:var(--paper-doll-robe-dark);transform:rotate(-12deg);transform-origin:bottom;opacity:0}.paper-doll .doll-weapon:before{content:"";position:absolute;left:-8px;top:-10px;width:19px;height:14px;border:2px solid var(--doll-weapon-color,var(--paper-doll-accent));background:var(--paper-doll-robe-dark);clip-path:polygon(50% 0,100% 100%,0 100%)}.paper-doll.has-weapon .doll-weapon{opacity:1}.paper-doll[data-weapon-style=spear] .doll-weapon{width:4px;height:210px}.paper-doll[data-weapon-style=bow] .doll-weapon{right:-8px;top:58px;width:34px;height:128px;border-width:3px;border-left-color:transparent;background:transparent;border-radius:50%;transform:rotate(-8deg)}.paper-doll[data-weapon-style=bow] .doll-weapon:before{left:14px;top:0;width:2px;height:100%;border:0;background:var(--doll-weapon-color,var(--paper-doll-accent));clip-path:none}.paper-doll[data-weapon-style=blade] .doll-weapon{right:0;top:74px;width:12px;height:116px;clip-path:polygon(50% 0,100% 18%,72% 100%,28% 100%,0 18%)}.paper-doll[data-weapon-style=focus] .doll-weapon{right:5px;top:67px;width:7px;height:130px}.paper-doll[data-weapon-style=focus] .doll-weapon:before{left:-11px;top:-19px;width:25px;height:25px;border-radius:50%;clip-path:none;box-shadow:0 0 18px var(--doll-weapon-color,var(--paper-doll-accent))}.paper-doll[data-weapon-style=tome] .doll-weapon{right:-8px;top:82px;width:42px;height:28px;border-radius:4px;background:linear-gradient(90deg,var(--paper-doll-robe-dark) 0 48%,var(--doll-weapon-color,var(--paper-doll-accent)) 48% 52%,var(--paper-doll-robe-dark) 52%);transform:rotate(-16deg)}.paper-doll[data-weapon-style=tome] .doll-weapon:before{display:none}.paper-doll .doll-shoulder{position:absolute;top:63px;z-index:2;width:27px;height:18px;border:2px solid var(--paper-doll-accent);background:var(--doll-armor-color,var(--paper-doll-robe));border-radius:50% 50% 20% 20%}.paper-doll .doll-shoulder.left{left:21px;transform:rotate(-12deg)}.paper-doll .doll-shoulder.right{right:21px;transform:rotate(12deg)}.paper-doll .doll-set-ring{position:absolute;inset:-9px -3px 19px;border:0 solid transparent;border-radius:50%;pointer-events:none}.paper-doll.complete-set .doll-set-ring{border-width:2px;border-color:var(--doll-set-color,var(--paper-doll-accent));box-shadow:inset 0 0 22px color-mix(in srgb,var(--doll-set-color,var(--paper-doll-accent)) 28%,transparent),0 0 14px color-mix(in srgb,var(--doll-set-color,var(--paper-doll-accent)) 42%,transparent)}.paper-doll.complete-set b{color:var(--doll-set-color,var(--paper-doll-accent))}.choice.school-physical{--choice-accent:var(--school-physical)}.choice.school-magic{--choice-accent:var(--school-magic)}.choice.school-status{--choice-accent:var(--school-status)}.choice.school-stat{--choice-accent:var(--school-stat)}.choice.mastery-choice{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--choice-accent) 34%,transparent),0 8px 24px color-mix(in srgb,var(--choice-accent) 12%,transparent)}.mastery-exclusive{display:block;margin-top:auto;color:var(--gold-soft);font-size:11px;line-height:1.35;white-space:normal}.choice-heading{display:flex;align-items:center;gap:9px;margin:7px 0 6px;min-width:0}.choice-heading h3{margin:0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.choice-heading img,.choice-sigil{flex:0 0 38px;width:38px;height:38px;border:1px solid color-mix(in srgb,var(--choice-accent) 70%,var(--line));background:var(--surface-2);box-shadow:0 0 12px color-mix(in srgb,var(--choice-accent) 24%,transparent)}.choice-heading img{object-fit:contain;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--choice-accent) 30%,transparent))}.choice-description{margin:0 0 7px;color:var(--muted);font-size:11px;line-height:1.45}.choice-sigil{display:grid;place-items:center;color:var(--choice-accent);font-size:20px;font-style:normal;font-weight:700}@media(max-width:760px){.choice-heading{margin:4px 0;gap:7px}.choice-heading img,.choice-sigil{flex-basis:30px;width:30px;height:30px}.choice-heading h3{font-size:15px}}@media(max-width:760px){.choice-source-heading{gap:9px}}.equipment-icon{width:16px;height:16px;stroke-width:1.8;color:var(--loot-color);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--loot-color) 45%,transparent))}.equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-base-size);position:relative;display:inline-grid;place-items:center;isolation:isolate;flex:0 0 var(--equipment-emblem-size);width:var(--equipment-emblem-size);height:var(--equipment-emblem-size);color:var(--loot-color)}.equipment-emblem:before{content:"";position:absolute;z-index:0;inset:var(--equipment-emblem-frame-inset);background:color-mix(in srgb,currentColor 12%,var(--surface-2));box-shadow:inset 0 0 0 var(--equipment-emblem-frame-border) color-mix(in srgb,currentColor 78%,var(--line)),0 0 var(--equipment-emblem-glow) color-mix(in srgb,currentColor 30%,transparent)}.equipment-emblem[data-motif=seal]:before{border-radius:50%}.equipment-emblem[data-motif=facet]:before{clip-path:polygon(var(--equipment-emblem-cut) 0,calc(100% - var(--equipment-emblem-cut)) 0,100% var(--equipment-emblem-cut),100% calc(100% - var(--equipment-emblem-cut)),calc(100% - var(--equipment-emblem-cut)) 100%,var(--equipment-emblem-cut) 100%,0 calc(100% - var(--equipment-emblem-cut)),0 var(--equipment-emblem-cut))}.equipment-emblem[data-motif=ward]:before{clip-path:polygon(25% 4%,75% 4%,98% 50%,75% 96%,25% 96%,2% 50%)}.equipment-emblem[data-motif=spire]:before{clip-path:polygon(50% 0,94% 28%,82% 100%,18% 100%,6% 28%)}.equipment-emblem.slot-only:before{border-radius:3px;opacity:.38;box-shadow:inset 0 0 0 var(--equipment-emblem-frame-border) currentColor}.equipment-emblem>.equipment-icon{position:relative;z-index:2;flex:none;width:calc(var(--equipment-emblem-size) * var(--equipment-emblem-icon-scale));height:calc(var(--equipment-emblem-size) * var(--equipment-emblem-icon-scale));color:currentColor;filter:drop-shadow(0 0 3px color-mix(in srgb,currentColor 55%,transparent))}.equipment-emblem.identified>.equipment-icon{color:color-mix(in srgb,var(--ink) 74%,currentColor)}.equipment-emblem-rune{position:absolute;left:var(--equipment-emblem-x);top:var(--equipment-emblem-y);z-index:1;width:var(--equipment-emblem-rune-width);height:var(--equipment-emblem-rune-height);background:currentColor;opacity:.48;transform:translate(-50%,-50%) rotate(var(--equipment-emblem-turn));transform-origin:center;box-shadow:0 0 4px currentColor}.equipment-emblem-rune:after{content:"";position:absolute;left:50%;top:50%;width:72%;height:100%;background:currentColor;transform:translate(-50%,-50%) rotate(90deg)}.equipment-emblem-marks{position:absolute;right:0;bottom:0;z-index:3;display:flex;align-items:center;gap:var(--equipment-emblem-mark-gap)}.equipment-emblem-marks:empty{display:none}.equipment-emblem-mark{display:block;width:var(--equipment-emblem-mark-size);height:var(--equipment-emblem-mark-size);background:currentColor;box-shadow:0 0 3px currentColor}.equipment-emblem-mark.mark-set{transform:rotate(45deg)}.equipment-emblem-mark.mark-special{border-radius:50%;background:var(--gold-soft)}.equipment-emblem-mark.mark-ultimate{clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--mana)}.equipment-emblem-mark.mark-companion{border-radius:50% 50% 18% 18%;background:var(--gold-bright)}.slot-heading,.item-title{display:flex;align-items:center;gap:7px;min-width:0}.slot-heading>.equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-ring-size)}.slot-heading small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-title{padding:2px 0 5px;border-bottom:1px solid color-mix(in srgb,var(--loot-color) 32%,var(--line))}.item-title>.equipment-emblem{--equipment-emblem-size:var(--equipment-emblem-card-size)}.item-title .item-name{min-width:0;flex:1}.combat-hud .skill-inspect{pointer-events:auto;cursor:pointer;color:var(--ink);font:inherit;text-align:left}.combat-hud .skill-inspect,.ultimate-bar .ultimate-chip.ready{pointer-events:auto;cursor:pointer}.combat-hud .skill-inspect:hover,.ultimate-bar .ultimate-chip.ready:hover{border-color:var(--white-warm)}.combat-hud .skill-inspect:active,.ultimate-bar .ultimate-chip.ready:active{transform:translateY(1px)}.ultimate-bar .ultimate-chip:disabled{color:var(--ink);cursor:default}.player-name-edit{margin-bottom:12px}.tool-badge{position:absolute;right:-3px;bottom:-3px;display:grid;place-items:center;min-width:15px;height:15px;padding:0 3px;border:1px solid var(--line);background:var(--surface-2);color:var(--success);font-size:9px;font-weight:700;line-height:1;white-space:nowrap;pointer-events:none}.tool-badge.warning{border-color:var(--danger-muted);color:var(--danger-soft)}.tool-badge.full{background:var(--danger-overlay);border-color:var(--danger-bright);color:var(--white-warm)}.loot-meta{display:flex;align-items:center;gap:5px;min-width:0}.loot-meta>i{min-width:0;overflow:hidden;text-overflow:ellipsis;font-style:normal}.loot-meta>b,.loot-comparison{flex:none;font-size:9px;font-style:normal}.loot-meta>b{color:var(--muted)}.loot-comparison.positive,.loot-comparison.available{color:var(--success)}.loot-comparison.negative{color:var(--danger)}.character-power{margin-left:auto;padding:3px 8px;border:1px solid var(--gold-muted);color:var(--gold-soft);font-size:12px;font-weight:600;white-space:nowrap}@media(max-width:760px){.loot-copy{gap:3px}.loot-copy small{justify-content:flex-end;line-height:10px}.loot-copy small>span{display:none}.loot-copy strong{line-height:14px}.loot-copy>.loot-meta{display:flex;justify-content:flex-end;overflow:visible;line-height:11px}.loot-meta>i,.loot-meta>b{display:none}.loot-comparison{font-size:10px}}.synergy-progress{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0;margin-top:8px;color:var(--muted);font-size:12px}.synergy-progress>b{color:var(--gold-soft);white-space:nowrap}.synergy-progress>span{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap}.synergy-progress strong{color:var(--ink)}.synergy-progress small{overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.synergy-progress{justify-content:flex-start;overflow-x:auto}.synergy-progress>span{flex:none}.synergy-progress small{max-width:220px}}.combat-center-stack{position:absolute;top:10px;left:50%;z-index:3;display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;width:min(900px,calc(100% - 220px));min-width:0;transform:translate(-50%);pointer-events:none}.combat-center-stack>.combat-hud{position:static;top:auto;left:auto;z-index:auto;width:100%;transform:none}@media(min-width:901px){.combat-center-stack>.combat-hud{min-width:0}.combat-center-stack .skill-bar{display:flex;flex-wrap:wrap;justify-content:center;width:fit-content;max-width:100%;min-width:0;overflow:visible}.combat-center-stack .skill-chip{flex:0 0 58px;width:58px;min-width:58px}}@media(max-width:900px){.combat-center-stack{top:6px;width:calc(100% - 10px)}}.combat-feedback-row{display:grid;grid-template-columns:minmax(0,var(--hud-announcement-width)) minmax(0,1fr) minmax(0,var(--hud-loot-width));align-items:start;justify-self:center;gap:7px 12px;width:calc(100vw - 24px);min-width:0}.combat-feedback-row>.teammate-hud{grid-column:1;grid-row:2}.combat-feedback-row>.announcement-stack{grid-column:1;grid-row:1;justify-self:start}.combat-feedback-row>.loot-feed{position:static;grid-column:3;grid-row:1;justify-self:end;width:min(var(--hud-loot-width),100%)}@media(max-width:760px){.combat-feedback-row{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;width:calc(100vw - 14px)}.combat-feedback-row>.announcement-stack{grid-column:1/-1;grid-row:1;justify-self:start}.combat-feedback-row>.teammate-hud{grid-column:1;grid-row:2}.combat-feedback-row>.loot-feed{grid-column:2;grid-row:2;width:min(var(--hud-loot-width-mobile),100%)}}@media(pointer:coarse)and (orientation:landscape){#app{--hud-size:var(--hud-size-touch-landscape);grid-template-rows:var(--topbar-size-touch-landscape) minmax(0,1fr) var(--hud-size)}.topbar{gap:8px;padding:5px 8px}.topbar .resources{display:none}.brand small{display:block;position:static;overflow:visible;font-size:10px;line-height:1;text-align:left;text-overflow:clip;white-space:nowrap}.hud{display:flex;gap:12px;padding:7px 8px;align-items:center}.vitals{flex:0 0 min(340px,42vw);width:auto;min-width:0;gap:3px}.bar-row{min-width:0;grid-template-columns:32px minmax(0,1fr) minmax(76px,max-content);gap:6px}.bar-row>*{min-width:0}.bar-row b{overflow:hidden;text-overflow:ellipsis}.bar{height:8px}.attribute-rail{flex:1;width:auto;min-height:0;max-height:none;align-items:stretch;padding-bottom:0;overflow-x:auto;overscroll-behavior-x:contain;touch-action:pan-x}.attribute-group{height:auto;display:grid;grid-template-rows:13px auto;gap:2px}.attribute-group>div{display:grid;grid-template-rows:repeat(2,28px);grid-auto-flow:column;grid-auto-columns:minmax(72px,auto);gap:4px}.attribute-rail span{height:auto;min-height:28px}.combat-center-stack{top:4px;width:calc(100% - 10px)}.combat-center-stack>.combat-hud{display:grid;grid-template-areas:"skills boss";grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);align-items:center;gap:4px 8px}.combat-center-stack>.combat-hud:not(:has(.boss-hud:not(.hidden))){grid-template-areas:"skills";grid-template-columns:minmax(0,1fr)}.combat-center-stack .skill-bar{grid-area:skills;flex-wrap:nowrap;justify-content:flex-start;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x}.combat-center-stack .skill-chip{flex:0 0 52px}.combat-center-stack .boss-hud{grid-area:boss;width:100%;max-width:none;min-width:0;justify-self:stretch}.combat-center-stack:has(.boss-hud:not(.hidden)) #bossBanner{display:none!important}.combat-feedback-row{width:100vw;padding:0 88px 0 var(--hud-announcement-edge-touch-landscape);grid-template-columns:minmax(0,min(var(--hud-announcement-width),var(--hud-announcement-width-touch-landscape))) minmax(180px,1fr) 126px;gap:6px 8px}.combat-feedback-row>.announcement-stack{grid-column:1;width:100%;justify-self:start}.combat-feedback-row>.loot-feed{grid-column:3;grid-row:1;width:100%;justify-self:end}.combat-feedback-row>.teammate-hud{position:absolute;left:0;top:var(--hud-teammate-top-touch-landscape);width:var(--hud-teammate-width-mobile)}.achievement-banner{grid-template-columns:auto minmax(0,1fr) auto;gap:3px 5px;padding:5px 7px}.achievement-banner span{font-size:9px}.achievement-banner strong{font-size:12px}.loot-feed .loot-entry:nth-last-child(n+2){display:none}.status-hud{display:none}}@media(pointer:coarse){.skill-inspect:after,.hud-inspect:after{display:none}}@media(pointer:coarse)and (orientation:portrait){.ultimate-dock{bottom:var(--hud-ultimate-touch-portrait-bottom)}}@media(pointer:fine)and (orientation:portrait)and (max-width:760px){.frame-rate{bottom:calc(var(--hud-ultimate-dock-bottom) + var(--hud-ultimate-chip-height-mobile) + var(--hud-fixed-lane-gap))}.stage:has(.status-hud:not(.hidden)) .frame-rate{bottom:calc(var(--hud-status-bottom-mobile) + var(--hud-status-card-height-mobile) + var(--hud-fixed-lane-gap))}}@media(pointer:coarse)and (orientation:landscape)and (max-width:640px){.combat-center-stack{top:2px}.combat-center-stack>.combat-hud{gap:3px 6px}.combat-center-stack .skill-bar,.combat-center-stack .skill-chip{height:var(--hud-skill-chip-height-touch-landscape)}.combat-center-stack .skill-glyph,.combat-center-stack .skill-glyph img{width:20px;height:20px}.combat-center-stack .ultimate-chip{height:32px}.combat-center-stack .ultimate-chip img{width:24px;height:24px}.combat-center-stack .boss-hud{padding:3px 6px}.combat-feedback-row{padding-right:84px;padding-left:var(--hud-announcement-edge-touch-landscape);grid-template-columns:minmax(0,min(var(--hud-announcement-width),var(--hud-announcement-width-touch-landscape))) minmax(104px,1fr) 126px}}@media(pointer:coarse)and (orientation:landscape)and (max-height:340px){.combat-feedback-row>.announcement-stack{grid-column:3}.achievement-banner{grid-template-columns:minmax(0,1fr);text-align:center}.achievement-banner span,.achievement-banner small{display:none}.combat-feedback-row:has(#bossBanner:not(.hidden),#achievementBanner:not(.hidden))>.loot-feed{display:none}}@media(orientation:portrait)and (max-width:360px){.ultimate-chip{min-width:var(--hud-ultimate-chip-width-narrow)}.revive-button{bottom:76px}.status-hud{gap:4px}.status-hud span{min-width:69px;padding:4px 5px}.stage{--hud-companion-chip-width-mobile:var(--hud-companion-chip-width-narrow);--hud-companion-icon-size:var(--hud-companion-icon-size-narrow)}.companion-hud{gap:4px;overflow:hidden}.companion-chip{gap:0 3px;padding:3px}.companion-state{max-width:var(--hud-companion-state-width-narrow);font-size:8px}.companion-copy b{font-size:9px}.companion-copy small{font-size:8px}}@media(orientation:portrait)and (max-width:760px){.combat-feedback-row:has(#bossBanner:not(.hidden),#achievementBanner:not(.hidden))>.teammate-hud,.combat-feedback-row:has(#bossBanner:not(.hidden),#achievementBanner:not(.hidden))>.loot-feed{display:none}.topbar .brand small{display:block;position:absolute;left:8px;right:8px;bottom:var(--topbar-resource-run-bottom-mobile);width:auto;overflow:hidden;line-height:12px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.topbar .resources{position:absolute;left:var(--topbar-resource-left-mobile);right:8px;bottom:var(--topbar-resource-bottom-mobile);display:flex;align-items:center;justify-content:flex-start;gap:var(--topbar-resource-gap-mobile);min-width:0;margin:0;padding:0 2px;border:0;background:none;font-size:var(--topbar-resource-font-size-mobile);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;white-space:nowrap;overscroll-behavior-x:contain;touch-action:pan-x}.topbar .resources::-webkit-scrollbar{display:none}.topbar .resources span,.topbar .resources span:not(:first-child){display:block;flex:0 0 auto;white-space:nowrap}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)){display:flex;width:var(--hud-skill-bar-width-dense-mobile);max-width:100%;gap:var(--hud-skill-gap-dense-mobile);justify-content:center}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-chip{flex:0 0 var(--hud-skill-chip-width-dense-mobile);width:var(--hud-skill-chip-width-dense-mobile);min-width:0;height:var(--hud-skill-chip-height-dense-mobile);padding:2px}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-glyph,.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-glyph img{width:var(--hud-skill-glyph-dense-mobile);height:var(--hud-skill-glyph-dense-mobile)}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-chip small.skill-state{height:var(--hud-skill-state-height-dense-mobile);font-size:8px}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-mastery-mark{width:var(--hud-skill-mastery-mark-size-dense-mobile);height:var(--hud-skill-mastery-mark-size-dense-mobile);font-size:var(--hud-skill-mastery-mark-font-size-dense-mobile)}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-glyph em{right:0;bottom:0;min-width:var(--hud-skill-level-size-dense-mobile);height:var(--hud-skill-level-size-dense-mobile);padding:0 2px;font-size:var(--hud-skill-level-font-size-dense-mobile)}}@media(orientation:portrait)and (max-width:360px){.topbar .brand small{left:6px;right:6px}.topbar .resources{left:var(--topbar-resource-left-narrow);right:6px;gap:6px}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)){width:var(--hud-skill-bar-width-dense-narrow)}.combat-center-stack .skill-bar:has(.skill-chip:nth-child(8)) .skill-chip{flex-basis:var(--hud-skill-chip-width-dense-narrow);width:var(--hud-skill-chip-width-dense-narrow)}}.ultimate-detail{display:grid;gap:5px;margin:8px 0 0;padding:7px;border-left:2px solid var(--gold-muted);background:var(--surface-4);color:var(--muted);line-height:1.45}.ultimate-detail strong{color:var(--gold-soft)}.ultimate-detail span{overflow-wrap:anywhere}.ultimate-detail small,.ultimate-detail em,.ultimate-detail b{font-style:normal}.ultimate-detail small{width:max-content;padding:1px 5px;border:1px solid var(--gold-muted);color:var(--gold-soft);font-size:9px;white-space:nowrap}.ultimate-detail em{color:var(--muted)}.ultimate-detail b{color:var(--white-warm);font-size:11px}.fragmentary-detail{border-left-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold-alpha-22)}.equipment-growth{display:grid;gap:8px;margin:10px 0}.upgrade-detail,.refinement-detail,.reforge-detail{display:grid;gap:8px;margin:0;padding:9px;border:1px solid var(--loot-color);background:var(--surface-4)}.upgrade-detail p,.refinement-detail p,.reforge-detail p{display:grid;gap:4px;margin:0}.upgrade-detail strong{color:var(--loot-color);white-space:nowrap}.upgrade-detail span,.upgrade-detail small,.refinement-detail span,.refinement-detail small,.reforge-detail span,.reforge-detail small{color:var(--muted);line-height:1.45}.upgrade-detail span,.refinement-detail>p>span:not(.refinement-gains),.reforge-detail span{overflow-wrap:anywhere}.upgrade-detail small,.refinement-detail small,.reforge-detail small{color:var(--danger-soft)}.upgrade-detail.complete{border-color:var(--line)}.upgrade-detail.complete strong{color:var(--muted)}.refinement-detail{border-color:var(--gold-muted)}.refinement-detail strong,.reforge-detail strong{color:var(--gold-soft);white-space:nowrap}.reforge-detail{grid-template-columns:minmax(0,1fr) auto;align-items:center;border-color:var(--border-muted)}.reforge-detail .command{white-space:nowrap}.inventory-candidate-scroll>.reforge-detail{padding:7px 8px;font-size:10px}.inventory-candidate-scroll>.reforge-detail p{gap:2px}.refinement-gains{display:flex;flex-wrap:wrap;gap:4px}.refinement-gains i{padding:3px 5px;border:1px solid var(--gold-muted);color:var(--ink);font-size:10px;font-style:normal;white-space:nowrap}
