/* Shared controls and semantic values. Images, videos and ad frames are never inverted. */
/* Remove the browser's touch flash while retaining visible keyboard focus. */
html{-webkit-tap-highlight-color:transparent}
a,button,input,select,textarea,summary,[role="button"],label{-webkit-tap-highlight-color:transparent}
:is(a,button,summary,[role="button"]):focus:not(:focus-visible){outline:none}
:is(a,button,summary,[role="button"]):focus-visible{outline:2px solid var(--red,#e50914);outline-offset:3px}
:root{--jf-chart-text:#9398a5;--jf-chart-grid:rgba(255,255,255,.09);--jf-chart-red:#ff475b;--jf-chart-blue:#65b7ff;--jf-chart-gold:#f5c518;--jf-inline-text:#fff;--jf-inline-surface:rgba(255,255,255,.03);--jf-inline-error:#ff6474;--jf-gold-text:#f5c518}
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 38px;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--bg-surface);color:var(--text);cursor:pointer;transition:border-color .18s,background .18s}
.theme-toggle:hover{border-color:var(--red)}.theme-toggle:focus-visible{outline:2px solid var(--red);outline-offset:3px}.theme-toggle img{display:block;filter:brightness(0) invert(1);pointer-events:none}
html[data-theme="light"] .theme-toggle img{filter:none}
@media(max-width:680px){.theme-toggle{width:31px;height:31px;flex-basis:31px}.theme-toggle img{width:16px;height:16px}.head-actions>.language-toggle{width:31px;padding:0;justify-content:center}.head-actions>.language-toggle .language-globe{display:none}.head-actions>.search-wrap{min-width:40px}.download-topbar .head-actions{flex:0 1 auto}.download-topbar .head-actions>.btn{font-size:11px;min-height:35px;padding:8px 10px}}

/* Site policy controls share the visitor palette; a manual choice is still local. */
.jf-site-theme{display:grid;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}
.jf-site-theme h4{font:700 15px var(--font-heading);color:var(--text);margin:0 0 5px}.jf-site-theme p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.6;max-width:640px}.jf-site-theme>small{color:var(--text-muted);font-size:11px;line-height:1.5}
.jf-site-theme-actions{display:flex;gap:9px;flex-wrap:wrap}.jf-site-theme-actions .jf-theme-choice{display:inline-flex;align-items:center;gap:8px;min-height:39px;padding:10px 14px;font-size:12px;color:var(--text)}
.jf-theme-choice img{filter:brightness(0) invert(1)}html[data-theme="light"] .jf-theme-choice img{filter:none}.jf-site-theme-actions .is-active{border-color:var(--red);background:var(--red-glow)}
.jf-theme-choice:focus-visible{outline:2px solid var(--red);outline-offset:3px}.jf-theme-choice:disabled{opacity:.5;cursor:wait}
/* Keep the complete mark inside its tile and reserve room for mobile controls. */
.topbar .brand-mark{flex:0 0 auto;line-height:1}.topbar .brand-mark>span{display:block;line-height:1}.topbar .brand-wordmark{justify-content:center;min-width:0}.topbar .brand-name{line-height:1.05}
@media(max-width:680px){.topbar>.brand{align-items:center;flex:0 0 auto;gap:6px}.topbar .brand-mark{width:31px;height:33px;font-size:23px;border-radius:9px}.topbar .brand-mark i{width:17px;left:7px;bottom:7px}.topbar .brand-name{font-size:19px;letter-spacing:-.65px}.topbar .brand-wordmark{gap:3px}.topbar .brand-wordmark small{font-size:5px;letter-spacing:.85px}.jf-site-theme-actions .jf-theme-choice{flex:1 1 120px;justify-content:center}}
@media(max-width:400px){#topbar{padding-inline:10px;gap:8px}#topbar>.brand{gap:5px}#topbar .brand-mark{width:28px;height:30px;font-size:22px}#topbar .brand-name{font-size:18px}#topbar .brand-mark i{width:16px;left:6px;bottom:6px}#topbar .head-actions{gap:3px;margin-left:0}#topbar .head-actions>.language-toggle,#topbar .head-actions>.theme-toggle{width:26px;height:29px;flex-basis:26px;padding:0}#topbar .head-actions>.account-trigger,#topbar .head-actions>.admin-trigger{width:28px;height:29px;min-width:28px;padding:0}#topbar .head-actions>.menu-toggle{width:22px;flex-basis:22px}#topbar .head-actions>.search-wrap{min-width:26px;flex-basis:32px;height:32px;padding-inline:6px}#topbar .search-wrap svg{width:15px;height:15px;flex-shrink:0}}
@media(max-width:340px){#topbar .brand-name{font-size:16px}#topbar .brand-wordmark small{font-size:4.5px;letter-spacing:.6px}}

#siteControlsPanel .jf-theme-choice.is-active{border-color:var(--red);background:var(--red-glow)}

@media(max-width:680px){#topbar>.brand{flex:0 0 auto}#topbar .brand-wordmark{flex:0 0 auto}}
@media(max-width:400px){#topbar .head-actions>.search-wrap{min-width:32px;gap:4px}}
