@charset "UTF-8";

:root {
    /* Closed tab state */
    --yai-tabs-closed-text: "YaiTabs";
    --yai-tabs-closed-align: center;
    --yai-tabs-closed-timeout: .5s;

    /* Layout & spacing , including fallback for: h2, h3, h4, h5, h6, p, pre, ul, ol */
    --yai-tabs-padding-1: .75rem;
    --yai-tabs-padding-2: 1rem;
    --yai-tabs-padding-3: 1.5rem;
    --yai-tabs-content-padding: 22px;
    --yai-tabs-content-elements-margin: 0 0 16px;
    --yai-tabs-content-line-height: 1.6;
    --yai-tabs-content-min-height: 100px;
    --yai-tabs-border-radius: 0;

    /* Nav buttons */
    --yai-tabs-button-padding: 12px 20px;
    --yai-tabs-button-min-height: 42px;
    --yai-tabs-button-font-size: 95%;

    /* Loader */
    --yai-tabs-loader-speed: 1.1s;
    --yai-transition-short: 0.2s;
    --yai-tabs-loader-thickness: 1px;
    --yai-tabs-loader-button-thickness: 3px;
    --yai-tabs-loader-content-thickness: 4px;
    --yai-tabs-loader-button-size: 20px;
    --yai-tabs-loader-content-size: 34px;

    /* Form elements */
    --yai-tabs-form-input-elements-padding: .6rem 1rem;
    --yai-tabs-form-input-elements-border-radius: var(--yai-tabs-form-border-radius, 0);
    --yai-tabs-form-input-elements-box-shadow: var(--yai-tabs-shadow-subtle);
}

/**
 * Complete theme override
 */
 [data-theme="minimal"] {
    /* Alternative minimal-theme colors */
    --yai-minimal-light-color: #ecf0f1;
    --yai-minimal-primary-color: #0b68a6;
    --yai-minimal-tabs-content-inactive-background: #e3e5e777;
    --yai-minimal-tabs-content-inactive-color-muted: #555555;
    --yai-tabs-color-focus: #0b68a6;
    --yai-tabs-color-focus-ring: rgba(6, 20, 50, 0.471);
    --yai-loader-color: var(--yai-minimal-primary-color);
    --yai-tabs-content-background: #fff;
    --yai-tabs-color-text: #3e3535;
    --yai-tabs-nav-button-active-background: #fff;
    --yai-tabs-nav-border-bottom: #d5d5d573;
    --yai-tabs-nav-box-shadow: #d5d5d573;
    --yai-minimal-box-shadow: rgba(102, 96, 96, 0.5);
}

/* =========================
   SEMANTIC COLOR SYSTEM
   ========================= */
:root,
[data-color-scheme="light"] {
    /* Core Colors - Used for text, backgrounds, and states */
    --yai-tabs-color-text: #272e31;
    --yai-tabs-color-text-muted: #4a5568;
    --yai-tabs-color-background: #ffffff;
    --yai-tabs-color-surface: #e3eef9;
    --yai-tabs-color-surface-alt: #f1f5f9;
    --yai-tabs-nav-button-hover-background: #e2e2e2dd;
    --yai-tabs-content-inactive-background: #e3e5e777;
    --yai-tabs-content-inactive-color-muted: #555555;
    --yai-tabs-form-input-elements-border: 1px solid #cfd6dd;
    --yai-tabs-form-input-elements-background: #fff;

    /* Brand Colors - Semantic color palette */
    /* --yai-tabs-color-primary: #3a59ae; */
    --yai-tabs-color-primary: #3B37EC;
    --yai-tabs-color-primary-contrast: #ffffff;

    --yai-tabs-color-secondary: #1d5f62;
    --yai-tabs-color-secondary-contrast: #ffffff;

    --yai-tabs-color-accent: #dc2626;
    --yai-tabs-color-accent-contrast: #ffffff;

    --yai-tabs-color-success: #1C6600;
    --yai-tabs-color-success-contrast: #ffffff;

    --yai-tabs-color-warning: #b45309;
    --yai-tabs-color-warning-contrast: #ffffff;

    --yai-tabs-color-danger: #dc2626;
    --yai-tabs-color-danger-contrast: #ffffff;

    --yai-tabs-color-funky: #c026d3;
    --yai-tabs-color-funky-contrast: #ffffff;

    --yai-tabs-color-dark: #2d3139;
    --yai-tabs-color-dark-contrast: #ffffff;

    --yai-tabs-color-light: #242b3b;
    --yai-tabs-color-light-contrast: #f6f6ff;

    /* Interactive States */
    --yai-tabs-color-focus: #2563eb;
    --yai-tabs-color-focus-ring: rgba(37, 99, 235, 0.2);
    --yai-loader-color: var(--yai-tabs-color-accent);

    /* Shadows & Borders */
    --yai-tabs-shadow-subtle-color: rgba(127, 97, 97, 0.2);
    --yai-tabs-shadow-medium-color: rgba(0, 33, 33, 0.2);
    --yai-tabs-shadow-accent: rgba(220, 38, 38, 0.4);
    --yai-tabs-shadow-subtle: 0 3px 3px -1px var(--yai-tabs-shadow-subtle-color),
        -1px 0 2px -1px var(--yai-tabs-shadow-subtle-color),
        1px 0 2px -1px var(--yai-tabs-shadow-subtle-color);
    --yai-tabs-shadow-medium:
        0 4px 3px -1px var(--yai-tabs-shadow-medium-color),
        -1px 0 3px -1px var(--yai-tabs-shadow-medium-color),
        1px 0 3px -1px var(--yai-tabs-shadow-medium-color);

    /* Navigation-specific shadows */
    --yai-tabs-shadow-nav-top: 0 2px 5px 0;
    --yai-tabs-shadow-nav-bottom: 0 -1px 5px 1px;
    --yai-tabs-shadow-nav-left: 2px 1px 6px 2px;
    --yai-tabs-shadow-nav-right: -2px 1px 5px 2px;
    --yai-tabs-nav-button-transition: all 0.3s ease-in-out;

    /* Component-specific variables */
    --yai-tabs-nav-background: #e6e6e6;
    --yai-tabs-nav-button-background: var(--yai-tabs-color-background);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-accent);
    --yai-tabs-nav-button-active-background: var(--yai-tabs-color-background);
    --yai-tabs-content-background: var(--yai-tabs-color-background);
    --yai-tabs-orientation-hint-color: var(--yai-tabs-color-text-muted);
}

