@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: 80px;

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

    /* Loader */
    --yai-tabs-loader-speed: 1.1s;
    --yai-tabs-loader-button-size: 12px;
    --yai-tabs-loader-content-size: 32px;

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

/* =========================
    SEMANTIC COLOR SYSTEM
    ========================= */
 :root,
 [data-color-scheme="light"] {
    /* Core Colors - Used for text, backgrounds, and states */
    --yai-tabs-color-text: #49565b;
    --yai-tabs-color-text-muted: #4a5568;
    --yai-tabs-color-background: #ffffff;
    --yai-tabs-color-surface: #f8fafc;
    --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: #555555bb;
    --yai-tabs-form-input-elemets-border: 1px solid #cfd6dd;
    --yai-tabs-form-input-elemets-background: #fff;

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

    --yai-tabs-color-secondary: #7c3aed;
    --yai-tabs-color-secondary-contrast: #ffffff;

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

    --yai-tabs-color-success: #059669;
    --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;

    /* 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(74, 55, 55, 0.2);
    --yai-tabs-shadow-medium-color: rgba(0, 33, 33, 0.2);
    --yai-tabs-shadow-subtle: 0 0 4px 1px var(--yai-tabs-shadow-subtle-color);
    --yai-tabs-shadow-medium: 0 1px 6px 1px var(--yai-tabs-shadow-medium-color);
    --yai-tabs-shadow-accent: rgba(220, 38, 38, 0.4);

    /* Navigation-specific shadows */
    --yai-tabs-shadow-nav-top: 0 2px 7px 0;
    --yai-tabs-shadow-nav-bottom: 0 -1px 6px 1px;
    --yai-tabs-shadow-nav-left: 2px 1px 7px 2px;
    --yai-tabs-shadow-nav-right: -2px 1px 7px 2px;
    --yai-tabs-nav-button-transition: all 0.2s 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-background: var(--yai-tabs-color-background);
    --yai-tabs-content-background: var(--yai-tabs-color-background);
}

