:root{--bg:#f5f6f8;--card:#fff;--ink:#1b1f27;--muted:#5f6775;--line:#dfe3ea;--accent:#3a5a8c;--accent-ink:#fff;--warn-bg:#fff4d6;--warn-ink:#6b4a00;--danger:#b3261e;--c1:#3a5a8c;--c2:#b0662a;--c3:#2f8a5b;--good:#2f8a5b;--bad:#b3261e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#101318;--card:#191d24;--ink:#e8ebf0;--muted:#9aa3b2;--line:#2b313b;--accent:#7c9fd6;--accent-ink:#0b1220;--warn-bg:#3a2f10;--warn-ink:#f4d58a;--danger:#ff8a80;--c1:#7c9fd6;--c2:#e39a5c;--c3:#5cc490;--good:#5cc490;--bad:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-text-size-adjust:100%;font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}main{max-width:640px;padding:16px 16px calc(96px + env(safe-area-inset-bottom));margin:0 auto}h1{margin:4px 0 12px;font-size:1.35rem}h2{margin:0 0 10px;font-size:1.05rem}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:14px}.muted{color:var(--muted);font-size:.88rem}.row{align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid4{text-align:center;grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.big{letter-spacing:-.02em;font-size:2rem;font-weight:700}.stat b{font-size:1.2rem;display:block}.stat span{color:var(--muted);font-size:.8rem}input,select,textarea,button{font:inherit;color:inherit}input,select,textarea{border:1px solid var(--line);background:var(--bg);border-radius:10px;width:100%;min-height:48px;padding:10px 12px}textarea{min-height:80px}label{color:var(--muted);margin-bottom:4px;font-size:.88rem;display:block}button{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:10px;min-height:48px;padding:10px 16px}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.huge{width:100%;min-height:60px;font-size:1.15rem}button.link{color:var(--danger);background:0 0;border:0;min-height:36px;padding:4px 8px}button:disabled{opacity:.5}.banner{background:var(--warn-bg);color:var(--warn-ink);border-radius:14px;margin-bottom:14px;padding:14px}.banner .row{margin-top:10px}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{border-bottom:1px solid var(--line);text-align:right;padding:7px 4px}th:first-child,td:first-child{text-align:left}.scroll{overflow-x:auto}.chart{width:100%;height:260px}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{flex:1;min-width:70px}.seg button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}nav.tabs{background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs button{min-height:60px;color:var(--muted);background:0 0;border:0;border-radius:0;flex:1;padding:6px 2px;font-size:.78rem}nav.tabs button.on{color:var(--accent);font-weight:700}.err{color:var(--danger);margin-top:8px;font-size:.9rem}.ok{color:var(--accent);margin-top:8px;font-size:.9rem}.list>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:6px 0;display:flex}input.pin{text-align:center;letter-spacing:.2em;min-height:64px;font-size:2rem;font-weight:700}.progress{background:var(--line);border-radius:99px;height:6px;margin:4px 0 14px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .2s}.step{flex-direction:column;min-height:52vh;display:flex}.step .q{margin:6px 0 4px;font-size:1.3rem;font-weight:650;line-height:1.3}.step .hint{color:var(--muted);margin-bottom:14px;font-size:.9rem}.step .sub{margin-top:16px}.choices{gap:10px;display:grid}.choices.two{grid-template-columns:1fr 1fr}.choices button{min-height:58px;font-size:1.05rem}.choices button.on,.chips button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.scale{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.scale button{min-height:64px;padding:0;font-size:1.4rem;font-weight:700}.scale button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.scale-legend{color:var(--muted);justify-content:space-between;margin-top:6px;font-size:.82rem;display:flex}.chips{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.chips button{border-radius:99px;min-height:40px;padding:6px 12px;font-size:.92rem}.nav-step{gap:10px;margin-top:auto;padding-top:18px;display:flex}.nav-step button{flex:1;min-height:54px}.recap>div{border-bottom:1px solid var(--line);cursor:pointer;gap:10px;padding:9px 0;display:flex}.recap>div>span:first-child{color:var(--muted);flex-shrink:0;width:42%;font-size:.85rem}.days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.days button{flex-direction:column;justify-content:center;align-items:center;min-height:48px;padding:2px;font-size:.85rem;display:flex}.days button.done{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.days button.part{border:2px dashed var(--accent)}.days button.future{opacity:.35}.days button.today{outline:2px solid var(--c2)}.days small{opacity:.8;font-size:.65rem}.note{letter-spacing:-.02em;font-size:2.4rem;font-weight:750}.note small{color:var(--muted);font-size:1rem;font-weight:500}.bar{background:var(--line);border-radius:99px;height:8px;overflow:hidden}.bar>div{background:var(--accent);height:100%}.parts>div{grid-template-columns:44% 1fr 46px;align-items:center;gap:8px;padding:3px 0;font-size:.85rem;display:grid}.parts>div>span:last-child{text-align:right;color:var(--muted)}.good{color:var(--good)}.bad{color:var(--bad)}.quote{border-left:3px solid var(--line);margin:6px 0;padding:2px 0 2px 10px;font-size:.9rem}details summary{cursor:pointer;color:var(--accent);padding:6px 0;font-size:.92rem}@media print{nav.tabs,.noprint{display:none!important}body{color:#000;background:#fff}main{max-width:none;padding:0}.card{break-inside:avoid;border-color:#ccc}details,details>*{display:block}}
