.hy-btn{justify-content:center;align-items:center;gap:var(--hy-space-2);font-family:var(--hy-font-primary);font-weight:var(--hy-weight-medium);letter-spacing:var(--hy-tracking-normal);border-radius:var(--hy-radius-sm);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background-color var(--hy-motion-micro), color var(--hy-motion-micro), border-color var(--hy-motion-micro), box-shadow var(--hy-motion-micro);border:1px solid #0000;outline:none;line-height:1;display:inline-flex;position:relative}.hy-btn:disabled,.hy-btn[aria-disabled=true]{cursor:not-allowed}.hy-btn[aria-busy=true]{cursor:progress}.hy-btn--sm{height:32px;padding:0 var(--hy-space-3);font-size:var(--hy-text-sm);border-radius:var(--hy-radius-sm)}.hy-btn--md{height:40px;padding:0 var(--hy-space-4);font-size:var(--hy-text-sm);border-radius:var(--hy-radius-sm)}.hy-btn--lg{height:48px;padding:0 var(--hy-space-5);font-size:var(--hy-text-base);font-weight:var(--hy-weight-semibold);border-radius:var(--hy-radius-md)}@media (hover:none) and (pointer:coarse){.hy-btn--sm:before{content:"";position:absolute;inset:-6px 0}}.hy-btn--primary{background:var(--hy-accent-primary);color:var(--hy-text-on-accent)}@media (hover:hover) and (pointer:fine){.hy-btn--primary:not(:disabled):not([aria-busy=true]):hover{background:var(--hy-accent-hover)}}.hy-btn--primary:not(:disabled):not([aria-busy=true]):active{background:var(--hy-accent-pressed)}.hy-btn--primary:disabled:not([aria-busy=true]){opacity:.4}.hy-btn--ghost{color:var(--hy-text-primary);border-color:var(--hy-border-medium);background:0 0}@media (hover:hover) and (pointer:fine){.hy-btn--ghost:not(:disabled):not([aria-busy=true]):hover{background:var(--hy-bg-tertiary);border-color:var(--hy-border-strong)}}.hy-btn--ghost:not(:disabled):not([aria-busy=true]):active{background:var(--hy-bg-elevated);border-color:var(--hy-border-strong)}.hy-btn--ghost:disabled:not([aria-busy=true]){color:var(--hy-state-disabled);border-color:var(--hy-border-light)}.hy-btn--danger{background:var(--hy-negative);color:var(--hy-text-on-negative)}@media (hover:hover) and (pointer:fine){.hy-btn--danger:not(:disabled):not([aria-busy=true]):hover{background:var(--hy-negative-hover)}}.hy-btn--danger:not(:disabled):not([aria-busy=true]):active{background:var(--hy-negative-pressed)}.hy-btn--danger:disabled:not([aria-busy=true]){opacity:.4}.hy-btn[aria-busy=true] .hy-btn__label{visibility:hidden}.hy-btn--danger[aria-busy=true]{background:var(--hy-negative-subtle);color:var(--hy-negative)}.hy-btn__label{align-items:center;gap:inherit;display:inline-flex}.hy-btn__icon{flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex}.hy-btn__spinner{border-radius:var(--hy-radius-full);border:2px solid;border-top-color:#0000;width:16px;height:16px;margin-top:-8px;margin-left:-8px;animation:.7s linear infinite hy-spin;position:absolute;top:50%;left:50%}.hy-btn--sm .hy-btn__spinner{width:14px;height:14px;margin-top:-7px;margin-left:-7px}.hy-btn--lg .hy-btn__spinner{width:18px;height:18px;margin-top:-9px;margin-left:-9px}@media (hover:hover) and (pointer:fine){.hy-btn:not(:disabled):hover{box-shadow:none;transform:none}}.hy-btn:not(:disabled):active{box-shadow:none;transform:none}.hy-btn--lift{transition:background-color var(--hy-motion-micro), color var(--hy-motion-micro), border-color var(--hy-motion-micro), box-shadow var(--hy-motion-micro), transform var(--hy-motion-micro)}@media (hover:hover) and (pointer:fine){.hy-btn--lift:not(:disabled):not([aria-busy=true]):hover{box-shadow:var(--hy-shadow-md);transform:translateY(-2px)}}@media (hover:none),(pointer:coarse){.hy-btn--lift:not(:disabled):not([aria-busy=true]):active{box-shadow:var(--hy-shadow-md);transform:translateY(-2px)}}.hy-btn:not(:disabled):focus-visible{box-shadow:var(--hy-focus-ring)}@media (prefers-reduced-motion:reduce){.hy-btn{transition:none}.hy-btn__spinner{animation-duration:2.4s}}.hy-formfield{gap:var(--hy-space-2);flex-direction:column;display:flex}.hy-formfield-label{font-size:var(--hy-text-sm);font-weight:var(--hy-weight-medium);color:var(--hy-text-secondary);line-height:var(--hy-leading-tight)}.hy-formfield-label[data-required]:after{content:" *";color:var(--hy-negative)}.hy-formfield-error{font-size:var(--hy-text-xs);color:var(--hy-negative);line-height:var(--hy-leading-normal)}.hy-formfield-help{font-size:var(--hy-text-xs);color:var(--hy-text-tertiary);line-height:var(--hy-leading-normal)}.hy-input-wrap{align-items:center;gap:var(--hy-space-2);background:var(--hy-bg-secondary);border:1px solid var(--hy-border-medium);border-radius:var(--hy-radius-md);box-sizing:border-box;transition:border-color var(--hy-motion-micro), box-shadow var(--hy-motion-micro), background-color var(--hy-motion-micro);display:flex}.hy-input-wrap--sm{height:var(--hy-control-height-sm);padding:6px var(--hy-space-3);font-size:var(--hy-text-sm)}.hy-input-wrap--md{height:var(--hy-control-height-md);padding:10px var(--hy-space-3);font-size:var(--hy-text-base)}.hy-input-wrap--lg{height:var(--hy-control-height-lg);padding:14px var(--hy-space-4);font-size:var(--hy-text-base)}.hy-input-wrap:focus-within{outline:3px solid var(--hy-state-focus);outline-offset:0}.hy-input-wrap[data-error=true]{border-color:var(--hy-negative);background:var(--hy-negative-subtle)}.hy-input-wrap[data-disabled=true]{cursor:not-allowed}.hy-input-native{min-width:0;font-family:inherit;font-size:var(--hy-text-base);line-height:var(--hy-leading-normal);color:var(--hy-text-primary);background:0 0;border:none;outline:none;flex:1;width:100%;margin:0;padding:0}.hy-input-native::placeholder{color:var(--hy-text-tertiary)}.hy-input-native:disabled{color:var(--hy-state-disabled);cursor:not-allowed}.hy-input-icon,.hy-input-suffix{color:var(--hy-text-secondary);font-size:var(--hy-text-sm);flex-shrink:0;align-items:center;display:inline-flex}.hy-input-icon svg{width:16px;height:16px;display:block}.hy-input-wrap[data-input-type=number] .hy-input-native{font-family:var(--hy-font-mono);font-variant-numeric:tabular-nums;-moz-appearance:textfield}.hy-input-wrap[data-input-type=number] .hy-input-native::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.hy-input-wrap[data-input-type=number] .hy-input-native::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.hy-input-wrap--select .hy-select-native{appearance:none;cursor:pointer;padding-right:0}.hy-input-wrap--select .hy-select-native:disabled{cursor:not-allowed}.hy-select-chevron{color:var(--hy-text-secondary);pointer-events:none;flex-shrink:0;align-items:center;display:inline-flex}.hy-select-chevron svg{display:block}.hy-textarea-wrap{background:var(--hy-bg-secondary);border:1px solid var(--hy-border-medium);border-radius:var(--hy-radius-md);padding:var(--hy-space-3);box-sizing:border-box;transition:border-color var(--hy-motion-micro), box-shadow var(--hy-motion-micro), background-color var(--hy-motion-micro);display:flex}.hy-textarea-wrap:focus-within{box-shadow:0 0 0 3px var(--hy-state-focus)}.hy-textarea-wrap[data-error=true]{border-color:var(--hy-negative);background:var(--hy-negative-subtle)}.hy-textarea-wrap[data-disabled=true]{cursor:not-allowed}.hy-textarea-native{min-width:0;min-height:96px;font-family:inherit;font-size:var(--hy-text-base);line-height:var(--hy-leading-normal);color:var(--hy-text-primary);resize:vertical;background:0 0;border:none;outline:none;flex:1;width:100%;margin:0;padding:0}.hy-textarea-native::placeholder{color:var(--hy-text-tertiary)}.hy-textarea-native:disabled{color:var(--hy-state-disabled);cursor:not-allowed}.hy-modal-scrim{inset:var(--app-visual-offset,0px) 0 auto 0;height:var(--app-height,100dvh);z-index:var(--hy-z-modal);background:var(--hy-overlay-scrim);opacity:0;transition:opacity var(--hy-motion-exit);justify-content:center;align-items:center;display:flex;position:fixed}.hy-modal-scrim[data-state=open]{opacity:1;transition:opacity var(--hy-motion-entrance)}:is(.hy-modal-scrim:has(.hy-modal--drawer-right),.hy-modal-scrim:has(.hy-modal--drawer-left)){transition:opacity .34s cubic-bezier(.7,0,.84,0)}:is(.hy-modal-scrim[data-state=open]:has(.hy-modal--drawer-right),.hy-modal-scrim[data-state=open]:has(.hy-modal--drawer-left)){transition:opacity .32s cubic-bezier(.16,1,.3,1)}.hy-modal{box-sizing:border-box;padding:var(--hy-space-5);transition:transform var(--hy-motion-exit), opacity var(--hy-motion-exit);outline:none;flex-direction:column;display:flex}.hy-modal[data-state=open]{transition:transform var(--hy-motion-entrance), opacity var(--hy-motion-entrance)}.hy-modal--glass{background:var(--hy-glass-bg);border:var(--hy-glass-border);border-radius:var(--hy-glass-radius);box-shadow:var(--hy-glass-shadow);-webkit-backdrop-filter:blur(var(--hy-glass-blur))}.hy-modal--solid{background:var(--hy-bg-secondary);border:var(--hy-glass-border);border-radius:var(--hy-glass-radius);box-shadow:var(--hy-glass-shadow)}.hy-modal--solid.hy-add-food-modal{background:var(--hy-bg-primary);overflow-x:hidden}.hy-modal--center{width:100%;max-width:560px;max-height:calc(var(--app-height,100dvh) * .8);margin:var(--hy-space-4);opacity:0;overflow-y:auto;transform:translateY(8px)scale(.985)}.hy-modal--center[data-state=open]{opacity:1;transform:translateY(0)scale(1)}.hy-modal-scrim:has(.hy-modal--bottom-sheet){justify-content:center;align-items:flex-end}.hy-modal--bottom-sheet{width:100%;max-width:720px;max-height:calc(var(--app-height,100dvh) * .88 - var(--hy-space-5));margin:var(--hy-space-5);transform:translateY(calc(100% + var(--hy-space-5)));overflow-y:auto}.hy-modal--bottom-sheet[data-state=open]{transform:translateY(0)}.hy-modal-scrim:has(.hy-modal--drawer-right){justify-content:flex-end;align-items:stretch}.hy-modal--drawer-right{width:480px;max-width:calc(100% - var(--hy-space-5) * 2);max-height:calc(var(--app-height,100dvh) - var(--hy-space-5) * 2);margin:var(--hy-space-5);transform:translateX(calc(100% + var(--hy-space-5)));will-change:transform, opacity;transition:transform .36s cubic-bezier(.7,0,.84,0),opacity .28s cubic-bezier(.7,0,.84,0);overflow-y:auto}.hy-modal--drawer-right[data-state=open]{transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .32s cubic-bezier(.16,1,.3,1);transform:translate(0)}.hy-modal-scrim:has(.hy-modal--drawer-left){justify-content:flex-start;align-items:stretch}.hy-modal--drawer-left{width:480px;max-width:calc(100% - var(--hy-space-5) * 2);max-height:calc(var(--app-height,100dvh) - var(--hy-space-5) * 2);margin:var(--hy-space-5);transform:translateX(calc(-100% - var(--hy-space-5)));will-change:transform, opacity;transition:transform .36s cubic-bezier(.7,0,.84,0),opacity .28s cubic-bezier(.7,0,.84,0);overflow-y:auto}.hy-modal--drawer-left[data-state=open]{transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .32s cubic-bezier(.16,1,.3,1);transform:translate(0)}@media (width>=480px){.hy-modal--drawer-right.hy-modal--fit-content,.hy-modal--drawer-left.hy-modal--fit-content{align-self:flex-start}}@media (width<=479px){:is(.hy-modal-scrim:has(.hy-modal--drawer-right),.hy-modal-scrim:has(.hy-modal--drawer-left)){justify-content:center;align-items:flex-end}.hy-modal--drawer-right,.hy-modal--drawer-left{width:100%;height:auto;max-width:calc(100% - var(--hy-space-5) * 2);max-height:calc(var(--app-height,100dvh) * .88 - var(--hy-space-5));margin:var(--hy-space-5);transform:translateY(calc(100% + var(--hy-space-5)))}.hy-modal--drawer-right[data-state=open],.hy-modal--drawer-left[data-state=open]{transform:translateY(0)}}.hy-modal-header{margin:0 0 var(--hy-space-4) 0;font-family:var(--hy-font-display);font-size:var(--hy-text-base);font-weight:var(--hy-weight-semibold);color:var(--hy-text-primary);letter-spacing:-.005em}.hy-modal-footer{margin-top:var(--hy-space-5);gap:var(--hy-space-3);flex-wrap:wrap;justify-content:flex-end;align-items:center;display:flex}@media (prefers-reduced-motion:reduce){.hy-modal-scrim,.hy-modal-scrim[data-state=open],.hy-modal,.hy-modal[data-state=open]{transition-duration:.01ms}}
