/* Kitsos Design System v3.2: shared Docs layer. Critical UI remains local. */
:root {
  color-scheme: light dark;
  --k-primary: #0768bb;
  --k-primary-hover: #055a9f;
  --k-primary-pressed: #044a83;
  --k-primary-soft: #e5f2fc;
  --k-primary-subtle: #f0f8fd;
  --k-cyan: #03a9f4;
  --k-bg: #f4f7fb;
  --k-bg-elevated: #edf2f7;
  --k-surface: #ffffff;
  --k-surface-raised: #ffffff;
  --k-surface-glass: rgb(255 255 255 / 68%);
  --k-surface-glass-strong: rgb(255 255 255 / 82%);
  --k-text: #101828;
  --k-text-muted: #506171;
  --k-border: #d6e0ea;
  --k-border-strong: #b9c8d6;
  --k-radius-control: 11px;
  --k-radius-card: 18px;
  --k-radius-large: 26px;
  --k-radius-pill: 999px;
  --k-font: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --k-mono: "Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --k-shadow-sm: 0 8px 26px rgb(15 35 55 / 9%);
  --k-shadow-md: 0 22px 58px rgb(15 35 55 / 13%);
}

@media (prefers-color-scheme: dark) {
  :root {
    --k-primary: #03a9f4;
    --k-primary-hover: #38bdf8;
    --k-primary-pressed: #0288c7;
    --k-primary-soft: #07334d;
    --k-primary-subtle: #0a2638;
    --k-cyan: #5cc8ff;
    --k-bg: #07111a;
    --k-bg-elevated: #0a1722;
    --k-surface: #0f1d29;
    --k-surface-raised: #152838;
    --k-surface-glass: rgb(12 26 38 / 68%);
    --k-surface-glass-strong: rgb(12 26 38 / 84%);
    --k-text: #f5f8fb;
    --k-text-muted: #a8b8c8;
    --k-border: #294153;
    --k-border-strong: #3c596e;
    --k-shadow-sm: 0 10px 30px rgb(0 0 0 / 24%);
    --k-shadow-md: 0 24px 64px rgb(0 0 0 / 30%);
  }
}

html { background: var(--k-bg); font-family: var(--k-font); font-optical-sizing: auto; }
body { background: var(--k-bg) !important; color: var(--k-text) !important; font-family: var(--k-font) !important; }
body::before {
  position: fixed; z-index: -2; inset: 0; pointer-events: none; content: "";
  background-image: linear-gradient(rgb(7 104 187 / 8%) 1px, transparent 1px), linear-gradient(90deg, rgb(7 104 187 / 8%) 1px, transparent 1px), linear-gradient(rgb(7 104 187 / 5%) 1px, transparent 1px), linear-gradient(90deg, rgb(7 104 187 / 5%) 1px, transparent 1px);
  background-size: 32px 32px, 32px 32px, 128px 128px, 128px 128px;
  mask-image: linear-gradient(to bottom, black 0%, black 75%, transparent 100%);
}
body::after {
  position: fixed; z-index: -3; inset: 0; pointer-events: none; content: "";
  background: radial-gradient(circle at 84% 2%, rgb(3 169 244 / 15%), transparent 25rem), radial-gradient(circle at 2% 38%, rgb(7 104 187 / 10%), transparent 23rem);
}
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 14px; border-radius: var(--k-radius-control); background: var(--k-primary); color: #fff; transform: translateY(-160%); transition: transform 140ms cubic-bezier(.2, 0, 0, 1); }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid rgb(3 169 244 / 55%) !important; outline-offset: 3px; }

header, .app-header {
  position: sticky; z-index: 50; top: 0; border-bottom: 1px solid var(--k-border) !important;
  background: var(--k-surface-glass-strong) !important; backdrop-filter: blur(18px) saturate(1.1);
}
.app-header { min-height: 80px !important; padding-inline: max(24px, calc((100vw - 1440px) / 2)) !important; }
.brand, .app-header__home { color: var(--k-text) !important; }
.brand-logo, .app-header__logo { width: 44px !important; height: 44px !important; }
.app-header__title { letter-spacing: -.012em; }
.app-header__subtitle, .intro, .card p, footer, footer a, .swagger-ui .info p, .swagger-ui .info li, .swagger-ui .renderedMarkdown p { color: var(--k-text-muted) !important; }
.header-actions a, .app-header__actions a { min-height: 44px; display: inline-flex; align-items: center; color: var(--k-text) !important; }
.language, .docs-language {
  min-height: 44px; padding: 0 10px; border: 1px solid var(--k-border) !important; border-radius: var(--k-radius-control) !important;
  background: var(--k-surface-glass-strong) !important; color: var(--k-text) !important; font: 600 14px var(--k-font) !important;
}

