:root{--bg:#17181a;--bg-header:#1c1e21;--layer-0:#ffffff05;--layer-1:#ffffff09;--layer-2:#ffffff0f;--hairline:#ffffff1a;--text:#e6e8ea;--text-dim:#8b9199;--text-mute:#6d737b;--green:#4ade80;--green-dim:#2f6f4a;--amber:#eab308;--danger:#f87171;--protein:#f472b6;--fat:#eab308;--carbs:#60a5fa;--surface:#1e2023;--border:#2c2f34;--ease:cubic-bezier(.2, 0, 0, 1);--fast:.16s var(--ease)}@media (prefers-reduced-motion:reduce){:root{--fast:0s}*,:before,:after{transition-duration:0s!important;animation-duration:0s!important}}*{box-sizing:border-box}a{color:inherit;text-decoration:none}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif}button,a{-webkit-tap-highlight-color:transparent}.Header{padding:max(10px, env(safe-area-inset-top)) 20px 10px;background:var(--bg-header);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid}.Header-logo{letter-spacing:-.02em;color:var(--green);grid-column:1;justify-self:start;font-size:23px;font-weight:700}.Header-nav{grid-column:2;align-items:flex-end;gap:22px;display:flex}.Header-item{min-width:44px;color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;font-size:12px;display:flex}.Header-circle{border:1.5px solid var(--hairline);width:44px;height:44px;transition:border-color var(--fast), background var(--fast), color var(--fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.Header-item--main .Header-circle{width:56px;height:56px}.Header-item:hover .Header-circle{border-color:#4ade8066}.Header-item:hover{color:var(--text)}.Header-item--active{color:var(--green)}.Header-item--active .Header-circle{border-color:var(--green);background:#4ade801a}.Header-item:focus-visible,.Header-account:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:8px}.Header-right{grid-column:3;justify-self:end;align-items:center;gap:8px;display:flex}.Header-account{border:1px solid var(--hairline);width:40px;height:40px;color:var(--text-dim);font:inherit;cursor:pointer;transition:border-color var(--fast), color var(--fast);background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.Header-account:after{content:"";border-radius:50%;position:absolute;inset:-2px}.Header-account:hover{color:var(--text);border-color:#4ade8066}.Header-logout:hover{border-color:var(--danger);color:var(--danger)}@media (width<=620px){.Header{padding:max(8px, env(safe-area-inset-top)) 12px 8px;gap:8px}.Header-logo{font-size:18px}.Header-nav{gap:12px}.Header-circle{width:38px;height:38px}.Header-item--main .Header-circle{width:48px;height:48px}.Header-circle svg{width:18px;height:18px}.Header-item--main .Header-circle svg{width:22px;height:22px}.Header-item{font-size:11px}.Header-account{width:38px;height:38px}.Header-account:after{inset:-3px}.Header-right{gap:6px}}.Picker{max-width:480px;padding:16px 20px calc(24px + env(safe-area-inset-bottom));margin:0 auto}.Picker-card{background:var(--layer-1);border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex}.Picker-name{margin:0;font-size:20px;font-weight:500}.Picker-hint,.Picker-per,.Picker-barcode{color:var(--text-mute);margin:0;font-size:12px}.Picker-barcode{letter-spacing:.08em;font-family:ui-monospace,monospace}.Picker-per{text-align:right}.Picker-notice{color:var(--green);margin:0;font-size:13px}.Picker-photo img{object-fit:contain;background:var(--bg);border-radius:10px;width:100%;max-height:260px;display:block}.Picker-facts{text-align:center;grid-template-columns:repeat(4,1fr);gap:6px;margin:0;display:grid}.Picker-facts dt{color:var(--text-dim);font-size:11px}.Picker-facts dd{margin:3px 0 0;font-size:16px;font-weight:600}.Picker-units{flex-wrap:wrap;gap:6px;display:flex}.Picker-unit{border:1px solid var(--hairline);color:var(--text-dim);font:inherit;cursor:pointer;transition:border-color var(--fast), color var(--fast), background var(--fast);background:0 0;border-radius:999px;padding:6px 12px;font-size:13px}.Picker-unit:hover{color:var(--text);border-color:#4ade8066}.Picker-unit.is-active{border-color:var(--green);color:var(--green);background:#4ade801a}.Picker-amount{color:var(--text-dim);align-items:center;gap:8px;font-size:14px;display:flex}.Picker-amount input{background:var(--bg);border:1px solid var(--hairline);width:110px;color:var(--text);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px}.Picker-amount input:focus{border-color:var(--green);outline:none}.Picker-grams{color:var(--text-mute)}.Picker-result{border-top:1px solid var(--hairline);color:var(--text-dim);margin:0;padding-top:10px;font-size:14px}.Picker-result b{color:var(--text);font-size:18px;font-weight:600}.Picker-composition{color:var(--text-dim);margin:0;font-size:13px;line-height:1.5}.Picker-composition span{color:var(--text-mute)}.Picker-field{color:var(--text-dim);flex-direction:column;gap:4px;display:flex}.Picker-field>span{font-size:12px}.Picker-field input,.Picker-field textarea{background:var(--bg);border:1px solid var(--hairline);width:100%;color:var(--text);font:inherit;resize:vertical;transition:border-color var(--fast);border-radius:10px;padding:9px 11px}.Picker-field input:focus,.Picker-field textarea:focus{border-color:var(--green);outline:none}.Picker input[type=number]{appearance:textfield}.Picker input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.Picker input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.Picker-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.Picker-portionRow{gap:6px;display:flex}.Picker-portionRow input:first-child{flex:1;min-width:0}.Picker-portionRow input[type=number]{flex:none;width:5.5rem}.Picker-portionRemove{border:1px solid var(--hairline);width:40px;color:var(--text-mute);cursor:pointer;transition:border-color var(--fast), color var(--fast);background:0 0;border-radius:10px;flex:none;font-size:18px;line-height:1}.Picker-portionRemove:hover{border-color:var(--danger);color:var(--danger)}.Picker-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.Picker-button,.Picker-photoAdd{border:1px solid var(--hairline);min-height:44px;color:var(--text-dim);font:inherit;cursor:pointer;transition:border-color var(--fast), color var(--fast), background var(--fast), transform var(--fast);background:0 0;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:14px;display:inline-flex}.Picker-button:hover:not(:disabled),.Picker-photoAdd:hover{color:var(--text);border-color:#4ade8066}.Picker-button:active:not(:disabled){transform:scale(.97)}.Picker-button:focus-visible,.Picker-photoAdd:focus-within{outline:2px solid var(--green);outline-offset:2px}.Picker-button--primary{background:var(--green);border-color:var(--green);color:#10261a;margin-left:auto;font-weight:600}.Picker-button--primary:hover:not(:disabled){color:#10261a;opacity:.9}.Picker-button--danger{color:var(--danger)}.Picker-button--danger.is-armed{background:var(--danger);border-color:var(--danger);color:#2a0f0f;font-weight:600}.Picker-button:disabled{opacity:.5;cursor:default}.Picker-photoAdd input{display:none}.Picker-cancel{color:var(--text-mute);font:inherit;cursor:pointer;background:0 0;border:none;align-self:center;padding:8px;font-size:13px}.Picker-cancel:hover{color:var(--text-dim)}.Picker-note{text-align:center;color:var(--text-dim);margin:32px 0}.Picker-error{color:var(--danger);margin:0;font-size:13px}@media (width<=620px){.Picker{padding:12px 12px calc(20px + env(safe-area-inset-bottom))}.Picker-card{padding:12px}.Picker-button--primary{width:100%;margin-left:0}}.Summary{flex-direction:column;justify-content:space-between;height:190px;padding:14px 20px 18px;display:flex;position:relative;overflow:hidden}.Wave{width:100%;height:100%;position:absolute;inset:0}.Wave-layer{transition:transform .4s var(--ease)}.Summary-head,.Summary-macros{position:relative}.Summary-head{text-align:center}.Summary-total{letter-spacing:-.035em;margin:0;font-size:46px;font-weight:500;line-height:1.1}.Summary-sub{color:var(--text-dim);margin:2px 0 0;font-size:12px}.Summary-macros{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.Macro-row{justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 6px;font-size:12px;display:flex}.Macro-label{color:var(--text-dim)}.Macro-value{color:var(--text-mute);white-space:nowrap}.Macro-value b{color:var(--text);font-size:13px;font-weight:600}.Macro-value.is-over b{color:var(--amber)}.Macro-track{background:var(--layer-2);border-radius:2px;height:3px;display:block;overflow:hidden}.Macro-fill{height:100%;transition:width .4s var(--ease);border-radius:2px;display:block}.Macro-fill--protein{background:var(--protein)}.Macro-fill--fat{background:var(--fat)}.Macro-fill--carbs{background:var(--carbs)}.Diary-meals{flex-direction:column;gap:6px;padding:18px 20px 0;display:flex}.Meal{background:var(--layer-1);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--fast);animation:Meal-appear .18s var(--ease);border-radius:16px;padding:14px 16px;position:relative}@keyframes Meal-appear{0%{opacity:0;transform:translateY(8px)}}.Meal:hover{background:var(--layer-2)}.Meal:active{transform:scale(.995)}.Meal-head{min-height:32px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;display:inline-flex}.Meal-head:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:10px}.Meal-title{font-size:15px;font-weight:500}.Meal-chevron{color:var(--text-mute);transition:color var(--fast);margin-top:3px}.Meal:hover .Meal-chevron{color:var(--text)}.Meal-kcal{color:var(--green);white-space:nowrap;background:#4ade801f;border-radius:999px;margin-right:4px;padding:2px 8px;font-weight:600}.Meal-plus{box-sizing:content-box;width:26px;height:26px;color:var(--green);cursor:pointer;transition:background var(--fast), transform var(--fast);background:#4ade801f padding-box padding-box;border:9px solid #0000;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}.Meal-plus:hover{background:#4ade8033 padding-box padding-box}.Meal-plus:active{transform:scale(.92)}.Meal-plus:focus-visible{outline:2px solid var(--green);outline-offset:-7px}.Meal-macros{color:var(--text);flex-wrap:wrap;align-items:center;gap:6px 16px;margin:8px 0 10px;font-size:13px;display:flex}.Macro-chip{align-items:baseline;gap:4px;display:inline-flex}.Macro-chip i{font-style:normal;font-weight:600}.Macro-chip u{color:var(--text-mute);font-size:11px;text-decoration:none}.Macro-chip .is-protein{color:var(--protein)}.Macro-chip .is-fat{color:var(--fat)}.Macro-chip .is-carbs{color:var(--carbs)}.Meal-items{margin:0;padding:0;list-style:none}.Meal-item{transition:background var(--fast);border-radius:8px;align-items:center;gap:6px;margin:0 -8px;padding:5px 8px;font-size:14px;display:flex}.Meal-item:hover{background:var(--layer-0)}.Meal-itemName{color:var(--text)}.Meal-itemAmount{color:var(--text-mute)}.Meal-itemKcal{color:var(--text-dim);margin-left:auto}.MealSheet{padding:18px 18px calc(18px + env(safe-area-inset-bottom))}.MealSheet-head{align-items:baseline;gap:12px;display:flex}.MealSheet-title{margin:0;font-size:18px;font-weight:500}.MealSheet-kcal{color:var(--green);white-space:nowrap;background:#4ade8024;border-radius:999px;margin-left:auto;padding:3px 10px;font-size:14px;font-weight:600}.MealSheet-macros{color:var(--text);gap:16px;margin:8px 0 14px;font-size:14px;display:flex}.MealSheet-macros .Macro-chip{gap:5px}.MealSheet-empty{text-align:center;color:var(--text-mute);margin:18px 0;font-size:14px}.MealSheet-items{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.MealSheet-item{background:var(--layer-1);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.MealSheet-itemMain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.MealSheet-itemName{font-size:14px}.MealSheet-itemPortion{color:var(--text-mute);font-size:12px}.MealSheet-itemFacts{color:var(--text-dim);white-space:nowrap;align-items:baseline;gap:10px;font-size:12px;display:flex}.MealSheet-itemFacts b{color:var(--text);font-size:14px}.MealSheet-itemRemove{width:44px;height:44px;color:var(--text-mute);cursor:pointer;transition:color var(--fast);background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin:-10px -8px -10px 0;display:flex}.MealSheet-itemRemove:hover{color:var(--danger)}.MealSheet-actions{gap:8px;margin-top:16px;display:flex}.MealSheet-remove,.MealSheet-add{min-height:44px;font:inherit;cursor:pointer;transition:background var(--fast), border-color var(--fast), color var(--fast);border-radius:12px;padding:10px 16px;font-size:14px}.MealSheet-remove{color:var(--danger);background:#f871711a;border:1px solid #f8717159}.MealSheet-remove:hover{border-color:var(--danger);background:#f871712e}.MealSheet-remove.is-armed{background:var(--danger);border-color:var(--danger);color:#2a0f0f;font-weight:600}.MealSheet-add{background:var(--green);border:1px solid var(--green);color:#10261a;margin-left:auto;font-weight:600}.MealSheet-add:hover{opacity:.9}.Diary-add{background:var(--layer-0);width:calc(100% - 40px);color:var(--text-mute);font:inherit;cursor:pointer;transition:background var(--fast), color var(--fast);border:none;border-radius:16px;justify-content:center;align-items:center;gap:10px;margin:6px 20px 0;padding:16px;font-size:15px;display:flex}.Diary-add:hover{background:var(--layer-1);color:var(--text-dim)}.Diary-add:focus-visible{outline:2px solid var(--green);outline-offset:2px}.Diary-add--empty{color:var(--text-dim);margin-top:24px;padding:22px;font-size:16px}.Diary-addIcon{font-size:18px;line-height:1}.Diary-tail{height:44px}.Diary-note{text-align:center;color:var(--text-dim);margin:40px 20px}.Diary-note a{color:var(--green)}.Sheet{z-index:20;animation:Sheet-fade .26s var(--ease);background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.Sheet-panel{overscroll-behavior:contain;background:var(--bg-header);border-radius:18px;width:100%;max-width:480px;max-height:100%;animation:.32s cubic-bezier(.16,1,.3,1) Sheet-rise;overflow-y:auto}.Sheet--under{background:0 0;animation:none}.Sheet--under .Sheet-panel{animation:none}@keyframes Sheet-fade{0%{opacity:0}}@keyframes Sheet-rise{0%{opacity:0;transform:translateY(24px)scale(.97)}}.Skeleton{background:var(--layer-1);animation:1.4s ease-in-out infinite Skeleton-pulse}.Skeleton-summary{height:190px}.Skeleton-meal{border-radius:16px;height:132px}.Skeleton-add{border-radius:16px;height:52px;margin:6px 20px 0}@keyframes Skeleton-pulse{50%{opacity:.55}}@media (width<=620px){.Summary{height:120px;padding:10px 12px 12px}.Summary-total{font-size:34px}.Summary-macros{gap:10px}.Macro-row{margin-bottom:4px;font-size:11px}.Diary-meals{padding:12px 12px 0}.Meal{padding:12px}.Meal-head{padding:12px 48px 12px 12px}.Diary-add{width:calc(100% - 24px);margin:6px 12px 0}.Skeleton-summary{height:120px}.Skeleton-add{margin:6px 12px 0}.Meal-itemRemove{width:32px;height:32px;margin:-8px -6px -8px 2px}.Sheet{align-items:flex-end;padding:0}.Sheet-panel{border-radius:18px 18px 0 0;max-width:none;max-height:92vh;animation:.34s cubic-bezier(.16,1,.3,1) Sheet-slide}@keyframes Sheet-slide{0%{transform:translateY(100%)}}.MealSheet{padding:16px 14px calc(16px + env(safe-area-inset-bottom))}.MealSheet-actions{flex-direction:column-reverse}.MealSheet-add,.MealSheet-remove{width:100%;margin-left:0}}
