/* SPHERE primitive behavior layer. Visual values come from sphere-tokens.css. */
#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive] {
    transition-duration: var(--sphere-component-control-transition);
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive]:focus-visible {
    outline: var(--sphere-component-focus-ring-width) solid var(--sphere-component-focus-ring-color) !important;
    outline-offset: var(--sphere-component-focus-ring-offset);
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="button"]:disabled,
#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="input"]:disabled,
#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="select"]:disabled,
#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="slider"]:disabled {
    cursor: not-allowed;
    opacity: .45;
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-state="error"] {
    border-color: var(--sphere-semantic-color-danger-content) !important;
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-state="loading"] {
    cursor: progress;
    opacity: .7;
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="checkbox"] {
    accent-color: var(--sphere-semantic-color-text-primary);
    cursor: pointer;
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="checkbox"]:disabled {
    cursor: not-allowed;
    opacity: .45;
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="fold-section"] {
    min-height: var(--sphere-component-control-height-md);
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="fold-section"][aria-expanded="false"] .sphu-fold {
    transform: rotate(-90deg);
}

#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="dialog"]:focus-visible,
#sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="menu"]:focus-visible {
    outline-offset: -2px;
}

#sphere-view[data-sphere-theme="dark"] .sphere-ui-tooltip {
    position: fixed;
    z-index: var(--sphere-ref-z-index-popover);
    max-width: min(280px, calc(100vw - 16px));
    padding: var(--sphere-ref-space-4) var(--sphere-ref-space-8);
    border: 1px solid var(--sphere-semantic-color-border-default);
    border-radius: var(--sphere-ref-radius-7);
    background: var(--sphere-semantic-color-surface-raised);
    color: var(--sphere-semantic-color-text-primary);
    box-shadow: 0 6px 18px rgb(0 0 0 / .35);
    font-size: 11px;
    line-height: 1.4;
    pointer-events: none;
    white-space: normal;
}

#sphere-view[data-sphere-theme="dark"] .sphere-ui-tooltip[hidden] {
    display: none !important;
}

@media (prefers-contrast: more) {
    #sphere-view[data-sphere-theme="dark"] [data-sphere-primitive]:focus-visible {
        outline-width: 3px !important;
    }

    #sphere-view[data-sphere-theme="dark"] [data-sphere-state="error"] {
        outline: 2px solid var(--sphere-semantic-color-danger-content);
        outline-offset: 1px;
    }
}

@media (forced-colors: active) {
    #sphere-view[data-sphere-theme="dark"] [data-sphere-primitive]:focus-visible {
        outline: 3px solid Highlight !important;
    }

    #sphere-view[data-sphere-theme="dark"] [data-sphere-primitive="checkbox"] {
        forced-color-adjust: auto;
    }

    #sphere-view[data-sphere-theme="dark"] .sphere-ui-tooltip {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
        forced-color-adjust: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sphere-view[data-sphere-theme="dark"] [data-sphere-primitive] {
        transition-duration: var(--sphere-ref-duration-instant) !important;
    }
}