[data-color-scheme="dark"] {
    /* Core Colors */
    --yai-tabs-color-text: #eef1f4;
    --yai-tabs-color-text-muted: #cbd5e1;
    --yai-tabs-color-background: #0c1528;
    --yai-tabs-color-surface: #1e293b;
    --yai-tabs-color-surface-alt: #263448;
    --yai-tabs-content-inactive-background: #171f2e;
    --yai-tabs-content-inactive-color-muted: #c7ccd3;

    /* Brand Colors */
    --yai-tabs-color-primary: #3B37EC;

    --yai-tabs-color-secondary: #8b5cf6;

    --yai-tabs-color-accent: #02ffb2;
    --yai-tabs-color-accent-contrast: #0d1526;

    --yai-tabs-color-success: #10b981;

    --yai-tabs-color-warning: #f59e0b;
    --yai-tabs-color-warning-contrast: #0d1526;

    --yai-tabs-color-danger: #ef4444;

    --yai-tabs-color-funky: #ec4899;

    --yai-tabs-color-dark: #e8efff;
    --yai-tabs-color-dark-contrast: #0d1526;

    --yai-tabs-color-light: #eceef2;
    --yai-tabs-color-light-contrast: #181e2c;

    /* Interactive States */
    --yai-tabs-color-focus: #02ffb2;
    --yai-tabs-color-focus-ring: rgba(2, 255, 178, 0.3);
    --yai-loader-color: var(--yai-tabs-color-accent);

    /* Shadows & Borders - Enhanced for dark mode */
    --yai-tabs-shadow-subtle: 0 0 4px 1px rgba(55, 53, 53, 0.4);
    --yai-tabs-shadow-medium: 0 0 4px 2px rgba(55, 53, 53, .6);
    --yai-tabs-shadow-accent: rgba(2, 255, 178, 0.5);

    /* Navigation-specific shadows with glow */
    --yai-tabs-shadow-nav-top: 0 2px 7px 1px;

    /* Component-specific variables */
    --yai-tabs-nav-background: linear-gradient(135deg, #1e293b 0%, #2d3748 100%);
    --yai-tabs-nav-button-background: #1e293b;
    --yai-tabs-nav-button-active-background: #121c31;
    --yai-tabs-content-background: #0c1528;
    --yai-tabs-nav-button-hover-background: #334155;
    --yai-tabs-orientation-hint-color: var(--yai-tabs-color-dark);
}

/* Base component styles */
[data-yai-tabs] {
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
    line-height: 1;
}

[data-yai-tabs][data-root] {
    overflow: hidden;
}

[data-yai-tabs] [data-content] {
    position: relative;
    min-height: var(--yai-tabs-content-min-height);
    will-change: transform, opacity;
}

[data-yai-tabs] [data-tab] {
    display: block;
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

[data-yai-tabs] [data-tab].active {
    min-height: 100%;
    position: relative;
    z-index: 2;
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}

/* Navigation controller */
[data-yai-tabs] [data-controller] {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    position: relative;
    z-index: 2;
    gap: 0;
    transition: background 0.3s ease-in-out;
}

[data-yai-tabs] [data-controller] [data-open] {
    margin: 0;
    padding: var(--yai-tabs-button-padding);
    min-height: var(--yai-tabs-button-min-height);
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    font-weight: 600;
    text-transform: inherit;
    line-height: 1;
    transition: var(--yai-tabs-nav-button-transition);
    font-size: var(--yai-tabs-button-font-size);
    user-select: var(--yai-tabs-button-user-select, none);
}

[data-yai-tabs] [data-controller] [data-open]:focus {
    outline: 0;
}

[data-yai-tabs] [data-controller] [data-open]:focus-visible {
    z-index: 5;
    position: relative;
    outline-offset: 0px;
}

[data-yai-tabs] [data-controller] [data-open].active,
[data-yai-tabs] [data-controller] [data-open]:focus {
    position: relative;
    z-index: 3;
}

/* Navigation alignment */
[data-yai-tabs] [data-nav-button="left"] [data-open],
[data-yai-tabs] [data-controller][data-align="start"],
[data-yai-tabs] [data-controller][data-align="left"] {
    justify-content: start;
}

[data-yai-tabs] [data-nav-button="right"] [data-open],
[data-yai-tabs] [data-controller][data-align="end"],
[data-yai-tabs] [data-controller][data-align="right"] {
    justify-content: end;
}

[data-yai-tabs] [data-nav-button="center"] [data-open],
[data-yai-tabs] [data-controller][data-align="center"] {
    justify-content: center;
}

[data-yai-tabs] [data-controller][data-grow] [data-open] {
    flex-grow: 1;
    justify-content: center;
}

[data-yai-tabs][data-nav="left"]>[data-controller][data-grow] [data-open],
[data-yai-tabs][data-nav="right"]>[data-controller][data-grow] [data-open] {
    flex-grow: unset;
}

/* Navigation positions */
[data-yai-tabs][data-nav="top"],
[data-yai-tabs][data-nav="bottom"],
[data-yai-tabs][data-nav="left"],
[data-yai-tabs][data-nav="right"] {
    display: flex;
}

[data-yai-tabs][data-nav="top"] {
    flex-direction: column;
}

[data-yai-tabs][data-nav="bottom"] {
    flex-direction: column-reverse;
}

[data-yai-tabs][data-nav="left"],
[data-yai-tabs][data-nav="right"] {
    flex-wrap: wrap;
}

[data-yai-tabs][data-nav="left"]>[data-controller],
[data-yai-tabs][data-nav="right"]>[data-controller] {
    flex: 1 15%;
    flex-direction: column;
    border: 0 none;
}

[data-yai-tabs][data-nav="left"]>[data-controller] [data-open],
[data-yai-tabs][data-nav="right"]>[data-controller] [data-open] {
    padding: 4px 8px;
    text-align: left;
    justify-content: left;
}

[data-yai-tabs][data-nav="left"]>[data-controller] [data-open].active,
[data-yai-tabs][data-nav="right"]>[data-controller] [data-open].active {
    transform: scale(1.02);
}

[data-yai-tabs][data-nav="left"] [data-content],
[data-yai-tabs][data-nav="right"] [data-content] {
    flex: 1 80%;
}

[data-yai-tabs][data-nav="left"] {
    flex-direction: row;
}

[data-yai-tabs][data-nav="right"] {
    flex-direction: row-reverse;
}

/* Default content styles & utils */

[data-yai-tabs] [data-tab]:not([data-spaceless]) {
    padding: var(--yai-tabs-content-padding);
}

/* Closed state placeholder */
[data-yai-tabs]:not(.tab-active) [data-content] {
    min-height: var(--yai-tabs-content-min-height);
}

[data-yai-tabs]:not(.tab-active) [data-content]:before {
    content: var(--yai-tabs-closed-text);
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
    height: 100%;
    min-height: var(--yai-tabs-content-min-height);
    display: flex;
    align-items: var(--yai-tabs-closed-align);
    justify-content: center;
    font-size: var(--yai-closed-font-size, 14px);
    animation: yai-placeholder-in var(--yai-tabs-closed-timeout) ease-in;
}

/* Content utils */
[data-yai-tabs] h2,
[data-yai-tabs] h3,
[data-yai-tabs] h4,
[data-yai-tabs] h5,
[data-yai-tabs] h6,
[data-yai-tabs] p,
[data-yai-tabs] pre,
[data-yai-tabs] ul,
[data-yai-tabs] ol {
    margin: var(--yai-tabs-content-elements-margin);
}
[data-yai-tabs] p,
[data-yai-tabs] pre,
[data-yai-tabs] ul,
[data-yai-tabs] ol {
    line-height: var(--yai-tabs-content-line-height);
}
[data-yai-tabs] ul,
[data-yai-tabs] ol {
    margin-left: 16px;
    padding: var(--yai-tabs-content-element-lists-padding, 0 0 0 24px);
    list-style: initial;
}
[data-yai-tabs] hr {
    margin: var(--yai-tabs-content-element-hr-margin, 16px 0);
    opacity: .7;
}
[data-yai-tabs] pre {
    overflow: auto;
}
[data-yai-tabs] .yp-3 { padding: var(--yai-tabs-padding-3); }
[data-yai-tabs] .yp-2 { padding: var(--yai-tabs-padding-2); }
[data-yai-tabs] .yp-1 { padding: var(--yai-tabs-padding-1); }
[data-yai-tabs] .yp-0 { padding: var(--yai-tabs-padding-0, 0); }
[data-yai-tabs] .ypb-0 { padding-bottom: var(--yai-tabs-padding-0, 0); }
[data-yai-tabs] .ypt-0 { padding-top: var(--yai-tabs-padding-top-0, 0); }
[data-yai-tabs] .ym-0 { margin: var(--yai-tabs-margin-0, 0); }
[data-yai-tabs] .ymb-0 { margin-bottom: var(--yai-tabs-margin-bottom-0, 0); }
[data-yai-tabs] [data-spaceless] { padding: 0; }
[data-yai-tabs] [data-uppercase] { text-transform: uppercase; }
[data-yai-tabs] [data-lowercase] { text-transform: lowercase; }
[data-yai-tabs] .text-nowrap { white-space: nowrap; }
[data-yai-tabs] .yai-grid { display: grid; }
[data-yai-tabs] .yai-flex { display: flex; }
[data-yai-tabs] .yai-flex-wrap { flex-wrap: wrap; }
[data-yai-tabs] .yai-gap-s { gap: var(--yai-tabs-gap-s, .4rem); }
[data-yai-tabs] .yai-gap-m { gap: var(--yai-tabs-gap-m, .75rem); }
[data-yai-tabs] .yai-gap-l { gap: var(--yai-tabs-gap-l, 1rem); }
[data-yai-tabs] .yai-align-center { align-items: center; }
[data-yai-tabs] .yai-justify-center { justify-content: center; }
[data-yai-tabs] .yai-justify-between { justify-content: space-between; }
[data-yai-tabs] .yai-text-center { text-align: center; }

/* Error states */
[data-yai-tabs] [data-tab][id].error-occurred {
    margin: 0;
    opacity: 1;
    visibility: visible;
    filter: none;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

[data-yai-tabs] [data-tab][id].error-occurred .alert {
    min-height: var(--yai-tabs-content-min-height);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--yai-tabs-color-danger);
}

/*
 * Behavior animations
 */

[data-behavior="slide-down"] > [data-content] > [data-tab] {
    transform: translateY(-25px);
}

[data-behavior="slide-up"] > [data-content] > [data-tab] {
    transform: translateY(25px);
}

[data-behavior="slide-left"] > [data-content] > [data-tab] {
    transform: translateX(25px);
}

[data-behavior="slide-right"] > [data-content] > [data-tab] {
    transform: translateX(-25px);
}

[data-behavior="slide-up"] > [data-content],
[data-behavior="slide-down"] > [data-content],
[data-behavior="slide-left"] > [data-content],
[data-behavior="slide-right"] > [data-content] {
    overflow: hidden;
}

[data-behavior="slide-up"] > [data-content] > [data-tab],
[data-behavior="slide-down"] > [data-content] > [data-tab],
[data-behavior="slide-left"] > [data-content] > [data-tab],
[data-behavior="slide-right"] > [data-content] > [data-tab] {
    transition: transform 0.3s ease-in-out, opacity 0.4s ease-out, visibility 0s linear 0.4s;
}

[data-behavior="slide-up"] > [data-content] > [data-tab].active,
[data-behavior="slide-down"] > [data-content] > [data-tab].active,
[data-behavior="slide-left"] > [data-content] > [data-tab].active,
[data-behavior="slide-right"] > [data-content] > [data-tab].active {
    transform: translate(0);
    transition: transform 0.2s ease-in-out, opacity 0.3s ease-in, visibility 0s linear;
}

[data-behavior="fade"] > [data-content] [data-tab] {
    transform: none;
    transition: opacity 0.2s ease-out, visibility 0s linear 0.5s;
}

[data-behavior="fade"] > [data-content] [data-tab].active {
    transform: translate(0);
    transition: opacity 0.3s ease-in-out, visibility 0s linear;
}

[data-behavior="blur"] > [data-content] [data-tab] {
    filter: blur(5px);
    transform: none;
    transition: filter .35s ease-out, opacity 0.3s ease-out, visibility 0s linear 0.6s;
}

[data-behavior="blur"] > [data-content] [data-tab].active {
    filter: blur(0);
    transform: translate(0);
    transition: filter 0.25s ease-in, opacity 0.05s ease-in, visibility 0s linear;
}

[data-behavior="zoom"] > [data-content] [data-tab] {
    transform: scale(0.9);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-out, visibility 0.3s linear 0.6s;
}

[data-behavior="zoom"] > [data-content] [data-tab].active {
    transform: scale(1);
    transition: transform 0.25s cubic-bezier(0.3, 0, 0.6, 1), opacity 0.2s ease-in, visibility 0s linear;
}

[data-behavior="flip"] > [data-content] [data-tab] {
    transform: rotateY(-90deg);
    transform-origin: left center;
    transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out, visibility 0s linear 0.4s;
}

[data-behavior="flip"] > [data-content] [data-tab].active {
    transform: rotateY(0deg);
    transition: transform 0.5s cubic-bezier(0.4, 1.8, 0.2, 1), opacity 0.2s ease-in-out, visibility 0s linear;
}

[data-behavior="instant"] > [data-content] [data-tab] {
    transition: none;
}

/* Shadow adjustments for active tab buttons */

[data-theme="default"][data-nav="left"]>[data-controller] [data-open].active,
[data-theme="default"] [data-nav="left"]>[data-controller] [data-open].active {
    box-shadow: var(--yai-tabs-shadow-nav-left) var(--yai-tabs-shadow-accent);
}

[data-theme="default"][data-nav="right"]>[data-controller] [data-open].active,
[data-theme="default"] [data-yai-tabs][data-nav="right"]>[data-controller] [data-open].active {
    box-shadow: var(--yai-tabs-shadow-nav-right) var(--yai-tabs-shadow-accent);
}

[data-theme="default"]:not([data-nav])>[data-controller] [data-open].active,
[data-theme="default"] [data-yai-tabs]:not([data-nav])>[data-controller] [data-open].active,
[data-theme="default"][data-nav="top"]>[data-controller] [data-open].active,
[data-theme="default"] [data-yai-tabs][data-nav="top"]>[data-controller] [data-open].active {
    box-shadow: var(--yai-tabs-shadow-nav-top) var(--yai-tabs-shadow-accent);
}

[data-theme="default"][data-nav="bottom"]>[data-controller] [data-open].active,
[data-theme="default"] [data-yai-tabs][data-nav="bottom"]>[data-controller] [data-open].active {
    box-shadow: var(--yai-tabs-shadow-nav-bottom) var(--yai-tabs-shadow-accent);
}

/* Focus States */

[data-theme="default"] [data-controller] [data-open]:focus-visible {
    outline: 2px solid var(--yai-tabs-color-focus);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px var(--yai-tabs-color-focus-ring);
}
[data-theme="default"] [data-controller] [data-open].active:focus-visible {
    outline: 2px solid var(--yai-tabs-color-focus);
    outline-offset: -1px;
}
[data-yai-tabs]:not(.tab-active) [data-controller] [data-open][tabindex="0"] {
    text-shadow: 0.4px 0 currentColor, -0.4px 0 currentColor;
    opacity: 1;
}
[data-yai-tabs]:not(.tab-active) [data-controller] [data-open][tabindex="-1"] {
    opacity: 0.85;
}

/* =========================
   DEFAULT THEMES
   ========================= */

/**
* Minimal Theme */
[data-theme="minimal"] {
    --yai-loader-color: var(--yai-minimal-primary-color);
    box-shadow: 0 4px 6px 0px var(--yai-minimal-box-shadow);
}
[data-theme="minimal"] [data-controller] [data-open]:focus-visible {
    outline: 2px solid var(--yai-tabs-color-focus);
    outline-offset: 2px;
    box-shadow: 0 0 0 3px var(--yai-tabs-color-focus-ring);
}
[data-theme="minimal"] [data-controller] [data-open].active:focus-visible {
    outline: 2px solid var(--yai-tabs-color-focus);
    outline-offset: -1px;
}
[data-theme="minimal"] [data-content] {
    --yai-tabs-content-inactive-background: var(--yai-minimal-tabs-content-inactive-background);
    --yai-tabs-content-inactive-color-muted: var(--yai-minimal-tabs-content-inactive-color-muted);
}
[data-theme="minimal"] [data-content] {
    background-color: var(--yai-tabs-content-inactive-background);
}
[data-theme="minimal"] [data-tab].active {
    color: var(--yai-tabs-color-text);
    background-color: var(--yai-tabs-content-background);
}
[data-theme="minimal"] [data-controller] {
    box-shadow: none;
    background: transparent;
    display: flex;
    background-color: var(--yai-minimal-light-color);
    box-shadow: inset 0 -3px 0 var(--yai-tabs-nav-box-shadow);
}
[data-theme="minimal"][data-nav="bottom"] [data-controller] {
    box-shadow: inset 0 3px 0 var(--yai-tabs-nav-box-shadow);
}
[data-theme="minimal"][data-nav="left"] [data-controller] {
    box-shadow: inset -3px 0 0 var(--yai-tabs-nav-box-shadow);
}
[data-theme="minimal"][data-nav="right"] [data-controller] {
    box-shadow: inset 3px 0 0 var(--yai-tabs-nav-box-shadow);
}
[data-yai-tabs][data-theme="minimal"] > [data-controller] [data-open] {
    padding: 16px 20px;
}
[data-theme="minimal"] [data-controller] [data-open] {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1rem;
    font-weight: 500;
    transition: var(--transition);
    color: var(--text-color);
    position: relative;
}
[data-theme="minimal"] [data-controller] [data-open],
[data-theme="minimal"] [data-controller] [data-open].active:before {
    transition: all var(--yai-transition-short) ease-in-out;
}
[data-theme="minimal"] [data-controller] [data-open].active {
    border-bottom-color: inherit;
    background-color: var(--yai-tabs-nav-button-active-background);
    color: var(--yai-minimal-primary-color);
    text-shadow: 0.6px 0 currentColor, -0.6px 0 currentColor;
}
[data-theme="minimal"] > [data-controller] [data-open].active::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: .8;
    width: 100%;
    height: 3px;
    background-color: var(--yai-minimal-primary-color);
}
[data-theme="minimal"][data-nav="bottom"] > [data-controller] [data-open].active::before {
    top: 0;
}
[data-theme="minimal"][data-nav="left"] > [data-controller] [data-open].active::before,
[data-theme="minimal"][data-nav="right"] > [data-controller] [data-open].active::before {
    top: unset;
    bottom: unset;
    left: unset;
    right: 0;
    width: 3px;
    height: 100%;
}
[data-theme="minimal"][data-nav="right"] > [data-controller] [data-open].active::before {
    top: unset;
    bottom: unset;
    left: 0;
    right: unset;
}

@media (max-width: 740px) {
    [data-theme="minimal"] [data-controller] {
        --yai-tabs-content-inactive-background: #f4f4f4;
        background-color: var(--yai-tabs-content-inactive-background);
    }
    [data-theme="minimal"][data-nav] [data-controller] [data-open].active::before,
    [data-theme="minimal"][data-nav="left"] [data-controller] [data-open].active::before,
    [data-theme="minimal"][data-nav="right"] [data-controller] [data-open].active::before,
    [data-theme="minimal"][data-nav="bottom"] [data-controller] [data-open].active::before,
    [data-theme="minimal"][data-nav="top"] [data-controller] [data-open].active::before {
        width: 100%;
        height: 3px;
        top: unset;
        left: 0;
        right: unset;
        bottom: 0;
    }
}

/**
 * Default Theme */
 [data-theme="default"] {
    border-radius: var(--yai-tabs-border-radius);
}
[data-theme="default"],
[data-theme="default"] [data-yai-tabs] {
    background-color: var(--yai-tabs-color-background);
    box-shadow: var(--yai-tabs-shadow-medium);
}

/* Navigation Styles */
[data-theme="default"] [data-controller] {
    background-color: var(--yai-tabs-nav-background);
    box-shadow: var(--yai-tabs-shadow-subtle);
}

[data-yai-tabs][data-nav="bottom"] > [data-controller] {
    --yai-tabs-shadow-subtle: 0 0 4px var(--yai-tabs-shadow-medium-color);
}

[data-theme="default"] [data-controller] [data-open] {
    color: var(--yai-tabs-color-text-muted);
    background-color: var(--yai-tabs-nav-button-background);
    border: var(--yai-tabs-nav-button-border, none);
    cursor: var(--yai-tabs-nav-button-cursor, pointer);
    font-weight: var(--yai-tabs-nav-button-font-weight, 500);
}

[data-theme="default"] [data-controller] [data-open]:hover {
    background-color: var(--yai-tabs-nav-button-hover-background, var(--yai-tabs-color-surface-alt));
}

[data-theme="default"] [data-controller] [data-open].active {
    color: var(--yai-tabs-color-accent);
    background-color: var(--yai-tabs-nav-button-active-background);
    text-shadow: 0.6px 0 currentColor, -0.6px 0 currentColor;
}

/* Content Areas */
[data-theme="default"].tab-active>[data-content]>[data-tab],
[data-theme="default"] .tab-active>[data-content]>[data-tab] {
    color: var(--yai-tabs-color-text);
    background-color: var(--yai-tabs-content-background);
}

/* Inactive/Placeholder State */
[data-theme="default"]:not(.tab-active)>[data-content],
[data-theme="default"] div:not(.tab-active)>[data-content] {
    color: var(--yai-tabs-content-inactive-color-muted, --yai-tabs-color-text-muted);
    background-color: var(--yai-tabs-content-inactive-background);
    font-style: var(--yai-tabs-content-inactive-font-style, italic);
}

/* =========================
   UTILITY CLASSES FOR CUSTOMIZATION
   ========================= */

[data-yai-tabs] [data-tabs-header] {
    background-color: var(--yai-tabs-header-color-background, #ffffff);
    color: var(--yai-tabs-header-color, #2b2929);
}
[data-yai-tabs] [data-tabs-footer] {
    position: relative;
    background-color: var(--yai-tabs-nav-background);
    box-shadow: var(--yai-tabs-shadow-nav-bottom) var(--yai-tabs-shadow-medium-color);
}
.yai-orientation-hint {
    padding: 14px;
    text-align: center;
    background: var(--yai-tabs-nav-background);
    color: var(--yai-tabs-color-text-muted);
    box-shadow: inset -1px 5px 5px 0px #5f51518b;
    font-size: 14px;
    user-select: none;
    cursor: default;
    display: none;
}
.tab-active .yai-orientation-hint {
    display: block;
}

/* Semantic Variants for Active Buttons */
[data-yai-tabs][data-theme="default"] [data-controller][data-variant] [data-open].active {
    --yai-loader-color: var(--yai-tabs-color-accent-contrast);
}

[data-theme="default"] [data-controller][data-variant="primary"] [data-open].active {
    --yai-tabs-shadow-accent: rgb(49, 96, 199, .9);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-primary-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-nav-button-active-color);
    background-color: var(--yai-tabs-color-primary);
}

[data-theme="default"] [data-controller][data-variant="secondary"] [data-open].active {
    --yai-tabs-shadow-accent: rgb(138, 157, 158);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-secondary-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-secondary-contrast);
    background-color: var(--yai-tabs-color-secondary);
}

[data-theme="default"] [data-controller][data-variant="success"] [data-open].active {
    --yai-tabs-shadow-accent: rgba(24, 195, 138, 0.6);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-success-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-success-contrast);
    background-color: var(--yai-tabs-color-success);
}

