/* Layout adapters for the native djust Workbench pack.
   Colors and design tokens are emitted by {% theme_css %}. */
.workbench-site{background:var(--color-brand-dark);color:var(--color-brand-text);line-height:1.7}
.workbench-site .glass-panel{background:hsl(var(--card));border:1px solid hsl(var(--border));backdrop-filter:none;box-shadow:none}
.workbench-site .wb-site-nav{background:var(--color-brand-dark);border-color:hsl(var(--border));backdrop-filter:none}
.workbench-site .wb-site-nav a{font-size:.875rem}
.workbench-site .wb-site-nav a[aria-current="page"]{color:var(--color-brand-django);text-decoration:underline;text-underline-offset:7px}
.workbench-site .wb-site-footer{background:var(--color-brand-dark);border-color:hsl(var(--border))}
.workbench-site .wb-site-footer>div{gap:2rem;flex-wrap:wrap}.workbench-site .wb-site-footer a{line-height:2}
.workbench-site .wb-page-hero{background:var(--color-brand-dark);padding-top:7.5rem;padding-bottom:2.5rem;border-bottom:1px solid hsl(var(--border))}
.workbench-site .wb-page-hero>.absolute{display:none}
.workbench-site .wb-page-hero>div:not(.absolute){text-align:left;max-width:76rem;margin-inline:auto}
.workbench-site .wb-page-hero p{margin-left:0;max-width:46rem;font-size:1.125rem;line-height:1.75}
.workbench-site .wb-page-hero h1{max-width:60rem}
.workbench-site .wb-page-title{font-weight:800;letter-spacing:-.045em;line-height:1.1;font-size:clamp(2.25rem,4.5vw,3.75rem)}
.workbench-site h1 .text-transparent,.workbench-site h2 .text-transparent{background:none;color:var(--color-brand-django);-webkit-text-fill-color:var(--color-brand-django)}
.workbench-site .wb-page-hero .rounded-full{border:0;background:none;padding:0;border-radius:0;font:500 .75rem/1.6 'JetBrains Mono',monospace;letter-spacing:.1em;color:var(--color-brand-django)}
.workbench-site .wb-page-hero .rounded-full svg{display:none}
.workbench-site .bg-brand-rust{color:hsl(var(--primary-foreground));box-shadow:none}
/* djust 1.2.0 .dj-btn pairs the theme --primary with a hard-coded white label (2.3:1); use the theme ink */
.workbench-site{--dj-btn-primary-fg:hsl(var(--primary-foreground))}
/* djust 1.2.0 empty rating stars are muted-foreground at 30% (2.0:1); non-text UI needs 3:1 */
.workbench-site .rating-star-empty{color:hsl(var(--muted-foreground) / .55)}
.workbench-site a.bg-brand-django,.workbench-site button.bg-brand-django{color:hsl(var(--accent-foreground))}
.workbench-site .highlight,.workbench-site .prose pre code{background:hsl(var(--code));color:hsl(var(--code-foreground));line-height:1.8}
.workbench-site .highlight .c,.workbench-site .highlight .c1,.workbench-site .highlight .cm,.workbench-site .prose .token.comment{color:var(--color-brand-muted)}
.workbench-site .highlight .k,.workbench-site .highlight .kn,.workbench-site .highlight .kd{color:var(--color-brand-django)}
.workbench-site .code-block{border-color:hsl(var(--border));border-radius:var(--radius)}
.workbench-site .code-header,.workbench-site .code-filename,.workbench-site .code-copy{color:var(--color-brand-muted)}
.workbench-site .prose{color:var(--color-brand-text);--tw-prose-body:var(--color-brand-text);--tw-prose-headings:var(--color-brand-text);--tw-prose-links:var(--color-brand-django);--tw-prose-code:var(--color-brand-django)}
.workbench-site .prose p,.workbench-site .prose li{line-height:1.8}
.workbench-site .prose h2,.workbench-site .prose h3{letter-spacing:-.025em;color:var(--color-brand-text)}
.workbench-site .prose a{color:var(--color-brand-django)}
.workbench-site .prose blockquote{border-color:var(--color-brand-django);background:hsl(var(--card));color:var(--color-brand-muted)}
.workbench-site .prose :not(pre)>code{background:hsl(var(--card));color:var(--color-brand-django)}
.workbench-site :is(h1,h2,h3,section)[id]{scroll-margin-top:8rem}
.workbench-site :focus-visible{outline:3px solid hsl(var(--ring));outline-offset:4px}
.workbench-site ::selection{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
@media(max-width:1279px){.workbench-site #mobile-menu{max-height:calc(100dvh - 4rem);overflow-y:auto}.workbench-site #mobile-menu a{min-height:44px}}
@media(max-width:640px){.workbench-site .wb-page-hero{padding-top:6.5rem}.workbench-site .wb-site-footer>div>div{flex-wrap:wrap;justify-content:center}.workbench-site .wb-page-title{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){.workbench-site{scroll-behavior:auto}.workbench-site .animate-pulse{animation:none}}
.workbench-site .wb-content-heading{text-align:left;border-bottom:1px solid hsl(var(--border));padding-bottom:2rem}.workbench-site .wb-content-heading p{margin-inline:0}

/* The docs site is independent; these shared entry points keep it close. */
.wb-docs-navigation { display:flex; align-items:center; gap:.2rem; }
.wb-docs-menu { position:relative; }
.wb-docs-menu summary { display:flex; align-items:center; justify-content:center; cursor:pointer; list-style:none; min-width:26px; min-height:32px; color:var(--color-brand-django); border-radius:4px; }
.wb-docs-menu summary::-webkit-details-marker { display:none; }
.wb-docs-menu[open] summary { background:hsl(var(--card)); }
.wb-docs-dropdown { position:absolute; top:calc(100% + .8rem); left:-3.5rem; width:20rem; padding:.75rem; border:1px solid hsl(var(--border)); border-radius:var(--radius); background:hsl(var(--card)); box-shadow:0 18px 40px rgb(0 0 0 / .25); }
.wb-docs-dropdown > p { padding:.5rem .65rem; margin:0; font-size:.65rem; letter-spacing:.1em; color:var(--color-brand-muted); }
.wb-docs-dropdown > a { display:block; padding:.75rem .65rem; border-radius:4px; text-decoration:none; }
.wb-docs-dropdown > a:hover { background:hsl(var(--secondary)); }
.wb-docs-dropdown strong { display:flex; justify-content:space-between; color:var(--color-brand-text); font-size:.875rem; font-weight:600; }
.wb-docs-dropdown strong span { color:var(--color-brand-django); }
.wb-docs-dropdown a > span { display:block; margin-top:.2rem; color:var(--color-brand-muted); font-size:.75rem; line-height:1.6; }
.wb-mobile-docs { border-block:1px solid hsl(var(--border)); padding:.75rem 0; }
.wb-mobile-docs-title { display:flex; justify-content:space-between; color:var(--color-brand-django); font-weight:600; }
.wb-mobile-docs > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.25rem 1rem; font-size:.875rem; }
.wb-site-footer > div > div:last-child { flex-wrap:wrap; justify-content:flex-end; gap:.65rem 1.25rem; max-width:38rem; }
