:root{font-optical-sizing:auto;font-variation-settings:"SOFT" 40;color:#121110;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01", "liga", "kern";background:#f2ede4;font-family:Fraunces,ui-serif,Georgia,serif;font-weight:400;line-height:1.55}*{box-sizing:border-box}::selection{color:#f2ede4;background:#121110}html{scroll-behavior:smooth}body{background:#f2ede4;min-width:320px;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{appearance:none}#root{min-height:100vh}:root{--paper:#f2ede4;--paper-2:#ece6d9;--paper-3:#e5dfd0;--ink:#121110;--ink-2:#2a2723;--ink-soft:#605c54;--ink-mute:#8f897e;--accent:#ff3d00;--accent-deep:#c02900;--accent-soft:#ffe4d7;--rule:#121110;--rule-soft:#12111024;--rule-hair:#12111014;--sidebar-bg:#0d0c0b;--sidebar-ink:#f2ede4;--sidebar-ink-soft:#f2ede48c;--sidebar-hair:#f2ede41a;--sidebar-width:240px;--display:"Fraunces", ui-serif, Georgia, serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1)}html,body,#root{background:var(--paper);color:var(--ink);margin:0;padding:0}body{font-family:var(--display);background:radial-gradient(circle at 20% -10%, #ff3d000d, transparent 40%), radial-gradient(circle at 100% 100%, #1211100a, transparent 50%), var(--paper);background-attachment:fixed;font-size:15px;line-height:1.55}h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:0;font-weight:500}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar-wrap{background:var(--sidebar-bg);height:100vh;color:var(--sidebar-ink);z-index:20;border-right:1px solid #000;position:sticky;top:0}.sidebar-wrap:after{content:"";pointer-events:none;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,#0000 0 28px,#f2ede408 28px 29px);position:absolute;inset:0}.sidebar{z-index:1;flex-direction:column;height:100%;padding:30px 22px 22px;display:flex;position:relative}.sidebar-brand{border-bottom:1px solid var(--sidebar-hair);gap:10px;margin-bottom:18px;padding-bottom:22px;display:grid}.sidebar-brand-mark{font-family:var(--mono);letter-spacing:.35em;text-transform:uppercase;color:var(--sidebar-ink-soft);font-size:10px}.sidebar-brand-name{font-family:var(--display);letter-spacing:-.02em;color:#fff;font-size:28px;font-style:italic;font-weight:500;line-height:1}.sidebar-brand-name:after{content:"№";color:var(--accent);margin-left:8px;font-style:normal;font-weight:400;display:inline-block}.sidebar-nav{flex:1;gap:1px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.sidebar-link{width:100%;color:var(--sidebar-ink-soft);cursor:pointer;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;text-align:left;transition:color .16s var(--ease);background:0 0;border:0;grid-template-columns:20px 1fr auto;align-items:center;gap:14px;padding:11px 4px 11px 10px;font-size:11px;display:grid;position:relative}.sidebar-link:before{content:"";background:var(--accent);width:0;height:1px;transition:width .22s var(--ease);position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link:hover{color:var(--sidebar-ink)}.sidebar-link:hover:before{width:6px}.sidebar-link.is-active{color:#fff}.sidebar-link.is-active:before{background:var(--accent);width:18px}.sidebar-link.is-active .sidebar-index{color:var(--accent)}.sidebar-index{font-family:var(--mono);color:var(--sidebar-ink-soft);letter-spacing:.1em;font-size:10px}.sidebar-icon{font-family:var(--display);color:inherit;font-size:16px;font-style:italic;line-height:1}.sidebar-mode{border-top:1px solid var(--sidebar-hair);grid-template-columns:auto 1fr;align-items:start;gap:12px;margin-top:22px;padding-top:18px;display:grid}.sidebar-mode strong{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#fff;font-size:11px;display:block}.sidebar-mode p{font-family:var(--display);color:var(--sidebar-ink-soft);margin:6px 0 0;font-size:13px;line-height:1.4}.mode-dot{background:#8f897e;border-radius:50%;width:8px;height:8px;margin-top:5px;display:inline-block}.mode-dot.mode-convex{background:var(--accent);animation:2.4s ease-in-out infinite pulse;box-shadow:0 0 0 3px #ff3d0038}.mode-dot.mode-browser{background:#e2c46c}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #ff3d0038}50%{box-shadow:0 0 0 6px #ff3d0000}}.sidebar-overlay{display:none}.main-wrap{flex-direction:column;min-width:0;display:flex}.mobile-bar{background:var(--paper);border-bottom:1px solid var(--rule);z-index:10;align-items:center;gap:14px;padding:14px 20px;display:none;position:sticky;top:0}.mobile-bar-title{font-family:var(--display);font-size:20px;font-style:italic}.icon-button{background:var(--paper);border:1px solid var(--ink);cursor:pointer;align-content:center;justify-items:center;gap:5px;width:42px;height:42px;display:grid}.icon-button span{background:var(--ink);width:20px;height:1.5px;display:block}.main-content{width:min(1160px,100%);animation:page-in .36s var(--ease);margin:0 auto;padding:44px 56px 64px}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.view-stack{gap:28px;display:grid}.page-header{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding-bottom:18px;display:grid}.page-header h1{letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(40px,6vw,72px);font-weight:400;line-height:.95}.page-header h1 em{color:var(--accent);font-style:italic;font-weight:500}.page-header-text{color:var(--ink-soft);max-width:52ch;margin:14px 0 0;font-size:15px}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;gap:12px;display:flex}.inline-field{min-width:160px}.eyebrow,.eyebrow-dark{font-family:var(--mono);letter-spacing:.35em;text-transform:uppercase;color:var(--ink-mute);align-items:center;gap:10px;margin:0;font-size:10px;display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:18px;height:1px}.tool-panel,.insight-panel{background:var(--paper);border:1px solid var(--rule);padding:28px;position:relative}.tool-panel:before,.insight-panel:before{content:"";border:1px solid var(--rule-hair);pointer-events:none;position:absolute;inset:4px}.panel-heading{border-bottom:1px solid var(--rule-soft);justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px;padding-bottom:18px;display:flex}.panel-heading h2{letter-spacing:-.02em;margin:8px 0 0;font-size:28px;font-style:italic;font-weight:400;line-height:1.05}.status-text{min-height:19px;color:var(--accent-deep);font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;text-align:right;font-size:11px}.hero-slab{border:1px solid var(--rule);background:var(--ink);color:var(--paper);grid-template-columns:1.1fr 1fr;gap:0;display:grid;position:relative;overflow:hidden}.hero-slab:before{content:"";pointer-events:none;background-image:linear-gradient(#0000 0 39px,#f2ede40a 40px),linear-gradient(90deg,#0000 0 39px,#f2ede40a 40px);background-size:40px 40px;position:absolute;inset:0}.hero-main{z-index:1;padding:40px 44px 36px;position:relative}.hero-stamp{font-family:var(--mono);letter-spacing:.35em;text-transform:uppercase;color:#f2ede48c;justify-content:space-between;margin-bottom:36px;font-size:10px;display:flex}.hero-title{letter-spacing:-.045em;color:var(--paper);margin:0;font-size:clamp(48px,7vw,96px);font-weight:400;line-height:.92}.hero-title em{color:var(--accent);font-style:italic;font-weight:500}.hero-sub{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#f2ede4bf;margin:20px 0 0;font-size:12px}.hero-aside{z-index:1;border-left:1px solid #f2ede424;align-content:space-between;gap:14px;padding:40px 44px 36px;display:grid;position:relative}.hero-stat-label{font-family:var(--mono);letter-spacing:.35em;text-transform:uppercase;color:#f2ede48c;font-size:10px}.hero-stat-number{font-family:var(--display);letter-spacing:-.05em;color:var(--paper);font-size:clamp(88px,12vw,168px);font-weight:400;line-height:.85}.hero-stat-number.is-accent{color:var(--accent)}.hero-stat-foot{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:#f2ede4b3;font-size:11px}.stat-grid{border:1px solid var(--rule);background:var(--paper);grid-template-columns:repeat(4,minmax(0,1fr));gap:0;display:grid}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;display:grid}.metric-card{border:0;border-right:1px solid var(--rule-hair);background:0 0;padding:26px 24px 22px;position:relative}.metric-card:last-child{border-right:0}.metric-card span{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);font-size:10px;display:block}.metric-card p{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-soft);margin:10px 0 0;font-size:11px}.metric-card strong{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-feature-settings:"tnum", "lnum";margin:14px 0 0;font-size:52px;font-weight:400;line-height:1;display:block}.metric-card-light{background:var(--ink);color:var(--paper);border-right-color:#f2ede41a}.metric-card-light span,.metric-card-light p{color:#f2ede494}.metric-card-light strong{color:var(--paper)}.stacked-form{gap:22px;display:grid}.program-add-form{border-top:1px dashed var(--rule-soft);margin-top:24px;padding-top:24px}.field-grid{gap:20px;display:grid}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.three-up,.slider-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:8px;display:grid}.field-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.field-label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.field-hint{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-mute);font-size:10px}.slider-value{font-family:var(--display);color:var(--accent);font-size:22px;font-style:italic;line-height:1}input,select,textarea,.date-picker{box-sizing:border-box;border:0;border-bottom:1px solid var(--ink);width:100%;color:var(--ink);font-family:var(--display);transition:border-color .18s var(--ease);background:0 0;border-radius:0;padding:10px 2px;font-size:17px;line-height:1.3}input::placeholder,textarea::placeholder{color:var(--ink-mute);font-style:italic}input:focus,select:focus,textarea:focus,.date-picker:focus{border-bottom-color:var(--accent);outline:0}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);cursor:pointer;background-position:calc(100% - 14px) calc(50% - 2px),calc(100% - 8px) calc(50% - 2px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:28px}textarea{resize:vertical;border:1px solid var(--rule-soft);background:var(--paper-2);min-height:96px;padding:12px 14px;font-size:15px}textarea:focus{border:1px solid var(--accent)}input[type=range]{accent-color:var(--accent);background:0 0;border:0;height:24px;padding:0}input[type=checkbox]{width:22px;height:22px;accent-color:var(--accent);border:1px solid var(--ink);padding:0}.checkbox-field{border-bottom:1px solid var(--ink);grid-template-columns:1fr auto;grid-auto-flow:column;align-content:center;gap:16px;padding:10px 0}.checkbox-field .field-label{align-self:center}.filter-select{border-bottom:1px solid var(--rule-soft);max-width:220px;font-family:var(--mono);letter-spacing:.15em;text-transform:uppercase;font-size:12px}.primary-button,.secondary-button,.ghost-button,.link-button{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), transform .18s var(--ease);border-radius:0;font-size:11px}.primary-button,.secondary-button{border:1px solid var(--ink);min-height:48px;padding:0 24px}.primary-button{background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.primary-button:before{content:"";background:var(--accent);transition:transform .24s var(--ease);z-index:0;position:absolute;inset:0;transform:translateY(100%)}.primary-button>*{z-index:1;position:relative}.primary-button:hover:before,.primary-button:focus-visible:before{transform:translateY(0)}.primary-button:hover{border-color:var(--accent);color:#fff}.secondary-button{background:var(--paper);color:var(--ink)}.secondary-button:hover{background:var(--ink);color:var(--paper)}.secondary-button.small{min-height:36px;padding:0 14px;font-size:10px}.primary-button:disabled,.secondary-button:disabled{cursor:wait;opacity:.5}.ghost-button{color:var(--ink-soft);background:0 0;border:0;border-bottom:1px solid #0000;min-width:0;padding:8px 4px}.ghost-button:hover{color:var(--accent);border-bottom-color:var(--accent)}.link-button{color:var(--accent);font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;background:0 0;border:0;padding:0;font-size:10px}.link-button:hover{color:var(--ink)}.log-list,.history-list,.highlight-list,.breakdown-list{gap:0;margin-top:4px;display:grid}.no-top-margin{margin-top:0}.log-row,.highlight-row,.history-row{border-top:1px solid var(--rule-soft);transition:background .18s var(--ease);background:0 0;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px;padding:18px 2px;display:grid}.log-row:first-child,.highlight-row:first-child,.history-row:first-child{border-top:0}.log-row:hover,.highlight-row:hover,.history-row:hover{background:var(--paper-2)}.history-row{cursor:pointer;text-align:left;border:0;border-top:1px solid var(--rule-soft);width:100%;color:inherit}.history-row.is-active{background:var(--ink);color:var(--paper)}.history-row.is-active strong,.history-row.is-active span{color:var(--paper)}.history-row.is-active:after{content:"●";color:var(--accent)}.history-row strong,.highlight-row h3,.log-title-row h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:22px;font-style:italic;font-weight:500;line-height:1.2}.history-row strong{font-size:18px;font-style:normal}.history-row span,.highlight-row p,.log-meta,.log-notes,.summary-row dt{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-soft);text-transform:uppercase;margin:6px 0 0;font-size:11px}.log-notes{text-transform:none;letter-spacing:.04em;font-family:var(--display);color:var(--ink-2);margin-top:10px;font-size:14px;font-style:italic}.history-metrics,.highlight-metrics{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);justify-items:end;gap:4px;font-size:11px;display:grid}.highlight-metrics strong,.summary-row dd{color:var(--ink);font-family:var(--display);letter-spacing:-.01em;text-transform:none;margin:0;font-size:20px;font-style:italic;font-weight:500}.log-title-row{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.effort-pill{font-family:var(--mono);letter-spacing:.3em;text-transform:uppercase;border:1px solid;border-radius:0;padding:3px 10px;font-size:9px}.effort-light{color:#5a6b1e;background:0 0}.effort-steady{color:var(--ink);background:0 0}.effort-hard{color:var(--accent);background:0 0}.summary-list{gap:0;margin:0;display:grid}.summary-row{border-top:1px solid var(--rule-soft);justify-content:space-between;align-items:baseline;gap:18px;padding:14px 0;display:flex}.summary-row:first-child{border-top:0;padding-top:0}.summary-row dt{margin:0}.breakdown-row span{font-family:var(--display);color:var(--ink);font-size:18px;font-style:italic}.breakdown-row strong{font-family:var(--mono);letter-spacing:.1em;color:var(--accent);font-feature-settings:"tnum";font-size:14px}.empty-state{border:1px dashed var(--rule-soft);color:var(--ink-mute);font-family:var(--display);text-align:center;background:0 0;padding:28px 20px;font-size:15px;font-style:italic}.row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.goal-row.is-done h3{text-decoration:line-through;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--ink-mute)}.progress-track{background:var(--paper-3);border-bottom:1px solid var(--rule-soft);height:3px;margin-top:12px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .3s var(--ease)}.loading-shell{text-align:center;place-items:center;min-height:100vh;padding:40px;display:grid}.loading-shell h1{letter-spacing:-.02em;margin:12px 0 0;font-size:clamp(34px,5vw,56px);font-style:italic;font-weight:400}.loading-shell h1:after{content:"▍";color:var(--accent);margin-left:8px;animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}code{font-family:var(--mono);background:var(--paper-2);padding:2px 6px;font-size:13px}@media (width<=1100px){.main-content{padding:36px 32px 48px}.hero-slab{grid-template-columns:1fr}.hero-aside{border-top:1px solid #f2ede424;border-left:0}.dashboard-grid,.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid .metric-card:nth-child(2){border-right:0}.stat-grid .metric-card:first-child,.stat-grid .metric-card:nth-child(2){border-bottom:1px solid var(--rule-hair)}}@media (width<=880px){.app-shell{grid-template-columns:minmax(0,1fr)}.sidebar-wrap{width:280px;transition:transform .22s var(--ease);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%);box-shadow:24px 0 48px #00000059}.app-shell.sidebar-open .sidebar-wrap{transform:translate(0)}.sidebar-overlay{z-index:15;opacity:0;pointer-events:none;transition:opacity .22s var(--ease);background:#1211108c;display:block;position:fixed;inset:0}.app-shell.sidebar-open .sidebar-overlay{opacity:1;pointer-events:auto}.mobile-bar{display:flex}.main-content{padding:28px 22px 48px}.dashboard-grid,.stat-grid,.two-up,.three-up,.slider-grid{grid-template-columns:1fr}.stat-grid{border-left:0;border-right:0}.metric-card{border-right:0;border-bottom:1px solid var(--rule-hair)}.metric-card:last-child{border-bottom:0}.log-row,.highlight-row,.history-row{grid-template-columns:1fr}.history-metrics,.highlight-metrics{justify-items:start}.page-header{grid-template-columns:1fr;align-items:start}.page-header-actions{justify-content:flex-start;width:100%}.hero-main,.hero-aside{padding:32px 26px}}@media (width<=520px){.page-header h1{font-size:40px}.tool-panel,.insight-panel{padding:22px}.panel-heading{flex-direction:column}.status-text{text-align:left}.metric-card strong{font-size:44px}}.body-diagram{gap:18px;display:grid}.body-diagram svg{filter:drop-shadow(0 2px #1211100a);width:100%;height:auto;display:block}.body-diagram svg [data-group]{transition:fill .22s var(--ease), stroke .22s var(--ease), filter .22s var(--ease)}.body-diagram svg [data-group]:hover{filter:brightness(1.08)}.body-legend{flex-wrap:wrap;gap:6px;display:flex}.body-legend-chip{border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:border-color .18s var(--ease), background .18s var(--ease);align-items:center;gap:8px;padding:6px 10px 6px 6px;font-size:10px;display:inline-flex}.body-legend-chip:disabled{cursor:default}.body-legend-chip:hover:not(:disabled){border-color:var(--ink)}.body-legend-chip.is-selected{background:var(--ink);color:var(--paper);border-color:var(--ink)}.body-legend-swatch{background:var(--chip-fill,var(--rule-soft));border:1px solid var(--ink);border-radius:2px;width:12px;height:12px;display:inline-block}.body-legend-chip.is-selected .body-legend-swatch{border-color:var(--paper)}.insight-panel-wide{grid-column:1/-1}.muscle-map-grid{grid-template-columns:minmax(260px,380px) minmax(0,1fr);align-items:start;gap:36px;display:grid}.breakdown-row{border-top:1px solid var(--rule-hair);grid-template-columns:110px minmax(0,1fr) 40px;align-items:center;gap:16px;padding:10px 0;display:grid}.breakdown-row:first-child{border-top:0}.breakdown-row>span{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);font-size:11px}.breakdown-row>strong{font-family:var(--display);color:var(--ink);text-align:right;font-feature-settings:"tnum", "lnum";font-size:22px;font-style:italic;font-weight:500}.breakdown-bar{background:var(--rule-hair);height:6px;position:relative;overflow:hidden}.breakdown-bar-fill{background:var(--accent);transition:width .3s var(--ease);position:absolute;inset:0 auto 0 0}.workout-builder-grid{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:40px;display:grid}.body-picker-wrap{border:1px solid var(--rule-soft);background:var(--paper-2);gap:18px;padding:20px;display:grid;position:relative}.body-picker-wrap:before{content:"";border:1px dashed var(--rule-hair);pointer-events:none;position:absolute;inset:4px}.body-picker-note{gap:6px;display:grid}.body-picker-note p{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.05em;margin:0;font-size:11px;line-height:1.5}.workout-controls{gap:22px;display:grid}.stepper{gap:10px;display:grid}.stepper-head{justify-content:space-between;align-items:baseline;display:flex}.stepper-label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.stepper-unit{font-family:var(--mono);letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase;font-size:10px}.stepper-control{border:1px solid var(--ink);background:var(--paper);grid-template-columns:48px minmax(0,1fr) 48px;align-items:stretch;display:grid}.stepper-btn{appearance:none;border:0;border-right:1px solid var(--ink);color:var(--ink);font-family:var(--display);cursor:pointer;transition:background .16s var(--ease), color .16s var(--ease);background:0 0;padding:0;font-size:24px;font-weight:400;line-height:1}.stepper-control>.stepper-btn:last-child{border-right:0;border-left:1px solid var(--ink)}.stepper-btn:hover{background:var(--ink);color:var(--accent)}.stepper-btn.small{border:1px solid var(--ink);border-left:0;width:36px;height:36px}.stepper-btn.small:first-child{border-left:1px solid var(--ink)}.stepper-value{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);font-feature-settings:"tnum", "lnum";place-items:center;padding:10px 0;font-size:32px;font-style:italic;line-height:1;display:grid}.stepper-presets{flex-wrap:wrap;gap:6px;display:flex}.stepper-preset{appearance:none;border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink-soft);font-family:var(--mono);letter-spacing:.12em;cursor:pointer;transition:all .16s var(--ease);font-feature-settings:"tnum";padding:6px 12px;font-size:11px}.stepper-preset:hover{border-color:var(--ink);color:var(--ink)}.stepper-preset.is-active{background:var(--ink);color:var(--accent);border-color:var(--ink)}.chip-group{gap:10px;display:grid}.chip-group-label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);font-size:10px}.chip-group-list{flex-wrap:wrap;gap:6px;display:flex}.chip{appearance:none;border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink-soft);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:all .16s var(--ease);padding:8px 14px;font-size:11px;position:relative}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.chip-light.is-active{color:#eff6dc;background:#5a6b1e;border-color:#5a6b1e}.chip-steady.is-active{background:var(--accent-deep);border-color:var(--accent-deep);color:#fff}.chip-hard.is-active{color:#fff;background:#a7441b;border-color:#a7441b}.rating-picker{border-top:1px solid var(--rule-hair);gap:10px;padding:18px 0;display:grid}.rating-picker:first-child{border-top:0;padding-top:0}.rating-head{justify-content:space-between;align-items:baseline;display:flex}.rating-label{font-family:var(--mono);letter-spacing:.28em;text-transform:uppercase;color:var(--ink);font-size:11px}.rating-value{font-family:var(--display);color:var(--accent);font-feature-settings:"tnum";font-size:28px;font-style:italic;line-height:1}.rating-value span{color:var(--ink-mute);margin-left:2px;font-size:14px;font-style:normal}.rating-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.rating-pip{appearance:none;border:1px solid var(--rule-soft);background:var(--paper);color:var(--ink-mute);cursor:pointer;transition:all .16s var(--ease);justify-items:center;gap:6px;padding:12px 6px 10px;display:grid;position:relative}.rating-pip:hover{border-color:var(--ink);color:var(--ink)}.rating-pip-icon{font-size:22px;line-height:1;font-family:var(--display)}.rating-pip-num{font-family:var(--mono);letter-spacing:.2em;color:inherit;font-size:9px}.rating-pip.is-filled{color:var(--ink);border-color:var(--ink)}.rating-pip.is-active{background:var(--ink);border-color:var(--ink);color:var(--accent)}.rating-pip.is-active .rating-pip-num{color:#f2ede480}.rating-hint{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-mute);font-size:10px}.weight-picker{gap:14px;display:grid}.weight-display{border:1px solid var(--ink);background:var(--paper);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px 18px 16px;display:grid}.weight-bw{appearance:none;border:1px solid var(--ink);background:var(--paper-2);cursor:pointer;width:48px;height:48px;font-family:var(--mono);letter-spacing:.2em;color:var(--ink);transition:all .16s var(--ease);font-size:11px}.weight-bw[aria-pressed=true]{background:var(--ink);color:var(--accent)}.weight-number{font-family:var(--display);letter-spacing:-.04em;color:var(--ink);font-feature-settings:"tnum", "lnum";font-size:56px;font-style:italic;line-height:.9}.weight-number.is-bw{color:var(--ink-mute);font-size:44px}.weight-nudge{grid-template-rows:1fr 1fr;gap:0;display:grid}.weight-nudge .stepper-btn{border:1px solid var(--ink);border-radius:0}.weight-nudge .stepper-btn:first-child{border-bottom:0}.weight-ruler{border-top:1px solid var(--rule-soft);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:0;padding-top:10px;display:grid}.weight-tick{appearance:none;cursor:pointer;color:var(--ink-mute);transition:color .16s var(--ease);background:0 0;border:0;justify-items:center;gap:6px;padding:6px 0;display:grid}.weight-tick:hover{color:var(--ink)}.weight-tick-mark{background:currentColor;width:1px;height:10px;display:block}.weight-tick-label{font-family:var(--mono);letter-spacing:.08em;font-feature-settings:"tnum";font-size:10px}.weight-tick.is-active{color:var(--accent)}.weight-tick.is-active .weight-tick-mark{width:2px;height:16px}.weight-tick.is-active .weight-tick-label{color:var(--ink);font-weight:700}.hydration{gap:12px;display:grid}.hydration-head{justify-content:space-between;align-items:baseline;display:flex}.hydration-value{font-family:var(--display);color:var(--accent);font-feature-settings:"tnum";font-size:32px;font-style:italic;line-height:1}.hydration-value span{color:var(--ink-mute);margin-left:4px;font-size:14px;font-style:normal}.hydration-grid{border:1px solid var(--rule-soft);background:var(--paper-2);grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;padding:14px;display:grid}.glass{appearance:none;cursor:pointer;color:var(--rule-soft);transition:color .16s var(--ease), transform .12s var(--ease);background:0 0;border:0;padding:0}.glass:hover{color:var(--ink);transform:translateY(-1px)}.glass.is-filled{color:var(--accent)}.glass svg{width:100%;height:auto;display:block}.hydration-hint{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-mute);text-transform:uppercase;justify-content:space-between;font-size:10px;display:flex}.sleep-dial{border:1px solid var(--rule-soft);background:var(--paper-2);justify-items:center;gap:14px;padding:18px;display:grid}.sleep-dial-head{place-self:start;width:100%}.sleep-dial-ring{width:140px;height:140px}.sleep-dial-ring svg{width:100%;height:100%}.sleep-dial-controls{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;display:grid}.sleep-quick{flex-wrap:wrap;justify-content:center;gap:4px;display:flex}.checkin-top-grid{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.checkin-ratings{background:var(--paper-2);border:1px solid var(--rule-soft);gap:0;padding:22px;display:grid}.workout-toggle{justify-content:flex-start;display:flex}.toggle-pill{appearance:none;border:1px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;transition:all .2s var(--ease);align-items:center;gap:14px;padding:12px 22px;font-size:11px;display:inline-flex}.toggle-pill-indicator{border:1px solid var(--ink);background:var(--paper);width:14px;height:14px;transition:background .2s var(--ease);border-radius:50%;position:relative}.toggle-pill.is-on{background:var(--ink);color:var(--paper)}.toggle-pill.is-on .toggle-pill-indicator{background:var(--accent);border-color:var(--paper);box-shadow:0 0 0 3px #ff3d004d}.log-focus{border:1px solid var(--rule-soft);font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-deep);background:var(--accent-soft);margin-right:8px;padding:2px 8px;font-size:9px;display:inline-block}@media (width<=980px){.muscle-map-grid,.workout-builder-grid,.checkin-top-grid{grid-template-columns:1fr}.hydration-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}@media (width<=640px){.breakdown-row{grid-template-columns:90px minmax(0,1fr) 36px;gap:10px}.rating-row{grid-template-columns:repeat(5,minmax(0,1fr))}.rating-pip-icon{font-size:18px}.hydration-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.weight-number{font-size:44px}}.sidebar-sections{flex:1;gap:18px;display:grid;overflow-y:auto}.sidebar-section{gap:2px;display:grid}.sidebar-section-title{font-family:var(--mono);letter-spacing:.35em;text-transform:uppercase;color:#f2ede461;padding:0 10px 4px;font-size:9px}.timeline-row{grid-template-columns:minmax(0,1fr) auto}.timeline-kind{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;border:1px solid var(--rule-soft);background:var(--paper);margin-right:6px;padding:3px 10px;font-size:9px;display:inline-block}.timeline-kind-workout{color:var(--accent-deep);border-color:var(--accent);background:var(--accent-soft)}.timeline-kind-sport{color:#5a6b1e;background:#eff6dc;border-color:#b8c97a}.timeline-kind-study{color:#3c2a6b;background:#eadbff;border-color:#a78bfa}.timeline-kind-plan{color:#7a4a0e;background:#fdead0;border-color:#f5a94a}.timeline-row.timeline-workout{border-left:3px solid var(--accent);padding-left:14px}.timeline-row.timeline-sport{border-left:3px solid #b8c97a;padding-left:14px}.timeline-row.timeline-study{border-left:3px solid #a78bfa;padding-left:14px}.timeline-row.timeline-plan{border-left:3px solid #f5a94a;padding-left:14px}.timeline-metric{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);font-feature-settings:"tnum", "lnum";font-size:22px;font-style:italic;font-weight:500}.plan-row{align-items:flex-start}.plan-row.is-done h3{color:var(--ink-mute);text-decoration:line-through}.plan-check{appearance:none;border:1.5px solid var(--ink);background:var(--paper);width:28px;height:28px;color:var(--ink);font-family:var(--display);cursor:pointer;transition:all .16s var(--ease);border-radius:0;flex-shrink:0;place-items:center;margin-top:2px;font-size:16px;font-weight:600;display:grid}.plan-check:hover{background:var(--ink);color:var(--paper)}.plan-check.is-checked{background:var(--accent);border-color:var(--accent);color:var(--paper)}.recovery-panel{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.recovery-list{border-top:1px solid var(--rule-soft);gap:0;display:grid}.recovery-row{border-bottom:1px solid var(--rule-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 2px;display:grid}.recovery-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;position:relative}.recovery-dot:after{content:"";opacity:.35;border:1px solid;border-radius:50%;position:absolute;inset:-4px}.recovery-dot.is-ready{color:#5a6b1e;background:#5a6b1e}.recovery-dot.is-moderate{color:#a7441b;background:#a7441b}.recovery-dot.is-worked{background:var(--accent);color:var(--accent)}.recovery-dot.is-dormant{background:var(--ink-mute);color:var(--ink-mute)}.recovery-name{font-family:var(--display);color:var(--ink);letter-spacing:-.01em;font-size:17px;font-style:italic;font-weight:500}.recovery-sub{font-family:var(--mono);color:var(--ink-soft);letter-spacing:.05em;margin-top:2px;font-size:10px}.recovery-count{font-family:var(--mono);color:var(--ink);letter-spacing:.05em;font-size:11px;font-weight:600}.hero-actions{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:32px;display:flex}.hero-date{min-width:150px}@media (width<=980px){.recovery-panel{grid-template-columns:1fr;gap:24px}}
