:root{--bg:#f7f6f2;--card:#ffffff;--ink:#1d1c1a;--muted:#6b6860;--line:#e4e1d8;--accent:#1f5f4a;--accent-ink:#ffffff;--warn-bg:#fff6e0;--warn-line:#f0d48a;--radius:12px}@media (prefers-color-scheme:dark){:root{--bg:#141412;--card:#1d1d1a;--ink:#eeece6;--muted:#a19e95;--line:#34332e;--accent:#5bbf98;--accent-ink:#0e1a15;--warn-bg:#2d2615;--warn-line:#6b5a2a}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}main{max-width:680px;margin:0 auto;padding:32px 16px 80px}h1{font-size:1.75rem;line-height:1.25;margin:0 0 8px}h2{font-size:1.25rem;margin:0 0 4px}p.lead{color:var(--muted);margin:0 0 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.steps{display:flex;gap:6px;margin:0 0 20px}.steps span{flex:1 1;height:4px;border-radius:2px;background:var(--line)}.steps span.on{background:var(--accent)}.q{margin:0 0 20px}.q label{display:block;font-weight:600;margin:0 0 6px}.q .opt{font-weight:400;color:var(--muted);font-size:.875rem}input[type=number],input[type=text],select,textarea{width:100%;padding:10px 12px;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px}textarea{min-height:84px;resize:vertical}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices button{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.9375rem;cursor:pointer}.choices button.sel{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.actions{display:flex;gap:12px;justify-content:space-between;margin-top:8px}.btn{padding:11px 20px;border-radius:8px;border:0;font:inherit;font-weight:600;background:var(--accent);color:var(--accent-ink);cursor:pointer}.btn.ghost{background:transparent;color:var(--muted);border:1px solid var(--line)}.btn:disabled{opacity:.5;cursor:default}.notice{background:var(--warn-bg);border:1px solid var(--warn-line);border-radius:8px;padding:12px 14px;margin:0 0 20px;font-size:.9375rem}.error{color:#b3261e;margin:12px 0 0}.confirm{font-size:1.125rem;margin:0 0 16px}.sources li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.sources{list-style:none;padding:0;margin:0 0 20px}.sources small,footer{color:var(--muted)}footer{font-size:.8125rem;margin-top:24px;text-align:center}