/* Checker mobile sheet, centered analysis and native canvas capture polish. */

body.kb-surface-checker .kb-checker-analyze-reveal {
    overflow: visible !important;
}
body.kb-surface-checker .kb-checker-analyze-panel {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 12px 16px 16px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 0;
    transform: translateY(-8px) scale(.985);
    transition: opacity 220ms ease, transform 360ms cubic-bezier(.16,1,.3,1) !important;
}
body.kb-surface-checker .kb-checker-analyze-reveal.is-visible .kb-checker-analyze-panel {
    opacity: 1;
    transform: translateY(0) scale(1);
}
body.kb-surface-checker .kb-checker-analyze-button {
    position: relative !important;
    isolation: isolate !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: min(244px, 100%) !important;
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 21px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 17px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.14), rgba(255,255,255,.025) 58%), rgba(31,31,37,.94) !important;
    color: #f7f7f8 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), inset 0 1px 0 rgba(255,255,255,.12), 0 14px 32px rgba(0,0,0,.28) !important;
    -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
    backdrop-filter: blur(22px) saturate(145%) !important;
    font: 760 15px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", sans-serif !important;
    letter-spacing: -.018em !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
    transition: transform 200ms cubic-bezier(.22,1,.36,1), box-shadow 200ms ease !important;
}
body.kb-surface-checker .kb-checker-analyze-button::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    inset: 1px !important;
    z-index: -1 !important;
    border-radius: 16px !important;
    background: linear-gradient(105deg, transparent 18%, rgba(255,255,255,.08) 47%, transparent 74%) !important;
    transform: translateX(-115%) !important;
    transition: transform 620ms cubic-bezier(.16,1,.3,1) !important;
    pointer-events: none !important;
}
body.kb-surface-checker .kb-checker-analyze-button::after { content: none !important; display: none !important; }
body.kb-surface-checker .kb-checker-analyze-button:active { transform: scale(.975) !important; }
body.kb-surface-checker .kb-checker-analyze-button i { margin-right: 9px !important; font-size: 15px !important; }
@media (hover:hover) and (pointer:fine) {
    body.kb-surface-checker .kb-checker-analyze-button:hover {
        transform: translateY(-1px) !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), inset 0 1px 0 rgba(255,255,255,.15), 0 18px 38px rgba(0,0,0,.31) !important;
    }
    body.kb-surface-checker .kb-checker-analyze-button:hover::before { transform: translateX(115%) !important; }
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analyze-button {
    background: linear-gradient(145deg, #fff, rgba(237,239,246,.92)) !important;
    color: #1c1c21 !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.11), inset 0 1px 0 #fff, 0 13px 30px rgba(39,44,62,.13) !important;
}

/* Analysis is a true viewport layer, centered above the fixed bottom navigation. */
body.kb-surface-checker .kb-checker-analysis-loading {
    position: fixed !important;
    z-index: 90 !important;
    inset: 0 !important;
    box-sizing: border-box !important;
    place-items: center !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: max(72px, env(safe-area-inset-top, 0px)) 18px max(116px, calc(env(safe-area-inset-bottom, 0px) + 96px)) !important;
    overflow: hidden !important;
    background: #000 !important;
}
body.kb-surface-checker .kb-checker-analysis-card {
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: center !important;
    width: min(332px, calc(100vw - 40px)) !important;
    min-height: 226px !important;
    margin: 0 !important;
    padding: 30px 24px 25px !important;
    border: 0 !important;
    border-radius: 28px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.095), rgba(255,255,255,.018) 60%), rgba(27,27,33,.97) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 1px 0 rgba(255,255,255,.09), 0 24px 58px rgba(0,0,0,.34) !important;
    -webkit-backdrop-filter: blur(24px) saturate(140%) !important;
    backdrop-filter: blur(24px) saturate(140%) !important;
    opacity: 0;
    transform: translateY(10px) scale(.975);
    transition: opacity 220ms ease, transform 400ms cubic-bezier(.16,1,.3,1) !important;
}
body.kb-surface-checker .kb-checker-analysis-loading.is-active .kb-checker-analysis-card {
    opacity: 1;
    transform: translateY(0) scale(1);
}
body.kb-surface-checker .kb-checker-analysis-card .kb-checker-analysis-spinner {
    position: relative !important;
    display: grid !important;
    place-items: center !important;
    width: 82px !important;
    height: 82px !important;
    min-width: 82px !important;
    min-height: 82px !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}
