:root,[data-theme=light]{--color-bg-primary:#f8fafc;--color-bg-secondary:#fff;--color-bg-tertiary:#f1f5f9;--color-bg-input:#fff;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-muted:#94a3b8;--color-accent-primary:#2563eb;--color-accent-secondary:#7c3aed;--color-accent-dad:#2563eb;--color-accent-mom:#7c3aed;--color-success:#16a34a;--color-warning:#d97706;--color-danger:#dc2626;--color-info:#0ea5e9;--color-fasting:#dc2626;--color-eating:#16a34a;--color-border:#e2e8f0;--color-border-subtle:#f1f5f9;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--font-family:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-base:18px;--font-sm:16px;--font-xs:14px;--font-lg:22px;--font-xl:28px;--font-2xl:36px;--font-3xl:48px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--touch-min:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:24px;--radius-full:9999px;--bottom-nav-height:72px;--header-height:56px}[data-theme=dark]{--color-bg-primary:#0f172a;--color-bg-secondary:#1e293b;--color-bg-tertiary:#334155;--color-bg-input:#1e293b;--color-text-primary:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-muted:#64748b;--color-border:#334155;--color-border-subtle:#1e293b;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.invisible{visibility:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.container{width:100%}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--font-base);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-family);background:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100dvh;line-height:1.5;overflow-x:hidden}#root{flex-direction:column;min-height:100dvh;display:flex}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--color-bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent-primary);outline-offset:2px;border-radius:var(--radius-sm)}.card{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.card-interactive:active{transform:scale(.98)}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);min-height:var(--touch-min);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-sm);cursor:pointer;border:none;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent-primary);color:#fff}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-success{background:var(--color-success);color:#fff}.btn-danger{background:var(--color-danger);color:#fff}.btn-ghost{color:var(--color-text-secondary);background:0 0}.input{width:100%;min-height:var(--touch-min);padding:var(--spacing-md);background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-base);color:var(--color-text-primary);transition:border-color .15s}.input:focus{border-color:var(--color-accent-primary)}.input::placeholder{color:var(--color-text-muted)}.badge{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600;display:inline-flex}.badge-success{background:var(--color-success)}@supports (color:color-mix(in lab, red, red)){.badge-success{background:color-mix(in srgb, var(--color-success) 15%, transparent)}}.badge-success{color:var(--color-success)}.badge-warning{background:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.badge-warning{background:color-mix(in srgb, var(--color-warning) 15%, transparent)}}.badge-warning{color:var(--color-warning)}.badge-danger{background:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.badge-danger{background:color-mix(in srgb, var(--color-danger) 15%, transparent)}}.badge-danger{color:var(--color-danger)}.badge-info{background:var(--color-info)}@supports (color:color-mix(in lab, red, red)){.badge-info{background:color-mix(in srgb, var(--color-info) 15%, transparent)}}.badge-info{color:var(--color-info)}.page{padding:var(--spacing-lg);padding-bottom:calc(var(--bottom-nav-height) + var(--spacing-lg));flex:1;width:100%;max-width:480px;margin:0 auto}.section-gap{gap:var(--spacing-lg);flex-direction:column;display:flex}.progress-track{background:var(--color-bg-tertiary);border-radius:var(--radius-full);width:100%;height:10px;overflow:hidden}.progress-fill{border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.checkbox{width:28px;height:28px;accent-color:var(--color-accent-primary);cursor:pointer}@supports (padding-bottom:env(safe-area-inset-bottom)){.page{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom) + var(--spacing-lg))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