[data-color-scheme="dark"] {
    /* Core Colors */
    --yai-tabs-color-text: #f8fafc;
    --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: #3b82f6;

    --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;

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

    /* 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: #39404b;
    --yai-tabs-content-background: #0c1528;
    --yai-tabs-nav-button-hover-background: #334155;
}

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

[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%;
    overflow: hidden;
    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] nav[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] nav[data-controller] button {
    margin: 0;
    padding: var(--yai-tabs-button-padding);
    min-height: var(--yai-tabs-button-min-height);
    display: flex;
    align-items: center;
    border: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: pointer;
    font-weight: 600;
    text-transform: inherit;
    line-height: 1.4;
    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] nav[data-controller] button:focus {
    outline: 0;
}

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

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

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

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

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

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

[data-yai-tabs] nav[data-controller][data-grow]>button {
    flex-grow: 1;
    justify-content: center;
}
[data-yai-tabs][data-nav="left"]>nav[data-controller][data-grow] button,
[data-yai-tabs][data-nav="right"]>nav[data-controller][data-grow] button {
    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"]>nav[data-controller],
[data-yai-tabs][data-nav="right"]>nav[data-controller] {
    flex: 1 15%;
    flex-direction: column;
    border: 0 none;
}

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

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

[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);
    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] ul,
[data-yai-tabs] ol {
    margin-left: 16px;
    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] .yp-0 { padding: var(--yai-tabs-padding-0, 0); }
[data-yai-tabs] .yp-1 { padding: var(--yai-tabs-padding-1); }
[data-yai-tabs] .yp-2 { padding: var(--yai-tabs-padding-2); }
[data-yai-tabs] .yp-3 { padding: var(--yai-tabs-padding-3); }
[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; }

/* 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);
}

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

.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% - 2px), var(--yai-loader-color, #022031) 0);
}

button.yai-loading::after {
    top: 50%;
    right: 4px;
    width: var(--yai-tabs-loader-button-size);
    height: var(--yai-tabs-loader-button-size);
    margin-top: calc(var(--yai-tabs-loader-button-size) / -2);
}

div[data-content].yai-loading::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 998;
    opacity: 0.8;
}

div[data-content].yai-loading::after {
    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;
}

/*
 * Behavior animations
 */

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

[data-behavior="fade"] [data-tab] {
    transition: opacity 0.2s ease-out, visibility 0s linear 0.5s;
}
[data-behavior="fade"] [data-tab].active {
    transition: opacity 0.3s ease-in-out, visibility 0s linear;
}

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

[data-behavior="slide-left"] [data-tab] {
    transform: translateX(25px);
}
[data-behavior="slide-right"] [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-tab],
[data-behavior="slide-down"] [data-tab],
[data-behavior="slide-left"] [data-tab],
[data-behavior="slide-right"] [data-tab] {
    transition: transform 0.3s ease-in-out, opacity 0.4s ease-out, visibility 0s linear 0.4s;
}
[data-behavior="slide-up"] [data-tab].active,
[data-behavior="slide-down"] [data-tab].active,
[data-behavior="slide-left"] [data-tab].active,
[data-behavior="slide-right"] [data-tab].active {
    transform: translate(0);
    transition: transform 0.2s ease-in-out, opacity 0.3s ease-in, visibility 0s linear;
}

[data-behavior="blur"] [data-tab] {
    filter: blur(5px);
    transition: filter .25s ease-out, opacity 0.3s ease-out, visibility 0s linear 0.6s;
}
[data-behavior="blur"] [data-tab].active {
    filter: blur(0);
    transition: filter 0.25s ease-in, opacity 0.05s ease-in, visibility 0s linear;
}

[data-behavior="zoom"] [data-tab] {
    transform: scale(0.9);
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-out, visibility 30s linear 0.6s;
}
[data-behavior="zoom"] [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-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-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;
}

/* =========================
   DEFAULT THEME
   ========================= */

[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"] nav[data-controller] {
    background-color: var(--yai-tabs-nav-background);
    box-shadow: var(--yai-tabs-shadow-subtle);
}

[data-theme="default"] nav[data-controller] button {
    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"] nav[data-controller] button:hover {
    background-color: var(--yai-tabs-nav-button-hover-background, var(--yai-tabs-color-surface-alt));
}

[data-theme="default"] nav[data-controller] button.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;
}

/* Focus States */
[data-theme="default"] nav[data-controller] button: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"] nav[data-controller] button.active:focus-visible {
    outline: 2px solid var(--yai-tabs-color-focus);
    outline-offset: -1px;
}

/* 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);
}

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

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

/* Semantic Variants for Active Buttons */
[data-theme="default"] nav[data-controller][data-variant="primary"] button.active {
    --yai-tabs-shadow-accent: rgb(49, 96, 199, .9);
    color: var(--yai-tabs-color-primary-contrast);
    background-color: var(--yai-tabs-color-primary);
}
[data-theme="default"] nav[data-controller][data-variant="secondary"] button.active {
    --yai-tabs-shadow-accent: rgba(139, 92, 246, 0.6);
    color: var(--yai-tabs-color-secondary-contrast);
    background-color: var(--yai-tabs-color-secondary);
}
[data-theme="default"] nav[data-controller][data-variant="success"] button.active {
    --yai-tabs-shadow-accent: rgba(24, 195, 138, 0.6);
    color: var(--yai-tabs-color-success-contrast);
    background-color: var(--yai-tabs-color-success);
}
[data-theme="default"] nav[data-controller][data-variant="warning"] button.active {
    --yai-tabs-shadow-accent: rgba(245, 159, 11, 0.6);
    color: var(--yai-tabs-color-warning-contrast);
    background-color: var(--yai-tabs-color-warning);
}
[data-theme="default"] nav[data-controller][data-variant="danger"] button.active {
    --yai-tabs-shadow-accent: rgba(239, 68, 68, 0.6);
    color: var(--yai-tabs-color-danger-contrast);
    background-color: var(--yai-tabs-color-danger);
}
[data-theme="default"] nav[data-controller][data-variant="funky"] button.active {
    --yai-tabs-shadow-accent: rgba(236, 72, 153, 0.6);
    color: var(--yai-tabs-color-funky-contrast);
    background-color: var(--yai-tabs-color-funky);
}
[data-theme="default"] nav[data-controller][data-variant="dark"] button.active {
    --yai-tabs-shadow-accent: rgba(182, 180, 181, 0.6);
    color: var(--yai-tabs-color-dark-contrast);
    background-color: var(--yai-tabs-color-dark);
}

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

