/* Shared disclosure styling. Both page shells provide their own theme tokens. */
.language-picker { position: relative; margin-left: auto; margin-right: 0; color: var(--ink, #202126); font: inherit; }
.language-picker summary { display: list-item; list-style-position: inside; cursor: pointer; min-height: 44px; padding: 8px 12px; background: transparent; border: 1px solid var(--line, #dcdcd9); border-radius: var(--control-radius, 12px); font-size: .9rem; font-weight: 600; }
.language-picker summary:hover { background: var(--surface, #f0f0ee); }
.language-panel { box-sizing: border-box; position: absolute; right: 0; left: auto; top: calc(100% + 12px); z-index: 2; width: min(340px, calc(100vw - 32px)); padding: 20px; background: var(--card, #fdfdfc); border: 1px solid var(--line, #dcdcd9); border-radius: var(--radius, 24px); box-shadow: var(--shadow, 0 16px 48px rgb(40 34 36 / .12)); }
.language-search label { display: block; font-size: .85rem; font-weight: 600; margin-bottom: 8px; }
.language-search input { box-sizing: border-box; width: 100%; min-height: 44px; padding: 8px 10px; border: 1px solid var(--line, #dcdcd9); border-radius: var(--control-radius, 12px); background: var(--page, #fafaf9); color: inherit; font: inherit; }
.language-panel nav { display: grid; max-height: min(55dvh, 380px); overflow: auto; margin-top: 10px; }
.language-panel a { display: block; padding: 10px; color: inherit; text-decoration: none; border-radius: var(--control-radius, 12px); overflow-wrap: anywhere; }
.language-panel a:hover, .language-panel a[aria-current] { background: var(--accent-soft, #fbe9ed); color: var(--accent, #bd344a); }
.language-panel [role="status"] { margin: 16px 0 0; color: var(--muted, #62636b); }
.language-picker [hidden] { display: none !important; }
.language-picker :focus-visible { outline: 3px solid var(--accent, #bd344a); outline-offset: 4px; }
