:root{--canvas: #000000;--surface1: #1c1c1e;--surface2: #2c2c2e;--surface3: #3a3a3c;--separator: #38383a;--fill: rgba(118, 118, 128, .24);--fill-pressed: rgba(118, 118, 128, .34);--move: #fa114f;--accent: #ff375f;--accent-pressed: #d80e45;--exercise: #92e82a;--stand: #1ee4e1;--blue: #0a84ff;--label: #ffffff;--label-2: rgba(235, 235, 245, .6);--label-3: rgba(235, 235, 245, .3);--success: #30d158;--error: #ff453a;--warning: #ff9f0a;--gold: #ffd60a;--r-standard: 8px;--r-comfortable: 12px;--r-card: 14px;--r-hero: 18px;--r-large: 22px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{font-family:var(--font);background:#0a0a0c;color:var(--label);-webkit-font-smoothing:antialiased}#root{min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:stretch}.app{width:100%;max-width:430px;background:var(--canvas);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}@media(min-width:480px){.app{margin:24px 0;min-height:min(900px,calc(100dvh - 48px));height:min(900px,calc(100dvh - 48px));border-radius:44px;box-shadow:0 0 0 10px #1b1b1d,0 30px 80px #0009}}.screen{flex:1;overflow-y:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.screen::-webkit-scrollbar{display:none}.t-large{font-size:40px;font-weight:800;line-height:1.1;letter-spacing:-1px}.t-date{font-size:32px;font-weight:800;line-height:1.1;letter-spacing:-.6px}.t-header{font-size:26px;font-weight:800;line-height:1.15;letter-spacing:-.5px}.t-section{font-size:22px;font-weight:800;line-height:1.2;letter-spacing:-.4px}.t-title3{font-size:20px;font-weight:700;line-height:1.25;letter-spacing:-.3px}.t-body{font-size:17px;font-weight:600;line-height:1.4}.t-body-r{font-size:17px;font-weight:400;line-height:1.5}.t-callout{font-size:15px;font-weight:600}.t-footnote{font-size:13px;font-weight:400;line-height:1.35}.t-eyebrow{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase}.t-streak{font-size:64px;font-weight:800;line-height:1.05;letter-spacing:-1.5px;font-variant-numeric:tabular-nums}.t-tabular{font-variant-numeric:tabular-nums}.c-2{color:var(--label-2)}.c-3{color:var(--label-3)}.c-accent{color:var(--accent)}.card{background:var(--surface1);border-radius:var(--r-hero);padding:18px}.btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:50px;border:none;border-radius:var(--r-card);font-family:var(--font);font-size:17px;font-weight:600;color:#fff;cursor:pointer;transition:transform .1s ease,background .1s ease;background:var(--move)}.btn:active{transform:scale(.98)}.btn:disabled{background:var(--fill);color:var(--label-3);cursor:default}.btn-tinted{background:#fa114f2e;color:var(--accent);border-radius:var(--r-comfortable)}.btn-gray{background:var(--fill);border-radius:var(--r-comfortable)}.btn-plain{background:transparent;color:var(--accent);min-height:auto}.field-label{font-size:12px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--label-2);display:block;margin-bottom:8px}.field{width:100%;background:var(--surface1);border:none;border-radius:var(--r-comfortable);padding:14px 16px;color:var(--label);font-family:var(--font);font-size:17px;outline:none}.field::placeholder{color:var(--label-3)}.chip{padding:10px 16px;border-radius:500px;background:var(--fill);color:var(--label-2);font-size:15px;font-weight:600;border:none;cursor:pointer}.chip.sel{background:var(--accent);color:#fff}.tabbar{display:flex;border-top:.5px solid var(--separator);background:#0a0a0cd9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{flex:1;background:none;border:none;color:var(--label-3);padding:8px 0 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;font-family:var(--font);font-size:10px;font-weight:500}.tabbar button.active{color:var(--accent)}.spinner{width:24px;height:24px;border:3px solid var(--fill);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.row{display:flex;align-items:center}.stack{display:flex;flex-direction:column}
