:root{
  --bg:#12100c;
  --bg-raised:#1b1812;
  --ink:#ece5d5;
  --ink-muted:#a89a80;
  --ink-faint:#71654f;
  --accent:#d9a24a;
  --accent-ink:#f0c785;
  --line:#332c20;
  --good:#7cc79c;
  --good-soft:#1c2c22;
  --bad:#e08a72;
  --bad-soft:#301f1a;
  --mono-surface:#1e1a12;
}
*{ box-sizing:border-box; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  line-height:1.5;
}
.num{ font-variant-numeric:tabular-nums; font-feature-settings:"tnum" 1; }
code,.mono{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }

.wrap{ max-width:1080px; margin:0 auto; padding:36px 20px 80px; }

.nav{ display:flex; align-items:center; justify-content:space-between; margin-bottom:22px; }
.nav-right{ display:flex; align-items:center; gap:20px; }
.nav .links{ display:flex; gap:18px; }
#lang-toggle{ display:flex; gap:2px; background:var(--mono-surface); border:1px solid var(--line); border-radius:7px; padding:2px; }
.lang-btn{
  font-size:11px; font-weight:600; padding:4px 9px; border-radius:5px; border:none;
  background:transparent; color:var(--ink-faint); cursor:pointer;
}
.lang-btn.active{ background:var(--accent); color:#1a1408; }
.nav a{
  color:var(--ink-muted); text-decoration:none; font-size:13px; font-weight:600;
  padding:6px 0; border-bottom:2px solid transparent;
}
.nav a:hover{ color:var(--ink); }
.nav a.active{ color:var(--accent-ink); border-color:var(--accent); }

header h1{ font-size:22px; font-weight:600; margin:0 0 4px; letter-spacing:-.01em; }
header p{ margin:0; color:var(--ink-muted); font-size:14px; max-width:640px; }

.config-line{
  margin-top:14px; font-family:ui-monospace,monospace; font-size:12px; color:var(--ink-faint);
  display:flex; gap:14px; flex-wrap:wrap;
}
.config-line b{ color:var(--accent-ink); font-weight:600; }

.panel{
  margin-top:24px; background:var(--bg-raised); border:1px solid var(--line);
  border-radius:12px; padding:20px;
}
label{ display:block; font-size:12.5px; color:var(--ink-muted); margin-bottom:8px; }
textarea{
  width:100%; min-height:120px; resize:vertical;
  background:var(--mono-surface); color:var(--ink); border:1px solid var(--line);
  border-radius:8px; padding:12px 14px; font-family:ui-monospace,monospace; font-size:13px;
  line-height:1.6;
}
textarea:focus, input:focus, select:focus{ outline:2px solid var(--accent); outline-offset:1px; }

input[type="number"], input[type="text"], select{
  background:var(--mono-surface); color:var(--ink); border:1px solid var(--line);
  border-radius:7px; padding:8px 10px; font-family:ui-monospace,monospace; font-size:13px;
  width:100%;
}

.row{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:14px; flex-wrap:wrap; }
.row .hint{ font-size:12px; color:var(--ink-faint); }
.row .actions{ display:flex; gap:10px; }

button{
  font:inherit; font-size:13.5px; font-weight:600; cursor:pointer;
  border-radius:8px; border:1px solid transparent; padding:9px 16px;
}
button.primary{ background:var(--accent); color:#1a1408; }
button.primary:disabled{ opacity:.5; cursor:default; }
button.ghost{ background:transparent; color:var(--ink-muted); border-color:var(--line); }
button.ghost:hover{ color:var(--ink); border-color:var(--ink-faint); }
button.danger-ghost{ background:transparent; color:var(--bad); border-color:var(--bad-soft); }
button.danger-ghost:hover{ background:var(--bad-soft); }

.status{ margin-top:14px; font-size:13px; color:var(--ink-muted); min-height:18px; }
.status.error{ color:var(--bad); }
.status.success{ color:var(--good); }

table{ width:100%; border-collapse:collapse; margin-top:18px; font-size:13.5px; }
th{
  text-align:left; font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-faint); font-weight:500; padding:0 12px 8px; border-bottom:1px solid var(--line);
}
td{ padding:11px 12px; border-bottom:1px solid var(--line); vertical-align:top; }
tr:last-child td{ border-bottom:none; }
td.item-name{ max-width:260px; }
td.item-name .full{ font-weight:500; }
td.item-name .venues{ font-size:11.5px; color:var(--ink-faint); margin-top:3px; }
td.num-cell{ text-align:right; }
td .note{ font-size:11.5px; color:var(--ink-faint); margin-top:3px; max-width:220px; }
td .sub{ font-size:11px; color:var(--ink-faint); margin-top:2px; }

.pill{ display:inline-block; padding:2px 9px; border-radius:99px; font-size:11.5px; font-weight:600; margin-right:6px; }
.pill.buyable{ background:var(--good-soft); color:var(--good); }
.pill.not-buyable{ background:var(--bad-soft); color:var(--bad); }
.pill.tag{
  background:var(--mono-surface); color:var(--ink-muted); font-weight:500;
  font-family:ui-monospace,monospace; border:1px solid var(--line);
}
td.tags-cell{ white-space:nowrap; }
.band{ font-family:ui-monospace,monospace; font-size:11.5px; color:var(--ink-muted); }

.profit-pos{ color:var(--good); font-weight:600; }
.profit-neg{ color:var(--bad); font-weight:600; }

.empty{ margin-top:40px; text-align:center; color:var(--ink-faint); font-size:13.5px; }

#results-wrap{ overflow-x:auto; }

a{ color:var(--accent-ink); }

.field-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.field-grid.four{ grid-template-columns:repeat(4,1fr); }
@media (max-width:640px){ .field-grid,.field-grid.four{ grid-template-columns:1fr; } }
.field{ margin-bottom:0; }
.field .field-label{ display:flex; justify-content:space-between; align-items:baseline; }
.field .field-label .desc{ font-size:11px; color:var(--ink-faint); font-weight:400; }
.subhead{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-faint); margin:22px 0 12px; }
.subhead:first-child{ margin-top:0; }
.checkbox-row{ display:flex; align-items:center; gap:8px; margin-bottom:14px; }
.checkbox-row input{ width:auto; }
.checkbox-row label{ margin:0; }
