:root{--uf-brown-950: #161210;--uf-brown-900: #1c1815;--uf-brown-800: #221c18;--uf-brown-700: #282220;--uf-brown-600: #302924;--uf-brown-500: #3a322c;--uf-card: #1c1c1e;--uf-card-elevated: #242426;--uf-card-muted: #2c2c2e;--uf-sidebar: var(--uf-brown-950);--uf-sidebar-hover: rgba(255, 255, 255, .05);--uf-sidebar-border: rgba(255, 255, 255, .07);--uf-sidebar-muted: rgba(181, 169, 163, .88);--uf-sidebar-text: rgba(245, 245, 245, .92);--uf-canvas: var(--uf-brown-950);--uf-bg: var(--uf-canvas);--uf-canvas-mesh: radial-gradient(1200px 600px at 8% -10%, rgba(230, 81, 0, .1), transparent 55%), radial-gradient(900px 500px at 100% 0%, rgba(180, 90, 40, .06), transparent 50%), linear-gradient(165deg, var(--uf-brown-900) 0%, var(--uf-brown-950) 42%, #12100e 100%);--uf-surface: var(--uf-card);--uf-surface-elevated: var(--uf-card-elevated);--uf-surface-muted: var(--uf-card-muted);--uf-surface-hover: rgba(255, 255, 255, .06);--uf-text: #f5f5f5;--uf-text-secondary: #aeaeb2;--uf-text-muted: #7a6f6a;--uf-border: rgba(255, 255, 255, .08);--uf-border-strong: rgba(255, 255, 255, .12);--uf-accent: #e65100;--uf-accent-strong: #d35400;--uf-accent-soft: rgba(230, 81, 0, .14);--uf-accent-glow: rgba(230, 81, 0, .35);--uf-accent-border: rgba(230, 81, 0, .32);--uf-accent-border-strong: rgba(230, 81, 0, .48);--uf-input-bg: var(--uf-card-elevated);--uf-input-border: var(--uf-border-strong);--uf-field-bg: var(--uf-card-muted);--uf-field-border: rgba(255, 255, 255, .1);--uf-tab-active: #4a3228;--uf-tab-inactive: var(--uf-surface);--uf-warning: #f59e0b;--uf-warning-soft: rgba(245, 158, 11, .12);--uf-warning-border: rgba(245, 158, 11, .35);--uf-warning-text: #fbbf24;--uf-warning-surface: rgba(251, 191, 36, .1);--uf-info: #38bdf8;--uf-info-soft: rgba(56, 189, 248, .1);--uf-info-border: rgba(56, 189, 248, .35);--uf-danger: #f87171;--uf-danger-soft: rgba(248, 113, 113, .12);--uf-radius-sm: 10px;--uf-radius: 14px;--uf-radius-lg: 22px;--uf-shadow-sm: 0 1px 2px rgba(0, 0, 0, .25);--uf-shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--uf-shadow-lg: 0 18px 50px rgba(0, 0, 0, .45);--uf-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--uf-transition-fast: .18s ease;--uf-transition: .24s cubic-bezier(.4, 0, .2, 1);--uf-main-pad-x: 0px;--uf-main-pad-top: 0px;--uf-content-pad: .85rem;--uf-dock-reserve: calc( .4rem + .64rem + 1.28rem + .18rem + .65rem + .45rem + env(safe-area-inset-bottom, 0px) )}@media (min-width: 1024px){:root{--uf-main-pad-x: clamp(22px, 3.5vw, 40px);--uf-main-pad-top: 2rem;--uf-content-pad: 0}}html{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden;max-width:100%}#app{max-width:100%;overflow-x:hidden}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),textarea,select{background-color:var(--uf-input-bg);color:var(--uf-text);border-color:var(--uf-border)}input::placeholder,textarea::placeholder{color:var(--uf-text-muted)}input:focus:not([type=checkbox]):not([type=radio]),textarea:focus,select:focus{outline:none;border-color:var(--uf-accent-border-strong);box-shadow:0 0 0 3px var(--uf-accent-soft)}input[type=checkbox],input[type=radio]{-moz-appearance:none;appearance:none;-webkit-appearance:none;flex-shrink:0;margin:0;border:1.5px solid var(--uf-border-strong);background:var(--uf-surface-hover);cursor:pointer;transition:border-color var(--uf-transition-fast),background var(--uf-transition-fast),box-shadow var(--uf-transition-fast)}input[type=radio]{border-radius:50%}input[type=checkbox]{border-radius:5px}input[type=checkbox]:checked{background-color:var(--uf-accent-strong);border-color:var(--uf-accent-strong);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2.5-2.5a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center;background-size:.8rem}input[type=radio]:checked{border-color:var(--uf-accent-strong);background:radial-gradient(circle,var(--uf-accent-strong) 38%,var(--uf-surface-hover) 40%)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:none;box-shadow:0 0 0 3px var(--uf-accent-soft)}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.45;cursor:not-allowed}.uf-animate-in{animation:uf-fade-slide .45s cubic-bezier(.22,1,.36,1) forwards}@keyframes uf-fade-slide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spf{display:flex;flex-direction:column;gap:1rem}.spf-card{display:flex;flex-direction:column;gap:.75rem;padding:.85rem .9rem;border-radius:var(--tf-radius-sm, var(--uf-radius-sm, 10px));background:var(--tf-surface-muted, #2c2c2e);border:1px solid var(--tf-border, var(--uf-border, rgba(255, 255, 255, .08)))}.spf-card-title{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b))}.spf-field{display:flex;flex-direction:column;gap:.28rem;min-width:0}.spf-field-label{font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b));line-height:1.2}.spf-select,.spf-input,.spf-textarea{width:100%;min-width:0;padding:.5rem .55rem;border:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)));border-radius:8px;font-family:inherit;font-size:.88rem;background:var(--tf-input-bg, #242426);color:var(--tf-text, #f5f5f5);transition:border-color .15s ease}.spf-textarea{resize:vertical;min-height:4.5rem}.spf-select:focus,.spf-input:focus,.spf-textarea:focus{outline:none;border-color:var(--tf-accent-border-strong, rgba(230, 81, 0, .48));box-shadow:0 0 0 3px var(--tf-accent-soft, rgba(230, 81, 0, .14))}.spf-readonly{padding:.5rem .55rem;border-radius:8px;background:var(--tf-surface-muted, #2c2c2e);border:1px solid var(--tf-border, rgba(255, 255, 255, .08));font-size:.88rem;font-weight:600;color:var(--tf-text, #f5f5f5);line-height:1.4}.spf-readonly--amber{background:var(--tf-warning-surface);border-color:var(--tf-warning-border);color:var(--tf-warning-text)}.spf-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.spf-metrics--2{grid-template-columns:repeat(2,minmax(0,1fr))}.spf-row-2{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .45rem;align-items:end}.spf-row-2 .spf-field-label{min-height:2.4em;display:block}@media (max-width: 480px){.spf-row-2{grid-template-columns:1fr;align-items:stretch}.spf-row-2 .spf-field-label{min-height:0}}.spf-hint{margin:0;font-size:.82rem;line-height:1.45;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b))}.spf-hint--warn{color:#b45309;font-weight:600}.spf-check,.spf-radio{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:600;color:var(--tf-text, var(--uf-text, #0f172a));cursor:pointer}.spf-check input,.spf-radio input{accent-color:var(--tf-accent-strong, var(--uf-accent-strong, #e65100))}.spf-radio-list{display:flex;flex-direction:column;gap:.4rem}.spf-kv{margin:0;display:flex;flex-direction:column;gap:0}.spf-kv-row{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.45rem 0;border-bottom:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)))}.spf-kv-row:last-child{border-bottom:none}.spf-kv-row dt{margin:0;font-size:.82rem;font-weight:600;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b))}.spf-kv-row dd{margin:0;font-size:.9rem;font-weight:700;color:var(--tf-text, var(--uf-text, #0f172a));text-align:right}.spf-photo{width:100%;max-height:200px;object-fit:contain;border-radius:8px;background:var(--tf-surface-muted, #2c2c2e)}.spf-error{margin:0;padding:.55rem .75rem;border-radius:var(--tf-radius-sm, var(--uf-radius-sm, 10px));background:var(--tf-danger-soft, var(--uf-danger-soft, rgba(244, 63, 94, .1)));color:var(--tf-danger, var(--uf-danger, #f43f5e));font-size:.86rem;font-weight:500}.spf-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;width:100%}.spf-footer--split{justify-content:space-between}@media (max-width: 520px){.spf-footer--split{flex-direction:column;align-items:stretch}.spf-footer--split .spf-footer-actions{margin-left:0;width:100%}.spf-footer--split .spf-footer-actions .spf-btn{flex:1;min-width:0}.spf-footer--split>.spf-btn{width:100%}}.spf-footer-actions{display:flex;gap:.6rem;margin-left:auto}.spf-footer--stack .spf-footer-actions,.spf-footer--stack .spf-footer-actions--grow{margin-left:0;width:100%}.spf-footer-actions--grow .spf-btn{flex:1;min-width:0}.spf-btn-block{width:100%}.spf-btn-lg{padding:.78rem 1.15rem;font-size:.95rem}.spf-btn-sm{padding:.45rem .85rem;font-size:.82rem}.spf-footer--primary-first>.spf-btn-primary.spf-btn-block{order:-1}.spf-footer-secondary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.spf-footer-secondary:has(:only-child){justify-content:center}.spf-btn-text{padding:.35rem .25rem;font-size:.8rem;font-weight:600;background:transparent;border:none;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.spf-btn-text:hover:not(:disabled){opacity:.85}.spf-btn-text-warn{color:#b45309}.spf-btn-text-danger{color:#dc2626}.spf-btn{padding:.6rem 1.1rem;border-radius:var(--tf-radius-sm, var(--uf-radius-sm, 10px));font-family:inherit;font-size:.88rem;font-weight:700;cursor:pointer;border:none;transition:transform .15s ease,opacity .15s ease}.spf-btn:active:not(:disabled){transform:scale(.98)}.spf-btn:disabled{opacity:.55;cursor:not-allowed}.spf-btn-ghost{background:var(--tf-surface-hover);color:var(--tf-text);border:1px solid var(--tf-border)}.spf-btn-ghost:hover:not(:disabled){background:var(--tf-surface-muted)}.spf-btn-primary{color:#fff;background:linear-gradient(135deg,var(--tf-accent, var(--uf-accent)),var(--tf-accent-strong, var(--uf-accent-strong)));box-shadow:0 4px 14px var(--tf-accent-glow, var(--uf-accent-glow, rgba(52, 211, 153, .35)))}.spf-btn-danger{color:#fff;background:linear-gradient(135deg,#ef4444,#dc2626)}.spf-btn-warn{color:#92400e;background:#f59e0b26;border:1px solid rgba(245,158,11,.35)}.spf-field .app-select{width:100%}.spf-field .app-select-trigger{padding:.5rem .55rem;border-radius:8px;font-size:.88rem;border:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)))}.spf-field .app-select-trigger.open{border-color:var(--tf-accent-border-strong);box-shadow:0 0 0 3px var(--tf-accent-soft)}.spf-metrics .spf-input{text-align:center}.spf-rest-row{display:flex;align-items:center;gap:.5rem}.spf-rest-input{max-width:5.5rem}.spf-rest-unit{font-size:.86rem;font-weight:600;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b))}.spf-footer--stack{flex-direction:column;align-items:stretch}.spf-scanner-frame{position:relative;border-radius:var(--tf-radius-sm, var(--uf-radius-sm, 10px));overflow:hidden;background:#0f172a;min-height:280px}.spf-scanner-video{width:100%;height:clamp(280px,45vh,420px);object-fit:cover;display:block}.spf-scanner-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1rem;font-weight:600;color:#e2e8f0;background:#0f172abd}.spf-scanner-state-err{color:#fecaca}@media (max-width: 480px){.spf-metrics{grid-template-columns:1fr 1fr}}.sp-root[data-v-a891ca59]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;justify-content:flex-end}.sp-dock-slot[data-v-a891ca59]{display:flex;flex-direction:column;min-height:0;height:100%}.sp-backdrop[data-v-a891ca59]{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#0f172a66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer}.sp-panel[data-v-a891ca59]{position:relative;z-index:1;width:100%;height:100%;max-height:100dvh;display:flex;flex-direction:column;background:var(--tf-surface-elevated, var(--uf-surface-elevated, var(--uf-surface-elevated)));border-left:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)));box-shadow:-12px 0 40px #0f172a1f}.sp-panel--dock[data-v-a891ca59]{position:sticky;top:0;max-height:calc(100dvh - 2rem);height:calc(100dvh - 2rem);box-shadow:none;border-left:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)));border-radius:var(--tf-radius-lg, var(--uf-radius-lg, 22px)) 0 0 var(--tf-radius-lg, var(--uf-radius-lg, 22px))}.sp-header[data-v-a891ca59]{flex-shrink:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)));background:var(--tf-surface, var(--uf-surface, var(--uf-surface-elevated)))}.sp-title[data-v-a891ca59]{margin:0;font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:var(--tf-text, var(--uf-text, #0f172a));line-height:1.25}.sp-subtitle[data-v-a891ca59]{margin:.35rem 0 0;font-size:.86rem;line-height:1.45;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b));max-width:36ch}.sp-close[data-v-a891ca59]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--tf-radius-sm, var(--uf-radius-sm, 10px));background:#0f172a0d;color:var(--tf-text-secondary, var(--uf-text-secondary, #64748b));cursor:pointer;transition:background var(--tf-transition-fast),color var(--tf-transition-fast)}.sp-close[data-v-a891ca59]:hover{background:#0f172a17;color:var(--tf-text, var(--uf-text, #0f172a))}.sp-close-ico[data-v-a891ca59]{width:1.2rem;height:1.2rem}.sp-body[data-v-a891ca59]{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.1rem 1.25rem 1.25rem}.sp-footer[data-v-a891ca59]{flex-shrink:0;padding:.9rem 1.25rem calc(1.15rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--tf-border, var(--uf-border, rgba(15, 23, 42, .08)));background:var(--tf-surface, var(--uf-surface, var(--uf-surface-elevated)));box-shadow:0 -4px 20px #0f172a0a}.side-panel-enter-active[data-v-a891ca59],.side-panel-leave-active[data-v-a891ca59],.side-panel-dock-enter-active[data-v-a891ca59],.side-panel-dock-leave-active[data-v-a891ca59]{transition:opacity var(--tf-transition)}.side-panel-enter-active .sp-panel[data-v-a891ca59],.side-panel-leave-active .sp-panel[data-v-a891ca59]{transition:transform var(--tf-transition)}.side-panel-dock-enter-active .sp-panel--dock[data-v-a891ca59],.side-panel-dock-leave-active .sp-panel--dock[data-v-a891ca59]{transition:transform var(--tf-transition),opacity var(--tf-transition)}.side-panel-enter-from[data-v-a891ca59],.side-panel-leave-to[data-v-a891ca59]{opacity:0}.side-panel-enter-from .sp-panel[data-v-a891ca59],.side-panel-leave-to .sp-panel[data-v-a891ca59]{transform:translate(100%)}.side-panel-dock-enter-from[data-v-a891ca59],.side-panel-dock-leave-to[data-v-a891ca59]{opacity:0}.side-panel-dock-enter-from .sp-panel--dock[data-v-a891ca59],.side-panel-dock-leave-to .sp-panel--dock[data-v-a891ca59]{transform:translate(1.5rem)}@media (max-width: 899px){.sp-panel--dock[data-v-a891ca59]{max-height:100dvh;height:100dvh;border-radius:0}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--uf-font);line-height:1.58;color:var(--uf-text);background:var(--uf-canvas-mesh);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;min-height:100dvh;width:100%;max-width:100%;overflow-x:hidden}html{scroll-behavior:smooth}@media (max-width: 1023px){.uf-main{padding-left:max(12px,env(safe-area-inset-left))!important;padding-right:max(12px,env(safe-area-inset-right))!important}.uf-main-slot{width:100%!important;max-width:100%!important;margin:0!important;padding-left:0!important;padding-right:0!important;box-sizing:border-box!important}.uf-main-slot .card,.uf-main-slot .panel,.uf-main-slot .state-card,.uf-main-slot .form-section,.uf-main-slot .tab-panel,.uf-main-slot .nutrition-card,.uf-main-slot .current-panel,.uf-main-slot .preview-panel,.uf-main-slot .connect-section,.uf-main-slot .notify-item,.uf-main-slot .radio-card,.uf-main-slot .checkbox-card{border:none!important;border-radius:0!important;box-shadow:none!important}}
