:root{--bg:#f3f6f4;--panel:#fff;--panel2:#e9efec;--ink:#1b2a24;--ink2:#4a5b54;--muted:#6f8079;--rule:#d5ddd8;--accent:#1f8a70;--accent-ink:#0f5c4a;--soft:#dcefe8;--warn:#b7791f;--warn-soft:#f6ead2;--danger:#b3413c;--danger-soft:#f4dcda}@media(prefers-color-scheme:dark){:root{--bg:#0f1613;--panel:#151d19;--panel2:#1b2521;--ink:#e4ece8;--ink2:#b4c1ba;--muted:#86958e;--rule:#26332d;--accent:#4fc3a1;--accent-ink:#8fe0c6;--soft:#173328;--warn:#d9a441;--warn-soft:#33290f;--danger:#e0736d;--danger-soft:#3a1c1a}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{max-width:520px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column}header.top{padding:calc(12px + env(safe-area-inset-top)) 16px 10px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}header.top h1{font-size:18px;margin:0;color:var(--accent-ink)}main{flex:1;padding:14px 16px 90px}nav.tabs{position:fixed;bottom:0;left:0;right:0;margin:0 auto;max-width:520px;display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom)}nav.tabs a{padding:10px 4px 8px;text-align:center;font-size:12px;color:var(--muted);text-decoration:none;border-top:2px solid transparent}nav.tabs a.on{color:var(--accent-ink);border-top-color:var(--accent);font-weight:600}nav.tabs a b{display:block;font-size:20px;line-height:1.1;margin-bottom:2px}.card{background:var(--panel);border:1px solid var(--rule);border-radius:12px;padding:14px 16px;margin:0 0 12px}.card h2{font-size:15px;margin:0 0 8px;color:var(--ink2);font-weight:600}.row{display:flex;gap:10px;align-items:center;justify-content:space-between}.muted{color:var(--muted);font-size:13px}.big{font-size:44px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.1}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;white-space:nowrap;border:1px solid var(--rule);background:var(--panel);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:16px;cursor:pointer;font-family:inherit}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}button:disabled{opacity:.5}button.sm{padding:8px 10px;font-size:14px;border-radius:8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}input,select,textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--rule);border-radius:10px;background:var(--panel);color:var(--ink)}label{display:block;font-size:13px;color:var(--muted);margin:10px 0 4px}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.pad button{font-size:22px;padding:14px 0;font-variant-numeric:tabular-nums}.tabs2{display:flex;gap:6px;flex-wrap:wrap}.tabs2 button{padding:8px 12px;font-size:14px;border-radius:999px}.tabs2 button.on{background:var(--soft);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.callout{border-left:3px solid var(--accent);background:var(--soft);padding:10px 12px;border-radius:0 10px 10px 0;margin:10px 0;font-size:14px}.callout.warn{border-color:var(--warn);background:var(--warn-soft)}.callout.danger{border-color:var(--danger);background:var(--danger-soft)}.badge{display:inline-block;font-size:11px;padding:1px 7px;border-radius:999px;border:1px solid var(--rule);color:var(--ink2);margin-left:6px;vertical-align:middle}.badge.warn{border-color:var(--warn);color:var(--warn);background:var(--warn-soft)}ul.tl{list-style:none;padding:0;margin:0}ul.tl li{display:grid;grid-template-columns:52px 1fr auto;gap:10px;padding:8px 0;border-bottom:1px dashed var(--rule);font-size:14px}ul.tl li:last-child{border:0}ul.tl .t{color:var(--muted);font-variant-numeric:tabular-nums}ul.tl .v{font-weight:600;font-variant-numeric:tabular-nums}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips button{border-radius:999px;padding:8px 12px;font-size:14px}.step{font-size:12px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.err{color:var(--danger);font-size:14px;margin:8px 0}.ok{color:var(--accent-ink);font-size:14px;margin:8px 0}