[data-theme="default"] [data-controller][data-variant="warning"] [data-open].active {
    --yai-tabs-shadow-accent: rgba(245, 159, 11, 0.6);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-warning-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-warning-contrast);
    background-color: var(--yai-tabs-color-warning);
}

[data-theme="default"] [data-controller][data-variant="danger"] [data-open].active {
    --yai-tabs-shadow-accent: rgba(239, 68, 68, 0.6);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-danger-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-danger-contrast);
    background-color: var(--yai-tabs-color-danger);
}

[data-theme="default"] [data-controller][data-variant="funky"] [data-open].active {
    --yai-tabs-shadow-accent: rgba(236, 72, 153, 0.6);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-funky-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-funky-contrast);
    background-color: var(--yai-tabs-color-funky);
}

[data-theme="default"] [data-controller][data-variant="dark"] [data-open].active {
    --yai-tabs-shadow-accent: rgba(182, 180, 181, 0.6);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-dark-contrast);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-dark-contrast);
    background-color: var(--yai-tabs-color-dark);
}

[data-theme="default"] [data-controller][data-variant="light"] [data-open].active {
    --yai-tabs-shadow-accent: rgba(182, 180, 181, 0.6);
    --yai-tabs-nav-button-active-color: var(--yai-tabs-color-light);
    --yai-loader-color: var(--yai-tabs-nav-button-active-color);
    color: var(--yai-tabs-color-light);
    background-color: var(--yai-tabs-color-light-contrast);
}

