[hidden]{display:none!important}
:root{
  --bg:#1c1f23; --panel:#262a30; --panel2:#2f343b; --line:#3a4048;
  --text:#eef1f4; --muted:#9aa4ae; --orange:#f28c28; --yellow:#f5c518;
  --green:#4caf6d; --red:#d9534f; --radius:12px;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background-color:var(--bg);
  background-image:radial-gradient(circle at 12px 12px,#15171a 2.2px,transparent 2.6px);background-size:24px 24px;min-height:100vh;display:flex;flex-direction:column}
a{color:var(--orange)}
.hazard{height:8px;background:repeating-linear-gradient(-45deg,var(--yellow) 0 14px,#111 14px 28px)}
.top{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line);background:rgba(28,31,35,.92)}
.brand{display:flex;align-items:center;gap:8px}
.brand h1{margin:0;font-size:1.45rem;letter-spacing:.04em;font-weight:900;text-transform:uppercase}
.brand h1 span{color:var(--orange)}
.logo{width:30px;height:30px;display:block}
.icon-btn{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:1.1rem;font-weight:700;cursor:pointer}
main{width:100%;max-width:680px;margin:0 auto;padding:12px 14px 24px;flex:1}
.banner{background:#3a2c1d;border:1px solid var(--orange);border-radius:12px;padding:10px 12px;margin-bottom:10px;font-size:.9rem;display:flex;justify-content:space-between;gap:10px;align-items:center;flex-wrap:wrap}
.banner button{padding:8px 12px;border-radius:10px;border:0;background:var(--orange);color:#1c1f23;font-weight:800;cursor:pointer}
.hero{text-align:center;margin:4px 0 8px}
.kicker{margin:0;color:var(--muted);font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hero h2{margin:2px 0;font-size:2.8rem;font-weight:900;letter-spacing:.01em;color:var(--yellow);font-variant-numeric:tabular-nums;line-height:1.1}
.status{margin:0;color:var(--text);font-weight:700;font-size:.92rem}
.disclaimer{margin:4px 0 0;color:var(--muted);font-size:.74rem}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 12px;position:sticky;top:0;z-index:5;background:var(--bg);padding:6px 0}
.tab{padding:10px 0;border-radius:10px;border:1px solid var(--line);background:var(--panel);color:var(--muted);font-weight:800;font-size:.82rem;cursor:pointer;text-transform:uppercase;letter-spacing:.04em}
.tab.active{background:var(--orange);border-color:var(--orange);color:#1c1f23}
.search input,.field input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:1rem}
.search{margin-bottom:10px}
.cat{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden}
.cat>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 14px;cursor:pointer;font-weight:900;font-size:1.02rem}
.cat>summary::-webkit-details-marker{display:none}
.cat>summary .sub{color:var(--muted);font-weight:700;font-size:.8rem;white-space:nowrap}
.cat>summary .sub b{color:var(--yellow)}
.cat>summary::after{content:"▾";color:var(--muted);margin-left:4px}
.cat[open]>summary::after{content:"▴"}
.platforms{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px}
.platforms .lbl{width:100%;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pf{padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:var(--panel2);color:var(--muted);font-weight:800;font-size:.8rem;cursor:pointer}
.pf.on{border-color:var(--orange);color:var(--text);background:#3a2c1d}
.item{border-top:1px solid var(--line);padding:10px 14px 12px}
.item h3{margin:0 0 7px;font-size:.95rem;font-weight:800;display:flex;justify-content:space-between;gap:8px}
.item h3 .v{color:var(--yellow);font-variant-numeric:tabular-nums}
.opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}
.opt{position:relative;text-align:left;padding:8px 10px 8px 34px;min-height:52px;border-radius:10px;border:2px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;font-size:.8rem;line-height:1.25}
.opt::before{content:"";position:absolute;left:10px;top:50%;width:16px;height:16px;margin-top:-8px;border-radius:4px;border:2px solid var(--muted)}
.opt b{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.opt .b{display:block;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.opt .p{color:var(--muted);font-variant-numeric:tabular-nums}
.opt[aria-pressed=true]{border-color:var(--orange);background:#3a2c1d}
.opt[aria-pressed=true]::before{background:var(--orange);border-color:var(--orange)}
.opt[aria-pressed=true]::after{content:"✓";position:absolute;left:12px;top:50%;margin-top:-10px;color:#1c1f23;font-weight:900;font-size:.85rem}
.opt[aria-pressed=true] .p{color:var(--yellow)}
.owned-detail{margin-top:6px;font-size:.74rem;color:var(--muted);line-height:1.4}
.owned-detail a{color:var(--muted)}
.miss-cat{margin:14px 2px 6px;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.miss{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:6px}
.miss div{min-width:0}
.miss b{display:block}
.miss small{color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.miss a{flex:none;color:#1c1f23;background:var(--orange);padding:8px 10px;border-radius:10px;font-weight:800;text-decoration:none;font-size:.82rem}
.empty{text-align:center;color:var(--muted);padding:30px 10px;background:var(--panel);border-radius:14px;border:1px dashed var(--line)}
#share-canvas{width:100%;height:auto;border-radius:14px;border:1px solid var(--line);display:block;background:#111}
.row-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 6px}
.btn{padding:13px;border-radius:var(--radius);font-weight:800;font-size:1rem;border:1px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer}
.btn.primary{background:var(--orange);border-color:var(--orange);color:#1c1f23}
.small{color:var(--muted);font-size:.8rem;line-height:1.45}
.field{display:block;color:var(--muted);font-size:.8rem;font-weight:700}
.field input{margin-top:4px}
.table-wrap{overflow-x:auto;margin:0 -14px;padding:0 14px}
table.inv{width:100%;border-collapse:collapse;font-size:.8rem;min-width:560px}
.inv th,.inv td{padding:7px 6px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.inv th{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.inv td.n,.inv th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.inv tfoot td{font-weight:900;color:var(--yellow);border-bottom:0}
.inv input{width:100%;min-width:90px;padding:5px 6px;border-radius:6px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:.78rem}
.inv a{color:var(--muted)}
.printonly{display:none}
.sister{margin-top:18px}
.sister a{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:14px;background:linear-gradient(135deg,#2f343b,#262a30);border:1px solid var(--line);border-left:5px solid var(--yellow);color:var(--text);text-decoration:none}
.sister span{color:var(--muted);font-size:.85rem}
.dlg{border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--text);max-width:420px;width:calc(100% - 28px);padding:18px 20px}
.dlg::backdrop{background:rgba(0,0,0,.65)}
.dlg h2{margin-top:0}
.steps{padding-left:20px;line-height:1.6}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--text);color:#111;padding:10px 16px;border-radius:10px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;z-index:50;max-width:90vw;text-align:center}
.toast.show{opacity:1}
.foot{display:flex;flex-direction:column;gap:6px;max-width:680px;width:100%;margin:0 auto;padding:12px 14px 20px;color:var(--muted);font-size:.72rem;line-height:1.4}
.foot a{color:var(--muted)}
@media (min-width:720px){.hero h2{font-size:3.4rem}}
@media print{
  @page{margin:14mm}
  body{background:#fff;color:#000;display:block}
  .noprint,.hazard,.top,.tabs,.foot,.sister,.toast,dialog{display:none!important}
  main{max-width:none;padding:0}
  #tab-inventory{display:block!important}
  .printonly{display:block}
  .table-wrap{overflow:visible;margin:0;padding:0}
  table.inv{min-width:0;font-size:9.5pt}
  .inv th,.inv td{border-bottom:1px solid #bbb;color:#000}
  .inv tfoot td{color:#000}
  .inv a{color:#000;text-decoration:none}
  .inv input{border:0;background:none;color:#000;padding:0;font-size:9pt}
  .small{color:#333}
}
