:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--page:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:#0b0b0b1a;--series-1:#2a78d6;--good:#0ca30c;--good-text:#006300;--warning:#fab219;--serious:#ec835a;--critical:#d03b3b;--accent:var(--series-1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--page:#0d0d0d;--surface:#1a1a19;--ink:#fff;--ink-2:#c3c2b7;--muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:#ffffff1a;--series-1:#3987e5;--good-text:#0ca30c}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--page);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100dvh;font-family:system-ui,-apple-system,Segoe UI,sans-serif}.wrap{max-width:680px;padding:16px 16px calc(48px + env(safe-area-inset-bottom));margin:0 auto}header.app{justify-content:space-between;align-items:center;padding:8px 0 16px;display:flex}header.app h1{letter-spacing:-.01em;margin:0;font-size:1.05rem;font-weight:650}header.app .sub{color:var(--muted);font-size:.78rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:14px;padding:16px}.hero{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.hero .big{letter-spacing:-.02em;font-size:52px;font-weight:700;line-height:1}.hero .unit{color:var(--ink-2);font-size:1rem}.meter{background:var(--grid);border-radius:4px;height:8px;margin:14px 0 6px;overflow:hidden}.meter>div{background:var(--series-1);border-radius:4px;height:100%;transition:width .4s}.hero-row{color:var(--ink-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:.82rem;display:flex}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:10px;padding:8px 14px}button.primary{background:var(--accent);color:#fff;border-color:#0000;font-weight:600}button:disabled{opacity:.55;cursor:default}input,select{font:inherit;background:var(--page);color:var(--ink);border:1px solid var(--border);border-radius:8px;width:100%;padding:7px 10px}.tiles{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (min-width:560px){.tiles{grid-template-columns:repeat(4,1fr)}}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px}.tile .v{letter-spacing:-.01em;font-size:1.5rem;font-weight:700}.tile .l{color:var(--muted);margin-top:2px;font-size:.72rem}.status{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:.9rem;display:flex}.status .dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:5px}.status b{margin-bottom:2px;display:block}.status.on_track .dot,.status.done .dot{background:var(--good)}.status.tight .dot{background:var(--warning)}.status.off_track .dot{background:var(--critical)}.notice{border:1px solid var(--border);background:var(--surface);color:var(--ink-2);border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:.85rem}table.plan{border-collapse:collapse;width:100%;font-size:.85rem}table.plan th{text-align:left;color:var(--muted);border-bottom:1px solid var(--grid);padding:4px 6px;font-size:.72rem;font-weight:500}table.plan td{border-bottom:1px solid var(--grid);font-variant-numeric:tabular-nums;padding:6px}table.plan tr:last-child td{border-bottom:none}table.plan .today-row{font-weight:650}h2.sec{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 10px;font-size:.82rem;font-weight:600}.form-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-grid label{color:var(--muted);margin-bottom:4px;font-size:.72rem;display:block}.form-grid .full{grid-column:1/-1}details.settings summary{cursor:pointer;color:var(--ink-2);-webkit-user-select:none;user-select:none;font-size:.85rem}details.settings[open] summary{margin-bottom:12px}.footer-note{color:var(--muted);text-align:center;margin-top:18px;font-size:.72rem}.spin{animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}
