/* DareTap flag/code selector, adapted to the existing Puzzle theme. */
.language-switcher{position:relative;z-index:30;margin-left:auto;flex-shrink:0}
.language-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:88px;min-height:44px;padding:7px 11px;border:1.5px solid var(--line);border-radius:999px;background:var(--surface);box-shadow:3px 3px 0 #090711;color:var(--ink);cursor:pointer;font:850 13px/1.2 system-ui,sans-serif;touch-action:manipulation;transition:background .12s,transform .12s}
.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:var(--violet);background:color-mix(in srgb,var(--surface) 85%,var(--violet));transform:translateY(-1px)}
.language-current-flag{display:block;width:23px;height:16px}.language-flag{display:block;width:100%;height:auto;border-radius:3px;overflow:hidden}
.language-caret{font-size:11px;transition:transform .12s}.language-trigger[aria-expanded=true] .language-caret{transform:rotate(180deg)}
.language-panel{position:absolute;top:calc(100% + 12px);right:0;width:238px;max-height:calc(100dvh - 110px);overflow-y:auto;padding:7px;border:2px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:6px 7px 0 #09071188}
.language-panel[hidden],.language-backdrop[hidden]{display:none}.language-panel-header{display:none}.language-options{display:grid;gap:5px}
.language-option{display:grid;grid-template-columns:32px minmax(0,1fr) 26px;align-items:center;gap:10px;min-height:50px;padding:8px;border:1px solid transparent;border-radius:12px;background:color-mix(in srgb,var(--violet) 6%,var(--surface));color:var(--ink);text-decoration:none;font:800 14px/1.3 system-ui,sans-serif}
.language-option:hover,.language-option[aria-current=true]{border-color:var(--violet);background:color-mix(in srgb,var(--violet) 13%,var(--surface))}.language-option[aria-current=true]{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 14%,transparent)}
.language-flag-box{display:grid;place-items:center;width:32px;height:32px;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--surface);box-shadow:2px 2px 0 #09071155}
.language-check{display:grid;place-items:center;width:25px;height:25px;border-radius:8px}.language-option[aria-current=true] .language-check{background:#a2ff65;color:#19151f;border:1px solid #19151f;box-shadow:2px 2px 0 #090711}
.language-backdrop{display:none}.language-close{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--bg);color:var(--ink);font:700 24px/1 system-ui;cursor:pointer}
.language-fallback{font-size:12px;max-width:238px}.language-trigger:focus-visible,.language-option:focus-visible,.language-close:focus-visible{outline:3px solid var(--pink);outline-offset:3px}
@media(max-width:650px){.language-trigger{min-width:78px;gap:5px;padding:7px 9px}.language-current-flag{width:21px;height:15px}body.language-menu-open{overflow:hidden}.language-backdrop{position:fixed;inset:0;display:block;background:#09071188;backdrop-filter:blur(2px)}.language-panel{position:fixed;top:auto;right:max(12px,env(safe-area-inset-right));left:max(12px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:auto;max-height:80dvh;padding:14px;border-radius:26px;box-shadow:5px 6px 0 #090711}.language-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 12px 8px}.language-panel-header>strong{font-size:13px;letter-spacing:1.3px;text-transform:uppercase}.language-option{min-height:56px;font-size:16px;padding:10px;gap:12px}}
@media(prefers-reduced-motion:reduce){.language-trigger,.language-caret{transition:none}.language-trigger:hover,.language-trigger[aria-expanded=true]{transform:none}}
