:root{color-scheme:dark;--bg-base: #121212;--bg-surface: #1a1a1a;--bg-card: #232323;--bg-hover: #2e2e2e;--border-subtle: #2e2e2e;--accent-bronze: #b08d57;--accent-bronze-hover: #c29d66;--accent-text: #121212;--cat-shopping: #1e9e68;--cat-shopping-bg: rgba(30, 158, 104, .14);--cat-shopping-border: rgba(30, 158, 104, .4);--cat-recipe: #fb923c;--cat-recipe-bg: rgba(251, 146, 60, .12);--cat-recipe-border: rgba(251, 146, 60, .35);--cat-todo: #60a5fa;--cat-todo-bg: rgba(96, 165, 250, .12);--cat-todo-border: rgba(96, 165, 250, .35);--text-primary: #e8e6e3;--text-secondary: #9a9a9a;--text-error: #c0605a;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-scale: 1;--font-size-base: 16px;--font-size-scaled: calc(var(--font-size-base) * var(--font-scale));--font-size-sm: calc(14px * var(--font-scale));--font-size-xs: calc(12px * var(--font-scale));--font-size-lg: calc(18px * var(--font-scale));--font-size-xl: calc(22px * var(--font-scale));--touch-target-min: 44px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--transition-fast: .15s ease-out}@media(prefers-reduced-motion:reduce){:root{--transition-fast: 0ms}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-scaled);line-height:1.5;-webkit-text-size-adjust:100%;overscroll-behavior:none;height:100%;overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%}#root{display:flex;flex-direction:column;height:var(--app-height, 100dvh);max-width:600px;margin:0 auto;position:relative;overflow:hidden;overscroll-behavior:none;background-color:var(--bg-base)}:root[data-keyboard=open]{--safe-bottom: 0px}a{color:var(--accent-bronze);text-decoration:none}a:hover,a:focus-visible{color:var(--accent-bronze-hover)}button{font-family:inherit;font-size:inherit;min-height:var(--touch-target-min);min-width:var(--touch-target-min);border:none;cursor:pointer;background:none;color:inherit;touch-action:manipulation}input,textarea{font-family:inherit;font-size:var(--font-size-base);background-color:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:10px 14px}input:focus,textarea:focus{outline:2px solid var(--accent-bronze);outline-offset:-1px}.error-text{color:var(--text-error);font-size:var(--font-size-sm)}
