header{position:fixed;top:0;left:0;right:0;z-index:60;background:var(--paper);border-bottom:1px solid transparent;transform:translateY(-100%);transition:transform .2s ease-out,border-color .2s}
header.show{transform:translateY(0);border-bottom-color:var(--rule)}
header.top{transform:translateY(0)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0;flex:none}
.back-link em{transition:color .12s}
.langbtn{background:transparent;border:1px solid var(--rule);border-radius:3px;
  padding:5px 11px;cursor:pointer;font-family:var(--sans);font-size:13px;
  color:var(--muted);display:flex;align-items:baseline;gap:7px;white-space:nowrap;
  transition:border-color .12s}
.langsw:hover .langbtn,.langsw.open .langbtn{border-color:var(--ink)}
.langbtn b{color:var(--ink);font-weight:500}
.langbtn i{font-style:normal;color:var(--rule)}
.langbtn s,.langbtn u{text-decoration:none;color:var(--muted)}
.langbtn u{font-family:var(--mono);font-size:12px}
.langmenu{position:absolute;top:calc(100% + 10px);right:0;z-index:60;background:var(--paper);
  border:1px solid var(--ink);border-radius:3px;min-width:13em;display:none}
.langsw.open .langmenu{display:block}
.langttl{font-family:var(--mono);font-size:10px;letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);padding:12px 16px 8px}
.langmenu a,.langmenu span.cur{display:flex;align-items:center;gap:9px;padding:9px 16px;
  font-family:var(--sans);font-size:15px;color:var(--ink);text-decoration:none;
  border-top:1px solid var(--rule);text-transform:none;letter-spacing:0;
  transition:background .12s,color .12s}
.langmenu a:hover{background:var(--ink);color:var(--paper)}
.langmenu span.cur{color:var(--muted);flex-wrap:wrap}
.langmenu span.cur::before{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--red);flex:none}
.langmenu a::before{content:"";width:6px;height:6px;border-radius:50%;
  border:1px solid var(--rule);background:transparent;flex:none;
  transition:background .12s,border-color .12s}
.langmenu a:hover::before{background:var(--paper);border-color:var(--paper)}
.langmenu span.cur em{font-style:normal;font-family:var(--mono);font-size:10px;
  letter-spacing:.06em;color:var(--red);width:100%;padding-left:15px;margin-top:2px}
@media(max-width:820px){
  /* Список раскрывается прямо в меню — но только там, где меню есть.
     На страницах без меню он остаётся обычным раскрывающимся списком,
     иначе висит поверх текста. */
  #nav .langsw{display:block;width:100%}
  #nav .langbtn{display:none}
  #nav .langmenu{position:static;border:0;min-width:0;border-radius:0;display:block}
  #nav .langttl{padding:16px 0 6px}
  #nav .langmenu a,#nav .langmenu span.cur{padding:12px 0}
  #nav .langmenu a:hover{background:transparent;color:var(--ink)}
  #nav .langmenu a:hover::before{background:var(--rule);border-color:var(--rule)}
}
