.hv-overlay{
    position:fixed;
    inset:0;
    z-index:10000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:rgba(0,0,0,0);
    backdrop-filter:blur(0);
    -webkit-backdrop-filter:blur(0);
    visibility:hidden;
    transition:background .28s ease,backdrop-filter .28s ease,visibility .28s ease;
}
.hv-overlay.is-open{
    visibility:visible;
    background:rgba(0,0,0,.34);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
}
.hv-shell{
    width:min(340px,100%);
    opacity:0;
    transform:scale(.9) translateY(18px);
}
.hv-overlay.is-open .hv-shell{
    animation:hv-enter .38s cubic-bezier(.22,1,.36,1) forwards;
}
.hv-card{
    background:#fff;
    border:1px solid #e2e2e2;
    border-radius:4px;
    box-shadow:0 12px 40px rgba(0,0,0,.16);
    overflow:hidden;
}
.hv-widget{
    display:flex;
    align-items:center;
    gap:12px;
    min-height:65px;
    padding:0 12px 0 14px;
    background:#fafafa;
    user-select:none;
}
.hv-box{
    width:24px;
    height:24px;
    flex:0 0 24px;
    position:relative;
    cursor:pointer;
}
.hv-box:focus{
    outline:none;
}
.hv-box:focus-visible{
    outline:2px solid #f6821f;
    outline-offset:2px;
    border-radius:50%;
}
.hv-box-idle{
    width:24px;
    height:24px;
    border:2px solid #6b7280;
    border-radius:2px;
    background:#fff;
    box-sizing:border-box;
    transition:border-color .2s,opacity .15s;
}
.hv-box:hover .hv-box-idle{
    border-color:#404040;
}
.hv-spinner{
    position:absolute;
    top:0;
    left:0;
    width:24px;
    height:24px;
    border:2.5px solid transparent;
    border-top-color:#f6821f;
    border-right-color:#f6821f;
    border-radius:50%;
    box-sizing:border-box;
    opacity:0;
    pointer-events:none;
}
.hv-widget.is-busy .hv-box{
    cursor:default;
    pointer-events:none;
}
.hv-widget.is-busy .hv-box-idle{
    opacity:0;
    border-color:transparent;
}
.hv-widget.is-busy .hv-spinner{
    opacity:1;
    animation:hv-spin .7s linear infinite;
}
.hv-check{
    position:absolute;
    top:0;
    left:0;
    width:24px;
    height:24px;
    opacity:0;
    transform:scale(.5);
    transition:opacity .22s ease,transform .22s cubic-bezier(.22,1,.36,1);
    pointer-events:none;
    border-radius:50%;
    overflow:hidden;
}
.hv-widget.is-done .hv-box{
    cursor:default;
    pointer-events:none;
}
.hv-widget.is-done .hv-box-idle{
    opacity:0;
    border:none;
}
.hv-widget.is-done .hv-check{
    opacity:1;
    transform:scale(1);
}
.hv-check svg{
    width:24px;
    height:24px;
    display:block;
    border-radius:50%;
}
.hv-text{
    flex:1;
    min-width:0;
}
.hv-label{
    font:400 13px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    color:#1f1f1f;
    transition:color .2s;
}
.hv-widget.is-busy .hv-label{
    color:#404040;
}
.hv-widget.is-done .hv-label{
    color:#0aa937;
    font-weight:500;
}
.hv-brand{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    padding-left:8px;
}
.hv-logo{
    display:flex;
    align-items:center;
    gap:5px;
    font:600 11px/1 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
    color:#404040;
}
.hv-logo img{
    width:18px;
    height:18px;
    flex:0 0 18px;
    display:block;
    object-fit:contain;
}
body.hv-lock{
    overflow:hidden;
}
body.verify-gate .hv-overlay.is-open{
    background:#fff;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
}
@keyframes hv-enter{
    from{
        opacity:0;
        transform:scale(.9) translateY(18px);
    }
    to{
        opacity:1;
        transform:scale(1) translateY(0);
    }
}
@keyframes hv-spin{
    to{transform:rotate(360deg);}
}
