@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";:root{--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-xxl: 24px;--space-xxxl: 32px;--space-huge: 48px;--font-sans: "Geist", "Inter", "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;--font-display: "Geist", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-sticky: 200;--z-modal: 500;--z-toast: 1000}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;overflow-x:hidden}body{font-family:var(--font-sans);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11";overflow-x:hidden;width:100%;background:var(--bg, #131110);color:var(--text, #f1ece5)}.num,.tabular{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.skip-link{position:fixed;top:-100px;left:16px;z-index:9999;padding:10px 20px;background:var(--copper, #c8956c);color:#1a1412;font-weight:700;font-size:14px;border-radius:8px;text-decoration:none;transition:top .15s ease;box-shadow:0 4px 14px #0006}.skip-link:focus{top:16px}:focus-visible{outline:2px solid var(--copper, #c8956c);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}::selection{background:var(--copper-soft-2, rgba(200, 149, 108, .2));color:var(--text, #f1ece5)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-weight:600;font-size:14px;font-family:inherit;cursor:pointer;transition:all var(--transition-normal);border:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--copper, #c8956c);color:#1a1412;box-shadow:0 1px 2px #00000026,0 0 0 1px #c8956c4d inset}.btn-primary:hover:not(:disabled){background:var(--copper-hover, #d4a57e);transform:translateY(-1px);box-shadow:0 4px 14px #c8956c4d}.btn-ghost{background:transparent;color:var(--text-2, #a39e98);padding:8px}.btn-ghost:hover:not(:disabled){background:var(--surface-hover, rgba(255, 255, 255, .06));color:var(--text, #ede8e3)}.btn-danger{background:var(--danger, #ef4444);color:#fff}.btn-danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #ef44444d}.input{width:100%;padding:12px 16px;border-radius:var(--radius-md);font-family:inherit;font-size:14px;transition:all var(--transition-fast)}.input:focus{outline:none;border-color:#c8956c;box-shadow:0 0 0 3px #c8956c33}.card{border-radius:var(--radius-lg);transition:all var(--transition-normal)}.card:hover{transform:translateY(-2px)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;max-height:90vh;overflow-y:auto;border-radius:var(--radius-xl)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-track{height:6px;border-radius:3px;background:#c8aa8226}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#c8956c;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px #0003;margin-top:-6px}input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:#c8aa8226}input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#c8956c;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px #0003}input[type=range]::-webkit-slider-thumb:hover,input[type=range]::-moz-range-thumb:hover{background:#d4a57e;transform:scale(1.1)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c8aa8233;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#c8aa8259}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.page-transition{animation:fadeInSlide .3s ease-out}.stagger-children>*{animation:fadeInSlide .35s ease-out both}.stagger-children>*:nth-child(1){animation-delay:0ms}.stagger-children>*:nth-child(2){animation-delay:50ms}.stagger-children>*:nth-child(3){animation-delay:.1s}.stagger-children>*:nth-child(4){animation-delay:.15s}.stagger-children>*:nth-child(5){animation-delay:.2s}.stagger-children>*:nth-child(6){animation-delay:.25s}.stagger-children>*:nth-child(7){animation-delay:.3s}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%)}}@keyframes slideIn{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.grid{display:grid}.w-full{width:100%}.h-full{height:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:root{--copper: #c8956c;--copper-hover: #d4a57e;--copper-deep: #a37549;--copper-soft: rgba(200, 149, 108, .12);--copper-soft-2: rgba(200, 149, 108, .2);--success: #10b981;--success-soft: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-soft: rgba(245, 158, 11, .12);--danger: #ef4444;--danger-soft: rgba(239, 68, 68, .12);--info: #06b6d4;--info-soft: rgba(6, 182, 212, .12);--accent: #f59e0b;--accent-soft: rgba(245, 158, 11, .2);--color-primary: var(--copper);--color-primary-hover: var(--copper-hover);--color-primary-light: var(--copper-soft);--color-success: var(--success);--color-success-light: var(--success-soft);--color-warning: var(--warning);--color-warning-light: var(--warning-soft);--color-danger: var(--danger);--color-danger-light: var(--danger-soft);--color-info: var(--info);--color-info-light: var(--info-soft);--color-accent: var(--accent);--color-accent-light: var(--accent-soft)}[data-theme=dark],.theme-dark{--bg: #131110;--bg-elevated: #1c1917;--surface: #1f1c1a;--surface-2: #25211e;--surface-hover: #2b2724;--border: rgba(200, 170, 130, .1);--border-strong: rgba(200, 170, 130, .22);--text: #f1ece5;--text-2: #b3aba2;--text-3: #756d63;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .45);--sidebar-bg: #161311;--color-bg: var(--bg);--color-text: var(--text);--color-text-secondary: var(--text-2);--color-text-muted: var(--text-3);--color-card-bg: var(--surface);--color-card-border: var(--border);--color-card-shadow: var(--shadow-sm);--color-input-bg: var(--surface-2);--color-input-border: var(--border);--color-input-focus: rgba(200, 149, 108, .25);--color-sidebar-bg: var(--sidebar-bg);--color-sidebar-border: var(--border);--backdrop-blur: none}[data-theme=light],.theme-light{--bg: #f6f1e8;--bg-elevated: #fbf7ef;--surface: #ffffff;--surface-2: #faf5ec;--surface-hover: #f3ecdf;--border: rgba(120, 90, 50, .14);--border-strong: rgba(120, 90, 50, .28);--text: #1a1512;--text-2: #524740;--text-3: #8a7e72;--shadow-sm: 0 1px 2px rgba(120, 90, 50, .08);--shadow-md: 0 4px 14px rgba(120, 90, 50, .1);--shadow-lg: 0 12px 30px rgba(120, 90, 50, .14);--sidebar-bg: #f1ead9;--color-bg: var(--bg);--color-text: var(--text);--color-text-secondary: var(--text-2);--color-text-muted: var(--text-3);--color-card-bg: var(--surface);--color-card-border: var(--border);--color-card-shadow: var(--shadow-sm);--color-input-bg: var(--surface);--color-input-border: var(--border);--color-input-focus: rgba(165, 118, 78, .2);--color-sidebar-bg: var(--sidebar-bg);--color-sidebar-border: var(--border);--backdrop-blur: none}.category-base{--cat-color: #8b5cf6;--cat-bg: rgba(139, 92, 246, .15)}.category-appetizers{--cat-color: #10b981;--cat-bg: rgba(16, 185, 129, .15)}.category-mains{--cat-color: #f59e0b;--cat-bg: rgba(245, 158, 11, .15)}.category-desserts{--cat-color: #ec4899;--cat-bg: rgba(236, 72, 153, .15)}.category-beverages{--cat-color: #06b6d4;--cat-bg: rgba(6, 182, 212, .15)}.category-sides{--cat-color: #84cc16;--cat-bg: rgba(132, 204, 22, .15)}.category-soups{--cat-color: #f97316;--cat-bg: rgba(249, 115, 22, .15)}.category-salads{--cat-color: #22c55e;--cat-bg: rgba(34, 197, 94, .15)}.category-breakfast{--cat-color: #fbbf24;--cat-bg: rgba(251, 191, 36, .15)}.category-snacks{--cat-color: #a78bfa;--cat-bg: rgba(167, 139, 250, .15)}.category-other{--cat-color: #6b7280;--cat-bg: rgba(107, 114, 128, .15)}.ing-protein{--cat-color: #ef4444;--cat-bg: rgba(239, 68, 68, .15)}.ing-seafood{--cat-color: #06b6d4;--cat-bg: rgba(6, 182, 212, .15)}.ing-charcuterie{--cat-color: #be185d;--cat-bg: rgba(190, 24, 93, .15)}.ing-dairy{--cat-color: #3b82f6;--cat-bg: rgba(59, 130, 246, .15)}.ing-vegetables{--cat-color: #22c55e;--cat-bg: rgba(34, 197, 94, .15)}.ing-fruits{--cat-color: #ec4899;--cat-bg: rgba(236, 72, 153, .15)}.ing-grains{--cat-color: #f59e0b;--cat-bg: rgba(245, 158, 11, .15)}.ing-pantry{--cat-color: #a16207;--cat-bg: rgba(161, 98, 7, .15)}.ing-oils{--cat-color: #eab308;--cat-bg: rgba(234, 179, 8, .15)}.ing-spices{--cat-color: #a855f7;--cat-bg: rgba(168, 85, 247, .15)}.ing-condiments{--cat-color: #f97316;--cat-bg: rgba(249, 115, 22, .15)}.ing-drinks{--cat-color: #0ea5e9;--cat-bg: rgba(14, 165, 233, .15)}.ing-frozen{--cat-color: #67e8f9;--cat-bg: rgba(103, 232, 249, .15)}.matrix-star{--matrix-color: #10b981;--matrix-bg: rgba(16, 185, 129, .15)}.matrix-workhorse{--matrix-color: #06b6d4;--matrix-bg: rgba(6, 182, 212, .15)}.matrix-puzzle{--matrix-color: #f59e0b;--matrix-bg: rgba(245, 158, 11, .15)}.matrix-dog{--matrix-color: #ef4444;--matrix-bg: rgba(239, 68, 68, .15)}.card{background:var(--color-card-bg);border:1px solid var(--color-card-border);box-shadow:var(--color-card-shadow)}.input{background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-text)}.input::placeholder{color:var(--color-text-muted)}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-input-focus)}@keyframes kp-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width: 768px){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)!important}.content-padding{padding:16px!important}.modal-content{width:95vw!important;max-width:95vw!important;max-height:90vh!important;margin:5vh auto!important}.btn{min-height:44px!important;min-width:44px!important;padding:12px 16px!important;font-size:14px!important}.btn-ghost{min-height:40px!important;min-width:40px!important}.recipe-grid{grid-template-columns:1fr!important}.stats-grid{grid-template-columns:repeat(2,1fr)!important}.health-grid{gap:8px!important}.form-grid-2{grid-template-columns:1fr!important}.tabs{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:none!important}.tabs::-webkit-scrollbar{display:none!important}.input{font-size:16px!important;min-height:44px!important}select.input{min-height:44px!important;font-size:16px!important}.sidebar{position:fixed!important;left:0;top:0;bottom:0;width:280px!important;transform:translate(-100%);transition:transform .3s ease;z-index:400}.sidebar.open{transform:translate(0)}.sidebar-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:399;opacity:0;pointer-events:none;transition:opacity .3s ease}.sidebar-overlay.visible{opacity:1;pointer-events:auto}.main-content{margin-left:0!important;width:100%!important}.mobile-header{display:flex!important;position:sticky;top:0;z-index:100;padding:12px 16px;background:inherit}.desktop-only{display:none!important}}@media (max-width: 480px){.btn-primary{min-height:48px!important;font-size:16px!important}.modal-content{padding:16px!important}h2{font-size:22px!important}.card-actions{flex-wrap:wrap!important;gap:8px!important}.card-actions .btn-ghost{min-width:44px!important;min-height:44px!important;padding:10px!important;font-size:16px!important}.selling-price{font-size:26px!important}.cost-grid{gap:6px!important}.cost-grid>div{padding:8px!important}}@media (max-width: 768px) and (orientation: landscape){.modal-content{max-height:85vh!important;overflow-y:auto!important}}@media (hover: none) and (pointer: coarse){button,a,[role=button]{min-height:44px!important}.btn:hover{transform:none}.btn:active{transform:scale(.98)}.card:active,[role=button]:active{transform:scale(.99);transition:transform .08s ease}}.has-bottom-nav{padding-bottom:calc(72px + env(safe-area-inset-bottom))!important}@media (min-width: 769px){.mobile-only{display:none!important}}