/* Color Accent Overrides */
[data-color-accent="primary"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-primary);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgb(49, 96, 199, .9);
}

[data-color-accent="secondary"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-secondary);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgb(95, 128, 130);
}

[data-color-accent="success"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-success);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgba(24, 195, 138, 0.6);
}

[data-color-accent="warning"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-warning);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgba(245, 159, 11, 0.6);
}

[data-color-accent="danger"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-danger);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgba(239, 68, 68, 0.6);
}

[data-color-accent="funky"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-funky);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgba(236, 72, 153, 0.6);
}

[data-color-accent="dark"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-dark);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgba(161, 158, 160, 0.649);
}

[data-color-accent="light"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-light);
    --yai-loader-color: var(--yai-tabs-color-accent);
    --yai-tabs-shadow-accent: rgba(181, 207, 230, 0.649);
}

[data-color-apply="primary"] { color: var(--yai-tabs-color-primary); }
[data-color-apply="secondary"] { color: var(--yai-tabs-color-secondary); }
[data-color-apply="success"] { color: var(--yai-tabs-color-success); }
[data-color-apply="warning"] { color: var(--yai-tabs-color-warning); }
[data-color-apply="danger"] { color: var(--yai-tabs-color-danger); }
[data-color-apply="funky"] { color: var(--yai-tabs-color-funky); }
[data-color-apply="dark"] { color: var(--yai-tabs-color-dark); }
[data-color-apply="light"] { color: var(--yai-tabs-color-light); }

