.ho-r-root{font-family:var(--ho-r-font);color:var(--ho-r-text);box-sizing:border-box}.ho-r-root *,.ho-r-root *:before,.ho-r-root *:after{box-sizing:border-box}.ho-r-overlay-root{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:var(--ho-r-z, 12000)}.ho-r-overlay-container{position:absolute;pointer-events:auto}.ho-r-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ho-r-mask);pointer-events:none}.ho-r-surface{background:var(--ho-r-surface-elevated);border:1px solid var(--ho-r-border);border-radius:var(--ho-r-radius-md);box-shadow:var(--ho-r-elev-md);padding:var(--ho-r-space-md)}.ho-r-title{font-size:var(--ho-r-title-size);font-weight:650;margin:0 0 var(--ho-r-space-sm)}.ho-r-body{font-size:var(--ho-r-body-size);color:var(--ho-r-text-muted);margin:0 0 var(--ho-r-space-md)}.ho-r-caption{font-size:var(--ho-r-caption-size);color:var(--ho-r-text-muted)}.ho-r-actions{display:flex;flex-wrap:wrap;gap:var(--ho-r-space-sm)}.ho-r-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;border-radius:var(--ho-r-radius-sm);padding:8px 14px;font:inherit;cursor:pointer}.ho-r-btn:focus-visible{outline:2px solid var(--ho-r-focus);outline-offset:2px}.ho-r-btn-primary{background:var(--ho-r-primary);color:var(--ho-r-primary-text)}.ho-r-btn-secondary{background:var(--ho-r-secondary);color:var(--ho-r-secondary-text);border-color:var(--ho-r-border)}.ho-r-btn-ghost{background:transparent;color:var(--ho-r-text-muted)}.ho-r-banner{position:absolute;left:50%;transform:translate(-50%);top:var(--ho-r-space-md);min-width:min(420px,calc(100vw - 32px));pointer-events:auto}.ho-r-warning{background:var(--ho-r-warning-bg);border-color:var(--ho-r-warning);color:var(--ho-r-text)}.ho-r-spotlight-cutout{position:absolute;box-shadow:0 0 0 9999px var(--ho-r-mask);pointer-events:none}.ho-r-spotlight-rect{border-radius:0}.ho-r-spotlight-rounded{border-radius:var(--ho-r-radius-md)}.ho-r-spotlight-circle{border-radius:9999px}.ho-r-spotlight-focus{outline:2px solid var(--ho-r-focus);outline-offset:2px}.ho-r-tooltip{max-width:320px;position:absolute;pointer-events:auto}.ho-r-arrow{position:absolute;width:10px;height:10px;background:var(--ho-r-surface-elevated);border-right:1px solid var(--ho-r-border);border-bottom:1px solid var(--ho-r-border);transform:rotate(45deg)}.ho-r-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--ho-r-mask);display:flex;align-items:center;justify-content:center;pointer-events:auto}.ho-r-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto}.ho-r-progress-track{height:6px;background:var(--ho-r-secondary);border-radius:var(--ho-r-radius-pill);overflow:hidden}.ho-r-progress-fill{height:100%;background:var(--ho-r-primary);border-radius:inherit;transition:width var(--ho-r-dur-med) var(--ho-r-easing)}.ho-r-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ho-r-empty{padding:var(--ho-r-space-lg);text-align:center;color:var(--ho-r-text-muted)}.ho-r-loading{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--ho-r-border);border-top-color:var(--ho-r-primary);border-radius:50%}.ho-r-target-missing{border-style:dashed;opacity:.9}.ho-r-anim-none{animation:none!important;transition:none!important}.ho-r-anim-fade{animation:ho-r-fade var(--ho-r-dur-med) var(--ho-r-easing)}.ho-r-anim-scale{animation:ho-r-scale var(--ho-r-dur-med) var(--ho-r-easing)}.ho-r-anim-slide{animation:ho-r-slide var(--ho-r-dur-med) var(--ho-r-easing)}.ho-r-anim-pulse{animation:ho-r-pulse 1.6s var(--ho-r-easing) infinite}.ho-r-anim-dialog{animation:ho-r-scale var(--ho-r-dur-med) var(--ho-r-easing)}.ho-r-anim-progress{transition:width var(--ho-r-dur-med) var(--ho-r-easing)}@keyframes ho-r-fade{0%{opacity:0}to{opacity:1}}@keyframes ho-r-scale{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ho-r-slide{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ho-r-pulse{0%,to{box-shadow:0 0 0 0 var(--ho-r-focus)}50%{box-shadow:0 0 0 6px transparent}}@media (prefers-reduced-motion: reduce){.ho-r-anim-fade,.ho-r-anim-scale,.ho-r-anim-slide,.ho-r-anim-pulse,.ho-r-anim-dialog{animation:none!important}}
