/* Shared public UI: typography, header geometry and filter controls. */
:root { --site-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body { font-family:var(--site-font); font-size:14px; line-height:1.5; --line:var(--border); --muted:var(--text-2); }
html body { --bg:#f2ece0; --surface:#fff8f0; --text:#1a1a1a; --accent:#c0401a; }
html[data-theme="dark"] body { --bg:#0e0f11; --surface:#1a1c1f; --text:#f2f2f0; --accent:#ee6a3c; }
body > header .hwrap { max-width:1080px; margin:0 auto; padding:12px 20px; gap:24px; align-items:center; }
body > header .tabs { display:flex; flex:1; flex-wrap:nowrap; gap:2px; margin:0; padding:0; }
body > header .tabs .tab { display:flex; align-items:center; justify-content:center; padding:7px 14px; min-height:35px; font:500 14px/1.5 var(--site-font); text-decoration:none; white-space:nowrap; }
body > header .theme-toggle { padding:0; min-height:0; width:34px; height:34px; }
body > header #user-area:empty { display:none; }
body > main { max-width:1080px; margin:0 auto; padding:24px 20px 80px; }
main h1, main .section-head .section-title { font:600 22px/1.35 var(--site-font); margin:0 0 14px; letter-spacing:normal; }
main .section-head { margin-bottom:0; }
main :is(.filter-button, .release-tabs a, .catalog-filters summary, select) {
  box-sizing:border-box; font:400 14px/1.5 var(--site-font); min-height:44px;
  padding:10px 14px; border:1px solid var(--border); border-radius:999px;
  color:var(--text-2); background:var(--surface); text-decoration:none;
}
main :is(.filter-button.active, .release-tabs a[aria-current="page"]) { background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }
main .release-tabs { gap:8px; }
main :is(input, button, .action) { font-family:var(--site-font); font-size:14px; line-height:1.5; }
main .controls label { font:400 14px/1.5 var(--site-font); }
@media(max-width:899px) {
  body > header .hwrap { flex-wrap:wrap; gap:8px 12px; padding:10px 16px; }
  body > header .logo { flex:1; }
  body > header .logo-sub { display:none; }
  body > header .tabs { order:1; flex:1 0 100%; max-width:100%; min-width:0; overflow-x:auto; gap:0; }
  body > header .tabs .tab { flex:1 0 auto; min-height:44px; padding:7px 8px; font-size:12px; }
  body > main { padding:16px 16px 40px; }
  main h1, main .section-head .section-title { font-size:20px; }
}