/* .yai-btns */
[data-yai-tabs] .yai-btn-primary { --yai-loader-color: var(--yai-tabs-color-primary-contrast); background-color: var(--yai-tabs-color-primary); color: var(--yai-tabs-color-primary-contrast); }
[data-yai-tabs] .yai-btn-secondary { --yai-loader-color: var(--yai-tabs-color-secondary-contrast); background-color: var(--yai-tabs-color-secondary); color: var(--yai-tabs-color-secondary-contrast) }
[data-yai-tabs] .yai-btn-success { --yai-loader-color: var(--yai-tabs-color-success-contrast); background-color: var(--yai-tabs-color-success); color: var(--yai-tabs-color-success-contrast) }
[data-yai-tabs] .yai-btn-warning { --yai-loader-color: var(--yai-tabs-color-warning-contrast); background-color: var(--yai-tabs-color-warning); color: var(--yai-tabs-color-warning-contrast) }
[data-yai-tabs] .yai-btn-danger { --yai-loader-color: var(--yai-tabs-color-danger-contrast); background-color: var(--yai-tabs-color-danger); color: var(--yai-tabs-color-danger-contrast) }
[data-yai-tabs] .yai-btn-funky { --yai-loader-color: var(--yai-tabs-color-funky-contrast); background-color: var(--yai-tabs-color-funky); color: var(--yai-tabs-color-funky-contrast) }
[data-yai-tabs] .yai-btn-dark { --yai-loader-color: var(--yai-tabs-color-dark-contrast); background-color: var(--yai-tabs-color-dark); color: var(--yai-tabs-color-dark-contrast) }
[data-yai-tabs] .yai-btn-light { --yai-loader-color: var(--yai-tabs-color-light-contrast); background-color: var(--yai-tabs-color-light); color: var(--yai-tabs-color-light-contrast) }

