:root{
  color-scheme:light;
  --bg:#07131f;
  --bg2:#122a36;
  --bg3:#f7fbff;
  --surface:#ffffff;
  --surface2:#f4f8fb;
  --ink:#111827;
  --muted:#667085;
  --line:#d9e5ec;
  --primary:#00a878;
  --primary2:#007f5f;
  --accent:#ffb000;
  --accent2:#ff5a3c;
  --cool:#3b82f6;
  --glow:rgba(0,168,120,.24);
  --shadow:0 24px 70px rgba(2,12,27,.25);
  --soft:0 14px 36px rgba(16,24,40,.10);
}

:root[data-theme="gold"]{
  --bg:#160f08;
  --bg2:#332111;
  --primary:#d97706;
  --primary2:#92400e;
  --accent:#facc15;
  --accent2:#ef4444;
  --cool:#0ea5e9;
  --glow:rgba(250,204,21,.24);
}

:root[data-theme="electric"]{
  --bg:#080b17;
  --bg2:#16213f;
  --primary:#06b6d4;
  --primary2:#2563eb;
  --accent:#f43f5e;
  --accent2:#a3e635;
  --cool:#8b5cf6;
  --glow:rgba(6,182,212,.25);
}

*{box-sizing:border-box}

body{
  margin:0;
  min-height:100vh;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  line-height:1.45;
  background:
    radial-gradient(circle at 14% -10%,var(--glow),transparent 34%),
    radial-gradient(circle at 88% 10%,rgba(255,176,0,.18),transparent 26%),
    linear-gradient(140deg,var(--bg),var(--bg2) 48%,#0a1724);
  background-attachment:fixed;
}

body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.13;
  background-image:
    linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,#000,transparent 70%);
}

a{color:var(--primary2);text-decoration:none}
a:hover{text-decoration:underline}

.wrap{width:min(1180px,100%);margin:0 auto;padding:24px}

.topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  color:#dff7ef;
  margin-bottom:18px;
}

.brand{display:flex;align-items:center;gap:12px;color:#fff;font-weight:950;font-size:1.16rem}

.logo{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--accent),var(--primary) 55%,var(--cool));
  color:#07131f;
  box-shadow:0 14px 32px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.65);
  letter-spacing:0;
}

.navActions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.navActions>a{color:#e9fff8;font-weight:850}

.themeToggle{
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px;
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  backdrop-filter:blur(14px);
}

.themeToggle button{
  width:30px;
  height:30px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.62);
}

.themeToggle button[aria-pressed="true"]{
  outline:3px solid rgba(255,255,255,.52);
  transform:scale(1.04);
}

.themeToggle [data-theme-btn="mint"]{background:linear-gradient(135deg,#00a878,#ffb000)}
.themeToggle [data-theme-btn="gold"]{background:linear-gradient(135deg,#facc15,#d97706)}
.themeToggle [data-theme-btn="electric"]{background:linear-gradient(135deg,#06b6d4,#f43f5e)}

.hero{
  color:#fff;
  padding:34px 0 12px;
}

.hero h1{
  max-width:980px;
  font-size:clamp(2.35rem,4.8vw,4.8rem);
  line-height:.96;
  margin:0 0 14px;
  letter-spacing:0;
  text-wrap:balance;
}

.hero p{
  max-width:780px;
  color:#d9ebe8;
  margin:0;
  font-size:1.06rem;
}

.panel{
  background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(244,248,251,.97));
  border:1px solid rgba(255,255,255,.76);
  border-radius:8px;
  box-shadow:var(--shadow);
  padding:22px;
  margin:18px 0;
}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}

.stat{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,var(--surface2));
  border:1px solid var(--line);
  border-radius:8px;
  padding:16px;
  box-shadow:var(--soft);
}

.stat:after{
  content:"";
  position:absolute;
  inset:auto 0 -34px auto;
  width:86px;
  height:86px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--primary),var(--accent));
  opacity:.18;
}

.stat span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.08em;
}

.stat b{font-size:1.7rem}

.searchShell{
  position:sticky;
  top:10px;
  z-index:20;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.78);
  border-radius:8px;
  padding:14px;
  box-shadow:0 18px 44px rgba(15,23,42,.16);
}

.searchbar{display:grid;grid-template-columns:minmax(0,1fr) 150px minmax(260px,360px);gap:10px}

.searchbar input,.searchbar select,.chip select{
  width:100%;
  min-width:0;
  min-height:46px;
  border:1px solid #c9d7e0;
  border-radius:8px;
  padding:0 14px;
  font:inherit;
  background:#fff;
}

.searchbar input:focus,.searchbar select:focus,.chip select:focus{
  outline:3px solid color-mix(in srgb,var(--primary) 22%,transparent);
  border-color:var(--primary);
}

.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}

.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:7px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-weight:850;
  color:#344054;
  box-shadow:0 5px 14px rgba(16,24,40,.06);
}

.chip input{accent-color:var(--primary)}

