.topbar>div:first-child{min-width:0}
.topbar>div:last-child{flex-shrink:0}
.topbar .pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}
.avatar{flex-shrink:0}
.plan-heading{align-items:flex-start}
.plan-heading p{min-width:0}
.plan-heading .plain-link{white-space:nowrap;flex-shrink:0;padding-top:4px}
.estimate-option{cursor:pointer;margin:0;align-items:center;font-weight:400}
.estimate-option input[type=radio]{width:18px;height:18px;min-height:0;margin:0;flex-shrink:0;accent-color:var(--accent);padding:0}
.estimate-option>div{flex:1;min-width:0}
.estimate-option strong{white-space:nowrap}
.estimate-list{padding:4px;overflow-x:hidden;scrollbar-gutter:stable}
.estimate-option.selected{outline:none;box-shadow:inset 0 0 0 1px var(--accent)}
.estimate-option:focus-within{box-shadow:inset 0 0 0 2px var(--blue)}
.estimate-option input:focus-visible{outline:2px solid var(--blue);outline-offset:2px;box-shadow:none}
.local-info{position:relative;flex-shrink:0}
.local-tooltip{position:absolute;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 44px));padding:19px;border:1px solid var(--line);border-radius:14px;background:#fffdf8;box-shadow:0 8px 30px #25262220;z-index:30;font-size:14px;white-space:normal}
.local-tooltip p{margin-top:8px;color:var(--muted);font-size:13px}
.welcome{min-height:100vh;max-width:1150px;margin:auto;padding:42px 50px 50px}
.welcome .brand{font-size:44px;gap:0}
.welcome-content{max-width:920px;margin:75px auto 0}
.welcome h1{font-size:62px;letter-spacing:-2.5px;line-height:1.1;margin:20px 0 24px}
.welcome-summary{font-size:19px;max-width:570px}
.welcome-features{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin:45px 0}
.welcome-features>div{border-top:1px solid var(--line);padding-top:24px}
.welcome-features .icon{color:var(--accent);margin-bottom:16px;width:26px;height:26px}
.welcome-features h3{margin-bottom:10px}
.welcome-features p{color:var(--muted);font-size:15px}
.welcome-note{font-size:13px;margin-top:17px;max-width:430px}
.brand{gap:0}
.weight-input-row{display:grid;grid-template-columns:minmax(0,1fr) 85px;gap:8px}
.weight-input-row select{padding:12px 8px}
#stoneExtra{margin-top:12px}
#stoneExtra label{font-size:13px}
#weightConversion{margin-top:7px}
.loading-date-tabs button.is-today{background:#812e2d;color:#fff8f2;border:2px solid #812e2d;box-shadow:0 3px 10px #812e2d20}
.loading-date-tabs button.is-today span{color:#f1d9d4}
.loading-date-tabs button.is-today.active{background:#812e2d;color:#fff8f2;border-color:#812e2d;box-shadow:0 0 0 2px #f8f6f2,0 0 0 4px #b85236}
.breakfast-guide{display:grid;gap:18px;margin-top:24px}
.breakfast-guide>.secondary{justify-self:start}
.breakfast-guide p{font-size:14px}
.breakfast-ideas{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.breakfast-ideas>div{border-top:1px solid #dad5ca;padding-top:14px}
.breakfast-ideas p{color:var(--muted);margin-top:7px;font-size:13px}
@media(max-width:700px){
 .workspace{position:relative;padding-top:96px}
 .workspace .mobile-brand{display:flex;position:absolute;top:26px;left:30px;margin:0}
 .workspace .header-actions{position:absolute;right:30px;top:23px;margin:0}
 .header-actions .pill{min-width:43px;min-height:43px;justify-content:center;padding:11px}
 .local-label{display:none}
}
.loading-date-tabs{display:flex;gap:10px;margin:20px 0 0}
.loading-date-tabs button{flex:1;min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px 8px;display:grid;gap:5px;background:var(--card)}
.loading-date-tabs button span{font-size:12px;color:var(--muted)}
.loading-date-tabs button strong{font-size:14px}
.loading-date-tabs button.active{border-color:var(--accent);background:#f3e6df;color:var(--accent)}
.loading-date-tabs button.active:not(.is-today){background:#ead0d0;color:#6c2425;border-color:#b57b7d}
.loading-date-tabs button.active:not(.is-today) span{color:#7d4546}
.plan-big{grid-template-columns:1fr}
.field-grid>*{min-width:0}
form,.setup-form,.setup-main,.stack{min-width:0}
input,select{min-width:0;max-width:100%}
input[type=date]{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;text-align:left;overflow:hidden}
input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
input[type=date]::-webkit-datetime-edit{padding:0;min-width:0;max-width:100%;display:inline-flex}
button:disabled{opacity:.45;cursor:not-allowed}
.future-note{margin-top:14px}
.loading-countdown{margin-top:20px;display:grid;gap:22px;padding:35px}
.loading-countdown h2{font-size:32px;line-height:1.3;max-width:430px}
.loading-countdown .secondary{justify-self:start}
@media(max-width:700px){
 .topbar{align-items:flex-start;flex-wrap:wrap}
 .topbar>div:first-child{flex:1 1 200px}
 .topbar>div:last-child{margin-left:auto}
 .topbar .pill{font-size:12px;padding:8px 10px}
 .loading-countdown{padding:25px}
 .loading-countdown h2{font-size:28px}
 .log-actions{position:fixed;bottom:80px;left:18px;right:18px;z-index:6;background:#f8f6f2;padding:10px;margin:0;border-radius:18px;box-shadow:0 -4px 20px #25262212,0 4px 12px #2526220a}
 .log-actions button{font-size:14px;white-space:nowrap;padding:14px 12px;gap:8px}
 .workspace{padding-bottom:180px}
 #toast{bottom:153px;max-width:calc(100% - 44px);text-align:center}
 .progress-card .progress-body{flex-wrap:wrap}
 .loading-date-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .welcome{padding:26px}
 .welcome .brand{font-size:36px}
 .welcome-content{margin-top:45px}
 .welcome h1{font-size:42px;letter-spacing:-1.8px}
 .welcome-summary{font-size:17px}
 .welcome-features{grid-template-columns:1fr;gap:20px;margin:30px 0}
 .welcome-features>div{display:grid;grid-template-columns:28px 1fr;gap:0 16px;padding-top:18px}
 .welcome-features .icon{grid-row:1/3;margin:0}
 .welcome-features p{grid-column:2}
 .welcome .primary{width:100%}
 .workspace{padding-top:98px}
 .workspace .mobile-brand{top:24px;left:22px}
 .workspace .header-actions{top:22px;right:22px}
 .breakfast-ideas{grid-template-columns:1fr}
 .loading-date-tabs button strong{font-size:13px}
}
@media(max-width:380px){
 .ring{width:115px;height:115px}
 .progress-card{padding:20px}
 .logged-number{font-size:36px}
 .date-nav input{width:121px}
 .workspace{padding-left:18px;padding-right:18px}
}
@media(max-width:450px){.weight-field{grid-column:1/-1}}

.stock-up{margin-top:24px;display:grid;gap:18px}.stock-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stock-grid h3{margin-bottom:8px}.stock-up .source{margin:0}.recent-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:12px;text-align:left}.recent-item>div{min-width:0;overflow-wrap:anywhere}.recent-item>span{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:14px}.recent-item p{font-size:12px;margin-top:6px}.ios-install{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px;max-width:860px}.ios-install img{border-radius:12px;flex-shrink:0}.ios-install>div{min-width:0}.ios-install p{margin-top:8px}.ios-install .source{font-size:12px}.ios-install .close{flex-shrink:0}
@media(max-width:700px){.stock-grid{grid-template-columns:1fr}.ios-install{flex-wrap:wrap;padding:20px;position:relative}.ios-install>div{flex:1 1 210px}.ios-install .close{position:absolute;top:12px;right:12px}.ios-install img{margin-right:40px}.tabs button{font-size:13px;padding:10px 3px}.tabs{gap:2px}}

.storage-actions label.secondary{font-size:16px}
@media(max-width:700px){.loading-date-tabs button:last-child:nth-child(3){grid-column:1/-1}}

.setup-intro .brand{font-size:44px}.plain-link{font-size:14px}#editDayTarget{display:block;width:100%;text-align:left;margin-left:0;padding-left:0;padding-right:0}.source a{font-size:12px}.estimate-list{max-height:min(340px,45vh)}.log-for-date{margin-top:5px}#confirmDialog{width:min(440px,calc(100vw - 28px));padding:28px}#confirmDialog[open]{display:grid;gap:20px}#confirmTitle,#confirmMessage{margin:0}#confirmMessage{line-height:1.6}.confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:4px}.confirm-actions button{flex:1;padding-left:14px;padding-right:14px}.primary.destructive{background:#812e2d}.primary.destructive:hover{background:#6c2425}
@media(max-width:700px){.setup-intro .brand{font-size:36px}#gender{width:100%}.field-grid>div:has(>label[for="name"]),.field-grid>div:has(>label[for="gender"]),.field-grid>.weight-field{grid-column:1/-1}.welcome .ios-install{margin-bottom:32px}#confirmDialog{padding:24px}}

.preference-indicator{width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.choice.selected .preference-indicator::after{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}.timeline-item>div{min-width:0}.timeline-item>strong{white-space:nowrap;flex-shrink:0}

.meal-ideas h2{margin:10px 0}.meal-idea-list{display:grid;gap:16px;margin-top:20px}.meal-idea{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;border-top:1px solid #ded9ce;padding-top:16px}.meal-idea h3{font-size:16px}.meal-idea p{margin-top:6px}.meal-idea>strong{white-space:nowrap}.meal-idea>.plain-link{grid-column:1/-1;justify-self:start;padding-left:0}.empty-log-link{display:inline;padding:0;font:inherit;color:inherit;vertical-align:baseline}.empty-log-link:hover{color:#812e2d}
@media(max-width:700px){#profileForm .field-grid>div:has(>label[for="race"]),#profileForm .field-grid>div:has(>label[for="date"]){grid-column:1/-1}}
.meal-ideas{margin-top:24px}

#profileForm .field-grid>div:has(>label[for="name"]){grid-column:1/-1}

.plan-race-details{display:grid;gap:4px;min-width:0}.ring-completed .ring-label>span{color:#303a2c;font-weight:700}.ring-completion{position:absolute;left:50%;top:0;transform:translateX(-50%);width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#303a2c;color:#fff;border:3px solid #efede7}.ring .ring-completion svg{position:static;width:18px;height:18px;transform:none}
.workspace{margin:0 auto;align-self:start}
.plan-race-details>span:first-child{font-family:Manrope,sans-serif;font-size:20px;font-weight:700;color:#252622;line-height:1.35}
.plan-race-details>span:last-child{font-size:14px;font-weight:400;color:var(--muted)}

.rate-help{display:grid;gap:10px;margin:18px 0;padding:18px;border:1px solid var(--line);border-radius:12px}.rate-help h3{font-size:14px}.rate-help p{font-size:14px;color:var(--muted);line-height:1.6}.rate-help strong{color:#252622}.rate-total{margin-top:12px}.plan-rate{font-weight:600;color:#252622;margin-bottom:8px}

.plan-big .big>.small{letter-spacing:normal;word-spacing:normal}

.welcome-brand-dot{color:#812e2d}

.brand .beta-badge{display:inline-flex;align-items:center;align-self:baseline;transform:translateY(-5px);margin-left:8px;padding:3px 6px;border:1px solid #812e2d30;border-radius:5px;background:#812e2d0a;color:#812e2d;font-size:10px;font-weight:600;letter-spacing:0;line-height:1;white-space:nowrap}

.brand{align-items:baseline}

.loading-reminder{margin:0;border-left:3px solid var(--accent);padding:4px 0 4px 16px}
