/* Shared Demo 4 palette. Surface and text tokens deliberately remain separate. */
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda.woff') format('woff');font-weight:400 900;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url('fonts/bodoni-moda-italic.woff') format('woff');font-weight:400 900;font-style:italic;font-display:swap}
:root{--horizon-bg:#09131b;--horizon-panel:#0e1c27;--horizon-raised:#132b3a;--horizon-text:#e7eef2;--horizon-muted:#b0c0ca;--horizon-gold:#d2ae6e;--horizon-line:#344b5b;color-scheme:dark}
button,input,select,textarea{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #f5ce87;outline-offset:4px}
[hidden]{display:none!important}
.language-picker{position:relative;display:inline-block;flex-shrink:0;font:inherit;letter-spacing:inherit;text-transform:none}
.language-picker>button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;min-width:62px;padding:9px 12px;border:1px solid #d2ae6e80;background:#09131bd9;color:#fff;cursor:pointer}
.language-menu{position:absolute;right:0;top:calc(100% + 8px);width:180px;padding:6px;background:var(--horizon-panel);border:1px solid var(--horizon-line);box-shadow:0 12px 32px #0007;z-index:150;display:grid;gap:2px}
.language-menu button{display:flex;justify-content:space-between;align-items:center;text-align:left;border:0;color:var(--horizon-text);background:transparent;padding:10px 12px;min-height:44px;cursor:pointer}
.language-menu button:hover,.language-menu button:focus-visible{background:var(--horizon-raised)}
.language-menu button[aria-checked=true]{color:var(--horizon-gold)}
.language-menu button[aria-checked=true]::after{content:'✓';margin-left:12px}
