/* Shared assets render identically across desktop and iOS; no font-based icons. */
@font-face{font-family:Club;src:url('fonts/club-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Club;src:url('fonts/club-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:110px}
.icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:-.13em;overflow:visible}
.primary,.secondary{gap:10px;min-height:44px;white-space:normal;text-align:center;line-height:1.4}
.primary .icon,.secondary .icon{width:17px;height:17px}
a .icon,button .icon{pointer-events:none}.brand-mark{width:44px;height:44px;flex-shrink:0}.brand{gap:4px}.brand b{margin-left:0}
.sidebar nav .icon{width:22px;height:22px}.sidebar nav span{font:inherit;width:auto}.nav-mobile-label{display:none}
.sidebar nav a{min-height:48px}.sidebar nav{gap:7px}.brand b span{line-height:1.4}.login-story .brand-mark{width:48px;height:48px}
main,header>div,.form-grid>*,.entry-body,.entry-stats>*,.section-title>*,.metrics article,.food-intro>div{min-width:0}
input,select,textarea{max-width:100%;min-width:0}.actions{flex-wrap:wrap;gap:12px}.notes,.entry-body h2,.provenance{overflow-wrap:anywhere}
.entry-stats{flex-wrap:wrap}.activity>div{min-width:0}.activity strong{overflow-wrap:anywhere}.activity>b{flex-shrink:0;white-space:nowrap}
.notice{overflow-wrap:anywhere}.file-mark>.icon{width:44px;height:44px}.food-intro>.icon{width:42px;height:42px;color:var(--orange)}.food-placeholder>.icon{width:52px;height:52px}
.table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.table-wrap table{min-width:480px}.hero>div{position:relative;z-index:1}.hero-stat{flex-shrink:0}
button:disabled{cursor:wait;opacity:.7}.text-button{min-height:44px}.form-grid label{line-height:1.5}.section-title{flex-wrap:wrap}
@media(max-width:760px){
 body{font-size:15px}.signed-in{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .sidebar{padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:var(--paper)}
 .sidebar .brand{margin:0;min-height:42px;gap:7px}.brand-mark{width:35px;height:35px}.brand b{font-size:22px}.brand b span{font-size:8px;letter-spacing:1.2px;margin-top:4px}
 .sidebar nav{position:fixed;inset:auto 0 0;z-index:30;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;width:100%;overflow:visible;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:var(--paper);border-top:1px solid var(--line);box-shadow:0 -5px 20px #203d3506}
 .sidebar nav a{display:flex;flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:54px;padding:6px 2px;border-radius:8px;font-size:10px;line-height:1.25;text-align:center}
 .sidebar nav .icon{width:22px;height:22px}.sidebar nav .nav-desktop-label{display:none}.sidebar nav .nav-mobile-label{display:block;font-size:10px;font-weight:700;letter-spacing:-.2px;white-space:nowrap}
 main{padding:24px max(16px,env(safe-area-inset-right,0px)) 26px max(16px,env(safe-area-inset-left,0px))}
 main>header{display:flex;flex-direction:column;align-items:stretch;gap:18px;margin-bottom:24px}header h1{font-size:clamp(30px,8.2vw,40px);letter-spacing:-1.5px;line-height:1.15;overflow-wrap:anywhere;margin-bottom:10px}header p{font-size:13px;line-height:1.6}header .eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.2px;margin-bottom:12px}
 header>.primary,header>.secondary{align-self:flex-start;padding:12px 16px;font-size:13px;min-height:44px}header>.actions{width:100%;gap:10px}.workout-actions .primary,.workout-actions .secondary{font-size:12px;min-height:44px}
 .primary,.secondary{font-size:13px;padding:12px 16px;max-width:100%}.actions a{font-size:13px}.actions>a:not(.primary):not(.secondary){display:inline-flex;align-items:center;min-height:44px}
 .week-nav{padding:14px 0;gap:8px}.week-nav .eyebrow{font-size:9px}.week-nav>div{width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) 44px 36px;gap:0;font-size:11px}.week-nav strong{text-align:center;line-height:1.4}.week-nav a{display:flex;align-items:center;justify-content:center;min-width:36px;min-height:44px;padding:0}.week-nav .icon{width:18px;height:18px}
 .hero{padding:24px 20px;gap:14px;align-items:center}.hero>div:first-child{flex:1;min-width:0}.hero h2{font-size:clamp(25px,7vw,30px);letter-spacing:-1px}.hero .eyebrow{font-size:9px;line-height:1.5;letter-spacing:1.2px}.hero p{font-size:12px;line-height:1.6}.hero a{font-size:12px;line-height:1.6;padding:8px 0;min-height:44px}.hero-stat{min-width:78px;max-width:96px}.hero-stat>strong{font-size:60px;letter-spacing:-3px}.hero-stat>span{font-size:8px;letter-spacing:.7px;line-height:1.6}.tiny-avatars{margin-top:15px}.hero .tiny-avatars .avatar{width:26px;height:26px;border-width:2px}
 .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 0}.metrics article+article{padding-left:16px}.metrics article:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.metrics article>span{font-size:9px;letter-spacing:.8px;line-height:1.5;display:block}.metrics strong{font-size:28px;line-height:1.3}.metrics strong small{font-size:12px;line-height:1.6}.metrics p{font-size:11px;line-height:1.55}
 .section-title{gap:8px 12px;margin-top:26px}.section-title h2{font-size:21px;line-height:1.3}.section-title>span,.section-title>a{font-size:11px;line-height:1.5}.section-title>a{display:inline-flex;align-items:center;gap:5px;min-height:44px}
 .person{padding:16px 12px}.person-head{gap:7px;flex-wrap:wrap}.person h3{font-size:13px}.person-head .avatar{width:28px;height:28px}.pill{font-size:8px}.person-number{font-size:32px;margin:18px 0}.person-number small{font-size:12px}.week-dots span{font-size:9px;min-height:18px}.person-foot{font-size:11px;gap:8px;line-height:1.45}.person-foot .icon{width:12px;height:12px}
 .activity{gap:12px;padding:18px 0}.activity strong{font-size:13px;line-height:1.5;display:block}.activity small{font-size:11px;line-height:1.6}.activity>b{font-size:19px}.activity>.avatar{width:33px;height:33px}.activity>.icon,.activity>span:last-child:not(.avatar){width:16px;flex-shrink:0}
 .panel{padding:20px 16px}label{font-size:13px;line-height:1.5}input,select,textarea,.import-form input,.import-form select{font-size:16px;line-height:1.4;min-height:48px;padding:12px;max-width:100%;width:100%}input[type=date]{display:block;min-width:0;-webkit-appearance:none;appearance:none}input::-webkit-date-and-time-value{text-align:left;min-height:1.4em}input[type=checkbox]{width:22px;min-height:22px;height:22px;flex-shrink:0}input[type=range]{min-height:44px}input[type=file]{padding:8px 0;font-size:13px;overflow:hidden}input[type=file]::file-selector-button{max-width:100%;min-height:44px;font:inherit;padding:10px 12px}label small,.small,small{font-size:12px;line-height:1.55}
 .filters{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.filters label{min-width:0}.filters>.secondary{justify-self:start}.entry-body{padding:20px 16px}.entry-body h2{font-size:21px}.entry-body .eyebrow{font-size:10px;line-height:1.5}.entry-body p{font-size:13px}.entry-body a:not(h2 a){font-size:13px;min-height:44px;display:inline-flex;align-items:center;gap:6px}.entry-stats{gap:20px;font-size:11px}.entry-stats b{font-size:23px;font-variant-numeric:tabular-nums}
 .food-intro{gap:14px;padding:20px 16px}.food-intro>.icon{width:32px;height:32px}.food-intro h2{font-size:20px;line-height:1.3}.food-intro p{font-size:12px}.food-placeholder .icon{width:48px;height:48px}.food-placeholder span{font-size:12px}summary{font-size:14px;line-height:1.5;min-height:44px;padding:10px 0}
 .import-hero{padding:22px 18px;gap:12px}.import-hero h2{font-size:27px;line-height:1.2;margin-bottom:12px}.import-hero p{font-size:12px;line-height:1.6;margin-bottom:0}.import-hero .eyebrow{font-size:9px;letter-spacing:1.2px;margin-bottom:12px}.file-mark{padding:10px}.file-mark>.icon{width:30px;height:30px}.file-mark span{font-size:12px}.file-picker{font-size:15px;padding:16px 12px}.file-picker span{font-size:12px;line-height:1.6}.paste-option summary{font-size:13px}.import-form .primary{width:100%}.tcx-select{font-size:14px;align-items:flex-start}.import-inventory span{font-size:11px}
 .workout-summary{padding:22px 18px;gap:24px 16px}.workout-summary span{font-size:10px;letter-spacing:.7px;line-height:1.5;display:block}.workout-summary strong{font-size:30px;font-variant-numeric:tabular-nums}.workout-summary small{font-size:12px;white-space:nowrap}.detail-metrics span{font-size:12px}.detail-metrics strong{font-size:23px;line-height:1.5;overflow-wrap:anywhere}.detail-metrics small{font-size:11px}.chart-card{padding:20px 14px}.chart-control{font-size:12px}.chart-reading{display:block;font-size:13px;line-height:1.6}.chart-card .small{font-size:11px}.heart-band{gap:10px;font-size:11px}.heart-band>span{width:88px}.heart-band>b{width:58px}.table-wrap th{font-size:11px;padding:12px}.table-wrap td{padding:14px 12px;line-height:1.5}.provenance dl{font-size:12px;line-height:1.5}
 .notice{font-size:13px;line-height:1.6;padding:15px 16px}.empty{padding:28px 18px}.empty p,.empty a{font-size:13px}.empty a{display:inline-flex;align-items:center;gap:8px;min-height:44px}footer{font-size:9px;line-height:1.5;flex-wrap:wrap;margin-top:30px;gap:8px}
 .public{padding:0}.login-story{padding:25px 24px 28px}.login-story .brand{margin-bottom:28px}.login-story .brand-mark{width:38px;height:38px}.login-story h1{font-size:44px}.login-story p{font-size:12px}.login-form{padding:30px 24px}.login-form h2{font-size:30px}.login-form label{font-size:13px;margin:20px 0}.login-form p{font-size:13px}.login-form .small{font-size:12px}
}
@media(max-width:360px){.hero{gap:10px;padding:22px 16px}.hero-stat{min-width:65px;max-width:75px}.hero h2{font-size:24px}.hero-stat>strong{font-size:52px}.hero-stat>span{font-size:8px;letter-spacing:0}.hero .tiny-avatars .avatar{width:22px;height:22px}.person h3{font-size:12px}.person-foot{font-size:10px}.sidebar nav .nav-mobile-label{font-size:9px}.detail-metrics{gap:8px}.detail-metrics article{padding:13px 10px}.detail-metrics strong{font-size:21px}.file-mark{display:none}}
@media(max-width:760px) and (max-height:500px){.sidebar nav a{min-height:44px;gap:3px}.sidebar nav{padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}.sidebar nav .icon{width:18px;height:18px}}
@media(max-width:760px){.sensor-chart text{font-size:28px}.tcx-select{min-height:44px;align-items:center}}
/* Personal account: shared avatar, private management lists and separate settings. */
.avatar{overflow:hidden}.avatar img{display:block;width:100%;height:100%;object-fit:cover}.profile-avatar{width:84px;height:84px;font-size:30px}.profile-header .profile-identity{display:flex;gap:20px;align-items:center}.profile-identity h1{margin-bottom:6px}.profile-identity .eyebrow{margin-bottom:10px}.profile-counts{display:flex;flex-wrap:wrap;gap:16px 28px;color:#5b6b5f;margin-bottom:25px;font-size:13px}.profile-counts strong{font-size:22px;color:var(--ink);margin-right:5px}.profile-tabs{display:flex;gap:7px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:24px}.profile-tabs a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:6px;font-size:13px}.profile-tabs a[aria-current]{background:var(--ink);color:var(--lime)}.account-entry{display:flex;align-items:center;gap:20px;padding:23px;border:1px solid var(--line);border-radius:8px;background:#fcfcf7}.account-list{display:grid;gap:14px}.account-entry-main{flex:1;min-width:0}.account-entry h3{font-size:20px;margin-bottom:8px;overflow-wrap:anywhere}.account-entry .eyebrow{font-size:9px;letter-spacing:1px;margin-bottom:10px}.account-entry p{font-size:12px;margin:0}.account-note{margin-top:8px!important;white-space:pre-wrap;overflow-wrap:anywhere}.account-entry>.actions{flex-shrink:0}.account-meal-image{flex-shrink:0;width:88px;height:88px;border-radius:8px;overflow:hidden}.account-meal-image img{width:100%;height:100%;object-fit:cover}.account-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.account-settings label{margin:20px 0}.account-settings .panel>p{font-size:13px}.profile-photo-current{margin:20px 0}.account-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:24px}.account-pagination span{font-size:12px}.meal-current-photo img{display:block;max-width:100%;width:280px;max-height:240px;object-fit:cover;border-radius:8px;margin-bottom:15px}.account-logout{margin-top:10px}
@media(max-width:1000px){.account-entry{flex-wrap:wrap}.account-entry>.actions{flex-shrink:1}}
@media(max-width:760px){.profile-header .profile-identity{gap:16px}.profile-avatar{width:72px;height:72px;font-size:26px}.profile-identity .eyebrow{font-size:8px;letter-spacing:1px}.profile-counts{gap:12px 18px;font-size:12px}.profile-counts strong{font-size:20px}.profile-tabs{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr);gap:6px;overflow:visible}.profile-tabs a{padding:12px 5px;min-width:0;font-size:12px;line-height:1.3}.account-entry{padding:18px 16px;gap:14px}.account-entry h3{font-size:18px;line-height:1.4}.account-entry .eyebrow{line-height:1.5}.account-entry p{font-size:12px}.account-entry>.actions{width:100%;gap:8px}.account-entry>.actions a{flex:1;font-size:12px;padding:11px}.account-entry>.primary{font-size:12px}.account-meal-image{width:64px;height:64px}.account-settings{grid-template-columns:minmax(0,1fr);gap:0}.account-settings .primary{width:100%}.profile-header>.secondary{font-size:12px}.account-pagination{justify-content:center}.account-pagination .secondary{font-size:12px}.account-settings .panel h2{font-size:21px}}
