.flash { display: flex; align-items: center; gap: 16px; margin: 20px 0; padding: 12px 16px; border: 1px solid var(--line); border-radius: 8px; line-height: 1.6; }
.flash--notice { color: #244d35; border-color: #a7bea0; background: #edf4e9; }
.flash--alert { color: #813c2d; border-color: #d9a293; background: #fff0eb; }
.flash-message { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.flash-close { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: inherit; }
.flash-close:hover { background: rgb(0 0 0 / 5%); }
.flash-close:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
/* Compact language disclosure in the account area. */
.language-menu { position: relative; flex-shrink: 0; font-size: 12px; }
.language-menu-trigger { display: flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 10px; border: 1px solid transparent; border-radius: 6px; cursor: pointer; list-style: none; color: var(--ink); font-weight: 600; }
.language-menu-trigger::-webkit-details-marker { display: none; }
.language-menu-trigger:hover, .language-menu[open] .language-menu-trigger { background: #e9ecdf; }
.language-menu-trigger:focus-visible, .language-menu-option:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.language-menu-chevron { transition: transform 120ms ease; }
.language-menu[open] .language-menu-chevron { transform: rotate(180deg); }
.language-menu-panel { position: absolute; inset-inline-end: 0; top: calc(100% + 8px); z-index: 50; width: 210px; max-width: calc(100vw - 32px); padding: 8px; background: #fffef8; border: 1px solid var(--line); border-radius: 10px; box-shadow: 0 12px 32px #183f321a; }
.language-menu-label { margin: 6px 10px 8px; color: var(--muted); font-size: 11px; }
.language-selector { margin: 0; }
.language-menu-option { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 42px; padding: 10px; border: 0; border-radius: 5px; background: transparent; color: var(--ink); font: inherit; text-align: start; cursor: pointer; }
.language-menu-option:hover, .language-menu-option:focus-visible { background: #eff1e8; }
.language-menu-option[aria-current] { background: #e9ecdf; font-weight: 600; }
@media (max-width: 700px) { .language-menu-panel { inset-inline-start: 0; inset-inline-end: auto; } }
@media (prefers-reduced-motion: reduce) { .language-menu-chevron { transition: none; } }
