:root{--bg: #12211e;--bg-deep: #0b1412;--surface: #172b27;--surface-2: #1e3a34;--line: rgba(255, 255, 255, .09);--line-firm: rgba(255, 255, 255, .16);--teal: #0e7c73;--accent: #35c9ba;--accent-dim: rgba(53, 201, 186, .14);--text: #f2f7f5;--muted: #9db3ae;--soft: #cde8e3;--danger: #e8938c;--warn: #e2b263;--radius: 14px;--pad: 16px;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg)}body{font-family:var(--font-ui);color:var(--text);font-size:16px;line-height:1.5;min-height:100dvh;padding-bottom:env(safe-area-inset-bottom);-webkit-font-smoothing:antialiased}.app{max-width:620px;margin:0 auto;padding:0 var(--pad) 96px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;width:100%;max-width:620px;margin:0 auto 16px;padding:14px var(--pad) 12px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar .mark{width:26px;height:26px;border-radius:7px;flex:0 0 auto}.topbar h1{font:500 16px/1.2 var(--font-ui);letter-spacing:-.01em}.topbar .who{margin-left:auto;font-size:12.5px;color:var(--muted);text-align:right}nav.tabs{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;background:var(--bg-deep);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}nav.tabs button{flex:1;background:none;border:0;color:var(--muted);font:500 12px/1 var(--font-ui);padding:12px 4px 14px;display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer}nav.tabs button[aria-current=page]{color:var(--accent)}nav.tabs .glyph{font-size:18px;line-height:1}h2{font:500 clamp(22px,5vw,27px)/1.15 var(--font-display);letter-spacing:-.02em;margin-bottom:4px}h3{font:600 14px/1.3 var(--font-ui);letter-spacing:.01em}.lede{color:var(--muted);font-size:14.5px;text-wrap:pretty}.muted{color:var(--muted)}.section{margin:26px 0 10px;display:flex;align-items:baseline;gap:8px}.section h3{text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;color:var(--soft)}.section .rule{flex:1;height:1px;background:var(--line)}.figure{font:500 clamp(30px,9vw,44px)/1 var(--font-display);color:var(--accent);letter-spacing:-.03em}.figure-label{font-size:12px;color:var(--muted);margin-top:3px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--pad);margin-bottom:12px}.card.tight{padding:12px}.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}label.field{display:block;margin-bottom:14px}label.field>span.lbl{display:block;font:500 12.5px/1 var(--font-ui);color:var(--soft);margin-bottom:7px}input,select,textarea{width:100%;font:400 16px/1.4 var(--font-ui);color:var(--text);background:var(--bg-deep);border:1px solid var(--line-firm);border-radius:11px;padding:13px 14px;outline:none;transition:border-color .15s,box-shadow .15s}select{appearance:none;background-image:none}textarea{min-height:130px;resize:vertical;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}input::placeholder,textarea::placeholder{color:#6c807b}button{font:600 15px/1 var(--font-ui);color:#fff;background:var(--teal);border:0;border-radius:11px;padding:15px 18px;cursor:pointer;transition:background .15s,opacity .15s}button:hover:not(:disabled){background:#129085}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--line-firm);color:var(--text)}button.ghost:hover:not(:disabled){background:var(--surface-2)}button.wide{width:100%}button.sm{padding:9px 12px;font-size:13px;border-radius:9px}.btn-row{display:flex;gap:10px}.btn-row>*{flex:1}.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choice button{background:var(--bg-deep);border:1px solid var(--line-firm);color:var(--muted);font-weight:600;padding:16px 10px}.choice button[aria-pressed=true]{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.choice button.neg[aria-pressed=true]{background:#e8938c24;border-color:var(--danger);color:var(--danger)}.tag{display:inline-block;font:600 10.5px/1 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:var(--accent-dim);color:var(--accent)}.tag.neg{background:#e8938c24;color:var(--danger)}.tag.warn{background:#e2b26324;color:var(--warn)}.notice{border-left:2px solid var(--warn);background:#e2b26312;padding:11px 13px;border-radius:0 9px 9px 0;font-size:13.5px;color:var(--soft);margin-bottom:14px}.notice.err{border-color:var(--danger);background:#e8938c14}.notice.ok{border-color:var(--accent);background:var(--accent-dim)}.rowitem{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.rowitem:last-child{border-bottom:0}.rowitem .grow{flex:1;min-width:0}.rowitem .grow strong{display:block;font-weight:500;font-size:14.5px}.rowitem .grow small{color:var(--muted);font-size:12.5px}.bar{display:flex;align-items:center;gap:10px;margin-bottom:9px}.bar .name{flex:0 0 40%;font-size:13px;color:var(--soft)}.bar .track{flex:1;display:block;height:9px;background:var(--bg-deep);border-radius:5px;overflow:hidden}.bar .fill{display:block;height:100%;background:var(--accent);border-radius:5px}.bar .val{flex:0 0 46px;text-align:right;font-size:12.5px;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:34px 16px;font-size:14px}.printable{display:none}@media print{@page{size:A4;margin:18mm 16mm}body{background:#fff;color:#000;font-size:11pt}.app,.topbar,nav.tabs,.no-print{display:none!important}.printable{display:block!important}.printable h1{font:500 20pt/1.2 var(--font-display);margin-bottom:2mm}.printable .sub{font-size:9.5pt;color:#444;margin-bottom:7mm}.printable table{width:100%;border-collapse:collapse;margin-bottom:6mm}.printable th,.printable td{text-align:left;vertical-align:top;padding:2.2mm 0;border-bottom:.4pt solid #ccc;font-size:10.5pt}.printable th{width:42mm;font-weight:600;color:#333}.printable .narrative{white-space:pre-wrap;line-height:1.5;margin-bottom:8mm}.printable .sigblock{margin-top:12mm;page-break-inside:avoid}.printable .sigrow{display:flex;gap:10mm;margin-bottom:9mm}.printable .sigrow>div{flex:1}.printable .sigline{border-bottom:.6pt solid #000;height:12mm}.printable .siglabel{font-size:9pt;color:#333;padding-top:1.5mm}.printable .foot{margin-top:8mm;font-size:8.5pt;color:#555;border-top:.4pt solid #ccc;padding-top:2mm}}
