:root{--bg0:#e8ebe8;--bg1:#f2f4f2;--card:#fff;--ink:#1c2622;--mute:#5c6b64;--line:#c9d2cd;--acc:#1f3340;--acc2:#3d6a8a;--acc-soft:#d6e8df;--ok:#1f6b4a;--ok-soft:#d8f0e4;--warn:#8a5a10;--warn-soft:#f5e6c8;--bad:#8b2e2e;--bad-soft:#f3d6d6;--shadow:0 10px 30px rgba(28,38,34,.06);--radius:16px;--font:"Segoe UI","Helvetica Neue",ui-sans-serif,sans-serif;--display:Georgia,"Times New Roman",serif}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg0:#111816;--bg1:#17201c;--card:#1c2823;--ink:#e8f0eb;--mute:#9aada3;--line:#2f4038;--acc:#8fc4a8;--acc2:#7eb89f;--acc-soft:#243830;--ok:#6fcea0;--ok-soft:#1d3a2e;--warn:#e0b45a;--warn-soft:#3a3018;--bad:#e09292;--bad-soft:#3a2222;--shadow:none}}
:root[data-theme="dark"]{--bg0:#111816;--bg1:#17201c;--card:#1c2823;--ink:#e8f0eb;--mute:#9aada3;--line:#2f4038;--acc:#8fc4a8;--acc2:#7eb89f;--acc-soft:#243830;--ok:#6fcea0;--ok-soft:#1d3a2e;--warn:#e0b45a;--warn-soft:#3a3018;--bad:#e09292;--bad-soft:#3a2222;--shadow:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);font:16px/1.5 var(--font);background:radial-gradient(900px 400px at 8% -10%,#c5d6ce 0%,transparent 55%),linear-gradient(180deg,var(--bg0),var(--bg1));padding:env(safe-area-inset-top,0) 0 env(safe-area-inset-bottom,0)}
.top{max-width:700px;margin:0 auto;padding:20px 16px 0;display:flex;justify-content:space-between;gap:12px}.brand{display:flex;gap:12px;align-items:center}.mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(145deg,var(--acc),var(--acc2));flex:0 0 auto}
h1{margin:0;font-family:var(--display);font-size:1.5rem;letter-spacing:-.02em}.tag{margin:2px 0 0;color:var(--mute);font-size:.88rem}
main{max-width:700px;margin:0 auto;padding:14px 16px 48px}.lede{color:var(--mute);margin:0 0 16px}.lede a{color:var(--acc2);font-weight:650}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow)}
.warn-panel{border-left:4px solid var(--warn)}.panel h2{margin:0;font-size:1.05rem;font-family:var(--display)}
.row-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.grid2{grid-template-columns:1fr}}
label{display:block;font-weight:650;font-size:.88rem;margin-bottom:4px}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg1);color:var(--ink);font:inherit}textarea{resize:vertical}
.hint{margin:6px 0 0;color:var(--mute);font-size:.85rem}
.status{border-left:4px solid var(--acc2)}.status.ok{border-left-color:var(--ok)}.status.warn{border-left-color:var(--warn)}.status.bad{border-left-color:var(--bad)}
.status-label{margin:0 0 4px;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:700;color:var(--mute)}
.status-main{margin:0;font-size:1.05rem;font-weight:700}.status-sub{margin:4px 0 0;color:var(--mute);font-size:.88rem}
.facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.pill{background:var(--acc-soft);color:var(--acc2);border-radius:999px;padding:4px 10px;font-size:.78rem;font-weight:700}
.primary,.ghost,.cta,.ans{font:inherit;cursor:pointer;border-radius:10px}
.primary{background:var(--acc);color:#fff;border:0;padding:10px 14px;font-weight:700}
.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);padding:8px 12px;font-weight:600}
.cta{display:block;text-align:center;background:var(--acc);color:#fff;text-decoration:none;font-weight:700;padding:12px;margin-top:10px}
.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.inline-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.item-list,.check-list{display:grid;gap:8px;margin-top:10px}
.list-item,.check-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg1)}
.list-item{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.list-item strong,.check-item strong{display:block}.k{color:var(--mute);font-size:.85rem;margin-top:2px}
.item-actions{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0}
.answers{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ans{border:1px solid var(--line);background:var(--card);padding:8px 12px;font-size:.85rem;font-weight:650}
.ans.active{outline:2px solid currentColor}
.ans.active[data-val="yes"],.ans.active[data-val="done"],.ans.active[data-val="asked"]{background:var(--ok-soft);color:var(--ok)}
.ans.active[data-val="no"],.ans.active[data-val="skip"]{background:var(--acc-soft);color:var(--acc2)}
.ans.active[data-val="need"],.ans.active[data-val="open"],.ans.active[data-val="often"]{background:var(--warn-soft);color:var(--warn)}
.ans.active[data-val="na"]{background:var(--bg0);color:var(--mute)}
.badge{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;margin-top:6px;background:var(--acc-soft);color:var(--acc2)}
.disclaimer{font-size:.82rem;color:var(--mute);margin:8px 0 0}.back{margin:16px 0 0}.back a{color:var(--acc2);font-weight:650;text-decoration:none}
.print-card{display:none}
.print-card h1{font-size:1.35rem;margin:0 0 6px}.print-card h2{font-size:1.05rem;margin:16px 0 6px;border-bottom:1px solid #ccc;padding-bottom:4px}
.print-card ul{margin:6px 0 0;padding-left:1.2rem}.print-foot{margin-top:24px;font-size:.8rem;color:#555}
@media print{body *{visibility:hidden}.print-card,.print-card *{visibility:visible}.print-card{display:block;position:absolute;left:0;top:0;width:100%;padding:24px;color:#000;background:#fff}}