/* --- YAI form elements --- */
[data-yai-tabs] .yai-input,
[data-yai-tabs] .yai-select,
[data-yai-tabs] .yai-btn {
    padding: var(--yai-tabs-form-input-elements-padding);
    box-shadow: var(--yai-tabs-form-input-elements-box-shadow);
    border-radius: var(--yai-tabs-form-input-elements-border-radius);
}
[data-yai-tabs] .yai-input,
[data-yai-tabs] .yai-select {
    display: inline-block;
    width: auto;
    border: var(--yai-tabs-form-input-elements-border);
    background: var(--yai-tabs-form-input-elements-background);
}
[data-yai-tabs] .yai-input:focus,
[data-yai-tabs] .yai-select:focus {
    outline: 2px solid var(--yai-tabs-color-focus);
    box-shadow: 0 0 0 3px var(--yai-tabs-color-focus-ring);
    cursor: default;
}
[data-yai-tabs] .yai-input,
[data-yai-tabs] .yai-select,
[data-yai-tabs] .yai-btn {
    cursor: pointer;
    appearance: auto;
}
[data-yai-tabs] .yai-btn {
    border: 0 none;
}
/* checkbox */
[data-yai-tabs] .yai-checkbox {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    cursor: pointer;
    user-select: none;
}
[data-yai-tabs] .yai-checkbox input {
    width: 1.1rem;
    height: 1.1rem;
}