main.shell { position: relative; padding-top: 88px !important; }
.eyebrow { color: var(--k-primary) !important; font-size: 14px !important; font-weight: 700 !important; letter-spacing: .08em !important; }
h1 { letter-spacing: -.025em !important; }
.grid { gap: 20px !important; }
.card {
  border-color: var(--k-border) !important; border-radius: var(--k-radius-card) !important;
  background: var(--k-surface-glass) !important; box-shadow: var(--k-shadow-sm) !important; backdrop-filter: blur(14px);
}
@media (hover: hover) and (pointer: fine) { .card:hover { border-color: var(--k-border-strong) !important; box-shadow: var(--k-shadow-md) !important; transform: translateY(-2px) !important; } }
.card span { color: var(--k-primary) !important; }
footer { background: rgb(255 255 255 / 30%); }

.swagger-ui { position: relative; color: var(--k-text) !important; font-family: var(--k-font) !important; }
.swagger-ui .wrapper { max-width: 1200px !important; padding-inline: max(16px, calc((100vw - 1200px) / 2)) !important; }
.swagger-ui .info { margin-block: 48px 32px !important; }
.swagger-ui .info .title { font-size: clamp(32px, 4vw, 40px) !important; line-height: 1.2 !important; letter-spacing: -.025em; }
.swagger-ui .info .title, .swagger-ui .info h1, .swagger-ui .info h2, .swagger-ui .info h3, .swagger-ui .opblock-tag, .swagger-ui .opblock-tag:hover, .swagger-ui .opblock .opblock-summary-path, .swagger-ui .opblock .opblock-summary-description, .swagger-ui .opblock-section-header h4, .swagger-ui .parameter__name, .swagger-ui .response-col_status { color: var(--k-text) !important; }
.swagger-ui .opblock, .swagger-ui .opblock.opblock-get, .swagger-ui .opblock.opblock-post, .swagger-ui .opblock.opblock-put, .swagger-ui .opblock.opblock-delete, .swagger-ui .opblock.opblock-patch {
  border-color: var(--k-border) !important; border-radius: var(--k-radius-card) !important; background: var(--k-surface-glass) !important; box-shadow: var(--k-shadow-sm) !important; backdrop-filter: blur(14px);
}
.swagger-ui .opblock-body, .swagger-ui .opblock .opblock-body { background: var(--k-surface) !important; }
.swagger-ui .opblock-section-header, .swagger-ui .opblock .opblock-section-header, .swagger-ui .model-box, .swagger-ui .highlight-code { background: var(--k-surface-raised) !important; }
.swagger-ui .opblock-summary { min-height: 60px !important; }
.swagger-ui .opblock-summary-method { min-width: 76px; border-radius: var(--k-radius-pill) !important; font-family: var(--k-mono) !important; }
.swagger-ui code, .swagger-ui pre, .swagger-ui .opblock-summary-path, .swagger-ui .response-col_status { font-family: var(--k-mono) !important; }
.swagger-ui input[type=text], .swagger-ui textarea, .swagger-ui select { border-color: var(--k-border) !important; border-radius: var(--k-radius-control) !important; background: var(--k-surface) !important; color: var(--k-text) !important; }
.swagger-ui .btn { min-height: 44px !important; border-radius: var(--k-radius-control) !important; }
.swagger-ui .btn.execute { background: var(--k-primary) !important; border-color: var(--k-primary) !important; color: #fff !important; }
.swagger-ui .btn.execute:hover { background: var(--k-primary-hover) !important; border-color: var(--k-primary-hover) !important; }
.swagger-ui .btn.authorize { border-color: var(--k-primary) !important; color: var(--k-primary) !important; }
.swagger-ui .btn.authorize svg { fill: var(--k-primary) !important; }

@supports not (backdrop-filter: blur(1px)) { header, .app-header, .card, .swagger-ui .opblock { background: var(--k-surface) !important; } }
@media (max-width: 680px) { .app-header { min-height: 72px !important; padding: 10px 16px !important; gap: 8px !important; } .app-header__actions { gap: 4px !important; } .app-header__actions a { font-size: 0 !important; width: 44px; justify-content: center; } .app-header__actions a::first-letter { font-size: 14px; } main.shell { padding-top: 56px !important; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; } }
