@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#101310;--panel:#191d19;--panel2:#202620;--line:#30382f;--text:#f1f4ec;--muted:#a4aea0;--green:#bcf568;--ink:#17220d}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:4px}button{border:0}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}h1{font-size:clamp(28px,3.4vw,42px);letter-spacing:-1.7px;line-height:1.2}h2{font-size:21px;letter-spacing:-.5px}h3{font-size:17px}small,.muted{color:var(--muted)}small{font-size:13px}.shell{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:244px;border-right:1px solid var(--line);padding:31px 20px;background:#141814;display:flex;flex-direction:column;z-index:20}.brand{font-weight:800;font-size:37px;letter-spacing:-2px;display:flex;align-items:center;gap:10px;padding:0 12px}.brand-mark{width:28px;height:28px;background:var(--green);clip-path:polygon(0 45%,45% 45%,45% 0,100% 0,100% 55%,55% 55%,55% 100%,0 100%)}.nav{margin-top:42px;overflow:auto}.nav details{margin-bottom:18px}.nav summary{list-style:none;padding:8px 12px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:12px}.nav summary::after{content:'⌄';margin-left:auto;color:var(--muted)}.nav a{display:block;margin:3px 0;padding:9px 12px 9px 42px;font-size:14px;color:var(--muted);border-radius:8px}.nav a:hover{background:var(--panel2);color:white}.nav a.active{background:#29371e;color:var(--green)}.account{margin-top:auto;border-top:1px solid var(--line);padding:20px 8px 0;display:flex;gap:10px;align-items:center}.avatar{background:#343e2f;color:#d7e4ca;border-radius:50%;display:grid;place-items:center;width:38px;height:38px;font-weight:700}.main{grid-column:2;padding:0 44px 44px;max-width:1600px;width:100%;margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;height:86px;border-bottom:1px solid var(--line);gap:10px}.breadcrumb{font-size:14px;color:var(--muted)}.top-actions{display:flex;align-items:center;gap:16px}.pill{border:1px solid var(--line);border-radius:30px;padding:6px 12px;font-size:13px;display:inline-flex;gap:6px;align-items:center}.demo{color:var(--green);background:#26321d;border-color:#344529}.menu-button{display:none;background:none;color:white;font-size:25px}.page-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:34px 0 26px}.eyebrow{font-size:12px;letter-spacing:1.7px;text-transform:uppercase;color:var(--green);font-weight:700;margin-bottom:9px}.subtitle{color:var(--muted);margin-top:10px;font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--green);color:var(--ink);padding:12px 19px;border-radius:9px;font-weight:700;font-size:14px;white-space:normal;max-width:100%;overflow-wrap:anywhere;min-width:0;min-height:44px}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:var(--panel2);color:var(--text);border:1px solid var(--line)}.btn.ghost{background:transparent;color:var(--muted);padding:9px}.btn:disabled{opacity:.45;cursor:not-allowed}.week{display:grid;grid-template-columns:repeat(7,1fr);gap:9px;margin-bottom:28px}.day{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 5px;color:var(--muted);display:grid;gap:3px;justify-items:center}.day strong{font-family:Manrope;font-size:21px;color:var(--text)}.day.selected{background:var(--green);border-color:var(--green);color:var(--ink)}.day.selected strong{color:var(--ink)}.day .dot{height:4px;width:4px;border-radius:50%;background:currentColor;margin-top:3px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:24px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:23px}.workout-banner{background:linear-gradient(110deg,#293923,#1d291c);border:1px solid #3c5030;border-radius:16px;padding:25px;display:flex;align-items:center;justify-content:space-between;gap:18px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.tag{font-size:12px;padding:4px 8px;border-radius:5px;background:#ffffff09;color:#bfccb6}.ring{width:80px;height:80px;border-radius:50%;background:conic-gradient(var(--green) var(--pct),#3b4a33 0);padding:6px;flex-shrink:0}.ring-inner{border-radius:50%;height:100%;background:#24311f;display:grid;place-content:center;text-align:center;font-size:19px;font-weight:700}.ring-inner small{font-size:11px;font-weight:400}.section-line{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 14px}.exercise{display:flex;gap:14px;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:11px;align-items:center}.exercise-icon{width:45px;height:45px;display:grid;place-items:center;background:#272e24;color:#bad9a0;border-radius:10px;flex-shrink:0}.exercise-body{min-width:0;flex:1}.exercise-body h3{font-size:15px;margin-bottom:4px}.exercise-body p{font-size:13px;color:var(--muted)}.exercise .btn{padding:9px 12px;min-height:40px}.number{font-size:12px;color:var(--muted);margin-right:5px}.side-stack{display:grid;gap:16px;align-content:start}.streak{font-size:44px;font-family:Manrope;font-weight:800;letter-spacing:-2px}.accent{color:var(--green)}.weekdots{display:flex;justify-content:space-between;margin-top:19px}.weekdots span{display:grid;gap:8px;justify-items:center;font-size:12px;color:var(--muted)}.weekdots b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#30382d;color:var(--muted);font-size:12px}.weekdots b.yes{color:var(--ink);background:var(--green)}.progress{height:6px;background:#333e2d;border-radius:6px;overflow:hidden;margin:14px 0 8px}.progress i{height:100%;display:block;background:var(--green);border-radius:6px}.card-label{font-size:13px;color:var(--muted);margin-bottom:10px}.stat-row{display:flex;gap:12px;align-items:center}.stat-icon{width:43px;height:43px;border-radius:12px;display:grid;place-items:center;background:#303a21;color:var(--green);font-size:22px}.note{font-size:13px;color:var(--muted);margin-top:16px}.completed summary{padding:16px 0;color:var(--muted);cursor:pointer}.completed .exercise{opacity:.7}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-value{font-family:Manrope;font-size:31px;font-weight:800;letter-spacing:-1px}.stat-value span{font-family:'DM Sans';font-size:14px;font-weight:400;color:var(--muted);letter-spacing:0}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);padding:9px 16px;border-radius:30px;font-size:14px}.chip.active{background:var(--green);color:var(--ink);border-color:var(--green)}input,select,textarea{width:100%;padding:12px;border:1px solid #43503d;border-radius:8px;background:#101710;color:white;min-width:0}input[type=checkbox]{width:21px;height:21px;accent-color:var(--green)}label{font-size:14px;color:#c9d1c4;display:grid;gap:7px;margin:14px 0}dialog{background:#1b211a;color:var(--text);border:1px solid #4b5c41;border-radius:18px;width:min(560px,calc(100% - 28px));padding:28px;max-height:90vh}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.modal-head button{background:none;color:var(--muted);font-size:25px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sets-row{display:grid;grid-template-columns:45px 1fr 1fr;gap:10px;align-items:center;margin:10px 0}.sets-row span{color:var(--muted);text-align:center;font-size:14px}.modal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:22px}.empty{padding:46px 24px;text-align:center}.empty p{color:var(--muted);margin:10px 0 20px}.list-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:17px 0}.list-row:last-child{border:0}.badge-icon{font-size:29px;background:#303a21;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;margin-bottom:20px}.locked{opacity:.55}.meal-option{padding:15px;border:1px solid var(--line);border-radius:10px;margin-top:13px}.meal-option.checked{border-color:#91bc52;background:#283420}.meal-option label{display:flex;align-items:center;justify-content:space-between;margin:0;font-weight:600}.macro{font-size:12px;color:var(--muted);margin-top:10px}.meal-option p{font-size:14px;color:#bcc6b6;margin-top:6px}.bar-chart{display:flex;height:140px;align-items:flex-end;gap:13px;margin:25px 0}.bar-chart div{flex:1;text-align:center;color:var(--muted);font-size:12px}.bar-chart i{display:block;background:#536a3e;border-radius:6px 6px 0 0;margin-bottom:9px;min-height:4px}.bar-chart div:last-child i{background:var(--green)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:13px 20px;border-radius:10px;background:var(--green);color:var(--ink);font-weight:600;z-index:60;display:none;max-width:90%;box-shadow:0 8px 40px #0006}.overlay{display:none}.mobile-brand{display:none}.notice{font-size:13px;color:var(--muted);border-bottom:1px solid var(--line);padding:10px 0}.notice strong{color:#c5daaf}.shoe{font-size:14px;color:var(--muted);margin-top:12px}.success{border-color:var(--green);background:#26361c}.search{margin-bottom:18px}.days-editor{display:flex;gap:6px;flex-wrap:wrap}.photo-thumb{width:45px;height:45px;object-fit:cover;border-radius:8px}
@media(min-width:1500px){.main{padding-left:65px;padding-right:65px}}@media(max-width:1120px){.layout{grid-template-columns:minmax(0,1fr)}.side-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.side-stack .card:last-child{grid-column:1/-1}.main{padding:0 26px 30px}.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:transform .2s;width:270px}.sidebar.open{transform:translateX(0)}.overlay.show{display:block;position:fixed;inset:0;background:#0008;z-index:19}.main{padding:0 18px 35px}.topbar{height:70px}.menu-button{display:block}.breadcrumb{display:none}.mobile-brand{display:flex;font-size:28px;padding:0}.mobile-brand .brand-mark{width:21px;height:21px}.top-actions{gap:8px}.top-actions>.pill:not(.demo){display:none}.page-head{padding-top:26px;align-items:flex-start}.page-head>.btn{padding:10px 12px;font-size:12px}.subtitle{font-size:14px}.week{gap:5px;margin-bottom:20px}.day{padding:10px 2px;border-radius:9px;font-size:12px}.day strong{font-size:18px}.workout-banner{padding:20px}.workout-banner h2{font-size:19px}.ring{width:66px;height:66px}.exercise{gap:10px;padding:14px 12px}.exercise-icon{width:37px;height:40px}.exercise-body h3{font-size:14px}.exercise .btn{font-size:12px;padding:8px}.side-stack,.grid2,.grid3{grid-template-columns:1fr}.side-stack .card:last-child{grid-column:auto}.stats-grid{gap:8px}.stats-grid .card{padding:15px 11px}.stat-value{font-size:25px}.card-label{font-size:12px}.card{padding:20px}.notice{font-size:12px}.form-row{gap:10px}h1{letter-spacing:-1px}.section-line h2{font-size:19px}.account{margin-top:15px}}
.health-context{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;margin-bottom:22px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.health-context small{font-size:11px;letter-spacing:1.5px}.inline-label{margin:0;min-width:180px}.measure-section{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.measure-section summary{cursor:pointer;font-weight:600;padding:7px 0}.toggle-label{display:flex;align-items:center;gap:12px}.weight-chart{margin:25px 0 10px}.weight-chart svg{width:100%;height:auto;display:block}.weight-chart figcaption{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--muted)}.last-injection{background:linear-gradient(110deg,#293923,#1d291c);border-color:#3c5030}.health-context h3{margin-top:3px}@media(max-width:500px){.health-context{align-items:flex-start;flex-direction:column}.inline-label{width:100%}.list-row .btn{padding:9px 11px;font-size:12px}.last-injection .stats-grid{grid-template-columns:1fr;gap:22px}}
.profile-hero{display:flex;gap:24px;align-items:center}.profile-hero.compact{gap:14px}.profile-avatar{object-fit:cover;flex-shrink:0;border-radius:50%;width:94px;height:94px;border:2px solid #506339}.profile-avatar.small{width:48px;height:48px}.profile-avatar.tiny{width:38px;height:38px}.avatar-fallback{background:#2c3921;color:var(--green);display:grid;place-items:center;font-weight:800;font-size:30px}.avatar-fallback.tiny{font-size:17px}.private-strip{border:1px solid #425736;background:#25341e;border-radius:12px;padding:18px;margin-bottom:22px;color:#d5e9bf}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.photo-card{padding:0;overflow:hidden}.photo-card>img{width:100%;height:310px;object-fit:contain;background:#0c0f0c;display:block}.photo-card>div{padding:18px}.relation-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.calendar-weekday{text-align:center;color:var(--muted);font-size:13px;padding:10px 0}.calendar-cell{border:1px solid var(--line);border-radius:10px;min-height:80px;background:var(--panel2);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.calendar-cell small{font-size:11px;min-height:16px}.calendar-cell.outside{opacity:.4}.calendar-cell.is-today{border-color:var(--green)}.calendar-cell.selected{background:var(--green);color:var(--ink)}.calendar-cell.selected small{color:var(--ink)}.event-check{display:flex;align-items:center;gap:8px;margin:0;font-size:13px}.daily-agenda{margin-bottom:24px;border-color:#4a6236}.sidebar .nav{flex:1;min-height:0}.account strong{font-size:14px}.account>div{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.photo-grid{grid-template-columns:1fr 1fr}.photo-card>img{height:230px}.calendar-grid{gap:4px}.calendar-cell{min-height:62px;border-radius:6px;gap:3px}.calendar-cell small{font-size:9px}.profile-hero{gap:16px}.profile-avatar{width:70px;height:70px}.relation-actions{max-width:140px}.calendar-grid+.note{font-size:12px}}@media(max-width:430px){.photo-grid{grid-template-columns:1fr}.photo-card>img{height:340px}.calendar-cell small{font-size:9px;letter-spacing:-.3px}.calendar-weekday{font-size:12px}.profile-hero h2{overflow-wrap:anywhere}}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:100%;max-width:460px;padding:32px}.auth-card .brand{padding:0}.auth-card h1{font-size:30px}.auth-card form{margin-top:24px}.auth-card form>.btn{width:100%}.auth-links{display:flex;justify-content:space-between;margin:12px 0}.auth-card>a.btn{margin-top:20px;width:100%}.notice .btn{min-height:30px;font-size:12px;padding:5px 8px}.notice{display:flex;align-items:center;gap:8px;flex-wrap:wrap}

.step-icon{width:22px;height:22px;display:inline-block;vertical-align:middle;flex-shrink:0}.public-shell{max-width:800px;padding:32px 20px;margin:auto}.public-link{display:block;overflow-wrap:anywhere;margin-top:8px}.install-mark{display:flex;gap:20px;align-items:center}.install-mark img{border-radius:20px}.profile-hero{overflow-wrap:anywhere}.relation-actions{flex-wrap:wrap}.public-shell .stats-grid{gap:20px}.public-shell h1{overflow-wrap:anywhere}@media(display-mode:standalone){.topbar{padding-top:max(16px,env(safe-area-inset-top))}.main{padding-bottom:max(32px,env(safe-area-inset-bottom))}}

.nutrition-targets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.nutrition-targets .stat-value{font-size:30px}@media(max-width:650px){.nutrition-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.top-actions .btn{padding:8px;font-size:12px}.top-actions{flex-wrap:wrap}}

@media(max-width:600px){.account-access-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}.account-access-actions .btn{width:100%}}

/* Reusable workouts and the illustrated exercise catalog. */
.workout-choice{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 22px;padding:18px 20px;border:1px solid var(--line);border-radius:12px}.workout-choice small{font-size:12px}.workout-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.workout-item>div:first-child{min-width:0}.workout-item small{display:block;margin-top:5px}.workout-days{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.workout-days label{display:flex;align-items:center;gap:10px;margin:0;border:1px solid var(--line);padding:12px;border-radius:9px}.workout-days input{flex-shrink:0}.workout-days small,.workout-picker small{display:block;font-size:12px;font-weight:400;margin-top:3px}.workout-picker{display:grid;gap:12px}.workout-picker button{justify-content:flex-start;text-align:left}.exercise-title{padding:0;background:none;color:var(--text);text-align:left;font-weight:700;overflow-wrap:anywhere}.exercise-title>span:last-child{color:var(--green)}.exercise-preview{width:68px;flex-shrink:0;padding:0;background:transparent;border-radius:8px;overflow:hidden}.exercise-preview svg{display:block;width:100%;height:auto}.guide-card-button{display:block;background:none;color:var(--text);padding:0;width:100%;text-align:left}.guide-card-button>svg{width:100%;height:155px;display:block;margin-bottom:18px}.guide-card-button h3{margin-top:12px}.guide-link{display:block;font-size:13px;margin-top:14px;color:var(--green)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.guide-grid figure{margin:0;min-width:0}.guide-grid svg{width:100%;height:220px;display:block;background:#151d14;border-radius:14px}.guide-grid figcaption{font-size:12px;color:var(--muted);margin-top:9px}.exercise-guide p{font-size:14px;margin-top:9px}.guide-disclosure{margin:16px 0;padding:12px 0;border-block:1px solid var(--line)}.guide-disclosure summary{cursor:pointer;color:var(--green);font-size:14px}.guide-unavailable{min-height:220px;display:grid;place-content:center;font-size:14px;color:var(--muted);text-align:center}.workout-choice h2{overflow-wrap:anywhere}.weekly-preview{padding:12px;border-radius:8px;background:var(--panel2);font-size:13px;color:var(--green)}
@media(max-width:600px){.workout-item{align-items:flex-start;flex-direction:column}.workout-item .workout-actions{width:100%}.workout-choice{align-items:flex-start;flex-direction:column}.workout-choice .btn{width:100%}.exercise-preview{width:46px}.exercise{flex-wrap:wrap}.exercise-body{flex-basis:calc(100% - 66px)}.exercise>.btn{margin-left:auto;min-width:110px}.card>.section-line{flex-wrap:wrap}.guide-grid{gap:8px}.guide-grid svg{height:180px}.workout-days{grid-template-columns:1fr}.page-head{flex-wrap:wrap}}
.load-context{padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);margin:16px 0;font-size:13px}.load-context p+p{margin-top:8px}.load-context small{display:block;margin-top:9px}#referenceFields[hidden]{display:none}

/* Keep mobile forms at readable size without triggering iOS focus zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.main,.auth-card,.layout>*{min-width:0}
@media(max-width:760px){
  input,select,textarea{font-size:16px}
  .stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stats-grid>.card{min-width:0;overflow-wrap:anywhere}
  .auth-shell{min-height:100svh}
  .auth-card{padding:24px;overflow-wrap:anywhere}
  .auth-links{flex-wrap:wrap;gap:8px}
  .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sets-row{grid-template-columns:45px minmax(0,1fr) minmax(0,1fr)}
}

/* Disable accidental double-tap zoom while retaining pinch zoom and scrolling. */
html{touch-action:manipulation}

.nav .home-nav{display:flex;align-items:center;gap:14px;padding:16px 14px;margin-bottom:8px;color:var(--text);font-weight:700;text-decoration:none;border-radius:12px}.nav .home-nav.active{background:#bcf56818;color:#bcf568}

.feed-list{max-width:760px;margin:auto}.feed-post{margin-bottom:24px;overflow:hidden}.feed-author{display:flex;align-items:center;gap:12px;margin-bottom:18px}.feed-author>div:nth-child(2){flex:1;min-width:0}.feed-author small{display:block;color:var(--muted);overflow-wrap:anywhere}.feed-photo,.post-preview{width:100%;height:auto;border-radius:16px;display:block}.post-preview[hidden]{display:none}.feed-caption,.comment p{white-space:pre-wrap;overflow-wrap:anywhere}.reaction-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.reaction-row .chip{padding:8px 10px}.feed-toolbar{margin-bottom:24px}.share-summary{background:linear-gradient(145deg,#2b3920,#111510);padding:28px;border-radius:16px}.share-summary h2{font-size:24px;margin-top:24px}.settings-actions{display:grid;gap:12px}.tag-friends{border:1px solid #35402f;border-radius:14px;margin:20px 0}.tag-friends label{display:flex;align-items:center;gap:10px}.tag-friends input{width:auto}.comment{padding:16px 0;border-bottom:1px solid #30372e}.comment small{color:var(--muted)}.feed-comments{max-height:45vh;overflow:auto}.feed-photo{max-height:800px;object-fit:contain}
.post-preview{max-height:52vh;width:auto;max-width:100%;margin:12px auto}
/* Community navigation stays quiet while the stories take the screen. */
.community-heading{display:flex;align-items:center;justify-content:space-between;padding:28px 0 22px}.community-heading h1{font-size:30px}.feed-tabs{display:flex;position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line);transition:transform .2s,opacity .2s;margin-bottom:20px;padding-top:env(safe-area-inset-top,0px)}.feed-tabs button{flex:1;background:none;color:var(--muted);min-height:54px;font-weight:700;position:relative}.feed-tabs button.selected{color:var(--text)}.feed-tabs button.selected:after{content:'';position:absolute;bottom:0;height:4px;border-radius:4px;width:48px;background:var(--green);left:calc(50% - 24px)}.feed-tabs-hidden{transform:translateY(-110%);opacity:0;pointer-events:none}.feed-compose{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:15;border-radius:50%;width:66px;height:66px;background:var(--green);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:5px;font-size:27px;box-shadow:0 5px 24px #0005}.feed-compose .brand-mark{background:var(--ink);width:25px;height:25px}.feed-bottom-actions{margin:20px 0 90px}.post-details{margin:18px 0;border-block:1px solid var(--line);padding:14px 0}.post-details summary{cursor:pointer;color:var(--muted);font-weight:600}.settings-stack{display:grid;gap:18px;max-width:760px}.settings-actions,.sync-settings{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:18px}.sync-settings>strong{width:100%}.profile-posts{margin-top:32px}.notification-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--panel);color:var(--text);border-bottom:1px solid var(--line);padding:22px 18px}.notification-row small{display:block;margin-top:6px}.notification-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:transparent}.notification-row.unread .notification-dot{background:var(--green)}.notification-row.unread{background:var(--panel2)}.notification-count:not(:empty),#notificationCount:not(:empty){font-size:12px;color:var(--ink);background:var(--green);border-radius:20px;padding:2px 6px}.feed-post{max-width:720px;width:100%}.profile-posts .feed-list{margin:0}.post-preview[hidden]{display:none}
:root[data-theme=light]{color-scheme:light;--bg:#f5f7f1;--panel:#fff;--panel2:#eaf0e4;--line:#cbd5c3;--text:#192318;--muted:#53634d;--green:#467516;--ink:#fff}
[data-theme=light] .sidebar,[data-theme=light] dialog{background:var(--panel)}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:var(--panel);color:var(--text);border-color:var(--line)}[data-theme=light] label,[data-theme=light] .menu-button,[data-theme=light] .tag,[data-theme=light] .meal-option p{color:var(--text)}[data-theme=light] .nav a.active,[data-theme=light] .success,[data-theme=light] .meal-option.checked,[data-theme=light] .private-strip,[data-theme=light] .workout-banner,[data-theme=light] .last-injection,[data-theme=light] .ring-inner{background:var(--panel2);color:var(--text)}[data-theme=light] .nav a:hover{color:var(--text)}[data-theme=light] .share-summary{background:#eaf0e4}[data-theme=light] .avatar-fallback,[data-theme=light] .stat-icon,[data-theme=light] .badge-icon{background:#e3edd8}[data-theme=light] .tag{background:var(--panel2)}
@media(prefers-reduced-motion:reduce){.feed-tabs{transition:none}}

[data-theme=light] .notice strong{color:var(--muted)}[data-theme=light] .demo{background:var(--panel2);color:var(--green)}
/* Feed interactions: one reaction control and optional, threaded conversation. */
.feed-caption{margin-top:18px;margin-bottom:8px}.post-interactions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.reaction-wrap{position:relative}.like-control{display:flex;align-items:stretch}.like-main,.reaction-more{min-height:44px;background:transparent;color:var(--muted);font-weight:600}.like-main{padding:8px 8px 8px 0;display:flex;align-items:center;gap:7px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:pan-y}.like-main.reacted{color:var(--green)}.reaction-more{padding:8px 10px}.reaction-picker{position:absolute;bottom:calc(100% + 4px);left:-8px;display:flex;gap:2px;padding:7px;border-radius:18px;background:var(--panel2);border:1px solid var(--line);box-shadow:0 8px 24px #0005;z-index:12;width:max-content;max-width:calc(100vw - 64px)}.reaction-picker[hidden]{display:none}.reaction-picker button{background:none;color:var(--text);padding:6px 4px;min-width:45px;font-size:24px;display:grid;justify-items:center;gap:3px;border-radius:10px}.reaction-picker button:hover,.reaction-picker button:focus-visible{background:var(--panel);transform:translateY(-3px)}.reaction-picker small{font-size:10px}.reaction-total{font-size:12px;color:var(--muted);margin-top:0}.post-comments-button{padding-right:0!important}.comment-actions{display:flex;gap:4px;flex-wrap:wrap;margin-top:4px}.comment-actions .btn{padding:7px 9px;min-height:40px;font-size:12px}.comment-actions .btn.secondary{background:transparent;border:0;color:var(--muted)}.comment-actions .accent{color:var(--green)}.comment p{margin:9px 0}.reply-context{display:block;margin-top:7px}.thread-parent{border-left:3px solid var(--green);padding-left:13px}.thread-parent .comment{padding-top:8px}#commentComposerSlot{padding-top:15px;border-top:1px solid var(--line);margin-top:12px}.feed-comments{max-height:48vh;overflow:auto;overscroll-behavior:contain}.feed-viewport{overflow:hidden;position:relative;touch-action:pan-y;overscroll-behavior-x:none;min-height:240px}.feed-track{display:flex;width:200%;align-items:flex-start;transition:transform .26s cubic-bezier(.2,.75,.25,1)}.feed-panel{flex:0 0 50%;min-width:0;height:0;overflow:hidden;visibility:hidden}.feed-panel.current,.feed-viewport.sliding .feed-panel{height:auto;visibility:visible}.feed-panel .feed-list{padding:0 2px}.feed-tabs{touch-action:pan-y}.feed-photo{aspect-ratio:4/5;object-fit:contain;background:var(--panel2)}
@media(prefers-reduced-motion:reduce){.feed-track{transition:none}.reaction-picker button{transition:none}}

.feed-viewport.sliding .feed-track{will-change:transform}

.profile-header-actions{display:flex;align-items:center;gap:8px}.settings-gear{width:44px;height:44px;padding:10px;display:grid;place-items:center}.settings-gear svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.achievement-filters{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.achievement-card small{display:block}.achievement-card .tag{margin-bottom:14px}.achievement-sources{margin:20px 0}.danger-action{color:#ffa7a7!important}.legal-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.legal-links a{text-decoration:underline}.legal-page{max-width:760px;margin:auto;padding:32px 22px;line-height:1.7}.legal-page h2{margin-top:28px}.legal-page p,.legal-page li{color:var(--muted,#a1a99b)}

[data-gender-description][hidden]{display:none!important}

.award-explainer{margin:16px 0 24px}.distance-explainer summary,.award-explainer summary{color:var(--muted,#a1a99b);cursor:pointer;font-size:14px}.achievement-card h2{font-size:20px}
/* Social identity and inline conversations */
.social-author-link{display:flex;align-items:center;gap:10px;background:none;border:0;color:inherit;text-align:left;padding:0;cursor:pointer;min-width:0;font:inherit}.social-author-link>span:last-child{min-width:0}.social-author-link strong,.social-author-link small{display:block;overflow-wrap:anywhere}.social-author-link small{color:var(--muted);font-size:12px}.social-author-link:hover strong{text-decoration:underline}.social-avatar-name{display:flex;align-items:center;justify-content:center;max-width:82px;min-width:44px;min-height:44px;padding:5px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font-size:10px;overflow-wrap:anywhere}.feed-author{flex-wrap:wrap}.feed-author .social-author-link{flex:1}.feed-author-time{display:flex;flex-direction:column;font-size:11px;color:var(--muted)}button.reaction-total{border:0;background:none;color:var(--muted);cursor:pointer;text-align:left;padding:8px 0;font:inherit;font-size:13px}.comment-thread{border-bottom:1px solid var(--line);padding-bottom:12px}.comment-thread>.comment{border-bottom:0}.comment-replies{margin-left:24px;border-left:2px solid var(--line);padding-left:12px}.comment-replies .comment{font-size:.9em;padding:12px 0}.comment-replies .profile-avatar{width:30px;height:30px}.comment-replies .comment-actions .btn{font-size:11px;padding:6px}.replies-toggle{margin-left:24px;font-size:12px}.reaction-people .list-row{gap:12px}.reaction-people .social-author-link{flex:1}.reaction-people .list-row>span{white-space:nowrap}@media(max-width:560px){.feed-author-time{display:none}.comment-replies{margin-left:16px;padding-left:10px}}

.social-avatar-name{flex-shrink:0;max-width:90px}.comment-replies .social-avatar-name{font-size:9px}.comment-replies .comment p{font-size:14px}.comment-thread>.comment p{margin-top:10px;font-size:16px}.comment-replies .comment{border-bottom:0}
.home-feed-card{margin-top:20px}.person-page .profile-hero{margin-bottom:24px}.person-page .profile-avatar{width:88px;height:88px}.private-profile-message{text-align:center;border-top:1px solid var(--line);padding:42px 10px 24px;color:var(--muted)}.private-profile-message>span{font-size:36px}.step-back{font-size:32px;padding:0 12px;min-width:44px;line-height:1}.step-menu-open .overlay{touch-action:none;overscroll-behavior:none}.step-menu-open .main{pointer-events:none}.sidebar,.sidebar .nav{overscroll-behavior:contain}.step-edge-drag{user-select:none;-webkit-user-select:none}.step-edge-drag .main,.step-edge-drag dialog{will-change:transform;transition:none!important}
.follow-requests-notice{margin-bottom:24px}.follow-requests-notice p{margin:12px 0}.follow-row{gap:16px}.follow-row .social-author-link{flex:1}.follow-row .relation-actions{max-width:none}.block{display:block}.person-page>.btn{margin-bottom:16px}@media(max-width:560px){.follow-row{align-items:flex-start;flex-direction:column}.follow-row .relation-actions{justify-content:flex-start}.follow-row .btn{font-size:12px}}

.avatar-fallback{overflow:hidden;color:var(--muted)}.avatar-fallback svg{display:block;width:85%;height:85%;align-self:end}