body.kb-surface-checker .kb-checker-analysis-spinner > :not(.kb-checker-analysis-mark):not(.kb-checker-analysis-orbit) { display: none !important; }
body.kb-surface-checker .kb-checker-analysis-mark {
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    height: 54px !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.055) !important;
    color: #ececf1 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 10px 24px rgba(0,0,0,.2) !important;
}
body.kb-surface-checker .kb-checker-analysis-mark svg {
    width: 28px !important;
    height: 28px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
}
body.kb-surface-checker .kb-checker-analysis-orbit {
    position: absolute !important;
    inset: -1px !important;
    border: 1px solid rgba(255,255,255,.09) !important;
    border-top-color: rgba(255,255,255,.82) !important;
    border-radius: 50% !important;
    animation: kbCheckerOrbit 1.15s linear infinite !important;
}
body.kb-surface-checker .kb-checker-analysis-spinner::after {
    content: "" !important;
    position: absolute !important;
    inset: 8px !important;
    border: 1px solid rgba(255,255,255,.055) !important;
    border-radius: 50% !important;
    pointer-events: none !important;
}
body.kb-surface-checker .kb-checker-analysis-card > p {
    width: 100% !important;
    max-width: 270px !important;
    margin: 22px auto 0 !important;
    color: #c0c0c8 !important;
    font: 690 16px/1.4 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, "Segoe UI", sans-serif !important;
    letter-spacing: -.016em !important;
    text-align: center !important;
}
body.kb-surface-checker .kb-checker-analysis-card::after {
    content: "Encrypted submission · in-memory analysis" !important;
    display: block !important;
    width: 100% !important;
    margin-top: 13px !important;
    color: #888892 !important;
    font: 600 10px/1.4 ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace !important;
    letter-spacing: .02em !important;
    text-align: center !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-loading { background: #f3f3f6 !important; }
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-card {
    background: linear-gradient(145deg, #fff, rgba(243,244,249,.96)) !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), inset 0 1px 0 #fff, 0 22px 52px rgba(38,42,58,.14) !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-mark {
    background: rgba(25,25,31,.055) !important;
    color: #202126 !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), 0 10px 22px rgba(38,42,58,.09) !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-orbit {
    border-color: rgba(25,25,31,.09) !important;
    border-top-color: rgba(25,25,31,.72) !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-spinner::after { border-color: rgba(25,25,31,.06) !important; }
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-card > p { color: #565760 !important; }
html[data-kb-theme="light"] body.kb-surface-checker .kb-checker-analysis-card::after { color: #777882 !important; }
@keyframes kbCheckerOrbit { to { transform: rotate(360deg); } }

/* Analysis Log remains horizontal and fully contained on mobile. */
body.kb-surface-checker .kb-analysis-log-header {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    place-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin-bottom: 14px !important;
    text-align: center !important;
}
body.kb-surface-checker .kb-analysis-log-title {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    text-align: center !important;
}
body.kb-surface-checker .kb-analysis-log-actions,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action-group {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    align-items: center !important;
    width: min(100%, 438px) !important;
    min-width: 0 !important;
    max-width: 438px !important;
    gap: 6px !important;
    padding: 4px !important;
    margin: 0 auto !important;
    border-radius: 15px !important;
    overflow: hidden !important;
}
body.kb-surface-checker .kb-analysis-log-actions > *,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action-group > * { margin: 0 !important; }
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 10px !important;
    gap: 6px !important;
    font: 720 11px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action span,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action i,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action i {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 12px !important;
}
body.kb-surface-checker .kb-copy-log-action.is-success { color: #6ee7a8 !important; }

/* Verification is a bottom sheet: rounded top, flush lower edge on phones. */
body.kb-human-verification-open { overflow: hidden !important; }
.kb-checker-human-layer {
    align-items: flex-end !important;
    justify-content: center !important;
    padding: 12px 0 0 !important;
}
.kb-checker-human-sheet {
    grid-template-rows: auto minmax(0,1fr) !important;
    width: min(560px, calc(100% - 24px)) !important;
    max-width: calc(100% - 24px) !important;
    max-height: min(82dvh, 660px) !important;
    margin: 0 auto !important;
    padding: 12px 18px calc(18px + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    border-radius: 28px 28px 0 0 !important;
    background: linear-gradient(145deg, rgba(255,255,255,.105), rgba(255,255,255,.018) 58%), rgba(28,28,34,.98) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.13), inset 0 1px 0 rgba(255,255,255,.1), 0 -18px 54px rgba(0,0,0,.34) !important;
    overflow: hidden !important;
}
.kb-checker-human-header {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 42px !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 17px 2px 14px !important;
}
.kb-checker-human-header h3 {
    min-width: 0 !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
}
.kb-checker-human-handle { top: 8px !important; }
.kb-checker-human-content {
    display: grid !important;
    justify-items: center !important;
    align-content: start !important;
    gap: 16px !important;
    min-width: 0 !important;
    padding: 18px 2px 4px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}
.kb-checker-human-content > p { order: 1 !important; margin: 0 auto !important; }
.kb-checker-human-content > div:not(.kb-checker-human-status) {
    order: 2 !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
}
.kb-checker-human-widget {
    width: min(100%, 340px) !important;
    max-width: 100% !important;
    min-height: 72px !important;
    margin: 0 auto !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.kb-checker-human-widget iframe { display: block !important; max-width: 100% !important; margin: 0 auto !important; }
.kb-checker-human-status,
.kb-checker-human-status[hidden],
.kb-checker-human-status:not(.is-visible) { display: none !important; }
.kb-checker-human-status.is-visible {
    order: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    width: min(100%, 390px) !important;
    margin: 0 auto !important;
    padding: 12px 13px !important;
    border: 0 !important;
    border-radius: 15px !important;
    background: rgba(248,113,113,.08) !important;
    box-shadow: inset 0 0 0 1px rgba(248,113,113,.18) !important;
    color: #f4b4b4 !important;
    text-align: left !important;
    font: 600 12px/1.45 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif !important;
}
.kb-checker-human-status button {
    min-height: 36px !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: rgba(255,255,255,.09) !important;
    color: #f7f7f8 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08) !important;
    font: 700 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif !important;
    white-space: nowrap !important;
}
html[data-kb-theme="light"] .kb-checker-human-sheet {
    background: linear-gradient(145deg, #fff, rgba(244,245,250,.97)) !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), inset 0 1px 0 #fff, 0 -18px 48px rgba(38,41,53,.14) !important;
}
html[data-kb-theme="light"] .kb-checker-human-status.is-visible {
    color: #9e3030 !important;
    background: rgba(220,38,38,.06) !important;
    box-shadow: inset 0 0 0 1px rgba(220,38,38,.13) !important;
}
html[data-kb-theme="light"] .kb-checker-human-status button {
    color: #232328 !important;
    background: rgba(25,25,31,.06) !important;
}

body.kb-comparison-modal-open { overflow: hidden !important; }
.kb-comparison-layer[aria-hidden="true"] { pointer-events: none !important; }

@media (min-width: 720px) {
    .kb-checker-human-layer { padding: 24px !important; }
    .kb-checker-human-sheet {
        border-radius: 28px !important;
        padding-bottom: 22px !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.13), inset 0 1px 0 rgba(255,255,255,.1), 0 24px 64px rgba(0,0,0,.38) !important;
    }
}

@media (max-width: 560px) {
    body.kb-surface-checker .kb-checker-analyze-button {
        min-width: min(232px, 100%) !important;
        height: 48px !important;
        min-height: 48px !important;
        padding-inline: 17px !important;
        font-size: 14px !important;
    }
    body.kb-surface-checker .kb-checker-analysis-loading {
        padding-top: max(64px, env(safe-area-inset-top, 0px)) !important;
        padding-bottom: max(108px, calc(env(safe-area-inset-bottom, 0px) + 92px)) !important;
    }
    body.kb-surface-checker .kb-checker-analysis-card {
        width: min(326px, calc(100vw - 32px)) !important;
        min-height: 220px !important;
        padding: 28px 20px 24px !important;
    }
    .kb-checker-human-layer { padding: 0 !important; }
    .kb-checker-human-sheet {
        width: 100% !important;
        max-width: 100% !important;
        max-height: min(84dvh, 650px) !important;
        margin: 0 !important;
        padding: 12px 15px calc(16px + env(safe-area-inset-bottom, 0px)) !important;
        border-radius: 28px 28px 0 0 !important;
    }
    .kb-checker-human-header {
        grid-template-columns: minmax(0,1fr) 40px !important;
        min-height: 68px !important;
        gap: 9px !important;
    }
    .kb-checker-human-header h3 { font-size: 21px !important; line-height: 1.08 !important; }
    .kb-checker-human-content { padding-top: 16px !important; }
    .kb-checker-human-status.is-visible { grid-template-columns: 1fr !important; text-align: center !important; }
    .kb-checker-human-status button { justify-self: center !important; }
    body.kb-surface-checker .kb-analysis-log-actions,
    body.kb-surface-checker .kb-analysis-log-header .kb-result-action-group {
        width: min(100%, 390px) !important;
        max-width: 390px !important;
        gap: 4px !important;
        padding: 3px !important;
    }
    body.kb-surface-checker .kb-analysis-log-actions .kb-result-action,
    body.kb-surface-checker .kb-analysis-log-header .kb-result-action {
        padding-inline: 5px !important;
        gap: 4px !important;
        font-size: 10px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.kb-surface-checker .kb-checker-analyze-panel,
    body.kb-surface-checker .kb-checker-analyze-button,
    body.kb-surface-checker .kb-checker-analysis-card,
    .kb-checker-human-layer,
    .kb-checker-human-sheet { transition: none !important; }
    body.kb-surface-checker .kb-checker-analyze-button::before { display: none !important; }
    body.kb-surface-checker .kb-checker-analysis-orbit { animation: none !important; }
}
