.talent-head-controls{align-items:flex-end;gap:var(--unit-3);flex-direction:column;display:flex}.talent-type-legend{gap:var(--unit-2);flex-wrap:wrap;justify-content:flex-end;display:flex}.talent-type-legend-item{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--text-tertiary);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;padding:2px 8px;font-size:.58rem;display:inline-flex}.talent-type-legend-item:before{content:"";background:var(--surface-container-low);border:1px solid;width:10px;height:10px;display:block}.talent-type-legend-mastery:before{clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0 50%)}.talent-type-legend-active:before{clip-path:polygon(14% 0,86% 0,100% 14%,100% 86%,86% 100%,14% 100%,0 86%,0 14%)}.talent-type-legend-passive:before{border-radius:2px;transform:rotate(45deg)}.talent-canvas{box-shadow:inset 0 0 0 1px var(--outline-variant);background-color:var(--surface-container-lowest);border:0}.talent-canvas-frame{z-index:3;pointer-events:none;border:1px solid #c4a88238;margin:10px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #000000a6,inset 0 0 28px #8b000014}.talent-canvas-frame:before,.talent-canvas-frame:after{content:"";border-style:solid;border-color:#c4a88273;width:18px;height:18px;position:absolute}.talent-canvas-frame:before{border-width:2px 0 0 2px;top:-1px;left:-1px}.talent-canvas-frame:after{border-width:0 2px 2px 0;bottom:-1px;right:-1px}.talent-canvas-hint{right:var(--unit-4);bottom:var(--unit-4);z-index:4;font-family:var(--font-mono);background:var(--surface-container-lowest);border:1px solid var(--outline-variant);pointer-events:none;margin:0;padding:4px 8px;font-size:.62rem;position:absolute}.talent-node{gap:0}.talent-node-keystone .talent-node-chip,.talent-node-core .talent-node-chip{--talent-frame-size:88px;width:var(--talent-frame-size);height:var(--talent-frame-size)}.talent-node-label-hidden .talent-node-label{opacity:0}.talent-node-label-hidden:hover .talent-node-label,.talent-node-label-hidden.talent-node-selected .talent-node-label,.talent-node-label-hidden.talent-node-linked .talent-node-label,.talent-node-label-visible .talent-node-label{opacity:1}.talent-node-prominent .talent-node-label{border-color:#7a5848}.talent-node-available.talent-node-prominent .talent-node-frame{animation:2.4s ease-in-out infinite talent-node-pulse}.talent-node-available .talent-node-frame{border-color:var(--secondary);box-shadow:0 0 0 1px var(--surface-container-lowest), 0 0 0 2px var(--secondary), 0 3px 10px #000c}@keyframes talent-node-pulse{0%,to{box-shadow:0 0 0 1px var(--surface-container-lowest), 0 0 0 2px color-mix(in srgb, var(--secondary) 45%, transparent), 0 3px 10px #000c}50%{box-shadow:0 0 0 1px var(--surface-container-lowest), 0 0 0 3px color-mix(in srgb, var(--secondary) 95%, transparent), 0 4px 14px #000000d9}}.talent-node-allocated.talent-node-prominent .talent-node-frame{box-shadow:0 0 0 1px var(--surface-container-lowest), 0 0 0 1px #c4a8828c, 0 3px 10px #000c}.talent-detail-type{color:var(--text-accent);border-color:#c4a88273}.talent-detail-status-available{color:var(--tertiary);border-color:color-mix(in srgb, var(--tertiary) 45%, var(--outline-variant));background:color-mix(in srgb, var(--tertiary) 10%, #00000047)}.talent-detail-status-allocated{color:var(--secondary);border-color:color-mix(in srgb, var(--secondary) 45%, var(--outline-variant));background:color-mix(in srgb, var(--secondary) 10%, #00000047)}.talent-detail-status-granted{color:var(--accent-gold,var(--secondary));border-color:color-mix(in srgb, var(--accent-gold,var(--secondary)) 50%, var(--outline-variant));background:color-mix(in srgb, var(--accent-gold,var(--secondary)) 12%, #00000047)}.talent-detail-status-locked{opacity:.72}.talent-detail-branch-blade{color:#f0a898;border-color:color-mix(in srgb, #c08074 45%, var(--outline-variant))}.talent-detail-branch-liturgie,.talent-detail-branch-core{color:#f0d080;border-color:color-mix(in srgb, #c8a860 45%, var(--outline-variant))}.talent-detail-branch-hunter{color:#b8d090;border-color:color-mix(in srgb, #98b070 45%, var(--outline-variant))}.talent-detail-branch-sorcery{color:#a8c0f0;border-color:color-mix(in srgb, #88a0cc 45%, var(--outline-variant))}.talent-detail-branch-occult{color:#d0a8e0;border-color:color-mix(in srgb, #b088c0 45%, var(--outline-variant))}.talent-detail-branch-ruse{color:#e0c088;border-color:color-mix(in srgb, #c0a068 45%, var(--outline-variant))}.talent-detail-status-allocated .talent-detail-hero{border-bottom-color:color-mix(in srgb, var(--secondary) 45%, var(--outline-variant))}.talent-detail-type-mastery{color:var(--text-gold)}.talent-detail-type-major_active{color:var(--text-ember)}.talent-detail-type-major_passive{color:var(--text-gold)}.talent-detail-specs-wide{grid-column:1/-1}.talent-detail-specs-wide dd{line-height:1.45}.talent-detail-icon-wrap.talent-node-frame-xl{flex-shrink:0}.game-content:has(.character-page--talents-focus){height:100vh;max-height:100vh;overflow:hidden}.game-content:has(.character-page--talents-focus) .game-footer{display:none}.character-page--talents-focus{gap:var(--unit-2);height:100%;min-height:0;padding:var(--unit-2) var(--unit-3);flex:1;overflow:hidden}.character-page--talents-focus .character-hero{padding:var(--unit-2) var(--unit-3)}.character-page--talents-focus .character-hero>.muted{display:none}.character-page--talents-focus .character-tab{min-height:46px;padding:var(--unit-2)}.character-page--talents-focus .character-tab-copy span{display:none}.character-shell--talents{flex:1;min-height:0;overflow:hidden}.character-shell--talents .character-panel{flex:1;min-height:0;display:flex;overflow:hidden}.character-shell--talents .talent-shell{flex:1;height:100%;min-height:0}.character-shell--talents .talent-canvas-card{height:100%;min-height:0}.character-shell--talents .talent-canvas{min-height:0}.character-shell--talents .talent-canvas-head{padding:var(--unit-2) var(--unit-3);gap:var(--unit-2)}.character-shell--talents .talent-canvas-head h2{display:none}.character-shell--talents .talent-detail{flex-direction:column;min-height:0;max-height:100%;display:flex;overflow:hidden}.talent-shell--detail-collapsed{grid-template-columns:minmax(0,1fr)!important}.talent-shell--detail-collapsed .talent-detail{display:none}.talent-detail-toggle{font-size:.9rem}@media (max-width:1100px){.character-page--talents-focus{height:auto;overflow-y:auto}.game-content:has(.character-page--talents-focus){height:auto;max-height:none;overflow-y:auto}.character-shell--talents .talent-shell{height:auto;min-height:min(72vh,720px)}.talent-canvas-head{align-items:stretch;gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);flex-direction:column}.talent-head-controls{align-items:stretch;gap:var(--unit-2);width:100%}.talent-type-legend,.talent-legend{justify-content:flex-start}.talent-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 8px;display:grid}.talent-legend-toggle{gap:4px;min-width:0;font-size:.62rem}.talent-legend-label-full{display:none}.talent-legend-label-short{text-overflow:ellipsis;white-space:nowrap;display:inline;overflow:hidden}.talent-legend-count{margin-left:auto}.talent-canvas-hint{display:none}.talent-points-banner{flex-wrap:wrap;gap:2px 0;font-size:.78rem;line-height:1.35;display:flex}}@media (max-width:560px){.talent-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.talent-type-legend-item{padding:2px 6px}.talent-zoom-controls{left:var(--unit-2);bottom:var(--unit-2);gap:var(--unit-1)}.talent-zoom-controls button{width:32px;height:32px}}
.vault-load-error{align-items:center;gap:var(--unit-3);padding:var(--unit-8);text-align:center;flex-direction:column;display:flex}.vault-shell{border:2px solid var(--outline-variant);background:linear-gradient(160deg, #ffdad408, transparent 38%), var(--surface-container-lowest);padding:clamp(var(--unit-2), 2vw, var(--unit-4));width:100%;min-width:0;box-shadow:inset 0 0 28px #000000d1;container:vault/inline-size}.vault-layout{--vault-gap:clamp(var(--unit-3), 2cqi, var(--unit-5));gap:var(--vault-gap);grid-template-columns:minmax(0,1fr);align-items:start;min-width:0;display:grid}.vault-col{gap:clamp(var(--unit-2), 1.5cqi, var(--unit-4));flex-direction:column;min-width:0;display:flex}.vault-col-equip{align-items:stretch;container-type:inline-size}.vault-col-bag{min-width:0;container:vault-bag/inline-size}.vault-col-inspect{min-width:0}@container vault (min-width:720px){.vault-layout{grid-template-columns:minmax(280px,1.1fr) minmax(0,1.15fr);align-items:start}.vault-col-inspect{grid-column:1/-1}.vault-col-inspect .inspect-panel{max-height:min(420px,48vh)}}@container vault (min-width:1080px){.vault-layout{grid-template-columns:minmax(300px,1fr) minmax(0,1.35fr) minmax(240px,.9fr);align-items:stretch;min-height:clamp(520px,70vh,760px)}.vault-col-inspect{grid-column:auto}.vault-col-bag,.vault-col-inspect{min-height:0}.vault-col-bag .bag-area,.vault-col-inspect .inspect-panel{flex:1;min-height:0;max-height:none}}.vault-panel-title{justify-content:space-between;align-items:flex-end;gap:var(--unit-2);border-bottom:1px solid var(--outline-variant);padding-bottom:var(--unit-2);font-family:var(--font-display);color:var(--on-surface);font-size:1.05rem;display:flex}.vault-panel-title span{font-family:var(--font-mono);color:var(--on-surface-variant);font-size:12px}.vault-capacity-over{color:var(--error)!important}.vault-capacity-warning{padding:var(--unit-2) var(--unit-3);border:1px solid var(--error);color:var(--error);font-family:var(--font-mono);background:#cf66791f;margin:0;font-size:12px}.vault-bag-tabs{gap:var(--unit-1);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;display:grid}.vault-bag-tab{align-items:center;gap:var(--unit-2);min-width:0;min-height:48px;padding:var(--unit-2) clamp(var(--unit-1), 1.5cqi, var(--unit-3));border:1px solid var(--outline-variant);background:var(--surface-container);cursor:pointer;text-align:left;flex-direction:row;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.vault-bag-tab-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.vault-bag-tab-copy{flex-wrap:wrap;align-items:baseline;gap:.35em .5em;min-width:0;max-width:100%;display:flex}.vault-bag-tab-copy strong{color:var(--on-surface);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:clamp(.78rem,2.8cqi,.9rem);line-height:1.15;overflow:hidden}.vault-bag-tab-copy span{color:var(--on-surface-variant);font-family:var(--font-mono);flex-shrink:0;font-size:clamp(10px,2.4cqi,11px);line-height:1.15}.vault-bag-tab-over{color:var(--error)!important}.vault-bag-tab-hint{max-width:100%;font-family:var(--font-mono);color:var(--on-surface-variant);opacity:.85;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(9px,2.2cqi,10px);line-height:1.2;display:block;overflow:hidden}.vault-bag-tab .vault-bag-tab-icon{width:clamp(22px,6cqi,28px);height:clamp(22px,6cqi,28px)}@container vault-bag (max-width:560px){.vault-bag-tab{gap:var(--unit-1);padding-inline:var(--unit-2)}}@container vault-bag (max-width:280px){.vault-bag-tabs{grid-template-columns:1fr}.vault-bag-tab{min-height:42px}.vault-bag-tab-hint{white-space:normal}}.vault-bag-title{padding-bottom:var(--unit-1);margin-bottom:0;font-size:.95rem}.vault-bag-title span{font-size:11px}.vault-bag-title .vault-bag-title-label{font-size:inherit;align-items:center;gap:6px;display:inline-flex}.vault-bag-title-label .game-icon{object-fit:contain;width:1.6rem;height:1.6rem;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--secondary) 22%, transparent))}.vault-bag-toolbar{justify-content:space-between;align-items:flex-end;gap:var(--unit-2);margin-bottom:var(--unit-2);flex-wrap:wrap;display:flex}.vault-action-alert{align-items:start;gap:var(--unit-2);margin:0 0 var(--unit-2);padding:var(--unit-3);border:1px solid color-mix(in srgb, var(--error) 65%, var(--outline-variant));border-left:3px solid var(--error);background:linear-gradient(180deg, #cf667924, #cf66790f), var(--surface-container);border-radius:4px;grid-template-columns:auto minmax(0,1fr) auto;display:grid;box-shadow:inset 0 0 18px #cf667914}.vault-action-alert-icon{opacity:.9;filter:drop-shadow(0 0 4px #cf667959);margin-top:1px}.vault-action-alert-text{font-family:var(--font-prose);color:var(--error);margin:0;font-size:.88rem;line-height:1.4}.vault-action-alert-dismiss{border:1px solid color-mix(in srgb, var(--error) 45%, transparent);color:var(--error);cursor:pointer;background:0 0;border-radius:3px;width:1.75rem;height:1.75rem;padding:0;font-size:1.1rem;line-height:1}.vault-action-alert-dismiss:hover{background:#cf66791f}.vault-bag-sort{align-items:center;gap:var(--unit-1);flex-shrink:0;display:inline-flex}.vault-bag-sort-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:10px}.vault-bag-sort-select{width:auto;min-width:7.5rem}.vault-bag-tab:hover{border-color:var(--secondary);background:linear-gradient(160deg, #e9c17614, transparent 42%), var(--surface-container)}.vault-bag-tab-active{border-color:var(--primary);background:radial-gradient(circle at 0% 0%, #ffb4a81f, transparent 52%), var(--primary-container);box-shadow:inset 0 0 14px #8b000038}.vault-bag-tab-active .vault-bag-tab-copy strong{color:var(--primary)}.bag-slot-over-capacity{outline:1px dashed var(--error);outline-offset:-3px}.equip-paperdoll-wrap{justify-content:center;width:100%;display:flex;container-type:inline-size}.equip-paperdoll{--equip-paperdoll-max-h:min(640px, calc(100dvh - 160px));width:min(100%, 420px, calc(var(--equip-paperdoll-max-h) * 2 / 3));aspect-ratio:2/3;height:auto;max-height:var(--equip-paperdoll-max-h);border:2px solid var(--outline-variant);background:var(--surface-container-lowest);margin-inline:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #000000e0,0 6px 20px #0006}.equip-paperdoll-figure{z-index:1;pointer-events:none;position:absolute;inset:0}.equip-paperdoll-bg{background:linear-gradient(180deg, #08060a05 0%, #08060a1a 100%), var(--equip-paperdoll-illustration) center center / cover no-repeat;--equip-paperdoll-illustration:url(/assets/ui/paperdoll-human-bg.png);position:absolute;inset:0}.equip-paperdoll-bg--male{--equip-paperdoll-illustration:url(/assets/ui/paperdoll-human-bg.png)}.equip-paperdoll-bg--female{--equip-paperdoll-illustration:url(/assets/ui/paperdoll-human-bg-female.png)}.equip-overlay{z-index:3;aspect-ratio:1;border:2px solid var(--outline-variant);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:pointer;background:#08060ac7;width:16%;min-width:40px;max-width:62px;transition:border-color .15s,box-shadow .15s,transform .12s,z-index;position:absolute;overflow:hidden;transform:translate(-50%,-50%)}.equip-overlay-sm{width:13%;min-width:34px;max-width:50px}.equip-overlay-lg{width:19%;min-width:46px;max-width:68px}.equip-overlay-filled{background:#08060a8c;border-style:solid}.equip-overlay-broken{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--error) 40%, transparent)}.equip-overlay-broken .item-icon-fill .item-icon-img{filter:grayscale(.7)brightness(.75)}.equip-overlay-broken-badge{z-index:2;border:1px solid color-mix(in srgb, var(--error) 60%, var(--outline-variant));width:16px;height:16px;color:var(--error);pointer-events:none;background:#000000d9;place-items:center;font-size:9px;line-height:1;display:grid;position:absolute;top:2px;right:2px}.equip-overlay-empty{opacity:.78;background:#08060a47;border-style:dashed}.equip-overlay-label{width:100%;height:100%;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;text-align:center;color:var(--on-surface-variant);pointer-events:none;justify-content:center;align-items:center;padding:2px;font-size:clamp(6px,2.2cqw,8px);font-weight:700;line-height:1.1;display:flex}.equip-overlay-caption{opacity:0;transition:opacity .12s,transform .12s;transform:translateY(2px)}.equip-overlay:hover,.equip-overlay:focus-visible,.equip-overlay-selected{z-index:5;transform:translate(-50%,-50%)scale(1.06)}.equip-overlay:hover .equip-overlay-caption,.equip-overlay:focus-visible .equip-overlay-caption,.equip-overlay-selected .equip-overlay-caption{opacity:1;transform:translateY(0)}.equip-overlay-selected{outline:2px solid var(--secondary);outline-offset:1px}.equip-overlay-drop-hint{box-shadow:0 0 0 1px var(--secondary)}.equip-overlay-drop-active{outline:2px dashed var(--secondary);outline-offset:2px;z-index:6}.slot-caption{z-index:2;font-family:var(--font-mono);text-align:center;-webkit-line-clamp:2;word-break:break-word;pointer-events:none;background:linear-gradient(#0000008c,#000000e0);-webkit-box-orient:vertical;padding:3px 4px;font-size:clamp(7px,1.8cqi,9px);line-height:1.2;display:-webkit-box;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.bag-slot .item-icon-stack,.equip-overlay .item-icon-stack,.bag-slot .item-icon-stack-fill,.equip-overlay .item-icon-stack-fill{width:100%;height:100%;position:absolute;inset:0}.item-icon-fill,.item-icon.item-icon-fill{background:var(--surface-container-low);border:none;border-radius:0;max-width:none;max-height:none;position:absolute;inset:0;width:100%!important;height:100%!important}.item-icon-fill .item-icon-img{object-fit:cover;object-position:center;width:100%;height:100%;padding:0}.item-icon-fill.item-icon-fallback{background:var(--surface-container-high);place-items:center;display:grid}.item-icon-fill .item-icon-letter{font-size:clamp(1rem,30%,1.75rem)}.bag-slot .item-icon-fallback .item-icon-letter,.equip-overlay .item-icon-fallback .item-icon-letter{display:none}.bag-slot .item-icon-fill.item-icon-fallback,.equip-overlay .item-icon-fill.item-icon-fallback{background:radial-gradient(circle at 50% 50%, #ffdad40f 0%, transparent 65%), var(--surface-container-high)}.vault-dragging{opacity:.45}.bag-slot-draggable{cursor:grab}.bag-slot-draggable:active{cursor:grabbing}.bag-area-drop-active{outline:2px dashed var(--secondary);outline-offset:-2px}.vault-equip-feedback{align-items:flex-start;gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);border:1px solid color-mix(in srgb, var(--secondary) 38%, var(--outline-variant));border-left:3px solid var(--secondary);background:linear-gradient(100deg,#e9c17624,#0000 58%),#0a0a0a61;border-radius:2px;margin:0;display:flex}.vault-equip-feedback-icon{filter:drop-shadow(0 0 6px #e9c1763d);flex-shrink:0;margin-top:1px}.vault-equip-feedback-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.vault-equip-feedback-kicker{font-family:var(--font-mono);letter-spacing:.08em;color:var(--secondary);font-size:10px;font-weight:700}.vault-equip-feedback-text{color:var(--on-surface);margin:0;font-size:12px;line-height:1.45}.vault-meta{background:linear-gradient(160deg, #ffdad408, transparent 42%), var(--surface-container);border:2px solid var(--outline-variant);padding:var(--unit-2) var(--unit-3);border-radius:0;box-shadow:inset 0 0 12px #00000080}.vault-meta p{font-family:var(--font-mono);margin:2px 0;font-size:12px}.vault-meta .vault-meta-title{color:var(--text-accent);font-family:var(--font-display);font-variant:small-caps;letter-spacing:.04em;margin:0 0 6px;font-size:.82rem;font-weight:700}.vault-meta-sets .vault-meta-title{margin-bottom:var(--unit-2)}.vault-set-grid{gap:var(--unit-2);flex-direction:column;display:flex}.vault-set-card{padding:var(--unit-2);border:1px solid color-mix(in srgb, var(--outline-variant) 35%, transparent);border-left:2px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);background:linear-gradient(160deg, #ffdad405, transparent 42%), color-mix(in srgb, var(--surface-container-low) 92%, transparent);border-radius:0;flex-direction:column;gap:5px;display:flex;box-shadow:inset 0 0 8px #0006}.vault-set-card.is-active{border-left-color:color-mix(in srgb, var(--secondary) 55%, var(--outline-variant));background:linear-gradient(160deg, #ffdad40a, transparent 42%), color-mix(in srgb, var(--secondary) 6%, var(--surface-container-low))}.vault-set-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.vault-set-icon{opacity:.9;flex-shrink:0}.vault-set-head .text-label-caps{flex:1;min-width:0;line-height:1.2}.vault-set-badge{border:1px solid color-mix(in srgb, var(--outline-variant) 45%, transparent);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);background:#00000047;border-radius:0;align-items:center;padding:2px 6px;font-size:.56rem;font-weight:700;line-height:1.2;display:inline-flex}.vault-set-card.is-active .vault-set-badge{border-color:color-mix(in srgb, var(--secondary) 40%, var(--outline-variant));color:var(--text-accent)}.vault-set-value{font-family:var(--font-display);font-variant:small-caps;letter-spacing:.03em;color:var(--text-accent);margin:0;font-size:.86rem;font-weight:700;line-height:1.25}.vault-set-hint{font-family:var(--font-prose);color:var(--text-tertiary);margin:0;font-size:.72rem;line-height:1.4}.vault-set-card.is-progress{border-left-color:color-mix(in srgb, var(--outline-variant) 70%, transparent)}.vault-set-bonuses{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.vault-set-bonuses li{font-family:var(--font-prose);color:var(--on-surface);flex-wrap:wrap;gap:.35em;font-size:.74rem;line-height:1.35;display:flex}.vault-set-bonuses li .muted{color:var(--text-tertiary)}.bag-area{background:linear-gradient(180deg, #ffdad406, transparent 18%), repeating-linear-gradient(0deg, transparent, transparent 23px, #ffdad40a 23px, #ffdad40a 24px), repeating-linear-gradient(90deg, transparent, transparent 23px, #ffdad40a 23px, #ffdad40a 24px), var(--surface-container);border:2px solid var(--outline-variant);padding:var(--unit-3);scrollbar-gutter:stable;min-height:0;max-height:min(520px,100vh - 220px);overflow-y:auto;box-shadow:inset 0 0 18px #000000d1;container-type:inline-size}.bag-grid{--bag-gap:clamp(6px, 1.1cqi, 10px);--bag-slot-min:68px;grid-template-columns:repeat(auto-fill, minmax(var(--bag-slot-min), 1fr));gap:var(--bag-gap);align-content:start;width:100%;display:grid}@container (max-width:360px){.bag-grid{--bag-slot-min:58px}}@container (min-width:520px){.bag-grid{--bag-slot-min:72px}}@container (min-width:720px){.bag-grid{--bag-slot-min:76px}}@container (min-width:960px){.bag-grid{--bag-slot-min:78px}}.bag-slot{aspect-ratio:1;background:var(--surface);border:2px solid var(--outline-variant);cursor:pointer;width:100%;padding:0;transition:border-color .15s,box-shadow .15s;position:relative;overflow:hidden}.bag-slot-filled{background:linear-gradient(160deg, #ffdad40a, transparent 55%), var(--surface-container-lowest);box-shadow:inset 0 0 12px #00000073}.bag-slot .slot-caption{-webkit-line-clamp:1;opacity:0;padding:3px 4px;font-size:clamp(8px,2.2cqi,10px);transition:opacity .12s,transform .12s;transform:translateY(0)}.bag-slot:hover,.bag-slot:focus-visible,.bag-slot-selected{z-index:2}.bag-slot-selected .slot-caption{opacity:1;transform:translateY(0)}.bag-slot-empty{opacity:.32;cursor:default;background:radial-gradient(circle at 50% 50%, #ffdad40d 0%, transparent 68%), var(--surface);border-style:dashed}.bag-slot-empty:hover{transform:none}.bag-slot-selected{outline:2px solid var(--secondary);outline-offset:2px;box-shadow:0 0 14px #e9c17647,inset 0 0 16px #e9c17614}.bag-slot-level{z-index:2;border:1px solid var(--outline-variant);min-width:18px;color:var(--on-surface-variant);font-family:var(--font-mono);text-align:center;pointer-events:none;background:#000000c7;padding:0 4px;font-size:9px;font-weight:700;line-height:1.35;position:absolute;top:3px;left:3px}.bag-slot-compare{z-index:2;border:1px solid var(--outline-variant);pointer-events:none;background:#000000d1;place-items:center;width:18px;height:18px;font-size:9px;line-height:1;display:grid;position:absolute;top:3px;right:3px}.bag-slot-compare-upgrade{color:var(--secondary);border-color:color-mix(in srgb, var(--secondary) 55%, var(--outline-variant))}.bag-slot-compare-downgrade{color:var(--error);border-color:color-mix(in srgb, var(--error) 55%, var(--outline-variant))}.bag-slot-compare-mixed{color:var(--on-surface);border-color:var(--outline)}.bag-slot-equip-ok{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--secondary) 22%, transparent)}.bag-slot-equip-blocked{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--error) 28%, transparent)}.bag-slot-equip-blocked .item-icon-fill .item-icon-img{filter:grayscale(.55)brightness(.82)}.bag-slot-equip-badge{z-index:2;border:1px solid var(--outline-variant);pointer-events:auto;cursor:help;background:#000000d1;place-items:center;width:18px;height:18px;font-size:10px;line-height:1;display:grid;position:absolute;bottom:3px;left:3px}.bag-slot-equip-badge-ok{color:var(--secondary);border-color:color-mix(in srgb, var(--secondary) 55%, var(--outline-variant))}.bag-slot-equip-badge-blocked{color:var(--error);border-color:color-mix(in srgb, var(--error) 55%, var(--outline-variant))}.bag-slot-broken{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--error) 35%, transparent)}.bag-slot-broken .item-icon-fill .item-icon-img{filter:grayscale(.65)brightness(.78)}.bag-slot-broken-badge{z-index:2;border:1px solid color-mix(in srgb, var(--error) 55%, var(--outline-variant));width:18px;height:18px;color:var(--error);cursor:help;background:#000000d9;place-items:center;font-size:10px;line-height:1;display:grid;position:absolute;bottom:3px;left:3px}.item-inspect-broken-note{color:var(--error);font-weight:600}.vault-bag-empty{justify-content:center;align-items:center;gap:var(--unit-2);width:100%;padding:var(--unit-4) var(--unit-3);text-align:center;background:radial-gradient(circle at 50% 0,#ffb4a814,#0000 55%),linear-gradient(160deg,#ffdad40a,#0000 50%),#00000047;border:1px dashed #aa898473;flex-direction:column;margin:0;display:flex;box-shadow:inset 0 0 18px #00000073}.vault-bag-empty--soft{background:linear-gradient(160deg,#60440329,#0000 55%),#00000047;border-style:solid;border-color:#e9c17647}.vault-bag-empty-icon{opacity:.72;filter:drop-shadow(0 0 8px color-mix(in srgb, var(--secondary) 22%, transparent))}.vault-bag-empty-title{color:var(--secondary);font-family:var(--font-display);letter-spacing:.02em;margin:0;font-size:1.05rem;font-weight:400;line-height:1.2}.vault-bag-empty-hint{max-width:28ch;color:var(--on-surface-variant);font-family:var(--font-prose);margin:0;font-size:.78rem;line-height:1.4}.bag-footer{background:linear-gradient(180deg, #e9c1760f, transparent), var(--surface-container-low);border:1px solid var(--outline-variant);padding:var(--unit-2) var(--unit-3);font-family:var(--font-mono);color:var(--secondary);justify-content:flex-start;align-items:center;font-size:12px;display:flex}.inspect-panel{border:2px solid var(--outline-variant);background:linear-gradient(180deg, #ffdad409, transparent 28%), var(--surface-container-high);flex-direction:column;min-height:clamp(280px,40vh,520px);max-height:min(640px,100vh - 160px);display:flex;overflow:hidden;box-shadow:inset 0 0 30px #000c}.inspect-empty{color:var(--on-surface-variant);font-family:var(--font-mono);text-align:center;padding:var(--unit-6);flex:1;justify-content:center;align-items:center;font-size:12px;display:flex}.inspect-header{gap:var(--unit-3);padding:var(--unit-4);border-bottom:1px solid color-mix(in srgb, var(--outline-variant) 80%, transparent);background:linear-gradient(180deg, #ffdad40f, transparent 72%), var(--surface-container);flex-direction:column;display:flex}.inspect-header-hero{gap:var(--unit-3);grid-template-columns:64px minmax(0,1fr);align-items:start;display:grid}.inspect-header-copy{min-width:0}.inspect-header-kicker{margin-bottom:var(--unit-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.inspect-header-kicker-sep{opacity:.45;font-weight:400}.inspect-header-icon{border:2px solid var(--outline-variant);background:radial-gradient(circle at 50% 28%, #e9c1761a, transparent 62%), var(--surface-container-low);border-radius:4px;flex-shrink:0;width:64px;height:64px;position:relative;overflow:hidden;box-shadow:inset 0 0 18px #0000008c}.inspect-name{font-family:var(--font-display);margin:0 0 var(--unit-2);text-wrap:balance;font-size:clamp(1rem,2.2vw,1.2rem);line-height:1.2}.inspect-meta-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.inspect-chip{border:1px solid var(--outline-variant);color:var(--on-surface-variant);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:#00000038;border-radius:2px;align-items:center;gap:5px;padding:3px 8px;font-size:10px;font-weight:700;line-height:1.2;display:inline-flex}.inspect-chip-category{color:var(--on-surface)}.inspect-chip-rarity{background:#00000047}.inspect-chip-specialty{color:var(--secondary);border-color:color-mix(in srgb, var(--secondary) 40%, var(--outline-variant))}.inspect-chip-set{color:var(--secondary);border-color:color-mix(in srgb, var(--secondary) 50%, var(--outline-variant));background:color-mix(in srgb, var(--secondary) 8%, transparent)}.inspect-item-set{gap:var(--unit-2);padding:var(--unit-3);border:1px solid color-mix(in srgb, var(--secondary) 35%, var(--outline-variant));background:linear-gradient(160deg,#e9c17614,#0000 58%);border-radius:3px;align-items:flex-start;display:flex}.inspect-item-set p{color:var(--on-surface);margin:0;font-size:12px;line-height:1.45}.inspect-sub{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--on-surface-variant);margin-top:var(--unit-1);font-size:11px}.inspect-body{padding:var(--unit-3);gap:var(--unit-3);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.inspect-section-title,.inspect-stat-group-title{margin:0 0 var(--unit-2);color:var(--secondary);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.inspect-weapon-card,.inspect-stat-group{padding:var(--unit-3);border:1px solid var(--outline-variant);background:linear-gradient(160deg,#ffdad408,#0000 48%),#0000002e;border-radius:3px}.inspect-kv-list{gap:var(--unit-2);flex-direction:column;margin:0;display:flex}.inspect-kv-row{align-items:center;gap:var(--unit-3);border-bottom:1px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);grid-template-columns:minmax(0,1fr) auto;padding:6px 0;display:grid}.inspect-kv-row:last-child{border-bottom:0;padding-bottom:0}.inspect-kv-label{color:var(--on-surface-variant);font-family:var(--font-mono);letter-spacing:.03em;align-items:center;gap:7px;margin:0;font-size:11px;display:inline-flex}.inspect-kv-value{font-family:var(--font-mono);color:var(--on-surface);text-align:right;margin:0;font-size:12px;font-weight:700}.inspect-kv-value-die{border:1px solid color-mix(in srgb, var(--secondary) 35%, var(--outline-variant));color:var(--secondary);background:#00000047;border-radius:2px;padding:2px 8px;font-size:13px}.inspect-kv-value-damage{justify-content:flex-end;display:flex}.inspect-family-chip{border:1px solid var(--outline-variant);letter-spacing:.04em;text-transform:uppercase;border-radius:2px;align-items:center;padding:2px 8px;font-size:11px;display:inline-flex}.inspect-family-melee{color:#e8a898;border-color:color-mix(in srgb, #e8a898 45%, var(--outline-variant));background:#78302838}.inspect-family-tir{color:#a8d090;border-color:color-mix(in srgb, #a8d090 45%, var(--outline-variant));background:#30582838}.inspect-family-focus{color:#a8b8f0;border-color:color-mix(in srgb, #a8b8f0 45%, var(--outline-variant));background:#30387838}.inspect-family-bouclier{color:#c8b8a8;border-color:color-mix(in srgb, #c8b8a8 45%, var(--outline-variant));background:#48403838}.item-category-icon,.item-inspect-icon,.inspect-stat-group-icon,.inspect-stat-glyph-icon{opacity:.92;object-fit:contain;flex-shrink:0}.inspect-stat-vital-icon{opacity:.95;flex-shrink:0}.inspect-stat{border-bottom:1px solid var(--outline-variant);padding-bottom:var(--unit-2);justify-content:space-between;align-items:flex-end;display:flex}.inspect-stat-value{font-family:var(--font-display);color:var(--on-surface);font-size:1.05rem}.inspect-stat-label{font-family:var(--font-mono);color:var(--on-surface-variant);font-size:12px}.inspect-stat-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.inspect-stat-list li{align-items:center;gap:var(--unit-2);background:#00000024;border-radius:2px;grid-template-columns:minmax(0,1fr) auto;padding:7px 8px;font-size:12px;display:grid}.inspect-stat-list li span{color:var(--on-surface-variant)}.inspect-stat-list li strong{font-family:var(--font-mono);color:var(--on-surface);font-size:12px;font-weight:700}.inspect-stat-positive{color:var(--secondary)!important}.inspect-stat-groups{gap:var(--unit-3);flex-direction:column;display:flex}.inspect-stat-group-combat .inspect-stat-group-icon{color:#e8a898}.inspect-stat-group-defense .inspect-stat-group-icon{color:#a8c0e8}.inspect-stat-group-resources .inspect-stat-group-icon{color:#b8d090}.inspect-stat-group-resistances .inspect-stat-group-icon{color:#d0a8e8}.inspect-weapon-formula{margin:0 0 var(--unit-2);font-size:11px;line-height:1.4}.labeled-hint{color:var(--on-surface-variant);align-items:center;gap:2px;display:inline-flex}.hint-tooltip{vertical-align:middle;display:inline-flex;position:relative}.hint-tooltip-btn{width:14px;height:14px;color:var(--on-surface-variant);cursor:help;opacity:.75;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:11px;line-height:1;transition:opacity .15s,color .15s;display:inline-flex}.hint-tooltip-btn:hover,.hint-tooltip-btn:focus-visible{opacity:1;color:var(--secondary);outline:none}.hint-tooltip-panel{z-index:1000;width:max-content;max-width:min(240px,100vw - 16px);padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);background:var(--surface-container-highest,#1a1510);color:var(--on-surface);font-family:var(--font-body);text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;border-radius:4px;font-size:11px;font-weight:400;line-height:1.4;transition:opacity .12s,visibility .12s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000073}.hint-tooltip:hover .hint-tooltip-panel,.hint-tooltip-open .hint-tooltip-panel,.hint-tooltip-hovered .hint-tooltip-panel,.hint-tooltip-panel-visible,.hint-tooltip-btn:focus-visible+.hint-tooltip-panel{opacity:1;visibility:visible}.hint-tooltip-open .hint-tooltip-panel,.hint-tooltip-panel-visible.hint-tooltip-open{pointer-events:auto}.hint-tooltip-panel-floating{opacity:1;visibility:visible;pointer-events:auto;width:auto;min-width:0;padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);background:var(--surface-container-highest,#1a1510);color:var(--on-surface);font-family:var(--font-body);text-align:left;white-space:normal;border-radius:4px;font-size:11px;font-weight:400;line-height:1.4;display:inline-block;position:fixed;bottom:auto;right:auto;box-shadow:0 8px 24px #0000008c}.combat-command-bar .labeled-hint,.combat-command-bar .hint-tooltip{overflow:visible}.item-durability-header{justify-content:space-between;align-items:baseline;gap:var(--unit-2);margin-bottom:var(--unit-1);display:flex}.item-durability-values{font-family:var(--font-mono);color:var(--on-surface-variant);font-size:11px}.inspect-equipped-note{padding:var(--unit-2) var(--unit-3);border:1px dashed var(--outline-variant);margin:0;font-size:11px}.inspect-equip-rule{align-items:flex-start;gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);border:1px solid color-mix(in srgb, var(--outline) 65%, transparent);background:#0a0a0a61;border-radius:2px;margin:0;display:flex}.inspect-equip-rule-two-handed{border-left:3px solid color-mix(in srgb, #c9a227 70%, var(--outline));background:linear-gradient(100deg,#c9a2271f,#0000 58%),#0a0a0a61}.inspect-equip-rule-icon{filter:drop-shadow(0 0 6px #c9a22738);flex-shrink:0;margin-top:1px}.inspect-equip-rule-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.inspect-equip-rule-kicker{font-family:var(--font-mono);letter-spacing:.08em;color:#d4b06a;font-size:10px;font-weight:700}.inspect-equip-rule-text{color:var(--on-surface-variant);margin:0;font-size:12px;line-height:1.45}.inspect-stats-unavailable{margin:0;font-size:12px}.inspect-compare-summary{gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);background:#0e0e0e6b;flex-direction:column;display:flex}.inspect-compare-summary-upgrade{border-color:color-mix(in srgb, var(--secondary) 45%, var(--outline-variant));background:linear-gradient(160deg,#e9c1761a,#0000 58%),#0e0e0e6b}.inspect-compare-summary-downgrade{border-color:color-mix(in srgb, var(--error) 40%, var(--outline-variant));background:linear-gradient(160deg,#cf66791a,#0000 58%),#0e0e0e6b}.inspect-compare-summary-mixed{border-color:var(--outline)}.inspect-compare-summary-equal{opacity:.85;border-style:dashed}.inspect-compare-summary-head{justify-content:space-between;align-items:center;gap:var(--unit-2);flex-wrap:wrap;display:flex}.inspect-compare-summary-kicker{color:var(--on-surface-variant);letter-spacing:.06em;font-size:10px}.inspect-compare-verdict{border:1px solid var(--outline-variant);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.inspect-compare-verdict-upgrade{color:var(--secondary);border-color:color-mix(in srgb, var(--secondary) 50%, var(--outline-variant))}.inspect-compare-verdict-downgrade{color:var(--error);border-color:color-mix(in srgb, var(--error) 50%, var(--outline-variant))}.inspect-compare-verdict-mixed,.inspect-compare-verdict-equal{color:var(--on-surface-variant)}.inspect-compare-summary-body{gap:var(--unit-2);display:grid}.inspect-compare-group{gap:var(--unit-1);flex-direction:column;display:flex}.inspect-compare-group-title{color:var(--on-surface-variant);letter-spacing:.06em;margin:0;font-size:10px}.bag-slot-badge-stat{font-family:var(--font-mono);border:1px solid color-mix(in srgb, var(--secondary) 35%, transparent);color:var(--secondary);pointer-events:auto;cursor:help;z-index:1;background:#000000c7;border-radius:2px;padding:1px 4px;font-size:9px;line-height:1;position:absolute;bottom:3px;right:3px}.inspect-affix{gap:var(--unit-2);padding:var(--unit-3);border:1px solid color-mix(in srgb, var(--secondary) 35%, var(--outline-variant));background:linear-gradient(160deg,#e9c17614,#0000 58%);border-radius:3px;align-items:flex-start;display:flex}.inspect-affix-star{color:var(--secondary);flex-shrink:0;font-size:14px;line-height:1.2}.inspect-affix p{color:var(--on-surface);margin:0;font-size:12px;line-height:1.45}.inspect-flavor,.item-inspect-description{padding:var(--unit-2) var(--unit-3);border-left:2px solid color-mix(in srgb, var(--secondary) 40%, transparent);margin:0;font-size:12px;font-style:italic;line-height:1.5}.inspect-no-suffix{font-size:12px}.inspect-damage-types{padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);background:#00000029;border-radius:3px;flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inspect-damage-types-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:10px}.inspect-header-kicker .labeled-hint,.inspect-chip .labeled-hint,.inspect-mastery-lock .labeled-hint{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}.inspect-mastery-lock .labeled-hint{flex:1;min-width:0}.inspect-mastery-lock{padding:var(--unit-2) var(--unit-3);border:1px solid color-mix(in srgb, var(--error) 45%, var(--outline-variant));width:100%;color:var(--error);text-align:left;background:linear-gradient(160deg,#cf667924,#0000 58%),#7820282e;border-radius:2px;align-items:center;gap:8px;margin:0;font-size:10px;line-height:1.35;display:flex}.inspect-mastery-lock-icon{filter:drop-shadow(0 0 4px #cf667959);flex-shrink:0}.inspect-mastery-lock-text{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.inspect-catalog-hint{margin-top:var(--unit-2);font-size:11px;font-style:italic}.inspect-compare{gap:var(--unit-1);flex-direction:column;display:flex}.inspect-compare-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.inspect-compare-list li{align-items:baseline;gap:var(--unit-2);border-bottom:1px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);grid-template-columns:1fr auto;padding:3px 0;font-size:12px;display:grid}.inspect-compare-list li:last-child{border-bottom:none}.inspect-compare-list li span{color:var(--on-surface-variant);min-width:0}.inspect-compare-list li strong{font-family:var(--font-mono);white-space:nowrap}.inspect-compare-line-positive{background:#e9c1760a}.inspect-compare-line-negative{background:#cf66790d}.inspect-compare-positive{color:var(--secondary)}.inspect-compare-negative{color:var(--error)}.inspect-actions{gap:var(--unit-2);padding:var(--unit-3);border-top:2px solid var(--outline-variant);flex-wrap:wrap;flex-shrink:0;margin-top:auto;display:flex}.inspect-actions .btn{flex:1 1 calc(50% - var(--unit-2));padding:var(--unit-2) var(--unit-3);font-size:.85rem}.inspect-drop-warning{color:var(--error);flex:100%;margin:0;font-size:11px}@container vault (max-width:719px){.bag-area{max-height:min(480px,55vh)}.vault-col-inspect .inspect-panel{max-height:min(420px,50vh)}.vault-bag-toolbar{align-items:stretch}.vault-bag-sort,.vault-bag-sort-select{width:100%}}.inventory-item-tooltip{pointer-events:none;border:2px solid var(--outline-variant);background:radial-gradient(circle at 88% 0%, #e9c17614, transparent 52%), linear-gradient(180deg, #ffdad40a, transparent 38%), var(--surface-container-high);padding:var(--unit-3);gap:var(--unit-2);border-radius:4px;flex-direction:column;min-width:220px;display:flex;box-shadow:0 10px 28px #0000008c,inset 0 0 24px #000000b8}.inventory-item-tooltip-head{gap:var(--unit-2);grid-template-columns:52px minmax(0,1fr);align-items:start;display:grid}.inventory-item-tooltip-icon{border:1px solid var(--outline-variant);background:#00000059;border-radius:3px;flex-shrink:0;width:52px;height:52px;position:relative;overflow:hidden}.inventory-item-tooltip-copy{min-width:0}.inventory-item-tooltip-name{font-family:var(--font-display);margin:0;font-size:.95rem;line-height:1.15}.inventory-item-tooltip-meta,.inventory-item-tooltip-kind{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--on-surface-variant);margin:2px 0 0;font-size:10px}.inventory-item-tooltip-kind{text-transform:none;letter-spacing:normal;align-items:center;gap:4px;font-size:.72rem;display:inline-flex}.inventory-item-tooltip-stats{padding:var(--unit-2) 0 0;border-top:1px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);flex-direction:column;gap:4px;margin:0;list-style:none;display:flex}.inventory-item-tooltip-stats li{justify-content:space-between;align-items:baseline;gap:var(--unit-2);font-size:.8rem;display:flex}.inventory-item-tooltip-stats span{color:var(--on-surface-variant)}.inventory-item-tooltip-stats strong{color:var(--on-surface);font-family:var(--font-mono);font-size:.78rem}.inventory-item-tooltip-stat-pos{color:var(--tertiary)}.inventory-item-tooltip-compare{padding:var(--unit-1) var(--unit-2);font-family:var(--font-mono);letter-spacing:.03em;background:#00000038;border-radius:3px;margin:0;font-size:10px}.inventory-item-tooltip-compare-upgrade{color:var(--tertiary);border-left:2px solid var(--tertiary)}.inventory-item-tooltip-compare-downgrade{color:var(--error);border-left:2px solid var(--error)}.inventory-item-tooltip-compare-mixed{color:var(--secondary);border-left:2px solid var(--secondary)}.inventory-item-tooltip-compare-equal{color:var(--outline);border-left:2px solid var(--outline-variant)}.inventory-item-tooltip-durability{margin:0;font-size:.72rem}.inventory-item-tooltip-flags{flex-wrap:wrap;gap:4px;display:flex}.inventory-item-tooltip-flag{border:1px solid color-mix(in srgb, var(--outline-variant) 70%, transparent);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);background:#0003;border-radius:2px;padding:2px 6px;font-size:9px}.inventory-item-tooltip-flag-warn{color:var(--error);border-color:color-mix(in srgb, var(--error) 45%, var(--outline-variant))}.inventory-item-tooltip-flag-danger{color:var(--error);border-color:color-mix(in srgb, var(--error) 70%, var(--outline-variant));background:color-mix(in srgb, var(--error) 18%, transparent)}.inventory-item-tooltip-durability-broken{color:var(--error)}
.forge-layout{gap:var(--unit-6);flex-wrap:wrap;align-items:stretch;padding-bottom:96px;display:flex}.forge-col{gap:var(--unit-4);flex-direction:column;flex:280px;min-width:0;display:flex}.forge-card{background:var(--surface-container);border:2px solid var(--outline-variant);padding:var(--unit-4);gap:var(--unit-4);flex-direction:column;display:flex;box-shadow:inset 0 0 10px #000c}.forge-card-grow{flex:1}.forge-card h2{font-family:var(--font-display);color:var(--secondary);border-bottom:1px solid var(--outline-variant);padding-bottom:var(--unit-1);justify-content:space-between;align-items:flex-end;font-size:1.25rem;display:flex}.forge-card h2 span{font-family:var(--font-mono);color:var(--primary);font-size:13px}.forge-portrait{border:2px solid var(--outline-variant);background:radial-gradient(circle at center, #20201f66 0%, #0e0e0ee6 100%), var(--surface-container-low);text-align:center;flex:1;justify-content:center;align-items:center;min-height:360px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 10px #000c}.forge-portrait-label{font-family:var(--font-display);color:var(--on-surface-variant);letter-spacing:.1em;opacity:.85;font-size:1.5rem}.forge-corner{width:28px;height:28px;position:absolute}.forge-corner-tl{border-top:2px solid var(--outline-variant);border-left:2px solid var(--outline-variant);top:10px;left:10px}.forge-corner-tr{border-top:2px solid var(--outline-variant);border-right:2px solid var(--outline-variant);top:10px;right:10px}.forge-corner-bl{border-bottom:2px solid var(--outline-variant);border-left:2px solid var(--outline-variant);bottom:10px;left:10px}.forge-corner-br{border-bottom:2px solid var(--outline-variant);border-right:2px solid var(--outline-variant);bottom:10px;right:10px}.portrait-review-overlay{z-index:200;padding:var(--unit-4);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.portrait-review-scrim{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0a0ad1;position:absolute;inset:0}.portrait-review-panel{z-index:1;width:min(100%,420px);padding:var(--unit-6);border:2px solid var(--outline-variant);background:var(--surface-container-low);gap:var(--unit-3);text-align:center;flex-direction:column;display:flex;position:relative;box-shadow:inset 0 0 24px #000000d9,0 12px 40px #00000080}.portrait-review-lead{font-size:.95rem;line-height:1.5}.portrait-review-frame{margin:var(--unit-2) auto;aspect-ratio:1;border:2px solid var(--outline-variant);background:var(--surface-container-high);width:min(100%,280px);overflow:hidden;box-shadow:inset 0 0 16px #000000e6}.portrait-review-img{object-fit:cover;width:100%;height:100%}.portrait-review-placeholder{width:100%;height:100%;padding:var(--unit-4);color:var(--on-surface-variant);justify-content:center;align-items:center;font-size:.9rem;display:flex}.portrait-review-error{font-size:.85rem}.portrait-review-actions{gap:var(--unit-2);margin-top:var(--unit-2);flex-direction:column;display:flex}.portrait-review-actions .btn{justify-content:center;width:100%}.attr-stepper{gap:var(--unit-1);flex-direction:column;display:flex}.attr-stepper-top{justify-content:space-between;align-items:center;display:flex}.attr-stepper-top label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:12px;font-weight:700}.attr-stepper-mod{font-family:var(--font-mono);color:var(--on-surface-variant);font-size:12px}.attr-stepper-controls{align-items:center;gap:var(--unit-2);display:flex}.stepper-btn{border:2px solid var(--outline-variant);background:var(--surface-container-low);width:28px;height:28px;color:var(--secondary);font-family:var(--font-mono);cursor:pointer;font-size:16px;line-height:1;transition:border-color .15s,color .15s}.stepper-btn:hover:not(:disabled){border-color:var(--secondary)}.stepper-btn:disabled{opacity:.35;cursor:not-allowed}.stepper-track{background:var(--surface-container-highest);border:1px solid var(--outline-variant);flex:1;height:4px;position:relative}.stepper-track-fill{background:var(--secondary);height:100%}.attr-value{font-family:var(--font-mono);text-align:center;min-width:2rem;color:var(--secondary);font-size:15px}.spec-grid{gap:var(--unit-2);grid-template-columns:repeat(2,1fr);display:grid;overflow-y:auto}.spec-tile{padding:var(--unit-4);border:2px solid var(--outline-variant);background:var(--surface-container-highest);min-height:64px;color:var(--on-surface);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-align:center;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;display:flex}.spec-tile:hover{background:var(--surface-bright);border-color:var(--secondary)}.spec-tile-active{border-color:var(--primary-container);color:var(--primary);box-shadow:inset 0 0 15px #8b000066,0 0 10px #ffb4a833}.spec-tile:disabled{opacity:.4;cursor:not-allowed}.forge-action-bar{z-index:50;justify-content:center;align-items:center;gap:var(--unit-4);width:100%;padding:var(--unit-4);background:var(--surface-container-lowest);border-top:2px solid var(--outline-variant);display:flex;position:fixed;bottom:0;left:0}.forge-action-msg{font-family:var(--font-mono);font-size:13px}.forge-action-btn{background:var(--surface-container-highest);border:2px solid var(--primary);color:var(--primary);font-family:var(--font-display);padding:var(--unit-2) var(--unit-8);cursor:pointer;font-size:1.25rem;transition:background .2s,color .2s,box-shadow .2s;box-shadow:0 0 15px #ffb4a833}.forge-action-btn:hover:not(:disabled){background:var(--primary-container);color:var(--on-primary-container);box-shadow:0 0 25px #ffb4a866}.forge-action-btn:disabled{opacity:.5;cursor:not-allowed}
.hero-roster-page{--roster-portrait-w:96px;--roster-portrait-min-h:140px;--roster-portrait-aspect:4 / 5;gap:var(--unit-3);flex-direction:column;display:flex}.hero-roster-hero{background:radial-gradient(circle at 12% 100%, #93000a24, transparent 44%), radial-gradient(circle at 88% 0%, #ffb4a824, transparent 48%), var(--surface-container-lowest);border:2px solid var(--outline-variant);padding:var(--unit-3);flex-shrink:0}.hero-roster-lead{max-width:52ch;margin:0;font-size:.9rem;line-height:1.45}.hero-roster-hero-rules{margin:var(--unit-2) 0 0;gap:var(--unit-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.hero-roster-hero-rules li{border:1px solid var(--outline-variant);background:linear-gradient(160deg, #ffdad40d, transparent 50%), var(--surface-container-low);color:var(--on-surface-variant);align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.76rem;line-height:1.25;display:inline-flex}.hero-roster-shell{gap:var(--unit-3);padding:var(--unit-4);background:linear-gradient(165deg, #ffdad40a, transparent 38%), radial-gradient(circle at 100% 0%, #8b00001a, transparent 46%), var(--surface-container-lowest);border:1px solid #aa89846b;flex-direction:column;display:flex;box-shadow:inset 0 1px #ffdad40d,inset 0 0 28px #000000c7;container:hero-roster/inline-size}.hero-roster-overview{align-items:center;gap:var(--unit-2) var(--unit-3);padding:var(--unit-2) var(--unit-3);background:linear-gradient(135deg,#ffdad40d,#0000 58%),#0e0e0e7a;border:1px solid #aa898452;flex-wrap:wrap;display:flex;box-shadow:inset 0 0 14px #0000008c}.hero-roster-slot-meter{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.hero-roster-slot-pill{background:#00000059;border:1px solid #aa898473;justify-content:center;align-items:center;width:28px;height:28px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.hero-roster-slot-pill.is-filled{background:#0000007a;border-color:#aa8984a6}.hero-roster-slot-pill.is-active{background:color-mix(in srgb, var(--primary) 14%, #0000008c);border-color:#ffb4a8a6;box-shadow:0 0 10px #8b00002e,inset 0 0 8px #ffb4a80f}.hero-roster-slot-pill.is-empty{opacity:.72;border-style:dashed}.hero-roster-slot-pill-dot{background:var(--outline);border-radius:50%;width:7px;height:7px}.hero-roster-slot-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--secondary);font-size:.62rem;font-weight:700}.hero-roster-active-chip{background:linear-gradient(160deg,#8b00001f,#0000 55%),#0000006b;border:1px solid #ffb4a859;align-items:center;gap:.45rem;padding:.35rem .75rem;display:inline-flex}.hero-roster-active-chip strong{font-family:var(--font-display);color:var(--on-surface);font-size:.95rem}.hero-roster-forge-link,.hero-roster-first-btn{margin-left:auto}.hero-roster-cap-note{color:var(--on-surface-variant);margin:0 0 0 auto;font-size:.78rem}.hero-roster-grid{gap:var(--unit-3);grid-template-columns:1fr;align-items:stretch;display:grid}@container hero-roster (min-width:540px){.hero-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@container hero-roster (min-width:820px){.hero-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.hero-roster-card{min-width:0;height:100%}.hero-roster-card-frame{grid-template-columns:var(--roster-portrait-w) minmax(0, 1fr);height:100%;min-height:var(--roster-portrait-min-h);border:2px solid var(--outline-variant);background:radial-gradient(circle at 78% 0%, color-mix(in srgb, var(--secondary) 6%, transparent), transparent 48%), linear-gradient(165deg, #ffdad40a, transparent 48%), var(--surface-container-low);border-radius:0;align-items:stretch;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 22px #000000b8}.hero-roster-card-frame.chiseled-border{box-shadow:inset 0 0 22px #000000b8}.hero-roster-card-frame:before{content:"";background:linear-gradient(180deg, color-mix(in srgb, var(--secondary) 55%, transparent), color-mix(in srgb, var(--outline-variant) 40%, transparent));pointer-events:none;z-index:2;width:3px;position:absolute;inset:0 auto 0 0}.hero-roster-card:not(.hero-roster-card--active):hover .hero-roster-card-frame{border-color:color-mix(in srgb, var(--secondary) 45%, var(--outline-variant));transform:translateY(-2px);box-shadow:inset 0 0 22px #000000b8,0 12px 28px #00000059}.hero-roster-card--active .hero-roster-card-frame{border-color:color-mix(in srgb, var(--primary) 55%, var(--outline-variant));box-shadow:inset 0 0 26px color-mix(in srgb, var(--primary) 10%, #000000b3), 0 0 18px color-mix(in srgb, var(--primary) 12%, transparent)}.hero-roster-card--active .hero-roster-card-frame:before{background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 78%, transparent), color-mix(in srgb, var(--primary) 28%, transparent))}.hero-roster-card-portrait-wrap{isolation:isolate;contain:paint;aspect-ratio:var(--roster-portrait-aspect);border-right:1px solid color-mix(in srgb, var(--outline-variant) 80%, transparent);background:radial-gradient(ellipse at 50% 18%, color-mix(in srgb, var(--secondary) 10%, transparent), transparent 58%), var(--surface-container-lowest);min-height:var(--roster-portrait-min-h);position:relative;overflow:hidden}.hero-roster-card-portrait{object-fit:cover;object-position:center 18%;filter:saturate(.94)contrast(1.04)}.hero-roster-card-portrait-fallback{background:radial-gradient(circle at 50% 28%, color-mix(in srgb, var(--secondary) 14%, transparent), transparent 62%);place-items:center;display:grid;position:absolute;inset:0}.hero-roster-card-portrait-frame{z-index:1;border:1px solid color-mix(in srgb, var(--secondary) 38%, transparent);pointer-events:none;position:absolute;inset:6px;box-shadow:inset 0 0 18px #00000073,0 0 0 1px #00000059}.hero-roster-card-portrait-shade{z-index:1;pointer-events:none;background:linear-gradient(#00000047 0%,#0000 22% 52%,#000000c7 100%),radial-gradient(at 50% 100%,#0006,#0000 55%);position:absolute;inset:0}.hero-roster-card-badge{z-index:2;border:1px solid color-mix(in srgb, var(--primary) 62%, var(--secondary));background:linear-gradient(180deg, color-mix(in srgb, var(--primary) 28%, transparent) 0%, color-mix(in srgb, var(--surface-container-lowest) 88%, transparent) 100%);max-width:calc(100% - 1.5rem);min-height:1.7rem;color:var(--primary-container);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;box-shadow:inset 0 1px 0 color-mix(in srgb, var(--secondary) 22%, transparent), inset 0 -1px 0 #00000073, 0 0 0 1px #00000059, 0 8px 16px #0000008c, 0 0 14px color-mix(in srgb, var(--primary) 22%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:0;justify-content:center;align-items:center;gap:.4rem;padding:.28rem .8rem;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.hero-roster-card-badge-icon{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--primary) 45%, transparent));flex-shrink:0}.hero-roster-card-badge--idle{border-color:color-mix(in srgb, var(--secondary) 40%, var(--outline-variant));background:linear-gradient(180deg, color-mix(in srgb, var(--secondary) 12%, transparent) 0%, color-mix(in srgb, var(--surface-container-lowest) 90%, transparent) 100%);color:var(--secondary);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--secondary) 14%, transparent), inset 0 -1px 0 #0006, 0 0 0 1px #0000004d, 0 6px 12px #00000073}.hero-roster-card-content{gap:var(--unit-2);padding:var(--unit-3);flex-direction:column;min-width:0;display:flex}.hero-roster-card-name{font-family:var(--font-display);color:var(--on-surface);margin:0;font-size:clamp(1rem,2.5cqw,1.15rem);line-height:1.12}.hero-roster-card-header{flex-direction:column;gap:.25rem;display:flex}.hero-roster-card-origin{color:var(--on-surface-variant);align-items:center;gap:.35rem;margin:0;font-size:.72rem;line-height:1.25;display:inline-flex}@container hero-roster (min-width:540px){.hero-roster-card-frame{grid-template-rows:auto 1fr;grid-template-columns:1fr;min-height:100%}.hero-roster-card-frame:before{background:linear-gradient(90deg,#aa898473,#aa89841f);width:auto;height:3px;inset:0 0 auto}.hero-roster-card--active .hero-roster-card-frame:before{background:linear-gradient(90deg,#ffb4a8bf,#8b000059)}.hero-roster-card-portrait-wrap{border-right:none;border-bottom:1px solid color-mix(in srgb, var(--outline-variant) 80%, transparent);width:100%;aspect-ratio:var(--roster-portrait-aspect);min-height:0;max-height:min(20rem,48cqw);margin-inline:0}.hero-roster-card-portrait-frame{inset:8px}.hero-roster-card-badge{bottom:14px}}@container hero-roster (max-width:539px){.hero-roster-card-frame{grid-template-columns:minmax(88px, var(--roster-portrait-w)) minmax(0, 1fr)}}.hero-roster-vitals{padding:var(--unit-2);background:#00000052;border:1px solid #aa898447;flex-direction:column;gap:.4rem;display:flex;box-shadow:inset 0 0 10px #00000073}.hero-roster-vital--bar{align-items:center;gap:.35rem;min-width:0;display:flex}.hero-roster-vital-value{min-width:2.8rem;font-family:var(--font-mono);color:var(--on-surface);text-align:right;white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:700}.hero-roster-resource-bar{background:#0000008c;border:1px solid #aa898438;flex:1;min-width:0;height:6px;overflow:hidden}.hero-roster-resource-bar-fill{height:100%;transition:width .2s;display:block}.hero-roster-resource-bar--hp .hero-roster-resource-bar-fill{background:linear-gradient(90deg, #8b1a12, var(--primary));box-shadow:0 0 6px color-mix(in srgb, var(--primary) 45%, transparent)}.hero-roster-resource-bar--endurance .hero-roster-resource-bar-fill{background:linear-gradient(90deg, #6f5100, var(--secondary))}.hero-roster-resource-bar--mana .hero-roster-resource-bar-fill{background:linear-gradient(90deg,#273f6c,#8fb8ff)}.hero-roster-card-stats{gap:var(--unit-1);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.hero-roster-stat{flex-direction:column;gap:.2rem;min-width:0;margin:0;display:flex}.hero-roster-stat-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--outline);font-size:.56rem;font-weight:700}.hero-roster-stat dd{background:#00000047;border:1px solid #aa898447;align-items:center;gap:.35rem;min-width:0;min-height:1.75rem;margin:0;padding:.25rem .4rem;display:flex}.hero-roster-stat-value{color:var(--on-surface);font-size:.78rem;line-height:1.25}.hero-roster-stat-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hero-roster-pin-icon{border-radius:2px;flex-shrink:0}.hero-roster-wallet{flex-wrap:wrap;gap:.25rem;font-size:.76rem}.hero-roster-card-footer{align-items:center;gap:var(--unit-2);padding-top:var(--unit-2);border-top:1px solid #aa898447;margin-top:auto;display:flex}.hero-roster-btn{min-height:32px;color:var(--secondary);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(160deg,#60440347,#0000 55%),#0000007a;border:1px solid #e9c17673;flex:1;justify-content:center;gap:.35rem;padding:.45rem .65rem;font-size:.64rem;font-weight:700;box-shadow:inset 0 0 12px #0000008c}.hero-roster-btn:hover:not(:disabled){border-color:var(--secondary);color:#f5ddb0;background:linear-gradient(160deg,#60440366,#0000 55%),#0000008c;box-shadow:inset 0 0 14px #00000080,0 0 10px #e9c1761f}.hero-roster-btn:disabled{opacity:.55;cursor:wait}.hero-roster-link{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface-variant);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;justify-content:center;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.64rem;font-weight:700;text-decoration:none;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.hero-roster-link:hover{color:var(--on-surface);border-color:var(--secondary);background:color-mix(in srgb, var(--secondary) 8%, var(--surface-container-low))}.hero-roster-link--primary{color:var(--secondary);background:linear-gradient(160deg,#60440338,#0000 55%),#0000006b;border-color:#e9c17673;flex:1;padding:.45rem .65rem}.hero-roster-link--primary:hover{border-color:var(--secondary);color:#f5ddb0;background:linear-gradient(160deg,#60440352,#0000 55%),#0000007a}.hero-roster-abandon{border:1px solid var(--outline-variant);background:var(--surface-container-lowest);width:32px;height:32px;color:var(--error);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s;display:inline-flex}.hero-roster-abandon:hover:not(:disabled){border-color:color-mix(in srgb, var(--error) 40%, var(--outline-variant));background:color-mix(in srgb, var(--error) 10%, var(--surface-container-low))}.hero-roster-abandon:disabled{opacity:.5;cursor:wait}.hero-roster-empty-slot{height:100%;min-height:var(--roster-portrait-min-h);color:var(--on-surface-variant);background:radial-gradient(circle at 50% 0,#ffb4a80f,#0000 52%),#00000047;border:1px dashed #aa898473;flex-direction:column;align-items:stretch;padding:0;text-decoration:none;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.hero-roster-empty-slot:hover{color:var(--on-surface);background:radial-gradient(circle at 50% 0,#ffb4a81a,#0000 52%),#8b000014;border-style:solid;border-color:#ffb4a88c;transform:translateY(-2px);box-shadow:0 10px 24px #00000038}.hero-roster-empty-slot-icon{background:linear-gradient(165deg,#ffdad40a,#0000 50%),#00000059;border-bottom:1px dashed #aa898452;flex:1;place-items:center;min-height:96px;display:grid}.hero-roster-empty-slot-copy{padding:var(--unit-3);text-align:center;flex-direction:column;gap:.25rem;display:flex}.hero-roster-empty-slot-copy strong{color:var(--on-surface);font-family:var(--font-display);font-size:.95rem}.hero-roster-empty-slot-copy span{font-size:.78rem}.hero-roster-first-cta{align-items:center;gap:var(--unit-3);padding:var(--unit-5) var(--unit-4);background:radial-gradient(circle at 50% 0%, #ffb4a81a, transparent 52%), var(--surface-container-lowest);text-align:center;border:1px solid #aa89846b;flex-direction:column;display:flex;box-shadow:inset 0 0 24px #000000b8}.hero-roster-first-cta-icon{border:2px solid var(--outline-variant);background:var(--surface-container-high);border-radius:50%;place-items:center;width:88px;height:88px;display:grid}.hero-roster-first-cta h2{font-family:var(--font-display);margin:0;font-size:1.15rem}.hero-roster-first-cta .muted{max-width:44ch;margin:0;font-size:.88rem;line-height:1.45}.hero-roster-first-rules{gap:var(--unit-2);text-align:left;width:min(100%,380px);margin:0;padding:0;list-style:none;display:grid}.hero-roster-first-rules li{align-items:center;gap:var(--unit-2);padding:var(--unit-2);border:1px solid var(--outline-variant);background:var(--surface-container-lowest);color:var(--on-surface-variant);font-size:.8rem;display:flex}.hero-roster-banner{align-items:flex-start;gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);margin:0;font-size:.84rem;line-height:1.4;display:flex}.hero-roster-banner--success{border-color:color-mix(in srgb, var(--primary) 42%, var(--outline-variant));background:color-mix(in srgb, var(--primary) 10%, var(--surface-container-low))}.hero-roster-banner--error{border-color:color-mix(in srgb, var(--error) 35%, var(--outline-variant));background:color-mix(in srgb, var(--error) 8%, var(--surface-container-low))}.hero-roster-delete-overlay{z-index:120;padding:var(--unit-4);place-items:center;display:grid;position:fixed;inset:0}.hero-roster-delete-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer;background:#000000b8;border:none;position:absolute;inset:0}.hero-roster-delete-scrim:disabled{cursor:wait}.hero-roster-delete-panel{z-index:1;gap:var(--unit-3);width:min(480px,100%);padding:var(--unit-4);background:linear-gradient(160deg, #ffdad40d, transparent 42%), var(--surface-container-low);border:2px solid #bf616a8c;flex-direction:column;display:flex;position:relative;box-shadow:0 20px 48px #000000b8,inset 0 0 28px #8b000024}.hero-roster-delete-header{align-items:flex-start;gap:var(--unit-3);display:flex}.hero-roster-delete-icon-wrap{background:color-mix(in srgb, var(--error) 10%, var(--surface-container-high));border:2px solid #bf616a73;flex-shrink:0;place-items:center;width:52px;height:52px;display:grid}.hero-roster-delete-header-copy{min-width:0}.hero-roster-delete-title{font-family:var(--font-display);color:#ebcb8b;margin:0 0 .35rem;font-size:1.15rem;font-weight:700;line-height:1.2}.hero-roster-delete-desc{color:var(--on-surface-variant);margin:0;font-size:.9rem;line-height:1.45}.hero-roster-delete-losses{gap:var(--unit-2);margin:0;padding:0;list-style:none;display:grid}.hero-roster-delete-losses li{align-items:flex-start;gap:var(--unit-2);padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);border-left:3px solid var(--error);background:var(--surface-container-lowest);color:var(--on-surface-variant);font-size:.84rem;line-height:1.35;display:flex}.hero-roster-delete-loss-icon{flex-shrink:0;margin-top:1px}.hero-roster-delete-field{gap:var(--unit-1);flex-direction:column;margin:0;display:flex}.hero-roster-delete-field span{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:.72rem;font-weight:700}.hero-roster-delete-field input{box-sizing:border-box;width:100%}.hero-roster-delete-error{padding:var(--unit-2);border:1px solid color-mix(in srgb, var(--error) 40%, var(--outline-variant));background:color-mix(in srgb, var(--error) 10%, var(--surface-container-low));color:var(--error);margin:0;font-size:.86rem}.hero-roster-delete-actions{justify-content:flex-end;gap:var(--unit-2);padding-top:var(--unit-1);border-top:1px solid var(--outline-variant);flex-wrap:wrap;display:flex}.hero-roster-delete-actions .btn{min-width:7rem}@media (min-width:640px){.hero-roster-page{--roster-portrait-w:108px;--roster-portrait-min-h:128px}}@media (min-width:1200px){.hero-roster-page{--roster-portrait-w:120px;--roster-portrait-min-h:140px}}@media (max-width:420px){.hero-roster-hero-rules{display:none}.hero-roster-forge-link{justify-content:center;width:100%;margin-left:0}.hero-roster-overview{flex-direction:column;align-items:stretch}.hero-roster-cap-note{text-align:center;margin-left:0}}
.craft-shell{gap:var(--unit-3);flex-direction:column;flex:1;min-height:0;display:flex}.craft-toolbar{justify-content:space-between;align-items:center;gap:var(--unit-3);padding:var(--unit-2) var(--unit-4);border:2px solid var(--outline-variant);background:linear-gradient(180deg, #e9c1760d, transparent 55%), var(--surface-container-low);flex-wrap:wrap;display:flex;box-shadow:inset 0 0 18px #0000008c}.craft-toolbar-wallet{align-items:center;gap:var(--unit-2);font-family:var(--font-mono);color:var(--on-surface-variant);font-size:12px;display:inline-flex}.craft-toolbar-wallet strong{color:var(--secondary);font-weight:600}.craft-status{min-width:min(100%,280px);max-width:640px;padding:var(--unit-1) var(--unit-3);border:1px solid var(--outline-variant);font-family:var(--font-mono);background:#00000059;flex:1;margin:0;font-size:11px;line-height:1.45}.craft-status-ok{color:var(--on-surface-variant);border-color:color-mix(in srgb, var(--secondary) 35%, var(--outline-variant))}.craft-status-error{color:var(--error);border-color:color-mix(in srgb, var(--error) 40%, var(--outline-variant))}.craft-page .town-quest-npcs{padding:var(--unit-3) var(--unit-4);margin-bottom:0}.workshop-grid{gap:var(--unit-3);grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;min-height:0;display:grid}@media (max-width:1180px){.workshop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workshop-grid>.workshop-section-entretien{grid-column:1/-1}}@media (max-width:720px){.workshop-grid{grid-template-columns:1fr}.workshop-grid>.workshop-section-entretien{grid-column:auto}}.workshop-section{gap:var(--unit-3);min-width:0;min-height:0;padding:var(--unit-4);border:2px solid var(--outline-variant);background:linear-gradient(165deg, #ffdad408, transparent 42%), var(--surface-container-high);flex-direction:column;display:flex;box-shadow:inset 0 0 28px #000000b8;container:workshop/inline-size}.workshop-section-forge{border-color:color-mix(in srgb, var(--secondary) 22%, var(--outline-variant))}.workshop-section-alch{border-color:color-mix(in srgb, var(--tertiary) 22%, var(--outline-variant))}.workshop-section-entretien{border-color:color-mix(in srgb, var(--outline) 70%, var(--outline-variant))}.workshop-header{align-items:stretch;gap:var(--unit-2);padding-bottom:var(--unit-2);border-bottom:1px solid color-mix(in srgb, var(--outline-variant) 85%, transparent);flex-direction:column;display:flex}.workshop-header-row{justify-content:space-between;align-items:flex-start;gap:var(--unit-3);min-width:0;display:flex}.workshop-header-copy{flex:1;min-width:0}.workshop-title{font-family:var(--font-display);letter-spacing:.04em;overflow-wrap:break-word;margin:0;font-size:clamp(1.2rem,2.4cqi,1.75rem);font-weight:700;line-height:1.1}.workshop-title-forge{color:var(--secondary)}.workshop-title-alch{color:var(--tertiary)}.workshop-title-entretien{color:var(--on-surface)}.workshop-heat{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--outline-variant) 80%, transparent);border-left:2px solid color-mix(in srgb, var(--secondary) 55%, var(--outline-variant));background:linear-gradient(90deg, color-mix(in srgb, var(--secondary) 8%, transparent), transparent 55%), #0000006b;width:100%;min-width:0;font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);overflow-wrap:break-word;flex-wrap:wrap;align-items:baseline;gap:.2rem .55rem;padding:.3rem .55rem;font-size:10px;line-height:1.35;display:flex}.workshop-heat-tier{color:color-mix(in srgb, var(--secondary) 78%, var(--text-heading));font-weight:700}.workshop-heat-progress{color:var(--text-secondary)}.workshop-header-row>.workshop-heat{text-align:right;flex:0 auto;justify-content:flex-end;width:auto;max-width:100%}@container workshop (max-width:420px){.workshop-header-row{align-items:stretch;gap:var(--unit-2);flex-direction:column}.workshop-header-row>.workshop-heat{text-align:left;justify-content:flex-start}}.workshop-body{gap:var(--unit-3);flex-direction:column;flex:1;min-height:0;display:flex}.workshop-recipes{gap:var(--unit-1);scrollbar-width:thin;scrollbar-color:var(--outline-variant) transparent;flex-direction:column;max-height:min(168px,22vh);padding-right:2px;display:flex;overflow-y:auto}.workshop-recipe{justify-content:space-between;align-items:center;gap:var(--unit-2);text-align:left;width:100%;padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant);background:linear-gradient(90deg, #ffdad408, transparent 55%), var(--surface-container);cursor:pointer;font-family:var(--font-mono);color:var(--on-surface);font-size:12px;transition:border-color .12s,background .12s;display:flex}.workshop-recipe>.recipe-icon{flex-shrink:0}.workshop-recipe>.workshop-recipe-label{flex:1;min-width:0}.workshop-recipe:hover{border-color:color-mix(in srgb, var(--secondary) 45%, var(--outline-variant))}.workshop-recipe-active{border-color:var(--secondary);background:linear-gradient(90deg, #e9c1761a, transparent 60%), var(--surface-container-high);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--secondary) 25%, transparent)}.workshop-recipe-alch.workshop-recipe-active{border-color:var(--tertiary);background:linear-gradient(90deg, #9eb8ff1a, transparent 60%), var(--surface-container-high);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--tertiary) 25%, transparent)}.workshop-recipe-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.workshop-recipe-price{color:var(--secondary);flex-shrink:0;font-size:11px}.workshop-recipe-meta{color:var(--on-surface-variant);flex-shrink:0;font-size:10px}.workshop-plaque{align-items:stretch;gap:var(--unit-2);padding:var(--unit-3);text-align:left;border:1px solid color-mix(in srgb, var(--secondary) 35%, var(--outline-variant));background:linear-gradient(180deg, #e9c1760d, transparent 45%), var(--surface);flex-direction:column;display:flex;box-shadow:inset 0 0 20px #0000008c}.workshop-plaque-head{align-items:flex-start;gap:var(--unit-3);display:flex}.workshop-plaque-head-copy{flex:1;min-width:0}.workshop-plaque-head-copy h3{margin:0 0 var(--unit-1)}.workshop-locked-item{align-items:center;gap:var(--unit-2);display:flex}.workshop-locked-item>.recipe-icon{flex-shrink:0}.workshop-plaque-alch{border-color:color-mix(in srgb, var(--tertiary) 35%, var(--outline-variant));background:linear-gradient(180deg, #9eb8ff0d, transparent 45%), var(--surface)}.workshop-plaque h3{font-family:var(--font-display);color:var(--primary);margin:0;font-size:1.05rem;line-height:1.2}.workshop-plaque-kicker{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);margin:0;font-size:10px}.workshop-output-stats{gap:4px;margin:0;padding:0;list-style:none;display:grid}.workshop-output-stats li{justify-content:space-between;gap:var(--unit-2);font-family:var(--font-mono);color:var(--on-surface-variant);border-bottom:1px solid color-mix(in srgb, var(--outline-variant) 45%, transparent);padding:2px 0;font-size:11px;display:flex}.workshop-output-stats li:last-child{border-bottom:0}.workshop-output-stats strong{color:var(--secondary);font-weight:600}.workshop-output-hint{margin:0;font-size:10px}.workshop-mats{gap:var(--unit-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.workshop-mat{align-items:center;gap:var(--unit-2);min-width:0;padding:var(--unit-2);border:1px solid var(--outline-variant);background:var(--surface-container);font-family:var(--font-mono);font-size:11px;display:flex}.workshop-mat-ok{border-color:color-mix(in srgb, var(--secondary) 30%, var(--outline-variant))}.workshop-mat-missing-row{border-color:color-mix(in srgb, var(--error) 35%, var(--outline-variant));background:color-mix(in srgb, var(--error) 6%, var(--surface-container))}.workshop-mat-empty{opacity:.5}.workshop-mat-icon{border:1px solid var(--outline-variant);background:var(--surface);width:36px;height:36px;color:var(--secondary);flex-shrink:0;place-items:center;font-size:16px;display:grid}.workshop-mat-copy{min-width:0}.workshop-mat-copy>div:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workshop-mat-qty{color:var(--secondary);margin-top:2px;font-size:10px}.workshop-mat-missing{color:var(--error)}.workshop-action{gap:var(--unit-2);padding-top:var(--unit-2);border-top:1px solid color-mix(in srgb, var(--outline-variant) 70%, transparent);flex-direction:column;margin-top:auto;display:flex}.workshop-gauge-row{justify-content:space-between;align-items:baseline;gap:var(--unit-2);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-surface-variant);font-size:10px;display:flex}.workshop-gauge-value{letter-spacing:0;text-transform:none;font-size:12px}.workshop-gauge-value-forge{color:var(--secondary)}.workshop-gauge-value-alch{color:var(--tertiary)}.workshop-gauge{border:1px solid color-mix(in srgb, var(--outline-variant) 85%, var(--on-surface-variant));background:linear-gradient(180deg, #ffdad40f, transparent 55%), color-mix(in srgb, var(--surface-container-high) 70%, var(--surface-bright));border-radius:2px;height:10px;overflow:hidden;box-shadow:inset 0 1px 3px #0000008c}.workshop-gauge-fill{background:linear-gradient(180deg, #ffffff47, transparent 48%), linear-gradient(90deg, color-mix(in srgb, var(--secondary) 55%, var(--secondary-container)), var(--secondary));height:100%;box-shadow:0 0 8px color-mix(in srgb, var(--secondary) 40%, transparent);transition:width .2s}.workshop-gauge-fill-alch{background:linear-gradient(180deg, #ffffff47, transparent 48%), linear-gradient(90deg, color-mix(in srgb, var(--tertiary) 55%, var(--tertiary-container)), var(--tertiary));box-shadow:0 0 8px color-mix(in srgb, var(--tertiary) 40%, transparent)}.workshop-volatility{text-align:right;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--error);font-size:9px}.workshop-cost{justify-content:space-between;align-items:center;gap:var(--unit-2);padding:0 var(--unit-1);font-family:var(--font-mono);color:var(--on-surface-variant);font-size:11px;display:flex}.workshop-cost-ok{color:var(--secondary)}.workshop-cost-over{color:var(--error)}.workshop-craft-cta{font-family:var(--font-display);letter-spacing:.04em;padding:var(--unit-3);font-size:1.05rem}.workshop-empty{padding:var(--unit-5) var(--unit-3);text-align:center;font-family:var(--font-mono);color:var(--on-surface-variant);border:1px dashed color-mix(in srgb, var(--outline-variant) 75%, transparent);background:#0003;margin:0;font-size:11px;line-height:1.5}.workshop-locked-list{padding-top:var(--unit-3);border-top:1px solid color-mix(in srgb, var(--outline-variant) 65%, transparent);margin-top:auto}.workshop-locked-list h3{margin:0 0 var(--unit-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);font-size:10px}.workshop-locked-list ul{flex-direction:column;gap:6px;max-height:120px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.workshop-locked-list li{padding:var(--unit-1) var(--unit-2);border:1px solid color-mix(in srgb, var(--outline-variant) 55%, transparent);font-family:var(--font-mono);color:var(--on-surface-variant);background:#00000047;font-size:10px;line-height:1.4}.workshop-locked-list strong{color:var(--on-surface);font-weight:600}.workshop-divider{margin:var(--unit-2) 0;border:0;border-top:1px solid color-mix(in srgb, var(--outline-variant) 70%, transparent)}.workshop-subsection-title{margin:0 0 var(--unit-2);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-surface-variant);font-size:10px}.workshop-repair-durability{border:1px solid var(--outline-variant);background:var(--surface);flex-shrink:0;width:72px;height:6px;overflow:hidden}.workshop-repair-durability-fill{background:linear-gradient(90deg, var(--error), var(--secondary));height:100%;transition:width .2s}.workshop-entretien-hint{margin:0;font-size:11px;line-height:1.45}.workshop-recipe-recycle{opacity:.92}.workshop-recipe-recycle .workshop-recipe-meta{color:var(--tertiary);letter-spacing:.06em;text-transform:uppercase;font-size:9px}.craft-tier-progress{font-size:12px}.craft-history{padding:var(--unit-2) var(--unit-3);border:1px solid var(--outline-variant)}.craft-history-title{text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--unit-2);font-size:11px}.craft-history ul{margin:0;padding:0;font-size:13px;list-style:none}.craft-history-ok{color:var(--primary)}.craft-history-fail{color:var(--error)}.workshop-artisan-kicker{overflow-wrap:break-word;margin:.25rem 0 0;font-size:12px;line-height:1.4}.workshop-npc-strip{gap:var(--unit-2);margin:0 0 var(--unit-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.workshop-npc-chip{align-items:center;gap:var(--unit-2);padding:var(--unit-1) var(--unit-2);border:1px solid var(--outline-variant);border-radius:4px;font-size:12px;display:inline-flex}.workshop-bulk-row{margin-bottom:var(--unit-2);justify-content:space-between;align-items:center;font-size:13px;display:flex}.workshop-bulk-controls{align-items:center;gap:var(--unit-2);display:inline-flex}.workshop-guaranteed-row{align-items:center;gap:var(--unit-2);margin-bottom:var(--unit-2);font-size:12px;display:flex}.workshop-recycle-pagination{justify-content:center;align-items:center;gap:var(--unit-3);margin-top:var(--unit-2);display:flex}.craft-result-dialog{max-width:22rem;padding:var(--unit-4)}.craft-result-head h2{margin:0 0 var(--unit-3);font-size:1.1rem}.craft-result-body{align-items:center;gap:var(--unit-2);margin-bottom:var(--unit-3);text-align:center;flex-direction:column;display:flex}.craft-result-item-name{font-weight:600}.craft-result-refunds{margin:var(--unit-2) 0 0;padding:0;font-size:13px;list-style:none}
