.loadout-shell,.loadout{--slab: #1c2134;--slab-lit: #262c42;--slab-deep: #141828;--rail: #8a6a3c;--rail-lit: #ebb36b;--rail-line: rgba(226, 181, 112, .22);--ground: #0e0b16;--font-data: "IBM Plex Mono", ui-monospace, "Cascadia Mono", monospace;--font-text: "Barlow", "Segoe UI", system-ui, sans-serif;--ink-bright: #f5eddf;--ink-body: #c6bcac;--ink-dim: #9a8f7e;--edge: 0 1px 0 rgba(0, 0, 0, .85), 0 0 4px rgba(0, 0, 0, .55);--edge-hard: 1px 1px 0 #0a0710, -1px 1px 0 #0a0710, 1px -1px 0 #0a0710, -1px -1px 0 #0a0710, 0 2px 3px rgba(0, 0, 0, .9);--tank-fill: #142a41;--tank-edge: #227d86;--dps-fill: #411b4c;--dps-edge: #8a479f;--healer-fill: #183432;--healer-edge: #415937}body{min-height:100vh;background:radial-gradient(120% 90% at 50% 0%,rgba(66,40,84,.35),transparent 70%),linear-gradient(#0e0b16ed,#09070ff7),url(/art/ui/backdrop.png) repeat;background-size:auto,auto,228px 306px;color:var(--ink-body)}.loadout{max-width:1720px;margin:0 auto;padding:18px 20px 40px;color:var(--ink-body)}.loadout.is-centered{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:70vh;color:var(--ink-dim)}.loadout.is-centered.error{color:var(--danger);font-family:var(--font-data);font-size:13px}.loadout,.loadout button,.loadout input,.loadout select,.loadout p,.loadout span,.loadout li{font-family:Barlow,Segoe UI,system-ui,sans-serif;text-shadow:var(--edge)}.loadout h2,.doll-name,.brand-logo{font-family:var(--font-display)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.topbar{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px 22px;padding:6px 0 14px;margin-bottom:14px;border-bottom:1px solid var(--rail-line)}.brand-logo{display:block;width:196px;max-width:100%;height:auto;image-rendering:pixelated}.site-nav{display:flex;align-items:center;gap:4px}.loadout button.nav-item{background:none;border:1px solid transparent;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer}.loadout button.nav-item.is-current{background:linear-gradient(180deg,#8a479f52,#411b4c80);border-color:#c35ed473;color:var(--ink-bright);cursor:default}.loadout button.nav-item.is-locked{opacity:.4;cursor:not-allowed}.head-status{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0}.head-level{font-family:var(--font-data);font-size:13px;color:var(--ink-bright);white-space:nowrap;text-shadow:var(--edge-hard)}.head-status .xp-bar{width:min(240px,100%);height:18px;border-width:6px}.head-xp{font-family:var(--font-data);font-size:11px;color:var(--ink-dim)}.head-purse{display:flex;align-items:center;gap:8px}.purse-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;background:linear-gradient(180deg,var(--slab-lit),var(--slab-deep));border:1px solid var(--rail-line);border-radius:999px;font-family:var(--font-data);font-size:13px;color:var(--ink-bright);white-space:nowrap;box-shadow:inset 0 1px #ffffff0f,0 1px #00000073}.chip-mark{width:17px;height:17px;object-fit:contain;image-rendering:pixelated;flex:none}.purse-chip.is-corruption{border-color:#c35ed473;color:#efd9a0}.purse-chip.is-gold{color:var(--rail-lit)}.menu-toggle,.nav-drawer,.nav-scrim{display:none}.loadout button.menu-toggle{width:40px;height:40px;padding:0;background:linear-gradient(180deg,var(--slab-lit),var(--slab-deep));border:1px solid var(--rail-line);border-radius:8px;cursor:pointer}.menu-toggle>span{display:block;width:18px;height:2px;margin:0 auto;background:var(--rail-lit);box-shadow:0 -6px 0 var(--rail-lit),0 6px 0 var(--rail-lit)}.nav-drawer{position:fixed;z-index:30;inset:0 auto 0 0;width:min(272px,82vw);padding:74px 12px 20px;background:linear-gradient(180deg,#171326,#0d0a14);border-right:1px solid var(--rail-line);box-shadow:6px 0 26px #0009;transform:translate(-102%);transition:transform .22s ease}.nav-drawer .site-nav{flex-direction:column;align-items:stretch;gap:4px}.nav-drawer .nav-item{text-align:left}.menu-open .nav-drawer{transform:none}.loadout button.nav-scrim{position:fixed;z-index:29;top:0;right:0;bottom:0;left:0;padding:0;background:#06040a99;border:0;cursor:default}.menu-open .nav-scrim{display:block}.identity{margin:0 0 14px;font-family:var(--font-data);font-size:11px;color:var(--rail-lit);border:1px dashed rgba(195,94,212,.4);border-radius:6px;padding:5px 9px}.panel{position:relative;min-width:0;background:none;border:17px solid transparent;border-image:url(/art/ui/panel-frame.png) 34 fill stretch;padding:2px 6px 8px;container-type:inline-size;container-name:panel}.panel-head{display:flex;align-items:baseline;justify-content:space-between;gap:4px 10px;flex-wrap:wrap;margin-bottom:11px;padding-bottom:7px;border-bottom:1px solid transparent;border-image:linear-gradient(90deg,var(--rail-line),transparent) 1}.panel-head h2{margin:0;font-size:16px;letter-spacing:.09em;text-transform:uppercase;color:var(--rail-lit);text-shadow:var(--edge-hard)}.panel-head-tools{display:inline-flex;align-items:center;gap:10px}.loadout button.icon-button{display:grid;place-items:center;width:30px;height:30px;padding:0;background:#171220;border:2px solid #4d4a4f;border-radius:3px;color:var(--rail);box-shadow:none}.loadout button.icon-button:hover:not(:disabled){color:var(--rail-lit);border-color:var(--rail);filter:none}.loadout button.scrap-button{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 7px;background:#171220;border:2px solid #4d4a4f;border-radius:3px;color:var(--ink-body);font-size:12px;font-weight:600;box-shadow:none}.scrap-mark{width:22px;height:16px;object-fit:contain;image-rendering:pixelated;flex:none}.loadout button.scrap-button:hover:not(:disabled){border-color:var(--rail);color:var(--ink-bright);filter:none}.loadout button.scrap-button.is-on,.loadout button.icon-button.is-on{background:#3a1620;border-color:#b4515f;color:#ffc9a0}.panel-head>:last-child{min-width:0}.panel-foot{margin-top:12px;padding-top:10px;border-top:1px solid var(--rail-line)}.hint{margin:11px 0 0;font-size:12.5px;color:var(--ink-dim);line-height:1.5}.hint strong{color:var(--ink-body);font-weight:600}.xp-bar{position:relative;height:24px;padding:0;border:8px solid transparent;border-image:url(/art/ui/bar-frame.png) 14 fill stretch}.xp-bar-fill{height:100%;border-radius:2px;background:linear-gradient(180deg,#7fd6d0,#2b8f97);transition:width .35s ease}.loadout .stat-card,.loadout button.role-choice,.loadout .bag li,.loadout .slot-row,.loadout .inv-detail{background:var(--slab);border:2px solid #3b3a44;border-radius:3px;box-shadow:inset 0 0 0 1px #0000008c}.loadout button{font-size:13px;font-weight:600;color:var(--outline);background:var(--rail-lit);border:1px solid var(--rail-lit);border-radius:6px;padding:7px 13px;cursor:pointer;transition:filter .15s ease,opacity .15s ease}.loadout button:hover:not(:disabled){filter:brightness(1.12)}.loadout button:disabled{opacity:.35;cursor:default}.loadout button.small{font-size:11px;padding:4px 9px}.loadout button.ghost{background:transparent;color:var(--ink-body);border-color:var(--rail-line)}.loadout button.ghost:hover:not(:disabled){color:var(--ink-bright);border-color:var(--rail)}.loadout button.stat-add,.loadout .bag button:not(.ghost),.loadout button.appearance-toggle{background:linear-gradient(180deg,#ebb36b57,#7a3c1e6b);border:1px solid rgba(235,179,107,.7);border-radius:6px;color:#f2dcb0;font-family:var(--font-data);text-shadow:0 1px 0 rgba(0,0,0,.6);box-shadow:inset 0 1px #ffffff24,0 1px #00000073}.loadout button.stat-add:hover:not(:disabled),.loadout .bag button:not(.ghost):hover:not(:disabled),.loadout button.appearance-toggle:hover:not(:disabled){background:linear-gradient(180deg,#ebb36b7a,#7a3c1e80);border-color:var(--rail-lit)}.loadout button.stat-add:disabled,.loadout .bag button:disabled{opacity:.4;box-shadow:none}.section-tabs{display:none}.toast{position:fixed;left:50%;bottom:20px;z-index:40;transform:translate(-50%);margin:0;padding:8px 16px;background:#171326;border:1px solid var(--rail-line);border-radius:20px;font-family:var(--font-data);font-size:12px;color:var(--ink-body);box-shadow:0 4px 14px #000000b3}.loadout .shop-stock,.loadout .slot-list{scrollbar-width:thin;scrollbar-color:var(--rail) rgba(0,0,0,.5)}.loadout .shop-stock::-webkit-scrollbar,.loadout .slot-list::-webkit-scrollbar{width:12px}.loadout .shop-stock::-webkit-scrollbar-track,.loadout .slot-list::-webkit-scrollbar-track{background:#0b0812;border:2px solid #2a2333;border-radius:2px}.loadout .shop-stock::-webkit-scrollbar-thumb,.loadout .slot-list::-webkit-scrollbar-thumb{background:linear-gradient(90deg,#b98a49,#7a4c22);border:2px solid #221a12;border-radius:2px}.loadout .shop-stock::-webkit-scrollbar-thumb:hover,.loadout .slot-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(90deg,var(--rail-lit),#9c5f2a)}.signin{max-width:420px;margin:0 auto;padding:26px 24px 28px;text-align:center;background:#131020;border:2px solid #3b3a44;border-radius:4px;box-shadow:inset 0 0 0 1px #0000008c}.signin-logo{width:190px;max-width:70%;image-rendering:pixelated}.signin h1{margin:10px 0 6px;font-family:var(--font-display);font-size:20px;color:var(--ink-bright);text-shadow:var(--edge-hard)}.signin-lead{margin:0 0 18px;font-size:12.5px;line-height:1.5;color:var(--ink-dim)}.loadout button.signin-twitch{display:block;padding:11px 16px;background:#9146ff;border:1px solid #a970ff;border-radius:3px;color:#fff;font-size:14px;font-weight:600;letter-spacing:.02em;text-decoration:none;width:100%;cursor:pointer}.loadout button.signin-twitch:hover{background:#a970ff}.signin-note{margin:12px 0 0;font-size:11.5px;line-height:1.45;color:var(--ink-dim)}.signin-error{margin:12px 0 0;font-size:12px;color:#d99}.signin-dev{margin-top:22px;padding-top:16px;border-top:1px dashed #3b3a44}.signin-dev h2{margin:0;font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--rail)}.signin-dev input{width:100%;margin:10px 0 8px;padding:8px 10px;background:#0e0c17;border:1px solid #3b3a44;border-radius:3px;color:var(--ink-body);font-family:var(--font-data);font-size:12px}.identity-out{margin-left:8px;font-size:11px;text-decoration:underline}.in-run-notice{margin:0 0 10px;padding:7px 12px;background:#e2b5701f;border:1px solid var(--rail);border-radius:3px;font-size:12.5px;color:var(--ink-bright)}.doll-wrap{display:flex;flex-direction:column;gap:10px}.doll-panel{display:flex;flex-direction:column;gap:10px;container-type:inline-size;container-name:doll}.doll-head{text-align:center;padding-bottom:9px;border-bottom:1px solid var(--rail-line)}.doll-name{margin:0;font-size:32px;letter-spacing:.04em;color:#f2e3ae;text-shadow:var(--edge-hard)}.doll-meta{margin:3px 0 0;font-family:var(--font-data);font-size:13px;color:var(--ink-body)}.doll-meta strong{color:var(--rail-lit);font-weight:500}.doll-stage{display:grid;grid-template-columns:minmax(0,112px) minmax(0,300px) minmax(0,112px);align-items:center;justify-content:center;gap:14px;padding:4px 0 0}.doll-col{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:0}.doll-center{width:100%;min-width:0;aspect-ratio:390 / 434;display:flex;align-items:flex-end;justify-content:center;background:url(/art/ui/alcove.png) center bottom / cover no-repeat;border:2px solid #2a2333;border-radius:3px;box-shadow:inset 0 0 34px #000000b3;overflow:hidden}.doll-rig{width:100%;filter:drop-shadow(0 6px 10px rgba(7,6,12,.8))}.socket{display:flex;flex-direction:column;align-items:center;gap:3px;width:100%;min-width:0}.socket-label{font-family:var(--font-data);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#d8c9a8;white-space:nowrap;text-shadow:var(--edge-hard)}.socket-frame{position:relative;display:block;width:100%;max-width:104px}.socket-box,.loadout button.socket-box{display:flex;align-items:center;justify-content:center;position:relative;width:100%;aspect-ratio:1;padding:0;background:url(/art/ui/cell.png) center / 100% 100% no-repeat;image-rendering:pixelated;border:0;border-radius:0;box-shadow:none;color:var(--ink-dim)}.socket-tile{width:100%;height:100%;object-fit:fill;image-rendering:pixelated}.socket-box .item-icon,.socket-box .slot-icon{width:62%;height:62%;object-fit:contain}.loadout button.socket-box{cursor:pointer;transition:filter .12s ease,transform .12s ease}.loadout button.socket-box:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.25)}.loadout button.socket-box.is-picking{filter:brightness(1.35) drop-shadow(0 0 6px rgba(235,179,107,.7))}.socket-box.is-filled:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:2px solid transparent;border-radius:3px;pointer-events:none}.loadout .socket-box.rarity-common:after{border-color:#7a859480}.loadout .socket-box.rarity-uncommon:after{border-color:var(--rarity-uncommon)}.loadout .socket-box.rarity-rare:after{border-color:#4f7fd0}.loadout .socket-box.rarity-epic:after{border-color:var(--rarity-epic)}.loadout .socket-box.rarity-legendary:after{border-color:var(--rarity-legendary)}.loadout .socket-eye{position:absolute;right:2px;top:2px;z-index:2;display:grid;place-items:center;width:15px;height:15px;padding:0;background:#07060ceb;border:1px solid var(--rail-lit);border-radius:50%;font-size:8px;line-height:1;color:var(--rail-lit);cursor:pointer;opacity:.4;transition:opacity .15s ease}.socket:hover .socket-eye,.loadout .socket-eye:focus-visible,.loadout .socket-eye.is-hidden{opacity:1}.loadout .socket-eye.is-hidden{border-color:#4d4a4f;color:#7d7365}.loadout .socket-eye:hover{background:var(--rail-lit);color:#23180c}.doll-xp{display:grid;gap:4px;justify-items:center}.doll-xp .xp-bar{width:100%}.doll-xp span{font-family:var(--font-data);font-size:11px;color:var(--ink-dim)}.appearance-toggle{width:100%}.slot-picker{display:grid;gap:8px;padding:10px;background:#131020;border:2px solid #3b3a44;border-radius:3px;box-shadow:inset 0 0 0 1px #0000008c}.slot-picker-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.slot-picker-head h3{margin:0;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--rail-lit);text-shadow:var(--edge-hard)}.slot-list{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:300px;overflow-y:auto}.slot-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-left:3px solid #4d4a4f}.slot-row.is-worn{background:#201a2c}.loadout .slot-row.rarity-common{border-left-color:#7a859499}.loadout .slot-row.rarity-uncommon{border-left-color:var(--rarity-uncommon)}.loadout .slot-row.rarity-rare{border-left-color:#4f7fd0}.loadout .slot-row.rarity-epic{border-left-color:var(--rarity-epic)}.loadout .slot-row.rarity-legendary{border-left-color:var(--rarity-legendary)}.body-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.loadout button.body-choice{padding:8px 6px;background:linear-gradient(180deg,var(--slab-lit),var(--slab-deep));border:1px solid rgba(0,0,0,.55);border-radius:8px;color:var(--ink-body);font-size:12px;font-weight:600}.loadout button.body-choice.is-current{border-color:var(--rail-lit);color:var(--ink-bright);opacity:1}.tone-swatches{display:flex;flex-wrap:wrap;gap:8px}.loadout button.tone{width:34px;height:34px;border-radius:50%;border:2px solid #4d4a4f;cursor:pointer;padding:0;transition:transform .12s ease,border-color .12s ease}.loadout button.tone:hover:not(:disabled){transform:scale(1.08)}.loadout button.tone.is-current{border-color:var(--rail-lit)}.points{font-family:var(--font-data);font-size:11px;color:var(--ink-dim)}.points.has-points{color:var(--points-gold, #f4c95d);font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid rgba(244,201,93,.45);background:#f4c95d14}.stat-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{display:flex;align-items:center;gap:11px;padding:12px;min-width:0}@container panel (max-width: 340px){.stat-grid{grid-template-columns:minmax(0,1fr)}.role-choices{gap:6px}.loadout button.role-choice{padding:12px 4px;font-size:13px}}@container panel (max-width: 420px){.inv-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-card-icon{display:flex;flex:none}.stat-card-body{display:flex;flex-direction:column;min-width:0;flex:1}.stat-card-name{font-size:13px;color:var(--ink-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-card-value{font-family:var(--font-text);font-weight:600;font-size:26px;line-height:1.15;color:var(--ink-bright);text-shadow:var(--edge-hard)}.stat-gear{font-size:11px;margin-left:4px}.stat-gear.up{color:var(--green)}.stat-gear.down{color:var(--danger)}.stat-card-spent{font-family:var(--font-data);font-size:9px;color:var(--ink-dim)}.stat-add{flex:none;min-width:46px}.role-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.loadout button.role-choice{display:grid;justify-items:center;gap:8px;padding:16px 8px;color:var(--ink-body);font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.loadout button.role-choice.role-is-tank{border-color:#227d8673}.loadout button.role-choice.role-is-dps{border-color:#8a479f73}.loadout button.role-choice.role-is-healer{border-color:#4159378c}.loadout button.role-choice:hover:not(:disabled){border-color:var(--rail-lit)}.loadout button.role-choice.is-current{color:var(--ink-bright);opacity:1;cursor:default}.loadout button.role-choice.role-is-tank.is-current{background:linear-gradient(180deg,#1b3a56,var(--tank-fill));border-color:var(--tank-edge);box-shadow:inset 0 0 0 1px #3fa0a459,0 0 16px #227d864d}.loadout button.role-choice.role-is-dps.is-current{background:linear-gradient(180deg,#572464,var(--dps-fill));border-color:var(--dps-edge);box-shadow:inset 0 0 0 1px #c35ed459,0 0 16px #8a479f4d}.loadout button.role-choice.role-is-healer.is-current{background:linear-gradient(180deg,#234634,var(--healer-fill));border-color:var(--healer-edge);box-shadow:inset 0 0 0 1px #5ca75d59,0 0 16px #41593766}.loadout button.role-choice.is-reading{border-color:var(--rail-lit);box-shadow:0 0 0 1px #ebb36b59}.role-guide{margin-top:12px;padding:11px 12px;background:#131020;border:2px solid #3b3a44;border-radius:3px;box-shadow:inset 0 0 0 1px #0000008c}.role-guide h3{margin:0 0 2px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--rail-lit);text-shadow:var(--edge-hard)}.role-flavour{margin:0 0 9px;font-size:12.5px;font-style:italic;color:var(--ink-dim)}.role-stats{margin:0;display:grid;gap:5px}.role-stats>div{display:grid;grid-template-columns:86px 1fr;gap:8px;align-items:baseline}.role-stats dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--rail);text-shadow:var(--edge-hard)}.role-stats dd{margin:0;font-size:12.5px;line-height:1.4;color:var(--ink-body)}.role-note{margin:9px 0 0;font-size:12px;line-height:1.4;color:var(--ink-dim)}.role-rarity{margin:7px 0 0;padding-top:7px;border-top:1px solid #2a2836;font-size:11.5px;line-height:1.4;color:var(--ink-dim)}.loadout button.role-commit{width:100%;margin-top:10px}.bag-count{font-family:var(--font-data);font-size:12px;color:var(--ink-dim)}.inv-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}.inv-cell,.loadout button.inv-cell{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:1;width:100%;padding:0;background:url(/art/ui/cell.png) center / 100% 100% no-repeat;image-rendering:pixelated;border:0;border-radius:0;box-shadow:none;color:var(--ink-dim)}.inv-cell .item-icon{width:66%;height:66%;object-fit:contain}.inv-cell.is-empty{opacity:.55}.loadout button.inv-cell{cursor:pointer;transition:transform .12s ease,box-shadow .15s ease}.loadout button.inv-cell:hover:not(:disabled){transform:translateY(-1px)}.loadout button.inv-cell.is-selected{filter:brightness(1.3) drop-shadow(0 0 5px rgba(235,179,107,.8))}.inv-cell.is-filled:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:2px solid transparent;border-radius:3px;pointer-events:none}.loadout .inv-cell.rarity-common:after{border-color:#7a859480}.loadout .inv-cell.rarity-uncommon:after{border-color:var(--rarity-uncommon)}.loadout .inv-cell.rarity-rare:after{border-color:#4f7fd0}.loadout .inv-cell.rarity-epic:after{border-color:var(--rarity-epic)}.loadout .inv-cell.rarity-legendary:after{border-color:var(--rarity-legendary)}.inv-grid.is-recycling .inv-cell.is-filled{filter:saturate(.5) brightness(.8)}.loadout .inv-grid.is-recycling .inv-cell.is-marked{filter:none}.inv-cell.is-marked:after{border-color:#d0616f}.inv-tick{position:absolute;top:4px;right:4px;bottom:4px;left:4px;display:grid;place-items:end center;padding-bottom:2px;background:#8a1a2857;color:#ffd9c8;font-size:15px;font-weight:700;text-shadow:var(--edge-hard);pointer-events:none}.inv-detail.is-recycle-bar{border-left-color:#b4515f}.inv-detail{position:sticky;bottom:12px;z-index:3;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px;padding:10px 12px;border-left:3px solid #4d4a4f;box-shadow:inset 0 0 0 1px #0000008c,0 6px 18px #000000b8}.inv-detail-info{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.inv-detail-actions{display:flex;gap:6px;flex:none}.slot-name{font-size:14px;font-weight:600;color:var(--ink-bright)}.slot-mods,.bag-sub{font-family:var(--font-data);font-size:11px;color:var(--ink-dim)}.owned{font-family:var(--font-data);font-size:11px;color:var(--rail-lit);margin-left:3px}.inv-consumables{margin-top:12px;padding-top:10px;border-top:1px solid var(--rail-line)}.inv-consumables h3{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rail-lit)}.inv-consumables ul{list-style:none;display:grid;gap:6px;margin:0;padding:0}.inv-consumables li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:linear-gradient(180deg,var(--slab-lit),var(--slab-deep));border:1px solid rgba(0,0,0,.55);border-radius:8px}.shop-purse{font-family:var(--font-data);font-size:13px;color:var(--rail-lit)}.sub-heading{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);margin:14px 0 8px}.bag{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.bag li{display:flex;align-items:center;gap:10px;padding:9px 11px;border-left:3px solid #4d4a4f}.bag-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.bag-actions{display:flex;flex-direction:column;gap:4px;align-items:stretch;flex:none}.loadout .bag li.rarity-common,.loadout .inv-detail.rarity-common{border-left-color:#5a6472}.loadout .bag li.rarity-uncommon,.loadout .inv-detail.rarity-uncommon{border-left-color:var(--rarity-uncommon)}.loadout .bag li.rarity-rare,.loadout .inv-detail.rarity-rare{border-left-color:#4f7fd0}.loadout .bag li.rarity-epic,.loadout .inv-detail.rarity-epic{border-left-color:var(--rarity-epic)}.loadout .bag li.rarity-legendary,.loadout .inv-detail.rarity-legendary{border-left-color:var(--rarity-legendary)}.shop-stock{max-height:62vh;overflow-y:auto;padding-right:8px}.item-icon,.slot-icon,.stat-icon,.tab-glyph{display:block;flex:none;image-rendering:pixelated}.screen{max-width:760px;margin:0 auto;padding:18px 20px 22px;background:#131020;border:2px solid #3b3a44;border-radius:4px;box-shadow:inset 0 0 0 1px #0000008c}.screen-head{margin-bottom:16px;padding-bottom:11px;border-bottom:1px solid #2a2836}.screen-head h2{margin:0 0 4px;font-family:var(--font-display);font-size:20px;letter-spacing:.04em;color:var(--ink-bright);text-shadow:var(--edge-hard)}.screen-lead{margin:0;font-size:12.5px;line-height:1.5;color:var(--ink-dim)}.screen-h{margin:18px 0 7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--rail-lit);text-shadow:var(--edge-hard)}.screen-empty,.screen-foot{margin:12px 0 0;font-size:12.5px;color:var(--ink-dim)}.loadout button.screen-action{margin-top:10px;padding:7px 14px;background:linear-gradient(180deg,#2a2438,#1b1728);border:1px solid #4a4358;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.04em;color:var(--ink-body);cursor:pointer}.loadout button.screen-action:hover:not(:disabled){border-color:var(--rail);color:var(--ink-bright)}.loadout button.screen-action.is-danger{border-color:#6b3244;color:#d99}.board{width:100%;border-collapse:collapse;font-size:12.5px}.board th{padding:0 8px 6px;text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;font-weight:600;color:var(--rail);border-bottom:1px solid #2a2836}.board td{padding:6px 8px;border-bottom:1px solid #201e2c;color:var(--ink-body)}.board-rank{width:2.5em;color:var(--ink-dim);font-variant-numeric:tabular-nums}.board-num{text-align:right;font-variant-numeric:tabular-nums}.board-corruption{color:var(--rail-lit);font-weight:600}.board-name{display:flex;align-items:center;gap:7px}.board tr.is-you td{background:#8a479f29;color:var(--ink-bright)}.board-you{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:var(--rail-lit)}.how-steps{margin:0;padding-left:20px;display:grid;gap:9px}.how-steps li{font-size:12.5px;line-height:1.5;color:var(--ink-body)}.how-steps strong{display:block;color:var(--ink-bright)}.how-body{margin:0;font-size:12.5px;line-height:1.55;color:var(--ink-body)}.how-stats{margin:0;display:grid;gap:6px}.how-stats>div{display:grid;grid-template-columns:118px 1fr;gap:10px;align-items:baseline}.how-stats dt{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--rail)}.how-stats dd{margin:0;font-size:12.5px;line-height:1.45;color:var(--ink-body)}.settings-label{margin:0 0 2px;font-size:12.5px;font-weight:600;color:var(--ink-bright)}.settings-hint{margin:0 0 8px;font-size:11.5px;line-height:1.45;color:var(--ink-dim)}.settings-slots{display:flex;flex-wrap:wrap;gap:6px}.loadout button.settings-slot{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 7px;background:#1b1728;border:1px solid #3b3a44;border-radius:3px;font-size:12px;color:var(--ink-body);cursor:pointer}.loadout button.settings-slot.is-hidden{opacity:.55;border-color:#2a2836;text-decoration:line-through}.settings-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-input{flex:1;min-width:220px;padding:7px 9px;background:#0e0c17;border:1px solid #3b3a44;border-radius:3px;font-family:var(--font-data);font-size:11.5px;color:var(--ink-dim)}.loadout .settings-row .screen-action{margin-top:0}.build-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 10px;font-family:var(--font-data);font-size:10px;color:var(--ink-dim);background:linear-gradient(to top,#08060eeb,#08060e00);pointer-events:none}.build-bar>*{pointer-events:auto}.build-id{letter-spacing:.06em;opacity:.75;-webkit-user-select:all;user-select:all}.bug-open{font-family:var(--font-data);font-size:10px;color:var(--ink-dim);background:transparent;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:3px 10px;cursor:pointer}.bug-open:hover{color:var(--rail-lit);border-color:var(--rail-lit)}.bug-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:grid;place-items:center;padding:16px;background:#06040cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bug-card{width:min(460px,100%);background:var(--panel, #14101f);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:16px}.bug-card h2{margin:0 0 6px;font-size:15px}.bug-lead{margin:0 0 10px;font-size:12px;color:var(--ink-dim)}.bug-field{width:100%;box-sizing:border-box;resize:vertical;font:inherit;font-size:13px;color:inherit;background:#00000047;border:1px solid rgba(255,255,255,.14);border-radius:6px;padding:8px}.bug-error{margin:8px 0 0;font-size:12px;color:#ff8f8f}.bug-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.bug-cancel,.bug-send{font:inherit;font-size:13px;padding:6px 14px;border-radius:6px;cursor:pointer}.bug-cancel{color:var(--ink-dim);background:transparent;border:1px solid rgba(255,255,255,.14)}.bug-send{color:#120d1c;background:var(--rail-lit);border:1px solid transparent;font-weight:600}.bug-send:disabled{opacity:.45;cursor:default}.bug-build{margin:10px 0 0;font-family:var(--font-data);font-size:10px;color:var(--ink-dim);opacity:.7}.loadout-grid{display:grid;grid-template-columns:minmax(440px,520px) minmax(0,1.05fr) minmax(320px,1fr);gap:16px;align-items:start}.col{display:flex;flex-direction:column;gap:16px;min-width:0}@media (max-width: 1339px){.topbar{grid-template-columns:auto auto 1fr auto}.topbar>.site-nav{display:none}.loadout button.menu-toggle,.nav-drawer{display:block}.loadout-grid{grid-template-columns:minmax(440px,500px) minmax(0,1fr)}.loadout-grid>.side-drawer{grid-column:1 / -1}.side-drawer .bag{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.shop-stock{max-height:46vh}}@media (max-width: 1023px){.loadout{padding:12px 10px 104px}.loadout-grid>.col,.loadout-grid>.panel{max-width:760px;margin-inline:auto;width:100%}.loadout .panel{border-width:12px}.topbar{grid-template-columns:auto 1fr auto;gap:8px 12px;padding-bottom:10px}.brand-logo{width:132px}.head-status{grid-column:1 / -1;order:3;align-items:stretch}.head-level{text-align:center}.head-status .xp-bar{width:100%}.head-purse{justify-self:end}.purse-chip{padding:5px 10px;font-size:12px}.loadout-grid{grid-template-columns:minmax(0,1fr);gap:12px}.loadout-grid>.col{display:contents}.loadout-grid [data-section]{display:none}.loadout-grid [data-section=character],.section-stats [data-section=stats],.section-role [data-section=role],.section-inventory [data-section=inventory],.section-shop [data-section=shop]{display:block}.loadout-grid [data-section=character],.side-drawer .bag{display:flex}.shop-stock{max-height:none;overflow:visible;padding-right:0}.inv-detail{bottom:84px}.slot-list{max-height:260px}.doll-name{font-size:21px}.panel-head h2{font-size:15px}.stat-card-value{font-size:22px}.inv-detail-actions{flex:1 0 100%}.loadout .inv-detail-actions button{flex:1}.section-tabs{position:fixed;z-index:25;inset:auto 0 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));background:#120e1c;border-top:2px solid var(--rail);box-shadow:0 -6px 18px #0009}.section-tabs button.tab{display:grid;justify-items:center;align-content:center;gap:5px;min-height:56px;padding:8px 2px;background:none;border:2px solid transparent;border-radius:3px;font-size:12px;font-weight:600;letter-spacing:.03em;color:var(--ink-dim);font-family:Barlow,Segoe UI,system-ui,sans-serif;text-shadow:var(--edge);cursor:pointer}.section-tabs button.tab.is-current{background:#3a1a45;border-color:#8a479f;color:var(--ink-bright)}.tab-glyph{width:28px;height:28px;object-fit:contain}.section-tabs button.tab:not(.is-current) .tab-glyph{opacity:.55}.toast{bottom:calc(88px + env(safe-area-inset-bottom,0px))}}@container doll (max-width: 560px){.doll-stage{grid-template-columns:minmax(0,92px) minmax(0,210px) minmax(0,92px);gap:10px}.doll-col{gap:8px}.socket-frame{max-width:86px}}@container doll (max-width: 400px){.doll-stage{grid-template-columns:minmax(0,1fr);justify-items:center;gap:10px;padding-bottom:10px}.doll-col{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;padding:6px;border-radius:3px;background:#0a0810b8}.socket{width:auto}.socket-frame{width:72px;max-width:72px}.doll-center{max-width:220px;order:1}.doll-left{order:2}.doll-right{order:3}}.chest-shelf{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.chest-shelf-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.chest-shelf-head h3{margin:0;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.chest-count{font-size:.72rem;opacity:.66;font-variant-numeric:tabular-nums}.chest-head-right{display:flex;align-items:center;gap:10px}.chest-row .chest-open-all,.chest-shelf .chest-open-all{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px}.chest-row{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chest-row .chest{--chest-size: 96px;width:var(--chest-size);height:var(--chest-size);padding:0;border:0;background:none;cursor:pointer;display:block;animation:chest-idle 2.6s ease-in-out infinite}.chest-row .chest:disabled{cursor:default}@keyframes chest-idle{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.015)}}.chest-sprite{display:block;width:var(--chest-size);height:var(--chest-size);background-image:url(/art/ui/loot-chest-shake.png);background-repeat:no-repeat;background-size:calc(var(--chest-size) * 6) var(--chest-size);background-position:0 0;image-rendering:pixelated}.chest-sprite.is-shaking{animation:chest-shake .43s steps(6,jump-none) 2}.chest-sprite.is-opening,.chest-sprite.is-revealed{background-image:url(/art/ui/loot-chest-open.png);animation:chest-open .42s linear 1 forwards,chest-open-swell .42s cubic-bezier(.18,.9,.3,1) 1 forwards}@keyframes chest-shake{0%{background-position:0 0}to{background-position:calc(var(--chest-size) * -5) 0}}@keyframes chest-open{0%{background-position:0 0;animation-timing-function:step-end}21%{background-position:calc(var(--chest-size) * -1) 0;animation-timing-function:step-end}40%{background-position:calc(var(--chest-size) * -2) 0;animation-timing-function:step-end}57%{background-position:calc(var(--chest-size) * -3) 0;animation-timing-function:step-end}71%{background-position:calc(var(--chest-size) * -4) 0;animation-timing-function:step-end}to{background-position:calc(var(--chest-size) * -4) 0}}@keyframes chest-open-swell{0%{transform:scale(1) translateY(0)}38%{transform:scale(1.055) translateY(-5px)}62%{transform:scale(.992) translateY(1px)}to{transform:scale(1) translateY(0)}}.chest-bloom{position:absolute;left:50%;top:50%;width:var(--chest-size, 320px);height:var(--chest-size, 320px);transform:translate(-50%,-50%) scale(.2);border-radius:50%;pointer-events:none;opacity:0;background:radial-gradient(circle,#ffe2968c,#f0b24a47 38%,#f0b24a00 70%)}.chest-bloom.is-opening,.chest-bloom.is-revealed{animation:chest-bloom .9s cubic-bezier(.16,.8,.3,1) 1 forwards}@keyframes chest-bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}34%{opacity:.95;transform:translate(-50%,-50%) scale(1.15)}to{opacity:.22;transform:translate(-50%,-50%) scale(1.75)}}.chest-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse 70% 60% at 50% 45%,#030206f2,#05030ae6 35%,#0c08149e 72%,#100b1a61);-webkit-backdrop-filter:blur(14px) saturate(.72);backdrop-filter:blur(14px) saturate(.72);animation:modal-in .18s ease-out both}.chest-modal-inner{position:relative;display:grid;place-items:center;text-align:center}.chest-modal .chest-sprite{--chest-size: 288px}@media (max-width: 420px){.chest-modal .chest-sprite{--chest-size: 240px}}@media (max-width: 340px){.chest-modal .chest-sprite{--chest-size: 192px}}@keyframes modal-in{0%{-webkit-backdrop-filter:blur(0) saturate(1);backdrop-filter:blur(0) saturate(1);opacity:.4}to{-webkit-backdrop-filter:blur(14px) saturate(.72);backdrop-filter:blur(14px) saturate(.72);opacity:1}}.chest-reveal-item{position:absolute;left:50%;top:46%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 22px;min-width:max-content;border-radius:6px;background:#06040cb8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 24px #0000008c;animation:reveal-rise .4s cubic-bezier(.22,1.4,.4,1) both}.chest-reveal-item strong{font-size:1.1rem;text-wrap:balance}.chest-reveal-item .rarity-common{color:#9aa8b4}.chest-reveal-item .rarity-uncommon{color:var(--rarity-uncommon)}.chest-reveal-item .rarity-rare{color:#6f9ee0}.chest-reveal-item .rarity-epic{color:#c87cc8}.chest-reveal-item .rarity-legendary{color:var(--rarity-legendary)}.chest-reveal-item .rarity-legendary{text-shadow:0 0 14px rgba(226,181,112,.55)}.chest-reveal-rarity,.chest-reveal-from,.chest-dismiss{font-size:.72rem;opacity:.7}.chest-dismiss{margin-top:6px;opacity:.45}.chest-skip{position:absolute;left:50%;bottom:-46px;transform:translate(-50%);font-size:.7rem;letter-spacing:.06em;opacity:.4;white-space:nowrap}.chest-reveal-item.is-many{max-height:min(56vh,420px);overflow-y:auto}.chest-haul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;text-align:left}.chest-haul li{display:flex;align-items:center;gap:10px;font-size:.86rem}@keyframes reveal-rise{0%{opacity:0;transform:translate(-50%,16px) scale(.86)}to{opacity:1;transform:translate(-50%) scale(1)}}.loadout button:not(:disabled):active,.loadout .socket:not(:disabled):active{transform:translateY(1px) scale(.97)}.loadout button,.loadout .socket{transition:transform .09s ease-out,filter .12s ease-out}.just-changed{animation:commit-pulse .34s ease-out}@keyframes commit-pulse{0%{transform:scale(1);filter:brightness(1)}38%{transform:scale(1.06);filter:brightness(1.45)}to{transform:scale(1);filter:brightness(1)}}.just-refused{animation:refuse-shake .3s ease-in-out}@keyframes refuse-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}45%{transform:translate(3px)}70%{transform:translate(-2px)}}.points.has-points{animation:points-waiting 2.6s ease-in-out infinite}@keyframes points-waiting{0%,to{box-shadow:0 0 #f4c95d00;border-color:#f4c95d59}50%{box-shadow:0 0 10px 2px #f4c95d54;border-color:#f4c95dd9}}.points.has-points.points-fresh{animation:points-arrive .8s ease-out,points-waiting 2.6s ease-in-out .8s infinite}.points-fresh{animation:points-arrive .8s ease-out}@keyframes points-arrive{0%{transform:scale(1)}25%{transform:scale(1.22)}55%{transform:scale(.98)}to{transform:scale(1)}}.panel-enter{animation:panel-in .2s ease-out both}@keyframes panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion: reduce){.chest-row .chest,.chest-sprite,.chest-bloom,.chest-modal,.chest-reveal-item,.just-changed,.just-refused,.points-fresh,.points.has-points,.panel-enter{animation:none!important}.chest-sprite.is-opening,.chest-sprite.is-revealed{background-image:url(/art/ui/loot-chest-open.png);background-position:calc(var(--chest-size) * -4) 0}.loadout button,.loadout .socket{transition:none}}
