/* RecoveryForge — privacy-first (system fonts, no external requests).
   Palette: deep slate ground + warm amber accent. Chosen for deutan-safe contrast —
   amber (high luminance, warm) reads clearly against cool slate-blue regardless of
   red/green discrimination; status is ALWAYS carried by text/icon, never colour alone. */
:root{
  --bg:#0d1320;--panel:#141d2e;--panel2:#0f1726;--ink:#eef3fb;--muted:#93a3bd;--line:#26344c;
  --accent:#f5a524;--accent2:#e8841a;--accent-ink:#1a1206;--ok:#fbbf24;--err:#fca5a5;--radius:14px;
}
*{box-sizing:border-box}html,body{margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
.wrap{max-width:760px;margin:0 auto;padding:0 18px}
.top{padding:32px 0 14px;background:radial-gradient(1200px 220px at 50% -50px,rgba(245,165,36,0.16),transparent)}
.top h1{margin:0;font-size:2rem;font-weight:800;letter-spacing:-0.02em}
.top h1 span{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}
.tag{margin:8px 0 0;color:var(--muted);font-size:.96rem;max-width:60ch}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-top:18px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.grid{grid-template-columns:1fr}}
label{display:block;font-weight:600;font-size:.85rem;margin:0 0 4px}
.full{margin-top:14px}
.opt-tag{font-weight:400;color:var(--muted);font-size:.78rem}
input,select,textarea{width:100%;background:var(--panel2);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:11px 13px;font-size:1rem;font-family:inherit;margin-top:5px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);border-color:var(--accent)}
.go{margin-top:18px;width:100%;cursor:pointer;border:0;border-radius:10px;padding:14px;font-size:1rem;font-weight:800;color:var(--accent-ink);background:linear-gradient(90deg,var(--accent),var(--accent2))}
.go[disabled]{opacity:.6;cursor:progress}

.status{min-height:1.2em;margin:14px 2px;font-size:.9rem;color:var(--muted)}
.status.ok{color:var(--ok);font-weight:600}
.status.err{color:var(--err);font-weight:600}

.result{margin-top:6px}
.stage{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;margin:0 0 14px;border-left:4px solid var(--accent)}
.stage-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.stage-head h3{margin:0;font-size:.98rem}
.stage-num{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.stage pre{white-space:pre-wrap;font-family:inherit;margin:0;font-size:.95rem;color:var(--ink)}
.copy{cursor:pointer;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:8px;padding:6px 12px;font-size:.78rem;font-weight:600;white-space:nowrap}
.copy:hover{color:var(--ink);border-color:var(--accent)}
.flags{background:#3a2410;border:1px solid var(--accent2);border-radius:10px;padding:10px 13px;margin:0 0 14px;font-size:.85rem}
.flags b{color:var(--accent)}
.disclaimer{color:var(--muted);font-size:.8rem;margin:18px 2px;line-height:1.5}
.foot{color:var(--muted);font-size:.78rem;padding:18px 0 30px;text-align:center}
