:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-background:#000;--color-surface:#0a0a0a;--color-surface-hover:#171717;--color-text-primary:#ededed;--color-text-secondary:#939393;--color-accent:#fff;--color-on-accent:#000;--color-border:#2f2f2f;--color-backdrop:#000000bf;--color-success:var(--color-text-primary);--color-warning:var(--color-text-secondary);--color-error:var(--color-text-primary);--font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--type-display:600 3rem / 1.05 var(--font-family);--type-h1:600 2rem / 1.15 var(--font-family);--type-h2:600 1.375rem / 1.3 var(--font-family);--type-h3:600 1.125rem / 1.4 var(--font-family);--type-body:400 1rem / 1.6 var(--font-family);--type-small:400 .875rem / 1.5 var(--font-family);--type-caption:600 .75rem / 1.5 var(--font-family);--type-metric:600 2.5rem / 1.1 var(--font-family);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--radius-small:.75rem;--radius-card:1.5rem;--tap-target:3rem;--content-width:30rem}.ui-button{min-height:var(--tap-target);padding:var(--space-3) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-small);background:var(--color-surface);color:var(--color-text-primary);font:var(--type-small);cursor:pointer;font-weight:600}.ui-button:hover:not(:disabled){background:var(--color-surface-hover)}.ui-button:disabled{opacity:.65;cursor:wait}.ui-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.ui-card{padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card)}.ui-button--primary{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.ui-button--primary:hover:not(:disabled){background:var(--color-text-primary)}.ui-field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.ui-field label{font:var(--type-small);font-weight:600}.ui-input{width:100%;min-width:0;min-height:var(--tap-target);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-3) var(--space-4);background:var(--color-background);color:var(--color-text-primary);font:var(--type-body)}.ui-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-input::placeholder{color:var(--color-text-secondary)}.ui-input:disabled{opacity:.65}.ui-field-hint{color:var(--color-text-secondary);font:var(--type-small)}.ui-bottom-sheet{width:100%;max-width:var(--content-width);border:1px solid var(--color-border);border-radius:var(--radius-card) var(--radius-card) 0 0;background:var(--color-background);max-height:90svh;color:var(--color-text-primary);overscroll-behavior:contain;margin:0 auto;padding:0;position:fixed;inset:auto 0 0;overflow-y:auto}.ui-bottom-sheet::backdrop{background:var(--color-backdrop)}.ui-sheet-header{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-background);border-bottom:1px solid var(--color-border);display:flex;position:sticky;top:0}.ui-sheet-header h2{font:var(--type-h2)}.ui-sheet-header button{min-width:var(--tap-target);padding-inline:var(--space-3)}.ui-sheet-content{padding:var(--space-5);padding-bottom:max(var(--space-5), env(safe-area-inset-bottom))}.ui-bottom-sheet{scroll-padding-block-start:6rem}.ui-skeleton{background:var(--color-surface);border-radius:var(--radius-small);position:relative;overflow:hidden}@media (prefers-reduced-motion:no-preference){.ui-skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--color-surface-hover), transparent);animation:1.4s ease-in-out infinite ui-skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}}@keyframes ui-skeleton-shimmer{to{transform:translate(100%)}}*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-text-primary);font:var(--type-body);margin:0}button,a,select,label,input,textarea{-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}.app-shell{width:100%;max-width:var(--content-width);min-height:100svh;padding:max(var(--space-5), env(safe-area-inset-top)) max(var(--space-5), env(safe-area-inset-right)) max(var(--space-5), env(safe-area-inset-bottom)) max(var(--space-5), env(safe-area-inset-left));flex-direction:column;margin-inline:auto;display:flex}.app-header{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.brand{font:var(--type-h2);letter-spacing:-.06em;color:var(--color-text-primary);text-decoration:none}.brand img{max-width:8rem;max-height:var(--tap-target);display:block}.edition{color:var(--color-text-secondary);font:var(--type-caption)}.welcome{padding-block:var(--space-7)}.eyebrow{color:var(--color-accent);font:var(--type-caption);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--space-4)}h1{font:var(--type-display);letter-spacing:-.055em;text-wrap:balance;overflow-wrap:anywhere;max-width:10ch}.intro{color:var(--color-text-secondary);margin-top:var(--space-5);max-width:27ch}.card-mark{width:var(--tap-target);height:var(--tap-target);border-radius:var(--radius-small);background:var(--color-accent);color:var(--color-on-accent);font:var(--type-h2);margin-bottom:var(--space-5);place-items:center;display:grid}h2{font:var(--type-h2);letter-spacing:-.025em}.ui-card p{color:var(--color-text-secondary);font:var(--type-small);margin-top:var(--space-3)}.empty-state{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-secondary);font:var(--type-small)}.connection{align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font:var(--type-small);display:flex}.connection-dot{width:var(--space-2);height:var(--space-2);background:var(--color-warning);border-radius:50%;flex-shrink:0}.connection-dot--connected{background:var(--color-success)}.connection-dot--error{background:var(--color-error)}.skip-link{top:var(--space-2);left:var(--space-2);padding:var(--space-3);background:var(--color-accent);color:var(--color-on-accent);position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=40rem){.app-shell{padding-top:var(--space-7)}}a{color:var(--color-text-primary);text-underline-offset:.2em}a:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.page-heading{padding-block:var(--space-7) var(--space-6)}.page-heading h1{font:var(--type-h1);letter-spacing:-.04em;max-width:18ch}.page-heading .intro{max-width:none;margin-top:var(--space-4)}.form-stack,.form-stack fieldset{gap:var(--space-5);flex-direction:column;display:flex}.form-stack fieldset{border:0;min-width:0;margin:0;padding:0}.form-columns{gap:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.form-message{border:1px solid var(--color-border);padding:var(--space-4);border-radius:var(--radius-small);font:var(--type-small);overflow-wrap:anywhere}.checkbox-label{align-items:center;gap:var(--space-3);min-height:var(--tap-target);font:var(--type-small);cursor:pointer;display:flex}.checkbox-label input{accent-color:var(--color-accent);width:1.125rem;height:1.125rem}.auth-links{padding-top:var(--space-5);gap:var(--space-3);font:var(--type-small);text-align:center;flex-direction:column;display:flex}.auth-links a,.text-link{min-height:var(--tap-target);justify-content:center;align-items:center;display:inline-flex}.auth-links p,.muted{color:var(--color-text-secondary)}.small{font:var(--type-small)}.loading-state{padding-block:var(--space-7);gap:var(--space-5);flex-direction:column;display:flex}.profile-metrics{gap:var(--space-5);margin:var(--space-5) 0 0;grid-template-columns:1fr 1fr;display:grid}.profile-metrics dt{font:var(--type-small);color:var(--color-text-secondary)}.profile-metrics dd{font:var(--type-h2);font-variant-numeric:tabular-nums;margin:var(--space-1) 0 0}.profile-metrics dd span{font:var(--type-small);color:var(--color-text-secondary)}.profile-details{margin-top:var(--space-5)}.detail-list{gap:var(--space-4);font:var(--type-small);margin-block:var(--space-5);flex-direction:column;display:flex}.detail-list div{justify-content:space-between;gap:var(--space-4);display:flex}.detail-list dt{color:var(--color-text-secondary);flex-shrink:0}.detail-list dd{overflow-wrap:anywhere;text-align:right;margin:0}.full-width{width:100%}.app-shell--signed-in{padding-bottom:calc(5rem + env(safe-area-inset-bottom))}.bottom-nav{z-index:2;max-width:var(--content-width);padding:var(--space-2) var(--space-4) max(var(--space-2), env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-background);margin-inline:auto;display:flex;position:fixed;inset:auto 0 0}.bottom-nav a{min-height:var(--tap-target);font:var(--type-small);color:var(--color-text-secondary);border-radius:var(--radius-small);flex:1;justify-content:center;align-items:center;text-decoration:none;display:flex}.bottom-nav a[aria-current]{background:var(--color-surface);color:var(--color-text-primary);font-weight:600}.diary-date{gap:var(--space-2);margin-top:var(--space-6);margin-bottom:var(--space-4);grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;display:grid}.diary-date-arrow{min-height:2.75rem;font:var(--type-h3);padding-inline:0}.diary-date-trigger{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);display:flex}.date-picker-header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.date-picker-header strong{font:var(--type-h3)}.date-picker-header strong:first-letter{text-transform:uppercase}.date-picker-weekdays,.date-picker-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.date-picker-weekdays{margin-top:var(--space-5);color:var(--color-text-secondary);font:var(--type-caption);text-align:center}.date-picker-grid{gap:var(--space-1);margin-top:var(--space-3)}.date-picker-day{aspect-ratio:1;border-radius:var(--radius-small);min-height:0;color:var(--color-text-primary);font:var(--type-small);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;padding:0}.date-picker-day:hover:not(:disabled){background:var(--color-surface-hover)}.date-picker-day--today{color:var(--color-accent);font-weight:600}.date-picker-day--selected{background:var(--color-accent);color:var(--color-on-accent)}.date-picker-today{width:100%;margin-top:var(--space-5);text-align:center;display:block}.daily-summary{padding-block:var(--space-5)}.macro-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.macro-grid>div,.calorie-row{gap:var(--space-2);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;flex-direction:column;min-width:0;display:flex}.macro-grid .small,.calorie-row .small{font:var(--type-caption);font-weight:400}.macro-grid strong,.calorie-row strong{font:var(--type-h3);font-weight:600}.daily-summary progress{appearance:none;border-radius:var(--space-2);background:var(--color-border);width:100%;height:4px;color:var(--color-accent);border:0;display:block;overflow:hidden}.daily-summary progress::-webkit-progress-bar{background:var(--color-border)}.daily-summary progress::-webkit-progress-value{background:var(--color-accent)}.daily-summary progress::-moz-progress-bar{background:var(--color-accent)}.calorie-row{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.calorie-row strong{font:var(--type-h2)}.calorie-over{color:var(--color-warning);font:var(--type-caption)}.diary-empty{padding-top:var(--space-5)}.meal-list{gap:var(--space-4);margin-top:var(--space-5);flex-direction:column;display:flex}.meal-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.meal-heading h2{font:var(--type-h3)}.meal-heading button{padding-inline:var(--space-3)}.entry-list,.food-results{margin:0;padding:0;list-style:none}.entry-list li{align-items:center;gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);margin-top:var(--space-3);display:flex}.entry-list li>.ui-button{min-width:var(--tap-target);padding-inline:var(--space-2)}.routine-day-card{align-items:flex-start;gap:var(--space-1);width:100%;min-height:var(--tap-target);color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.routine-day-card h3{font:var(--type-h3)}.set-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.set-row{gap:var(--space-2);grid-template-columns:1.5rem 1fr 1fr 1fr auto;align-items:center;display:grid}.set-number{color:var(--color-text-secondary);font:var(--type-small);font-variant-numeric:tabular-nums}.set-input{min-height:var(--tap-target);background:var(--color-surface);min-width:0;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-small);padding-inline:var(--space-1);font:var(--type-body);text-align:center}.set-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.quickfill-row{gap:var(--space-2);grid-template-columns:1fr 1fr 1fr;display:grid}.link-button{color:var(--color-text-primary);text-underline-offset:.2em;font:var(--type-small);min-height:var(--tap-target);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;text-decoration:underline}.day-complete-badge{margin-top:var(--space-1);color:var(--color-text-primary);font:var(--type-caption);font-weight:600;display:inline-block}.sheet-sticky-action{margin-inline:calc(var(--space-5) * -1);padding:var(--space-4) var(--space-5);padding-bottom:max(var(--space-4), env(safe-area-inset-bottom));background:var(--color-background);border-top:1px solid var(--color-border);position:sticky;bottom:0}.entry-edit,.food-result{justify-content:center;align-items:flex-start;gap:var(--space-1);background:var(--color-background);color:var(--color-text-primary);min-height:var(--tap-target);font:var(--type-small);text-align:left;cursor:pointer;overflow-wrap:anywhere;border:0;flex-direction:column;display:flex}.entry-edit{min-width:0;padding:var(--space-2) 0;background:var(--color-surface);flex:1}.entry-edit span,.food-result span{color:var(--color-text-secondary)}.entry-edit:focus-visible,.food-result:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.food-result{border-bottom:1px solid var(--color-border);width:100%;padding:var(--space-4) var(--space-2)}.food-result:hover{background:var(--color-surface)}.nutrition-preview{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-small);gap:var(--space-2);font:var(--type-small);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.nutrition-preview strong{font:var(--type-h2)}.nutrition-preview span{color:var(--color-text-secondary)}.brand-logo{background:var(--color-text-primary);width:8rem;height:2.6rem;-webkit-mask:var(--brand-logo) center / contain no-repeat;mask:var(--brand-logo) center / contain no-repeat;display:block}.app-header .edition{text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.bottom-nav a{gap:var(--space-2)}.account-logout{margin-top:var(--space-6)}.capture-actions{gap:var(--space-3);margin-top:var(--space-5);display:flex}.capture-actions button,.icon-button{justify-content:center;align-items:center;gap:var(--space-2);display:flex}.draft-group{gap:var(--space-3);flex-direction:column;display:flex}.draft-group h3{font:var(--type-h3)}.draft-group-meal{color:var(--color-text-primary);font:var(--type-h3);cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0}.draft-group-meal:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.chat-capture{gap:var(--space-4);flex-direction:column;display:flex}.chat-thread{align-items:stretch;gap:var(--space-4);flex-direction:column;display:flex}.chat-bubble{padding:var(--space-4);border-radius:var(--radius-small)}.chat-bubble--user{background:var(--color-accent);max-width:88%;color:var(--color-on-accent);overflow-wrap:anywhere;align-self:flex-end}.chat-bubble--app{gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);flex-direction:column;display:flex}.chat-composer{gap:var(--space-2);padding-block:var(--space-3);background:var(--color-background);align-items:center;display:flex;position:sticky;bottom:0}.chat-input{min-width:0;min-height:var(--tap-target);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-small);padding-inline:var(--space-4);font:var(--type-body);flex:1}.chat-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.record-button{width:var(--tap-target);height:var(--tap-target);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.record-button--active{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.record-pulse{z-index:0;background:var(--color-accent);opacity:.5;border-radius:50%;position:absolute;inset:-4px}.record-button>:not(.record-pulse){z-index:1;position:relative}@media (prefers-reduced-motion:no-preference){.record-button--active .record-pulse{animation:1.1s ease-out infinite record-pulse}}@keyframes record-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}.segmented{gap:var(--space-2);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-small);display:flex}.segmented button{padding-inline:var(--space-2);color:var(--color-text-secondary);background:0 0;border:0;flex:1}.segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text-primary)}.capture-camera{aspect-ratio:4/3;object-fit:cover;background:var(--color-surface);border-radius:var(--radius-small);width:100%}.draft-list{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.draft-item{border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--space-4);gap:var(--space-3);flex-direction:column;display:flex}.draft-item-heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.draft-item-heading strong{overflow-wrap:anywhere}.catalog-attribution{font:var(--type-caption);color:var(--color-text-secondary);line-height:1.6}.capture-preview{gap:var(--space-3);flex-direction:column;display:flex}@media (width>=64rem){.app-shell--signed-in{max-width:76rem;padding:var(--space-6) var(--space-7) var(--space-7) 17rem}.app-shell--signed-in .app-header{left:max(var(--space-5), calc((100vw - 76rem) / 2 + var(--space-5)));top:var(--space-7);flex-direction:column;align-items:flex-start;width:12rem;position:fixed}.app-shell--signed-in .brand-logo{width:10rem;height:3.25rem}.app-shell--signed-in .bottom-nav{inset:9rem auto 0 max(var(--space-5), calc((100vw - 76rem) / 2 + var(--space-5)));border-top:0;border-right:1px solid var(--color-border);width:12rem;max-width:none;padding:var(--space-3) var(--space-4) var(--space-5) 0;gap:var(--space-2);flex-direction:column;margin:0}.app-shell--signed-in .bottom-nav a{padding:var(--space-3);justify-content:flex-start;gap:var(--space-3);font:var(--type-body);flex:0}.app-shell--signed-in .page-heading{padding-top:var(--space-5)}.meal-list{grid-template-columns:1fr 1fr;align-items:start;display:grid}.app-shell--signed-in .form-stack{max-width:38rem}.app-shell--signed-in .diary-date{max-width:26rem}}@media (prefers-reduced-motion:no-preference){.food-result,.bottom-nav a,.ui-button{transition:background-color .12s,border-color .12s}}
