/* Borderless terminal-style theme selector. */
.theme-control{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:1100;display:flex;flex-direction:column;gap:3px;font-family:"VT323",monospace}
.theme-label{color:var(--terminal-text,#e8e4d9);font-size:21px;line-height:1.2;text-align:center;letter-spacing:1px;text-shadow:0 0 10px var(--terminal-text-glow,#fffff0),0 0 20px rgba(232,228,217,.3)}
.theme-options{display:flex;align-items:center;gap:6px;background:transparent;border:0}
.theme-separator{color:var(--terminal-text-dim,#8a8780);font:14px/1 "VT323",monospace;opacity:.6}
.theme-option{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:9px 8px;min-width:100px;font:normal 10.6px/1.2 "VT323",monospace;letter-spacing:.04em;color:var(--terminal-text-dim,#8a8780);text-decoration:none;white-space:nowrap;background:transparent;border:0;border-radius:0}
.theme-option::before{content:">";visibility:hidden;flex:none}
.theme-option-name{color:var(--terminal-text-dim,#8a8780);text-shadow:0 0 10px var(--terminal-text-glow,#fffff0),0 0 20px rgba(232,228,217,.3);animation:glow 3s ease-in-out infinite alternate}
.theme-option.is-active .theme-option-name{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.theme-option.is-active::before{visibility:visible}
.theme-switch:hover .theme-option-name,.theme-switch:focus-visible .theme-option-name,.theme-switch:active .theme-option-name{color:var(--terminal-text-glow);text-shadow:0 0 8px var(--terminal-text-glow);text-decoration:none;animation:none}
.theme-switch:focus-visible{outline:1px dashed var(--terminal-text,#e8e4d9);outline-offset:1px}
@media(max-width:1200px){.container{padding-top:5.8rem}}
@media(max-width:768px){
.theme-control{position:relative;top:auto;right:auto;flex-direction:row;align-items:center;justify-content:center;gap:12px;width:max-content;max-width:calc(100% - 24px);margin:8px auto 2px;padding:0;z-index:2}
.theme-label{font-size:19px;line-height:1.2;letter-spacing:.5px}
.theme-options{gap:2px}
.theme-option{font-size:16px;min-width:76px;min-height:44px;padding:9px 6px;gap:4px}
.container{padding-top:1rem}
}
@media(min-width:769px){
.theme-control{top:32px;right:max(24px,calc((100vw - 1280px)/2));width:auto;flex-direction:row;gap:14px;align-items:center}
.theme-label{width:auto;line-height:1.2;letter-spacing:.04em;font-size:11.1px}

.theme-options{display:flex;width:auto;gap:5px}
.theme-option{min-width:0;min-height:34px;padding:7px 6px 7px 14px;gap:0;font-size:11.1px}
.theme-option::before{position:absolute;left:2px;top:50%;transform:translateY(-50%)}
.theme-option.is-active .theme-option-name{text-underline-offset:5px}
}
.theme-control{background:var(--terminal-bg-light,#121212);border:1px solid var(--terminal-text-dim,#8a8780);border-radius:0;padding:3px 12px;box-sizing:border-box}

@media(max-width:768px){.theme-control{padding:2px 10px;gap:9px}.theme-option{min-width:72px;padding-left:4px;padding-right:4px}}
@media(max-width:768px){.theme-control{border:0;background:transparent;box-shadow:none}}
.theme-option.is-active .theme-option-name{color:var(--terminal-text-glow);text-shadow:0 0 8px var(--terminal-text-glow);animation:none}
@media(max-width:768px){
.theme-control{border:0;background:transparent;box-shadow:none}
.theme-option.is-active .theme-option-name,.theme-switch:hover .theme-option-name,.theme-switch:focus-visible .theme-option-name,.theme-switch:active .theme-option-name{color:var(--terminal-text-glow);text-shadow:0 0 8px var(--terminal-text-glow);animation:none}
}
.theme-option.is-active .theme-option-name{color:#c2bfb5;color:color-mix(in srgb,var(--terminal-text) 60%,var(--terminal-text-dim));text-shadow:0 0 4px rgba(232,228,217,.22);animation:none}
.theme-option.is-active:hover .theme-option-name,.theme-option.is-active:active .theme-option-name{color:var(--terminal-text-glow);text-shadow:0 0 8px var(--terminal-text-glow)}
/* A soft halo for the selected theme, shared by desktop and mobile. */
.theme-option.is-active .theme-option-name{color:#c2bfb5;color:color-mix(in srgb,var(--terminal-text) 60%,var(--terminal-text-dim));text-shadow:0 0 7px rgba(255,255,240,.48),0 0 15px rgba(232,228,217,.24);animation:themeActiveGlow 3s ease-in-out infinite alternate}
@keyframes themeActiveGlow{from{text-shadow:0 0 6px rgba(255,255,240,.4),0 0 13px rgba(232,228,217,.2)}to{text-shadow:0 0 9px rgba(255,255,240,.56),0 0 19px rgba(232,228,217,.3)}}
.theme-option.is-active:hover .theme-option-name,.theme-option.is-active:active .theme-option-name{color:var(--terminal-text-glow);text-shadow:0 0 8px var(--terminal-text-glow);animation:none}
@media(max-width:768px){
.theme-control{border:0;background:transparent;box-shadow:none}
.theme-option.is-active .theme-option-name{color:#c2bfb5;color:color-mix(in srgb,var(--terminal-text) 60%,var(--terminal-text-dim));text-shadow:0 0 7px rgba(255,255,240,.48),0 0 15px rgba(232,228,217,.24);animation:themeActiveGlow 3s ease-in-out infinite alternate}
.theme-option.is-active:active .theme-option-name{color:var(--terminal-text-glow);text-shadow:0 0 8px var(--terminal-text-glow);animation:none}
}
@media(prefers-reduced-motion:reduce){.theme-option.is-active .theme-option-name{animation:none}}
@media(prefers-reduced-motion:reduce){.theme-option-name{animation:none}}
/* Three options retain the accepted mobile type size and no frame. */
@media(min-width:769px){.theme-control{right:max(24px,calc((100vw - 1440px)/2));gap:10px}.theme-options{gap:3px}}
@media(max-width:768px){.theme-control{padding:2px 4px;gap:6px}.theme-options{gap:0}.theme-option{min-width:0;padding-left:5px;padding-right:5px;gap:3px}}

@media(max-width:480px){.theme-control{flex-direction:column;gap:0;padding:2px 0}.theme-options{gap:0}.theme-option{padding-left:3px;padding-right:3px}}

@media(max-width:768px){
.theme-control{flex-direction:column;gap:0;padding:2px 0}
.theme-options{display:grid;grid-template-columns:repeat(3,max-content);gap:0 8px;justify-content:center}
.theme-separator{display:none}.theme-option{padding:8px 10px;min-width:0}
.theme-option:not(:nth-child(5)):not(:last-child)::after{content:"|";position:absolute;right:-5px;color:var(--terminal-text-dim);opacity:.6}
}

/* All mobile theme choices remain visible on one line, without scrolling. */
@media(max-width:768px){
 .theme-control{width:calc(100% - 16px);max-width:none;flex-direction:column;gap:0;padding:2px 0}
 .theme-options{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;width:100%;gap:0}
 .theme-option{flex:0 0 auto;min-width:0;padding:8px 3px;gap:2px;letter-spacing:0}
 .theme-option-name{white-space:nowrap;letter-spacing:0}
 .theme-separator{display:block;flex:0 0 auto;padding:0 2px;font-size:12px;line-height:1;opacity:.6}
 .theme-option::after{content:none!important}
 .theme-option:not(.is-active)::before{display:none}
 .theme-option.is-active::before{position:static;transform:none;display:inline;visibility:visible}
}
