@font-face {
    font-family: "Inter Variable";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/InterVariable.woff2") format("woff2");
}

:root {
    color-scheme: dark;
    --font-regular: "Inter Variable", "SF Pro Display", -apple-system, "system-ui", "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", "Linear Thai", sans-serif;
    --font-mono: "Berkeley Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    --shell-sidebar-width: 220px;
    --settings-sidebar-width: 244px;
    --shell-nav-row-width: 220px;
    --shell-surface-radius: 12px;
    --shell-shadow: lch(0 0 0 / 0.04) 0 4px 4px -1px, lch(0 0 0 / 0.08) 0 1px 1px 0;
    --shell-bg-sidebar: lch(1.82% 0 272 / 1);
    --shell-bg-scroll: lch(0 0 0 / 0.004);
    --shell-bg-surface: lch(4.52% 0.3 272 / 1);
    --shell-bg-active: lch(9.02% 0.45 272 / 1);
    --shell-bg-button: lch(10.691% 0.493 272 / 1);
    --shell-bg-hover: lch(10.691% 0.493 272 / 1);
    --shell-nav-active-bg: var(--shell-bg-active);
    --shell-nav-hover-bg: var(--shell-bg-hover);
    --shell-nav-text: var(--shell-text-secondary);
    --shell-nav-hover-text: var(--shell-text-primary);
    --shell-nav-active-text: var(--shell-text-primary);
    --shell-menu-bg: lch(9.92% 0.75 272 / 1);
    --shell-border: lch(8.84% 1.38 272 / 1);
    --shell-text-primary: lch(100 0 272);
    --shell-text-secondary: lch(60.307% 1 272);
    --shell-text-tertiary: lch(90.077% 1 272);
    --shell-text-muted: lch(47% 0.9 272);
    --shell-sidebar-resize-guide: lch(34.507% 1 272 / 1);
    --shell-menu-text: lch(90.895% 1.375 272 / 1);
    --shell-menu-text-strong: lch(100 0 272 / 1);
    --shell-menu-text-danger: lch(65% 40 25 / 1);
    --shell-menu-hint: lch(63.582% 1.375 272 / 1);
    --shell-menu-indicator: lch(39.91% 1.375 272 / 1);
    --shell-menu-border: lch(22.88% 1.83 272 / 1);
    --shell-menu-divider: lch(22.88% 1.83 272 / 1);
    --shell-menu-item-hover: lch(15.32% 0.75 272 / 1);
    --assistant-border: lch(17.48% 1.38 272 / 1);
    --assistant-panel-shell-bg: lch(1.82% 0 272 / 1);
    --assistant-panel-content-bg: lch(7.67% 0.75 272 / 1);
    --assistant-panel-shadow: lch(0% 0 0 / 0.125) 0 3px 8px 0, lch(0% 0 0 / 0.125) 0 2px 5px 0, lch(0% 0 0 / 0.125) 0 1px 1px 0;
    --assistant-composer-bg: lch(9.599% 0.943 272 / 1);
    --assistant-composer-button-bg: lch(16.991% 1.393 272 / 1);
    --assistant-composer-border: var(--assistant-border);
    --assistant-composer-icon: lch(90.986% 1.6 272 / 1);
    --assistant-user-message-bg: lch(9.599% 0.943 272 / 1);
    --assistant-user-message-text: lch(90.668% 1.375 272 / 1);
    --assistant-user-message-shadow: lch(0% 0 0 / 0.04) 0 4px 4px -1px, lch(0% 0 0 / 0.08) 0 1px 1px 0;
    --shell-menu-shadow: lch(0 0 0 / 0.125) 0 3px 8px 0, lch(0 0 0 / 0.125) 0 2px 5px 0, lch(0 0 0 / 0.125) 0 1px 1px 0;
    --app-modal-overlay: rgba(0, 0, 0, 0.4);
    --app-modal-overlay-opacity: 0.95;
    --app-modal-shadow: lch(0 0 0 / 0.1) 0 4px 40px 0, lch(0 0 0 / 0.125) 0 3px 20px 0, lch(0 0 0 / 0.125) 0 3px 12px 0, lch(0 0 0 / 0.125) 0 2px 8px 0, lch(0 0 0 / 0.125) 0 1px 1px 0;
    --app-modal-animation: 220ms cubic-bezier(0.43, 0.07, 0.59, 0.94);
    --app-modal-resize-duration: 300ms;
    --app-modal-resize-ease: cubic-bezier(0.43, 0.07, 0.59, 0.94);
    --shell-avatar-green: lch(70% 60 140);
    --shell-placeholder: lch(12% 0.9 272 / 0.92);
    --shell-placeholder-soft: lch(14% 0.85 272 / 0.95);
    --shell-placeholder-line: color-mix(in srgb, var(--shell-border) 72%, transparent);
    --ui-form-range-tooltip-bg: var(--shell-menu-bg);
    --ui-form-range-tooltip-border: var(--shell-menu-border);
    --ui-form-range-tooltip-text: var(--shell-menu-text);
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

html {
    background: var(--shell-bg-sidebar);
}

body {
    overflow: hidden;
    font-family: var(--font-regular, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-weight: 450;
    font-synthesis: none;
    line-height: 1.5;
    color: var(--shell-text-primary);
    background: transparent;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

body.shell-sidebar-resizing,
body.shell-sidebar-resizing *,
body.grid-sidebar-resizing,
body.grid-sidebar-resizing *,
body.page-side-panel-resizing,
body.page-side-panel-resizing * {
    cursor: col-resize !important;
    user-select: none !important;
    -webkit-user-select: none !important;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

button {
    border: 0;
    background: transparent;
    color: inherit;
}

h1:focus {
    outline: none;
}

.app-shell[data-app-theme="light"],
.settings-shell[data-app-theme="light"] {
    color-scheme: light;
    --shell-shadow: lch(0 0 0 / 0.03) 0 4px 4px -1px, lch(0 0 0 / 0.06) 0 1px 1px 0;
    --shell-bg-sidebar: lch(96.8% 0.4 272 / 1);
    --shell-bg-scroll: lch(0 0 0 / 0.03);
    --shell-bg-surface: lch(99% 0.2 272 / 1);
    --shell-bg-active: lch(91.04% 0.5 282 / 1);
    --shell-bg-button: lch(94.5% 0.45 272 / 1);
    --shell-bg-hover: lch(93% 0.5 272 / 1);
    --shell-nav-active-bg: lch(91.04% 0.5 282 / 1);
    --shell-nav-hover-bg: lch(93.14% 0.5 282 / 1);
    --shell-nav-text: lch(38.376% 1.25 282 / 1);
    --shell-nav-hover-text: lch(9.594% 0 282 / 1);
    --shell-nav-active-text: lch(9.594% 0 282 / 1);
    --shell-menu-bg: lch(99% 0.2 272 / 1);
    --shell-border: lch(86% 1.2 272 / 1);
    --shell-text-primary: lch(14% 0.8 272);
    --shell-text-secondary: lch(42% 1 272);
    --shell-text-tertiary: lch(27% 1 272);
    --shell-text-muted: lch(56% 1 272);
    --shell-sidebar-resize-guide: lch(72% 1 272 / 1);
    --shell-menu-text: lch(23% 1.1 272 / 1);
    --shell-menu-text-strong: lch(12% 1 272 / 1);
    --shell-menu-text-danger: lch(50% 45 25 / 1);
    --shell-menu-hint: lch(54% 1.1 272 / 1);
    --shell-menu-indicator: lch(62% 1.1 272 / 1);
    --shell-menu-border: lch(87% 1.5 272 / 1);
    --shell-menu-divider: lch(87% 1.5 272 / 1);
    --shell-menu-item-hover: lch(94% 0.65 272 / 1);
    --ui-form-range-tooltip-bg: var(--shell-menu-bg);
    --ui-form-range-tooltip-border: var(--shell-menu-border);
    --ui-form-range-tooltip-text: var(--shell-menu-text);
    --assistant-border: lch(90.84% 0 282 / 1);
    --assistant-panel-shell-bg: lch(95.94% 0.5 282 / 1);
    --assistant-panel-content-bg: lch(100% 0 282 / 1);
    --assistant-panel-shadow: lch(0% 0 0 / 0.02) 0 6px 18px 0, lch(0% 0 0 / 0.04) 0 3px 9px 0, lch(0% 0 0 / 0.04) 0 1px 1px 0;
    --assistant-composer-bg: lch(100% 0 282 / 1);
    --assistant-composer-button-bg: lch(100% 0 282 / 1);
    --assistant-composer-border: var(--assistant-border);
    --assistant-composer-icon: var(--shell-text-tertiary);
    --assistant-user-message-bg: lch(98.94% 0.5 282 / 1);
    --assistant-user-message-text: lch(27% 1 272);
    --assistant-user-message-shadow: none;
    --shell-tab-active-bg: lch(91.04% 0.5 282 / 1);
    --shell-tab-active-ring: lch(87% 1.5 272 / 1);
    --button-tab-active-bg: lch(91.04% 0.5 282 / 1);
    --button-tab-active-color: lch(14% 0.8 272);
    --button-tab-active-border: lch(87% 1.5 272 / 1);
    --button-tab-bg: lch(94.5% 0.45 272 / 1);
    --button-tab-color: lch(42% 1 272);
    --button-tab-border: lch(87% 1.5 272 / 1);
    --button-tab-shadow: 0 0 0 0 rgb(0 0 0 / 0);
    --button-tab-hover-bg: lch(94% 0.65 272 / 1);
    --button-tab-hover-color: lch(14% 0.8 272);
    --button-tab-hover-border: lch(87% 1.5 272 / 1);
    --shell-menu-shadow: lch(0 0 0 / 0.08) 0 3px 8px 0, lch(0 0 0 / 0.08) 0 2px 5px 0, lch(0 0 0 / 0.08) 0 1px 1px 0;
    --app-modal-overlay: rgba(255, 255, 255, 0.55);
}

@media (prefers-color-scheme: light) {
    .app-shell[data-app-theme="system"],
    .settings-shell[data-app-theme="system"] {
        color-scheme: light;
        --shell-shadow: lch(0 0 0 / 0.03) 0 4px 4px -1px, lch(0 0 0 / 0.06) 0 1px 1px 0;
        --shell-bg-sidebar: lch(96.8% 0.4 272 / 1);
        --shell-bg-scroll: lch(0 0 0 / 0.03);
        --shell-bg-surface: lch(99% 0.2 272 / 1);
        --shell-bg-active: lch(91.04% 0.5 282 / 1);
        --shell-bg-button: lch(94.5% 0.45 272 / 1);
        --shell-bg-hover: lch(93% 0.5 272 / 1);
        --shell-nav-active-bg: lch(91.04% 0.5 282 / 1);
        --shell-nav-hover-bg: lch(93.14% 0.5 282 / 1);
        --shell-nav-text: lch(38.376% 1.25 282 / 1);
        --shell-nav-hover-text: lch(9.594% 0 282 / 1);
        --shell-nav-active-text: lch(9.594% 0 282 / 1);
        --shell-menu-bg: lch(99% 0.2 272 / 1);
        --shell-border: lch(86% 1.2 272 / 1);
        --shell-text-primary: lch(14% 0.8 272);
        --shell-text-secondary: lch(42% 1 272);
        --shell-text-tertiary: lch(27% 1 272);
        --shell-text-muted: lch(56% 1 272);
        --shell-sidebar-resize-guide: lch(72% 1 272 / 1);
        --shell-menu-text: lch(23% 1.1 272 / 1);
        --shell-menu-text-strong: lch(12% 1 272 / 1);
        --shell-menu-text-danger: lch(50% 45 25 / 1);
        --shell-menu-hint: lch(54% 1.1 272 / 1);
        --shell-menu-indicator: lch(62% 1.1 272 / 1);
        --shell-menu-border: lch(87% 1.5 272 / 1);
        --shell-menu-divider: lch(87% 1.5 272 / 1);
        --shell-menu-item-hover: lch(94% 0.65 272 / 1);
        --ui-form-range-tooltip-bg: var(--shell-menu-bg);
        --ui-form-range-tooltip-border: var(--shell-menu-border);
        --ui-form-range-tooltip-text: var(--shell-menu-text);
        --assistant-border: lch(90.84% 0 282 / 1);
        --assistant-panel-shell-bg: lch(95.94% 0.5 282 / 1);
        --assistant-panel-content-bg: lch(100% 0 282 / 1);
        --assistant-panel-shadow: lch(0% 0 0 / 0.02) 0 6px 18px 0, lch(0% 0 0 / 0.04) 0 3px 9px 0, lch(0% 0 0 / 0.04) 0 1px 1px 0;
        --assistant-composer-bg: lch(100% 0 282 / 1);
        --assistant-composer-button-bg: lch(100% 0 282 / 1);
        --assistant-composer-border: var(--assistant-border);
        --assistant-composer-icon: var(--shell-text-tertiary);
        --assistant-user-message-bg: lch(98.94% 0.5 282 / 1);
        --assistant-user-message-text: lch(27% 1 272);
        --assistant-user-message-shadow: none;
        --shell-tab-active-bg: lch(91.04% 0.5 282 / 1);
        --shell-tab-active-ring: lch(87% 1.5 272 / 1);
        --button-tab-active-bg: lch(91.04% 0.5 282 / 1);
        --button-tab-active-color: lch(14% 0.8 272);
        --button-tab-active-border: lch(87% 1.5 272 / 1);
        --button-tab-bg: lch(94.5% 0.45 272 / 1);
        --button-tab-color: lch(42% 1 272);
        --button-tab-border: lch(87% 1.5 272 / 1);
        --button-tab-shadow: 0 0 0 0 rgb(0 0 0 / 0);
        --button-tab-hover-bg: lch(94% 0.65 272 / 1);
        --button-tab-hover-color: lch(14% 0.8 272);
        --button-tab-hover-border: lch(87% 1.5 272 / 1);
        --shell-menu-shadow: lch(0 0 0 / 0.08) 0 3px 8px 0, lch(0 0 0 / 0.08) 0 2px 5px 0, lch(0 0 0 / 0.08) 0 1px 1px 0;
        --app-modal-overlay: rgba(255, 255, 255, 0.55);
    }
}

.app-shell[data-app-theme="custom"],
.settings-shell[data-app-theme="custom"] {
    --shell-bg-sidebar: lch(4.5% 4 292 / 1);
    --shell-bg-surface: lch(7% 4 292 / 1);
    --shell-bg-active: lch(14% 8 292 / 1);
    --shell-bg-button: lch(14% 8 292 / 1);
    --shell-bg-hover: lch(16% 9 292 / 1);
    --shell-menu-bg: lch(11% 6 292 / 1);
    --shell-border: lch(17% 6 292 / 1);
    --shell-menu-border: lch(27% 8 292 / 1);
    --shell-menu-divider: lch(27% 8 292 / 1);
    --shell-menu-item-hover: lch(18% 8 292 / 1);
    --ui-form-range-tooltip-bg: var(--shell-menu-bg);
    --ui-form-range-tooltip-border: var(--shell-menu-border);
    --ui-form-range-tooltip-text: var(--shell-menu-text);
    --assistant-border: var(--shell-border);
    --assistant-panel-shell-bg: var(--shell-bg-sidebar);
    --assistant-panel-content-bg: var(--shell-bg-active);
    --assistant-panel-shadow: lch(0% 0 0 / 0.125) 0 3px 8px 0, lch(0% 0 0 / 0.125) 0 2px 5px 0, lch(0% 0 0 / 0.125) 0 1px 1px 0;
    --assistant-composer-bg: color-mix(in lch, var(--shell-bg-active) 68.75%, var(--shell-bg-button) 31.25%);
    --assistant-composer-button-bg: color-mix(in lch, var(--shell-bg-button) 14%, var(--assistant-border) 86%);
    --assistant-composer-border: var(--assistant-border);
    --assistant-composer-icon: var(--shell-text-tertiary);
    --assistant-user-message-bg: var(--assistant-composer-bg);
    --assistant-user-message-text: var(--shell-text-tertiary);
    --assistant-user-message-shadow: lch(0% 0 0 / 0.04) 0 4px 4px -1px, lch(0% 0 0 / 0.08) 0 1px 1px 0;
}

.app-shell,
.settings-shell {
    height: 100vh;
    min-height: 100vh;
    overflow: hidden;
    background: var(--shell-bg-sidebar);
    color: var(--shell-text-primary);
}

.app-shell__main-column,
.settings-shell__main-column {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100vh;
    min-height: 100vh;
    min-width: 0;
    overflow: hidden;
}

.app-shell__main-column {
    margin-left: var(--shell-sidebar-width);
}

.settings-shell__main-column {
    margin-left: var(--settings-sidebar-width);
}

.shell-sidebar-overlay__backdrop {
    display: none;
}


@media (width <= 1024px) {
    .app-shell__main-column,
    .settings-shell__main-column {
        margin-left: 0;
    }

    .shell-sidebar {
        z-index: 760;
        width: min(var(--shell-sidebar-width), calc(100vw - 40px), 330px);
        max-width: min(calc(100vw - 40px), 330px);
        background: var(--shell-bg-sidebar);
        opacity: 0;
        transform: translateX(-100%);
        transition:
            transform 350ms cubic-bezier(0.32, 0.72, 0, 1),
            opacity 50ms ease-in-out;
        will-change: transform;
    }

    .shell-sidebar--workspace {
        --shell-nav-row-width: calc(min(var(--shell-sidebar-width), calc(100vw - 40px), 330px) - 24px);
    }

    .shell-sidebar--settings {
        width: min(var(--settings-sidebar-width), calc(100vw - 40px), 330px);
        --shell-nav-row-width: calc(min(var(--settings-sidebar-width), calc(100vw - 40px), 330px) - 24px);
    }

    .app-shell--sidebar-overlay-open .shell-sidebar,
    .settings-shell--sidebar-overlay-open .shell-sidebar {
        opacity: 1;
        transform: translateX(0);
    }

    .shell-sidebar__resize-handle {
        display: none;
    }

    .shell-sidebar-overlay__backdrop {
        position: fixed;
        inset: 0;
        z-index: 740;
        display: block;
        border: 0;
        background: color-mix(in srgb, var(--shell-bg-sidebar) 62%, transparent);
        opacity: 0;
        pointer-events: none;
        transition: opacity 150ms ease-in-out;
    }

    .app-shell--sidebar-overlay-open .shell-sidebar-overlay__backdrop,
    .settings-shell--sidebar-overlay-open .shell-sidebar-overlay__backdrop {
        opacity: 1;
        pointer-events: auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .shell-sidebar,
    .shell-sidebar-overlay__backdrop {
        transition: none;
    }
}


.settings-sidebar__back-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    margin-left: 4px;
    padding: 0 12px 0 6px;
    border: 0.5px solid transparent;
    border-radius: 9999px;
    background: transparent;
    color: var(--shell-text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
    line-height: normal;
    white-space: nowrap;
    transition-property: border, background-color, color, opacity;
    transition-duration: 120ms;
}

.settings-sidebar__back-link:hover,
.settings-sidebar__back-link:focus-visible {
    background-color: var(--shell-bg-hover, lch(10.691% 0.493 272 / 1));
    color: var(--shell-text-primary);
}

.settings-sidebar__back-link-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 14px;
    height: 14px;
    margin-right: 6px;
    flex: 0 0 auto;
}

.settings-sidebar__back-link-label {
    display: inline-flex;
    align-items: center;
}

.page-stub__body::-webkit-scrollbar {
    width: 8px;
}

.page-stub__body::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--shell-border) 65%, transparent);
    border-radius: 999px;
}

.app-shell__surface {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    margin: 8px 8px 8px 0;
    overflow: hidden;
    border: 0.5px solid var(--shell-border);
    border-radius: var(--shell-surface-radius);
    background: var(--shell-bg-surface);
    box-shadow: var(--shell-shadow);
}

.app-shell__surface--settings {
    margin-left: 0;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.app-shell__surface--settings::-webkit-scrollbar {
    display: none;
}

.app-shell__surface--test-scroll {
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.app-shell__surface--test-scroll::-webkit-scrollbar {
    display: none;
}

.app-shell__surface-wrap {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    transform-origin: center top;
    transition: transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
}

.app-shell__surface-wrap--assistant-maximized {
    transform: scale(0.98);
}

html:has(.auth-shell),
body:has(.auth-shell) {
    margin: 0;
    background: #090909;
}

.auth-shell {
    --auth-bg: #090909;
    --auth-text: #f4f4f5;
    --auth-muted: #8c8c90;
    --auth-button-bg: #1f1f20;
    --auth-button-hover-bg: #28282a;
    --auth-button-primary-bg: #626bdc;
    --auth-button-primary-hover-bg: #7179e2;
    --auth-border: #2b2c2f;
    --auth-input-bg: #111112;
    display: grid;
    box-sizing: border-box;
    min-height: 100vh;
    padding: 24px;
    overflow: hidden;
    place-items: center;
    background:
        radial-gradient(circle at 50% 42%, rgba(255, 255, 255, 0.018), transparent 290px),
        var(--auth-bg);
    color: var(--auth-text);
    font-family: var(--font-regular);
}

.auth-panel {
    display: flex;
    align-items: center;
    flex-direction: column;
    width: 288px;
    max-width: calc(100vw - 48px);
    margin-top: -20px;
    color: var(--auth-text);
    text-align: center;
}

.auth-panel--wide {
    width: 340px;
}

.auth-logo {
    display: grid;
    width: 48px;
    height: 48px;
    margin-bottom: 30px;
    place-items: center;
    color: #f0f0f0;
}

.auth-logo svg {
    display: block;
}

.auth-panel__copy {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 22px;
    width: 100%;
}

.auth-panel h1 {
    margin: 0;
    color: var(--auth-text);
    font-size: 19px;
    font-weight: 450;
    letter-spacing: 0;
    line-height: 1.5rem;
}

.auth-panel__description {
    width: 100%;
    max-width: 250px;
    margin: -1px auto 14px;
    color: var(--auth-muted);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.auth-panel__description strong {
    color: var(--auth-text);
    font-weight: 450;
}

.auth-actions,
.auth-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    margin-top: 24px;
}

.auth-form {
    gap: 16px;
}

.auth-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 9999px;
    background: var(--auth-button-bg);
    color: var(--auth-text);
    cursor: default;
    font: inherit;
    font-size: 0.875rem;
    font-weight: 450;
    line-height: 1.125rem;
    text-decoration: none;
    transition:
        background 120ms ease,
        color 120ms ease,
        opacity 120ms ease;
}

.auth-button:hover,
.auth-button:focus-visible {
    background: var(--auth-button-hover-bg);
    color: #fff;
    outline: none;
}

.auth-button--primary {
    background: var(--auth-button-primary-bg);
    color: #fff;
}

.auth-button--primary:hover,
.auth-button--primary:focus-visible {
    background: var(--auth-button-primary-hover-bg);
}

.auth-button[disabled],
.auth-button[aria-disabled="true"] {
    opacity: 0.55;
    pointer-events: none;
}

.auth-input {
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    padding: 0 13px;
    border: 1px solid var(--auth-border);
    border-radius: 8px;
    background: var(--auth-input-bg);
    color: var(--auth-text);
    font: inherit;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    outline: none;
    transition:
        border-color 120ms ease,
        box-shadow 120ms ease;
}

.auth-input::placeholder {
    color: #65666a;
}

.auth-input:focus {
    border-color: #363941;
    box-shadow: 0 0 0 2px rgba(88, 91, 98, 0.34);
}

.auth-form__error {
    margin: -4px 0 0;
    color: #f87171;
    font-size: 0.8125rem;
    font-weight: 450;
    line-height: 1.125rem;
    text-align: left;
}

.auth-form__help {
    margin: -2px 0 0;
    color: var(--auth-muted);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
    text-align: center;
}

.auth-input--code {
    font-family: var(--font-mono, "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace);
    font-size: 1rem;
    letter-spacing: 0.09em;
    text-align: center;
}

.auth-consent-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-sizing: border-box;
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--auth-text);
    list-style: none;
    text-align: left;
}

.auth-consent-item {
    box-sizing: border-box;
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--auth-border);
    border-radius: 8px;
    background: var(--auth-input-bg);
    color: var(--auth-text);
    font-size: 0.875rem;
    line-height: 1.25rem;
}

.auth-panel__footer,
.auth-link-row,
.auth-legal {
    color: var(--auth-muted);
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.25rem;
}

.auth-panel__footer {
    margin-top: 30px;
}

.auth-link-row {
    margin-top: 18px;
}

.auth-link-row--compact {
    display: flex;
    justify-content: center;
    gap: 6px;
    margin-top: 8px;
}

.auth-legal {
    max-width: 260px;
    margin: 38px auto 0;
}

.auth-link {
    border: 0;
    background: transparent;
    color: var(--auth-text);
    cursor: default;
    font: inherit;
    text-decoration: none;
}

.auth-link-button {
    padding: 0;
}

.auth-link:hover,
.auth-link:focus-visible {
    color: #fff;
    outline: none;
}

.auth-spinner {
    display: block;
    width: 20px;
    height: 20px;
    margin-top: 34px;
    border: 2px solid rgba(255, 255, 255, 0.16);
    border-top-color: rgba(255, 255, 255, 0.76);
    border-radius: 50%;
    animation: auth-spin 800ms linear infinite;
}

@keyframes auth-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 520px) {
    .auth-shell {
        padding: 20px;
    }

    .auth-panel {
        width: min(288px, 100%);
        margin-top: -8px;
    }
}
