@charset "UTF-8";:root{--radius-sm: 12px;--radius-md: 16px;--radius: 18px;--radius-lg: 24px;--radius-xl: 32px;--radius-pill: 999px;--maxw: 600px;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--appbar-h: 60px;--tabbar-h: 66px;--bg: #0b0f0c;--bg-soft: #11160f;--surface: #141a15;--surface-2: #1b231c;--surface-3: #26302a;--border: rgba(255, 255, 255, .08);--border-soft: rgba(255, 255, 255, .055);--border-strong: rgba(255, 255, 255, .14);--text: #eaf1ec;--text-secondary: #9fb0a6;--text-soft: #9fb0a6;--text-muted: #6c7a70;--primary: #34c759;--primary-hover: #2bb84e;--primary-active: #25a445;--primary-soft: rgba(52, 199, 89, .16);--primary-ink: #04130a;--on-primary: #04130a;--accent: #fb923c;--accent-hover: #f97316;--accent-ink: #1f0c00;--on-accent: #1f0c00;--success: #34c759;--warning: #fbbf24;--danger: #f87171;--info: #60a5fa;--glass-bg: color-mix(in srgb, var(--surface) 66%, transparent);--glass-blur: blur(14px) saturate(140%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .5);--shadow-md: 0 10px 30px rgba(0, 0, 0, .5);--shadow-lg: 0 24px 64px rgba(0, 0, 0, .65);--glow: 0 10px 26px color-mix(in srgb, var(--primary) 32%, transparent);--ring: 0 0 0 4px color-mix(in srgb, var(--primary) 26%, transparent);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:-60px;z-index:-2;background:url(/images/dumbell_background.png) center/cover no-repeat;filter:blur(42px) saturate(115%);opacity:.1;pointer-events:none}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 560px at 50% -12%,rgba(52,199,89,.13),transparent 62%),radial-gradient(900px 700px at 100% 0%,rgba(52,199,89,.06),transparent 60%),linear-gradient(180deg,#0b0f0cc7,#0b0f0ce6)}button{font-family:inherit}a{color:var(--primary-active)}h1,h2,h3{font-family:var(--font-display);line-height:1.1;margin:0 0 .4em;letter-spacing:-.02em}h1{font-size:1.8rem;font-weight:700}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.05rem;font-weight:600}.brand,.metric,.metric-card .v,.stat .value{font-family:var(--font-display)}p{margin:0 0 .8em}.container{max-width:var(--maxw);margin:0 auto;padding:18px 16px calc(28px + var(--tabbar-h))}.container.no-tabbar{padding-bottom:124px}.muted{color:var(--text-muted)}.secondary{color:var(--text-secondary)}.small{font-size:.85rem}.center{text-align:center}.row{display:flex;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.app-bar{position:sticky;top:0;z-index:20;height:var(--appbar-h);display:flex;align-items:center;gap:10px;padding:0 16px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:saturate(160%) blur(16px);border-bottom:1px solid var(--border-soft)}.brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--text);font-weight:800;font-size:1.02rem;letter-spacing:-.02em}.brand .logo{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--primary);color:#fff;font-weight:900}.icon-btn{display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-size:1.02rem;font-weight:700;transition:background .15s ease,transform .05s ease,border-color .15s ease}.icon-btn:active{transform:scale(.93)}.avatar{width:38px;height:38px;border-radius:50%;background:var(--surface-2);border:1px solid var(--border);display:grid;place-items:center;font-weight:800;color:var(--text);cursor:pointer;overflow:hidden}.spacer{margin-left:auto}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:40;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:flex;background:color-mix(in srgb,var(--bg-soft) 88%,transparent);backdrop-filter:saturate(160%) blur(18px);border-top:1px solid var(--border-soft)}.tabbar .tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:none;background:transparent;color:var(--text-muted);font-size:.68rem;font-weight:700;cursor:pointer}.tabbar .tab svg{width:23px;height:23px;stroke:currentColor;fill:none;stroke-width:1.9}.tabbar .tab.active{color:var(--primary)}.tabbar .tab-center{overflow:visible}.tabbar .tab-center .fab{position:relative;top:-12px;margin-bottom:-8px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);border:1px solid var(--border-strong);box-shadow:0 6px 18px #00000073;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.tabbar .tab-center .fab svg{width:26px;height:26px}.tabbar .tab-center.active .fab{background:#34c75929;border-color:#34c759bf;box-shadow:0 0 18px #34c75947,0 6px 18px #00000073}.card{position:relative;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;margin-bottom:14px;box-shadow:var(--shadow-md)}.card.flat{box-shadow:none}.card.soft{background:var(--surface-2);backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.card-tight{padding:14px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:54px;padding:14px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);font-size:1rem;font-weight:700;cursor:pointer;transition:filter .15s ease,transform .05s ease,background .15s ease,border-color .15s ease}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:transparent;box-shadow:var(--glow)}.btn-primary:hover{background:var(--primary-hover)}.btn-accent{background:var(--accent);color:#fff;border-color:transparent}.btn-ghost{background:transparent;border-color:var(--border-strong)}.btn-soft{background:var(--primary-soft);color:var(--primary);border-color:transparent}.btn-danger{background:transparent;color:var(--danger);border-color:color-mix(in srgb,var(--danger) 45%,var(--border))}.btn-lg{min-height:62px;font-size:1.08rem;border-radius:var(--radius-lg)}.btn-sm{width:auto;min-height:42px;padding:8px 16px;font-size:.9rem;border-radius:var(--radius)}.btn-row{display:flex;gap:10px}.btn-row .btn{width:auto;flex:1}.choice{display:flex;align-items:center;gap:14px;width:100%;text-align:left;min-height:64px;padding:14px 16px;margin-bottom:10px;border:1.5px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:1.02rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color .15s ease,background .15s ease,transform .05s ease,box-shadow .15s ease}.choice:active{transform:scale(.99)}.choice:disabled{opacity:.5}.choice.selected{border-color:var(--primary);background:var(--primary-soft)}.choice .lead{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:var(--surface-2);font-size:1.3rem}.choice.selected .lead{background:color-mix(in srgb,var(--primary) 18%,var(--surface))}.choice .body{display:flex;flex-direction:column;gap:2px;min-width:0}.choice .body small{color:var(--text-muted);font-weight:500}.choice .mark{margin-left:auto;width:26px;height:26px;border-radius:50%;border:2px solid var(--border-strong);display:grid;place-items:center;color:transparent;flex:none}.choice.selected .mark{background:var(--primary);border-color:var(--primary);color:#fff}.choice .chev{margin-left:auto;color:var(--text-muted);font-size:1.2rem;flex:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--border-soft);font-size:.78rem;font-weight:700;color:var(--text-secondary);margin:0 6px 6px 0}.chip.solid{background:var(--primary-soft);color:var(--primary);border-color:transparent}.chip.accent,.chip.fire{background:color-mix(in srgb,var(--accent) 16%,var(--surface));color:var(--accent-hover);border-color:transparent}.segmented{display:inline-flex;gap:4px;padding:5px;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius-pill);width:100%}.segmented button{flex:1;min-height:42px;border:none;background:transparent;color:var(--text-secondary);font-weight:700;font-size:.9rem;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s ease,color .15s ease}.segmented button.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.segmented.primary button.active{background:var(--primary);color:#fff}.input{width:100%;min-height:52px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-size:1rem}.input:focus-visible{outline:none;border-color:var(--primary);box-shadow:var(--ring)}.stepper{display:grid;grid-template-columns:64px 1fr 64px;gap:10px;align-items:center}.stepper .btn{min-height:60px;font-size:1.5rem;border-radius:var(--radius-md)}.stepper .num{text-align:center;font-size:1.6rem;font-weight:800;min-height:60px;font-variant-numeric:tabular-nums}.stat{display:flex;flex-direction:column;gap:3px}.stat .label{font-size:.68rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);font-weight:800}.stat .value{font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.metric{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}.metric .unit{font-size:1.1rem;color:var(--text-muted);font-weight:700}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm)}.metric-card .k{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-weight:800}.metric-card .v{font-size:1.5rem;font-weight:800;margin-top:2px}.list-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 2px;border:none;background:transparent;color:var(--text);cursor:pointer;font-size:1rem}.list-row+.list-row{border-top:1px solid var(--border-soft)}.list-row .lead{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface-2);font-size:1.1rem;flex:none}.list-row .grow{flex:1;min-width:0}.list-row .grow b{display:block;font-weight:700}.list-row .grow small{color:var(--text-muted)}.list-row .trail{color:var(--text-muted);font-weight:700;font-size:.9rem}.list-row .chev{color:var(--text-muted)}.bar{height:10px;border-radius:var(--radius-pill);background:var(--surface-2);overflow:hidden}.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-active))}.progress{height:8px;background:var(--surface-2);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:20px}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-active));transition:width .3s ease}.chart{display:flex;align-items:flex-end;gap:6px;height:120px}.chart .col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}.chart .col .fill{width:100%;max-width:26px;border-radius:7px 7px 4px 4px;background:color-mix(in srgb,var(--primary) 32%,var(--surface-2));transition:height .3s ease}.chart .col.on .fill{background:linear-gradient(180deg,var(--primary),var(--primary-active))}.chart .col .cap{font-size:.66rem;color:var(--text-muted);font-weight:700}.hint{border-left:3px solid var(--primary);padding:11px 13px;background:var(--primary-soft);border-radius:14px;color:var(--text-secondary);font-size:.9rem}.hint.warn{border-left-color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,var(--surface))}.badge{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--primary-soft);color:var(--primary);font-weight:900;font-size:1.1rem;border:1px solid color-mix(in srgb,var(--primary) 30%,transparent)}.sheet-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;align-items:flex-end;justify-content:center;z-index:60;animation:fade .18s ease}.sheet{width:100%;max-width:var(--maxw);max-height:88vh;overflow-y:auto;background:var(--surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-top:1px solid var(--border);padding:10px 16px calc(28px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);animation:slide-up .22s ease}.sheet-handle{width:44px;height:5px;border-radius:999px;background:var(--border-strong);margin:6px auto 14px}.sheet .x{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.footer{position:fixed;bottom:0;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px);border-top:1px solid var(--border-soft);padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;gap:10px}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(18px)}}