/**
 * Override specific fallback rules (for noscript and manual toggle content in)
 */
.yai-fallback-mode,
.yai-fallback-mode [data-yai-tabs][data-color-scheme="light"]>[data-content] {
    --yai-tabs-content-inactive-color-muted: #111;
}

.yai-fallback-mode [data-yai-tabs][data-behavior] [data-tab] {
    filter: none;
}

.yai-fallback-mode [data-yai-tabs][data-nav] [data-controller] {
    flex: 0 0;
}

.yai-fallback-mode [data-yai-tabs][data-nav] [data-controller] [data-open] {
    display: none;
}

.yai-fallback-mode [data-yai-tabs] [data-tab].active {
    min-height: auto;
}

.yai-fallback-mode [data-yai-tabs][data-behavior] [data-tab] {
    display: block;
    position: static;
    top: 0;
    width: 100%;
    height: auto;
    overflow: visible;
    visibility: visible;
    opacity: 1;
    pointer-events: all;
    background: initial;
    transform: none;
}

.yai-fallback-mode [data-yai-tabs]:not(.tab-active) [data-content]:before,
.yai-fallback-mode [data-yai-tabs] [data-content]:before {
    content: '';
    display: none;
    right: unset;
    bottom: unset;
    z-index: -1;
}

.yai-fallback-mode [data-yai-tabs]:not(.tab-active) [data-content] {
    background: initial;
}

