/* ====== Design tokens ====== */
:root{
    --bg:#f2f2f2; --fg:#111827; --muted:#6b7280; --card:#ffffff;
    --primary:#0d6efd; --primary-600:#0b5ed7; --ring:rgba(13,110,253,.35);
    --radius:14px; --shadow:0 10px 30px rgba(0,0,0,.08);
    --mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
    --sans:Inter, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
}
html.dark{
    --bg:#0f1115; --fg:#e6e6e6; --muted:#9aa4b2; --card:#11131a;
    --primary:#66b2ff; --primary-600:#5aa5f0; --ring:rgba(102,178,255,.35);
    --shadow:0 12px 36px rgba(0,0,0,.35);
}
html.dark, html.dark p, html.dark h1, html.dark h2, html.dark h3, html.dark h4, html.dark h5, html.dark h6
html.dark th, html.dark td,
html.dark .swagger-ui table thead tr td, html.dark .swagger-ui table thead tr th,
html.dark select, html.dark input, html.dark textarea, html.dark button,
html.dark .parameter__name
{
    color: #bbc1d1 !important;
}
html.dark .opblock-body li {
    color: white;
}
html.dark .opblock-summary-path {
    color: white !important;
}
html.dark .body-param textarea {
    background: rgb(51, 51, 51);
    color: white;
}

html.dark .site-nav {
    background: #333;
}
html.dark .opblock-tag {
    background: #333;
}
html.dark .swagger-ui .opblock .opblock-section-header {
    background: none;
}
html.dark input, .dark select {
    background: none !important;
}

/* ====== Global ====== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
    background:var(--bg); color:var(--fg);
    font-family:var(--sans); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
a{color:var(--primary)}
code, pre, kbd{font-family:var(--mono)}

/* Smooth theming */
:root, body, .navbar, .card, .swagger-ui{
    transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}

/* ====== Header (subtle glass) ====== */
.site-nav{
    background:brown;
    backdrop-filter:saturate(180%) blur(8px);
    border-bottom:1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    height: 65px;
}
.site-nav h2 {
    font-weight: 400;
    font-size: 25px;
}
.site-nav a:hover {
    color: white;
}
.site-nav .btn {
    background-color: #ce3c3c;
    border-color: #841212;
    color:white;
}
.site-nav .btn:hover {
    background-color: #c92016;
    border-color: #841212;
}
html.dark .site-nav .btn {
    background-color: #333;
    border-color:white;
}
html.dark .site-nav .btn:hover {
    background-color:#89bf04;
    border-color: #333;
}
.container-narrow{max-width:1200px}
.brand{
    color: white;
    font-weight:600; letter-spacing:.2px;
}

.operation-tag-content {
    margin-bottom: 10px;
}

/* Compact utilities */
.btn-ghost{
    background:transparent; border:1px solid color-mix(in srgb, var(--fg) 12%, transparent);
}
.btn-ghost:hover{border-color:color-mix(in srgb, var(--fg) 25%, transparent)}

/* ====== Swagger UI polish ====== */
.swagger-ui .topbar{display:none} /* hide default topbar */
#swagger-shell{
    margin-top:1.25rem;
    display:grid; gap:1rem;
    grid-template-columns: 1fr;
}

/* Card wrappers */
.panel{
    background:var(--card);
    border:1px solid color-mix(in srgb, var(--fg) 10%, transparent);
    box-shadow:var(--shadow);
}

/* Wrap info + scheme nicely */
.swagger-ui .information-container, .swagger-ui .scheme-container{
    background:transparent; border:none; padding: 10px 25px; margin:0;
}
.swagger-ui .info {
    margin: 0;
}
.info-card{padding:1rem 1.25rem}
.scheme-card{padding:.75rem 1rem; display:flex; gap:.5rem; align-items:center}

/* Tighter endpoints */
.swagger-ui .opblock{
    box-shadow: none; /* rely on border for cleanliness */
    margin: 0 0 -1px 0;
}
.swagger-ui .opblock .opblock-summary{
    padding:.6rem .8rem; min-height:auto;
}
.language-bash {
    text-wrap: auto !important;
    overflow-wrap: break-word !important;
}
.curl {
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    word-wrap: break-word;
}
.swagger-ui .opblock .opblock-summary-method{
    font-weight:600; border-radius:10px; padding:.2rem .55rem; min-width:64px; text-align:center;
}
.swagger-ui .opblock .opblock-summary-path{font-weight:600}
.swagger-ui .opblock .opblock-summary-description{color:var(--muted)}
.swagger-ui .btn, .swagger-ui .btn-group .btn{
    border-radius:10px;
}

/* Params & models compactness */
.swagger-ui .parameters-col_description, .model-box{border-radius:10px}
.swagger-ui .model-box{border-color:color-mix(in srgb, var(--fg) 14%, transparent)}
.swagger-ui .prop-type{font-family:var(--mono)}
.swagger-ui .model-title{font-weight:600}

/* Tags chips */
.swagger-ui .opblock-tag{
    padding:.35rem .75rem; margin:.25rem 0;
    border:1px solid color-mix(in srgb, var(--primary) 22%, transparent);
    color:var(--fg);
    margin-bottom: -1px !important;
}

/* Monospace text color bump */
.swagger-ui .microlight, .swagger-ui code, .swagger-ui pre{
    color:inherit;
}

/* Scrollbar (subtle) */
::-webkit-scrollbar{height:10px;width:10px}
::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in srgb, var(--fg) 24%, transparent)}
::-webkit-scrollbar-track{background:transparent}


/* Reduce motion for those who prefer */
@media (prefers-reduced-motion: reduce){
    *{transition:none !important}
}

@media (max-width: 700px) {
    .site-nav .btn.btn-outline-primary {
        display: none !important;
    }
    .site-nav em {
        display: none !important;
    }
}

.filter-container {
    display: none;
}

/* Minimal footer spacing */
#swagger-ui{min-height:60vh}