.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;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)}:where([data-motion=reduce]) .hy-btn{transition:none}.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;justify-content:center;align-items:center;display:flex;position:fixed}.hy-modal-scrim[data-state]{transition:opacity var(--hy-motion-exit)}.hy-modal-scrim[data-state=open]{opacity:1;transition:opacity var(--hy-motion-entrance)}.hy-modal[data-state]{transition:transform var(--hy-motion-exit), opacity var(--hy-motion-exit)}.hy-modal[data-state=open]{transition:transform var(--hy-motion-entrance), opacity var(--hy-motion-entrance)}.hy-modal-scrim[data-state]:has(.hy-modal--bottom-sheet,.hy-modal--drawer-right,.hy-modal--drawer-left){transition:opacity var(--hy-motion-sheet-close)}.hy-modal-scrim[data-state=open]:has(.hy-modal--bottom-sheet,.hy-modal--drawer-right,.hy-modal--drawer-left){transition:opacity var(--hy-motion-sheet-open)}.hy-modal--bottom-sheet[data-state],.hy-modal--drawer-right[data-state],.hy-modal--drawer-left[data-state]{transition:transform var(--hy-motion-sheet-close), opacity var(--hy-motion-sheet-close)}.hy-modal--bottom-sheet[data-state=open],.hy-modal--drawer-right[data-state=open],.hy-modal--drawer-left[data-state=open]{transition:transform var(--hy-motion-sheet-open), opacity var(--hy-motion-sheet-open)}.hy-modal{box-sizing:border-box;padding:var(--hy-space-5);outline:none;flex-direction:column;display:flex}.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)));overflow-y:auto}.hy-modal--drawer-right[data-state=open]{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)));overflow-y:auto}.hy-modal--drawer-left[data-state=open]{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}:is(:where([data-motion=reduce]) .hy-modal-scrim[data-state],:where([data-motion=reduce]) .hy-modal-scrim[data-state]:has(.hy-modal--bottom-sheet,.hy-modal--drawer-right,.hy-modal--drawer-left),:where([data-motion=reduce]) .hy-modal[data-state]){transition-duration:.01ms}
