:root{--navy:#1e3d63;--navy2:#1f4368;--orange:#e8823c;--ink:#1e3d63;--muted:#5b6b82;
  --faint:#8a99ad;--line:#e2e8f1;--bg:#eef2f7;--card:#fff;--gold:#c8821a;--green:#2ca01c;--red:#b33a2e;
  --font:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box;margin:0;-webkit-tap-highlight-color:transparent}
body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.55}
.bar{background:var(--navy);color:#fff;padding:15px 20px;display:flex;align-items:center;gap:12px}
.bar .logo{width:34px;height:34px;display:flex;flex:0 0 auto}
.bar .logo img{display:block;width:100%;height:100%}
.bar h1{font-size:14.5px;font-weight:800}.bar .sub{font-size:11px;color:#c7d3e0}
.bar .les{margin-left:auto;font-size:11.5px;color:#a8c0dc;font-weight:700;white-space:nowrap}
.track{height:5px;background:#dfe6f0}.trackfill{height:100%;background:var(--orange);width:0;transition:width .35s}
.wrap{max-width:760px;margin:0 auto;padding:26px 20px 70px}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.15em;
  text-transform:uppercase;color:var(--orange);margin-bottom:12px}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--orange);display:block;flex:0 0 auto}
h2{font-size:27px;font-weight:800;letter-spacing:-.025em;line-height:1.14;margin-bottom:12px}
h3{font-size:18px;font-weight:800;margin-bottom:9px}
p{font-size:16px;color:var(--muted);margin-bottom:14px}
p.tight{margin-bottom:8px}
.q{font-size:20px;font-weight:800;line-height:1.32;margin:0 0 16px;letter-spacing:-.015em;color:var(--ink)}
.opt{background:var(--card);border:1.5px solid var(--line);border-radius:13px;padding:15px 16px;margin-bottom:10px;
  font-size:15.5px;font-weight:600;cursor:pointer;display:flex;gap:13px;align-items:flex-start;transition:border-color .15s}
.opt:hover{border-color:#c3d3e6}
.opt .dot{flex:0 0 auto;width:21px;height:21px;border-radius:50%;border:2px solid #cdd9e8;margin-top:2px}
.opt.sel{border-color:var(--orange);background:#fffaf6}
.opt.sel .dot{border-color:var(--orange);background:var(--orange);box-shadow:inset 0 0 0 3.5px #fff}
.opt.dis{opacity:.5;pointer-events:none}
.rl-btn{display:inline-block;background:var(--orange);color:#fff;border:none;border-radius:10px;
  padding:14px 24px;font-size:15.5px;font-weight:800;cursor:pointer;font-family:inherit;text-decoration:none;
  box-shadow:0 3px 14px rgba(232,130,60,.3)}
.rl-btn:disabled{background:#d7dfea;color:#93a3b7;box-shadow:none;cursor:default}
.rl-btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line);box-shadow:none}
.rl-btn.wide{width:100%;margin-top:6px}
.back{background:none;border:none;color:var(--faint);font-size:13.5px;font-weight:700;cursor:pointer;
  font-family:inherit;padding:12px 0 0}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
.dash{background:var(--navy);color:#fff;border-radius:14px;padding:20px 22px;margin-bottom:18px}
.dash h3{color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#a8c0dc;margin-bottom:14px}
.dash table{width:100%;border-collapse:collapse}
.dash th{text-align:left;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:#8fa8c6;
  font-weight:800;padding:0 0 9px;border-bottom:1px solid rgba(255,255,255,.16)}
.dash td{font-size:14.5px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.08);color:#dbe6f3}
.dash tr:last-child td{border-bottom:none}
.dash td.n{font-weight:800;color:#fff;font-variant-numeric:tabular-nums}
.dash .warn{color:#ffb27a;font-weight:800}
.kv{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #f0f3f8;font-size:15px}
.kv:last-child{border-bottom:none}.kv .k{color:var(--muted)}.kv .v{font-weight:800;font-variant-numeric:tabular-nums}
.note{background:#fff8f2;border:1px solid #f4d9bf;border-radius:12px;padding:15px 16px;margin-bottom:16px}
.note .t{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.note p{font-size:15px;margin:0;color:var(--ink)}
.calc{display:flex;align-items:center;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.calc label{flex:1 1 240px;font-size:15px;color:var(--muted);font-weight:600}
.calc input{width:180px;padding:12px;border:1.5px solid var(--line);border-radius:10px;font-size:16px;
  font-family:inherit;text-align:right;font-variant-numeric:tabular-nums}
.calc input:focus{outline:none;border-color:var(--orange)}
.calc.ok input{border-color:var(--green);background:#f4fbf3}
.calc.bad input{border-color:var(--red);background:#fdf5f4}
.engine{background:var(--navy);border-radius:14px;padding:18px 20px;margin-bottom:18px}
.engine .row{display:flex;justify-content:space-between;font-size:14.5px;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.1);color:#a8c0dc}
.engine .row:last-child{border-bottom:none}
.engine .row.on{color:#fff}.engine .row .v{font-weight:800;font-variant-numeric:tabular-nums}
.engine .row.on .v{color:var(--orange)}
/* result + gate + scorecard */
.rl-result{text-align:center;padding:10px 0}
.rl-score{font-size:60px;font-weight:800;letter-spacing:-.04em;line-height:1}
.rl-result.ok .rl-score{color:var(--green)}.rl-result.no .rl-score{color:var(--gold)}
.rl-verdict{font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-top:6px}
.rl-result.ok .rl-verdict{color:var(--green)}.rl-result.no .rl-verdict{color:var(--gold)}
.rl-rmsg{margin:14px auto 18px;max-width:52ch}
.rl-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:22px 0}
.fb{text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:6px}
.fb .i{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14.5px}
.fb .i:last-child{border-bottom:none}
.fb .m{flex:0 0 auto;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:900;color:#fff;
  display:flex;align-items:center;justify-content:center;margin-top:1px}
.fb .i.y .m{background:var(--green)}.fb .i.n .m{background:var(--red)}.fb .i.p .m{background:var(--gold)}
.fb .tx strong{display:block;color:var(--ink);font-weight:800;margin-bottom:2px}
.fb .tx span{color:var(--muted)}
.rl-lock{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:34px 26px;text-align:center}
.rl-lockicon{width:52px;height:52px;border-radius:50%;background:var(--bg);color:var(--faint);
  display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:22px}
.rl-lockscore{font-size:14.5px}
.rl-sc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:22px;text-align:left}
.rl-sc-h{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-bottom:14px}
.rl-sc-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.rl-sc-k{flex:0 0 128px;font-size:13.5px;font-weight:700}
.rl-sc-bar{flex:1;height:9px;background:var(--bg);border-radius:99px;overflow:hidden}
.rl-sc-bar i{display:block;height:100%;border-radius:99px}
.rl-sc-bar i.hi{background:var(--green)}.rl-sc-bar i.mid{background:var(--gold)}.rl-sc-bar i.lo{background:var(--red)}
.rl-sc-v{flex:0 0 30px;text-align:right;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.rl-sc-f{font-size:12px;color:var(--faint);margin-top:12px}
@media(max-width:520px){h2{font-size:23px}.q{font-size:18px}.rl-score{font-size:50px}
  .calc input{width:100%}.calc label{flex:1 1 100%}}
