/* Shared controls; media and brand assets keep their own colors. */
html[data-theme="dark"]{--theme-text:#dddfe5;--theme-muted:#939aa6;--theme-line:#ffffff26;--theme-wash:#ffffff0c;--theme-auto:#bbdfd0}
html[data-theme="light"]{--theme-text:#202733;--theme-muted:#5b6472;--theme-line:#20273330;--theme-wash:#20273308;--theme-auto:#21684d}
.theme-controls{display:flex;align-items:center;gap:4px;flex:0 0 auto;position:relative;z-index:2;font:400 11px/1.3 var(--mono,ui-monospace,monospace);color:var(--theme-text);white-space:nowrap}
.theme-controls button{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 8px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;border-radius:4px;}
.theme-controls button:hover{background:var(--theme-wash)}
.theme-controls button:focus-visible{outline:2px solid var(--theme-text);outline-offset:4px}
.theme-toggle__dot{width:9px;height:9px;flex:0 0 9px;border:1px solid currentColor;border-radius:50%;background:currentColor}
html[data-theme="dark"] .theme-toggle__dot{background:transparent;box-shadow:inset 3px 0 0 currentColor}
.theme-controls .theme-auto{color:var(--theme-muted);padding-left:9px;border-left:1px solid var(--theme-line);border-radius:0;min-width:43px;}
.theme-controls .theme-auto[aria-pressed="true"]{color:var(--theme-auto)}
.theme-controls--home{position:absolute;z-index:4;margin:0;padding:8px 8px 8px 12px;gap:0;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .16s ease}
.theme-controls--home.is-left{padding-right:12px;padding-left:8px}
.theme-controls--home .theme-auto{min-height:40px;min-width:44px;padding:0 6px;border:0;border-radius:3px;font-size:10px;}
.theme-controls--home .theme-auto:is(:hover,:focus-visible){background:transparent;outline:0;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.theme-controls--home .theme-auto::after{content:none}
.theme-controls--home:is(:hover,:focus-within,.is-revealed),.hero:has(.lamp-toggle:is(:hover,:focus-visible)) .theme-controls--home{opacity:1;pointer-events:auto}
.cv-nav__in .theme-controls{margin-left:auto}
.cv-nav__pages{margin-left:auto}
.side-top .theme-controls{margin-left:auto;font-size:10px;gap:0}
.side-top:has(.theme-controls){gap:10px;padding-right:8px}
.side-top .theme-controls button{padding:0 6px}
.side-top .live-dot{margin-right:auto;white-space:nowrap}
.lamp-toggle{appearance:none;position:absolute;z-index:3;display:block;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none;outline:0;cursor:pointer;transform:translateX(-50%);-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px;}
.lamp-toggle [data-theme-label]{display:none}
.lamp-toggle:is(:hover,:focus,:focus-visible){border:0;background:transparent!important;box-shadow:none;outline:0}
.theme-changing body,.theme-changing :is(.nav,.lab-sidebar,.stage,.collection-bar,.card,.ce-stage,.ce-tab,.cg-board,.tg-graphic,.ag-graphic){transition:background-color .35s ease,color .35s ease,border-color .35s ease}
@media(max-width:760px){.cv-nav__in{flex-wrap:wrap}.cv-nav__in .theme-controls{margin-left:auto}.side-top .theme-controls .theme-toggle__dot{display:none}}
@media(max-width:360px){.side-top:has(.theme-controls){gap:7px;padding-left:10px}.side-top .live-dot{font-size:8px}.side-top .theme-controls{font-size:9px}.side-top .theme-controls button{padding:0 5px}}
@media(hover:none){.hero:has(.lamp-toggle:focus) .theme-controls--home{opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.theme-changing body,.theme-changing :is(.nav,.lab-sidebar,.stage,.collection-bar,.card,.ce-stage,.ce-tab,.cg-board,.tg-graphic,.ag-graphic){transition:none}.theme-controls--home{transition:none}}
