.ph-add{background:var(--bg-sunken);width:40px;height:40px;color:var(--text);border-radius:999px;flex:none;justify-content:center;align-self:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.ph-add:active{background:var(--separator)}.ph-section{margin-top:18px}.ph-section-head{justify-content:space-between;align-items:center;gap:8px;margin:0 2px 8px;display:flex}.ph-section-title{color:var(--text-secondary);letter-spacing:.02em;font-size:13px;font-weight:600}.ph-collapse{min-height:40px;color:var(--text-secondary);align-items:center;gap:6px;padding:0 2px;font-size:13px;font-weight:600;display:flex}.ph-collapse-caret{color:var(--text-tertiary);font-size:10px}.ph-list{flex-direction:column;gap:10px;display:flex}.ph-empty{border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-card);color:var(--text-secondary);padding:22px 18px;font-size:13px;line-height:1.7}.ph-info{border-radius:var(--radius-sm);background:var(--green-soft);color:#1d7a34;align-items:flex-start;gap:6px;margin-top:12px;padding:8px 12px;font-size:12px;display:flex}.ph-card{padding:14px 16px}.swipe-content .ph-card{box-shadow:none;border-radius:0}.ph-card-body{cursor:pointer}.ph-card-title{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;display:flex}.ph-name{word-break:break-word;font-size:15px;font-weight:600}.ph-tag{white-space:nowrap;border-radius:999px;align-items:center;padding:1px 7px;font-size:11px;font-weight:600;line-height:1.6;display:inline-flex}.ph-tag-macro{background:var(--orange-soft);color:#9a5c00}.ph-tag-simple{background:var(--bg-sunken);color:var(--text-secondary)}.ph-tag-active{background:var(--green-soft);color:#1d7a34}.ph-tag-done{background:var(--bg-sunken);color:var(--text-secondary)}.ph-line{color:var(--text-secondary);word-break:break-word;font-size:12px;line-height:1.6}.ph-line-num{font-variant-numeric:tabular-nums}.ph-line-flame{color:#9a5c00;align-items:flex-start;gap:4px;display:flex}.ph-progress{background:var(--bg-sunken);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.ph-progress-fill{background:var(--green);border-radius:2px;height:100%}.ph-card-foot{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ph-btn{background:var(--bg-sunken);min-height:44px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:600;transition:opacity .15s;display:inline-flex}.ph-btn:active{opacity:.75}.ph-btn:disabled{opacity:.35}.ph-btn-primary{background:var(--text);color:#fff}.ph-btn-soft{background:var(--bg-sunken);color:var(--text)}.ph-btn-danger{background:var(--red-soft);color:#b3261e}.ph-btn-small{border:1px solid var(--separator);background:0 0;border-radius:10px;min-height:40px;padding:0 14px;font-size:13px}.ph-btn-block{width:100%}.ph-icon-btn{width:44px;min-height:44px;color:var(--red);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:17px;display:inline-flex}.ph-icon-btn:active{background:var(--red-soft)}.ph-tpl-row{align-items:center;gap:10px;padding:12px 14px;display:flex}.ph-tpl-name{word-break:break-word;font-size:14px;font-weight:600}.ph-tpl-sum{color:var(--text-tertiary);font-variant-numeric:tabular-nums;word-break:break-word;margin-top:2px;font-size:11.5px}.ph-tpl-use{background:var(--bg-sunken);min-height:40px;color:var(--text);border-radius:999px;flex:none;padding:0 16px;font-size:13px;font-weight:600}.ph-tpl-use:active{background:var(--separator)}.swipe-row{border-radius:var(--radius-lg);background:var(--bg-sunken);box-shadow:var(--shadow-card);outline:none;position:relative;overflow:hidden}.swipe-row:focus-visible{box-shadow:0 0 0 2px var(--blue)}.swipe-content{z-index:2;background:var(--bg-elevated);touch-action:pan-y;position:relative;transform:translate(0)}.swipe-content.is-dragging{transition:none}.swipe-content.is-settling{transition:transform .22s cubic-bezier(.32,.72,0,1)}.swipe-actions{z-index:1;display:flex;position:absolute;top:0;bottom:0}.swipe-actions.is-leading{left:0}.swipe-actions.is-trailing{right:0}.swipe-btn{color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:76px;height:100%;padding:0 4px;font-size:12px;font-weight:600;line-height:1.3;display:flex}.swipe-btn:active{filter:brightness(.9)}.swipe-btn-icon{font-size:16px;line-height:1}.swipe-btn.is-red{background:var(--red)}.swipe-btn.is-green{background:var(--green)}.swipe-btn.is-orange{background:var(--orange)}.swipe-btn.is-blue{background:var(--blue)}.swipe-btn.is-gray{background:#8e8e93}.swipe-btn.is-dark{background:var(--text)}.ph-menu-backdrop{z-index:40;background:#0000004d;justify-content:center;align-items:center;padding:24px;animation:.16s ph-fade;display:flex;position:fixed;inset:0}.ph-menu{background:var(--bg-elevated);border-radius:16px;width:100%;max-width:320px;overflow:hidden;box-shadow:0 18px 48px -16px #00000080}.ph-menu-title{color:var(--text-secondary);word-break:break-word;padding:14px 16px 10px;font-size:13px}.ph-menu-item{border-top:1px solid var(--separator);text-align:left;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 16px;font-size:15px;display:flex}.ph-menu-item:active{background:var(--bg-sunken)}.ph-menu-item.is-destructive{color:var(--red)}.ph-menu-cancel{border-top:1px solid var(--separator);width:100%;min-height:48px;color:var(--text-secondary);font-size:15px;font-weight:600}.ph-confirm-backdrop{z-index:30;background:#00000052;justify-content:center;align-items:flex-end;animation:.16s ph-fade;display:flex;position:fixed;inset:0}.ph-confirm{background:var(--bg-elevated);width:100%;max-width:430px;padding:20px 20px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.22s cubic-bezier(.32,.72,0,1) ph-rise}.ph-confirm-title{margin:0 0 8px;font-size:17px;font-weight:600}.ph-confirm-text{color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;margin:0 0 18px;font-size:13.5px;line-height:1.7}.ph-confirm-actions{gap:10px;display:flex}.ph-confirm-actions>*{flex:1}@keyframes ph-fade{0%{opacity:0}}@keyframes ph-rise{0%{opacity:.6;transform:translateY(24px)}}.sheet.ph-sheet-tall{flex-direction:column;max-height:92dvh;padding-bottom:0;display:flex;overflow:hidden}.ph-sheet-head{justify-content:space-between;align-items:center;gap:12px;padding:0 0 12px;display:flex}.ph-sheet-title{margin:0;font-size:17px;font-weight:600}.ph-sheet-action{min-height:40px;color:var(--blue);padding:0 10px;font-size:15px;font-weight:600}.ph-sheet-action:disabled{opacity:.4;color:var(--text-tertiary)}.ph-sheet-cancel{min-height:40px;color:var(--text-secondary);padding:0 10px;font-size:15px}.ph-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-bottom:8px;overflow-y:auto}.ph-foot{padding:12px 0 calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--separator);background:var(--bg-elevated);gap:10px;display:flex}.ph-foot>.ph-btn{white-space:nowrap;flex:1;padding:0 10px}.ph-foot>.ph-btn-grow{flex:2}.ph-block{margin-bottom:18px}.ph-block-title{color:var(--text-secondary);margin:0 0 8px;font-size:13px;font-weight:600}.ph-seg{background:var(--bg-sunken);border-radius:10px;gap:2px;padding:2px;display:flex}.ph-seg button{min-height:40px;color:var(--text-secondary);border-radius:8px;flex:1;padding:0 6px;font-size:13px;font-weight:500;line-height:1.3}.ph-seg button.is-active{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px 3px #0000001a}.ph-num-row{align-items:center;gap:10px;min-height:44px;padding:2px 0;display:flex}.ph-num-label{color:var(--text);word-break:break-word;flex:1;font-size:14px}.ph-num-suffix{color:var(--text-tertiary);flex:none;font-size:12px}.ph-num-input{border:1px solid var(--separator);background:var(--bg-sunken);text-align:right;font-variant-numeric:tabular-nums;border-radius:8px;flex:none;width:88px;height:40px;padding:0 10px;font-size:16px}.ph-num-input:focus{outline:2px solid var(--blue);outline-offset:-1px;background:var(--bg-elevated)}.ph-hint{color:var(--text-tertiary);word-break:break-word;margin:6px 0 0;font-size:12px;line-height:1.6}.ph-error{color:var(--red);word-break:break-word;margin:8px 0 0;font-size:13px;line-height:1.6}.ph-warn{color:#9a5c00;word-break:break-word;align-items:flex-start;gap:6px;margin:8px 0 0;font-size:12px;line-height:1.6;display:flex}.ph-preview-value{color:#1d7a34;font-variant-numeric:tabular-nums;word-break:break-word;margin:6px 0 0;font-size:12px;line-height:1.6}.ph-kv{border-top:1px solid var(--separator);justify-content:space-between;align-items:baseline;gap:12px;min-height:34px;font-size:13px;display:flex}.ph-kv:first-child{border-top:none}.ph-kv-key{color:var(--text-secondary)}.ph-kv-value{color:var(--text);font-variant-numeric:tabular-nums;text-align:right;word-break:break-word}.ph-wiz-head{padding:0 0 10px}.ph-wiz-title-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.ph-wiz-step{font-size:16px;font-weight:600}.ph-wiz-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:13px}.ph-wiz-bars{gap:6px;margin-top:8px;display:flex}.ph-wiz-bar{background:var(--bg-sunken);border-radius:2px;flex:1;height:4px}.ph-wiz-bar.is-on{background:var(--green)}.ph-stage-row{align-items:stretch;gap:6px;margin-bottom:10px;display:flex}.ph-stage-main{cursor:pointer;text-align:left;border:1px solid var(--separator);background:var(--bg-elevated);border-radius:14px;flex:1;min-width:0;padding:12px 14px}.ph-stage-main:active{background:var(--bg-sunken)}.ph-stage-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ph-stage-name{word-break:break-word;font-size:14px;font-weight:600}.ph-stage-period{color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex:none;font-size:11.5px}.ph-stage-sub{color:var(--text-secondary);font-variant-numeric:tabular-nums;word-break:break-word;margin-top:3px;font-size:11.5px}.ph-stage-targets{color:#1d7a34;font-variant-numeric:tabular-nums;word-break:break-word;margin-top:2px;font-size:11.5px}.ph-prev-row{border-bottom:1px solid var(--separator);flex-wrap:wrap;align-items:baseline;gap:2px 8px;padding:5px 0;font-size:12px;line-height:1.5;display:flex}.ph-prev-day{font-variant-numeric:tabular-nums;color:var(--text);flex:0 0 54px}.ph-prev-date{color:var(--text-tertiary);font-variant-numeric:tabular-nums;flex:0 0 42px}.ph-prev-stage{min-width:0;color:var(--text-secondary);word-break:break-word;flex:80px}.ph-prev-stage.is-flame{color:#9a5c00;font-weight:600}.ph-prev-stage.is-unplanned{color:#9a5c00}.ph-prev-macros{color:var(--text);font-variant-numeric:tabular-nums;flex:none;margin-left:auto}.ph-mode-card{text-align:left;border:1px solid var(--separator);background:var(--bg-elevated);border-radius:16px;align-items:flex-start;gap:12px;width:100%;padding:16px;display:flex}.ph-mode-card.is-highlighted{background:#ff950012;border-color:#ff950080}.ph-mode-card:active{transform:scale(.995)}.ph-mode-icon{text-align:center;flex:0 0 28px;font-size:20px;line-height:1.4}.ph-mode-body{flex:1;min-width:0}.ph-mode-title{color:var(--text);font-size:16px;font-weight:600;display:block}.ph-mode-detail{color:var(--text-secondary);white-space:pre-line;margin-top:4px;font-size:13px;line-height:1.6;display:block}.ph-mode-chevron{color:var(--text-tertiary);align-self:center;margin-left:auto;font-size:14px}@media (prefers-reduced-motion:reduce){.ph-confirm,.ph-menu-backdrop,.swipe-content.is-settling{transition:none;animation:none}}.food-group{margin-top:18px}.food-group-head{justify-content:space-between;align-items:baseline;gap:8px;padding:0 2px 8px;display:flex}.food-group-title{color:var(--text-secondary);letter-spacing:.02em;font-size:13px;font-weight:600}.food-group-count{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.food-list{flex-direction:column;gap:8px;display:flex}.food-row{background:var(--bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-card);align-items:stretch;display:flex;overflow:hidden}.food-row-main{text-align:left;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;min-height:56px;padding:12px 14px;display:flex}.food-row-main:active{background:var(--bg-sunken)}.food-row-name{align-items:center;gap:6px;max-width:100%;display:flex}.food-row-name-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.food-badge{background:var(--bg-sunken);color:var(--text-secondary);border-radius:999px;flex-shrink:0;padding:0 6px;font-size:10px;font-weight:600;line-height:1.6}.food-row-meta{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.food-row-sub{color:var(--text-tertiary);font-size:11px}.food-row-action{border-left:1px solid var(--separator);width:56px;min-height:56px;color:var(--text-tertiary);flex-shrink:0;font-size:12px}.food-row-action:active{background:var(--bg-sunken)}.food-addbar{z-index:4;pointer-events:none;justify-content:flex-end;margin-top:20px;display:flex;position:sticky;bottom:16px}.food-addbar .btn-primary{pointer-events:auto;border-radius:999px;width:auto;min-width:148px;height:48px;margin:0;padding:0 22px;box-shadow:0 10px 24px -12px #00000073}.food-restore{width:100%;min-height:44px;color:var(--text-tertiary);text-underline-offset:3px;margin:22px 0 8px;padding:10px 8px;font-size:12px;line-height:1.6;text-decoration:underline;display:block}.food-notice{left:50%;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 20px);z-index:40;color:#fff;text-align:center;pointer-events:none;background:#1c1c1eeb;border-radius:999px;max-width:min(90vw,420px);padding:10px 16px;font-size:13px;line-height:1.4;position:fixed;transform:translate(-50%)}.section-title.food-section-title{text-transform:none;letter-spacing:0}.food-scan-btn{border-radius:var(--radius-md);background:var(--green-soft);color:#1d7a34;justify-content:center;align-items:center;gap:8px;width:100%;min-height:48px;font-size:15px;font-weight:600;display:flex}.food-scan-btn:active{background:var(--bg-sunken)}.food-scan-hint{color:var(--text-tertiary);margin:8px 0 16px;font-size:12px;line-height:1.6}.food-flag{color:var(--red);margin-left:6px;font-size:11px;font-weight:600}.input.is-missing{border-color:var(--red);background:var(--red-soft)}.food-field-error{color:var(--red);margin:0 0 8px;font-size:13px}.food-warn{border-radius:var(--radius-sm);background:var(--bg-sunken);flex-direction:column;gap:6px;margin:2px 0 14px;padding:10px 12px;display:flex}.food-warn-title{color:var(--text-secondary);font-size:12px;font-weight:600}.food-warn-item{color:var(--text-secondary);gap:6px;font-size:12px;line-height:1.55;display:flex}.food-warn-item.is-gap{color:#9a5c00}.food-flow-backdrop{z-index:30}.label-preview{object-fit:contain;border-radius:var(--radius-sm);background:var(--bg-sunken);width:100%;max-height:180px;margin-top:14px;display:block}.label-summary{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.label-summary>span:first-child{color:var(--text);font-size:15px;font-weight:600}.label-summary-arrow{color:var(--text-secondary);font-size:12px}.label-compare-head,.label-compare{grid-template-columns:minmax(0,1fr) 96px 104px;align-items:center;gap:8px;display:grid}.label-compare-head{color:var(--text-tertiary);padding:0 2px 6px;font-size:11px}.label-compare-raw-head,.label-compare-per100g-head{text-align:right}.label-compare{border-top:1px solid var(--separator);min-height:52px;padding:6px 0}.label-compare-name{color:var(--text);font-size:14px}.label-compare-value{color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.label-input{border-radius:var(--radius-sm);border:1px solid var(--separator);background:var(--bg-sunken);text-align:right;font-variant-numeric:tabular-nums;width:100%;height:42px;padding:0 10px;font-size:15px}.label-input:focus{outline:2px solid var(--blue);outline-offset:-1px;background:var(--bg-elevated)}.label-input.is-missing{border-color:var(--red);background:var(--red-soft)}@media (max-width:360px){.label-compare-head,.label-compare{grid-template-columns:minmax(0,1fr) 88px 92px;gap:6px}.label-compare-head{font-size:10px}.label-compare-value{font-size:11px}}:root{--bg:#fafaf8;--bg-elevated:#fff;--bg-sunken:#f2f2ef;--text:#1c1c1e;--text-secondary:#6b6b70;--text-tertiary:#a1a1a6;--separator:#3c3c431f;--green:#34c759;--green-soft:#e8f8ec;--orange:#ff9500;--orange-soft:#fff4e5;--red:#ff3b30;--red-soft:#ffecea;--blue:#007aff;--blue-soft:#e9f2ff;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--shadow-card:0 1px 2px #0000000a, 0 8px 24px -12px #0000001f;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;--tabbar-height:56px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-size:15px;line-height:1.5}#root{flex-direction:column;height:100dvh;min-height:0;display:flex}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none;padding:0}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}.app-shell{flex-direction:column;flex:1;width:100%;max-width:560px;min-height:0;margin:0 auto;display:flex;position:relative}.page{-webkit-overflow-scrolling:touch;min-height:0;padding:0 16px calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 24px);flex:1;overflow-y:auto}.page-header{z-index:5;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 10px;-webkit-backdrop-filter:saturate(180%)blur(16px);background:#fafaf8e0;justify-content:space-between;align-items:baseline;gap:12px;margin:0 -16px 8px;display:flex;position:sticky;top:0}@media (display-mode:standalone){.page-header{padding-top:calc(env(safe-area-inset-top,0px) + 20px)}}.page-title{letter-spacing:-.02em;margin:0;font-size:26px;font-weight:600}.page-subtitle{color:var(--text-secondary);font-size:13px}.section-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin:24px 0 10px;font-size:13px;font-weight:600}.card{background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:18px}.card+.card{margin-top:12px}.card-action{text-align:left;width:100%;margin-top:12px;padding:14px 18px;transition:transform .15s;display:block}.card-action:active{transform:scale(.99)}.card-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ring-wrap{flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.ring-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:24px;font-weight:600;line-height:1.1}.ring-unit{color:var(--text-tertiary);margin-top:2px;font-size:11px}.nutrient-list{flex-direction:column;gap:14px;display:flex}.nutrient-head{justify-content:space-between;align-items:baseline;margin-bottom:6px;display:flex}.nutrient-name{color:var(--text-secondary);font-size:13px}.nutrient-value{font-variant-numeric:tabular-nums;color:var(--text);font-size:13px}.nutrient-value strong{font-weight:600}.nutrient-track{background:var(--bg-sunken);border-radius:4px;height:8px;position:relative;overflow:hidden}.nutrient-band{background:var(--green-soft);position:absolute;top:0;bottom:0}.nutrient-fill{border-radius:4px;transition:width .35s;position:absolute;top:0;bottom:0;left:0}.nutrient-fill.is-within{background:var(--green)}.nutrient-fill.is-over{background:var(--red)}.nutrient-fill.is-under{background:var(--orange)}.record-list{flex-direction:column;gap:10px;display:flex}.record{background:var(--bg-elevated);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:14px 16px}.record-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.record-meal{font-size:14px;font-weight:600}.record-meta{color:var(--text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.record-entries{flex-direction:column;gap:4px;margin-top:8px;display:flex}.record-entry{color:var(--text-secondary);justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.record-entry-name{text-overflow:ellipsis;white-space:nowrap;margin-right:12px;overflow:hidden}.record-entry-value{font-variant-numeric:tabular-nums;flex-shrink:0}.record-note{color:var(--text-tertiary);margin-top:6px;font-size:12px}.empty-state{text-align:center;color:var(--text-tertiary);padding:40px 20px;font-size:14px}.tag{border-radius:999px;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;line-height:1.6;display:inline-flex}.tag-within{background:var(--green-soft);color:#1d7a34}.tag-over{background:var(--red-soft);color:#b3261e}.tag-under{background:var(--orange-soft);color:#9a5c00}.tag-neutral{background:var(--bg-sunken);color:var(--text-secondary)}.fab{bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom) + 16px);background:var(--text);color:#fff;border-radius:999px;align-self:flex-end;align-items:center;gap:6px;height:46px;margin-top:16px;padding:0 20px;font-size:15px;font-weight:600;display:inline-flex;position:sticky;box-shadow:0 8px 24px -8px #0006}.fab:active{transform:scale(.97)}.tabbar{z-index:10;-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--separator);padding-bottom:env(safe-area-inset-bottom);background:#fafaf8eb;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar-inner{width:100%;max-width:560px;margin:0 auto;display:flex}.tab{height:var(--tabbar-height);color:var(--text-tertiary);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:10px;text-decoration:none;display:flex}.tab.is-active{color:var(--text)}.tab-icon{font-size:18px;line-height:1}.sheet-backdrop{z-index:20;background:#00000052;justify-content:center;align-items:flex-end;animation:.18s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-elevated);width:100%;max-width:560px;max-height:88dvh;padding:8px 20px calc(20px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;animation:.24s cubic-bezier(.32,.72,0,1) slide-up;overflow-y:auto}.sheet-handle{background:#3c3c4333;border-radius:3px;width:36px;height:5px;margin:6px auto 14px}.sheet-title{margin:0 0 16px;font-size:18px;font-weight:600}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:.6;transform:translateY(24px)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}.nutrient-fill{transition:none}}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field-label{color:var(--text-secondary);font-size:13px;font-weight:500}.input{border-radius:var(--radius-sm);border:1px solid var(--separator);background:var(--bg-sunken);width:100%;height:44px;padding:0 12px;font-size:16px}.input:focus{outline:2px solid var(--blue);outline-offset:-1px;background:var(--bg-elevated)}.field-row{gap:10px;display:flex}.field-row>*{flex:1}.segmented{background:var(--bg-sunken);border-radius:var(--radius-sm);padding:2px;display:flex}.segmented button{height:34px;color:var(--text-secondary);border-radius:8px;flex:1;font-size:13px;font-weight:500}.segmented button.is-active{background:var(--bg-elevated);color:var(--text);box-shadow:0 1px 3px #0000001a}.btn-primary{border-radius:var(--radius-md);background:var(--text);color:#fff;width:100%;height:48px;margin-top:8px;font-size:16px;font-weight:600}.btn-primary:disabled{opacity:.35}.btn-ghost{border-radius:var(--radius-sm);height:40px;color:var(--text-secondary);padding:0 14px;font-size:14px}.btn-ghost:active{background:var(--bg-sunken)}.boot{color:var(--text-tertiary);flex:1;justify-content:center;align-items:center;font-size:14px;display:flex}.hint{color:var(--text-tertiary);font-size:12px;line-height:1.6}.chip{background:var(--bg-sunken);color:var(--text-secondary);border-radius:999px;padding:6px 12px;font-size:13px;line-height:1.4}.chip:active{background:var(--separator)}.summary-text{font-family:var(--font);color:var(--text);white-space:pre-wrap;word-break:break-word;font-variant-numeric:tabular-nums;margin:0;font-size:13px;line-height:1.75}