/**
* YaiTabsSwipe - Orbital UI Navigation */
[data-swipe] [data-tab].dragging {
    cursor: grab;
    z-index: 1000;
    user-select: none;
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
}
[data-swipe] > [data-content] { overflow: hidden; }
[data-swipe] .draggable { cursor: grab; }
[data-swipe] .draggable [data-swipe-ignore] { cursor: auto; }

/**
 * Loading states */
.yai-loading {
    --yai-tabs-closed-align: end;
    display: inline-block;
    position: relative;
    opacity: 0.9;
    pointer-events: none;
}

[data-yai-tabs] [data-controller] [data-open].yai-loading,
[data-yai-tabs] [data-controller] [data-open].active.yai-loading,
[data-yai-tabs] [data-content] button.yai-loading {
    color: transparent;
}

.yai-loading::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    animation: yai-spin var(--yai-tabs-loader-speed) linear infinite;
    background: conic-gradient(transparent, var(--yai-loader-color));
    mask: radial-gradient(farthest-side, transparent calc(100% - var(--yai-tabs-loader-thickness)), var(--yai-loader-color, #022031) 0);
}

[data-content].yai-loading {
    width: 100%;
}

button.yai-loading::after {
    --yai-tabs-loader-thickness: var(--yai-tabs-loader-button-thickness, 34px);
    top: 50%;
    left: 50%;
    width: var(--yai-tabs-loader-button-size);
    height: var(--yai-tabs-loader-button-size);
    margin-left: calc(var(--yai-tabs-loader-button-size) / -2);
    margin-top: calc(var(--yai-tabs-loader-button-size) / -2);
}
[data-content].yai-loading::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 998;
    opacity: 0.8;
}
[data-content].yai-loading::after {
    --yai-tabs-loader-thickness: var(--yai-tabs-loader-content-thickness, 3px);
    top: 50%;
    right: 50%;
    width: var(--yai-tabs-loader-content-size);
    height: var(--yai-tabs-loader-content-size);
    margin: calc(var(--yai-tabs-loader-content-size) / -2) calc(var(--yai-tabs-loader-content-size) / -2) 0 0;
}

/**
 * Misc
 */
.yai-fade-in { animation: yai-fade-in .3s ease-in-out; }

@keyframes yai-spin {
    to { transform: rotate(360deg); }
}
@keyframes yai-fade-in {
    0%, 60% { opacity: 0; transform: translateY(15px); }
    100% { opacity: 1; transform: translateY(0); }
}
@keyframes yai-placeholder-in {
    0%, 35% { opacity: 0; }
    25% { top: -30px; left: 20px; }
    75% { top: 0; left: 0; opacity: 0.5; }
    100% { opacity: 1; }
}

@media (max-width: 740px) {
    :root,
    [data-color-scheme="light"],
    [data-color-scheme="dark"],
    [data-color-scheme] {
        --yai-tabs-content-padding: 14px;
        --yai-tabs-content-line-height: 1.7;
        --yai-tabs-shadow-nav-top: 0 1px 8px 2px;
        --yai-tabs-shadow-nav-bottom: 0 -1px 8px 2px;
        --yai-tabs-shadow-nav-left: 0 1px 8px 2px;
        --yai-tabs-shadow-nav-right: 0 1px 8px 2px;
    }
    [data-yai-tabs] {
        display: flex;
        flex-direction: column;
    }
    [data-yai-tabs][data-nav="bottom"] {
        flex-direction: column;
    }
    [data-yai-tabs][data-nav="top"] [data-controller],
    [data-yai-tabs][data-nav="bottom"] [data-controller],
    [data-yai-tabs][data-nav="left"] [data-controller],
    [data-yai-tabs][data-nav="right"] [data-controller],
    [data-yai-tabs] [data-content] [data-controller] {
        flex: 1 100%;
        flex-direction: column;
        justify-content: start;
        gap: 10px;
    }
    [data-yai-tabs][data-nav] [data-controller] {
        padding: 20px;
        background: var(--yai-tabs-content-inactive-background);
    }
    [data-yai-tabs] [data-controller] [data-open] {
        box-shadow: 0 2px 4px 1px var(--yai-tabs-shadow-medium-color),
            0 0px 4px 1px var(--yai-tabs-shadow-medium-color);
    }
    [data-yai-tabs] [data-controller][data-grow]>[data-open] {
        justify-content: left;
    }
    [data-yai-tabs]>[data-content]>[data-tab].active {
        padding: 16px 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-yai-tabs] [data-controller] [data-open],
    [data-yai-tabs][data-behavior]>[data-content]>[data-tab].active,
    [data-yai-tabs] [data-content] [data-tab],
    [data-yai-tabs] [data-content] [data-tab].active,
    [data-yai-tabs]:not(.tab-active) [data-content]::before,
    .yai-loading::after {
        --yai-transition-short: 0s;
        filter: none;
        transition: none;
        animation: none;
    }
}
