:root{--bg:#faf8f3;--ink:#0a0e1f;--card:#fff;--muted:#5d6070;--line:#ddd6c4;--gold:#d4a017;--soft:#f1ede2;--ok:#2f6b4f;--warn:#a8750c;--bad:#8c2a2a}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 Inter,system-ui,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:500;margin:0}
h1{font-size:28px}h2{font-size:20px;margin:28px 0 10px}h3{font-size:16px}
.wrap{max-width:1040px;margin:0 auto;padding:20px 16px 60px}
.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:12px}
.sim{border:1px dashed var(--gold);background:#fff9e6;padding:8px 12px;border-radius:3px;font-size:13px;margin-top:12px}
.card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:14px;margin-bottom:10px}
.row{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}
.muted{color:var(--muted);font-size:13px}
.pill{display:inline-block;font-size:12px;padding:1px 8px;border-radius:99px;border:1px solid var(--line);background:var(--soft)}
.pill.urgent,.pill.breached{background:var(--bad);color:#fff;border-color:var(--bad)}
.pill.watch{background:#f6e7c1;border-color:var(--warn)}
.pill.ok,.pill.done{background:#e3efe8;border-color:var(--ok)}
.num{font-variant-numeric:tabular-nums}
button{font:inherit;cursor:pointer;border:1px solid var(--ink);background:var(--ink);color:var(--bg);padding:6px 12px;border-radius:3px}
button.ghost{background:transparent;color:var(--ink)}
button.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
button:disabled{opacity:.5;cursor:default}
input,textarea{font:inherit;padding:6px 8px;border:1px solid var(--line);border-radius:3px;background:#fff;width:100%}
textarea{min-height:140px}
ul{margin:4px 0 0;padding-left:18px}
.flag.blocker{color:var(--bad)}.flag.warning{color:var(--warn)}.flag.info{color:var(--muted)}
.match{border-top:1px solid var(--line);padding:8px 0}
.drawer{position:fixed;inset:0 0 0 auto;width:min(560px,100%);background:var(--bg);border-left:1px solid var(--line);overflow:auto;padding:16px;box-shadow:-8px 0 24px rgba(10,14,31,.12);z-index:10}
pre{white-space:pre-wrap;background:var(--soft);padding:10px;border-radius:3px;font-size:13px}
.opt{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:3px;margin:6px 0;background:#fff}
.opt input{width:auto}
.center{max-width:520px;margin:40px auto;padding:0 16px}
