:root{--accent:#ffa94d;--accent-2:#ffc182;--accent-ink:#20160a;--green:#34d399;--yellow:#fbbf24;--red:#f87171;--blue:#7dd3fc;--r-lg:22px;--r-md:16px;--r-sm:12px;--pad:16px;--tab-h:62px}html[data-theme=dark]{--bg:#0a0a0b;--surface:#141417;--surface-2:#1c1c21;--border:#2a2a31;--text:#f4f4f6;--muted:#9b9ba4;--accent-text:#ffa94d;--shadow:0 10px 30px #00000073}html[data-theme=light]{--bg:#f7f4ef;--surface:#fff;--surface-2:#f1ebe1;--border:#e5ddd1;--text:#16161a;--muted:#6c6c74;--accent-text:#b45700;--shadow:0 10px 30px #3c280a1f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:radial-gradient(1200px 600px at 50% -10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 60%), var(--bg);color:var(--text);background-attachment:fixed;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,SF Pro Display,system-ui,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.45;transition:background .3s,color .3s}.app{max-width:620px;padding:0 var(--pad) calc(var(--tab-h) + 28px + env(safe-area-inset-bottom));min-height:100vh;margin:0 auto}.topbar{padding:calc(12px + env(safe-area-inset-top)) 0 10px;background:linear-gradient(color-mix(in srgb, var(--bg) 88%, transparent), color-mix(in srgb, var(--bg) 60%, transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:5;align-items:center;gap:10px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.2px;margin-right:auto;font-size:19px;font-weight:800}.brand span{color:var(--accent-text)}.chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:600;display:inline-flex}.chip:active{transform:scale(.97)}h1.title{letter-spacing:-.4px;margin:6px 0 2px;font-size:26px;font-weight:800}p.sub{color:var(--muted);margin:0 0 14px;font-size:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.card.tight{padding:13px 14px}.card .k{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:700}.card h3{letter-spacing:-.2px;margin:0 0 6px;font-size:18px;font-weight:750}.row{border-top:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;display:flex}.row:first-of-type{border-top:0}.row .grow{flex:1;min-width:0}.row .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.row .meta{color:var(--muted);font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.dot{border-radius:50%;flex:none;width:10px;height:10px}.dot.green{background:var(--green)}.dot.amber{background:var(--yellow)}.dot.red{background:var(--red)}.dot.none{background:var(--border)}.badge{border-radius:999px;align-items:center;gap:6px;padding:5px 11px;font-size:13px;font-weight:700;display:inline-flex}.badge.green{background:color-mix(in srgb, var(--green) 18%, transparent);color:var(--green)}.badge.amber{background:color-mix(in srgb, var(--yellow) 18%, transparent);color:var(--yellow)}.badge.red{background:color-mix(in srgb, var(--red) 18%, transparent);color:var(--red)}.verdict{border-radius:var(--r-lg);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);margin-bottom:12px;padding:18px 16px}.verdict.green{border-color:color-mix(in srgb, var(--green) 45%, var(--border))}.verdict.amber{border-color:color-mix(in srgb, var(--yellow) 45%, var(--border))}.verdict.red{border-color:color-mix(in srgb, var(--red) 45%, var(--border))}.verdict .big{letter-spacing:-.3px;font-size:21px;font-weight:800}.metrics{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.metric{background:var(--surface-2);border-radius:var(--r-md);padding:11px 12px}.metric .v{letter-spacing:-.3px;font-size:19px;font-weight:750}.metric .l{color:var(--muted);font-size:12px}.week{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.day{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);text-align:center;cursor:pointer;padding:8px 4px}.day.today{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface-2))}.day.sel{border-color:var(--accent-text)}.day .dow{color:var(--muted);text-transform:lowercase;font-size:11px}.day .num{font-size:15px;font-weight:700}.day .marks{justify-content:center;gap:3px;min-height:10px;margin-top:5px;display:flex}.day .marks i{border-radius:50%;width:6px;height:6px;display:block}.bars{align-items:flex-end;gap:4px;height:68px;margin-top:6px;display:flex}.bars div{background:linear-gradient(var(--accent), color-mix(in srgb, var(--accent) 40%, transparent));border-radius:5px 5px 3px 3px;flex:1;min-height:3px}.why{border-left:3px solid var(--accent);color:var(--muted);margin-top:10px;padding:2px 0 2px 12px;font-size:14px}.alt{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--r-md);align-items:center;gap:10px;margin-top:8px;padding:12px 13px;display:flex}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);gap:4px;margin-bottom:14px;padding:4px;display:flex}.seg button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;padding:9px 6px;font-size:14px;font-weight:650}.seg button.on{background:var(--accent);color:var(--accent-ink)}.btn{border-radius:var(--r-md);background:var(--accent);width:100%;color:var(--accent-ink);cursor:pointer;border:0;padding:14px 16px;font-family:inherit;font-size:16px;font-weight:700}.btn.ghost{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn:active{transform:scale(.985)}.btn[disabled]{opacity:.55}input.field{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-md);width:100%;color:var(--text);padding:14px;font-family:inherit;font-size:16px}input.field:focus{outline:2px solid var(--accent);outline-offset:-1px}.tabbar{height:calc(var(--tab-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:10;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.tabbar a .ico{font-size:19px;line-height:1}.tabbar a.active{color:var(--accent-text)}.center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60vh;display:flex}.spin{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.err{border:1px solid color-mix(in srgb, var(--red) 50%, var(--border));background:color-mix(in srgb, var(--red) 12%, var(--surface));border-radius:var(--r-md);padding:13px 14px;font-size:14px}.offline{background:color-mix(in srgb, var(--yellow) 16%, var(--surface));border:1px solid color-mix(in srgb, var(--yellow) 45%, var(--border));border-radius:var(--r-md);margin-bottom:10px;padding:10px 12px;font-size:13px}
