:root{--om-duration:220ms;--om-ease:cubic-bezier(.2,.8,.2,1);--om-border:color-mix(in srgb,currentColor 18%,transparent)}
.om-press,.om-magnetic{transition:transform 220ms var(--om-ease);touch-action:manipulation}.om-press:active:not(:disabled){transform:scale(.96)}
.om-press:focus-visible,.om-magnetic:focus-visible,.om-card-trigger:focus-visible,.om-toast button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
.om-reveal{animation:om-enter 220ms var(--om-ease) both}.om-exit{animation:om-leave 220ms var(--om-ease) both;pointer-events:none}
.om-stagger>div{animation:om-enter 360ms var(--om-ease) both;animation-delay:var(--om-delay,0ms)}
.om-number{font-variant-numeric:tabular-nums}.om-ring{transition:stroke-dashoffset 360ms var(--om-ease)}
.om-card{border:1px solid var(--om-border);border-radius:16px;overflow:hidden}.om-card-trigger{font:inherit;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:20px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;min-height:44px}.om-card-trigger:focus-visible{outline-offset:-4px}
.om-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows 220ms var(--om-ease)}.om-collapse.om-open{grid-template-rows:1fr}.om-collapse>div{overflow:hidden;min-height:0}.om-card-body{padding:0 20px 20px}
.om-toast-region{position:fixed;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:1000;max-width:calc(100vw - 32px)}.om-toast{display:flex;align-items:center;gap:24px;padding:12px 16px;border-radius:16px;background:#202b29;color:white;box-shadow:0 12px 40px #0003;animation:om-enter 220ms ease-out}.om-toast button{background:none;color:inherit;border:0;font-size:24px;min-width:44px;min-height:44px;cursor:pointer}.om-error{background:#7d2525}.om-success{background:#175e45}
.om-flashlight{padding:24px;border:1px solid var(--om-border);border-radius:16px;background:radial-gradient(160px circle at var(--om-x,50%) var(--om-y,50%),color-mix(in srgb,currentColor 12%,transparent),transparent)}
@keyframes om-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes om-leave{to{opacity:0;transform:translateY(6px)}}
@media(prefers-reduced-motion:reduce){.om-press,.om-magnetic,.om-ring,.om-collapse{transition:none!important;transform:none!important}.om-reveal,.om-stagger>div,.om-toast{animation:none!important}.om-exit{opacity:0}}