.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:16px 0;color:#eefdf8}
.toolbar strong{color:#fff;font-size:1.12rem}

.pager{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-radius:8px;
  padding:10px 13px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
  min-height:40px;
  white-space:nowrap;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}

.btn:hover{transform:translateY(-1px);text-decoration:none}
.btn:active{transform:translateY(0)}

.btn.primary{
  background:linear-gradient(135deg,var(--primary),var(--primary2));
  color:#fff;
  box-shadow:0 10px 24px color-mix(in srgb,var(--primary) 26%,transparent);
}

.btn.outline{background:#fff;border:1px solid #cbd5e1;color:#1e293b}
.btn.printAction{
  border:1px solid color-mix(in srgb,var(--accent) 70%,#b45309);
  background:linear-gradient(135deg,#fff7d6,#ffdf75);
  color:#713f12;
  box-shadow:0 8px 20px rgba(180,83,9,.14);
}
.btn.printAction:hover{filter:saturate(1.08) brightness(.99)}
.btn:disabled{opacity:.48;cursor:not-allowed;transform:none}

.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}

.card{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:190px;
  background:linear-gradient(180deg,#fff 0%,#f9fbfd 100%);
  border:1px solid rgba(255,255,255,.78);
  border-radius:8px;
  padding:16px;
  box-shadow:var(--soft);
  overflow:hidden;
}

.card:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,var(--primary),var(--accent),var(--cool));
}

.card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 44px rgba(16,24,40,.15);
}

.title{font-weight:950;font-size:1.02rem;letter-spacing:0}
.sub{color:var(--muted);font-size:.88rem}

.price{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  background:linear-gradient(135deg,#f7fff9,#fff9eb);
  border:1px solid color-mix(in srgb,var(--primary) 24%,#e2e8f0);
  border-radius:8px;
  padding:10px;
}

.price div{display:flex;flex-direction:column;gap:2px;min-width:0}
.price strong{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.price span{color:var(--muted);font-size:.78rem}
.price b{font-size:1.08rem;white-space:nowrap}
.mutedPrice{background:#f8fafc;color:#64748b}

.pricingPanel{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
  background:linear-gradient(135deg,#f7fff9,#fff9eb);
  border:1px solid color-mix(in srgb,var(--primary) 24%,#e2e8f0);
  border-radius:8px;
  padding:14px;
  box-shadow:0 10px 26px rgba(16,24,40,.08);
}

.pricingPanel div{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.8);
  border-radius:8px;
  padding:12px;
}

.pricingPanel span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  text-transform:uppercase;
  font-weight:950;
  letter-spacing:.08em;
}

.pricingPanel strong{display:block;margin-top:4px;font-size:1.2rem}
.pricingPanel p{grid-column:1/-1;margin:0;color:#475569}

.edgePanel{
  margin-top:14px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-left:5px solid #94a3b8;
  border-radius:8px;
  box-shadow:0 16px 34px rgba(15,23,42,.08);
}
.edgePanel.edge,.edgePanel.strong{border-left-color:#0f9f6e}
.edgePanel.watch,.edgePanel.fair{border-left-color:#f59e0b}
.edgePanel.thin,.edgePanel.insufficient{border-left-color:#94a3b8}
.edgePanel.overpriced{border-left-color:#ef4444}
.edgeHead{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  margin-bottom:12px;
}
.edgeHead > div{min-width:220px}
.edgeHead span,.edgeGrid span,.edgeNotes span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.edgeHead strong{font-size:1.28rem}
.edgeHead em{
  margin-left:6px;
  color:#0f766e;
  font-style:normal;
  font-size:.68rem;
  text-transform:none;
  letter-spacing:0;
}
.edgeAskForm{
  display:grid;
  grid-template-columns:minmax(170px,1fr) auto;
  gap:10px;
  width:min(420px,100%);
  margin:0;
}
.edgeAskForm input{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
  color:var(--ink);
  font:inherit;
}
.edgeAskForm .btn{
  min-height:42px;
  white-space:nowrap;
}
.edgeGrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.decisionGrid{grid-template-columns:1.05fr 1.25fr 1fr 1fr .9fr}
.edgeGrid div{
  min-height:68px;
  padding:12px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:8px;
}
.edgeGrid strong{
  display:block;
  margin-top:5px;
  font-size:1rem;
  overflow-wrap:anywhere;
}
.edgePanel p{
  margin:12px 0 0;
  color:#475569;
}
.edgeNotes{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}
.edgeNotes div{
  padding:12px;
  background:#fbfdff;
  border:1px solid var(--line);
  border-radius:8px;
}
.edgeNotes ul{
  margin:8px 0 0;
  padding-left:18px;
  color:#334155;
}
.edgeNotes li+li{margin-top:6px}

.compPanel{
  margin-top:14px;
  padding:16px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  box-shadow:0 14px 28px rgba(15,23,42,.07);
}
.compHead{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-end;
  margin-bottom:12px;
}
.compHead span,.compGrid span{
  display:block;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.compHead strong{display:block;margin-top:4px;font-size:1.18rem}
.compPanel textarea{
  width:100%;
  min-height:112px;
  resize:vertical;
  padding:12px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#f8fafc;
  color:var(--ink);
  font:inherit;
}
.compActions{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.compGrid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.compGrid div{
  min-height:64px;
  padding:12px;
  background:#f8fafc;
  border:1px solid var(--line);
  border-radius:8px;
}
.compGrid strong{display:block;margin-top:5px;font-size:1rem}
.compStatus{
  margin:12px 0 0;
  color:var(--muted);
  line-height:1.5;
}

.query{
  font-size:.84rem;
  color:#475569;
  background:#f8fafc;
  border:1px dashed #cbd5e1;
  border-radius:8px;
  padding:10px;
  overflow-wrap:anywhere;
}

.badges{display:flex;gap:7px;flex-wrap:wrap}

.badge{
  border-radius:999px;
  padding:5px 9px;
  font-size:.73rem;
  font-weight:950;
  background:color-mix(in srgb,var(--primary) 13%,#fff);
  color:color-mix(in srgb,var(--primary2) 82%,#111827);
  border:1px solid color-mix(in srgb,var(--primary) 28%,#dbe4f0);
}

.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:auto}
.actions .btn{width:100%}
.card .actions .printAction{
  grid-column:1/-1;
  width:calc(50% - 4px);
  justify-self:center;
}
.market .actions{grid-template-columns:1fr}

.backLink{margin-bottom:0}
.detail{display:block}
.detailMain{
  max-width:920px;
  margin:0 auto;
}
.detail h2{
  max-width:780px;
  font-size:clamp(1.55rem,3vw,2.55rem);
  line-height:1.08;
  margin:0 0 10px;
  letter-spacing:0;
}
.detail h3{margin:26px 0 12px}

.metaGrid,.marketGrid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:12px;
}
.metaGrid{margin-top:18px}

.meta,.market,.labelPanel{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:14px;
  box-shadow:0 10px 26px rgba(16,24,40,.08);
}

.meta{min-height:96px}
.market{display:flex;flex-direction:column;gap:12px;min-height:108px}
.labelPanel{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin-top:22px;
  padding:18px;
}

.labelPreview{
  width:min(100%,2.75in);
  max-width:2.75in;
  min-height:1.15in;
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px;
  border:1px solid #111;
  background:#fff;
  color:#111;
  text-align:left;
}

.labelPreview img{width:.78in;height:.78in;flex:0 0 auto}
.labelCopy{min-width:0}
.labelName{font-weight:800;font-size:.71rem;line-height:1.12;overflow-wrap:anywhere}
.labelUrl{margin-top:4px;font-size:.45rem;line-height:1.1;color:#333;overflow-wrap:anywhere}
.labelPanel .btn{width:auto;min-width:140px}

.labelPage{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
}

.labelPage .labelPreview{box-shadow:var(--soft)}
.labelControls{width:min(2.75in,100%);display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.labelControls .btn{width:100%}
.printFallback{margin:10px 0 0;color:#dbe8ed;font-size:.8rem}

.toast{
  position:fixed;
  right:18px;
  bottom:18px;
  background:#111827;
  color:#fff;
  padding:12px 14px;
  border-radius:8px;
  opacity:0;
  transform:translateY(10px);
  transition:.18s;
  z-index:100;
  box-shadow:0 16px 40px rgba(0,0,0,.22);
}

.toast.on{opacity:1;transform:none}
.foot{text-align:center;color:#d8efe9;padding:24px 0 36px}

@media(max-width:980px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .results{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr}
  .searchbar{grid-template-columns:minmax(0,1fr) 150px}
  .searchbar #setSel{grid-column:1/-1}
}

@media(max-width:680px){
  .wrap{padding:14px}
  .topbar,.toolbar{flex-direction:column;align-items:stretch}
  .navActions{justify-content:space-between}
  .searchbar,.panel.stats,.results,.metaGrid,.marketGrid,.pricingPanel,.edgeGrid,.edgeAskForm,.edgeNotes,.compGrid{grid-template-columns:1fr}
  .edgeHead,.compHead,.compActions{flex-direction:column;align-items:stretch}
  .searchbar #setSel{grid-column:auto}
  .card{min-height:0}
  .labelPanel{flex-direction:column;align-items:stretch}
  .labelPreview{width:100%;max-width:none}
  .actions{grid-template-columns:1fr}
  .card .actions .printAction{grid-column:auto;width:100%}
  .btn{width:100%}
  .themeToggle{width:max-content}
}

@media print{
  body{background:#fff}
  body:before,.topbar,.searchShell,.toolbar,.actions,.foot,.labelControls,.printFallback{display:none}
  .labelPage{display:block;min-height:0;padding:0}
  .labelPage .labelPreview{box-shadow:none}
  .panel,.card,.meta,.market,.labelPanel{box-shadow:none}
}
