:root{--color-black:#000;--color-bg:#0d0d0d;--color-surface-1:#0f0f0f;--color-surface-2:#121212;--color-surface-3:#141414;--color-surface-4:#151515;--color-surface-5:#171717;--color-card:#1a1a1a;--color-card-alt:#1e1e1e;--color-card-mid:#1f1f1f;--color-card-raised:#222;--color-elevated:#252525;--color-elevated-2:#343434;--color-elevated-3:#3a3a3a;--color-elevated-4:#3b3b3b;--color-border:#2a2a2a;--color-border-strong:#3b3b3b;--color-white:#fff;--color-text:#d4d4d4;--color-text-bright:#c8c8c8;--color-text-muted:#bdbdbd;--color-text-secondary:#888;--color-text-tertiary:#999;--color-accent:#c8a84e;--color-accent-warm:#c89050;--color-accent-orange:#c8843c;--color-accent-alt:#b0a040;--color-accent-muted:#a8883f;--color-accent-dim:#a08030;--color-accent-gold:#dca032;--color-accent-dark:#7a6a2a;--color-accent-tan:#b8a078;--color-accent-tan-alt:#b8a878;--color-accent-light:#e8d48a;--color-accent-lighter:#f3d98f;--color-accent-tint-5:#c8a84e0d;--color-accent-tint-6:#c8a84e0f;--color-accent-tint-8:#c8a84e14;--color-accent-tint-10:#c8a84e1a;--color-accent-tint-12:#c8a84e1f;--color-accent-tint-14:#c8a84e24;--color-accent-tint-15:#c8a84e26;--color-accent-tint-18:#dca0322e;--color-accent-tint-20:#c8a84e33;--color-accent-tint-35:#c8a84e59;--color-green-deep:#2f6c37;--color-green-muted:#4a7a55;--color-green:#4ac45a;--color-green-mid:#5cb85c;--color-green-soft:#6bab5b;--color-green-positive:#6ec87a;--color-green-light:#7ec88a;--color-green-pale:#8fd397;--color-green-pastel:#9ed6aa;--color-green-tint-12:#6bab5b1f;--color-green-tint-15:#6ec87a26;--color-green-tint-20:#6bab5b33;--color-green-tint-30:#5cb85c4d;--color-green-muted-tint-20:#4a7a5533;--color-blue-muted:#5f7fa8;--color-blue-mid:#5b8abd;--color-blue:#5b9bd5;--color-blue-bright:#60a5fa;--color-blue-soft:#6ea8d0;--color-blue-light:#78b8e0;--color-blue-grey:#7eaab8;--color-blue-grey-soft:#8a9aaa;--color-blue-pale:#a9cbf6;--color-blue-tint-12:#5b8abd1f;--color-blue-tint-14:#5078b424;--color-blue-tint-15:#4e82c826;--color-blue-tint-18:#64a0d22e;--color-blue-tint-20:#5b8abd33;--color-blue-tint-28:#5078b447;--color-blue-tint-30:#5078b44d;--color-blue-bright-tint-14:#60a5fa24;--color-blue-muted-tint-20:#5f7fa833;--color-red-deep:#8e3f3a;--color-red-muted:#b85c5c;--color-red-strong:#c44;--color-red:#c87070;--color-red-soft:#c87e7e;--color-red-warm:#d06050;--color-red-warm-soft:#d07a6e;--color-red-mid:#d47070;--color-red-bright:#d9534f;--color-red-light:#e57373;--color-red-vibrant:#f06a5e;--color-red-pale:#f08b84;--color-red-danger:#f44336;--color-red-tint-12:#b85c5c1f;--color-red-tint-15:#c8644e26;--color-red-tint-18:#dc503c2e;--color-red-tint-20:#b85c5c33;--color-red-vibrant-tint-10:#f06a5e1a;--color-red-vibrant-tint-20:#f06a5e33;--color-orange-muted:#a66f47;--color-orange:#c8843c;--color-orange-bright:#ffb74d;--color-orange-pale:#ffc9a6;--color-orange-tint-12:#ffb74d1f;--color-orange-tint-35:#ffb74d59;--color-orange-muted-tint-20:#a66f4733;--color-orange-warm-tint-14:#b4643c24;--color-orange-warm-tint-18:#c8823c2e;--color-orange-warm-tint-28:#b4643c47;--color-orange-warm-tint-30:#b4643c4d;--color-purple-mid:#9b6fb0;--color-purple-light:#a880b8;--color-purple-tint-12:#9b6fb01f;--color-purple-tint-18:#a078b42e;--color-purple-tint-20:#9b6fb033;--color-teal:#5ba8a0;--color-olive:#8b8b5e;--color-warm-brown:#7a6e50;--color-teal-tint-12:#5ba8a01f;--color-teal-tint-14:#50a07824;--color-teal-tint-20:#5ba8a033;--color-teal-tint-28:#50a07847;--color-teal-tint-30:#50a0784d;--color-olive-tint-12:#8b8b5e1f;--color-olive-tint-20:#8b8b5e33;--color-warm-brown-tint-12:#7a6e501f;--color-warm-brown-tint-20:#7a6e5033;--color-accent-dark-tint-20:#7a6a2a33;--color-grey-tint-12:#8c8c8c2e;--color-grey-blue-tint-12:#8ca0b41f;--color-accent-tan-tint-12:#b4a0781f;--color-accent-tan-tint-18:#b4a0782e;--color-accent-alt-tint-18:#b4a03c2e;--color-map-bg:#141a1f;--color-map-surface:#1c2228;--color-map-border:#2d3540;--color-map-elevated:#3d444d;--color-map-elevated-2:#3d464e;--color-map-text-muted:#6a7a8a;--color-map-text:#c8d4dc;--color-map-text-light:#d4dade;--color-map-text-bright:#d8e3ea;--color-overlay-black-40:#0006;--color-overlay-black-50:#00000080;--color-overlay-black-55:#0000008c;--color-overlay-black-60:#0009;--color-overlay-black-70:#000000b3;--color-overlay-border-50:#2a2a2a80;--color-red-vibrant-tint-12:#f06a5e1f;--color-red-vibrant-tint-30:#f06a5e4d;--color-red-vibrant-tint-50:#f06a5e80;--color-green-positive-tint-10:#6ec87a1a;--color-green-positive-tint-12:#6ec87a1f;--color-red-warm-soft-tint-10:#d07a6e1a;--color-red-warm-soft-tint-12:#d07a6e1f;--color-heart:#e25555;--color-map-trader:#ffd54f;--color-map-mechanic:#1565c0;--color-map-medic:#e53935;--color-map-guide:#ce93d8;--color-map-leader:#7b1fa2;--color-map-arena:#ff8a65;--color-map-npc:#90caf9;--color-green-intensity-rgb:76, 175, 80;--color-overlay-white-2:#ffffff05;--color-overlay-white-3:#ffffff08;--color-overlay-white-4:#ffffff0a;--color-overlay-white-5:#ffffff0d;--color-overlay-white-6:#ffffff0f;--color-overlay-white-7:#ffffff12;--color-overlay-white-8:#ffffff14;--color-overlay-white-10:#ffffff1a;--color-overlay-white-12:#ffffff1f;--color-overlay-white-14:#ffffff24;--color-overlay-white-15:#ffffff26;--color-overlay-white-25:#ffffff40;--color-overlay-white-50:#ffffff80;--color-overlay-white-90:#ffffffe6;--bg:var(--color-bg);--card:var(--color-card);--card-raised:var(--color-card-raised);--border:var(--color-border);--text:var(--color-text);--text-primary:var(--color-text);--text-secondary:var(--color-text-secondary);--accent:var(--color-accent);--accent-dim:var(--color-accent-dim);--color-accent-warm-tint-12:#c890501f;--color-accent-warm-tint-20:#c8905033;--color-green-mid-tint-15:#4ea86426;--color-red-soft-tint-18:#c850502e;--color-red-warm-soft-tint-15:#d07a6e26}*{box-sizing:border-box;margin:0;padding:0}.text-right{text-align:right!important}:root{--mono:"Consolas", "Monaco", "Courier New", monospace;--label-scale:1}html{font-size:20px}body{background:var(--bg);color:var(--text);flex-direction:column;height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5;display:flex;overflow:hidden}#app{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.tooltip{z-index:300;background:var(--color-elevated);max-width:220px;color:var(--text);border:1px solid var(--border);pointer-events:none;opacity:0;white-space:normal;word-wrap:break-word;border-radius:6px;padding:.25rem .5rem;font-size:.6rem;line-height:1.4;transition:opacity .12s,transform .12s;position:absolute;top:0;left:0;transform:scale(.95)}.tooltip.visible{opacity:1;transform:scale(1)}.tooltip-arrow{background:var(--color-elevated);border-top:1px solid var(--border);border-left:1px solid var(--border);width:8px;height:8px;position:absolute;transform:rotate(45deg)}.tooltip.tooltip-ammo-card{max-width:360px;padding:.4rem}.ammo-tooltip{flex-direction:column;gap:.35rem;display:flex}.ammo-tooltip-image-wrap{background:var(--color-map-bg);border:1px solid var(--color-map-elevated-2);box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:100%;min-height:70px;padding:.45rem .65rem;display:flex}.ammo-tooltip-image{object-fit:contain;max-width:100%;min-height:70px;max-height:70px;display:block}.ammo-tooltip-body{min-width:0}.ammo-tooltip-title{color:var(--color-map-text-bright);font-size:.7rem;font-weight:700;line-height:1.2}.ammo-tooltip-desc{color:var(--color-text-bright);margin-top:.15rem;font-size:.6rem;line-height:1.35}.ammo-tooltip-highlights{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.ammo-tooltip-chip{border:1px solid var(--color-map-elevated);background:var(--color-map-surface);color:var(--color-map-text-light);border-radius:3px;padding:.12rem .4rem;font-size:.62rem;font-weight:600;line-height:1.2;display:inline-block}.ammo-tooltip-chip-br{border-color:var(--color-blue-muted);background:var(--color-blue-muted-tint-20);color:var(--color-blue-pale);font-size:.68rem;font-weight:700}.ammo-tooltip-chip-dmg{border-color:var(--color-orange-muted);background:var(--color-orange-muted-tint-20);color:var(--color-orange-pale);font-size:.68rem;font-weight:700}.ammo-tooltip-chip-acc{border-color:var(--color-green-muted);background:var(--color-green-muted-tint-20);color:var(--color-green-pastel)}.ammo-tooltip-chip-cost{border-color:var(--color-accent-dark);background:var(--color-accent-dark-tint-20);color:var(--color-accent-light)}.tooltip.tooltip-addon-card{max-width:240px;padding:.4rem}.addon-tooltip{flex-direction:column;gap:.3rem;display:flex}.addon-tooltip-name{color:var(--color-map-text-bright);border-bottom:1px solid var(--color-map-border);padding-bottom:.25rem;font-size:.7rem;font-weight:700;line-height:1.2}.addon-tooltip-stats{flex-direction:column;gap:.18rem;display:flex}.addon-tt-row{justify-content:space-between;gap:.6rem;font-size:.64rem;line-height:1.3;display:flex}.addon-tt-key{color:var(--color-blue-grey-soft);flex-shrink:0}.addon-tt-val{color:var(--color-map-text-light);text-align:right;font-weight:600}.addon-tt-yes{color:var(--color-green-light)}.addon-tt-no{color:var(--color-red-soft)}.tooltip.tooltip-addon-weapons-card{max-width:380px;padding:.4rem}.addon-compat-tooltip{flex-direction:column;gap:.3rem;display:flex}.addon-compat-title{color:var(--color-map-text-bright);border-bottom:1px solid var(--color-map-border);align-items:center;gap:.35rem;padding-bottom:.2rem;font-size:.68rem;font-weight:700;display:flex}.addon-compat-count{color:var(--color-blue-grey-soft);font-size:.62rem;font-weight:400}.addon-compat-list{columns:2;column-gap:.5rem}.addon-compat-weapon{color:var(--color-map-text);padding:.05rem 0;font-size:.63rem;line-height:1.35}.addon-compat-none{color:var(--color-blue-grey-soft);font-size:.63rem;font-style:italic}.addon-compat-more{color:var(--color-map-text-muted);border-top:1px solid var(--color-map-border);margin-top:.25rem;padding-top:.2rem;font-size:.6rem;font-style:italic}.compat-weapons-badge{cursor:pointer;text-transform:none;letter-spacing:normal;align-items:center;gap:.1rem;margin-left:0;display:inline-flex}.compat-weapons-badge svg{opacity:.5}.compat-weapons-badge:hover{background:var(--color-blue-tint-20)}.compat-weapons-badge:hover svg{opacity:.8}.weapon-list-popover{background:var(--card);border:1px solid var(--border);box-shadow:0 4px 16px var(--color-overlay-black-50);border-radius:6px;max-width:320px;max-height:360px;padding:.5rem;overflow-y:auto}.weapon-list-popover-title{color:var(--accent);border-bottom:1px solid var(--border);margin-bottom:.3rem;padding-bottom:.35rem;font-size:.72rem;font-weight:700}.weapon-list-popover-count{color:var(--text-secondary);font-weight:400}.weapon-list-popover-items{flex-direction:column;gap:.15rem;display:flex}.weapon-list-popover-item{border-radius:3px;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.2rem .3rem;text-decoration:none;transition:background .1s;display:flex}.weapon-list-popover-item:hover{background:var(--color-overlay-white-5)}.weapon-list-popover-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.weapon-list-popover-item .badge-flag{flex-shrink:0;margin-left:0;font-size:.55rem}.site-header{background:var(--color-surface-3);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.5rem;padding:.3rem 1.5rem .3rem .75rem;display:flex}.header-brand{flex-shrink:0;align-items:center;gap:.75rem;display:flex;position:relative}.site-logo{opacity:.75;flex-shrink:0;width:auto;height:2.2rem}.header-title-group{flex-direction:column;gap:0;line-height:1.15;display:flex}.header-pack-label{color:var(--accent);letter-spacing:.06em;text-transform:uppercase;font-size:.95rem;font-weight:700}.header-pack-label .pack-status-badge{margin-left:.4rem}.header-pack-switcher{cursor:pointer;font:inherit;color:var(--accent);font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit;line-height:inherit;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;transition:opacity .15s;display:inline-flex}.header-pack-switcher:hover .pack-chevron{opacity:.7}.header-pack-switcher .pack-chevron{opacity:.4;flex-shrink:0}.site-header h1{color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;font-size:.6rem;font-weight:500}.nav-bar{background:var(--color-surface-3);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:0;padding:0 .75rem;display:flex}.nav-bar-item{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.nav-bar-item:hover{color:var(--text)}.nav-bar-item.active{color:var(--accent);border-bottom-color:var(--accent)}.nav-bar-spacer{flex:1}.nav-bar .settings-wrap{position:relative}.nav-bar .settings-menu{left:auto;right:0}.pack-chevron{opacity:.5;transition:transform .15s}.pack-chevron.open{transform:rotate(180deg)}.pack-menu{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;min-width:8rem;padding:.25rem 0;position:absolute;top:calc(100% + .35rem);left:0}.pack-menu-item{width:100%;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:1rem;padding:.4rem .75rem;font-size:.75rem;transition:color .15s,background .15s;display:flex}.pack-menu-item:hover{color:var(--text);background:var(--color-overlay-white-6)}.pack-menu-item.active{color:var(--accent)}.pack-status-badge{text-transform:uppercase;letter-spacing:.05em;background:var(--color-overlay-white-10);color:var(--color-text-tertiary);vertical-align:middle;border-radius:3px;margin-left:auto;padding:.1rem .35rem;font-size:.55rem;font-weight:700;line-height:1;display:inline-block}.locale-wrap{flex-shrink:0;position:relative}.locale-btn{border:1px solid var(--border);height:2rem;color:var(--text-secondary);letter-spacing:.03em;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.25rem;padding:0 .5rem;font-size:.7rem;font-weight:600;transition:border-color .15s,color .15s,background .15s;display:inline-flex}.locale-btn:hover{color:var(--text);border-color:var(--accent-dim);background:var(--color-overlay-white-5)}.locale-chevron{opacity:.5;transition:transform .15s}.locale-chevron.open{transform:rotate(180deg)}.locale-menu{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;min-width:8rem;padding:.25rem 0;position:absolute;top:calc(100% + .35rem);right:0}.locale-menu-item{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.75rem;transition:color .15s,background .15s;display:flex}.locale-menu-item:hover{color:var(--text);background:var(--color-overlay-white-6)}.locale-menu-item.active{color:var(--accent)}.locale-menu-code{letter-spacing:.03em;font-weight:600}.locale-menu-label{opacity:.7}.header-divider{background:var(--border);flex-shrink:0;width:1px;height:1.4rem}.header-utils{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.header-links{border:1px solid var(--border);border-radius:6px;flex-shrink:0;align-items:center;display:flex;overflow:hidden}.header-links .header-link{border:none;border-radius:0}.header-links .header-link+.header-link{border-left:1px solid var(--border)}.header-link{border:1px solid var(--border);width:2rem;height:2rem;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;transition:color .15s,background .15s,border-color .15s;display:flex}.header-link:hover{color:var(--text);border-color:var(--accent-dim);background:var(--color-overlay-white-5)}.header-link:active{border-color:var(--accent);background:var(--color-overlay-white-8)}button.header-link{cursor:pointer;font:inherit;background:0 0;padding:0}.header-mobile-items{display:none}@media (width<=1100px){.header-desktop-items.header-links,.header-utils .shortcut-help-btn,.header-utils .release-notes-btn{display:none!important}.header-mobile-items{display:flex}.header-search-btn{display:none}}@media (width<=900px){.header-utils.header-desktop-items,.global-search.header-desktop-items{display:none!important}.header-search-btn{margin-left:auto;display:flex}}.global-search{flex:1;max-width:28rem;margin-left:auto;position:relative}.global-search input{background:var(--card);border:1px solid var(--border);width:100%;color:var(--text);border-radius:4px;outline:none;padding:.375rem .75rem;font-size:.875rem;transition:border-color .15s}.global-search input:focus{border-color:var(--accent)}.global-search input::placeholder{color:var(--text-secondary)}.search-hint{color:var(--text-secondary);cursor:text;border-radius:3px;align-items:center;gap:.4rem;padding:0 .75rem;font-size:.875rem;display:flex;position:absolute;inset:1px}.search-hint svg{flex-shrink:0}.search-hint kbd{min-width:1.25rem;height:1.25rem;color:var(--text-secondary);background:var(--color-border);border:1px solid var(--color-elevated-3);box-sizing:border-box;border-radius:4px;justify-content:center;align-items:center;margin:0 .15rem;padding:0 .35rem;font-family:inherit;font-size:.75rem;line-height:1;display:inline-flex}.search-dropdown{background:var(--card);border:1px solid var(--border);box-shadow:0 10px 15px -3px var(--color-overlay-black-40);z-index:50;border-radius:4px;max-height:20rem;margin-top:.25rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.search-dropdown a{color:var(--accent);justify-content:space-between;align-items:center;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;transition:background .15s;display:flex}.search-dropdown a:hover{background:var(--color-overlay-border-50);text-decoration:none}.search-dropdown .no-results{color:var(--text-secondary);padding:.75rem;font-size:.875rem}.search-id-hint{color:var(--text-secondary);margin-left:.5em;font-size:.7em}.search-cat-badge{color:var(--text-secondary);background:var(--border);border-radius:3px;flex-shrink:0;margin-left:.5rem;padding:.125rem .375rem;font-size:.65rem}.layout{flex:1;grid-template-columns:220px 1fr;min-height:0;transition:grid-template-columns .2s;display:grid;overflow:hidden}.sidebar{border-right:1px solid var(--border);flex-direction:column;min-width:0;display:flex;overflow:hidden}.sidebar-scroll{flex:1;padding:.5rem 0;overflow-y:auto}.sidebar-group{margin-bottom:.25rem}.sidebar-group-label{color:var(--accent-dim);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;padding:.5rem .75rem .15rem;font-size:.65rem;font-weight:600;display:flex}.sidebar-group-label:hover{color:var(--accent)}.sidebar-chevron{flex-shrink:0;transition:transform .15s}.sidebar-chevron.collapsed{transform:rotate(-90deg)}.sidebar button,.sidebar .sidebar-group-items a{white-space:nowrap;text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:.2rem .75rem;font-size:.8rem;text-decoration:none;transition:color .15s,background .15s;display:flex}.sidebar button:hover,.sidebar .sidebar-group-items a:hover{color:var(--text);background:var(--border)}.sidebar button.active,.sidebar .sidebar-group-items a.active{color:var(--accent);background:var(--color-accent-tint-8);border-left:2px solid var(--accent);padding-left:calc(.75rem - 2px)}.cat-label{text-overflow:ellipsis;flex:1;overflow:hidden}.cat-count{color:var(--text-secondary);background:var(--color-overlay-white-6);text-align:center;border-radius:9999px;flex-shrink:0;min-width:1.6em;margin-left:.35rem;padding:.05rem .4rem;font-size:.6rem;font-weight:500}.sidebar-collapse-btn{border:none;border-top:1px solid var(--border);width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;transition:color .15s,background .15s;display:flex}.sidebar-collapse-btn:hover{color:var(--text);background:var(--border)}.layout.sidebar-collapsed{grid-template-columns:0 1fr}.layout.sidebar-collapsed .sidebar{visibility:hidden;border-right:none;overflow:hidden}.layout.sidebar-collapsed .content{padding-left:.75rem}.layout.sidebar-hidden{grid-template-columns:0 1fr}.layout.sidebar-hidden .sidebar{visibility:hidden;border-right:none;overflow:hidden}.layout.sidebar-hidden .content{padding-left:.75rem;padding-right:.75rem}.hamburger-btn.show-desktop{display:flex}.sidebar button.active .cat-count,.sidebar .sidebar-group-items a.active .cat-count{color:var(--accent);background:var(--color-accent-tint-12)}.content{flex-direction:column;min-height:0;padding:1rem 0 0 1.5rem;transition:padding-left .2s;display:flex;overflow:hidden}.content.content-maps{padding:0}.content-inner{flex-direction:column;flex:1;min-height:0;display:flex}.filter-bar{align-items:center;gap:.75rem;margin-bottom:.75rem;padding-right:calc(1rem + 8px);display:flex}.filter-input-group{background:var(--card);border:1px solid var(--border);border-radius:4px;align-items:center;width:100%;max-width:14rem;height:1.75rem;transition:border-color .15s;display:flex;position:relative}.filter-input-group:focus-within{border-color:var(--accent)}.filter-input-icon{color:var(--text-secondary);opacity:.5;flex-shrink:0;margin-left:.5rem}.filter-input-group input{min-width:0;height:100%;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0 .5rem;font-size:.75rem}.filter-input-group input::placeholder{color:var(--text-secondary)}.filter-input-clear{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .35rem;font-size:.9rem;line-height:1}.filter-input-clear:hover{color:var(--text)}.item-count{color:var(--text-secondary);white-space:nowrap;font-size:.75rem}.view-toggle{flex-shrink:0;margin-left:auto;display:flex}.view-toggle button{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;transition:color .15s,border-color .15s;display:flex}.view-toggle button:first-child{border-radius:4px 0 0 4px}.view-toggle button+button{margin-left:-1px}.view-toggle button:last-child{border-radius:0 4px 4px 0}.view-toggle button:hover{color:var(--text);border-color:var(--accent-dim);z-index:1}.view-toggle button.active{color:var(--accent);border-color:var(--accent-dim);background:var(--color-accent-tint-8);z-index:2}.view-toggle-label{font-family:inherit;font-size:.75rem}.view-toggle button:has(.view-toggle-label){gap:.3rem;width:auto;padding:0 .5rem}.tile-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));align-content:start;gap:.5rem;padding-bottom:1rem;padding-right:1rem;display:grid;overflow-y:auto}.infinite-scroll-sentinel{pointer-events:none;grid-column:1/-1;width:100%;height:1px}.tile-empty{text-align:center;color:var(--text-secondary);grid-column:1/-1;padding:2rem;font-size:.9rem}.tile-card{background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:.5rem .6rem;transition:border-color .15s,background .15s;position:relative}.tile-card:hover{border-color:var(--accent-dim);background:var(--color-card-mid)}.recipe-card,.exchange-card,.crafting-tree-card{cursor:default}.tile-card-header{border-bottom:1px solid var(--border);align-items:center;gap:.3rem;margin-bottom:.25rem;padding-bottom:.2rem;display:flex}.tile-card.tile-card-compact .tile-card-header{border-bottom:none;margin-bottom:0;padding-bottom:0}.tile-card-header .pin-icon{font-size:.6rem}.tile-card-header .badge-flag{padding:.05rem .3rem;font-size:.55rem}.tile-card-name{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;font-weight:600;text-decoration:none;overflow:hidden}a.tile-card-name:hover{text-decoration:underline}.tile-card-stats{grid-template-columns:1fr 1fr;gap:.1rem .75rem;display:grid}.tile-card-icon-row{border-bottom:1px solid var(--color-overlay-white-6);justify-content:center;align-items:center;margin:0 15% .25rem;padding:.1rem 0 .25rem;display:flex}.tile-card-icon-row .addon-img-tile-icon{max-width:200px;height:2.5rem}.tile-card-icon-row.tile-icon-large .addon-img-tile-icon{height:4rem}.tile-stat-row:has(.tile-ammo-list){grid-column:1/-1}.tile-ammo-list{flex-wrap:wrap;justify-content:flex-end;gap:.2rem;min-width:0;display:flex}.tile-ammo-list .badge-ammo{white-space:nowrap}.table-ammo-list{flex-wrap:wrap;gap:.2rem;display:inline-flex}.tile-stat-row .badge,.tile-stat-row .badge-ammo,.tile-stat-row .badge-flag{padding:0 .35rem;font-size:.6rem;line-height:1.3}.tile-stat-row{justify-content:space-between;align-items:center;gap:.25rem;min-width:0;display:flex}.tile-stat-row .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.6rem;overflow:hidden}.tile-stat-row .stat-value{font-family:var(--mono);text-align:right;white-space:nowrap;flex-shrink:0;font-size:.7rem}.stat-positive{color:var(--color-green-positive)}.stat-negative{color:var(--color-red-warm-soft)}.stat-warning{color:var(--color-accent)}.stat-radiation-restore{color:var(--color-blue-soft)}.modal-heal-row .stat-label{min-width:5.5rem}.modal-heal-grid .modal-heal-row{gap:.75rem}.heal-cell .heal-row{white-space:nowrap;align-items:center;gap:.4rem;display:flex}.heal-cell .heal-row+.heal-row{margin-top:.15rem}.heal-row-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;min-width:5.5rem;font-size:.55rem}.heal-parts{gap:.5rem;display:flex}.heal-part{font-family:var(--mono);color:var(--text-secondary);font-size:.8rem}.heal-part.heal-active{color:var(--text)}.heal-dots{letter-spacing:-.05em;vertical-align:-.05em;font-size:1rem;line-height:1}.dot.filled{color:var(--color-green-positive)}.dot.empty{color:var(--border)}.table-wrap{flex:1;overflow:auto}.item-table{border-collapse:collapse;width:100%;font-size:.8rem}.item-table th,.item-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.375rem .625rem}.item-table thead th{z-index:2;background:var(--bg);color:var(--text-secondary);box-shadow:inset 0 -2px 0 var(--border);-webkit-user-select:none;user-select:none;cursor:pointer;border-bottom:none;font-size:.75rem;font-weight:500;position:sticky;top:0}.item-table thead th:hover{color:var(--accent)}.sort-icon{color:var(--accent);margin-left:.125rem;font-size:.65rem}.item-table td{font-family:var(--mono);font-size:.8rem}.item-table td a{font-family:var(--mono);color:var(--accent);text-decoration:none}.item-table td a:hover{text-decoration:underline}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:var(--card)}.badge{text-transform:uppercase;letter-spacing:.03em;background:var(--border);color:var(--text);border-radius:3px;padding:.1rem .45rem;font-family:sans-serif;font-size:.7rem;font-weight:600;display:inline-block}.badge-faction{white-space:nowrap;background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:3px;align-items:center;gap:.3rem;padding:.125rem .375rem;font-family:sans-serif;font-size:.7rem;font-weight:600;display:inline-flex}.badge-ammo{text-transform:uppercase;letter-spacing:-.02em;background:var(--color-grey-blue-tint-12);color:var(--color-blue-grey);border-radius:3px;padding:.125rem .375rem;font-family:sans-serif;font-size:.7rem;font-weight:600;display:inline-block}.badge-ammo-alt{background:var(--color-accent-tan-tint-12);color:var(--color-accent-tan-alt)}.settings-wrap{position:relative}.settings-btn{border:1px solid var(--border);background:var(--card);width:1.75rem;height:1.75rem;color:var(--text-secondary);cursor:pointer;border-radius:0;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:inline-flex}.settings-btn:hover{border-color:var(--accent);color:var(--text)}.release-notes-btn{text-decoration:none;position:relative}.release-notes-badge{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.settings-menu{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;min-width:13rem;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;padding:.4rem 0;position:absolute;top:calc(100% + .35rem);right:0}.settings-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:.35rem .75rem .25rem;font-size:.55rem;font-weight:700}.settings-item{color:var(--text);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;padding:.45rem .75rem;font-size:.7rem;transition:background .12s;display:flex}.settings-item:hover{background:var(--color-overlay-white-6)}.toggle-switch{background:var(--color-elevated-3);border-radius:.5rem;flex-shrink:0;width:1.75rem;height:1rem;transition:background .2s;display:inline-block;position:relative}.toggle-switch.on{background:var(--accent)}.toggle-knob{background:var(--color-white);border-radius:50%;width:.75rem;height:.75rem;transition:transform .2s;position:absolute;top:.125rem;left:.125rem}.toggle-switch.on .toggle-knob{transform:translate(.75rem)}.filter-wrap{position:relative}.filter-btn{width:1.6rem;height:calc(100% - 4px);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;margin:2px;transition:background .15s,color .15s;display:inline-flex;position:relative}.filter-btn:hover{background:var(--color-overlay-white-8);color:var(--text)}.filter-badge{background:var(--accent);color:var(--color-black);border-radius:50%;justify-content:center;align-items:center;width:.9rem;height:.9rem;font-size:.5rem;font-weight:700;line-height:1;display:flex;position:absolute;top:-.3rem;right:-.3rem}.filter-panel{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;width:max-content;min-width:20rem;max-width:min(27rem,100vw - 1rem);max-height:28rem;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;padding:.5rem 0;font-size:.75rem;position:absolute;top:0;left:0;overflow-y:auto}.filter-panel-header{text-transform:uppercase;letter-spacing:.06em;color:var(--accent);border-bottom:1px solid var(--border);align-items:center;gap:.5rem;margin-bottom:.25rem;padding:.5rem .75rem .45rem;font-size:.75rem;font-weight:700;display:flex}.filter-clear{color:var(--accent);text-transform:none;letter-spacing:normal;margin-left:auto;font-size:.7rem;font-weight:500;text-decoration:none}.filter-clear:hover{text-decoration:underline}.filter-group{padding:.4rem .75rem}.filter-group-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.3rem;font-size:.7rem;font-weight:600}.filter-chips{flex-wrap:wrap;gap:.3rem;display:flex}.filter-chip{background:var(--color-accent-tint-6);border:1px solid var(--accent-dim);color:var(--accent);cursor:pointer;border-radius:4px;align-items:center;padding:.25rem .65rem;font-size:.7rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.filter-chip:hover{background:var(--color-accent-tint-14);border-color:var(--accent)}.filter-chip.active{color:var(--color-black);border-color:var(--accent);background:var(--accent);font-weight:600}.filter-chip-alt{border-style:dashed;border-color:var(--color-blue-bright);color:var(--color-blue-bright)}.filter-chip-alt:hover{background:var(--color-blue-bright-tint-14);border-color:var(--color-blue-bright)}.filter-chip-alt.active{background:var(--color-blue-bright);border-color:var(--color-blue-bright);color:var(--color-black)}.range-filters-grid{padding:.4rem 0;display:flex}.range-filters-col{flex:1;min-width:0}.range-filters-divider{background:var(--border);flex-shrink:0;width:1px}.range-filter-cell{min-width:0;padding:0 .75rem}.range-filter-cell .filter-group-label{padding:.35rem 0 .15rem}.range-inputs{align-items:center;gap:.3rem;display:flex}input.range-input{background:var(--bg);border:1px solid var(--border);min-width:0;height:1.2rem;color:var(--text);font-size:.6rem;line-height:1.2;font-family:var(--mono);border-radius:4px;outline:none;flex:1;padding:0 .3rem;transition:border-color .15s}.range-input:focus{border-color:var(--accent)}.range-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.range-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.range-input[type=number]{-moz-appearance:textfield}.range-input-wrap{flex:1;min-width:0;display:flex;position:relative}.range-input-wrap .range-input{border-right:none;border-top-right-radius:0;border-bottom-right-radius:0;flex:1}.range-spinners{flex-direction:column;flex-shrink:0;display:flex}.range-spin-btn{background:var(--border);border:1px solid var(--border);width:.9rem;color:var(--text-secondary);cursor:pointer;flex:1;justify-content:center;align-items:center;padding:0;font-size:.35rem;line-height:1;transition:background .12s,color .12s;display:flex}.range-spin-btn:first-child{border-bottom:none;border-top-right-radius:4px}.range-spin-btn:last-child{border-bottom-right-radius:4px}.range-spin-btn:hover{background:var(--accent-dim);color:var(--text)}.range-spin-btn:active{background:var(--accent);color:var(--color-black)}.range-sep{color:var(--text-secondary);text-align:center;font-size:.65rem}.range-unit{width:1.6rem;color:var(--text-secondary);text-align:left;flex-shrink:0;font-size:.6rem;display:inline-block}.sort-wrap{flex-shrink:0;position:relative}.sort-btn{background:var(--card);border:1px solid var(--border);height:1.75rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:.35rem;padding:0 .5rem;font-size:.7rem;transition:border-color .15s,color .15s;display:inline-flex}.sort-btn:hover{color:var(--text);border-color:var(--accent-dim)}.sort-btn-label{color:var(--text)}.sort-btn-dir{color:var(--accent);font-size:.5rem}.sort-menu{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;min-width:10rem;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;padding:.4rem 0;position:absolute;top:calc(100% + .35rem);left:0}.sort-menu-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);padding:.35rem .75rem .25rem;font-size:.55rem;font-weight:700}.sort-menu-item{width:100%;color:var(--text);cursor:pointer;white-space:nowrap;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.7rem;transition:background .12s;display:flex}.sort-menu-item:hover{background:var(--color-overlay-white-6)}.sort-menu-item.active{color:var(--accent)}.sort-menu-check{text-align:center;width:.85rem;color:var(--accent);flex-shrink:0;font-size:.6rem}.sort-menu-divider{background:var(--border);height:1px;margin:.3rem .5rem}.active-filters{flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:.6rem;padding-right:1rem;display:flex}.active-filter-chip{background:var(--color-accent-tint-8);border:1px solid var(--accent-dim);color:var(--accent);border-radius:999px;align-items:center;gap:.2rem;padding:.1rem .15rem .1rem .45rem;font-size:.6rem;display:inline-flex}.active-filter-label{white-space:nowrap}.active-filter-remove{color:var(--accent-dim);cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.75rem;line-height:1}.active-filter-remove:hover{color:var(--color-red-strong)}.filter-clear-inline{color:var(--text-secondary);margin-left:.25rem;font-size:.6rem}.filter-clear-inline:hover{color:var(--accent)}.badge-no-drop{text-transform:uppercase;letter-spacing:.04em;background:var(--color-red-soft-tint-18);color:var(--color-red-mid);vertical-align:middle;border-radius:3px;margin-left:.35rem;padding:.05rem .3rem;font-family:sans-serif;font-size:.55rem;font-weight:700;display:inline-block}.badge-no-drop s{text-decoration:line-through}.badge-unused{text-transform:uppercase;letter-spacing:.04em;background:var(--color-accent-alt-tint-18);color:var(--color-accent-alt);vertical-align:middle;border-radius:3px;margin-left:.35rem;padding:.05rem .3rem;font-family:sans-serif;font-size:.55rem;font-weight:700;display:inline-block}.ammo-variants{flex-wrap:wrap;gap:.25rem;display:flex}.badge-hands{text-transform:uppercase;border-radius:3px;padding:.1rem .35rem;font-family:sans-serif;font-size:.65rem;font-weight:600;display:inline-block}.badge-hands[data-hands="1"]{background:var(--color-green-mid-tint-15);color:var(--color-green-positive)}.badge-hands[data-hands="2"]{background:var(--color-blue-tint-15);color:var(--color-blue-soft)}.modal-description{color:var(--text-secondary);margin:0;font-size:.8rem;font-style:italic;line-height:1.5}.modal-desc-meta{flex-direction:column;gap:.4rem;margin:.35rem 0 .25rem;display:flex}.desc-chip-group{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.desc-chip{background:var(--color-grey-blue-tint-12);color:var(--text-secondary);border-radius:3px;padding:.1rem .4rem;font-family:sans-serif;font-size:.65rem;font-weight:500;display:inline-block}.desc-chip-warning{background:var(--color-red-tint-18);color:var(--color-red-warm)}.desc-chip-scope{background:var(--color-teal-tint-14);color:var(--text-secondary);cursor:pointer;font-family:monospace;font-size:.63rem;text-decoration:none}.desc-chip-scope:hover{background:var(--color-teal-tint-28);color:var(--text-primary)}.desc-chip-silencer{background:var(--color-blue-tint-14);color:var(--text-secondary);cursor:pointer;text-decoration:none}.desc-chip-silencer:hover{background:var(--color-blue-tint-28);color:var(--text-primary)}.desc-chip-launcher{background:var(--color-orange-warm-tint-14);color:var(--text-secondary);cursor:pointer;text-decoration:none}.desc-chip-launcher:hover{background:var(--color-orange-warm-tint-28);color:var(--text-primary)}.addon-tile-group{align-items:flex-start}.desc-chip-label.addon-tile-section-label{opacity:1;width:100%;color:var(--color-text-secondary);margin-bottom:.1rem;padding-top:.35rem;font-size:15px;display:block}.addon-img-tile{cursor:pointer;vertical-align:top;border-radius:4px;flex-direction:column;align-items:center;gap:.2rem;min-width:3.2rem;max-width:6rem;padding:.3rem .45rem .35rem;text-decoration:none;transition:background .15s;display:inline-flex}.addon-img-tile-icon{object-fit:contain;width:auto;max-width:4.5rem;height:2rem;image-rendering:pixelated;display:block}.addon-img-tile-name{text-align:center;word-break:break-word;color:var(--text-secondary);max-width:5.5rem;font-size:.55rem;line-height:1.25}.addon-img-tile-scope{background:var(--color-teal-tint-14)}.addon-img-tile-scope:hover{background:var(--color-teal-tint-30)}.addon-img-tile-silencer{background:var(--color-blue-tint-14)}.addon-img-tile-silencer:hover{background:var(--color-blue-tint-30)}.addon-img-tile-launcher{background:var(--color-orange-warm-tint-14)}.addon-img-tile-launcher:hover{background:var(--color-orange-warm-tint-30)}.addon-tile-grid{flex-wrap:wrap;align-items:flex-start;gap:.35rem;display:flex}.desc-chip-label{color:var(--text-secondary);opacity:.65;align-items:center;margin-right:.1rem;font-size:.62rem;font-weight:600;display:inline-flex}.modal-badges{flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem;display:flex}.modal-badges .badge-flag{margin-left:0}.name-tags{flex-wrap:wrap;gap:.2rem;margin-top:.2rem;display:flex}.name-tags .badge-flag{margin-left:0}.badge-flag{text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;border-radius:3px;margin-left:.35rem;padding:.1rem .45rem;font-family:sans-serif;font-size:.7rem;font-weight:600;display:inline-block}.badge-perk{background:var(--color-accent-tint-18);color:var(--color-accent-gold)}.badge-junk{background:var(--color-grey-tint-12);color:var(--color-text-tertiary)}.badge-craftable{background:var(--color-green-mid-tint-15);color:var(--color-green-positive)}.badge-powered{background:var(--color-blue-tint-15);color:var(--color-blue-soft)}.badge-cookable{background:var(--color-orange-warm-tint-18);color:var(--color-accent-orange)}.badge-ingredient{background:var(--color-accent-tan-tint-18);color:var(--color-accent-tan)}.badge-craft-mat{background:var(--color-purple-tint-18);color:var(--color-purple-light)}.badge-thick-skin{background:var(--color-red-tint-15);color:var(--color-red-warm-soft)}.badge-type{background:var(--color-blue-tint-18);color:var(--color-blue-light)}.badge-compat{background:var(--color-blue-tint-14);color:var(--color-blue-soft)}#app-preloader{z-index:9999;background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.preloader-card{background:var(--card);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:.6rem;padding:2rem 2.5rem;animation:.3s .5s both fadeIn;display:flex}.preloader-logo{opacity:.8;height:40px}.preloader-title{color:var(--accent);letter-spacing:.25em;margin:0 0 .75rem;font-size:.7rem;font-weight:600}.preloader-text{color:var(--text-secondary);letter-spacing:.05em;font-size:.7rem}.preloader-footer{color:var(--text-secondary);opacity:.5;font-size:.7rem;animation:.3s .5s both fadeIn;position:absolute;bottom:2rem}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:6rem 0;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.loading-spinner-sm{border-width:2px;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:.85rem}.error-msg{color:var(--color-red-strong);padding:2rem 0}.item-detail{max-width:48rem}.back-link{margin-bottom:1rem;font-size:.875rem;display:inline-block}.item-detail h1{margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.item-meta{align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.item-toolbar{align-items:center;gap:.35rem;margin-bottom:.5rem;display:flex}.item-toolbar .compare-wrap .copy-link-btn{border-radius:4px}.item-meta .cat-badge{color:var(--accent);background:var(--color-accent-tint-10);border:1px solid var(--accent-dim);border-radius:3px;padding:.125rem .625rem;font-size:.75rem}.item-meta .item-id{font-family:var(--mono);color:var(--text-secondary);font-size:.875rem}.copy-id-btn{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);font-size:.75rem;font-family:var(--mono);cursor:pointer;border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .6rem;transition:color .15s,border-color .15s;display:inline-flex}.copy-id-btn:hover{color:var(--text);border-color:var(--accent-dim)}.copy-id-btn.copied{color:var(--color-green-mid);border-color:var(--color-green-tint-30)}.copy-id-btn .copy-id-text{font-family:var(--mono)}.utility-group{flex-shrink:0;display:flex}.utility-group>:first-child>button,.utility-group>button:first-child{border-radius:4px 0 0 4px}.utility-group>:last-child>button,.utility-group>button:last-child{border-radius:0 4px 4px 0}.utility-group>*+*>button,.utility-group>*+button,.utility-group>button+*>button{margin-left:-1px}.utility-group>button:hover{z-index:1}.utility-group>:has(>button:hover){z-index:1}.copy-link-btn{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;transition:color .15s,border-color .15s;display:flex}.copy-link-btn:hover{color:var(--text);border-color:var(--accent-dim)}.copy-link-btn.copied{color:var(--color-green-mid);border-color:var(--color-green-tint-30);z-index:2}.copy-link-btn.favorited,.copy-link-btn.pinned{color:var(--accent);border-color:var(--accent-dim);z-index:2}.download-wrap{position:relative}.download-btn{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;padding:0;transition:color .15s,border-color .15s;display:flex}.download-btn:hover{color:var(--text);border-color:var(--accent-dim)}.download-menu{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;min-width:10rem;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;padding:.4rem 0;position:absolute;top:calc(100% + .35rem);right:0}.download-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;padding:.45rem .75rem;font-size:.7rem;transition:background .12s;display:block}.download-menu-item:hover{background:var(--color-overlay-white-6)}.stat-grid{grid-template-columns:1fr 1fr;gap:0 2rem;display:grid}@media (width>=1400px){.stat-grid{grid-template-columns:1fr 1fr 1fr 1fr}}@media (width>=900px) and (width<=1399px){.stat-grid{grid-template-columns:1fr 1fr 1fr}}.stat-grid .stat-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:.35rem 0;display:flex}.stat-grid .stat-label{color:var(--text-secondary);font-size:.8rem}.info-hint{vertical-align:middle;opacity:.55;cursor:help;width:1.1em;height:1.1em;color:var(--color-blue);margin-top:-.2em;margin-bottom:-.2em;margin-left:.3em}.stat-grid .stat-value{font-family:var(--mono);text-align:right;font-size:.8rem}.stat-grid .stat-section{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--accent-dim);grid-column:1/-1;padding-top:.75rem;padding-bottom:.25rem;font-size:.75rem;font-weight:600}.compare-wrap{position:relative}.compare-menu{background:var(--color-card-alt);border:1px solid var(--border);z-index:50;min-width:10rem;box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;padding:.4rem 0;position:absolute;top:calc(100% + .35rem);right:0}.copy-link-btn.active{color:var(--accent);border-color:var(--accent-dim)}.cross-pack-no-changes{color:var(--text-secondary);margin:0;font-size:.8rem;font-style:italic}.diff-values{align-items:baseline;gap:.4rem;display:inline-flex}.diff-old{color:var(--text-secondary)}.diff-arrow{color:var(--text);opacity:.7}.diff-new{border-radius:3px;padding:.1rem .3rem}.diff-up{color:var(--color-green-positive);background:var(--color-green-tint-15)}.diff-down{color:var(--color-red-warm-soft);background:var(--color-red-warm-soft-tint-15)}.stat-table{border-collapse:collapse;width:100%}.stat-table th,.stat-table td{text-align:left;border-bottom:1px solid var(--border);padding:.375rem .75rem}.stat-table th{color:var(--text-secondary);width:40%;font-size:.875rem;font-weight:400}.stat-table td{font-family:var(--mono);font-size:.875rem}.stat-table .section-header td{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--accent-dim);padding-top:1rem;font-family:inherit;font-size:.75rem;font-weight:600}.modal-backdrop{background:var(--color-overlay-black-70);z-index:100;justify-content:center;align-items:center;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow:hidden}.modal{background:var(--bg);border:1px solid var(--border);width:100%;max-width:calc(100vw - 16rem);height:calc(100vh - 4rem);box-shadow:0 25px 50px -12px var(--color-overlay-black-50);border-radius:8px;flex-direction:column;display:flex;position:relative}.modal-close{background:var(--color-overlay-white-8);border:1px solid var(--color-overlay-white-15);color:var(--color-overlay-white-50);cursor:pointer;z-index:101;border-radius:6px;padding:.35rem .6rem;font-size:1.5rem;line-height:1;transition:background .15s,color .15s;position:absolute;top:.5rem;right:.5rem}.modal-close:hover{background:var(--color-overlay-white-15);color:var(--color-overlay-white-90)}.modal-nav{background:var(--color-overlay-white-8);border:1px solid var(--color-overlay-white-15);color:var(--color-overlay-white-50);cursor:pointer;z-index:101;border-radius:6px;padding:.5rem .75rem;font-size:2rem;line-height:1;transition:background .15s,color .15s;position:absolute;top:50%;transform:translateY(-50%)}.modal-nav:hover{background:var(--color-overlay-white-15);color:var(--color-overlay-white-90)}.modal-nav-prev{left:.5rem}.modal-nav-next{right:.5rem}.modal-description-row{align-items:flex-start;gap:.75rem;display:flex}.modal-description-content{flex:1;min-width:0}.modal-faction-row{margin-bottom:.35rem}.modal-faction-icon{opacity:.8;flex-shrink:0;width:2rem;height:2rem;transition:opacity .15s}.modal-faction-icon:hover{opacity:1}.modal-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--border) var(--bg);flex:1;padding:.75rem 1.5rem 1.5rem;overflow-y:auto}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-track{background:var(--bg)}.modal-body::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.modal-body::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.modal-header-layout{align-items:flex-start;gap:1.5rem;margin-bottom:.6rem;animation:.25s fade-in;display:flex}.modal-item-img-box{background:var(--color-map-bg);border:1px solid var(--color-map-elevated-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;min-width:100px;min-height:68px;padding:.4rem .7rem;display:flex;position:relative;overflow:hidden}.modal-item-img{object-fit:contain;max-width:160px;min-height:68px;max-height:68px;display:block}.modal-item-faction-badge{z-index:1;width:1.75rem;height:1.75rem;position:absolute;bottom:.25rem;right:.25rem}.modal-item-img-box .modal-item-img-placeholder{color:var(--text-secondary);opacity:.35;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;display:none}.modal-item-img-box.no-icon .modal-item-img-placeholder{display:flex}.modal-item-img-box .item-icon-placeholder-x{width:60px;height:28px}.modal-item-img-box .item-icon-placeholder-text{text-transform:uppercase;letter-spacing:.05em;font-size:.6rem}.modal-header-content{min-width:0}@media (width<=500px){.modal-header-layout{flex-direction:column}.modal-item-img-box{display:none}}.modal-addon-img-box{background:var(--color-map-bg);border:1px solid var(--color-map-elevated-2);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:.3rem .5rem;display:flex}.modal-addon-img-box .modal-addon-img{object-fit:contain;width:auto;max-width:140px;height:2.5rem;image-rendering:pixelated;display:block}@media (width<=500px){.modal-addon-img-box{display:none}}.modal-title-row{align-items:center;gap:.5rem;display:flex}.modal-pin-icon{flex-shrink:0;font-size:1.1rem}.modal-pin-icon:hover{opacity:.8!important}.modal-title{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.item-icon{vertical-align:middle;object-fit:contain;flex-shrink:0}.item-icon-sm{width:20px;height:20px;margin-right:.35rem}.item-icon-float{float:right;align-items:flex-start;gap:.5rem;margin:0 0 .5rem 1rem;animation:.3s fade-in;display:flex;position:relative}.item-icon-float-faction{z-index:1;width:2.5rem;height:2.5rem;position:absolute;bottom:0;right:0}.item-icon-float .item-icon-lg{vertical-align:top;opacity:0;transition:opacity .3s;display:block}.item-icon-float .item-icon-lg.item-icon-landscape{opacity:1;transform:translateY(.75rem)}.item-icon-float .item-icon-lg.item-icon-portrait{opacity:1}.item-icon-float .item-icon-placeholder{width:120px;height:60px;position:relative;inset:auto}.item-icon-float.no-icon .item-icon-placeholder{display:flex}.item-icon-banner{box-sizing:border-box;border-radius:6px;align-items:center;gap:.5rem;width:100%;height:80px;margin-bottom:.75rem;padding:.75rem;animation:.3s fade-in;display:flex;overflow:hidden}.item-icon-banner:has(.item-icon-ammo){background:var(--color-overlay-white-7)}.item-icon-main{justify-content:center;align-items:center;min-width:120px;max-width:180px;min-height:60px;display:flex;position:relative}.item-icon-ammo{align-items:center;gap:.4rem;min-width:0;margin-left:auto;display:flex;overflow:hidden}.item-icon-ammo-divider{background:var(--color-overlay-white-15);flex-shrink:0;width:1px;height:60px}.item-icon-ammo-list{flex-wrap:nowrap;align-items:center;gap:.15rem;display:flex;overflow:hidden}.item-icon-ammo-img{opacity:.8;flex-shrink:0;width:100px;height:auto;transition:opacity .15s}.item-icon-ammo-img:hover{opacity:1}.item-icon-ammo-img.ammo-alt{opacity:.5}.item-icon-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.item-icon-placeholder{width:100%;height:100%;color:var(--text-secondary);opacity:.3;border:1px solid var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;display:none;position:absolute;inset:0}.item-icon-main.no-icon .item-icon-placeholder,.item-icon-wrapper.no-icon .item-icon-placeholder{animation:.3s fade-in;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.item-icon-placeholder-x{width:100%;height:100%;position:absolute;inset:0}.item-icon-placeholder-text{text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;position:relative}.item-icon-lg{object-fit:contain;max-width:100%;max-height:100%}.item-icon-hidden{display:none}.drop-sources{margin-top:1.25rem}.drop-sources h2{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--accent-dim);margin-bottom:.5rem;padding-bottom:.3rem;font-size:.85rem;font-weight:600}.drop-sources h2.section-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;display:flex}.drop-sources h2.section-toggle:hover{color:var(--color-accent-light)}.section-chevron{flex-shrink:0;transition:transform .2s;transform:rotate(90deg)}.drop-sources.collapsed .section-chevron{transform:rotate(0)}.drop-sources.collapsed>:not(h2){display:none}.drop-sources.collapsed h2{border-bottom-style:dashed;margin-bottom:0;padding-bottom:.3rem}.drop-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.5rem;display:grid}.drop-faction{background:var(--card);border:1px solid var(--border);border-radius:4px;align-items:flex-start;gap:.6rem;padding:.5rem 1rem .5rem .5rem;display:flex}.drop-faction-icon{object-fit:contain;opacity:.85;flex-shrink:0;width:1.75rem;height:1.75rem;margin-top:.1rem}.drop-faction-body{flex:1;min-width:0}.drop-faction-name{color:var(--text);margin-bottom:.35rem;font-size:.8rem;font-weight:600}.drop-ranks{flex-wrap:wrap;gap:.25rem;display:flex}.drop-rank{background:var(--color-accent-tint-10);color:var(--accent);border-radius:3px;padding:.1rem .35rem;font-size:.6rem;font-weight:500}.stash-drop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;display:grid}.stash-drop-card{background:var(--card);border:1px solid var(--border);text-align:center;border-radius:4px;padding:.4rem .5rem}.stash-drop-map{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.75rem;font-weight:600;overflow:hidden}.stash-drop-chances{font-family:var(--mono);justify-content:center;gap:.5rem;font-size:.75rem;display:flex}.stash-chance-common{color:var(--color-white)}.stash-chance-rare{color:var(--color-accent)}.stash-drop-ecos{color:var(--text-secondary);justify-content:center;gap:.35rem;margin-top:.2rem;font-size:.6rem;display:flex}.toolkit-rates-view{min-width:0;padding:0;overflow-x:auto}.toolkit-rates-table{border-collapse:collapse;width:100%;min-width:500px;font-size:.7rem}.toolkit-rates-table thead{z-index:2;position:sticky;top:0}.toolkit-rates-table th{background:var(--card);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:.4rem .6rem;font-size:.6rem;font-weight:600}.toolkit-rates-table th:hover{color:var(--text)}.toolkit-rates-table td{border-bottom:1px solid var(--border);padding:.3rem .6rem}.toolkit-rates-table tbody tr:hover{background:var(--card-raised)}.toolkit-map-col{text-align:left;white-space:nowrap;font-weight:500}.toolkit-rate-col{text-align:right;font-family:var(--mono);color:var(--text)}.toolkit-rates-table td.toolkit-rate-col{transition:background .15s}.pin-col-header{width:1.2rem;min-width:1.2rem;max-width:1.2rem;cursor:default!important}.pin-col-header:hover{color:var(--text-secondary)!important}.pin-col{text-align:center;cursor:pointer;width:1.2rem;min-width:1.2rem;max-width:1.2rem;padding:.1rem!important}.pin-icon{opacity:.25;filter:grayscale();cursor:pointer;font-size:.75rem;transition:opacity .15s,filter .15s}.pin-icon.pinned{opacity:1;filter:none}.clickable-row:hover .pin-icon{opacity:.55}.clickable-row:hover .pin-icon.pinned{opacity:1}.pin-icon.pin-disabled{opacity:.1;cursor:not-allowed}.fav-col-header{width:1.2rem;min-width:1.2rem;max-width:1.2rem;cursor:default!important}.fav-col{text-align:center;cursor:pointer;width:1.2rem;min-width:1.2rem;max-width:1.2rem;padding:.1rem!important}.fav-icon{opacity:.25;color:var(--text-secondary);cursor:pointer;font-size:.85rem;transition:opacity .15s,color .15s}.fav-icon.favorited{opacity:1;color:var(--accent)}.fav-icon:hover{opacity:.7}.fav-icon.favorited:hover{opacity:.85}.clickable-row:hover .fav-icon{opacity:.55}.clickable-row:hover .fav-icon.favorited{opacity:1}.tile-card-header .fav-icon{font-size:.7rem}.modal-fav-icon{flex-shrink:0;font-size:1.1rem}.modal-fav-icon:hover{opacity:.8!important}.badge-category{background:var(--color-accent-tint-15);color:var(--accent);margin-left:auto}.fav-filter-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.15rem .35rem;font-size:.75rem;line-height:1;transition:all .15s}.fav-filter-btn:hover{border-color:var(--accent-dim);color:var(--accent)}.fav-filter-btn.active{background:var(--accent);border-color:var(--accent);color:var(--color-black)}.fav-filter-star{font-size:.8rem}.favorites-empty{color:var(--text-secondary);justify-content:center;align-items:center;padding:3rem 1rem;font-size:.8rem;display:flex}.fav-icon-inline{color:var(--accent);font-size:.9rem}.compare-bar{background:var(--color-surface-4);border-top:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .75rem;display:flex}.compare-bar-icon{width:1.25rem;height:1.25rem;color:var(--accent-dim);flex-shrink:0}.compare-bar-chips{flex-wrap:wrap;flex:1;gap:.375rem;min-width:0;display:flex}.compare-chip{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:.25rem;max-width:200px;padding:.2rem .5rem;font-size:.7rem;display:inline-flex}.compare-chip-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compare-chip-cat{color:var(--text-secondary);background:var(--border);border-radius:3px;flex-shrink:0;padding:.05rem .3rem;font-size:.55rem}.compare-chip-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:.85rem;line-height:1}.compare-chip-remove:hover{color:var(--color-red-strong)}.compare-bar-actions{flex-shrink:0;gap:.5rem;display:flex}.compare-btn{background:var(--accent);color:var(--color-black);cursor:pointer;border:none;border-radius:4px;padding:.35rem .85rem;font-size:.75rem;font-weight:600;transition:opacity .15s}.compare-btn:disabled{opacity:.4;cursor:not-allowed}.compare-btn:not(:disabled):hover{opacity:.85}.compare-clear-btn{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.35rem .65rem;font-size:.75rem;transition:color .15s,border-color .15s}.compare-clear-btn:hover{color:var(--color-red-strong);border-color:var(--color-red-strong)}.compare-modal{width:100%;max-width:60rem;height:calc(100vh - 4rem)}.compare-header{flex-shrink:0;align-items:center;gap:1rem;padding:1.5rem 2rem 0;display:flex}.compare-title{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin:0;font-size:1.1rem;font-weight:700}.compare-content{flex-direction:column;flex:1;min-height:0;padding:1rem 2rem 2rem;display:flex;overflow:hidden}.compare-view-toggle{flex-shrink:0;gap:.25rem;display:flex}.compare-view-toggle button{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;padding:.3rem .75rem;font-size:.75rem;transition:all .15s}.compare-view-toggle button:hover{border-color:var(--accent-dim)}.compare-view-toggle button.active{background:var(--border);color:var(--text);border-color:var(--accent-dim)}.compare-chart-wrap{flex:1;justify-content:center;align-items:center;width:100%;max-width:750px;min-height:0;margin:0 auto;display:flex;overflow-y:auto}.build-radar-section{grid-column:1/-1}.build-radar-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .25rem;font-size:.7rem;font-weight:600}.build-radar-wrap{max-width:350px;margin:0 auto}.compare-table-wrap{overscroll-behavior:contain;scrollbar-width:thin;flex:1;min-height:0;overflow:auto}.compare-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:.8rem}.compare-table th,.compare-table td{border-bottom:1px solid var(--border);white-space:normal;word-break:break-word;padding:.375rem .75rem;overflow:hidden}.compare-table thead th{background:var(--bg);border-bottom:2px solid var(--border);vertical-align:bottom;font-size:.75rem;font-weight:500;position:sticky;top:0}.compare-label-col{background:var(--bg);z-index:2;color:var(--text-secondary);border-right:1px solid var(--border);width:8rem;position:sticky;left:0}.compare-item-col{text-align:center}.compare-item-name{color:var(--accent);font-size:.8rem;font-weight:600;display:block}.compare-item-cat{color:var(--text-secondary);margin-top:.15rem;font-size:.6rem;display:block}.compare-label{background:var(--bg);z-index:1;color:var(--text-secondary);border-right:1px solid var(--border);font-size:.75rem;position:sticky;left:0}.compare-value{text-align:center;font-family:var(--mono)}.compare-icon{margin-right:.2rem;font-size:.6rem}.stat-best,.stat-best .compare-icon{color:var(--color-green-positive)}.stat-worst,.stat-worst .compare-icon{color:var(--color-red-warm-soft)}.hamburger-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;padding:8px;display:none}.hamburger-btn span{background:var(--text-secondary);border-radius:1px;width:22px;height:2px;transition:transform .2s,opacity .2s;display:block}.hamburger-btn.active span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger-btn.active span:nth-child(2){opacity:0}.hamburger-btn.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.sidebar-backdrop,.filter-panel-backdrop,.filter-panel-close{display:none}.filter-panel-fullscreen{width:auto;min-width:unset;z-index:160;-webkit-overflow-scrolling:touch;border-radius:0;flex-direction:column;max-width:none;max-height:none;display:flex;overflow-y:auto;position:fixed!important;inset:0!important}.filter-fullscreen-active .content,.filter-fullscreen-active .layout,.filter-fullscreen-active #app{overflow:visible}.filter-fullscreen-active .filter-panel-backdrop{z-index:155;background:var(--color-overlay-black-50);display:block;position:fixed;inset:0}.filter-panel-fullscreen .filter-panel-close{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;font-size:1.25rem;display:flex}@media (width<=768px){.hamburger-btn{display:flex}.site-header{gap:.5rem;padding:.5rem .75rem}.site-logo{display:none}.header-pack-label{font-size:.8rem}.header-desktop-items{display:none!important}.nav-bar.header-desktop-items{display:flex!important}.header-mobile-items{display:flex}.header-search-btn{margin-left:auto}.whats-new-banner{width:auto;max-width:none;left:.75rem;right:.75rem}.layout,.layout.sidebar-hidden,.layout.sidebar-collapsed{grid-template-rows:1fr;grid-template-columns:1fr}.sidebar{z-index:150;background:var(--bg);border-right:1px solid var(--border);width:260px;max-width:80vw;padding:.5rem 0;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:140;background:var(--color-overlay-black-50);display:block;position:fixed;inset:0}.sidebar button,.sidebar .sidebar-group-items a{min-height:44px;font-size:.85rem}.sidebar-collapse-btn{display:none}.layout.sidebar-collapsed{grid-template-columns:1fr}.layout.sidebar-collapsed .sidebar{display:none}.content{padding:.75rem 0 0 .75rem}.filter-bar{flex-wrap:wrap;gap:.5rem;padding-right:.75rem}.filter-input-group{flex:100%;order:1;min-width:0;max-width:none}.sort-wrap{order:2}.filter-bar .item-count{display:none}.view-toggle{order:3;margin-left:auto}.utility-group{order:4}.tile-grid{grid-template-columns:1fr;padding-right:.75rem}.active-filters,.exchange-faction-chips,.crafting-trees-toolbar{padding-right:.75rem}.item-table{font-size:.7rem}.modal-backdrop{padding:.5rem}.modal{border-radius:6px;max-width:none;max-height:calc(100vh - 1rem)}.modal-nav{display:none}.modal-body{padding:1rem}.modal-title{font-size:1.15rem}.compare-modal{border-radius:6px;max-width:none;height:calc(100vh - 1rem)}.compare-header{flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem 0}.compare-content{padding:.5rem .5rem 1rem}.compare-title{font-size:.95rem}.compare-table{min-width:500px;font-size:.7rem}.compare-label-col{width:5.5rem}.compare-table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.compare-chart-wrap{max-width:100%}.stat-grid{grid-template-columns:1fr}.compare-bar{flex-wrap:wrap;padding:.5rem .75rem}.compare-bar-icon{display:none}.compare-bar-chips{flex:100%;overflow-x:auto}.compare-bar-actions{flex:100%;justify-content:flex-end}.site-footer{padding:.1rem .5rem}.footer-label,.footer-center .footer-credit-full{display:none}.footer-center .footer-credit-short{display:inline}.footer-left,.footer-right{flex:none}.footer-center{text-align:center;flex:1}.site-footer a svg{margin-right:0}.settings-btn,.sort-btn,.filter-input-group,.view-toggle button,.copy-link-btn,.download-btn,.header-link{min-width:44px;min-height:44px}.compare-btn,.compare-clear-btn{min-height:44px;padding-left:1rem;padding-right:1rem}.filter-panel{width:auto;min-width:unset;z-index:160;-webkit-overflow-scrolling:touch;border-radius:0;flex-direction:column;max-width:none;max-height:none;display:flex;overflow-y:auto;position:fixed!important;inset:0!important}.filter-panel-backdrop{z-index:155;background:var(--color-overlay-black-50);display:block;position:fixed;inset:0}.filter-panel-close{width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:auto;font-size:1.25rem;display:flex}.range-filters-grid{flex-direction:column}.range-filters-divider{width:auto;height:1px;margin:.25rem .5rem}.filter-chip{min-height:44px;padding:.4rem .85rem;font-size:.75rem}.filter-chips{gap:.4rem}.range-input{min-height:36px;padding:.2rem .5rem;font-size:.75rem}.range-spin-btn{width:1.5rem;font-size:.45rem}.filter-group{padding:.5rem 1rem}.filter-group-label,.range-filter-cell .filter-group-label{font-size:.75rem}}.recipe-card{cursor:pointer}.recipe-ingredients{flex-direction:column;gap:.2rem;display:flex}.recipe-ingredient{align-items:center;gap:.35rem;font-size:.75rem;display:flex}.recipe-ingredient a{color:var(--accent);text-decoration:none}.recipe-ingredient a:hover{text-decoration:underline}.recipe-base{color:var(--accent);font-weight:600}.recipe-plus{color:var(--text-secondary);flex-shrink:0;font-size:.7rem}.recipe-ing-amount{font-family:var(--mono);background:var(--color-grey-blue-tint-12);color:var(--color-blue-grey);border-radius:3px;flex-shrink:0;padding:.05rem .3rem;font-size:.6rem;font-weight:600}.recipe-ingredients-modal{gap:.35rem}.recipe-ingredients-modal .recipe-ingredient{font-size:.85rem}.recipe-ingredients-modal .recipe-ing-amount{font-size:.7rem}.recipe-used-list{flex-direction:column;gap:.25rem;display:flex}.recipe-used-item{font-size:.85rem}.recipe-used-item a{color:var(--accent)}.material-sources{grid-template-columns:1fr 1fr;gap:.2rem .75rem;display:grid}.material-source{align-items:baseline;gap:.35rem;font-size:.75rem;display:flex}.material-source .recipe-ing-amount{flex-shrink:0;font-size:.75rem}.material-source .material-from{flex-shrink:0}.material-from{color:var(--text-secondary);font-size:.7rem}.material-source a{color:var(--accent);text-decoration:none}.material-source a:hover,.recipe-used-item a:hover{text-decoration:underline}.crafting-trees-view{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex;overflow:auto}.crafting-trees-toolbar{align-items:center;gap:.75rem;padding:.25rem 0;display:flex}.crafting-trees-toolbar .view-toggle{margin-left:0}.crafting-expand-toggle-btn{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;height:1.75rem;padding:0 .5rem;font-family:inherit;font-size:.75rem;transition:color .15s,border-color .15s;display:flex}.crafting-expand-toggle-btn:hover{color:var(--text);border-color:var(--accent-dim)}.crafting-tree-card .tile-card-header{border-bottom:1px solid var(--border);margin-bottom:.25rem;padding-bottom:.35rem}.crafting-tree-body{flex-direction:column;gap:.1rem;display:flex}.tree-row{border-left:1px solid var(--border);align-items:center;gap:.35rem;font-size:.7rem;line-height:1.6;display:flex}.tree-toggle{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;text-align:center;flex-shrink:0;width:.8rem;font-size:.55rem}.tree-toggle:hover{color:var(--accent)}.tree-leaf-dot{color:var(--text-secondary);text-align:center;flex-shrink:0;width:.8rem;font-size:.55rem}.tree-raw{color:var(--text-secondary)}.tree-row .recipe-ing-amount{margin-left:auto}.crafting-graph-view{flex-direction:column;flex:1;gap:.6rem;min-height:0;padding:.25rem 0;display:flex}.crafting-graph-toolbar{align-items:center;gap:.5rem;display:flex}.icon-btn{border:1px solid var(--border);width:1.9rem;height:1.9rem;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.icon-btn:hover{color:var(--text);border-color:var(--accent-dim);background:var(--color-overlay-white-5)}.crafting-graph-title{color:var(--accent);font-size:1rem;font-weight:700}.crafting-graph-controls{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.crafting-graph-list{border:1px solid var(--border);background:var(--color-overlay-white-1);border-radius:6px;flex:1;min-height:0;padding:.45rem;overflow:auto}.crafting-graph-collapsible{border:1px solid var(--border);background:var(--color-surface-3);border-radius:6px}.crafting-graph-collapsible+.crafting-graph-collapsible{margin-top:.45rem}.crafting-graph-collapsible-head{width:100%;color:var(--text);cursor:pointer;text-align:left;border:none;border-bottom:1px solid var(--color-overlay-white-3);background:0 0;align-items:center;gap:.45rem;padding:.45rem .6rem;font-size:.74rem;display:flex}.crafting-graph-collapsible-head:hover{background:var(--color-overlay-white-3)}.crafting-graph-caret{color:var(--accent);text-align:center;flex-shrink:0;width:.75rem}.crafting-graph-collapsible-name{font-weight:600}.crafting-graph-body{padding:.65rem;overflow:auto}.crafting-graph-layout{flex-direction:row;align-items:center;gap:0;display:flex}.crafting-graph-root-wrap{flex:0 0 17rem;align-self:center;width:17rem}.crafting-graph-right{flex-direction:row;flex:none;align-items:stretch;margin-left:1.5rem;padding-left:1.6rem;display:flex;position:relative}.crafting-graph-right:before{content:"";background:var(--color-accent);border-radius:2px;width:1.5rem;height:2px;position:absolute;top:50%;left:-1.5rem;transform:translateY(-50%)}.crafting-graph-ingredients-wrap{flex-direction:column;flex:none;gap:.6rem;display:flex;position:relative}.crafting-graph-ingredients-wrap:before{content:"";background:linear-gradient(to bottom, var(--color-accent) 0%, var(--color-blue-mid) 100%);border-radius:2px;width:2px;position:absolute;top:0;bottom:0;left:-1.6rem}.crafting-graph-ingredient-row:first-child:after{content:"";background:var(--color-surface-3);width:4px;height:50%;position:absolute;top:-1px;left:-1.7rem}.crafting-graph-ingredient-row:last-child:after{content:"";background:var(--color-surface-3);width:4px;height:calc(50% + 1px);position:absolute;top:50%;left:-1.7rem}.crafting-graph-ingredient-row{flex-direction:row;align-items:center;padding-left:1.4rem;display:flex;position:relative}.crafting-graph-ingredient-row:before{content:"";background:linear-gradient(to right, var(--color-accent), var(--color-blue-mid));border-radius:2px;width:3rem;height:2px;position:absolute;top:50%;left:-1.6rem;transform:translateY(-50%)}.crafting-graph-node{border:1px solid var(--color-elevated-4);background:var(--color-surface-5);border-radius:3px;flex-direction:column;gap:.35rem;padding:.45rem;display:flex;position:relative}.crafting-graph-node--root{width:100%}.crafting-graph-node--ingredient{width:15rem}.crafting-graph-node.clickable{cursor:pointer}.crafting-graph-node.clickable:hover{border-color:var(--accent-dim);background:var(--color-card)}.crafting-graph-node-main{align-items:flex-start;gap:.45rem;display:flex}.crafting-graph-node-img{object-fit:contain;border:1px solid var(--color-elevated-2);background:var(--color-surface-1);border-radius:3px;flex-shrink:0;width:3.05rem;height:3.05rem;padding:.15rem}.crafting-graph-node-text{min-width:0}.crafting-graph-node-title{color:var(--accent);font-size:.72rem;font-weight:700;line-height:1.3}.crafting-graph-node-amount{align-items:center;gap:.3rem;margin-top:.15rem;display:inline-flex}.crafting-graph-amount-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);font-size:.58rem}.crafting-graph-amount-value{border:1px solid var(--color-accent-muted);background:var(--color-accent-tint-20);min-width:1.6rem;color:var(--color-accent-lighter);border-radius:4px;justify-content:center;align-items:center;padding:.08rem .35rem;font-size:.72rem;font-weight:800;line-height:1.1;display:inline-flex}.crafting-graph-stats{flex-direction:column;gap:.16rem;min-width:0;margin-top:.2rem;padding:0;list-style:none;display:flex}.crafting-graph-stat{border:1px solid var(--border);background:var(--color-surface-2);color:var(--color-text-muted);border-radius:3px;justify-content:space-between;align-items:center;gap:.45rem;min-width:0;padding:.1rem .28rem;font-size:.56rem;line-height:1.25;display:flex}.crafting-graph-stat-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.crafting-graph-stat-value{color:var(--text);white-space:nowrap;flex-shrink:0;font-weight:600}.crafting-graph-stat.stat-positive{border-color:var(--color-green-deep);color:var(--color-green-pale)}.crafting-graph-stat.stat-negative{border-color:var(--color-red-deep);color:var(--color-red-pale)}.crafting-graph-stat.stat-positive .crafting-graph-stat-value{color:var(--color-green-pale)}.crafting-graph-stat.stat-negative .crafting-graph-stat-value{color:var(--color-red-pale)}@media (width<=1100px){.crafting-graph-layout{flex-direction:column;align-items:flex-start}.crafting-graph-root-wrap{width:100%}.crafting-graph-right{margin-left:1rem;padding-left:1.2rem}.crafting-graph-right:before{display:none}.crafting-graph-node--ingredient{width:100%}}.ammo-table-wrap{overflow-x:auto}.ammo-compare-table{border-collapse:collapse;width:100%;margin-bottom:.5rem;font-size:.75rem}.ammo-compare-table th,.ammo-compare-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:.3rem .5rem}.ammo-compare-table thead th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:500}.ammo-compare-table td{font-family:var(--mono);font-size:.75rem}.ammo-compare-table td:first-child{font-family:inherit}.ammo-variant-link{color:var(--accent);text-decoration:none}.ammo-variant-link:hover{text-decoration:underline}.ammo-alt-row{opacity:1}.ammo-alt-tag{vertical-align:middle;margin-left:.4rem;padding:.15rem .4rem;font-size:.6rem;font-weight:700}.ammo-compare-table .ammo-stat-cell{text-align:right}.ammo-best{color:var(--color-green-mid);font-weight:600}.ammo-arrow{margin-left:.25rem;font-size:.55rem}.arrow-up{color:var(--color-green-mid)}.arrow-down{color:var(--color-red-bright)}.arrow-neutral{color:var(--text-secondary);font-size:.35rem}.badge-ammo.clickable{cursor:pointer}.badge-ammo.clickable:hover{filter:brightness(1.3)}.used-by-grid,.addon-compat-weapons-grid{flex-wrap:wrap;gap:.35rem;display:flex}.addon-compat-weapon-link{color:var(--accent);background:var(--card);border:1px solid var(--border);border-radius:4px;padding:.25rem .5rem;font-size:.8rem;text-decoration:none}.addon-compat-weapon-link:hover{text-decoration:underline}.used-by-item{background:var(--card);border:1px solid var(--border);border-radius:4px;align-items:baseline;gap:.35rem;padding:.25rem .5rem;font-size:.8rem;display:flex}.used-by-item a{color:var(--accent);text-decoration:none}.used-by-item a:hover{text-decoration:underline}.used-by-cat{color:var(--text-secondary);font-size:.65rem}.exchange-view{flex-direction:column;flex:1;min-height:0;display:flex}.exchange-faction-chips{flex-wrap:wrap;gap:.3rem;margin-bottom:.75rem;padding-right:1rem;display:flex}.exchange-chip{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .55rem;font-size:.65rem;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.exchange-chip:hover{color:var(--text);border-color:var(--accent-dim)}.exchange-chip.active{color:var(--accent);border-color:var(--accent-dim);background:var(--color-accent-tint-8)}.exchange-chip-icon{object-fit:contain;opacity:.85;width:14px;height:14px}.exchange-card .exchange-results{flex-direction:column;gap:.15rem;display:flex}.exchange-result-row{align-items:center;gap:.5rem;font-size:.7rem;display:flex}.exchange-result-faction{color:var(--text-secondary);flex-shrink:0;align-items:center;gap:.25rem;min-width:7.5rem;font-size:.65rem;display:flex}.exchange-result-icon{object-fit:contain;opacity:.85;flex-shrink:0;width:16px;height:16px}.exchange-result-name{font-family:var(--mono);font-size:.7rem}.exchange-result-name a{color:var(--accent);text-decoration:none}.exchange-result-name a:hover{text-decoration:underline}.exchange-source-badge{color:var(--text-secondary);background:var(--border);border-radius:3px;flex-shrink:0;padding:.05rem .35rem;font-size:.55rem}.quick-nav-modal{flex-direction:column;width:100%;max-width:26rem;max-height:70vh;padding:0;display:flex;overflow:hidden}.quick-nav-search{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.quick-nav-search-icon{color:var(--text-secondary);flex-shrink:0}.quick-nav-input{color:var(--text);background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:.9rem}.quick-nav-input::placeholder{color:var(--text-secondary)}.quick-nav-list{flex:1;padding:.25rem 0;overflow-y:auto}.quick-nav-item{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.82rem;transition:background .1s;display:flex}.quick-nav-item:hover,.quick-nav-item.active{background:var(--border)}.quick-nav-item.active{color:var(--accent)}.quick-nav-item-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.quick-nav-item-group{color:var(--text-secondary);flex-shrink:0;font-size:.72rem}.quick-nav-item.active .quick-nav-item-group{color:var(--accent);opacity:.7}.quick-nav-empty{color:var(--text-secondary);text-align:center;padding:.75rem;font-size:.82rem}.quick-nav-footer{border-top:1px solid var(--border);color:var(--text-secondary);flex-shrink:0;align-items:center;gap:1rem;padding:.4rem .75rem;font-size:.7rem;display:flex}.quick-nav-footer kbd{padding:.1rem .3rem;font-size:.65rem}.shortcut-modal{max-width:40rem;height:auto}.shortcut-modal-title{color:var(--text);margin-bottom:1.25rem;font-size:1.15rem;font-weight:600}.shortcut-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.shortcut-group h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-top:0;margin-bottom:.5rem;font-size:.8rem;font-weight:600}.shortcut-group h3:not(:first-child){margin-top:1rem}.shortcut-list{margin:0;padding:0}.shortcut-row{justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem 0;display:flex}.shortcut-row dt{white-space:nowrap;color:var(--text-secondary);flex-shrink:0;font-size:.8rem}.shortcut-row dd{color:var(--text);text-align:right;margin:0;font-size:.82rem}.shortcut-row--highlight{background:var(--color-accent-tint-8);border-radius:4px;margin:0 -.25rem;padding-left:.25rem;padding-right:.25rem}.shortcut-row--highlight dt,.shortcut-row--highlight dd{color:var(--accent)}.shortcut-row--highlight kbd{color:var(--accent);background:var(--color-accent-tint-15);border-color:var(--color-accent-tint-35)}kbd{color:var(--text);background:var(--color-overlay-white-8);border:1px solid var(--color-overlay-white-15);text-align:center;border-radius:4px;min-width:1.4rem;padding:.15rem .4rem;font-family:inherit;font-size:.75rem;line-height:1.2;display:inline-block}@media (width<=600px){.shortcut-columns{grid-template-columns:1fr}.item-icon-banner{display:none}}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}.modal-enter-active,.modal-leave-active{transition:opacity .2s,transform .2s}.modal-enter-from,.modal-leave-to{opacity:0;transform:scale(.95)}.slide-up-enter-active,.slide-up-leave-active{transition:transform .2s,opacity .2s}.slide-up-enter-from,.slide-up-leave-to{opacity:0;transform:translateY(100%)}.site-footer{background:var(--bg);border-top:1px solid var(--border);width:100%;color:var(--text-secondary);justify-content:space-between;align-items:center;padding:.1rem .5rem;font-size:.7rem;display:flex}.footer-left,.footer-right{flex:1}.footer-left{gap:.75rem;display:flex}.footer-center{flex:none}.footer-credit-short{display:none}.footer-right{text-align:right}.site-footer a{color:var(--text-secondary);text-decoration:none;transition:color .15s}.site-footer a:hover{color:var(--accent)}.footer-sep{color:var(--text-secondary)}.build-player-header{background:var(--card);border:1px solid var(--border);border-radius:4px;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.15rem .5rem .15rem .35rem;display:flex}.build-player-faction{cursor:pointer;border-radius:4px;flex-shrink:0;padding:.2rem;transition:background .15s;position:relative}.build-player-faction:hover{background:var(--card-raised)}.build-player-faction-icon{object-fit:contain;filter:brightness(.9);width:1.6rem;height:1.6rem;transition:filter .15s,opacity .15s;display:block}.build-player-faction:hover .build-player-faction-icon{filter:brightness(1.1);opacity:.5}.build-player-faction-overlay{color:var(--text);opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.build-player-faction:hover .build-player-faction-overlay{opacity:1}.build-faction-picker{background:var(--card);border:1px solid var(--border);z-index:100;border-radius:4px;grid-template-columns:repeat(4,1fr);gap:.3rem;min-width:16rem;margin-top:.3rem;padding:.4rem;display:grid;position:absolute;top:100%;left:0}.build-faction-option{cursor:pointer;color:var(--text-secondary);white-space:nowrap;border-radius:3px;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.7rem;display:flex}.build-faction-option:hover{background:var(--color-overlay-white-5);color:var(--text)}.build-faction-option.active{background:var(--color-accent-tint-15);color:var(--accent)}.build-faction-option-icon{object-fit:contain;width:1.6rem;height:1.6rem}.build-player-info{flex-direction:column;gap:.1rem;min-width:0;display:flex}.build-player-name-wrap{border-radius:4px;align-items:center;gap:.4rem;padding:.15rem .4rem .15rem 0;transition:background .15s;display:inline-flex}.build-player-name-wrap:hover{background:var(--card-raised)}.build-player-name-edit{color:var(--text-secondary);opacity:0;flex-shrink:0;transition:opacity .15s}.build-player-name-wrap:hover .build-player-name-edit,.build-player-name:focus~.build-player-name-edit{opacity:1}.build-player-name{color:var(--text);font-size:.9rem;font-weight:600;font-family:var(--mono);background:0 0;border:none;outline:none;width:10rem;padding:0}.build-player-faction-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;font-size:.6rem}.build-planner{flex:1;min-height:0;padding:0 .75rem .5rem 0;overflow-y:auto}@media (width<=768px){.build-planner{padding-right:.75rem}}.build-columns{grid-template-columns:3fr 2fr;align-items:stretch;gap:1rem;display:grid}.build-col-left{min-width:0}.build-col-right{flex-direction:column;min-width:0;display:flex}.build-col-right .build-inventory{flex-direction:column;flex:1;display:flex}.build-col-right .build-inventory-body{flex:1}.build-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.build-toolbar-actions{align-items:center;gap:.4rem;margin-left:auto;display:flex}.build-toolbar-btn{background:var(--card);border:1px solid var(--border);height:1.75rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:.25rem;padding:0 .55rem;font-size:.7rem;transition:color .15s,border-color .15s;display:inline-flex}.build-toolbar-btn:hover{color:var(--text);border-color:var(--accent-dim)}.build-toolbar-btn:disabled{opacity:.4;cursor:default}.build-toolbar-btn.copied{color:var(--color-green);border-color:var(--color-green)}.build-toolbar-badge{background:var(--accent);color:var(--color-black);border-radius:8px;padding:.05rem .3rem;font-size:.55rem;font-weight:700;line-height:1.2}.build-saved-dropdown{position:relative}.build-saved-menu{background:var(--card);border:1px solid var(--border);z-index:120;min-width:12rem;max-height:16rem;box-shadow:0 4px 12px var(--color-overlay-black-40);border-radius:4px;padding:.3rem;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto}.build-save-modal{max-width:340px;height:auto}.build-save-modal .build-save-form{gap:.4rem;display:flex}.build-save-modal .build-save-input{background:var(--bg);border:1px solid var(--border);height:1.75rem;color:var(--text);border-radius:4px;outline:none;flex:1;padding:0 .5rem;font-size:.7rem}.build-save-modal .build-save-input:focus{border-color:var(--accent-dim)}.build-save-modal .build-save-input::placeholder{color:var(--text-secondary)}.save-import-modal{width:100%;max-width:720px;height:auto;max-height:calc(100vh - 4rem);overflow:hidden}.save-import-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.save-import-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1.4rem;line-height:1}.save-import-close:hover{color:var(--text);background:var(--color-overlay-white-8)}.save-import-modal>.modal-body{padding-bottom:.75rem;overflow-y:auto}.save-import-dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.5rem;transition:border-color .2s,background .2s;display:flex}.save-import-dropzone:hover,.save-import-dragover{border-color:var(--accent-dim);background:var(--color-overlay-white-2)}.save-import-icon{color:var(--text-secondary);opacity:.6}.save-import-dropzone-label{color:var(--text);margin:0;font-size:.8rem}.save-import-browse-btn{cursor:pointer}.save-import-hint{color:var(--text-secondary);opacity:.7;margin:0;font-size:.65rem}.save-import-loading{color:var(--text-secondary);flex-direction:column;align-items:center;gap:.75rem;padding:2rem;font-size:.8rem;display:flex}.save-import-error-box{text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;display:flex}.save-import-error-msg{color:var(--color-red-light);margin:0;font-size:.75rem}.save-import-warning{background:var(--color-orange-tint-12);border:1px solid var(--color-orange-tint-35);color:var(--color-orange-bright);border-radius:4px;padding:.4rem .65rem;font-size:.72rem}.save-import-preview{flex-direction:column;gap:.5rem;display:flex}.save-import-summary{border-bottom:1px solid var(--border);flex-direction:column;gap:.15rem;margin:0 0 .25rem;padding-bottom:.5rem;display:flex}.save-import-filename{color:var(--text);font-size:.75rem}.save-import-stats{color:var(--text-secondary);font-size:.65rem}.save-import-section-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border);margin:.75rem 0 .35rem;padding-bottom:.25rem;font-size:.65rem;font-weight:700}.save-import-section-label:first-child{margin-top:0}.save-import-options{gap:1rem;margin-bottom:.5rem;padding:.4rem 0;font-size:.65rem;display:flex}.save-import-stash-toggle{cursor:pointer;color:var(--text-secondary);align-items:center;gap:.35rem;display:inline-flex}.save-import-stash-toggle input{accent-color:var(--accent-dim);cursor:pointer}.save-import-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.save-import-col{min-width:0}.save-import-slots{flex-direction:column;gap:.4rem;max-height:280px;display:flex;overflow-y:auto}.save-import-slot{align-items:flex-start;gap:.5rem;font-size:.7rem;display:flex}.save-import-slot-label{width:80px;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;padding-top:.05rem;font-size:.65rem;overflow:hidden}.save-import-slot-items{flex-wrap:wrap;gap:.25rem;display:flex}.save-import-slot-item{background:var(--card);border:1px solid var(--border);color:var(--text);cursor:default;border-radius:3px;padding:.1rem .4rem;font-size:.65rem;display:inline-block}.save-import-slot-item:hover{border-color:var(--accent-dim)}.save-import-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.save-import-confirm{font-weight:600;background:var(--accent-dim)!important;border-color:var(--accent-dim)!important;color:var(--color-card)!important}.save-import-confirm:hover{filter:brightness(1.15)}.save-import-cancel{opacity:.7}.build-action-btn{background:var(--card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:.25rem;padding:.2rem .5rem;font-size:.6rem;transition:color .15s,border-color .15s;display:inline-flex}.build-action-btn:hover{color:var(--text);border-color:var(--accent-dim)}.build-action-btn:disabled{opacity:.4;cursor:default}.build-action-btn.copied{color:var(--color-green);border-color:var(--color-green)}.build-loadout-area{background:var(--card);border:1px solid var(--border);border-radius:4px;margin-bottom:1rem}.build-loadout-content{flex-wrap:wrap;align-items:flex-start;gap:.25rem;display:flex}.build-weapon-col{flex-direction:column;flex:0 0 9rem;gap:.5rem;min-width:9rem;display:flex}.build-weapon-col .build-slot-group{flex-direction:column;gap:.5rem;padding:.35rem .5rem .5rem;display:flex}.build-weapon-col .build-slot{min-height:2.4rem}.build-weapon-col .build-slot-label{margin-bottom:-.3rem}.build-slot-ammo-row{margin-top:-.25rem}.build-loadout-box{flex:1;min-width:9rem}.build-slot-ammo .build-slot-name{white-space:normal;word-break:break-word}.build-loadout-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.35rem .5rem;display:flex}.build-loadout-toggle{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;font-size:.7rem;font-weight:600;display:flex}.build-loadout-header-actions{align-items:center;gap:.25rem;display:flex}.build-loadout-summary{cursor:pointer;padding:.4rem .6rem;transition:background .15s}.build-loadout-summary:hover{background:var(--color-overlay-white-3)}.build-loadout-summary-text{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;display:block;overflow:hidden}.build-loadout-summary-empty .build-loadout-summary-text{color:var(--text-secondary);opacity:.5;font-style:italic}.build-slots{flex-direction:column;gap:.5rem;padding:.35rem .5rem .5rem;display:flex}.build-slot-group,.build-slot-group-multi{min-width:0}.build-slot-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.2rem;font-size:.55rem}.build-slot-counter{color:var(--accent);font-weight:600}.build-slot-row{flex-wrap:wrap;gap:.35rem;display:flex}.build-slot-row>.build-slot{flex:calc(20% - .3rem);min-width:0}.build-slot{cursor:pointer;box-sizing:border-box;border-radius:4px;min-width:7rem;min-height:2.4rem;padding:.2rem .5rem;transition:border-color .15s,background .15s;position:relative}.build-slot.filled{background:var(--card-raised);border:2px solid var(--border)}.build-slot.filled:hover{border-color:var(--accent-dim);background:var(--color-accent-tint-5)}.build-slot.empty{border:2px dashed var(--color-overlay-white-15);justify-content:center;align-items:center;display:flex}.build-slot.empty:hover{border-color:var(--accent-dim);background:var(--color-accent-tint-5)}.build-slot-sm{min-height:1.8rem;padding:.2rem .5rem}.build-slot-sm .build-slot-name{font-size:.65rem}.build-slot-disabled{opacity:.3;cursor:default;pointer-events:none;color:var(--text-secondary)}.build-slot-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;padding-right:.8rem;font-size:.65rem;display:block;overflow:hidden}.build-slot-meta{color:var(--text-secondary);margin-top:.1rem;font-size:.6rem;display:block}.build-slot-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.15rem .25rem;font-size:1rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:.15rem;right:.3rem}.build-slot-remove:hover{color:var(--color-red-vibrant);background:var(--color-red-vibrant-tint-10)}.build-slot-add{color:var(--text-secondary);white-space:nowrap;font-size:.65rem;line-height:1}.build-slot-hint{color:var(--text-secondary);font-size:.5rem}.build-slot-type-tag{text-transform:uppercase;letter-spacing:.03em;border-radius:2px;margin-top:.2rem;padding:.1rem .35rem;font-size:.5rem;font-weight:600;display:inline-block}.build-slot-tag-belt{color:var(--color-accent-warm);background:var(--color-accent-warm-tint-20)}.build-slot-tag-artifact{color:var(--color-purple-mid);background:var(--color-purple-tint-20)}.build-slot-outfit.filled{border-left:3px solid var(--color-blue-mid)}.build-slot-helmet.filled{border-left:3px solid var(--color-teal)}.build-slot-backpack.filled{border-left:3px solid var(--color-green-soft)}.build-slot-belt.filled{border-left:3px solid var(--color-accent-warm)}.build-slot-artifact.filled{border-left:3px solid var(--color-purple-mid)}.build-slot-weapon.filled{border-left:3px solid var(--color-red-muted)}.build-slot-grenade.filled{border-left:3px solid var(--color-warm-brown)}.build-slot-ammo.filled{border-left:3px solid var(--color-olive);align-items:center;display:flex}.build-stats{margin-bottom:0}.build-stats-title{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.4rem;font-size:.7rem;font-weight:600}.build-stats-empty{text-align:center;color:var(--text-secondary);padding:2rem 0;font-size:.7rem}.build-stats-box{background:var(--card);border:1px solid var(--border);border-radius:4px}.build-stats-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.35rem .5rem;display:flex}.build-stats-header-actions{align-items:center;gap:.25rem;display:flex}.build-expand-all-btn{color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;background:0 0;border:none;border-radius:2px;align-items:center;gap:.2rem;padding:.15rem .3rem;font-size:.5rem;display:inline-flex}.build-expand-all-btn:hover{color:var(--accent)}.build-expand-all-btn.active{color:var(--accent);background:var(--color-accent-tint-10)}.build-stats-body{grid-template-columns:1fr 1fr 1fr;gap:.1rem 0;padding:.35rem .6rem .5rem;display:grid}.build-stats-body>.build-tile-wrap{border-left:1px solid var(--border);padding-left:.75rem;padding-right:.75rem}.build-stats-body>.build-tile-wrap:nth-child(3n+1){border-left:none;padding-left:0}.build-stats-col,.build-tile-wrap{min-width:0}.build-tile-stat{cursor:default;align-items:center;gap:.25rem;padding:.1rem 0;display:flex}.build-tile-bar{background:var(--color-overlay-white-6);opacity:.75;border-radius:1.5px;flex:1;min-width:1.5rem;height:3px;overflow:hidden}.build-tile-bar-fill{border-radius:1px;height:100%;transition:width .2s;display:flex}.build-tile-stat.build-prot-expandable{cursor:pointer}.build-tile-stat.build-prot-expandable:hover{background:var(--color-overlay-white-2)}.build-tile-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.6rem;overflow:hidden}.build-tile-value{font-family:var(--mono);text-align:right;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:.7rem}.build-stat-section-label{color:var(--accent-dim);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.3rem;font-size:.55rem;font-weight:600}.build-stat-section-label-spaced{margin-top:.5rem}.build-stat-row{cursor:pointer;border-bottom:1px solid var(--color-overlay-border-50);justify-content:space-between;align-items:baseline;padding:.15rem 0;font-size:.65rem;display:flex}.build-stat-row:last-child{border-bottom:none}.build-stat-row:hover{background:var(--color-overlay-white-2)}.build-stat-row .stat-label{color:var(--text-secondary);font-size:.65rem}.build-stat-row .stat-value{font-size:.65rem;font-family:var(--mono);text-align:right}.build-stat-breakdown{margin:0 0 .15rem .4rem;padding:.1rem 0 .2rem .8rem}.build-breakdown-row{color:var(--text-secondary);justify-content:space-between;padding:.05rem 0;font-size:.5rem;display:flex}.build-breakdown-arrow{margin-left:.15rem;font-size:.4rem}.build-breakdown-none{opacity:.5;font-style:italic}.build-stat-row-wrap{border-bottom:1px solid var(--color-overlay-border-50);padding:.15rem 0}.build-stat-row-wrap:last-child{border-bottom:none}.build-stat-row-wrap .build-stat-row{border-bottom:none;padding-bottom:0}.build-bar{background:var(--color-overlay-border-50);border-radius:1.5px;height:3px;margin-top:.15rem;display:flex;overflow:hidden}.build-bar-seg{min-width:2px;height:100%;transition:width .2s}.build-prot-row{border-bottom:1px solid var(--color-overlay-border-50);cursor:default;align-items:center;gap:.4rem;padding:.15rem 0;font-size:.65rem;display:flex}.build-prot-row:last-child{border-bottom:none}.build-prot-row.build-prot-expandable{cursor:pointer}.build-prot-row.build-prot-expandable:hover{background:var(--color-overlay-white-2)}.build-prot-low .build-tile-value,.build-prot-low .build-prot-value{opacity:.45}.build-prot-row:not(.build-prot-expandable){cursor:default}.build-prot-chevron{border-left:4px solid var(--text-secondary);border-top:3px solid #0000;border-bottom:3px solid #0000;flex-shrink:0;width:0;height:0;transition:transform .15s;display:inline-block}.build-prot-chevron-open{transform:rotate(90deg)}.build-prot-chevron-hidden{opacity:.35}.build-prot-label{color:var(--text-secondary);white-space:nowrap;text-transform:uppercase;letter-spacing:.03em;min-width:5.5rem;font-size:.6rem}.build-prot-bar-track{background:var(--color-overlay-border-50);border-radius:3px;flex:1;height:6px;overflow:hidden}.build-prot-bar-fill{border-radius:3px;height:100%;transition:width .2s;display:flex}.build-prot-value{font-family:var(--mono);text-align:right;white-space:nowrap;min-width:3.5rem;font-size:.7rem}.build-prot-negative{color:var(--color-red)}.build-breakdown-dot{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:.3rem;display:inline-block}.build-capped-badge{background:var(--color-red-vibrant-tint-20);color:var(--color-red-vibrant);vertical-align:middle;border-radius:2px;margin-left:.3rem;padding:0 .2rem;font-size:.4rem;font-weight:600;display:inline-block}.build-inventory{border:1px solid var(--border);background:var(--card);border-radius:4px;flex:1;container-type:inline-size}.build-inventory-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.35rem .5rem;display:flex}.build-inventory-sort-btn{color:var(--text-secondary);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;background:0 0;border:1px solid #0000;border-radius:3px;align-items:center;gap:.25rem;padding:.15rem .35rem;font-size:.55rem;display:flex}.build-inventory-sort-btn:hover{color:var(--text);border-color:var(--border)}.build-inventory-sort-btn.active{color:var(--accent);border-color:var(--border)}.build-compare-toggle{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:3px;padding:.25rem .5rem;display:flex}.build-compare-toggle-label{color:var(--text-secondary);opacity:.5;text-transform:uppercase;margin-right:.15rem;font-size:.5rem}.build-compare-toggle-btn{background:var(--color-overlay-white-4);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;border-radius:3px;padding:.1rem .4rem;font-size:.55rem;transition:background .15s,color .15s}.build-compare-toggle-btn:hover{background:var(--color-overlay-white-6)}.build-compare-toggle-btn.active{background:var(--color-overlay-white-8);color:var(--text);border-color:var(--accent-dim)}.build-inventory-body{min-height:2rem;padding:.35rem .5rem .5rem;transition:background .15s}.build-inventory-body.drag-over{background:var(--color-accent-tint-8);outline:1px dashed var(--accent-dim);outline-offset:-2px}.build-inventory-buttons{flex-direction:column;gap:.3rem;margin-bottom:.6rem;padding-bottom:.6rem;display:flex;position:relative}.build-inventory-buttons:after{content:"";background:linear-gradient(to right, transparent, var(--border), transparent);height:1px;position:absolute;bottom:0;left:15%;right:15%}.build-inventory-btn{background:var(--color-overlay-white-3);border:1px dashed var(--border);width:100%;color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:.3rem;padding:.4rem .5rem;font-size:.65rem;transition:color .15s,border-color .15s,background .15s;display:flex}.build-inventory-btn:hover{color:var(--text);border-color:var(--accent-dim);background:var(--color-overlay-white-5)}.build-inventory-btn:disabled{opacity:.35;cursor:default}.build-inventory-btn-fav{border-style:solid}.build-inventory-items{grid-template-columns:1fr;gap:.4rem;display:grid}@container (width>=20rem){.build-inventory-items{grid-template-columns:repeat(2,1fr)}}@container (width>=35rem){.build-inventory-items{grid-template-columns:repeat(3,1fr)}}.build-inventory-item{background:var(--card-raised);border:1px solid var(--border);cursor:grab;border-radius:4px;flex-direction:column;min-width:0;padding:.4rem 1.4rem .4rem .5rem;transition:border-color .15s,background .15s;display:flex;position:relative}.build-inventory-item:active{cursor:grabbing}.build-inventory-item:hover{border-color:var(--accent-dim);background:var(--color-accent-tint-5)}.build-inv-outfit .build-inventory-item-type{background:var(--color-blue-tint-20);color:var(--color-blue-mid)}.build-inv-helmet .build-inventory-item-type{background:var(--color-teal-tint-20);color:var(--color-teal)}.build-inv-backpack .build-inventory-item-type{background:var(--color-green-tint-20);color:var(--color-green-soft)}.build-inv-belt .build-inventory-item-type{background:var(--color-accent-warm-tint-20);color:var(--color-accent-warm)}.build-inv-artifact .build-inventory-item-type{background:var(--color-purple-tint-20);color:var(--color-purple-mid)}.build-inv-weapon .build-inventory-item-type{background:var(--color-red-tint-20);color:var(--color-red-muted)}.build-inv-ammo .build-inventory-item-type{background:var(--color-olive-tint-20);color:var(--color-olive)}.build-inv-sidearm .build-inventory-item-type{background:var(--color-red-tint-20);color:var(--color-red-muted)}.build-inv-grenade .build-inventory-item-type{background:var(--color-warm-brown-tint-20);color:var(--color-warm-brown)}.build-stats-divider{border-top:1px solid var(--border);grid-column:1/-1;margin:.25rem 0}.build-stats-divider~.build-tile-wrap{border-left:none;padding-left:0}.build-stats-section-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;grid-column:1/-1;padding-bottom:.15rem;font-size:.6rem}.build-weapon-toggle{grid-column:1/-1;gap:4px;display:flex}.build-weapon-toggle-btn{background:var(--color-overlay-white-4);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:3px;padding:.2rem .6rem;font-size:.6rem;transition:background .15s,color .15s}.build-weapon-toggle-btn:hover{background:var(--color-overlay-white-6)}.build-weapon-toggle-btn.active{background:var(--color-overlay-white-8);color:var(--text);border-color:var(--accent-dim)}.build-weapon-toggle-with{color:var(--text-secondary);opacity:.5;margin:0 .2em 0 .3em}.build-inventory-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:.7rem;overflow:hidden}.build-inventory-item-type{text-transform:uppercase;letter-spacing:.03em;border-radius:2px;width:fit-content;margin-top:.3rem;padding:.1rem .35rem;font-size:.5rem;font-weight:600}.build-inventory-item-remove{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.15rem .25rem;font-size:1rem;line-height:1;transition:color .15s,background .15s;position:absolute;top:.3rem;right:.3rem}.build-inventory-item-remove:hover{color:var(--color-red-vibrant);background:var(--color-red-vibrant-tint-10)}.build-inventory-empty{color:var(--text-secondary);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.6rem;padding:2rem 1rem;font-size:.65rem;display:flex}.build-inventory-empty-icon{opacity:.15;width:2.5rem;height:2.5rem}.build-hover-popover{z-index:220;pointer-events:none;max-height:80vh;position:fixed;top:0;left:0;overflow-y:auto}.build-hover-tile{box-shadow:0 4px 16px var(--color-overlay-black-50);min-width:18rem;max-width:24rem;overflow:hidden}.build-hover-desc{border-top:1px solid var(--color-overlay-white-8);margin-top:.4rem;padding:.4rem 0 0}.build-hover-icon{float:right;opacity:.85;margin:0 0 .25rem .5rem}.build-hover-icon:only-child{float:none;margin:0 auto;display:block}.build-hover-desc .modal-desc-meta{margin-top:.25rem}.build-hover-tile--compare{min-width:18rem;max-width:26rem}.build-compare-grid{grid-template-columns:auto auto auto auto;gap:.1rem .5rem;display:grid}.build-compare-header{border-bottom:1px solid var(--border);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;margin-bottom:.4rem;padding-bottom:.3rem;font-size:.75rem;font-weight:600;overflow:hidden}.build-compare-vs{color:var(--text);font-style:italic;font-weight:400}.build-compare-sublabel{text-transform:uppercase;letter-spacing:.03em;opacity:.45;text-align:right;padding-bottom:.15rem;font-size:.55rem}.build-compare-sublabel:first-child{text-align:left}.build-compare-grid .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;word-break:break-word;min-width:0;font-size:.6rem}.build-compare-val{font-family:var(--mono);text-align:right;font-size:.7rem}.build-compare-diff{font-family:var(--mono);text-align:right;font-size:.6rem;font-weight:600}.diff-positive{color:var(--color-green-positive)}.diff-negative{color:var(--color-red-danger)}.diff-zero{opacity:.35}.diff-dash{opacity:.25}.build-slot.drag-over{border-color:var(--accent)!important;background:var(--color-accent-tint-10)!important}.build-slot-row.drag-over{outline:1px dashed var(--accent-dim);outline-offset:2px;background:var(--color-accent-tint-5);border-radius:4px}.build-picker-item-type{text-transform:uppercase;letter-spacing:.03em;border-radius:2px;flex-shrink:0;padding:.1rem .35rem;font-size:.55rem;font-weight:600}.build-picker-type-outfit{color:var(--color-blue-mid);background:var(--color-blue-tint-12)}.build-picker-type-helmet{color:var(--color-teal);background:var(--color-teal-tint-12)}.build-picker-type-backpack{color:var(--color-green-soft);background:var(--color-green-tint-12)}.build-picker-type-belt{color:var(--color-accent-warm);background:var(--color-accent-warm-tint-12)}.build-picker-type-artifact{color:var(--color-purple-mid);background:var(--color-purple-tint-12)}.build-picker-type-weapon{color:var(--color-red-muted);background:var(--color-red-tint-12)}.build-picker-type-ammo{color:var(--color-olive);background:var(--color-olive-tint-12)}.build-picker-type-sidearm{color:var(--color-red-muted);background:var(--color-red-tint-12)}.build-picker-type-grenade{color:var(--color-warm-brown);background:var(--color-warm-brown-tint-12)}.build-saved-list{flex-direction:column;gap:.15rem;display:flex}.build-saved-item{border-radius:3px;justify-content:space-between;align-items:center;padding:.25rem .4rem;transition:background .1s;display:flex}.build-saved-item:hover{background:var(--color-overlay-white-4)}.build-saved-name{color:var(--accent);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.65rem;overflow:hidden}.build-saved-name:hover{text-decoration:underline}.build-saved-delete{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 .15rem;font-size:.7rem}.build-saved-delete:hover{color:var(--color-red-vibrant)}.build-saved-empty{color:var(--text-secondary);padding:.3rem .2rem;font-size:.6rem}.build-picker-modal{flex-direction:column;width:500px;height:80vh;display:flex}.build-picker-modal .modal-close{border-radius:4px;padding:.15rem .4rem;font-size:1rem}.build-picker-modal .modal-body{flex-direction:column;display:flex;overflow:hidden}.build-picker-title{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6rem;font-size:.8rem;font-weight:600}.build-picker-controls{flex-direction:column;gap:.4rem;margin-bottom:.6rem;display:flex}.build-picker-search{position:relative}.build-picker-toolbar{flex-wrap:wrap;gap:.3rem;display:flex}.build-picker-search .filter-input-icon{color:var(--text-secondary);position:absolute;top:50%;left:.5rem;transform:translateY(-50%)}.build-picker-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text);border-radius:4px;outline:none;padding:.4rem .5rem .4rem 1.8rem;font-size:.75rem}.build-picker-input:focus{border-color:var(--accent-dim)}.build-picker-input::placeholder{color:var(--text-secondary)}.build-picker-list{flex-direction:column;flex:1;gap:.25rem;min-height:0;display:flex;overflow-y:auto}.build-picker-item{background:var(--card-raised);border:1px solid var(--border);cursor:pointer;border-radius:4px;align-items:center;gap:.5rem;padding:.45rem .6rem;transition:border-color .15s,background .15s;display:flex}.build-picker-item:hover{border-color:var(--accent-dim);background:var(--color-accent-tint-5)}.build-picker-item-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;overflow:hidden}.build-picker-item-weight{color:var(--text-secondary);flex-shrink:0;margin-left:.25rem;font-size:.65rem}.build-picker-empty{text-align:center;color:var(--text-secondary);padding:1rem;font-size:.6rem}@media (width<=1200px){.build-stats-body{grid-template-columns:1fr 1fr}.build-stats-body>.build-tile-wrap:nth-child(3n+1){border-left:1px solid var(--border);padding-left:.75rem}.build-stats-body>.build-tile-wrap:nth-child(odd){border-left:none;padding-left:0}}@media (width<=768px){.build-columns{grid-template-columns:1fr}.build-col-left,.build-col-right{grid-area:auto/1}.build-col-right .build-inventory{max-height:none}.build-weapon-col{flex:9rem}.build-stats-body{grid-template-columns:1fr}.build-stats-body>.build-tile-wrap{border-left:none;padding-left:0;padding-right:0}.build-stats-box{grid-template-columns:1fr;gap:.5rem 0}.build-slot-name{max-width:100%}.build-slot-row>.build-slot{flex-basis:calc(50% - .3rem)}.build-toolbar-actions{flex-wrap:wrap}.build-picker-modal,.build-save-modal{max-width:95vw}}.toast{z-index:10000;cursor:pointer;box-shadow:0 4px 12px var(--color-overlay-black-40);border-radius:6px;padding:.6rem 1.2rem;font-size:.85rem;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.toast--error{background:var(--color-red-vibrant);color:var(--color-white)}.toast-fade-enter-active,.toast-fade-leave-active{transition:opacity .25s,transform .25s}.toast-fade-enter-from,.toast-fade-leave-to{opacity:0;transform:translate(-50%)translateY(-.5rem)}.whats-new-banner{z-index:10001;background:color-mix(in srgb, var(--card) 85%, var(--color-white));border:1px solid color-mix(in srgb, var(--border) 70%, var(--color-white));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:400px;max-width:calc(100vw - 2rem);box-shadow:0 8px 32px var(--color-overlay-black-50), 0 0 0 1px var(--color-overlay-white-5);border-radius:10px;position:fixed;bottom:1.75rem;right:.75rem;overflow:hidden}.whats-new-header{color:var(--accent);justify-content:space-between;align-items:center;padding:.5rem .85rem;font-size:.85rem;font-weight:600;display:flex}.whats-new-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 .15rem;font-size:1.1rem;line-height:1}.whats-new-close:hover{color:var(--text)}.whats-new-entries{background:var(--card);border:2px solid var(--color-overlay-white-25);border-radius:6px;max-height:240px;margin:0 .35rem;padding:.35rem .4rem;overflow-y:auto}.whats-new-entry{color:var(--text);border-radius:4px;align-items:center;gap:.5rem;padding:.45rem .25rem;font-size:.8rem;font-weight:500;line-height:1.4;transition:background .15s;display:flex}.whats-new-entry.clickable{cursor:pointer}.whats-new-entry.clickable:hover{background:var(--color-overlay-white-6)}.whats-new-entry+.whats-new-entry{border-top:1px solid var(--color-overlay-white-6)}.whats-new-emoji{flex-shrink:0;font-size:1rem;line-height:1}.whats-new-text{flex:1;min-width:0}.whats-new-arrow{color:var(--text-secondary);opacity:.5;flex-shrink:0;transition:opacity .15s}.whats-new-entry.clickable:hover .whats-new-arrow{opacity:1}.whats-new-footer{justify-content:space-between;align-items:center;padding:.5rem .85rem;display:flex}.whats-new-footer a,.whats-new-footer button{cursor:pointer;font-size:.75rem}.whats-new-footer a{color:var(--accent);text-decoration:none}.whats-new-footer a:hover{text-decoration:underline}.whats-new-dismiss{background:var(--color-overlay-white-8);border:1px solid var(--color-overlay-white-15);color:var(--text);border-radius:4px;padding:.3rem .75rem;font-weight:500}.whats-new-dismiss:hover{background:var(--color-overlay-white-14);border-color:var(--color-overlay-white-25)}.whats-new-enter-active{transition:opacity .3s,transform .3s}.whats-new-leave-active{transition:opacity .2s,transform .2s}.whats-new-enter-from,.whats-new-leave-to{opacity:0;transform:translateY(1rem)}.callout-overlay{z-index:10002;transition:opacity .25s;position:fixed;inset:0}.callout-spotlight{box-shadow:0 0 0 9999px var(--color-overlay-black-55);pointer-events:none;border-radius:6px;transition:top .3s,left .3s,width .3s,height .3s;position:absolute}.callout-spotlight:after{content:"";border:2px solid var(--accent);border-radius:8px;animation:2s ease-in-out infinite callout-pulse;position:absolute;inset:-4px}@keyframes callout-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.callout-popover{z-index:10003;background:var(--card);border:1px solid var(--border);width:280px;max-width:calc(100vw - 2rem);box-shadow:0 8px 24px var(--color-overlay-black-50);border-radius:8px;padding:.85rem;transition:top .3s,left .3s;position:absolute}.callout-popover-title{color:var(--accent);margin-bottom:.35rem;font-size:.85rem;font-weight:600}.callout-popover-desc{color:var(--text-secondary);margin-bottom:.65rem;font-size:.78rem;line-height:1.5}.callout-popover-actions{justify-content:flex-end;align-items:center;display:flex}.callout-popover-next{background:var(--accent);color:var(--color-card);cursor:pointer;border:none;border-radius:4px;padding:.3rem .85rem;font-size:.75rem;font-weight:600}.callout-popover-next:hover{filter:brightness(1.1)}.callout-arrow{background:var(--card);border:1px solid var(--border);width:10px;height:10px;position:absolute;transform:rotate(45deg)}.callout-arrow[data-side=top]{border-bottom:none;border-right:none;top:-6px}.callout-arrow[data-side=bottom]{border-top:none;border-left:none;bottom:-6px}.callout-arrow[data-side=left]{border-bottom:none;border-left:none;right:-6px}.callout-arrow[data-side=right]{border-top:none;border-right:none;left:-6px}@media (width<=600px){.whats-new-banner{width:auto;max-width:none;bottom:.5rem;left:.5rem;right:.5rem}.callout-popover{width:240px}}.footer-heart-icon[data-v-a84caf65]{fill:var(--color-heart);stroke:var(--color-heart)}.header-drawer-backdrop{background:var(--color-overlay-black-50);z-index:160;position:fixed;inset:0}.header-drawer{z-index:170;background:var(--bg);border-left:1px solid var(--border);width:260px;max-width:80vw;padding:.5rem 0;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}.header-drawer-top{justify-content:flex-end;padding:.3rem .5rem;display:flex}.header-drawer-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.2rem .4rem;font-size:1.4rem;line-height:1}.header-drawer-close:hover{color:var(--text);background:var(--color-overlay-white-8)}.header-drawer-label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary);opacity:.6;padding:.5rem 1rem .2rem;font-size:.6rem;font-weight:600}.header-drawer-item{width:100%;color:var(--text-secondary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;min-height:44px;padding:.55rem 1rem;font-size:.8rem;text-decoration:none;transition:color .15s,background .15s;display:flex}.header-drawer-item:hover{color:var(--text);background:var(--color-overlay-white-6)}.header-drawer-item.active{color:var(--accent)}.header-drawer-divider{background:var(--color-overlay-white-8);height:1px;margin:.3rem .75rem}.drawer-right-enter-active,.drawer-right-leave-active{transition:transform .25s}.drawer-right-enter-from,.drawer-right-leave-to{transform:translate(100%)}.mobile-search-overlay{background:var(--color-overlay-black-70);z-index:200;justify-content:center;align-items:flex-start;padding:1rem;display:flex;position:fixed;inset:0}.mobile-search-bar{gap:.4rem;width:100%;max-width:32rem;margin-top:.5rem;display:flex;position:relative}.mobile-search-bar input{background:var(--card);border:1px solid var(--border);color:var(--text);border-radius:4px;outline:none;flex:1;padding:.6rem .75rem;font-size:1rem}.mobile-search-bar input:focus{border-color:var(--accent)}.mobile-search-close{background:var(--color-overlay-white-8);border:1px solid var(--border);width:2.4rem;color:var(--text-secondary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.mobile-search-close:hover{color:var(--text);background:var(--color-overlay-white-12)}.item-hover-popover[data-v-6243cb60]{z-index:220;pointer-events:none;max-height:80vh;position:fixed;top:0;left:0;overflow-y:auto}.item-hover-card[data-v-6243cb60]{background:var(--card);border:1px solid var(--color-accent-tint-20);box-shadow:0 4px 16px var(--color-overlay-black-50);border-radius:5px;min-width:18rem;max-width:24rem;padding:.5rem .6rem;overflow:hidden}.item-hover-header[data-v-6243cb60]{border-bottom:1px solid var(--border);align-items:center;gap:.3rem;margin-bottom:.4rem;padding-bottom:.3rem;display:flex}.item-hover-header .badge-flag[data-v-6243cb60]{padding:.05rem .3rem;font-size:.55rem}.item-hover-name[data-v-6243cb60]{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;font-weight:600;overflow:hidden}.item-hover-stats[data-v-6243cb60]{grid-template-columns:1fr 1fr;gap:.1rem .75rem;display:grid}.item-hover-stat-row[data-v-6243cb60]{justify-content:space-between;align-items:center;gap:.25rem;min-width:0;display:flex}.item-hover-stat-row[data-v-6243cb60]:has(.item-hover-ammo-list){grid-column:1/-1}.item-hover-stat-label[data-v-6243cb60]{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.6rem;overflow:hidden}.item-hover-stat-value[data-v-6243cb60]{font-family:var(--mono);text-align:right;white-space:nowrap;flex-shrink:0;font-size:.7rem}.item-hover-stat-row .badge[data-v-6243cb60],.item-hover-stat-row .badge-ammo[data-v-6243cb60],.item-hover-stat-row .badge-flag[data-v-6243cb60]{padding:0 .35rem;font-size:.6rem;line-height:1.3}.item-hover-ammo-list[data-v-6243cb60]{flex-wrap:wrap;justify-content:flex-end;gap:.2rem;min-width:0;display:flex}.item-hover-ammo-list .badge-ammo[data-v-6243cb60]{white-space:nowrap}.item-hover-desc[data-v-6243cb60]{border-top:1px solid var(--color-overlay-white-8);margin-top:.4rem;padding:.4rem 0 0}.item-hover-icon[data-v-6243cb60]{float:right;opacity:.85;margin:0 0 .25rem .5rem}.item-hover-icon[data-v-6243cb60]:only-child{float:none;margin:0 auto;display:block}.item-hover-desc-text[data-v-6243cb60]{color:var(--text-secondary);margin:0;font-size:.65rem;line-height:1.4}.item-hover-desc-meta[data-v-6243cb60]{margin-top:.25rem}.item-compare-popover[data-v-51331b26]{z-index:220;pointer-events:none;position:fixed;top:0;left:0}.version-compare-view{flex-direction:column;flex:1;min-height:0;padding-right:calc(1rem + 8px);display:flex}.version-compare-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:.5rem .75rem;padding-bottom:.75rem;display:flex}.version-compare-header .filter-input-group{max-width:14rem}.version-compare-header h2{margin:0;font-size:1.25rem;font-weight:600}.version-compare-picker{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.version-compare-pack{color:var(--text-secondary)}.version-compare-pack-btn{background:var(--card);border:1px solid var(--border);color:var(--text);box-sizing:border-box;cursor:pointer;border-radius:4px;align-items:center;gap:.4rem;height:1.75rem;padding:.3rem .6rem;font-family:inherit;font-size:.8rem;transition:border-color .15s;display:flex}.version-compare-pack-btn:hover{border-color:var(--accent-dim)}.vc-controls{display:contents}.vc-btn-icon{flex-shrink:0;display:none}.vc-btn-badge{background:var(--accent);color:var(--bg);text-align:center;border-radius:9px;min-width:1.1rem;height:1.1rem;padding:0 .3rem;font-size:.65rem;font-weight:600;line-height:1.1rem;display:none}.version-compare-count{color:var(--text-secondary);white-space:nowrap;font-size:.8rem}.version-compare-spacer{flex:1}.version-compare-property-menu{flex-direction:column;max-height:320px;display:flex}.version-compare-property-list{flex:1;overflow-y:auto}.version-compare-item-count{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:.75rem}.version-compare-list{flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.version-compare-item{border-bottom:1px solid var(--border);cursor:pointer;align-items:baseline;gap:1rem;padding:.4rem .5rem;transition:background .1s;display:flex}.version-compare-item:hover{background:var(--card)}.version-compare-item:last-child{border-bottom:none}.version-compare-cat{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.03em;flex-shrink:0;min-width:6rem;font-size:.7rem}.version-compare-name{white-space:nowrap;min-width:12rem;color:var(--accent);flex-shrink:0;font-size:.8rem}.version-compare-changes{font-size:.75rem;font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;gap:.5rem 1rem;min-width:0;display:flex;overflow:hidden}.version-compare-stat{align-items:baseline;gap:.25rem;display:inline-flex}.version-compare-stat-label{color:var(--text-secondary);margin-right:.15rem}.version-compare-more{color:var(--text-secondary);font-family:inherit;font-style:italic}@media (width<=1100px){.vc-btn-label{display:none}.vc-btn-icon{display:block}.vc-btn-badge{display:inline-block}.version-compare-count{display:none}.version-compare-header .filter-input-group{max-width:10rem}}@media (width<=768px){.version-compare-view{padding-right:.75rem}.version-compare-header{gap:.5rem;padding-bottom:.5rem}.version-compare-picker{flex:100%;order:1}.version-compare-header .filter-input-group{width:auto;min-width:6rem;max-width:none;min-height:unset;flex:1;order:2}.vc-controls{order:3;align-items:center;gap:.5rem;margin-left:auto;display:flex}.version-compare-spacer{display:none}.version-compare-header .copy-link-btn{width:1.75rem;min-width:1.75rem;height:1.75rem;min-height:1.75rem}.version-compare-header .version-compare-pack-btn{min-height:unset;height:1.75rem}.version-compare-item{flex-wrap:wrap;gap:.25rem .5rem;padding:.5rem}.version-compare-cat,.version-compare-name{min-width:auto}.version-compare-changes{flex-wrap:wrap;flex:100%}}
