:root{
  --bg:#0b0f16;
  --panel:#121824;
  --ink:#e8eefc;
  --ink-dim:#a9b4c7;
  --accent:#6aa7ff;
  --border:#22304a;
  --danger:#ff7a7a;
  --mute:#2a3142;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.container{max-width:1100px;margin:0 auto;padding:16px}
h1{margin:8px 0 4px;font-size:26px}
h2{margin:0 0 12px;font-size:18px}
.subtle{color:var(--ink-dim)}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:900px){.grid{grid-template-columns:1fr}}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px}

.sliders .row{display:grid;grid-template-columns:130px 1fr 90px 60px;gap:10px;align-items:center;margin-bottom:12px}
.label{font-weight:600}
.valueWrap{display:flex;gap:6px;align-items:center;justify-content:flex-end}
.valueInput{width:52px;background:#0a1324;border:1px solid var(--border);border-radius:6px;padding:4px;color:var(--ink);font-variant-numeric:tabular-nums;text-align:right}
.valueMax{color:var(--ink-dim)}

input[type="range"]{width:100%;appearance:none;background:transparent}
input[type="range"]::-webkit-slider-runnable-track{height:8px;border:1px solid var(--border);background:#0a1324;border-radius:999px}
input[type="range"]::-webkit-slider-thumb{appearance:none;margin-top:-6px;width:20px;height:20px;border-radius:50%;background:var(--accent);border:0}
input[type="range"]::-moz-range-track{height:8px;border:1px solid var(--border);background:#0a1324;border-radius:999px}
input[type="range"]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:0}
input[type="range"]:disabled{opacity:.6;cursor:not-allowed}

.btn{background:var(--accent);color:#041022;border:0;border-radius:8px;padding:8px 12px;font-weight:700;cursor:pointer}
.btn:hover{opacity:.9}

.feasBox{margin-bottom:10px}
.feasBox.bad{color:var(--danger)}

.slot{border:1px solid var(--border);border-radius:10px;padding:12px;margin-top:12px}
.slot h3{margin:0 0 8px;font-size:16px}
.card-list{display:grid;gap:10px}
.card{border:1px solid var(--border);border-radius:10px;padding:10px;background:#0e1420}
.card .top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.badge{display:inline-block;border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px;color:var(--ink-dim)}

.stats{display:flex;flex-wrap:wrap;gap:6px}
.statpill{border:1px solid var(--border);border-radius:999px;padding:2px 8px;font-size:12px}

/* Label + pills lines */
.tertsLine, .modsLine{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:6px}
.label-chip{font-size:12px;color:var(--ink-dim)}

/* Compact stat bars */
.bars{display:grid;gap:6px;margin-top:6px}
.barRow{display:grid;grid-template-columns:90px 1fr 46px;gap:8px;align-items:center}
.barLabel{font-size:12px;color:var(--ink-dim)}
.track{height:8px;border:1px solid var(--border);background:#0a1324;border-radius:999px;overflow:hidden}
.fill{height:100%;background:var(--accent);width:0%}
.barVal{font-variant-numeric:tabular-nums;text-align:right;color:var(--ink)}

.footer{opacity:.8}
code{background:#0a1324;border:1px solid var(--border);border-radius:6px;padding:2px 6px}

/* Minor-mod selector under sliders */
.modsCtrl{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
  background:#0e1420;
  border:1px solid var(--border);
  border-radius:10px;
  padding:10px;
}
.modsCtrl label{font-weight:600}
.modsCtrl select{
  background:#0a1324;border:1px solid var(--border);border-radius:6px;
  color:var(--ink);padding:6px 10px;
}
.modsCtrl .hint{margin-left:auto;font-size:12px}

/* Range slider live value */
.rangeWrap{position:relative}
.thumbTip{
  position:absolute; bottom:-22px; transform:translateX(-50%);
  background:#0a1324; border:1px solid var(--border); border-radius:6px;
  padding:2px 6px; font-size:12px; color:var(--ink); pointer-events:none;
  white-space:nowrap; opacity:.9
}