:root{--mint:#7eb6ff;--mint-deep:#5a9cf0;--mint-soft:#7eb6ff2e;--mint-glow:#7eb6ff47;--bg:#12151a;--bg-elev:#ffffff1a;--text:#f5faf8;--text-muted:#c2cdc8;--border:#ffffff2e;--border-soft:#ffffff14;--danger:#e85d5d;--warn:#e6a23c;--shadow:0 10px 32px #0006, inset 0 1px 1px #ffffff38, inset 0 -1px 1px #ffffff14, inset 1px 0 1px #ffffff1a, inset -1px 0 1px #ffffff1a;--glass-filter:blur(5px) saturate(110%) brightness(1.08);--glass-sheen:linear-gradient(135deg, #ffffff47 0, #ffffff1a 36px, transparent 96px);--radius:20px;--radius-sm:14px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--tab-h:64px;--app-height:100dvh;--font:"DM Sans", "PingFang SC", "Noto Sans SC", sans-serif;--display:"Outfit", "PingFang SC", "Noto Sans SC", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font);color:var(--text);background:#0b1210;overflow:hidden}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{width:0;height:0;display:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#ffffff14;outline:none;padding:12px 14px;box-shadow:inset 0 1px #ffffff1f}select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-color:#1c222b}select option,select optgroup{color:#12151a;background-color:#fff}input:focus,select:focus,textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px var(--mint-glow)}input:read-only{opacity:.7;color:var(--text-muted)}.app-viewport{background:radial-gradient(at 30% 20%,#1a3a30 0%,#0000 50%),radial-gradient(at 70% 80%,#0f2a22 0%,#0000 45%),#0b1210;place-items:center;width:100%;height:100%;display:grid}.phone{aspect-ratio:9/16;background:radial-gradient(circle at 16% 10%, #ffffff1f 0%, transparent 30%), radial-gradient(circle at 84% 24%, #78829640 0%, transparent 38%), radial-gradient(circle at 28% 70%, #505a6e4d 0%, transparent 42%), radial-gradient(circle at 72% 88%, #646e8233 0%, transparent 40%), var(--bg);width:min(100vw,56.25dvh);max-width:430px;height:min(100dvh,177.778vw);color:var(--text);isolation:isolate;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:min(28px,4vw);flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff1f,0 24px 80px #00000073}.phone.phone-bg{background:url(/default-bg.png) center / cover no-repeat, var(--bg)}.phone.phone-bg:before{content:"";background:linear-gradient(180deg, #0000008c, #000000ad), color-mix(in srgb, var(--bg) 58%, transparent);pointer-events:none;z-index:0;position:absolute;inset:0}.phone.phone-bg:after{content:"";pointer-events:none;z-index:0;mix-blend-mode:soft-light;opacity:.55;background:radial-gradient(circle at 30% 20%,#ffffff0a,#0000 28%),radial-gradient(circle at 70% 70%,#8c96aa14,#0000 32%);position:absolute;inset:0}.phone.phone-bg>*{z-index:1}@media (width<=900px),(hover:none) and (pointer:coarse){html,body,#root{background:var(--bg);height:var(--app-height);max-height:none}.app-viewport{background:var(--bg);width:100%;height:var(--app-height);max-height:none;display:block;position:fixed;top:0;left:0}.phone{width:100%;max-width:none;height:100%;min-height:0;max-height:none;box-shadow:none;aspect-ratio:unset;border-radius:0}.phone:has(.tabbar) .page{padding-bottom:16px}}html.standalone,html.standalone body,html.standalone #root{height:100%;height:-webkit-fill-available;min-height:100%;min-height:-webkit-fill-available;max-height:none}html.standalone .app-viewport,html.standalone .phone{height:var(--app-height);min-height:100%;min-height:-webkit-fill-available;max-height:none}@media (display-mode:standalone),(display-mode:fullscreen){html,body,#root{height:100%;height:-webkit-fill-available;min-height:-webkit-fill-available;max-height:none}.app-viewport,.phone{height:var(--app-height);min-height:-webkit-fill-available;max-height:none}}.page{min-height:0;padding:calc(16px + var(--safe-top)) 16px calc(12px + var(--safe-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;overflow:hidden auto}.phone:has(.tabbar) .page{padding-bottom:16px}.page-title{font-family:var(--display);letter-spacing:-.02em;margin-bottom:4px;font-size:22px;font-weight:700}.page-header{margin-bottom:4px}.page-header-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.page-header-main{flex:1;min-width:0}.page-header .page-title{margin-top:2px}.home-top{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:4px;display:flex}.home-top .brand{margin:0}.admin-server-host{border:1px solid var(--border-soft);max-width:52%;color:var(--mint);letter-spacing:.01em;text-align:right;word-break:break-all;background:#ffffff0f;border-radius:8px;flex-shrink:0;margin-top:6px;padding:4px 8px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:11px;font-weight:600;line-height:1.3}.login-server-host{text-align:left;max-width:100%;margin:10px 0 0;display:inline-block}.back-btn{min-height:40px;color:var(--mint-deep);border-radius:10px;align-items:center;gap:2px;margin:-8px 0 4px -8px;padding:8px 10px;font-size:14px;font-weight:600;display:inline-flex}.back-btn:active{background:#ffffff59}.page-sub{color:var(--text-muted);margin-bottom:16px;font-size:13px}.brand{font-family:var(--display);letter-spacing:-.03em;color:var(--mint);font-size:28px;font-weight:800}.brand-btn{text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-items:baseline;gap:0;margin:0;padding:0;display:inline-flex}.brand-btn:active{opacity:.75}.brand span{font-family:var(--font);color:var(--text-muted);letter-spacing:0;margin-left:8px;font-size:14px;font-weight:500}.about-modal{text-align:center;padding-top:28px}.about-icon{border-radius:18px;width:72px;height:72px;margin:0 auto 14px;display:block}.about-title{font-family:var(--display);letter-spacing:-.03em;color:var(--mint);margin:0 0 6px;font-size:24px;font-weight:800}.about-version{color:var(--text);margin:0 0 4px;font-size:14px}.about-copy{color:var(--text-muted);margin:0 0 16px;font-size:13px}.about-copyright{color:var(--text-muted);margin:0 0 20px;font-size:12px;line-height:1.45}.card{isolation:isolate;background:var(--bg-elev);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);margin-bottom:12px;padding:16px;position:relative;overflow:hidden}.card:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:var(--glass-sheen);mix-blend-mode:screen;position:absolute;inset:0}.card>*{z-index:1;position:relative}.card.card-list{padding-top:4px;padding-bottom:4px;overflow:hidden}button.card-tap{text-align:left;width:100%;color:inherit;cursor:pointer;display:block}button.card-tap:active{opacity:.85}.card h3{color:var(--text-muted);margin-bottom:10px;font-size:14px;font-weight:600}.btn{border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:0 18px;font-size:15px;font-weight:600;transition:transform .15s,opacity .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:var(--text);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);background:0 0}.btn-ghost{-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);background:0 0}.btn-danger{background:color-mix(in srgb, var(--danger) 14%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:var(--danger);border:1px solid color-mix(in srgb, var(--danger) 22%, transparent);width:100%}.btn-row{gap:10px;display:flex}.btn-row+.btn-row{margin-top:12px}.btn-row .btn{flex:1;width:auto;min-width:0}.backup-list{margin:12px 0 0;padding:0;list-style:none}.backup-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.backup-item:last-child{border-bottom:none;padding-bottom:0}.backup-meta{flex:1;min-width:0}.backup-name{overflow-wrap:anywhere;word-break:normal;font-size:13px;font-weight:600;line-height:1.35}.backup-kind{vertical-align:middle;color:var(--text);border:1px solid var(--border);background:#ffffff14;border-radius:999px;margin-right:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.backup-kind.auto{color:var(--mint-deep);background:#7eb6ff29;border-color:#7eb6ff66}.backup-dl{flex:none;width:auto;min-height:40px;padding:0 14px;font-size:14px}.backup-actions{flex-shrink:0;gap:8px;display:flex}.backup-del{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 28%, transparent)}.tabbar{height:calc(var(--tab-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-top:1px solid var(--border);z-index:20;flex-shrink:0;grid-template-columns:repeat(5,1fr);display:grid;position:relative;overflow:visible;box-shadow:0 -8px 28px #0003,inset 0 1px #ffffff73}.tabbar button{color:#ffffff8c;min-height:var(--tab-h);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:11px;display:flex}.tabbar button.active{color:#fff}.tabbar svg{width:22px;height:22px}.scan-tab .scan-fab{width:52px;height:52px;-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:#fff;border:1px solid var(--border);box-shadow:var(--shadow);background:0 0;border-radius:50%;place-items:center;display:grid}.scan-tab.active .scan-fab{outline-offset:2px;outline:2px solid #fff}.offline{z-index:40;background:color-mix(in srgb, var(--warn) 78%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:#1a1a1a;text-align:center;border-bottom:1px solid #ffffff59;padding:8px;font-size:12px;font-weight:600;animation:.25s slideDown;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 1px #ffffff59}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.modal-mask{-webkit-backdrop-filter:blur(8px)saturate(140%);backdrop-filter:blur(8px)saturate(140%);z-index:80;background:#0a120f47;place-items:start center;padding:0;animation:.2s fadeIn;display:grid;position:absolute;inset:0}@media (width<=900px),(hover:none) and (pointer:coarse){.modal-mask{position:fixed}}.phone:has(.tabbar) .modal-mask{padding-bottom:calc(var(--tab-h) + var(--safe-bottom))}.modal-mask.center{place-items:start center}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:100%;height:auto;max-height:calc(100% - var(--safe-top));margin-top:var(--safe-top);background:var(--bg-elev);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--border);overscroll-behavior:contain;box-sizing:border-box;box-shadow:var(--shadow);border-top:none;border-radius:0 0 22px 22px;padding:16px 18px 18px;animation:.28s dropIn;overflow-y:auto}.modal-mask.center .modal{border-radius:0 0 16px 16px;max-width:100%}@keyframes dropIn{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.modal h2{font-family:var(--display);margin-bottom:8px;font-size:18px}.modal p,.privacy-body{color:var(--text-muted);font-size:13px;line-height:1.6}.privacy-body{background:color-mix(in srgb, var(--bg-elev) 55%, transparent);max-height:40vh;-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-radius:var(--radius-sm);border:1px solid var(--border);margin:12px 0 16px;padding:12px;overflow-y:auto;box-shadow:inset 0 1px #ffffff4d}.field{margin-bottom:12px}.field label{color:color-mix(in srgb, var(--text) 88%, var(--text-muted));margin-bottom:6px;font-size:12px;display:block}.cal-ring{grid-template-columns:1fr 1fr;align-items:center;gap:12px;display:grid}.ring{background:0 0;border-radius:50%;place-items:center;width:120px;height:120px;margin:0 auto;display:grid;position:relative}.ring:before{content:"";background:conic-gradient(var(--mint) var(--pct,0%), var(--border) 0);pointer-events:none;border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 58%,#000 59%);mask:radial-gradient(circle,#0000 58%,#000 59%)}.ring.over:before{background:conic-gradient(var(--danger) var(--pct,0%), var(--border) 0)}.ring-inner{text-align:center;z-index:1;color:#fff;position:relative}.ring-inner strong{font-family:var(--display);color:#fff;font-size:22px;font-weight:700;display:block}.ring-inner small{color:#ffffffc7;font-size:11px}.stat-list{flex-direction:column;gap:8px;font-size:13px;display:flex}.stat-list div{justify-content:space-between;display:flex}.stat-list span{color:var(--text-muted)}.quick-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.quick-grid-4{grid-template-columns:repeat(4,1fr);gap:8px}.quick-grid-4 .quick{border-radius:12px;gap:4px;min-height:0;padding:8px 4px}.quick-grid-4 .quick .ico{border-radius:10px;width:32px;height:32px;font-size:15px}.quick-grid-4 .quick span{font-size:11px;line-height:1.2}.quick.add-action{text-align:left;flex-direction:row;justify-content:flex-start;gap:10px;width:100%;min-height:0;margin-bottom:12px;padding:10px 14px}.quick.add-action .ico{border-radius:10px;flex-shrink:0;width:32px;height:32px;font-size:15px}.quick.add-action span{font-size:14px;font-weight:600}.quick{isolation:isolate;background:var(--bg-elev);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--border);border-radius:var(--radius);text-align:center;min-height:88px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:14px 8px;display:flex;position:relative;overflow:hidden}.quick:after{content:"";z-index:0;border-radius:inherit;pointer-events:none;background:var(--glass-sheen);mix-blend-mode:screen;position:absolute;inset:0}.quick>*{z-index:1;position:relative}.quick .ico{color:#fff;border:1px solid var(--border);background:#ffffff59;border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;display:grid;box-shadow:inset 0 1px #ffffff73}.quick span{font-size:12px;font-weight:600}.chart{align-items:flex-end;gap:6px;height:120px;padding-top:8px;display:flex}.chart-bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.chart-bar .bar{background:linear-gradient(180deg, var(--mint), var(--mint-deep));border-radius:8px 8px 4px 4px;width:100%;min-height:4px;transition:height .4s}.chart-bar small{color:var(--text-muted);font-size:10px}.seg{background:var(--bg-elev);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:1fr 1fr;margin-bottom:14px;padding:4px;display:grid}.seg-3{grid-template-columns:1fr 1fr 1fr}.seg-2{grid-template-columns:1fr 1fr}.seg-4{grid-template-columns:1fr 1fr 1fr 1fr}.seg-4 button{min-height:36px;padding:0 4px;font-size:13px}.chart-range-seg{margin:8px 0 6px}.chart-range-seg button{min-height:34px;font-size:13px}.seg button{min-height:40px;color:var(--text-muted);border-radius:12px;font-size:14px;font-weight:600}.seg button.on{background:color-mix(in srgb, var(--bg-elev) 88%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:#fff;box-shadow:var(--shadow);border:1px solid var(--border)}.list-item{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 0;display:flex}.list-item:last-child{border-bottom:none}button.list-item{text-align:left;width:100%;color:inherit;background:0 0;border-radius:0}button.list-item:active{opacity:.7}.list-item .meta{flex:1;min-width:0}.list-item .meta strong{white-space:nowrap;text-overflow:ellipsis;font-size:14px;display:block;overflow:hidden}.list-item .meta small{color:var(--text-muted);font-size:12px}.list-item .kcal{color:var(--mint-deep);white-space:nowrap;font-size:14px;font-weight:700}.list-item-ex{justify-content:space-between;align-items:center;gap:12px}.list-item-ex .list-item-main{text-align:left;flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.list-item-ex .list-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;display:block;overflow:hidden}.list-item-ex .list-item-tip{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.35;display:block;overflow:hidden}.list-item-ex .list-item-kcal{color:var(--text);white-space:nowrap;flex-shrink:0;font-size:15px;font-weight:700}.list-actions{gap:4px;display:flex}.list-actions button{min-width:44px;min-height:44px;color:var(--text-muted);border-radius:12px;font-size:12px}.list-actions button:active{-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--border);background:#ffffff59}.empty{text-align:center;color:var(--text-muted);padding:40px 16px;font-size:14px}.scan-preview{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);background:#fff3;margin-bottom:12px}.album-gate{z-index:60;padding:20px 16px calc(20px + var(--safe-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c10eb;align-content:center;gap:14px;display:grid;position:fixed;inset:0}.album-gate-tip{text-align:center;color:var(--text);margin:0;font-size:15px;font-weight:600}.album-gate-img{object-fit:contain;border-radius:var(--radius-sm);border:1px solid var(--border);-webkit-touch-callout:default;-webkit-user-select:none;user-select:none;background:#000;width:100%;max-height:55vh}.scan-camera{padding:10px}.scan-camera-view{aspect-ratio:3/4;border-radius:var(--radius-sm);border:1px solid var(--border);background:#000;width:100%;position:relative;overflow:hidden}.scan-video{object-fit:cover;width:100%;height:100%;display:block}.scan-camera-fallback{text-align:center;color:#ffffffd9;background:#0000008c;place-content:center;gap:12px;padding:16px;display:grid;position:absolute;inset:0}.scan-camera-idle{min-height:240px;color:var(--text);background:0 0;position:relative;inset:auto}.scan-camera-bar{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-top:12px;display:grid}.scan-camera-bar .btn:first-child{justify-self:start}.scan-camera-bar .btn:last-child{justify-self:end}.scan-shutter{color:#fff;width:64px;height:64px;box-shadow:var(--shadow);background:#fff3;border:3px solid #ffffffd9;border-radius:50%;font-size:13px;font-weight:700}.scan-shutter:disabled{opacity:.4}.scan-actions{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.check{color:var(--text-muted);align-items:center;gap:10px;min-height:44px;margin:8px 0 14px;font-size:13px;display:flex}.check input{width:20px;height:20px;accent-color:var(--mint)}.menu-list button,.menu-list a{border-bottom:1px solid var(--border);width:100%;min-height:52px;color:inherit;justify-content:space-between;align-items:center;padding:0 4px;font-size:14px;text-decoration:none;display:flex}.menu-list button:last-child,.menu-list a:last-child{border-bottom:none}.menu-list .chev{color:var(--text-muted)}.toast{left:50%;bottom:calc(var(--tab-h) + var(--safe-bottom) + 16px);background:color-mix(in srgb, var(--text) 78%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:var(--bg);z-index:90;white-space:nowrap;text-overflow:ellipsis;border:1px solid #ffffff3d;border-radius:999px;max-width:90%;padding:10px 16px;font-size:13px;animation:.2s fadeIn;position:absolute;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 28px #0003,inset 0 1px #ffffff38}.loading-overlay{-webkit-backdrop-filter:blur(6px)saturate(140%);backdrop-filter:blur(6px)saturate(140%);z-index:55;background:#0a120f38;place-items:center;display:grid;position:absolute;inset:0}.spinner{border:3px solid var(--border);border-top-color:var(--mint);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-box{background:color-mix(in srgb, var(--bg-elev) 78%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;align-items:center;gap:12px;padding:20px 28px;font-size:13px;display:flex}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.grid-2>.field{min-width:0}input[type=date]{appearance:none;width:100%;min-width:0;max-width:100%;display:block}.login-hero{text-align:center;padding:32px 8px 20px}.code-row{grid-template-columns:1fr auto;gap:8px;display:grid}.code-row .btn{white-space:nowrap;min-width:110px}.line-chart{width:100%;height:148px}.line-chart svg{width:100%;height:100%}.calorie-chart{margin-top:4px}.calorie-chart-svg{width:100%;height:168px;display:block}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:10px 14px;margin-top:8px;font-size:11px;display:flex}.chart-legend span{align-items:center;gap:5px;display:inline-flex}.chart-legend .lg{border-radius:2px;width:14px;height:3px;display:inline-block}.lg-net{background:var(--mint-deep);height:4px!important}.lg-diet{background:#5b8def}.lg-ex{background:#e6a23c}.lg-bmr{border-top:2px dashed var(--text-muted);background:0 0;width:16px;height:0!important}.chart-note{color:var(--text-muted);margin-top:8px;font-size:11px;line-height:1.4}.plan-card h3{margin-bottom:12px}.plan-progress{background:color-mix(in srgb, var(--bg-elev) 40%, transparent);height:8px;-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border:1px solid var(--border);border-radius:999px;margin-bottom:8px;overflow:hidden;box-shadow:inset 0 1px #ffffff40}.plan-progress-bar{background:linear-gradient(90deg, var(--mint), var(--mint-deep));border-radius:999px;height:100%;transition:width .35s}.plan-progress-label{color:var(--text-muted);margin-bottom:12px;font-size:12px}.plan-preview{background:color-mix(in srgb, var(--bg-elev) 50%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-muted);margin-top:8px;margin-bottom:16px;padding:12px;font-size:13px;line-height:1.6;box-shadow:inset 0 1px #ffffff47}.plan-preview strong{color:var(--mint-deep)}.modal .btn-row{gap:12px;margin-top:16px}.modal .plan-actions{margin-top:20px;padding-top:4px}.strategy-list{flex-direction:column;gap:8px;display:flex}.strategy-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-elev) 55%, transparent);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:inherit;width:100%;box-shadow:var(--shadow);padding:12px}.strategy-card.on{border-color:color-mix(in srgb, var(--mint) 45%, var(--border));box-shadow:0 0 0 2px var(--mint-glow), var(--shadow);background:#ffffff61}.strategy-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.strategy-head span{color:var(--mint-deep);white-space:nowrap;font-size:11px;font-weight:600}.strategy-card small{color:var(--text-muted);font-size:12px;line-height:1.4}.admin-user-row{cursor:default;align-items:flex-start}.admin-users-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-users-count{align-items:baseline;gap:10px;min-width:0;display:flex}.admin-users-count span{color:var(--text-muted);font-size:13px}.admin-users-count strong{font-size:20px;font-weight:700}.admin-users-toolbar .btn{flex:none;margin:0}.admin-user-row .meta{flex:1;min-width:0}.admin-user-row .meta small{margin-top:2px;display:block}.admin-user-row .admin-openid{word-break:break-all;opacity:.85;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.admin-user-actions{flex-direction:column;flex:none;align-self:start;gap:6px;width:96px;margin-top:0;display:flex}.admin-test,.admin-del{box-sizing:border-box;white-space:nowrap;width:100%;-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);border-radius:10px;margin:0;padding:6px 8px;font-size:12px;font-weight:600;line-height:1.25}.admin-test{color:var(--text);border:1px solid var(--border);background:0 0}.admin-test.on{color:#7eb6ff;background:#7eb6ff1f;border-color:#7eb6ff66}.admin-del{color:var(--danger);background:color-mix(in srgb, var(--danger) 14%, transparent);border:1px solid color-mix(in srgb, var(--danger) 22%, transparent)}.admin-tabbar{grid-template-columns:repeat(4,1fr)}.sample-badge{white-space:nowrap;background:#ffffff14;border:1px solid #ffffff47;border-radius:999px;flex:none;padding:1px 8px;font-size:12px;font-weight:600;line-height:1.4;display:inline-block}.sample-badge-label{color:#9ec5ff;border-color:#7eb6ff8c}.sample-badge-barcode{color:#8fe0ad;border-color:#6bcf8e8c}.sample-badge-vision{color:#f0b48a;border-color:#e8955d8c}.sample-row{cursor:pointer;align-items:flex-start;gap:10px}.sample-row .sample-badge{margin-top:2px}.sample-row-foods{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.sample-food-line{color:var(--text);word-break:break-word;font-size:13px;font-weight:600;line-height:1.35}.sample-food-line.muted{color:var(--text-muted);font-weight:500}.sample-row-actions{flex-direction:column;flex:none;align-self:flex-start;gap:6px;width:72px;display:flex}.sample-row-id{box-sizing:border-box;border:1px solid var(--border);background:color-mix(in srgb, var(--bg-elev) 70%, transparent);width:100%;color:var(--text-muted);white-space:nowrap;cursor:pointer;border-radius:10px;margin:0;padding:6px 8px;font-size:12px;font-weight:600;line-height:1.25}.sample-row-id:hover{color:var(--text);border-color:color-mix(in srgb, var(--mint) 45%, var(--border))}.sample-row-del{flex:none;align-self:stretch;width:100%;padding:6px 8px}.sample-detail-mask{place-items:center;padding:12px}.phone:has(.tabbar) .sample-detail-mask{padding-bottom:calc(12px + var(--tab-h) + var(--safe-bottom))}.sample-detail-mask.is-full{place-items:stretch stretch;padding:0}.phone:has(.tabbar) .sample-detail-mask.is-full{padding-bottom:calc(var(--tab-h) + var(--safe-bottom))}.sample-detail-modal.modal{border:1px solid var(--border);overscroll-behavior:contain;border-radius:22px;width:100%;height:fit-content;max-height:100%;margin-top:0;overflow-y:auto}.sample-detail-mask.is-full .sample-detail-modal.modal{border-top:none;border-left:none;border-right:none;border-radius:0;height:100%;max-height:100%}.sample-detail-img{object-fit:contain;background:#00000059;border-radius:12px;width:100%;max-height:min(36vh,280px);display:block}.sample-json{color:var(--text-muted);white-space:pre-wrap;word-break:break-word;background:#00000047;border:1px solid #ffffff1f;border-radius:10px;max-height:none;margin:0;padding:10px 12px;font-size:12px;line-height:1.45;overflow:visible}.bg-preview{border-radius:var(--radius-sm);width:100%;height:160px;color:var(--text-muted);border:1px solid var(--border);box-shadow:var(--shadow);background:#fff3 50%/cover;place-items:center;font-size:13px;display:grid;overflow:hidden}@supports ((-webkit-backdrop-filter:url('#lg-refract')) or (backdrop-filter:url('#lg-refract'))){.card,.quick,.btn-primary,.btn-ghost,.btn-danger,.tabbar,.modal,.seg,.seg button.on,.loading-box,.privacy-body,.plan-preview,.strategy-card,.scan-tab .scan-fab{-webkit-backdrop-filter:blur(5px)saturate(110%)brightness(1.08)url(#lg-refract);backdrop-filter:blur(5px)saturate(110%)brightness(1.08)url(#lg-refract)}}
