/* Risen Nexus console — tokens: ink #16262E · lagoon #0E7C7B · brass #B8892E · glass #F1F5F4 */
:root{
  --ink:#16262E; --ink-soft:#3D4F57; --lagoon:#0E7C7B; --lagoon-dark:#0A5E5D;
  --brass:#B8892E; --glass:#F1F5F4; --card:#FFFFFF; --line:#D8E2E0;
  --red:#C74A32; --amber:#D99A26; --green:#2E8757;
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box} body{margin:0;background:var(--glass);color:var(--ink);
  font:15px/1.55 var(--sans)}
a{color:var(--lagoon-dark);text-decoration:none} a:hover{text-decoration:underline}
h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:-.01em}
h1{font-size:1.9rem;margin:.2rem 0 .3rem} h2{font-size:1.25rem;margin:1.6rem 0 .6rem}
.eyebrow{font:600 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;
  color:var(--lagoon-dark)}
.muted{color:var(--ink-soft)} .small{font-size:.82rem}

/* nav */
nav{background:var(--ink);color:#E8EFEE;display:flex;align-items:baseline;gap:1.4rem;
  padding:.7rem 1.6rem}
nav .brand{font-family:var(--serif);font-size:1.15rem;color:#fff}
nav .brand b{color:#7FD1CB} nav a{color:#B9CCC9;font-size:.85rem}
nav a:hover{color:#fff;text-decoration:none}
main{max-width:1060px;margin:1.6rem auto 4rem;padding:0 1.4rem}

/* cards, tables, buttons, forms */
.card{background:var(--card);border:1px solid var(--line);border-radius:8px;
  padding:1.1rem 1.3rem;margin:.9rem 0}
.grid{display:grid;gap:1rem} .grid.two{grid-template-columns:1fr 1fr}
@media(max-width:760px){.grid.two{grid-template-columns:1fr}}
table{border-collapse:collapse;width:100%;font-size:.9rem}
th{text-align:left;font:600 .68rem/1.2 var(--sans);letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-soft);padding:.45rem .6rem;
  border-bottom:2px solid var(--ink)}
td{padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}
.num{text-align:right;font-variant-numeric:tabular-nums}
.btn{display:inline-block;background:var(--lagoon);color:#fff;border:0;border-radius:6px;
  padding:.55rem 1.1rem;font:600 .88rem var(--sans);cursor:pointer}
.btn:hover{background:var(--lagoon-dark);text-decoration:none;color:#fff}
.btn.ghost{background:transparent;color:var(--lagoon-dark);border:1.5px solid var(--lagoon)}
.btn.brass{background:var(--brass)}
input[type=text],input[type=number],input[type=month],select,textarea{
  width:100%;padding:.5rem .6rem;border:1px solid var(--line);border-radius:6px;
  font:inherit;background:#fff}
label{font:600 .78rem var(--sans);color:var(--ink-soft);display:block;margin:.7rem 0 .25rem}

/* ---- signature: the loop strip ---- */
.loopstrip{display:flex;gap:3px;margin:.6rem 0 .2rem}
.loopstrip .seg{flex:1;text-align:center}
.loopstrip .bar{height:14px;border-radius:2px;background:var(--line)}
.loopstrip .bar.red{background:var(--red)} .loopstrip .bar.amber{background:var(--amber)}
.loopstrip .bar.green{background:var(--green)}
.loopstrip .lbl{font:600 .58rem/1.5 var(--sans);letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-soft)}
.loopstrip .pct{font:700 .72rem var(--sans);font-variant-numeric:tabular-nums}
.loopstrip.mini .bar{height:7px} .loopstrip.mini .lbl,.loopstrip.mini .pct{display:none}

/* pills, dial */
.pill{display:inline-block;border-radius:99px;padding:.1rem .6rem;
  font:700 .72rem/1.6 var(--sans);letter-spacing:.03em}
.pill.red{background:#F7E2DD;color:var(--red)} .pill.amber{background:#F8EDD3;color:#8A6112}
.pill.green{background:#DFEFE6;color:var(--green)}
.pill.ink{background:var(--ink);color:#fff}
.dial{display:flex;align-items:center;gap:1.1rem}
.dial .score{font-family:var(--serif);font-size:2.6rem;line-height:1}
.mur{color:var(--brass);font-weight:700;font-variant-numeric:tabular-nums}

/* audit runner */
.qrow{display:grid;grid-template-columns:1fr 178px;gap:1rem;align-items:start;
  padding:.7rem 0;border-bottom:1px solid var(--line)}
.qrow .code{font:700 .74rem var(--sans);color:var(--lagoon-dark);margin-right:.5rem}
.qrow .flag{color:var(--red);font-weight:700}
.qrow .ev{font-size:.78rem;color:var(--ink-soft);margin-top:.15rem}
.score012{display:flex;gap:.4rem}
.score012 label{margin:0;flex:1;text-align:center;border:1.5px solid var(--line);
  border-radius:6px;padding:.42rem 0;cursor:pointer;font-weight:700;background:#fff}
.score012 input{display:none}
.score012 input:checked+span{color:#fff}
.score012 label:has(input:checked){background:var(--lagoon);border-color:var(--lagoon);color:#fff}
.qrow textarea{margin-top:.4rem;font-size:.82rem;min-height:34px}
.auditside{position:sticky;top:1rem}
.auditside .row{display:flex;justify-content:space-between;padding:.28rem 0;
  border-bottom:1px dashed var(--line);font-size:.85rem}

/* leak cards */
.leak{border-left:5px solid var(--red);padding-left:1rem;margin:1rem 0}
.leak h3{margin:.1rem 0}
.rankball{display:inline-flex;width:1.7rem;height:1.7rem;border-radius:50%;
  background:var(--ink);color:#fff;align-items:center;justify-content:center;
  font:700 .95rem var(--serif);margin-right:.5rem}

/* ---------- report (print-first) ---------- */
.report{background:#fff;max-width:820px;margin:1.5rem auto;padding:3rem 3.4rem;
  border:1px solid var(--line)}
.report header{border-bottom:3px solid var(--ink);padding-bottom:1.2rem;margin-bottom:1.6rem}
.report h1{font-size:2.2rem} .report h2{border-bottom:1px solid var(--line);padding-bottom:.25rem}
.report .pagebreak{break-before:page}
.noprint{}
@media print{
  nav,.noprint{display:none!important}
  body{background:#fff} main{margin:0;max-width:none;padding:0}
  .report{border:0;margin:0;padding:0 .2cm;max-width:none}
  a{color:inherit}
}
:focus-visible{outline:2px solid var(--lagoon);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
