:root { --primary:#5145cd; --ink:#242b40; --muted:#626b7d; --line:#e3e6ee; --page:#f6f7fb; }
* { box-sizing:border-box; }
html { scroll-padding-top:24px; }
body { margin:0; color:var(--ink); background:var(--page); font:15px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; }
a { color:inherit; }
button, input { font:inherit; }
[hidden] { display:none !important; }
:focus-visible { outline:3px solid #8e82ed; outline-offset:3px; }
.skip-link { position:absolute; top:-80px; left:20px; padding:12px; background:white; z-index:2; }
.skip-link:focus { top:12px; }
.topbar { background:white; border-bottom:1px solid var(--line); }
.topbar-inner { max-width:1340px; margin:auto; padding:18px 32px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-icon { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; color:white; background:var(--primary); }
.brand strong { font-size:19px; letter-spacing:-.4px; }
.brand small { display:block; color:var(--muted); font-size:12px; }
.news-link { display:flex; align-items:center; gap:8px; color:var(--primary); font-weight:600; text-decoration:none; padding:8px 0; }
.news-link:hover { text-decoration:underline; }
svg { width:22px; height:22px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:32px; max-width:1340px; margin:0 auto; padding:30px 32px 40px; align-items:start; }
.sidebar { position:sticky; top:24px; }
.sidebar-label { margin:4px 12px 12px; color:var(--muted); font-size:11px; font-weight:700; letter-spacing:1.3px; text-transform:uppercase; }
.section-nav { display:grid; gap:4px; }
.section-nav a { display:flex; align-items:center; gap:10px; padding:11px 12px; border-radius:8px; text-decoration:none; line-height:1.4; font-size:13px; }
.section-nav a:hover, .section-nav a[aria-current] { color:var(--primary); background:#ebe9fc; }
.section-nav svg { width:19px; height:19px; }
.section-nav .count { margin-left:auto; color:var(--muted); font-size:12px; }
.sidebar-note { border-top:1px solid var(--line); margin-top:24px; padding:18px 12px 0; font-size:12px; color:var(--muted); }
main { min-width:0; }
.intro { margin-bottom:24px; }
.eyebrow { color:var(--primary); font-size:11px; font-weight:700; letter-spacing:1.4px; text-transform:uppercase; margin:0 0 8px; }
h1 { margin:0 0 6px; font-size:clamp(25px,3vw,32px); line-height:1.25; letter-spacing:-.8px; }
.intro p:not(.eyebrow) { margin:0; color:var(--muted); }
.search-box { display:flex; align-items:center; gap:12px; margin-top:20px; padding:4px 6px 4px 16px; background:white; border:1px solid #cdd1df; border-radius:10px; box-shadow:0 3px 8px #242b4004; }
.search-box:focus-within { border-color:var(--primary); outline:3px solid #e2defb; }
.search-box svg { color:var(--muted); }
.search-box input { flex:1; width:100%; min-width:0; border:0; outline:none; padding:12px 0; background:transparent; color:var(--ink); }
.search-box input::-webkit-search-cancel-button { display:none; }
.search-box button { border:0; border-radius:6px; background:#f0eefb; color:var(--primary); padding:9px 12px; cursor:pointer; }
.search-hint { margin:8px 0 0 !important; font-size:12px; }
.catalog-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
.catalog-heading h2 { margin:0; font-size:16px; }
.catalog-heading span { font-size:12px; color:var(--muted); }
.section-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; align-items:start; }
.manual-section { background:white; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.section-heading { display:flex; align-items:center; gap:10px; padding:16px 18px 13px; border-bottom:1px solid #f0f1f6; }
.section-heading svg { color:var(--primary); }
.section-heading h2 { margin:0; font-size:15px; line-height:1.3; flex:1; }
.section-heading .count { font-size:11px; color:var(--muted); background:var(--page); border-radius:5px; padding:2px 6px; }
.manual-list { list-style:none; padding:0 10px; margin:0; }
.manual-list li + li { border-top:1px solid #f0f1f6; }
.manual-link { display:grid; grid-template-columns:minmax(0,1fr) 14px; align-items:center; gap:2px 10px; padding:12px 8px; text-decoration:none; border-radius:6px; }
.manual-title { font-size:13px; font-weight:650; }
.manual-description { grid-column:1; font-size:12px; color:var(--muted); line-height:1.45; }
.manual-arrow { grid-column:2; grid-row:1 / 3; color:#9994b6; }
.manual-link:hover { background:#f7f6fe; }
.manual-link:hover .manual-title { color:var(--primary); }
.manual-link:focus-visible { outline-offset:-3px; }
.results-list { list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.result-link { display:block; padding:18px 20px; background:white; border:1px solid var(--line); border-radius:10px; text-decoration:none; }
.result-link:hover { border-color:#aca4e6; }
.result-section { font-size:11px; color:var(--muted); }
.result-link h3 { margin:4px 0 6px; color:var(--primary); font-size:16px; }
.result-link p { margin:0; font-size:13px; color:var(--muted); overflow-wrap:anywhere; }
mark { background:#fff0b0; color:var(--ink); border-radius:2px; }
.empty { border:1px dashed #ccd0de; border-radius:10px; padding:32px 20px; text-align:center; background:white; }
.empty h3 { margin:0 0 6px; font-size:17px; }
.empty p { margin:0; color:var(--muted); font-size:14px; }
.footer { margin-top:24px; font-size:12px; color:var(--muted); }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1050px) {
  .layout { grid-template-columns:185px minmax(0,1fr); gap:22px; padding:24px; }
  .section-grid { gap:14px; }
  .section-heading { padding:14px; }
}
@media (max-width:780px) {
  .topbar-inner { padding:14px 20px; }
  .layout { display:flex; flex-direction:column; gap:20px; padding:20px; }
  .sidebar { position:static; width:100%; }
  .sidebar-label, .sidebar-note, .section-nav svg, .section-nav .count { display:none; }
  .section-nav { display:flex; flex-wrap:wrap; gap:6px; }
  .section-nav a { font-size:12px; padding:8px 10px; background:white; border:1px solid var(--line); }
  main { width:100%; }
}
@media (max-width:560px) {
  .topbar-inner { padding:12px 16px; }
  .brand strong { font-size:17px; }
  .news-link { font-size:12px; }
  .news-link svg { display:none; }
  .layout { padding:18px 16px 28px; }
  .section-grid { grid-template-columns:1fr; }
  .intro { margin-bottom:20px; }
  .search-box { gap:8px; padding-left:12px; }
  .search-box input { font-size:16px; }
  .search-box button { font-size:12px; padding:10px; }
  .catalog-heading { align-items:baseline; }
  .manual-title { font-size:14px; }
  .manual-description { font-size:13px; }
  .manual-link { padding:13px 8px; }
}
@media print {
  .sidebar, .search-box, .search-hint, .news-link { display:none; }
  .layout { display:block; padding:20px; }
  .manual-section, .result-link { break-inside:avoid; }
  body { background:white; }
}
