/* Checker-only capture, action, analysis and human-verification surfaces. */

/* Result actions use one compact Liquid control group. */
body.kb-surface-checker .kb-result-action-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 4px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: rgba(19,19,23,.76) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.09), 0 8px 22px rgba(0,0,0,.14) !important;
    -webkit-backdrop-filter: blur(16px) saturate(135%) !important;
    backdrop-filter: blur(16px) saturate(135%) !important;
}
body.kb-surface-checker .kb-result-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-top: 0 !important;
    border-radius: 11px !important;
    outline: 0 !important;
    color: #f7f7f8 !important;
    background: #29292f !important;
    background-image: none !important;
    box-shadow: none !important;
    font: 720 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", sans-serif !important;
    letter-spacing: -.012em !important;
    transform: translateZ(0) !important;
    transition: transform .2s cubic-bezier(.22,1,.36,1), background-color .18s ease, color .18s ease !important;
    overflow: hidden !important;
}
body.kb-surface-checker .kb-result-action::before,
body.kb-surface-checker .kb-result-action::after {
    content: none !important;
    display: none !important;
}
body.kb-surface-checker .kb-result-action i {
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1 !important;
}
@media (hover:hover) and (pointer:fine) {
    body.kb-surface-checker .kb-result-action:hover {
        background: #34343b !important;
        transform: translateY(-1px) !important;
    }
}
body.kb-surface-checker .kb-result-action:active {
    background: #222227 !important;
    transform: scale(.975) !important;
}
body.kb-surface-checker .kb-result-action:focus-visible {
    outline: 3px solid rgba(255,255,255,.18) !important;
    outline-offset: 2px !important;
}
body.kb-surface-checker .kb-result-action:disabled {
    opacity: .62 !important;
    cursor: wait !important;
    transform: none !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-result-action-group {
    background: rgba(255,255,255,.82) !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.09), 0 8px 20px rgba(38,41,53,.08) !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-result-action {
    color: #19191d !important;
    background: #f1f1f5 !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-result-action:hover { background: #e7e7ec !important; }
html[data-kb-theme="light"] body.kb-surface-checker .kb-result-action:focus-visible { outline-color: rgba(25,25,31,.16) !important; }

/* Clean, compact off-screen result document used only by html2canvas. */
.kb-result-capture-host {
    position: fixed !important;
    z-index: -2147483000 !important;
    top: 0 !important;
    left: -10000px !important;
    width: 680px !important;
    pointer-events: none !important;
    opacity: 1 !important;
}
.kb-result-capture-sheet {
    box-sizing: border-box !important;
    width: 680px !important;
    padding: 24px !important;
    background: #0b0b0c !important;
    color: #f7f7f8 !important;
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.kb-result-capture-card {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 28px !important;
    background: #17171b !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.11), 0 18px 46px rgba(0,0,0,.28) !important;
    overflow: hidden !important;
}
.kb-result-capture-host *,
.kb-result-capture-host *::before,
.kb-result-capture-host *::after {
    animation: none !important;
    transition: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    text-shadow: none !important;
}
.kb-result-capture-host [class*="bg-[#09090b]"],
.kb-result-capture-host [class*="bg-[#0B0B0C]"],
.kb-result-capture-host [class*="bg-[#111113]"],
.kb-result-capture-host [class*="bg-[#161618]"] {
    background: #202025 !important;
    background-image: none !important;
}
.kb-result-capture-host :is(h1,h2,h3,h4,h5,strong,.text-white,[class*="text-[#F5F5F7]"]) { color: #f7f7f8 !important; }
.kb-result-capture-host :is(p,small,[class*="text-[#A1A1A6]"],[class*="text-[#6E6E73]"]) { color: #b6b6bf !important; }
.kb-result-capture-host button {
    pointer-events: none !important;
    cursor: default !important;
}
.kb-result-capture-footer {
    display: grid !important;
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 54px !important;
    margin-top: 14px !important;
    padding: 0 18px !important;
    border-radius: 18px !important;
    background: #17171b !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.1) !important;
    color: #f7f7f8 !important;
}
.kb-result-capture-footer strong { font-size: 14px !important; font-weight: 780 !important; letter-spacing: -.02em !important; }
.kb-result-capture-footer span { color: #b6b6bf !important; font-size: 12px !important; font-weight: 600 !important; }
.kb-result-capture-footer small { color: #8f8f98 !important; font: 600 11px/1 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace !important; }
html[data-kb-theme="light"] .kb-result-capture-sheet { background: #f3f3f6 !important; color: #19191d !important; }
html[data-kb-theme="light"] .kb-result-capture-card,
html[data-kb-theme="light"] .kb-result-capture-footer {
    background: #fff !important;
    color: #19191d !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), 0 18px 42px rgba(38,41,53,.11) !important;
}
html[data-kb-theme="light"] .kb-result-capture-host [class*="bg-[#09090b]"],
html[data-kb-theme="light"] .kb-result-capture-host [class*="bg-[#0B0B0C]"],
html[data-kb-theme="light"] .kb-result-capture-host [class*="bg-[#111113]"],
html[data-kb-theme="light"] .kb-result-capture-host [class*="bg-[#161618]"] { background: #f6f6f8 !important; }
html[data-kb-theme="light"] .kb-result-capture-host :is(h1,h2,h3,h4,h5,strong,.text-white,[class*="text-[#F5F5F7]"]) { color: #19191d !important; }
html[data-kb-theme="light"] .kb-result-capture-host :is(p,small,[class*="text-[#A1A1A6]"],[class*="text-[#6E6E73]"]) { color: #5f6069 !important; }
html[data-kb-theme="light"] .kb-result-capture-footer span { color: #5f6069 !important; }
html[data-kb-theme="light"] .kb-result-capture-footer small { color: #777882 !important; }

/* Analysis progress uses a compact security mark, not the inherited elliptical loader. */
body.kb-surface-checker .kb-checker-analysis-loading {
    box-sizing: border-box !important;
    min-height: calc(100dvh - 180px) !important;
    padding: 48px 20px max(110px, env(safe-area-inset-bottom, 0px)) !important;
    gap: 0 !important;
    background: transparent !important;
}
body.kb-surface-checker .kb-checker-analysis-spinner {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    min-height: 76px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 24px !important;
    background: #202025 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.11), 0 18px 42px rgba(0,0,0,.24) !important;
    transform: none !important;
    animation: none !important;
    overflow: visible !important;
}
body.kb-surface-checker .kb-checker-analysis-spinner::before,
body.kb-surface-checker .kb-checker-analysis-spinner::after {
    content: none !important;
    display: none !important;
}
.kb-checker-analysis-mark {
    display: grid !important;
    place-items: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: #f2f2f5 !important;
    color: #151519 !important;
    box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
}
.kb-checker-analysis-mark svg {
    width: 25px !important;
    height: 25px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.9 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
.kb-checker-analysis-orbit {
    position: absolute !important;
    inset: -7px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-top-color: rgba(255,255,255,.82) !important;
    border-radius: 26px !important;
    animation: kbCheckerOrbit 1.15s linear infinite !important;
}
body.kb-surface-checker .kb-checker-analysis-loading > p {
    max-width: min(360px, calc(100vw - 48px)) !important;
    margin: 20px 0 0 !important;
    color: #a9a9b2 !important;
    font: 650 15px/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", sans-serif !important;
    letter-spacing: -.012em !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-spinner {
    background: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), 0 18px 38px rgba(38,41,53,.11) !important;
}
html[data-kb-theme="light"] .kb-checker-analysis-mark { background: #1d1d21 !important; color: #fff !important; }
html[data-kb-theme="light"] .kb-checker-analysis-orbit { border-color: rgba(25,25,31,.09) !important; border-top-color: rgba(25,25,31,.7) !important; }
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-loading > p { color: #62636d !important; }
@keyframes kbCheckerOrbit { to { transform: rotate(360deg); } }

/* Human verification is a real viewport bottom sheet. */
body.kb-human-verification-open { overflow: hidden !important; }
.kb-checker-human-layer {
    position: fixed !important;
    z-index: 2147482100 !important;
    inset: 0 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    height: 100dvh !important;
    padding: max(12px, env(safe-area-inset-top, 0px)) 0 0 !important;
    background: rgba(5,5,7,.58) !important;
    -webkit-backdrop-filter: blur(14px) saturate(120%) !important;
    backdrop-filter: blur(14px) saturate(120%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity .32s ease !important;
    overflow: hidden !important;
}
.kb-checker-human-layer.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
}
.kb-checker-human-sheet {
    position: relative !important;
    display: grid !important;
    grid-template-rows: auto minmax(0,1fr) !important;
    box-sizing: border-box !important;
    width: min(100%, 560px) !important;
    max-width: 560px !important;
    max-height: calc(100dvh - max(12px, env(safe-area-inset-top, 0px))) !important;
    margin: 0 !important;
    padding: 12px 18px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    border-radius: 30px 30px 0 0 !important;
    background: #1d1d22 !important;
    background-image: none !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 1px 0 rgba(255,255,255,.08), 0 -22px 58px rgba(0,0,0,.36) !important;
    -webkit-backdrop-filter: blur(28px) saturate(145%) !important;
    backdrop-filter: blur(28px) saturate(145%) !important;
    transform: translateY(calc(100% + 24px)) !important;
    transform-origin: 50% 100% !important;
    opacity: .98 !important;
    transition: transform .46s cubic-bezier(.16,1,.3,1), opacity .28s ease !important;
    overflow: hidden !important;
}
.kb-checker-human-layer.is-open .kb-checker-human-sheet {
    transform: translateY(0) !important;
    opacity: 1 !important;
}
.kb-checker-human-handle {
    position: absolute !important;
    top: 8px !important;
    left: 50% !important;
    width: 46px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.18) !important;
    transform: translateX(-50%) !important;
}
.kb-checker-human-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    min-height: 68px !important;
    margin: 8px 0 0 !important;
    padding: 12px 2px 14px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    background: transparent !important;
}
.kb-checker-human-header h3 {
    margin: 0 !important;
    color: #f7f7f8 !important;
    font: 760 clamp(19px,5vw,24px)/1.15 -apple-system, BlinkMacSystemFont, "SF Pro Display", Inter, "Segoe UI", sans-serif !important;
    letter-spacing: -.025em !important;
}
.kb-checker-human-header h3 i { margin-right: 11px !important; font-size: .9em !important; }
.kb-checker-human-header button {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.07) !important;
    color: #b6b6bf !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.09) !important;
}
.kb-checker-human-header button::before,
.kb-checker-human-header button::after { content: none !important; display: none !important; }
.kb-checker-human-content {
    min-height: 0 !important;
    padding: 18px 2px 4px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
}
.kb-checker-human-content > p {
    max-width: 410px !important;
    margin: 0 auto 18px !important;
    color: #b6b6bf !important;
    font: 500 14px/1.55 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", sans-serif !important;
    text-align: center !important;
}
.kb-checker-human-content > div {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    margin: 0 !important;
}
.kb-checker-human-widget {
    width: min(100%, 340px) !important;
    min-height: 72px !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    border-radius: 14px !important;
}
.kb-checker-human-widget iframe { max-width: 100% !important; }
html[data-kb-theme="light"] .kb-checker-human-layer { background: rgba(225,227,234,.62) !important; }
html[data-kb-theme="light"] .kb-checker-human-sheet {
    background: rgba(251,251,253,.98) !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), inset 0 1px 0 #fff, 0 -20px 52px rgba(38,41,53,.15) !important;
}
html[data-kb-theme="light"] .kb-checker-human-handle { background: rgba(25,25,31,.16) !important; }
html[data-kb-theme="light"] .kb-checker-human-header { border-bottom-color: rgba(25,25,31,.09) !important; }
html[data-kb-theme="light"] .kb-checker-human-header h3 { color: #19191d !important; }
html[data-kb-theme="light"] .kb-checker-human-header button {
    color: #5e5f68 !important;
    background: rgba(25,25,31,.045) !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.08) !important;
}
html[data-kb-theme="light"] .kb-checker-human-content > p { color: #62636d !important; }

@media (min-width: 720px) {
    .kb-checker-human-layer { padding: 24px !important; }
    .kb-checker-human-sheet {
        margin-bottom: 0 !important;
        border-radius: 28px !important;
        padding: 12px 22px 22px !important;
    }
}
@media (max-width: 560px) {
    body.kb-surface-checker .kb-result-action-group { width: 100% !important; }
    body.kb-surface-checker .kb-result-action { flex: 1 1 0 !important; padding: 0 10px !important; }
    .kb-checker-human-widget { transform-origin: 50% 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
    .kb-checker-analysis-orbit { animation: none !important; border-top-color: rgba(255,255,255,.36) !important; }
    .kb-checker-human-layer,
    .kb-checker-human-sheet,
    body.kb-surface-checker .kb-result-action { transition: none !important; }
}
