/* Shared KeyboxHub navigation geometry. This file is the final owner on every public surface. */
.kb-liquid-link,
.kb-liquid-link > span:last-child {
    min-width: 0 !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}
.kb-liquid-link .kb-nav-icon {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
}
.kb-liquid-link .kb-nav-icon svg {
    display: block !important;
    width: 19px !important;
    height: 19px !important;
}

@media (min-width: 761px) {
    .kb-liquid-nav {
        grid-template-columns: minmax(0, 1fr) minmax(410px, 520px) minmax(0, 1fr) !important;
        align-items: center !important;
        column-gap: 14px !important;
    }
    .kb-liquid-brand {
        justify-self: start !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    .kb-liquid-brand small {
        display: none !important;
    }
    .kb-liquid-brand > span {
        justify-content: center !important;
    }
    .kb-liquid-links {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        justify-self: stretch !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 520px !important;
        gap: 6px !important;
        padding: 3px !important;
    }
    .kb-liquid-link {
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        column-gap: 6px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        flex: none !important;
        padding-inline: 10px !important;
        transform: none !important;
    }
    .kb-liquid-link > span:last-child {
        display: block !important;
        width: auto !important;
        max-width: calc(100% - 26px) !important;
        margin: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 13px !important;
        line-height: 1 !important;
    }
    .kb-theme-switch {
        justify-self: end !important;
        min-width: 0 !important;
    }
}

@media (min-width: 761px) and (max-width: 900px) {
    .kb-liquid-nav {
        grid-template-columns: minmax(0, 1fr) minmax(380px, 470px) minmax(0, 1fr) !important;
        column-gap: 9px !important;
        padding-inline: 9px !important;
    }
    .kb-liquid-links {
        min-width: 380px !important;
        gap: 4px !important;
    }
    .kb-liquid-link {
        column-gap: 5px !important;
        padding-inline: 7px !important;
    }
    .kb-liquid-link > span:last-child {
        font-size: 12px !important;
    }
}

@media (max-width: 760px) {
    .kb-liquid-link {
        flex-direction: column !important;
        justify-content: center !important;
        gap: 3px !important;
    }
    .kb-liquid-link .kb-nav-icon {
        flex-basis: 22px !important;
        width: 22px !important;
        height: 22px !important;
    }
    .kb-liquid-link .kb-nav-icon svg {
        width: 21px !important;
        height: 21px !important;
    }
    .kb-liquid-link > span:last-child {
        display: block !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 12px !important;
        line-height: 1.05 !important;
    }
}

/* Checker result actions: one restrained Liquid Glass control group with clean inset edges. */
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;
    width: min(100%, 450px) !important;
    max-width: 450px !important;
    gap: 6px !important;
    padding: 5px !important;
    margin-inline: auto !important;
    border: 0 !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018) 62%), rgba(24,24,29,.76) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.105), 0 14px 34px rgba(0,0,0,.22) !important;
    -webkit-backdrop-filter: blur(22px) saturate(145%) !important;
    backdrop-filter: blur(22px) saturate(145%) !important;
    overflow: visible !important;
}
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action {
    position: relative !important;
    isolation: isolate !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 10px !important;
    gap: 7px !important;
    border: 0 !important;
    outline: 0 !important;
    border-radius: 13px !important;
    background: linear-gradient(150deg, rgba(255,255,255,.12), rgba(255,255,255,.025) 58%), rgba(35,35,42,.9) !important;
    color: #f5f5f7 !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), inset 0 1px 0 rgba(255,255,255,.08), 0 8px 18px rgba(0,0,0,.16) !important;
    font: 720 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, sans-serif !important;
    letter-spacing: -.012em !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
    transition: transform 180ms cubic-bezier(.22,1,.36,1), box-shadow 180ms ease, background-color 180ms ease !important;
}
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action::before,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action::before {
    content: "" !important;
    position: absolute !important;
    inset: 1px !important;
    z-index: -1 !important;
    border-radius: 12px !important;
    background: linear-gradient(108deg, transparent 20%, rgba(255,255,255,.07) 48%, transparent 76%) !important;
    transform: translateX(-120%) !important;
    transition: transform 520ms cubic-bezier(.16,1,.3,1) !important;
    pointer-events: none !important;
}
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action::after,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action::after {
    content: none !important;
    display: none !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: 13px !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 {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
body.kb-surface-checker .kb-analysis-log-actions .kb-result-action:active,
body.kb-surface-checker .kb-analysis-log-header .kb-result-action:active {
    transform: scale(.975) !important;
}
@media (hover:hover) and (pointer:fine) {
    body.kb-surface-checker .kb-analysis-log-actions .kb-result-action:hover,
    body.kb-surface-checker .kb-analysis-log-header .kb-result-action:hover {
        transform: translateY(-1px) !important;
        box-shadow: inset 0 0 0 1px rgba(255,255,255,.16), inset 0 1px 0 rgba(255,255,255,.11), 0 12px 24px rgba(0,0,0,.2) !important;
    }
    body.kb-surface-checker .kb-analysis-log-actions .kb-result-action:hover::before,
    body.kb-surface-checker .kb-analysis-log-header .kb-result-action:hover::before {
        transform: translateX(120%) !important;
    }
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-analysis-log-actions,
html[data-kb-theme="light"] body.kb-surface-checker .kb-analysis-log-header .kb-result-action-group {
    background: linear-gradient(145deg, rgba(255,255,255,.95), rgba(231,233,241,.7)) !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.1), 0 12px 28px rgba(41,45,61,.1) !important;
}
html[data-kb-theme="light"] body.kb-surface-checker .kb-analysis-log-actions .kb-result-action,
html[data-kb-theme="light"] body.kb-surface-checker .kb-analysis-log-header .kb-result-action {
    background: linear-gradient(150deg, #fff, rgba(235,237,244,.9)) !important;
    color: #202126 !important;
    box-shadow: inset 0 0 0 1px rgba(25,25,31,.105), inset 0 1px 0 #fff, 0 7px 16px rgba(41,45,61,.09) !important;
}
@media (max-width: 430px) {
    body.kb-surface-checker .kb-analysis-log-actions,
    body.kb-surface-checker .kb-analysis-log-header .kb-result-action-group {
        gap: 4px !important;
        padding: 4px !important;
        border-radius: 16px !important;
    }
    body.kb-surface-checker .kb-analysis-log-actions .kb-result-action,
    body.kb-surface-checker .kb-analysis-log-header .kb-result-action {
        height: 38px !important;
        min-height: 38px !important;
        padding-inline: 7px !important;
        gap: 5px !important;
        border-radius: 12px !important;
        font-size: 11px !important;
    }
}

/* One shared entrance owner for Hub, Checker, Status and VIP. Horizontal
   centering remains in transform; the reveal uses the independent translate
   component so mobile and desktop geometry never fight the animation. */
@keyframes kbSharedNavReveal {
    from { opacity: 0; translate: 0 22px; }
    to { opacity: 1; translate: 0 0; }
}
html.kb-nav-managed body > .kb-liquid-nav {
    animation: none !important;
    backface-visibility: hidden !important;
}
html.kb-nav-managed body > .kb-liquid-nav:not(.kb-nav-revealing):not(.kb-nav-revealed) {
    opacity: 0 !important;
    translate: 0 22px !important;
    pointer-events: none !important;
}
html.kb-nav-managed body > .kb-liquid-nav.kb-nav-revealing {
    animation: kbSharedNavReveal 460ms cubic-bezier(.22,1,.36,1) both !important;
    pointer-events: auto !important;
    will-change: opacity, translate !important;
}
html.kb-nav-managed body > .kb-liquid-nav.kb-nav-revealed {
    opacity: 1 !important;
    translate: 0 0 !important;
    pointer-events: auto !important;
    will-change: auto !important;
}

/* Preserve the existing three-button theme control dimensions and symbols.
   Only the selected material becomes one springy Liquid Glass lens. */
.kb-theme-switch {
    position: relative !important;
    isolation: isolate !important;
}
.kb-theme-switch::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    top: 3px !important;
    left: 3px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 10px !important;
    background: var(--kb-solid) !important;
    box-shadow: 0 4px 14px var(--kb-glow), inset 0 1px 0 rgba(255,255,255,.08) !important;
    transform: translate3d(0,0,0) !important;
    transform-origin: center !important;
    scale: 1 1;
    transition: transform 430ms cubic-bezier(.22,1,.36,1), background-color 260ms ease, box-shadow 260ms ease !important;
    pointer-events: none !important;
}
html[data-kb-theme-preference="light"] .kb-theme-switch::before {
    transform: translate3d(34px,0,0) !important;
}
html[data-kb-theme-preference="system"] .kb-theme-switch::before {
    transform: translate3d(68px,0,0) !important;
}
.kb-theme-switch button {
    position: relative !important;
    z-index: 1 !important;
    width: 34px !important;
    height: 34px !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    transition: color 220ms ease, opacity 220ms ease, background-color 220ms ease !important;
}
.kb-theme-switch button:hover {
    background: var(--kb-glow) !important;
    box-shadow: none !important;
    transform: none !important;
}
.kb-theme-switch button[aria-pressed="true"],
.kb-theme-switch button[aria-pressed="true"]:hover {
    background: transparent !important;
    color: var(--kb-text) !important;
    box-shadow: none !important;
    transform: none !important;
}
.kb-theme-switch button:active {
    transform: none !important;
}
@keyframes kbThemeLensFlow {
    0%,100% { scale: 1 1; border-radius: 10px; }
    38% { scale: 1.14 .90; border-radius: 12px 8px 12px 8px; }
    70% { scale: .97 1.06; border-radius: 9px 11px 9px 11px; }
}
.kb-theme-switch.kb-theme-liquid-flow::before {
    animation: kbThemeLensFlow 460ms cubic-bezier(.22,1,.36,1) both !important;
}

@media (prefers-reduced-motion: reduce) {
    html.kb-nav-managed body > .kb-liquid-nav,
    html.kb-nav-managed body > .kb-liquid-nav.kb-nav-revealing,
    html.kb-nav-managed body > .kb-liquid-nav.kb-nav-revealed {
        animation: none !important;
        opacity: 1 !important;
        translate: 0 0 !important;
        pointer-events: auto !important;
    }
    .kb-theme-switch::before {
        transition: none !important;
        animation: none !important;
        scale: 1 1 !important;
    }
}
