:root { --bg:#0f0f1a; --bg-hover:#1a1a2a; --surface:#16161f; --surface-hover:#1e1e2e;
        --gold:#c8960c; --gold-hover:#e0a80e; --text:#dddddd; --text-dim:#8a919e;
        --border:#2a2a3a; --success:#55c055; --danger:#e05555; --accent:#4d9fd6; }
*, *::before, *::after { box-sizing: border-box; }
html, body { background:var(--bg); color:var(--text); font:14px/1.5 "Segoe UI",system-ui,sans-serif; }
.layout-sidebar { margin:0; }
.app-shell { display:flex; min-height:100vh; width:100%; }
.skip-link { position:absolute; left:-9999px; top:8px; background:var(--gold); color:#15151f; padding:8px 14px; border-radius:6px; z-index:10; font-weight:600; text-decoration:none; }
.skip-link:focus { left:8px; }
.app-nav { width:240px; flex-shrink:0; background:var(--surface); border-right:1px solid var(--border);
           padding:20px 14px; display:flex; flex-direction:column; gap:18px; }
.brand { display:flex; gap:10px; align-items:center; text-decoration:none; color:var(--text); }
.brand .beacon { width:12px; height:12px; border-radius:50%; background:var(--gold);
                 box-shadow:0 0 8px var(--gold); display:inline-block; }
.brand strong { color:var(--gold); display:block; font-size:15px; }
.brand small { color:var(--text-dim); font-size:12px; }
.nav-label { color:var(--text-dim); font-size:11px; text-transform:uppercase; letter-spacing:.08em; display:block; margin:8px 0 4px; }
.nav-link { display:flex; justify-content:space-between; align-items:center; color:var(--text);
            text-decoration:none; padding:7px 10px; border-radius:6px; }
.nav-link:hover { background:var(--bg-hover); }
.nav-link.active { background:var(--bg-hover); color:var(--gold); }
.nav-count { color:var(--accent); font-size:12px; }
.nav-plane { background:var(--bg-hover); border:1px solid var(--border); border-radius:8px; padding:10px 12px; }
.nav-plane span { color:var(--text-dim); font-size:11px; text-transform:uppercase; letter-spacing:.08em; }
.nav-plane strong { display:block; }
.nav-plane small { color:var(--text-dim); }
.state-dot { width:8px; height:8px; border-radius:50%; background:var(--danger); display:inline-block; margin-right:4px; }
.state-dot.online { background:var(--success); }
.nav-spacer { flex:1; }
.app-main { flex:1; padding:24px 28px 48px; min-width:0; }
.page-header { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:16px; }
.page-header .eyebrow { color:var(--text-dim); margin:0 0 2px; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.page-header h1 { margin:0; font-size:22px; color:var(--gold); }
.refresh-note { color:var(--text-dim); font-size:12px; }
.app-footer { display:flex; justify-content:space-between; color:var(--text-dim); margin-top:24px; font-size:12px; }
.cards { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:8px; padding:12px 18px; min-width:150px; }
.card b { display:block; font-size:20px; color:var(--gold); }
.tabs { display:flex; gap:4px; flex-wrap:wrap; }
.tabs button { background:var(--surface); color:var(--text-dim); border:1px solid var(--border); border-bottom:none;
               padding:8px 16px; border-radius:8px 8px 0 0; cursor:pointer; font-size:14px; }
.tabs button.active { background:var(--surface-hover); color:var(--gold); }
.tools { display:flex; gap:10px; padding:10px; background:var(--surface-hover); align-items:center; flex-wrap:wrap;
         border:1px solid var(--border); margin-bottom:14px; }
.tools input, .tools select { background:var(--bg); color:var(--text); border:1px solid var(--border);
                              border-radius:6px; padding:6px 10px; }
.tools input[type=search] { width:230px; }
.tools label.chk { display:flex; align-items:center; gap:5px; color:var(--text-dim); cursor:pointer; }
.tools a.ghost, .tools button { background:var(--gold); color:#15151f; border:none; border-radius:6px;
                                padding:7px 14px; font-weight:600; cursor:pointer; text-decoration:none; }
.tools a.ghost { background:var(--surface); color:var(--text); border:1px solid var(--border); }
#rescanBar { width:160px; height:10px; background:var(--bg-hover); border:1px solid var(--border);
             border-radius:5px; overflow:hidden; }
#rescanBarFill { height:100%; background:var(--gold); }
.rescanWrap { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:14px; }
.rescanWrap .count { color:var(--text-dim); }
.totals { color:var(--text-dim); padding:8px 2px; margin-bottom:8px; }
.totals b { color:var(--gold); }
.chips { display:flex; gap:8px; flex-wrap:wrap; max-height:110px; overflow-y:auto; padding:10px;
         background:var(--surface); border:1px solid var(--border); margin-bottom:14px; }
.chip { background:var(--bg-hover); border:1px solid var(--border); border-radius:14px; padding:3px 10px;
        cursor:pointer; font-size:12px; color:var(--text-dim); text-decoration:none; }
.chip:hover { border-color:var(--gold); color:var(--text); }
.chip.active { border-color:var(--gold); color:var(--gold); }
.tableHost { overflow-x:auto; -webkit-overflow-scrolling:touch; }
.tableHost table { width:100%; border-collapse:collapse; background:var(--surface); }
.tableHost th, .tableHost td { text-align:left; padding:7px 10px; border-bottom:1px solid var(--border); }
.tableHost td, .tableHost th { white-space:nowrap; }
.tableHost td.name { white-space:normal; }
.tableHost th { color:var(--text-dim); position:sticky; top:0; background:var(--surface); }
.tableHost th a { color:var(--text-dim); text-decoration:none; }
.tableHost th a:hover { color:var(--gold); }
.tableHost tr:hover td { background:var(--bg-hover); }
.price { color:var(--gold); text-align:right; }
.kind { color:var(--accent); }
.pos { color:var(--success); } .neg { color:var(--danger); }
.count { color:var(--text-dim); padding:8px 2px; }
.empty { color:var(--text-dim); padding:20px; text-align:center; }
.viewNote { color:var(--text-dim); margin:0 0 12px; }
@media (max-width:720px){ .tools input[type=search]{width:100%;} .layout-sidebar,.app-shell{flex-direction:column;} .app-nav{width:100%;} }

/* ── Account analyzer pages (consolidated from per-page inline styles) ── */
.gw-toolbar{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px;margin-bottom:14px;font-size:13px;flex-wrap:wrap}
.gw-toolbar .who{color:var(--gold);font-weight:600}
.gw-toolbar .spacer{flex:1}
.gw-tbtn{color:var(--accent);text-decoration:none;border:1px solid var(--border);border-radius:5px;padding:5px 12px;background:none;cursor:pointer;font-size:12.5px}
.gw-tbtn:hover{border-color:var(--accent)}
.gw-hero{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
.gw-panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:22px}
.gw-panel h2{color:var(--gold);margin:0 0 10px;font-size:17px}
.gw-panel ul{margin:0 0 14px;padding-left:18px;color:#bbb;font-size:13px}
.gw-panel li{margin:4px 0}
.gw-panel a{color:var(--accent);text-decoration:none}
.gw-input{width:100%;padding:10px;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);margin-bottom:10px;box-sizing:border-box}
.gw-btn{width:100%;padding:10px;background:var(--gold);border:0;border-radius:6px;color:#111;font-weight:600;cursor:pointer}
.gw-saved{background:#1a4a2a;border:1px solid var(--success);color:var(--success);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:12px}
.gw-links{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.gw-links a{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:10px;color:var(--text);text-decoration:none;font-size:13.5px}
.gw-links a:hover{border-color:var(--gold)}
.gw-error{background:#4a1a1a;border:1px solid var(--danger);color:var(--danger);border-radius:6px;padding:8px 12px;font-size:13px;margin-bottom:12px}
.gw-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:16px;margin-bottom:14px}
.gw-card h3{margin:0 0 4px;color:var(--gold);font-size:16px}
.gw-sub{color:var(--text-dim);font-size:12px;margin-bottom:10px}
.gw-iss{margin:5px 0;font-size:13px}
.gw-iss.error{color:var(--danger)}
.gw-iss.warning{color:var(--gold)}
.gw-iss.info{color:var(--success)}
.gw-none{color:var(--success);font-size:13px}
.gw-chips{margin-bottom:10px;font-size:13px}
.gw-chips b{color:var(--text-dim);font-size:12px;text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:4px}
.gw-chips a{display:inline-block;margin:2px 4px 2px 0;padding:3px 10px;border:1px solid var(--border);border-radius:12px;color:#bbb;text-decoration:none}
.gw-chips a.on{border-color:var(--gold);color:var(--gold)}
.gw-pack{display:inline-block;vertical-align:top;margin:4px;padding:8px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}
.gw-pack.active{border-color:var(--gold);color:var(--gold)}
.gw-pack a{color:inherit;text-decoration:none;font-weight:600}
.gw-pack small{display:block;color:var(--text-dim);font-size:11px;max-width:260px;margin-top:2px}
.gw-rule{display:flex;align-items:flex-start;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:10px 12px;margin:6px 0}
.gw-rule.off{opacity:.45}
.gw-cat{color:var(--gold);font-size:15px;margin:18px 0 6px;font-weight:600}
.gw-toggle{color:var(--danger);text-decoration:none;border:1px solid var(--danger);border-radius:4px;padding:2px 10px;font-size:12px;white-space:nowrap}
.gw-toggle.on{color:var(--success);border-color:var(--success)}
.gw-desc{color:#aaa;font-size:12.5px}
.gw-sec{margin:18px 0 8px;color:var(--gold);font-size:16px;font-weight:600}
.gw-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.gw-card2{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px}
.gw-card2 h4{margin:0 0 8px;font-size:13px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em}
.gw-row{display:flex;justify-content:space-between;font-size:13px;padding:3px 0}
.gw-bar{height:6px;background:var(--bg);border-radius:3px;overflow:hidden;margin-top:3px}
.gw-bar i{display:block;height:100%;background:var(--gold)}
.gw-chip{display:inline-block;padding:2px 10px;border-radius:10px;font-size:11px;font-weight:600;margin-right:6px}
.gw-easy{background:#1a4a2a;color:var(--success)}.gw-med{background:#4a3a1a;color:var(--gold)}.gw-hard{background:#4a1a1a;color:var(--danger)}
.gw-sug{margin:5px 0;font-size:13.5px;color:#ccc}

/* ── Responsive ── */
.tableHost{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media (max-width:900px){
  .gw-hero,.gw-grid,.gw-links{grid-template-columns:1fr}
  .app-main{padding:16px 14px 40px}
  .cards .card{min-width:120px}
}

@media (max-width:720px){
  .layout-sidebar,.app-shell{flex-direction:column}
  .app-nav{width:100%}
  .tools input[type=search]{width:100%}
  .page-header{flex-direction:column;align-items:flex-start;gap:4px}
  .gw-rule{flex-direction:column;gap:6px}
  .gw-rule a.gw-toggle{align-self:flex-start;padding:5px 14px}
  .gw-toolbar{gap:6px}
}

/* ── Icebrood weapons page ── */
.ib-next{display:flex;gap:10px;align-items:baseline;background:linear-gradient(90deg,#1a2a4a,#16161f);border:1px solid var(--accent);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px}
.ib-next b{color:var(--accent);text-transform:uppercase;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.gate-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.gate-chip{display:flex;gap:8px;align-items:baseline;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:6px 14px;font-size:12.5px}
.gate-chip .mark{font-weight:700}
.gate-chip.ok{border-color:rgba(85,192,85,.45)}
.gate-chip.ok .mark{color:var(--success)}
.gate-chip.no{border-color:rgba(224,85,85,.45)}
.gate-chip.no .mark{color:var(--danger)}
.gate-chip small{color:var(--text-dim)}
.stock-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;margin-bottom:18px}
.stock-tile{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 12px}
.stock-tile b{display:block;font-size:17px;color:var(--gold)}
.stock-tile.low b{color:var(--danger)}
.stock-tile span{display:block;font-size:12.5px;color:var(--text)}
.stock-tile small{display:block;font-size:11px;color:var(--text-dim);margin-top:2px}
.line-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:13px 15px;margin-bottom:12px}
.line-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.line-head .nm{font-size:15px;font-weight:600;color:var(--gold);margin:0}
.line-head .cnt{color:var(--text);font-weight:600}
.line-head .cnt.done{color:var(--success)}
.line-head .gate{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em}
.line-note{color:var(--text-dim);font-size:12px;margin:5px 0 0}
.skin-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:6px;margin-top:10px}
.skin-chip{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--bg-hover);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:12.5px}
.skin-chip .nm{color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skin-chip .pr{color:var(--gold);white-space:nowrap}
.skin-chip.owned{border-color:rgba(85,192,85,.4)}
.skin-chip.owned .nm{color:var(--success)}
.skin-chip.owned .pr{display:none}
.skin-chip.owned::after{content:"\2713";color:var(--success);font-weight:700}
.ib-sec{margin:20px 0 8px;color:var(--gold);font-size:15px;font-weight:600}
@media (max-width:720px){
  .skin-chips{grid-template-columns:1fr 1fr}
  .stock-grid{grid-template-columns:1fr 1fr}
  .ib-next{flex-direction:column;gap:4px}
}

/* skin-set detail: acquisition split */
.skin-chip.buy .pr{color:var(--gold);font-weight:600}
.skin-chip.source{border-style:dashed}
.skin-chip.source .pr{color:var(--text-dim);font-style:italic}

/* wiki links inside chips and rows */
a.wiki{color:inherit;text-decoration:none;border-bottom:1px dotted var(--text-dim)}
a.wiki:hover{color:var(--gold);border-bottom-color:var(--gold)}
