:root{
  --bg:#0b0f14; --panel:#121925; --panel2:#0e151f; --line:#223044;
  --txt:#e7eef7; --muted:#8da2bd; --accent:#2dd4a7; --accent2:#39a0ff;
  --warn:#f3b54a; --bad:#ef6f6f; --radius:14px;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:radial-gradient(1200px 600px at 70% -10%,#16243a 0,var(--bg) 55%);
  color:var(--txt);font-family:var(--font);line-height:1.5;-webkit-font-smoothing:antialiased}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
a{color:var(--accent)}

/* header */
header.site{border-bottom:1px solid var(--line);background:rgba(8,12,18,.6);backdrop-filter:blur(8px);
  position:sticky;top:0;z-index:5}
.brand-row{display:flex;align-items:baseline;gap:16px;padding:14px 20px;flex-wrap:wrap}
.brand{font-weight:800;font-size:24px;letter-spacing:-.5px}
.brand span{color:var(--accent)}
.tag{color:var(--muted);font-size:14px}

/* hero */
.hero{padding:46px 0 26px}
.hero h1{font-size:clamp(30px,5vw,46px);margin:0 0 14px;letter-spacing:-1px}
.hl{color:var(--accent)}
.lead{max-width:760px;color:#c6d4e6;font-size:18px}
.lead em{color:var(--txt);font-style:italic}

/* layout */
.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:860px){.grid{grid-template-columns:1fr}}
.card{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);
  border-radius:var(--radius);padding:22px}
.card h2{margin:0 0 16px;font-size:18px}

/* form */
fieldset{border:1px solid var(--line);border-radius:10px;margin:0 0 16px;padding:14px 14px 6px}
legend{padding:0 8px;color:var(--accent);font-size:13px;text-transform:uppercase;letter-spacing:.6px}
.form label{display:block;margin:0 0 12px;font-size:14px;color:#cfdbec}
.form input[type=number],.form input[type=text],.form select{
  width:100%;margin-top:6px;background:#0a121c;border:1px solid var(--line);color:var(--txt);
  border-radius:8px;padding:10px 12px;font-size:15px;font-family:var(--font)}
.form input:focus,.form select:focus{outline:none;border-color:var(--accent)}
.form small{display:block;color:var(--muted);margin-top:4px;font-size:12px}
label.check{display:flex;align-items:center;gap:8px}
label.check input{width:auto;margin:0}
.mix{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.mix-title{grid-column:1/-1;font-size:12px;color:var(--muted);margin-bottom:6px}

/* sliders */
.sliders{display:grid;gap:10px}
.slider-row{display:grid;grid-template-columns:120px 1fr 28px;align-items:center;gap:10px;font-size:13px}
.slider-row input[type=range]{width:100%;accent-color:var(--accent)}
.slider-row .val{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums}

/* cta */
.cta{width:100%;border:0;border-radius:10px;padding:14px;font-size:16px;font-weight:700;cursor:pointer;
  color:#062018;background:linear-gradient(90deg,var(--accent),#7ef0cf)}
.cta:hover{filter:brightness(1.05)}

/* results */
.results{min-height:200px}
.results-empty{color:var(--muted)}
.muted{color:var(--muted)}
.hero-score{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:12px;
  padding:16px;margin-bottom:18px;background:#0a121c}
.hero-score .num{font-size:42px;font-weight:800;color:var(--accent);line-height:1}
.hero-score .meta{font-size:14px;color:#cfdbec}
.hero-score .meta b{color:var(--txt);font-size:16px}

.row{border:1px solid var(--line);border-radius:11px;padding:13px 15px;margin-bottom:11px;background:#0c1622}
.row.locked{opacity:.96}
.row-head{display:flex;align-items:center;gap:12px}
.rank{width:26px;height:26px;flex:0 0 26px;border-radius:7px;background:#1b2940;color:var(--accent);
  display:grid;place-items:center;font-weight:700;font-size:14px}
.cname{font-weight:700;font-size:16px}
.score{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px}
.bar{height:7px;border-radius:6px;background:#172234;margin:10px 0 4px;overflow:hidden}
.bar > i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))}
.detail{font-size:13px;color:#c2d2e6;margin-top:8px;display:grid;gap:3px}
.detail .k{color:var(--muted)}
.flag{color:var(--warn);font-size:12.5px}
.locked-note{font-size:12.5px;color:var(--muted);font-style:italic}
.blur{filter:blur(5px);user-select:none}

.excluded{margin-top:14px;font-size:13px;color:var(--muted)}
.excluded b{color:var(--bad)}

/* unlock */
.unlock{margin:6px 0 16px;border:1px dashed var(--accent);border-radius:12px;padding:16px;background:#0a1a16}
.unlock h3{margin:0 0 6px;font-size:16px}
.unlock p{margin:0 0 12px;font-size:13.5px;color:#bfe9da}
.unlock button{border:0;border-radius:9px;padding:11px 16px;font-weight:700;cursor:pointer;
  background:linear-gradient(90deg,var(--accent),#7ef0cf);color:#062018}
.unlock .stub{display:block;margin-top:8px;font-size:11.5px;color:var(--muted)}

.disclaimer{max-width:900px;margin:28px auto 10px;color:var(--muted);font-size:12.5px;
  border-top:1px solid var(--line);padding-top:16px}
.disclaimer code{color:#bcd}
.site-foot{border-top:1px solid var(--line);margin-top:30px;padding:18px 0;color:var(--muted);font-size:13px}