[data-color-accent="secondary"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-secondary);
    --yai-tabs-shadow-accent: rgba(139, 92, 246, 0.6);
}

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

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

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

[data-color-accent="funky"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-funky);
    --yai-tabs-shadow-accent: rgba(236, 72, 153, 0.6);
}
[data-color-accent="dark"] {
    --yai-tabs-color-accent: var(--yai-tabs-color-dark);
    --yai-tabs-shadow-accent: rgba(161, 158, 160, 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); }

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

/* --- YAI form elements --- */
[data-yai-tabs] [data-content] .yai-input,
[data-yai-tabs] [data-content] .yai-select,
[data-yai-tabs] [data-content] .yai-btn {
    padding: var(--yai-tabs-form-input-elemets-padding);
    box-shadow: var(--yai-tabs-form-input-elemets-box-shadow);
    border-radius: var(--yai-tabs-form-input-elemets-border-radius);
}
[data-yai-tabs] [data-content] .yai-input,
[data-yai-tabs] [data-content] .yai-select {
    display: block;
    width: 100%;
    border: var(--yai-tabs-form-input-elemets-border);
    background: var(--yai-tabs-form-input-elemets-background);
}
[data-yai-tabs] [data-content] .yai-input:focus,
[data-yai-tabs] [data-content] .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] [data-content] .yai-input,
[data-yai-tabs] [data-content] .yai-select,
[data-yai-tabs] [data-content] .yai-btn { cursor: pointer; appearance: auto; }
[data-yai-tabs] [data-content] .yai-btn { border: 0 none; }
/* checkbox */
[data-yai-tabs] [data-content] .yai-checkbox { display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; user-select: none; }
[data-yai-tabs] [data-content] .yai-checkbox input { width: 1.1rem; height: 1.1rem; }

/**
 * Override specific fallback rules (for noscript and manual toggle content in)
 */

.yai-fallback-mode [data-yai-tabs][data-behavior] [data-tab] {
    filter: none;
}
.yai-fallback-mode [data-yai-tabs][data-nav] nav[data-controller] {
    flex: 0 0;
}
.yai-fallback-mode [data-yai-tabs][data-nav] 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;
}

/**
 * Misc
 */
.yai-fade-in   { animation: yai-fade-in .4s ease-in-out; }
.yai-pulsating { animation: yai-pulse-glow 2s ease-in-out infinite; }

@keyframes yai-spin {
    to { transform: rotate(360deg); }
}
@keyframes yai-fade-in {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes yai-pulse-glow {
    0%, 100% { box-shadow: 0 0 5px var(--yai-shadow-accent); }
    50% { box-shadow: 0 0 20px var(--yai-shadow-accent), var(--yai-accent-glow); }
}
@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"] nav[data-controller],
    [data-yai-tabs][data-nav="bottom"] nav[data-controller],
    [data-yai-tabs][data-nav="left"] nav[data-controller],
    [data-yai-tabs][data-nav="right"] nav[data-controller],
    [data-yai-tabs] [data-content] nav[data-controller] {
        flex: 1 100%;
        flex-direction: column;
        justify-content: start;
        gap: 10px;
    }
    [data-yai-tabs][data-nav] nav[data-controller] {
        padding: 20px;
        background: var(--yai-tabs-content-inactive-background);
    }
    [data-yai-tabs] nav[data-controller] button {
        min-height: 52px;
        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] nav[data-controller][data-grow]>button {
        justify-content: left;
    }
    [data-yai-tabs]>[data-content]>[data-tab].active {
        padding: 24px 10px;
        overflow: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-yai-tabs] [data-tab],
    [data-yai-tabs] [data-tab].active,
    [data-yai-tabs]:not(.tab-active) [data-content]::before,
    .yai-loading::after {
        transition: none;
        animation: none;
    }
}
