:root{--tg-bg-color: #0f1115;--tg-text-color: #f5f5f7;--tg-hint-color: #8b8f97;--tg-link-color: #5eb2ff;--tg-button-color: #3b82f6;--tg-button-text-color: #ffffff;--tg-secondary-bg-color: #181a20;--tg-section-bg-color: #181a20;--tg-destructive-text-color: #ff5b5b;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--tg-bg-color);color:var(--tg-text-color);transition:background-color .2s ease,color .2s ease;overscroll-behavior:none}#root{height:100%;min-height:100vh;min-height:100dvh;overflow:hidden}h1{font-size:22px;font-weight:700;margin:4px 0 16px}h2.section-title{font-size:15px;font-weight:600;color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.03em;margin:20px 0 8px}p{margin:0}.hint-text{color:var(--tg-hint-color);font-size:14px}.app-shell{display:flex;flex-direction:column;height:var(--app-height, 100dvh);max-height:var(--app-height, 100dvh);overflow:hidden}.app-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.app-shell--chat .app-content{overflow:hidden;display:flex;flex-direction:column;padding-bottom:0}.app-shell--chat .screen-enter{flex:1;min-height:0;display:flex;flex-direction:column}.app-shell--chat .chat-composer{padding-bottom:calc(66px + env(safe-area-inset-bottom,0px))}.app-shell--keyboard .app-content{padding-bottom:0}.app-shell--keyboard.app-shell--chat .chat-composer{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}.app-shell--keyboard .tab-bar{display:none}.screen-pad{padding:16px 16px 24px;max-width:560px;margin:0 auto}.screen-bottom-spacer{height:48px;flex-shrink:0}.state-center{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:32px 16px}.state-emoji{font-size:32px}.tab-bar{position:fixed;left:0;right:0;bottom:0;z-index:200;display:flex;border-top:1px solid rgba(128,128,128,.2);background:var(--tg-secondary-bg-color);padding-bottom:env(safe-area-inset-bottom,0)}.tab-bar__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;background:none;border:none;color:var(--tg-hint-color);font-size:10px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.tab-bar__icon{font-size:20px;line-height:1}.tab-bar__item--active{color:var(--tg-button-color)}.card{background:var(--tg-section-bg-color);border-radius:14px;padding:14px 16px;margin-bottom:10px}.card--row{display:flex;align-items:center;justify-content:space-between}.card--tap{cursor:pointer}.card--tap:active{opacity:.85}.card--accent{border:1px solid var(--tg-button-color)}.card--advice{font-size:14px}.today-header{display:flex;align-items:center;justify-content:space-between}.today-header h1{margin:0}.points-badge{font-size:13px;color:var(--tg-hint-color);background:var(--tg-secondary-bg-color);padding:4px 10px;border-radius:999px}.ring-wrap{display:flex;justify-content:center;padding:8px 0}.calorie-ring-block{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%}.calorie-ring{position:relative;width:184px;height:184px}.calorie-ring__progress{transition:stroke-dashoffset .4s ease,stroke .4s ease}.calorie-ring__center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-align:center;padding:0 18px}.calorie-ring__value{font-size:32px;font-weight:700;line-height:1.1}.calorie-ring__label{font-size:11px;color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.04em}.calorie-ring__target{font-size:13px;color:var(--tg-hint-color);margin-top:2px}.calorie-ring__eaten{font-size:12px;color:var(--tg-hint-color)}.calorie-ring--empty{border:2px dashed var(--tg-secondary-bg-color);border-radius:50%}.calorie-ring-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;width:100%;max-width:360px}.calorie-ring-meta__chip{flex:1 1 96px;min-width:96px;padding:8px 10px;border-radius:12px;background:var(--tg-secondary-bg-color);display:flex;flex-direction:column;gap:2px;text-align:center}.calorie-ring-meta__chip--bmr{box-shadow:inset 0 0 0 1px #a78bfa73}.calorie-ring-meta__k{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--tg-hint-color)}.calorie-ring-meta__v{font-size:15px;font-weight:650}.calorie-ring-meta__v small{font-size:11px;font-weight:500;color:var(--tg-hint-color)}.calorie-ring-meta__v--mode{font-size:13px;font-weight:600}.calorie-ring-meta__chip--over{box-shadow:inset 0 0 0 1px #ff453a59}.calorie-ring-meta__chip--loss{box-shadow:inset 0 0 0 1px #5eb2ff66}.calorie-ring-meta__chip--gain{box-shadow:inset 0 0 0 1px #34c75966}.calorie-ring-meta__chip--keep{box-shadow:inset 0 0 0 1px #a78bfa66}.diary-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.diary-header h1{margin:0}.domain-switch{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0}.domain-switch__title{font-size:13px;font-weight:700;line-height:1.2;text-align:center;color:var(--tg-text-color);white-space:nowrap;-webkit-user-select:none;user-select:none}.domain-switch__tabs{display:inline-flex;padding:3px;border-radius:999px;background:var(--tg-secondary-bg-color)}.domain-switch__item{border:0;background:transparent;color:var(--tg-hint-color);font:inherit;font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px;cursor:pointer;white-space:nowrap;line-height:1.2}.domain-switch__item--active{background:var(--tg-button-color);color:var(--tg-button-text-color, #fff)}.trends-hero{display:flex;flex-direction:column;gap:12px}.trends-hero__title{margin:0;font-weight:650}.trends-hero__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trends-hero__grid>div{display:flex;flex-direction:column;gap:2px;text-align:center;padding:8px 4px;border-radius:12px;background:color-mix(in srgb,var(--tg-button-color) 12%,transparent)}.trends-hero__grid strong{font-size:18px}.trends-hero__grid span{font-size:11px;color:var(--tg-hint-color)}.trends-hero--train .trends-hero__grid>div{background:color-mix(in srgb,#34c759 14%,transparent)}.trends-bmr-hint{margin:-4px 4px 8px}.train-rhythm{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.train-rhythm__cell{aspect-ratio:1;border-radius:10px;background:var(--tg-secondary-bg-color);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--tg-hint-color)}.train-rhythm__cell--on{background:color-mix(in srgb,#34c759 55%,var(--tg-secondary-bg-color));color:var(--tg-text-color);font-weight:650}.macro-bars{display:flex;flex-direction:column;gap:10px}.macro-bar__head{display:flex;justify-content:space-between;font-size:13px;margin-bottom:4px}.macro-bar__track{height:7px;border-radius:999px;background:#80808033;overflow:hidden}.macro-bar__fill{height:100%;border-radius:999px;transition:width .3s ease}.swipe-row{position:relative;overflow:hidden}.swipe-row__bg{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding-right:16px;background:var(--tg-destructive-text-color);color:#fff;font-size:13px}.swipe-row__content{position:relative;background:var(--tg-bg-color);touch-action:pan-y}.feed-list{list-style:none;margin:0;padding:0}.feed-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid rgba(128,128,128,.15)}.feed-list .swipe-row:last-child .feed-row{border-bottom:none}.feed-row__main{display:flex;flex-direction:column;gap:2px;min-width:0;background:none;border:none;padding:0;margin:0;text-align:left;font:inherit;color:inherit;cursor:pointer;flex:1}.feed-row__time{font-size:12px;color:var(--tg-hint-color)}.feed-row__text{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feed-row__text--expanded{white-space:normal;overflow:visible}.feed-row__detail{list-style:none;padding:8px 0 12px;margin:0;font-size:13px;line-height:1.45;color:var(--tg-hint-color);border-bottom:1px solid rgba(128,128,128,.15);overflow:visible;white-space:normal;word-break:break-word}.feed-list .swipe-row:last-child+.feed-row__detail{border-bottom:none}.feed-row__macros{display:block;line-height:1.45;overflow:visible}.link-btn{background:none;border:none;padding:0;color:var(--tg-link-color, var(--tg-button-color));font:inherit;text-decoration:underline;cursor:pointer}.feed-row--editing{display:block;padding:10px 0;border-bottom:1px solid rgba(128,128,128,.15);scroll-margin-top:72px;scroll-margin-bottom:200px}.feed-row__side{display:flex;align-items:center;gap:8px;flex-shrink:0}.feed-row__kcal{font-size:14px;color:var(--tg-hint-color)}.feed-row__edit{background:none;border:none;font-size:14px;cursor:pointer;padding:4px 6px}.feed-row__edit:disabled{opacity:.4}.feed-row__delete{background:none;border:none;color:var(--tg-destructive-text-color);font-size:14px;cursor:pointer;padding:4px 6px}.feed-row__delete:disabled{opacity:.4}.segmented{display:flex;background:var(--tg-secondary-bg-color);border-radius:10px;padding:3px;margin:12px 0}.segmented__item{flex:1;border:none;background:none;color:var(--tg-hint-color);padding:7px 0;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer}.segmented__item--active{background:var(--tg-bg-color);color:var(--tg-text-color)}.calendar-strip-wrap{display:flex;align-items:stretch;gap:4px;margin:0 -2px}.calendar-nav{flex-shrink:0;width:32px;border:none;border-radius:12px;background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-size:1.4rem;line-height:1;cursor:pointer}.calendar-nav:disabled{opacity:.35;cursor:default}.calendar-strip{display:flex;gap:8px;overflow-x:auto;flex:1;min-width:0;padding:4px 2px 12px;scrollbar-width:none}.calendar-strip::-webkit-scrollbar{display:none}.calendar-chip{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:2px;width:44px;padding:8px 0 6px;border-radius:12px;border:none;background:var(--tg-secondary-bg-color);color:var(--tg-text-color);cursor:pointer;position:relative}.calendar-chip--today{box-shadow:inset 0 0 0 1px var(--tg-button-color)}.calendar-chip--selected{background:var(--tg-button-color);color:var(--tg-button-text-color)}.calendar-chip__weekday{font-size:10px;text-transform:uppercase;opacity:.7}.calendar-chip__day{font-size:16px;font-weight:700}.calendar-chip__month{font-size:9px;opacity:.6}.calendar-chip__dot{position:absolute;top:6px;right:6px;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.8}.trends,.nutrition-trends{display:flex;flex-direction:column;gap:12px}.nutrition-trends__intro{margin:0 0 10px}.nutrition-trends__hints{display:flex;flex-direction:column;gap:8px}.nutrition-trends__hint p{margin:6px 0 0;font-size:13px;line-height:1.45}.nutrition-trends__qualitative{margin:8px 0 0;font-size:14px;line-height:1.45}.source-bars{display:flex;flex-direction:column;gap:10px;margin-top:10px}.source-bars__row{display:flex;flex-direction:column;gap:4px}.source-bars__label{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:13px}.source-bars__track{height:8px;border-radius:4px;background:color-mix(in srgb,var(--tg-hint-color) 25%,transparent);overflow:hidden}.source-bars__fill{height:100%;border-radius:4px;background:var(--tg-button-color);min-width:2px}.micro-nutrient-tabs{flex-wrap:wrap;margin-bottom:10px}.micro-nutrient-tabs .segmented__item{font-size:11px;padding:6px 8px}.micro-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.micro-summary-grid__item{padding:10px;border-radius:10px;background:color-mix(in srgb,var(--tg-button-color) 8%,var(--tg-secondary-bg-color));display:flex;flex-direction:column;gap:2px}.micro-summary-grid__label{font-size:12px;color:var(--tg-hint-color)}.micro-summary-grid__item strong{font-size:18px}.amino-legend{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:12px}.amino-legend__item{display:inline-flex;align-items:center;gap:5px}.amino-legend__item:before{content:"";width:8px;height:8px;border-radius:50%}.amino-legend__item--ok:before{background:#34c759}.amino-legend__item--mid:before{background:#f5a623}.amino-legend__item--low:before{background:#ff453a}.plan-text{white-space:pre-wrap;font-size:14px;line-height:1.5;max-height:320px;overflow-y:auto;background:var(--tg-bg-color);border-radius:10px;padding:10px 12px;margin-top:8px}.dish-card{margin-top:8px;background:var(--tg-bg-color);border-radius:10px;padding:10px 12px;max-height:360px;overflow-y:auto}.dish-card__title{margin:0 0 4px;font-size:17px;font-weight:650;line-height:1.3}.dish-card__macros{margin:6px 0 4px;font-size:14px;font-weight:600}.dish-card__heading{margin:12px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--tg-hint-color);font-weight:600}.dish-card__list{margin:0;padding-left:18px;font-size:14px;line-height:1.45}.dish-card__list--steps{padding-left:20px}.plan-actions{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}.location-row{display:flex;gap:8px}.location-btn{flex:1;font-size:13px;padding:10px 6px}.location-btn--active{background:var(--tg-button-color);color:var(--tg-button-text-color)}.kbju-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.kbju-grid p{font-size:17px;font-weight:600;margin-top:2px}.plan-adaptive{margin-top:8px;padding-top:8px;border-top:1px solid rgba(128,128,128,.15)}.profile-row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px}.baseline-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:0;cursor:pointer}.baseline-card__body{margin-top:12px;display:flex;flex-direction:column;gap:10px}.baseline-card__norm{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;border-radius:12px;background:var(--tg-secondary-bg-color)}.baseline-card__norm strong{font-size:22px}.baseline-card__status{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 10px;padding:10px 12px;border-radius:12px;background:var(--tg-secondary-bg-color)}.baseline-card__status strong{font-size:22px}.baseline-card__status--good{box-shadow:inset 0 0 0 1px color-mix(in srgb,#34c759 45%,transparent)}.baseline-card__status--improve{box-shadow:inset 0 0 0 1px color-mix(in srgb,#f5a623 45%,transparent)}.baseline-card__status--attention{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tg-destructive-text-color) 40%,transparent)}.baseline-card__headline{margin:0;font-size:13px;line-height:1.4}.baseline-card__quality{margin:0}.baseline-finding{padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--tg-button-color) 10%,var(--tg-secondary-bg-color))}.baseline-finding--high{background:color-mix(in srgb,var(--tg-destructive-text-color) 10%,var(--tg-secondary-bg-color))}.baseline-finding__top{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 8px}.baseline-finding__domain{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--tg-hint-color)}.baseline-finding p{margin:4px 0 0;font-size:13px}.baseline-finding__fix{color:var(--tg-text-color)!important;font-weight:500}.baseline-card__textarea{resize:vertical;min-height:72px}.form-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0}.form-row--stack{flex-direction:column;align-items:stretch;gap:4px}.form-label{font-size:14px;color:var(--tg-hint-color);flex-shrink:0}.form-input,.form-select{padding:8px 10px;border-radius:8px;border:1px solid rgba(128,128,128,.3);background:var(--tg-bg-color);color:var(--tg-text-color);font-size:14px;min-width:0}.form-row:not(.form-row--stack) .form-input,.form-row:not(.form-row--stack) .form-select{text-align:right;width:140px}.form-row--stack .form-input{width:100%}.shop-tier{border-top:1px solid rgba(128,128,128,.15);padding:12px 0;transform:translateZ(0);-webkit-transform:translateZ(0)}.shop-tier:first-of-type{border-top:none;padding-top:8px}.shop-tier__head{display:flex;justify-content:space-between;align-items:center;font-weight:600}.shop-tier__price{color:var(--tg-button-color)}.shop-tier__features{margin:6px 0 8px;padding-left:18px;overflow:visible;list-style:disc}.shop-tier__features li{font-size:13px;line-height:1.45;margin:4px 0;overflow:visible;-webkit-font-smoothing:antialiased}.shop-tier__owned{display:inline-block;margin-top:4px;font-size:13px;color:var(--tg-hint-color, #999)}.shop-tier button{margin-top:6px}.how-to-list{margin:0;padding-left:18px;font-size:14px;line-height:1.55;display:flex;flex-direction:column;gap:10px}.how-to-list li{padding-right:4px}.leaderboard-list{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:2px}.leaderboard-list__row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:8px;font-size:14px}.leaderboard-list__row--me{background:var(--tg-bg-color);font-weight:600}.leaderboard-list__rank{width:20px;flex-shrink:0;color:var(--tg-hint-color);text-align:right}.leaderboard-list__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.leaderboard-list__points{flex-shrink:0;color:var(--tg-hint-color)}.leaderboard-list__row--me .leaderboard-list__points{color:inherit}.fab{position:fixed;left:50%;bottom:calc(58px + env(safe-area-inset-bottom,0));transform:translate(-50%);z-index:150;background:var(--tg-button-color);color:var(--tg-button-text-color);border:none;border-radius:999px;padding:12px 22px;font-size:15px;font-weight:600;box-shadow:0 6px 20px #00000059;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sheet-backdrop{position:fixed;inset:0;background:#00000080;z-index:500;animation:sheet-fade-in .15s ease;overscroll-behavior:contain;touch-action:none}html.sheet-open,html.sheet-open body,html.sheet-open #root,html.sheet-open .app-shell{overflow:hidden!important;overscroll-behavior:none}html.sheet-open .app-content{overflow:hidden!important;overscroll-behavior:none;touch-action:none}html.sheet-open .tab-bar,html.sheet-open .fab{display:none!important}@keyframes sheet-fade-in{0%{opacity:0}to{opacity:1}}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:501;width:100%;max-width:560px;margin:0 auto;background:var(--tg-secondary-bg-color);border-radius:18px 18px 0 0;padding:6px 16px 14px;animation:sheet-slide-up .2s ease;max-height:min(78dvh,calc(var(--app-height, 100dvh) - 72px));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;box-sizing:border-box}.sheet--compose{max-height:none;overflow:visible;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.sheet--compose .sheet__compose-only-hide,.sheet--compose .record-result{display:none!important}.sheet--compose .record-bar__form{margin-top:4px}.sheet__media-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.sheet__media-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;padding:8px;border-radius:12px;border:1px solid rgba(128,128,128,.25);background:var(--tg-bg-color);color:var(--tg-text-color);font-size:13px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.sheet__media-btn--barcode{border-color:#5eb2ff73;background:#5eb2ff1f}.sheet__media-btn__icon{font-size:24px;line-height:1}.sheet__media-hint{margin:8px 0 0;font-size:11px;line-height:1.35}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet__handle{width:36px;height:4px;border-radius:999px;background:#80808066;margin:4px auto 8px}.sheet__top{position:relative;min-height:20px}.sheet__top .sheet__handle{margin-bottom:4px}.sheet__close{position:absolute;top:-2px;right:0;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--tg-hint-color, #888);font-size:16px;line-height:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.voice-cta{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 0 6px}.voice-cta__btn{width:58px;height:58px;border-radius:50%;border:none;background:#e53935;color:#fff;font-size:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 18px #e5393573}.voice-cta__btn:disabled{opacity:.85;cursor:default}.voice-cta__btn--recording{background:#e53935;color:#fff;box-shadow:0 0 #e539358c;animation:voice-cta-pulse 1.1s ease infinite}.voice-cta__btn--processing{background:#c62828;color:#fff;opacity:1;animation:voice-cta-processing 1.4s ease infinite}@keyframes voice-cta-processing{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.04);opacity:.88}}@keyframes voice-cta-pulse{0%{box-shadow:0 0 #e539358c}70%{box-shadow:0 0 0 18px #e5393500}to{box-shadow:0 0 #e5393500}}.voice-cta__status{text-align:center;font-size:13px;color:var(--tg-hint-color);max-width:280px;line-height:1.4}.voice-cta__status--rec{color:#e53935;font-weight:600}.processing-steps{animation:processing-fade .35s ease}@keyframes processing-fade{0%{opacity:.4}to{opacity:1}}.record-result{margin:4px 0 12px;padding:12px;border-radius:12px;background:#5eb2ff1f;border:1px solid rgba(94,178,255,.25);font-size:13px;line-height:1.45;white-space:pre-line}.record-result--error{background:#ff5b5b1f;border-color:#ff5b5b4d}.record-result--pending{background:#8080801f;border-color:#80808033}.record-result__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.record-result__actions .btn,.voice-draft__actions .btn,.plan-actions .btn{flex:1 1 0;min-width:120px}.voice-draft{margin-bottom:12px;padding:12px}.voice-draft__label{font-size:12px;color:var(--tg-hint-color);margin-bottom:6px;text-transform:uppercase;letter-spacing:.03em}.voice-draft__input{width:100%;min-height:72px;resize:vertical;padding:10px 12px;border-radius:10px;border:1px solid rgba(128,128,128,.3);background:var(--tg-bg-color);color:var(--tg-text-color);font-size:15px;font-family:inherit;box-sizing:border-box}.voice-draft__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.barcode-preview__grams-row{display:flex;align-items:center;gap:8px}.barcode-preview__grams-row .record-bar__input{max-width:100px}.frequent-overlay{position:fixed;inset:0;z-index:600;display:flex;flex-direction:column;background:var(--tg-bg-color);padding:env(safe-area-inset-top,0) 0 calc(56px + env(safe-area-inset-bottom,0px));touch-action:manipulation}.frequent-overlay__panel{flex:1;min-height:0;display:flex;flex-direction:column;max-width:560px;width:100%;margin:0 auto;padding:12px 16px 16px}.frequent-overlay__header{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-shrink:0}.frequent-overlay__back{border:none;background:none;color:var(--tg-link-color, var(--tg-button-color));font-size:14px;padding:4px 0;cursor:pointer}.frequent-overlay__title{flex:1;margin:0;font-size:18px;font-weight:700}.frequent-overlay__page{font-size:13px}.frequent-overlay__empty{padding:24px 8px;text-align:center}.frequent-overlay__list{list-style:none;margin:0;padding:0;flex:1;min-height:0;overflow:hidden}.frequent-overlay__item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:12px 4px;border:none;border-bottom:1px solid rgba(128,128,128,.15);background:none;color:var(--tg-text-color);text-align:left;font-size:14px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.frequent-overlay__item:disabled{opacity:.5}.frequent-overlay__item-text{font-weight:600}.frequent-overlay__item-meta{color:var(--tg-hint-color);font-size:12px}.frequent-overlay__multi-toggle{align-self:flex-start;margin:0 0 8px;padding:6px 12px;border:1px solid rgba(128,128,128,.3);border-radius:999px;background:none;color:var(--tg-link-color);font-size:13px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.frequent-overlay__item--selected{background:#5eb2ff1f;border-radius:8px}.frequent-overlay__item-check{font-size:16px;line-height:1}.frequent-overlay__confirm{flex-shrink:0;margin-top:12px}.frequent-overlay__confirm .btn{width:100%}.quick-preview__row{display:flex;justify-content:space-between;gap:8px;padding:4px 0;font-size:14px}.frequent-overlay__nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-shrink:0}.frequent-overlay__nav-btn{min-width:56px}.frequent-trigger{display:flex;align-items:center;gap:8px;width:100%;margin-bottom:12px;padding:10px 14px;border:1px solid rgba(128,128,128,.3);border-radius:12px;background:var(--tg-bg-color);color:var(--tg-text-color);font-size:14px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.frequent-trigger:disabled{opacity:.5}.frequent-trigger__arrow{margin-left:auto;color:var(--tg-hint-color)}.voice-cta__hint{text-align:center;font-size:13px;color:var(--tg-hint-color);max-width:280px;line-height:1.35}.voice-cta__timer{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.sheet__cancel{background:none;border:none;color:var(--tg-hint-color);font-size:13px;cursor:pointer;padding:4px 6px}.sheet__divider{text-align:center;color:var(--tg-hint-color);font-size:12px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px}.sheet__photo-link{display:block;width:100%;text-align:center;background:none;border:none;color:var(--tg-link-color);font-size:14px;padding:12px 0 2px;cursor:pointer}.sheet__photo-link:disabled{opacity:.5;cursor:default}.record-bar__form{display:flex;gap:8px}.record-bar__input{flex:1;min-width:0;padding:10px 12px;border-radius:10px;border:1px solid rgba(128,128,128,.3);background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-size:15px}.record-bar__input:focus{outline:2px solid var(--tg-button-color)}.record-bar__submit{flex-shrink:0}.record-bar__feedback{margin-top:8px;font-size:13px;color:var(--tg-hint-color);white-space:pre-line}.record-bar__feedback--error{color:var(--tg-destructive-text-color)}.btn{border:none;border-radius:10px;padding:10px 16px;font-size:15px;font-weight:600;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn--primary{background:var(--tg-button-color);color:var(--tg-button-text-color)}.btn--primary:disabled{opacity:.5;cursor:default}.btn--secondary{background:var(--tg-secondary-bg-color);color:var(--tg-text-color)}.skeleton{border-radius:10px;background:linear-gradient(90deg,var(--tg-secondary-bg-color) 25%,rgba(128,128,128,.2) 37%,var(--tg-secondary-bg-color) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.pull-indicator{display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:12px;color:var(--tg-hint-color);transition:height .15s ease,opacity .15s ease}.offline-banner{position:sticky;top:0;z-index:50;padding:8px 12px;text-align:center;font-size:13px;background:#f5a6232e;color:var(--tg-text-color);border-bottom:1px solid rgba(245,166,35,.35)}.screen-enter{animation:screen-enter .22s ease-out}@keyframes screen-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.skeleton--circle{border-radius:50%}.feed-list .swipe-row{animation:feed-item-enter .25s ease-out both}.feed-list .swipe-row:nth-child(1){animation-delay:0ms}.feed-list .swipe-row:nth-child(2){animation-delay:30ms}.feed-list .swipe-row:nth-child(3){animation-delay:60ms}.feed-list .swipe-row:nth-child(4){animation-delay:90ms}.feed-list .swipe-row:nth-child(n+5){animation-delay:.12s}@keyframes feed-item-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.chat-screen{display:flex;flex-direction:column;height:100%;min-height:0}.chat-screen__header{flex-shrink:0;padding-bottom:8px;position:sticky;top:0;z-index:5;background:var(--tg-bg-color)}.chat-screen__header h1{margin-bottom:4px}.chat-screen__limit,.chat-screen__meta{margin:4px 0 0;font-size:12px}.chat-screen__body{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:0 16px 8px;min-height:0}.chat-screen__error{margin:0 16px 4px;font-size:13px;flex-shrink:0}.chat-thread{display:flex;flex-direction:column;gap:10px;padding-bottom:8px}.chat-bubble{max-width:92%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.45}.chat-bubble--user{align-self:flex-end;background:var(--tg-button-color);color:var(--tg-button-text-color);border-bottom-right-radius:4px}.chat-bubble--assistant{align-self:flex-start;background:var(--tg-secondary-bg-color);color:var(--tg-text-color);border-bottom-left-radius:4px}.chat-bubble--pending{opacity:.75}.chat-bubble__text{white-space:pre-wrap;word-break:break-word}.chat-tts{margin-top:8px}.chat-tts__btn{background:none;border:none;color:var(--tg-link-color);font-size:13px;padding:0;cursor:pointer}.chat-tts__btn--active{color:var(--tg-destructive-text-color)}.chat-tts__error{display:block;margin-top:4px;font-size:12px}.chat-composer__hint{margin:0 0 6px;font-size:12px}.chat-composer__hint--compact{margin:0 0 8px;padding:0 2px}.chat-composer{flex-shrink:0;padding:10px 12px;border-top:1px solid rgba(128,128,128,.15);background:var(--tg-secondary-bg-color);box-shadow:0 -4px 16px #0000000f}.chat-role-switch{margin-bottom:10px}.chat-role-switch__tabs{display:flex;gap:6px;padding:4px;border-radius:14px;background:var(--tg-bg-color);border:1px solid rgba(128,128,128,.18)}.chat-role-switch__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;min-height:40px;border:none;border-radius:10px;background:transparent;color:var(--tg-hint-color);font-size:14px;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.chat-role-switch__tab:disabled{opacity:.55;cursor:not-allowed}.chat-role-switch__tab--active{color:var(--tg-text-color);box-shadow:0 1px 4px #00000014}.chat-role-switch__tab--nutri.chat-role-switch__tab--active{background:#4caf502e}.chat-role-switch__tab--trainer.chat-role-switch__tab--active{background:#3b82f633}.chat-role-switch__emoji{font-size:18px;line-height:1}.chat-role-switch__title{line-height:1.2}.chat-role-switch__hint{margin:8px 2px 0;font-size:12px;line-height:1.35;text-align:center}.micro-card__text{margin:0;white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:14px;line-height:1.45;color:var(--tg-text-color)}.micro-bars{display:flex;flex-direction:column;gap:12px}.micro-bar__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px;margin-bottom:4px}.micro-bar__status{font-size:12px;font-weight:600;flex-shrink:0}.micro-bar__status--ok{color:#34c759}.micro-bar__status--mid{color:#f5a623}.micro-bar__status--low{color:#ff453a}.micro-bar__status--over{color:var(--tg-destructive-text-color, #ff453a)}.micro-bar__track{height:8px;border-radius:4px;background:var(--tg-secondary-bg-color);overflow:hidden}.micro-bar__fill{height:100%;border-radius:4px;transition:width .35s ease}.micro-bar__fill--ok{background:#34c759}.micro-bar__fill--mid{background:#f5a623}.micro-bar__fill--low{background:#ff453a}.micro-bar__fill--over{background:var(--tg-destructive-text-color, #ff453a)}.micro-bar__meta{margin-top:3px;font-size:12px}.micro-disclosure__btn{display:flex;align-items:center;gap:12px;width:100%;padding:4px 0;border:none;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit}.micro-disclosure__emoji{font-size:28px;line-height:1;flex-shrink:0}.micro-disclosure__copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.micro-disclosure__title{font-size:17px;font-weight:650;line-height:1.25}.micro-disclosure__sub{font-size:13px;color:var(--tg-hint-color);line-height:1.3}.micro-disclosure__chevron{font-size:16px;color:var(--tg-hint-color);flex-shrink:0;padding:4px 2px}.micro-disclosure__body{margin-top:12px;padding-top:12px;border-top:1px solid rgba(128,128,128,.18)}.micro-disclosure--open{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tg-button-color) 28%,transparent)}.chat-composer__recording{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:13px}.chat-composer__timer{font-variant-numeric:tabular-nums;color:var(--tg-destructive-text-color)}.chat-composer__row{display:flex;gap:8px;align-items:center}.chat-composer__mic{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:var(--tg-section-bg-color);font-size:18px;cursor:pointer}.chat-composer__mic--recording{background:#ff5b5b33}.chat-composer__input{flex:1;min-width:0}.reminder-master{display:flex;align-items:center;gap:8px;margin:12px 0;font-size:14px;font-weight:600}.reminder-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reminder-row__label{display:flex;align-items:center;gap:8px;font-size:13px;flex:1;min-width:0}.reminder-row__time{width:108px;flex-shrink:0;padding:6px 8px;font-size:13px}.reminder-block{margin-bottom:12px}.reminder-times{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-left:26px}.linkish{background:none;border:none;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
