.hcheck{--hc-ok:#15803d;display:grid}html[data-theme=dark] .hcheck{--hc-ok:#4ade80}.hcheck-button{isolation:isolate;border:1px solid var(--color-line-strong);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-ink);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none;border-radius:14px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;font-weight:600;transition:border-color .2s,box-shadow .2s;display:inline-flex;position:relative;overflow:hidden}.hcheck-button:hover{border-color:var(--color-link)}.hcheck-button:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}.hcheck-fill{z-index:-1;background:linear-gradient(90deg, color-mix(in srgb, var(--color-link) 16%, transparent), color-mix(in srgb, var(--color-link) 28%, transparent));transform-origin:0;transition:transform .2s ease-out;position:absolute;inset:0;transform:scaleX(0)}.hcheck[data-phase=holding] .hcheck-fill{transition:transform 1.5s linear;transform:scaleX(1)}.hcheck[data-phase=checking] .hcheck-fill{transition:none;transform:scaleX(1)}.hcheck-icon{width:28px;height:28px;color:var(--color-link);background:var(--color-chip);border-radius:50%;flex:none;place-items:center;display:grid}.hcheck-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.hcheck[data-phase=checking] .hcheck-icon{animation:.9s ease-in-out infinite hcheck-pulse}.hcheck[data-phase=done] .hcheck-button{cursor:default;border-color:var(--hc-ok);background:color-mix(in srgb, var(--hc-ok) 10%, var(--color-surface))}.hcheck[data-phase=done] .hcheck-icon{color:#fff;background:var(--hc-ok)}.hcheck[data-phase=done] .hcheck-label{color:var(--hc-ok)}.hcheck[data-phase=error] .hcheck-button{border-color:var(--color-danger)}.hgate{border:1px solid var(--color-line);background:var(--color-surface);width:min(440px,100vw - 32px);max-width:none;color:var(--color-ink);border-radius:20px;margin:auto;padding:0;box-shadow:0 30px 80px -30px #0f172a80}.hgate::backdrop{background:#0f172a8c}.hgate[open]{animation:.18s ease-out hgate-in}.hgate-card{gap:14px;padding:26px 24px 18px;display:grid}.hgate-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-link);margin:0;font-size:11px;font-weight:800}.hgate-title{letter-spacing:-.01em;color:var(--color-ink);margin:-6px 0 0;font-size:21px;font-weight:700}.hgate-text,.hgate-note{color:var(--color-mute);margin:0;font-size:14px;line-height:1.6}.hgate-note{font-size:12px}.hgate-cancel{color:var(--color-mute);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-self:center;padding:6px 14px;font-size:13px;font-weight:600}.hgate-cancel:hover{color:var(--color-ink)}.hgate-cancel:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}@keyframes hgate-in{0%{opacity:0;transform:translateY(8px)}}@keyframes hcheck-pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.hcheck-fill,.hcheck[data-phase=holding] .hcheck-fill{transition:none}.hcheck[data-phase=checking] .hcheck-icon,.hgate[open]{animation:none}}
