:root{color-scheme:dark;--bg: #0a0d13;--text: #e8edf4;--text-dim: #94a1af;--accent: #f5dc56;--danger: #ff8a80;--border: rgb(255 255 255 / .1);--glass-bg: rgb(255 255 255 / .055);--glass-border: rgb(255 255 255 / .14);--glass-blur: blur(12px) saturate(1.4);--shadow: 0 8px 28px rgb(0 0 0 / .35);--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--tile: 58px;--tile-lg: 77px;--tile-gap: 4px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:system-ui,Segoe UI,sans-serif;line-height:1.5}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;transform:translateZ(0);background:radial-gradient(1200px 800px at 85% -10%,rgb(96 66 178 / .3),transparent 60%),radial-gradient(1000px 700px at -10% 25%,rgb(34 96 156 / .26),transparent 60%),radial-gradient(900px 900px at 50% 120%,rgb(186 146 60 / .12),transparent 60%)}a{color:var(--accent)}code{color:var(--accent);font-size:.95em}.shell{max-width:640px;margin:0 auto;padding:1rem 1.25rem 3rem;display:flex;flex-direction:column;min-height:100vh}.shell:has(app-inventory-page){max-width:none}.masthead,.notice,.signin-card,.inv-workspace{background:linear-gradient(#ffffff0d,#ffffff0d),#0d111885;border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.masthead{position:sticky;top:.75rem;z-index:20;background:#12171f99;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.7rem 1.1rem}.brand{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text)}.brand-mark{color:var(--accent);font-size:1.3rem}.brand-name{font-size:1.05rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:1.1rem}.nav a{color:var(--text-dim);text-decoration:none;font-size:.95rem;transition:color .12s ease}.nav a.active{color:var(--text);font-weight:600}.nav a:hover{color:var(--text)}.account-select{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.85rem;padding:.25rem .4rem;cursor:pointer}.account-select option{background:#151a22;color:var(--text)}.link-button{background:none;border:none;padding:0;color:var(--text-dim);font-size:.95rem;font-family:inherit;cursor:pointer;transition:color .12s ease}.link-button:hover{color:var(--text)}.notice{margin:1.25rem 0 0;padding:.75rem 1rem;border-radius:var(--radius-md);background:#f5dc5614;border-color:#f5dc5647;color:#e9d78f;font-size:.9rem}.content{flex:1;padding-top:2rem}.lede{margin:0 0 1rem;color:var(--text-dim)}.search{display:flex;gap:.6rem}.search input{flex:1;min-width:0;padding:.7rem 1rem;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);color:var(--text);font-size:1rem}.search input::placeholder{color:var(--text-dim)}.search input:focus{outline:2px solid var(--accent);outline-offset:-1px}button[type=submit],.signin-card button{padding:.7rem 1.5rem;border:none;border-radius:var(--radius-md);background:linear-gradient(160deg,#f8e478,#e8c93e);color:#221d08;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;box-shadow:0 4px 16px #f5dc5638;transition:filter .12s ease}button[type=submit]:hover,.signin-card button:hover{filter:brightness(1.06)}button[type=submit]:disabled{opacity:.45;cursor:default;box-shadow:none}.error{margin-top:1.25rem;color:var(--danger)}.empty{margin-top:1.25rem;color:var(--text-dim)}.signin-card{padding:1.6rem}.signin-card h2{margin:0 0 .5rem}.signin-card p{margin:0 0 1.25rem;color:var(--text-dim)}.signin-card .error{margin:0}.profile{margin-top:2rem}.profile-header h2{margin:0;font-size:1.4rem}.name-code{color:var(--text-dim);font-weight:400}.profile-meta{margin:.3rem 0 0;color:var(--text-dim);font-size:.9rem}.characters{list-style:none;margin:1.25rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.character{min-height:96px;border-radius:var(--radius-md);border:1px solid var(--glass-border);box-shadow:var(--shadow);background-color:#ffffff0a;background-size:cover;background-position:left center;padding:.9rem 1.1rem .9rem 106px;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-shadow:0 1px 3px rgb(0 0 0 / .8)}.character-names{display:flex;flex-direction:column;gap:.15rem}.character-class{font-size:1.15rem;font-weight:600}.character-race{color:#d6dde4;font-size:.85rem}.character-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.character-light{color:var(--accent);font-size:1.15rem;font-weight:700}.character-hours{font-size:.85rem;color:#d6dde4}.footer{margin-top:3rem;color:var(--text-dim);font-size:.8rem}.footer p{margin:0}.filter-bar{position:sticky;top:4.5rem;z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem .75rem;background:linear-gradient(#ffffff0d,#ffffff0d),#0d1118e0;border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.filter-text{flex:0 1 250px;min-width:160px;padding:.4rem .75rem;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg);color:var(--text);font:inherit;font-size:.88rem}.filter-text:focus{outline:2px solid var(--accent);outline-offset:-1px}.chip{position:relative}.chip-button{padding:.35rem .75rem;border:1px solid var(--glass-border);border-radius:999px;background:var(--glass-bg);color:var(--text-dim);font:inherit;font-size:.85rem;cursor:pointer}.chip-button:hover{color:var(--text)}.chip-button.chip-on{color:var(--text);border-color:var(--accent)}.chip-panel{position:absolute;top:calc(100% + 6px);left:0;z-index:30;min-width:200px;max-height:300px;overflow-y:auto;padding:.45rem;background:#12161ef7;border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 10px 32px #00000080}.chip-option{display:flex;align-items:center;gap:.45rem;padding:.2rem .3rem;font-size:.85rem;cursor:pointer;border-radius:4px}.chip-option:hover{background:#ffffff0f}.filter-count{margin-left:auto;color:var(--text-dim);font-size:.85rem;font-variant-numeric:tabular-nums}.inv-workspace{padding:1rem 1.25rem 1.25rem;overflow-x:auto}.inv-grid{display:grid;grid-template-columns:repeat(var(--char-count, 3),max-content) minmax(360px,1fr);column-gap:1.25rem;align-items:start}.inv-cell{padding-bottom:.5rem}.inv-vault-cell{border-left:1px solid var(--border);padding-left:1.25rem}.inv-char-header{height:52px;border-radius:var(--radius-md);border:1px solid var(--glass-border);background-color:#ffffff0a;background-size:cover;background-position:left center;display:flex;align-items:center;justify-content:space-between;padding:0 .7rem 0 60px;text-shadow:0 1px 3px rgb(0 0 0 / .8);margin-bottom:.5rem}.inv-char-header.char-active{outline:2px solid var(--accent);outline-offset:2px}.inv-char-class{font-weight:600}.inv-char-light{color:var(--accent);font-weight:700}.inv-label{margin:.85rem 0 .35rem;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.inv-count{color:var(--text-dim);font-weight:400}.inv-bucket-row{display:flex;gap:6px;align-items:flex-start;min-height:calc(3 * var(--tile) + 2 * var(--tile-gap))}.inv-equipped{--tile: var(--tile-lg);flex:0 0 auto}.inv-stored{display:grid;grid-template-columns:repeat(3,var(--tile));gap:var(--tile-gap)}.engram-row{display:flex;gap:3px;margin-bottom:.45rem}.engram{width:22px;height:22px;border-radius:50%;border:1px solid rgb(255 255 255 / .16);background-color:#ffffff0f;background-size:cover;background-position:center}.engram-empty{opacity:.35}.postmaster-grid{display:grid;grid-template-columns:repeat(4,var(--tile));gap:var(--tile-gap)}.inv-vault-header{height:52px;display:flex;align-items:center;gap:.6rem;border-left:1px solid var(--border);padding-left:1.25rem;margin-bottom:.5rem}.inv-vault-header h2{margin:0;font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase}.inv-vault-count{color:var(--text-dim)}.vault-modes{display:inline-flex;gap:.4rem;margin-left:.5rem}.chip-button:disabled{opacity:.45;cursor:default}.tile-crafted{position:absolute;left:3px;bottom:3px;width:10px;height:10px;color:#f0e6c8;filter:drop-shadow(0 1px 1px rgb(0 0 0 / .9));pointer-events:none}.inv-vault-header.big-vault{height:auto;min-height:52px}.inv-vault-header.big-vault h2,.inv-vault-header.big-vault .inv-vault-count{font-size:300%}.kondo-panel{margin-bottom:.5rem;padding:.9rem 1.1rem;background:#f5dc560d;border:1px solid rgb(245 220 86 / .25);border-radius:var(--radius-md)}.kondo-title{margin:0 0 .35rem;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase}.kondo-motto{margin-left:.5rem;color:var(--text-dim);font-weight:400;letter-spacing:normal;text-transform:none}.kondo-note{margin:0 0 .75rem;color:var(--text-dim);font-size:.9rem}.kondo-steps{margin:0;padding:0 0 0 1.1rem;display:flex;flex-direction:column;gap:.5rem}.kondo-steps li{display:flex;align-items:baseline;gap:.7rem}.kondo-steps button,.kondo-lock-row button{flex:0 0 auto;padding:.35rem .8rem;border:1px solid rgb(245 220 86 / .4);border-radius:var(--radius-sm);background:#f5dc561f;color:var(--text);font:inherit;font-size:.88rem;cursor:pointer}.kondo-steps button:hover:not(:disabled),.kondo-lock-row button:hover:not(:disabled){background:#f5dc5633}.kondo-steps button:disabled,.kondo-lock-row button:disabled{opacity:.45;cursor:default}.kondo-steps span,.kondo-lock-row span{color:var(--text-dim);font-size:.9rem}.kondo-lock-row{display:flex;align-items:baseline;gap:.7rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgb(245 220 86 / .18)}.kondo-progress{margin:.75rem 0 0;color:var(--accent);font-size:.9rem}.kondo-page-link{margin-top:.75rem;font-size:.85rem}.kondo-guards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.kondo-guards .chip-option{align-items:baseline}.kondo-guards strong{color:var(--text)}.detail-lock{position:absolute;top:.55rem;right:2.3rem;width:24px;height:24px;padding:4px;background:none;border:none;color:#ffffff8c;cursor:pointer}.detail-lock:hover{color:#ffffffe6}.detail-lock-on{color:var(--accent)}.detail-lock-on:hover{color:var(--accent);filter:brightness(1.15)}.vault-grid{display:grid;grid-template-columns:repeat(auto-fill,var(--tile));gap:var(--tile-gap)}app-item-tile{display:block;position:relative}app-item-tile.perfect-roll:after{content:"";position:absolute;inset:0;border-radius:var(--radius-sm);box-shadow:0 0 10px 2px #f2cd4e8c;opacity:.35;animation:glow-pulse 2.4s ease-in-out infinite;pointer-events:none}app-item-tile.perfect-roll .tile{border-color:#f2cd4ef2}app-item-tile.perfect-roll .tile-god{text-shadow:0 0 6px rgb(242 205 78 / .95);animation:glow-pulse 2.4s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.35}50%{opacity:1}}@media(prefers-reduced-motion:reduce){app-item-tile.perfect-roll:after,app-item-tile.perfect-roll .tile-god{animation:none;opacity:.8}}.tile{position:relative;width:var(--tile);aspect-ratio:1;background:#ffffff0b;border:1px solid rgb(255 255 255 / .14);border-radius:var(--radius-sm);overflow:hidden;cursor:pointer}.tile:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.tile>*{pointer-events:none}.tile[draggable=true]{cursor:grab}app-item-tile.tile-busy{opacity:.35;pointer-events:none}.inv-cell.drop-ok,.inv-equipped.drop-ok{outline:2px dashed rgb(245 220 86 / .45);outline-offset:2px;border-radius:var(--radius-sm)}.action-error{display:flex;align-items:center;gap:.6rem;margin:0 0 .75rem}.tile-icon,.tile-watermark{position:absolute;inset:0;width:100%;height:100%;display:block}.tile-tiers{position:absolute;top:3px;left:3px;display:flex;flex-direction:column;gap:2px}.tile-pip{width:5px;height:5px;margin:1px;background:#f2e8cd;border:1px solid rgb(0 0 0 / .6);transform:rotate(45deg)}.tile-badge{position:absolute;right:0;bottom:0;padding:0 4px;font-size:11px;line-height:17px;background:#080a0eb8;border-top-left-radius:6px;color:#fff;font-variant-numeric:tabular-nums}.tile-empty{opacity:.3;border-style:dashed;background:transparent;cursor:default}.tile-flags{position:absolute;top:0;right:0;display:flex;flex-direction:column;background:#080a0ec7;border-bottom-left-radius:6px;text-align:center}.tile-sheet-tier{padding:0 4px;font-size:10px;line-height:14px;font-weight:700;color:#cfd6dd}.sheet-tier-S{color:#f2cd4e}.sheet-tier-A{color:#c7a3f5}.sheet-tier-B{color:#8fc1ef}.sheet-tier-C{color:#93d9ab}.tile-god{padding:0 4px 1px;font-size:10px;line-height:13px;color:#f2cd4e}.tile.tier-6{border-color:#e0bc46f2}.tile.tier-5{border-color:#a87edcf2}.tile.tier-4{border-color:#6ca0d2f2}.tile.tier-3{border-color:#66b47ee6}.shop-title{margin:0 0 .25rem;font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase}.shop-group{margin-top:1.25rem}.shop-rows{display:flex;flex-direction:column;gap:.5rem}.shop-row{display:flex;gap:.8rem;align-items:flex-start;padding:.7rem .9rem;background:linear-gradient(#ffffff0d,#ffffff0d),#0d111885;border:1px solid var(--glass-border);border-radius:var(--radius-md)}.shop-row-owned{border-color:#f5dc5659}.shop-thumb{--tile: 48px;flex:0 0 auto;cursor:default}.shop-body{flex:1;min-width:0}.shop-main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.shop-name{font-weight:600}.shop-star{color:#f2cd4e;margin-left:.3rem}.shop-check{color:#93d9ab;margin-left:.3rem}.shop-role{color:var(--text-dim);font-size:.82rem}.shop-source{color:var(--text-dim);font-size:.82rem;margin-top:.1rem}.shop-analysis{margin-top:.35rem;font-size:.82rem}.shop-rank{color:var(--text-dim);margin-left:.25rem}.shop-notes{font-style:italic;color:var(--text-dim);margin-left:.4rem}.shop-col{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.4rem;font-size:.85rem}.shop-col em,.shop-alts em{color:var(--text-dim);font-style:normal;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;margin-right:.2rem}.shop-perk{display:inline-flex;align-items:center;gap:.35rem;padding:.12rem .55rem .12rem .15rem;background:#ffffff0d;border:1px solid rgb(255 255 255 / .14);border-radius:999px;font-size:.8rem}.shop-perk img{width:22px;height:22px;border-radius:50%;display:block}.shop-alts{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem .6rem;margin-top:.4rem;font-size:.8rem;color:var(--text-dim)}.shop-alt{display:inline-flex;align-items:center;gap:.3rem}.shop-alt-icon{width:20px;height:20px;border-radius:4px;display:block}.shop-alt-owned{color:#93d9ab}.detail-backdrop{position:fixed;inset:0;z-index:50}.detail-panel{position:fixed;width:340px;max-width:calc(100vw - 16px);overflow-y:auto;background:#10141bf0;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 14px 44px #0000008c}.detail-header{position:relative;display:flex;justify-content:space-between;gap:.8rem;padding:.7rem 2rem .7rem .85rem;border-radius:var(--radius-md) var(--radius-md) 0 0}.detail-title h2{margin:0;font-size:1rem;text-transform:uppercase;letter-spacing:.04em}.detail-title p{margin:.1rem 0 0;color:#ffffffbf;font-size:.78rem}.detail-power{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.detail-power-value{color:var(--accent);font-weight:700;font-size:.95rem}.detail-sub{font-size:.75rem;color:#ffffffbf}.detail-breakers{display:flex;flex-wrap:wrap;gap:.35rem;padding:.55rem .85rem 0}.detail-breaker{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;padding:.12rem .5rem;border:1px solid rgb(232 177 60 / .6);border-radius:999px;color:#e8c96a;white-space:nowrap}.detail-breaker-icon{width:13px;height:13px;display:block}.detail-close{position:absolute;top:.5rem;right:.55rem;background:none;border:none;color:#fffc;font-size:1.3rem;line-height:1;cursor:pointer;padding:.25rem}.detail-close:hover{color:#fff}.tier-h-6{background:linear-gradient(150deg,#8a6d1a,#4d3c0d)}.tier-h-5{background:linear-gradient(150deg,#5a3a72,#37244a)}.tier-h-4{background:linear-gradient(150deg,#2c5a86,#1c3a58)}.tier-h-3{background:linear-gradient(150deg,#2f6242,#1d3f2a)}.tier-h-0,.tier-h-1,.tier-h-2{background:linear-gradient(150deg,#3a424c,#262c34)}.detail-stats{margin:0;padding:.7rem .85rem .3rem}.detail-stat{display:grid;grid-template-columns:8rem 1fr;gap:.5rem;align-items:center;margin-bottom:.2rem}.detail-stat dt{text-align:right;color:var(--text-dim);font-size:.78rem}.detail-stat dd{margin:0;display:flex;align-items:center;gap:.45rem}.stat-track{flex:1;height:9px;background:#ffffff1f;border-radius:2px;overflow:hidden}.stat-fill{display:block;height:100%;background:#e9edf2}.stat-value{min-width:2ch;font-size:.8rem;font-variant-numeric:tabular-nums}.detail-panel .inv-label{padding:0 .85rem;margin:.6rem 0 .25rem}.perk-columns{display:flex;flex-wrap:wrap;padding:.2rem .85rem .4rem}.perk-column{display:flex;flex-direction:column;gap:.35rem;padding:0 .45rem;border-left:1px solid var(--border)}.perk-column:first-child{border-left:none;padding-left:0}.plug-active{border-color:var(--accent);background:#f5dc5624}.plug-inactive{opacity:.5}.plug-recommended{box-shadow:0 0 0 2px #f5dc568c}.detail-sheet{padding:.55rem .85rem 0}.detail-sheet-line{margin:0;font-size:.82rem;color:var(--text-dim)}.detail-sheet-line strong{color:var(--accent)}.detail-god{color:#f2cd4e;margin-left:.3rem}.detail-sheet-notes{margin:.3rem 0 0;font-size:.8rem;color:var(--text-dim);font-style:italic}.detail-plugs{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem .85rem .85rem}.detail-plugs .plug{border-radius:6px}.plug{width:32px;height:32px;padding:0;border-radius:50%;border:1px solid rgb(255 255 255 / .2);background:#ffffff0d;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;font:inherit}.plug:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.plug-selected{outline:2px solid #8ab6e8;outline-offset:1px}.plug-popover{position:fixed;z-index:60;width:min(260px,calc(100vw - 12px));overflow-y:auto;padding:.55rem .65rem;background:#12161ef7;border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:0 10px 32px #00000080}.plug-popover-header{display:flex;align-items:center;gap:.45rem;margin-bottom:.25rem}.plug-popover-icon{width:26px;height:26px;border-radius:50%;flex:0 0 auto}.plug-popover h4{margin:0;font-size:.85rem}.plug-popover p{margin:0;font-size:.8rem;color:var(--text-dim);white-space:pre-line}.plug-sheet{margin:0 0 .2rem;font-size:.8rem}.plug-sheet-tags{color:var(--text-dim)}.plug-popover .plug-sheet-notes{margin:0 0 .35rem;font-style:italic}.plug img{width:100%;height:100%;display:block}.plug-fallback{color:var(--text-dim)}
