.catalog-hero{padding:clamp(34px,6vw,72px) 0;background:var(--surface-soft,#eef7fb)}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:18px}
.catalog-card{display:grid;gap:12px;align-content:start;padding:24px;border:1px solid var(--line,#d7e6ef);border-radius:18px;background:var(--surface,#fff);box-shadow:var(--shadow-sm)}
.catalog-card h2,.catalog-card h3{margin:0}.catalog-card p{margin:0;color:var(--muted)}
.catalog-card__meta{color:var(--muted);font-size:.92rem}.catalog-card .button{justify-self:start}
.catalog-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}.catalog-list a{display:block;padding:16px 18px;border:1px solid var(--line,#d7e6ef);border-radius:14px;background:var(--surface,#fff);color:inherit;text-decoration:none;box-shadow:var(--shadow-sm)}
.catalog-list a:hover,.catalog-list a:focus-visible{border-color:#2e9bd5;box-shadow:0 0 0 3px rgba(46,155,213,.18)}
.catalog-list b,.catalog-list span{display:block}.catalog-list span{margin-top:4px;color:var(--muted);font-size:.92rem}
html[data-theme="dark"] .catalog-hero{background:#0b2636}html[data-theme="dark"] .catalog-card,html[data-theme="dark"] .catalog-list a{background:#102a39;border-color:#36566a}

.catalog-page{--tile-min-w:220px;--tile-h:110px;--tile-gap:16px;--tile-font:1.05rem;--cat-tile-w:var(--tile-min-w);--cat-tile-h:var(--tile-h)}
.catalog-switch{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.catalog-switch a{display:flex;align-items:center;justify-content:center;flex:1 1 110px;min-height:48px;padding:10px 14px;border:2px solid var(--line);border-radius:10px;color:var(--ink);background:var(--surface-soft);font-weight:800;text-decoration:none}
.catalog-switch a[aria-current]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark);text-decoration:none}
.catalog-switch a:focus-visible,.catalog-page a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.catalog-page .material-category-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.catalog-page .material-category,.catalog-page .container{min-width:0}
.catalog-page h1,.catalog-page h2,.catalog-page a,.catalog-page p{overflow-wrap:anywhere}
.catalog-series{display:flex;flex-wrap:wrap;gap:8px 18px;margin:6px 0 16px;font-size:.9rem}
.catalog-series a{display:inline-block;padding:4px 0}
.catalog-jump{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
@media(min-width:761px) and (max-width:1600px){.materials-page .nav-shell{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.materials-page .site-nav{order:3;flex-basis:100%;justify-content:center;margin-left:0}}
@media(max-width:400px){.catalog-switch{padding:8px}.catalog-switch a{flex-basis:100%;padding:8px}.catalog-page .material-category{padding:18px}
.materials-page .nav-shell{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding-top:8px;padding-bottom:8px}
.materials-page .brand{grid-column:1;grid-row:1;justify-self:start;max-width:180px}
.materials-page .menu-toggle{grid-column:2;grid-row:1;justify-self:end}
.materials-page .header-socials{grid-column:1/-1;grid-row:2;justify-content:center;margin-left:0!important;padding-left:0;max-width:100%}}

.catalog-page .catalog-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--cat-tile-w)),1fr));gap:var(--tile-gap);align-items:stretch}
.catalog-page .catalog-tile{--ac:var(--primary);--ac-soft:var(--primary-soft);display:flex;align-items:center;justify-content:flex-start;gap:10px;box-sizing:border-box;min-height:var(--cat-tile-h);min-width:0;padding:12px 12px;border:1px solid var(--line);border-left:6px solid var(--ac);border-radius:12px;background:var(--surface);color:var(--ink);font-size:var(--tile-font);font-weight:700;line-height:1.25;text-align:left;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}
.catalog-page .catalog-tile:hover,.catalog-page .catalog-tile:focus-visible{transform:translateY(-3px);border-color:var(--ac);background:var(--surface);box-shadow:0 12px 26px rgba(14,55,88,.15)}
.catalog-page .catalog-tile:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
html:not([data-theme="dark"]) .catalog-switch{background:#12365d;border-color:#12365d}
html:not([data-theme="dark"]) .catalog-switch a{background:#214b77;border-color:#5e8cb5;color:#fff}
html:not([data-theme="dark"]) .catalog-switch a[aria-current]{background:#e4f4ff;border-color:#67c8ff;color:#12365d}
html:not([data-theme="dark"]) .catalog-switch a:hover{background:#32618e;color:#fff}
@media(prefers-reduced-motion:reduce){.catalog-page .catalog-tile{transition:none}.catalog-page .catalog-tile:hover,.catalog-page .catalog-tile:focus-visible{transform:none}}

.catalog-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.catalog-title-row h1{flex:1 1 260px;margin:0;min-width:0}
.catalog-arrows{display:flex;flex-wrap:wrap;gap:8px}
.catalog-arrows a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:2px solid var(--primary);border-radius:10px;background:var(--primary-soft);color:var(--ink);font-weight:800;text-decoration:none;box-sizing:border-box}
.catalog-arrows a:hover{background:var(--surface);border-color:var(--ink)}
.catalog-arrows a:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
.catalog-tile span{min-width:0;overflow-wrap:anywhere}

/* Variant 3: section stripe and replaceable decorative emoji. */
.catalog-page .catalog-tile__icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:12px;background:var(--ac-soft);font-size:1.45rem;line-height:1}
.catalog-page .catalog-tile__title{display:block;flex:1 1 auto;min-width:0;overflow-wrap:anywhere;hyphens:auto}
.catalog-page .catalog-tile[data-accent="primary"]{--ac:#157ec0;--ac-soft:#eaf6ff}
html[data-theme="dark"] .catalog-page .catalog-tile[data-accent="primary"]{--ac:#63bff5;--ac-soft:#17384b}
.catalog-page .catalog-tile[data-accent="oge"]{--ac:#0f8b8d;--ac-soft:#e6f8f7}
html[data-theme="dark"] .catalog-page .catalog-tile[data-accent="oge"]{--ac:#64d2cf;--ac-soft:#153d3d}
.catalog-page .catalog-tile[data-accent="ege"]{--ac:#1876b3;--ac-soft:#e8f5fe}
html[data-theme="dark"] .catalog-page .catalog-tile[data-accent="ege"]{--ac:#63bff5;--ac-soft:#17384b}
.catalog-page .catalog-tile[data-accent="physmath"]{--ac:#7854a9;--ac-soft:#f2ecfb}
html[data-theme="dark"] .catalog-page .catalog-tile[data-accent="physmath"]{--ac:#c2a7ea;--ac-soft:#302849}
.catalog-page .catalog-tile[data-accent="higher"]{--ac:#9a5d1b;--ac-soft:#fff3e3}
html[data-theme="dark"] .catalog-page .catalog-tile[data-accent="higher"]{--ac:#e4b779;--ac-soft:#3a2d1d}
.catalog-page .catalog-tile[data-accent="tests"]{--ac:#d97312;--ac-soft:#fdeede}
html[data-theme="dark"] .catalog-page .catalog-tile[data-accent="tests"]{--ac:#eda54f;--ac-soft:#3a2d1d}
@media(min-width:641px) and (max-width:1080px){.catalog-page .catalog-tile{padding-top:1px;padding-bottom:1px}}
@media(max-width:640px){.catalog-page .catalog-tile-grid{grid-template-columns:minmax(0,1fr)}.catalog-page .catalog-tile{min-height:var(--cat-tile-h)}.catalog-page .catalog-tile__icon{flex-basis:30px;width:30px;height:30px;border-radius:10px;font-size:1.2rem}}

/* Approved catalog v3: upper choices keep icons; inner lists are centered. */
.catalog-page .catalog-switch,html:not([data-theme="dark"]) .catalog-page .catalog-switch{padding:0;border:0;background:transparent}
.catalog-page .catalog-switch a,html:not([data-theme="dark"]) .catalog-page .catalog-switch a{flex:0 1 auto;border-radius:24px;background:var(--surface);color:var(--ink);border-color:var(--line)}
.catalog-page .catalog-switch a[aria-current],html:not([data-theme="dark"]) .catalog-page .catalog-switch a[aria-current]{background:var(--primary-soft);color:var(--ink);border-color:var(--primary)}
.catalog-page .catalog-switch a:hover,html:not([data-theme="dark"]) .catalog-page .catalog-switch a:hover{background:var(--primary-soft);color:var(--ink)}
.catalog-page .catalog-tile--inner{justify-content:center;text-align:center;font-weight:400;gap:0}
.catalog-page .catalog-tile--inner .catalog-tile__title{flex:0 1 auto}
.catalog-page .catalog-paged .catalog-tile--extra{display:none}
.catalog-more{margin-top:24px;text-align:center}
.catalog-more[hidden]{display:none}
.catalog-more-button{min-height:44px;padding:12px 24px;border:2px solid var(--primary);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}
.catalog-more-button:hover{background:var(--primary-soft)}
.catalog-more-button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
/* Match the shared site header below 1024; fit the seven-link materials menu on desktop. */
@media(min-width:761px){.materials-page .nav-shell{flex-wrap:nowrap;padding-top:0;padding-bottom:0}.materials-page .site-nav{order:0;flex-basis:auto;justify-content:flex-start;margin-left:auto}}
@media(max-width:400px){.materials-page .nav-shell{display:flex;gap:7px;padding-top:0;padding-bottom:0}.materials-page .brand{max-width:114px}.materials-page .header-socials{justify-content:flex-start;margin-left:auto!important;padding-left:4px}}
@media(min-width:1024px){.materials-page .nav-shell{gap:8px}.materials-page .brand{max-width:180px;font-size:18px}.materials-page .site-nav{position:static;inset:auto;max-height:none;overflow:visible;display:flex;flex-direction:row;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:4px}.materials-page .site-nav a{padding:8px 6px;font-size:13px}.materials-page .menu-toggle{display:none}.materials-page .header-socials{margin-left:0;gap:4px;padding-left:0}.materials-page .header-socials a{width:32px;height:40px}.materials-page .theme-toggle{width:60px}}
@media(min-width:1024px) and (max-width:1220px){.materials-page .brand{max-width:150px;font-size:16px}.materials-page .brand small{font-size:10px}.materials-page .site-nav a{padding:8px 5px;font-size:12px}.materials-page .nav-shell{gap:6px}}

/* Теория (раунд 4): карточки разделов на хабах теории — компактные; активные
   и неактивные одного вида (значок слева, название, синяя полоса). Неактивная
   карточка (раздела ещё нет) — не ссылка: без «скоро» и пунктира, без
   hover-эффекта, курсор по умолчанию. Все строки каждой сетки теории равной высоты, содержимое
   по вертикали по центру; на телефоне у хабов две колонки. */
.catalog-page.catalog-tiles-theory{--cat-tile-h:64px}
.catalog-page.catalog-theory-page .catalog-tile-grid{grid-auto-rows:1fr;align-items:stretch}
.catalog-page.catalog-theory-page .catalog-tile{align-self:stretch;align-items:center}
.catalog-page .catalog-tile--off{cursor:default}
.catalog-page .catalog-tile--off:hover{transform:none;border-color:var(--line);border-left-color:var(--ac);background:var(--surface);box-shadow:var(--shadow-sm)}
@media(max-width:640px){.catalog-page.catalog-tiles-theory{--tile-font:.9rem}.catalog-page.catalog-tiles-theory .catalog-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Разделы с длинными названиями («Высшая математика — теория»): плитки пошире. */
.catalog-page.catalog-tiles-wide{--cat-tile-w:260px}
