:root{--bg-base:#FFFFFF;--bg-raised:#FFFFFF;--bg-subtle:#F5F5F7;--bg-muted:#EBEBF0;--fg-base:#1D1D1F;--fg-muted:#6E6E73;--fg-subtle:#8E8E93;--border:#D2D2D7;--accent:#FF375F;--ok:#30D158;--warn:#FF9F0A;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Roboto,sans-serif;--font-mono:ui-monospace,"SF Mono",Menlo,monospace}@media(prefers-color-scheme:dark){:root{--bg-base:#000000;--bg-raised:#1C1C1E;--bg-subtle:#141416;--bg-muted:#2C2C2E;--fg-base:#F5F5F7;--fg-muted:#A1A1A6;--fg-subtle:#8E8E93;--border:#38383A}}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font);background:var(--bg-base);color:var(--fg-base);font-size:16px;line-height:1.45;min-height:100dvh;padding-bottom:calc(64px + env(safe-area-inset-bottom));-webkit-font-smoothing:antialiased}.wrap{max-width:640px;margin:0 auto;padding:0 16px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}header{padding:14px 0 6px;display:flex;align-items:baseline;justify-content:space-between}h1{font-size:26px;font-weight:600;letter-spacing:-.02em}header .when{font-size:13px;color:var(--fg-subtle)}.sync{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--fg-muted);padding:8px 12px;background:var(--bg-subtle);border-radius:10px;margin-bottom:16px}.dot{width:7px;height:7px;border-radius:980px;background:var(--ok);flex:none}.dot.warn{background:var(--warn)}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:12px}.card h2{font-size:13px;font-weight:500;color:var(--fg-subtle);letter-spacing:.02em;text-transform:uppercase;margin-bottom:12px}.verdict{font-size:22px;font-weight:600;letter-spacing:-.02em;margin-bottom:2px}.reason{font-size:14px;color:var(--fg-muted);margin-bottom:14px}.session{border-top:1px solid var(--border);padding-top:14px}.s-type{display:flex;align-items:center;gap:8px;margin-bottom:6px}.s-type strong{font-size:17px;font-weight:600}.pill{font-size:11px;font-weight:500;padding:3px 9px;border-radius:980px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.pill.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}.metrics{display:flex;gap:20px;margin:10px 0 4px}.metric .v{font-size:20px;font-weight:600;letter-spacing:-.02em}.metric .k{font-size:12px;color:var(--fg-subtle)}.note{font-size:13px;color:var(--fg-muted);margin-top:10px}.changed{font-size:13px;color:var(--accent);font-weight:500;margin-top:8px}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.act{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:left;font:inherit;color:inherit;cursor:pointer;min-height:64px}.act:active{transform:translateY(1px)}.act .t{font-size:15px;font-weight:600}.act .s{font-size:12px;color:var(--fg-subtle);margin-top:2px}.act svg{width:20px;height:20px;stroke:var(--accent);stroke-width:1.8;fill:none;margin-bottom:6px}.pulse{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border);border-radius:12px;overflow:hidden;margin-bottom:12px}.pulse div{padding:12px;border-right:1px solid var(--border)}.pulse div:last-child{border-right:0}.pulse .v{font-size:19px;font-weight:600;letter-spacing:-.02em}.pulse .k{font-size:11px;color:var(--fg-subtle);margin-top:1px}.row{display:flex;align-items:baseline;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.row:last-child{border-bottom:0}.row .d{font-size:12px;color:var(--fg-subtle);width:64px;flex:none}.row .m{flex:1;min-width:0}.row .m .t{font-size:15px;font-weight:500}.row .m .x{font-size:13px;color:var(--fg-muted)}.row.race .m .t{color:var(--accent)}.goal{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.goal:last-child{border-bottom:0}.goal .n{font-size:15px;font-weight:500}.goal .w{font-size:12px;color:var(--fg-subtle);margin-top:2px}.bar{height:4px;border-radius:980px;background:var(--bg-muted);margin-top:8px;overflow:hidden}.bar i{display:block;height:100%;background:var(--ok)}.bar.warn i{background:var(--warn)}nav{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--bg-subtle) 92%,transparent);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:10}nav button{background:none;border:0;font:inherit;color:var(--fg-subtle);cursor:pointer;padding:8px 0 7px;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px}nav button.on{color:var(--accent)}nav svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none}nav span{font-size:10px;font-weight:500}.center{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}form.auth{width:100%;max-width:340px}form.auth h1{margin-bottom:6px}form.auth p{font-size:14px;color:var(--fg-muted);margin-bottom:20px}label{display:block;font-size:12px;font-weight:500;color:var(--fg-muted);margin:0 0 6px}input,select{width:100%;height:44px;padding:0 12px;font:inherit;font-size:16px;background:var(--bg-raised);color:var(--fg-base);border:1px solid var(--border);border-radius:10px;margin-bottom:14px}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}input[readonly]{background:var(--bg-subtle);color:var(--fg-muted)}.btn{width:100%;min-height:44px;font:inherit;font-size:16px;font-weight:500;cursor:pointer;background:var(--accent);color:#fff;border:0;border-radius:10px}.btn:disabled{opacity:.5}.btn.ghost{background:none;color:var(--accent);border:1px solid var(--border)}.link{background:none;border:0;font:inherit;color:var(--accent);cursor:pointer;padding:0}.msg{font-size:14px;padding:10px 12px;border-radius:10px;margin-bottom:12px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.skel{height:14px;border-radius:6px;background:var(--bg-muted);margin:8px 0;animation:p 1.4s ease-in-out infinite}@keyframes p{0%,to{opacity:1}50%{opacity:.5}}.empty{font-size:14px;color:var(--fg-muted);padding:4px 0}.sub{font-size:13px;color:var(--fg-subtle)}.spread{display:flex;justify-content:space-between;align-items:center;gap:12px}.stack{display:flex;flex-direction:column;gap:2px}.right{text-align:right}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0006;display:flex;align-items:flex-end;justify-content:center}@media(min-width:600px){.backdrop{align-items:center}}.sheet{width:100%;max-width:640px;max-height:88dvh;display:flex;flex-direction:column;background:var(--bg-raised);border:1px solid var(--border);border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}@media(min-width:600px){.sheet{border-radius:16px;max-height:80dvh}}.sheet-head{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border);font-size:17px}.sheet-body{padding:16px;overflow-y:auto;flex:1}.sheet-foot{padding:12px 16px 16px;border-top:1px solid var(--border)}.q{margin-bottom:18px}.q:last-child{margin-bottom:4px}.q-text{font-size:15px;font-weight:500;margin-bottom:10px}.opts{display:flex;flex-wrap:wrap;gap:8px}.opt{font:inherit;font-size:14px;min-height:44px;padding:0 14px;cursor:pointer;background:var(--bg-raised);color:var(--fg-base);border:1px solid var(--border);border-radius:980px}.opt.selected{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.act:disabled{opacity:.55;cursor:default}.act:disabled svg{stroke:var(--fg-subtle)}.wk{display:flex;align-items:center;gap:10px;padding:7px 0}.wk-d{width:60px;flex:none;font-size:12px;color:var(--fg-subtle)}.wk-bar{flex:1;min-width:0;height:10px;background:var(--bg-muted);border-radius:5px;overflow:hidden}.wk-bar i{display:block;height:100%;border-radius:5px;background:var(--fg-subtle)}.wk-bar i.down{background:color-mix(in srgb,var(--fg-subtle) 40%,transparent)}.wk-bar i.peak{background:var(--accent)}.wk-v{width:52px;flex:none;text-align:right;font-size:13px;font-weight:500}.wk-t{width:52px;flex:none;font-size:11px;color:var(--fg-subtle)}
