/* Концепт 4 «Портал»: общая дизайн-система для portal.html и novichkam.html.
   Все цвета — токены; компоненты литеральных цветов не используют. */

/* ---------- токены: светлая тема (по умолчанию) ---------- */
:root{
  color-scheme: light;
  --bg:#F4F5F2; --surface:#FFFFFF; --surface-2:#ECEEEA; --surface-3:#E3E6E1;
  --ink:#121416; --ink-2:#4F555B;
  --line:#DDE0DB; --line-strong:#868D87;
  --accent:#0B6E5A; --accent-hover:#085746; --on-accent:#FFFFFF;
  --accent-text:#0A6553; --accent-soft:#E0EEE8; --accent-soft-ink:#0A5546;
  --focus:#0B6E5A;
  --scrim:rgb(18 20 22 / .42);
  --shadow-float:0 1px 2px rgb(40 50 45 / .06), 0 14px 36px -10px rgb(40 50 45 / .22);
  --mark-bg:#FCE9A6; --mark-ink:#121416;
  --switch-bg:#121416; --switch-ink:#F4F5F2;
  /* эпохи: только для маленьких меток */
  --era-stone:#5E4A33;    --era-stone-bg:#EFE7DB;
  --era-bronze:#7A4416;   --era-bronze-bg:#F4E4D2;
  --era-iron:#334C6B;     --era-iron-bg:#E1E7EF;
  --era-medieval:#5F3F64; --era-medieval-bg:#ECE3EE;
  --era-modern:#3F5A3E;   --era-modern-bg:#E2ECE1;
  /* обложки библиотеки */
  --cv1-bg:#0B6E5A; --cv1-ink:#F4F5F2;
  --cv2-bg:#E7DCC8; --cv2-ink:#2D2418;
  --cv3-bg:#22313F; --cv3-ink:#EDEFEA;
  --cv4-bg:#C9D6CF; --cv4-ink:#13231D;
  --cv5-bg:#8C4A22; --cv5-ink:#FBF4EC;
  --cv-edge:var(--line);

  --r-card:14px; --r-ctl:10px; --r-pill:999px; --r-sm:6px; --r-book:4px;
  --bw:1px;
  --ease:cubic-bezier(.23,1,.32,1); --dur:.2s;
  --font:"Golos Text","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,"Liberation Mono",monospace;
  --head-h:68px;
  --gutter:max(16px, env(safe-area-inset-left, 0px));
  --gutter-r:max(16px, env(safe-area-inset-right, 0px));
  --text-scale:100%;
}

/* ---------- тёмная тема: системная (без JS) и явная ---------- */
@media (prefers-color-scheme: dark){
  :root:not([data-theme]){
    color-scheme: dark;
    --bg:#0F1214; --surface:#161A1D; --surface-2:#1D2226; --surface-3:#252B30;
    --ink:#E8ECE9; --ink-2:#A9B0B5; --line:#2A3035; --line-strong:#5E676D;
    --accent:#3DBE9C; --accent-hover:#5BCDAE; --on-accent:#06211A;
    --accent-text:#5CCBAD; --accent-soft:#12302A; --accent-soft-ink:#8FDCC6; --focus:#5CCBAD;
    --scrim:rgb(0 0 0 / .62); --shadow-float:0 1px 2px rgb(0 0 0 / .4), 0 18px 44px -10px rgb(0 0 0 / .7);
    --mark-bg:#5C4A12; --mark-ink:#FFF4CC; --switch-bg:#E8ECE9; --switch-ink:#0F1214;
    --era-stone:#D9C3A5; --era-stone-bg:#2C251C; --era-bronze:#E8B98F; --era-bronze-bg:#33241A;
    --era-iron:#A9C2E2; --era-iron-bg:#1D2836; --era-medieval:#D3B5D8; --era-medieval-bg:#2C2130;
    --era-modern:#A9CDA6; --era-modern-bg:#1D2A1D; --cv-edge:#2A3035;
  }
}
:root[data-theme="dark"]{
  color-scheme: dark;
  --bg:#0F1214; --surface:#161A1D; --surface-2:#1D2226; --surface-3:#252B30;
  --ink:#E8ECE9; --ink-2:#A9B0B5; --line:#2A3035; --line-strong:#5E676D;
  --accent:#3DBE9C; --accent-hover:#5BCDAE; --on-accent:#06211A;
  --accent-text:#5CCBAD; --accent-soft:#12302A; --accent-soft-ink:#8FDCC6; --focus:#5CCBAD;
  --scrim:rgb(0 0 0 / .62); --shadow-float:0 1px 2px rgb(0 0 0 / .4), 0 18px 44px -10px rgb(0 0 0 / .7);
  --mark-bg:#5C4A12; --mark-ink:#FFF4CC; --switch-bg:#E8ECE9; --switch-ink:#0F1214;
  --era-stone:#D9C3A5; --era-stone-bg:#2C251C; --era-bronze:#E8B98F; --era-bronze-bg:#33241A;
  --era-iron:#A9C2E2; --era-iron-bg:#1D2836; --era-medieval:#D3B5D8; --era-medieval-bg:#2C2130;
  --era-modern:#A9CDA6; --era-modern-bg:#1D2A1D; --cv-edge:#2A3035;
}

/* ---------- контрастная тема (версия для слабовидящих) ---------- */
:root[data-theme="contrast"]{
  color-scheme: dark;
  --bg:#000000; --surface:#000000; --surface-2:#0A0A0A; --surface-3:#141414;
  --ink:#FFFFFF; --ink-2:#F0F0F0; --line:#FFFFFF; --line-strong:#FFFFFF;
  --accent:#FFE14D; --accent-hover:#FFEB80; --on-accent:#000000;
  --accent-text:#FFE14D; --accent-soft:#000000; --accent-soft-ink:#FFE14D; --focus:#FFE14D;
  --scrim:rgb(0 0 0 / .85); --shadow-float:none;
  --mark-bg:#FFE14D; --mark-ink:#000000; --switch-bg:#000000; --switch-ink:#FFFFFF;
  --era-stone:#FFFFFF; --era-stone-bg:#000000; --era-bronze:#FFFFFF; --era-bronze-bg:#000000;
  --era-iron:#FFFFFF; --era-iron-bg:#000000; --era-medieval:#FFFFFF; --era-medieval-bg:#000000;
  --era-modern:#FFFFFF; --era-modern-bg:#000000;
  --cv1-bg:#000000; --cv1-ink:#FFFFFF; --cv2-bg:#000000; --cv2-ink:#FFFFFF; --cv3-bg:#000000; --cv3-ink:#FFFFFF;
  --cv4-bg:#000000; --cv4-ink:#FFFFFF; --cv5-bg:#000000; --cv5-ink:#FFFFFF; --cv-edge:#FFFFFF;
  --bw:2px;
}

/* ---------- база ---------- */
*,*::before,*::after{box-sizing:border-box}
html{font-size:var(--text-scale);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 16px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.55 var(--font);
  padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px)); /* место под переключатель концептов */
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-text);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.15;letter-spacing:-.015em;text-wrap:balance;color:var(--ink)}
p{margin:0}
ul,ol{margin:0;padding:0}
kbd{font:500 .75rem/1 var(--mono);padding:3px 6px;border:var(--bw) solid var(--line);border-bottom-width:calc(var(--bw) + 1px);border-radius:var(--r-sm);background:var(--surface);color:var(--ink-2)}
mark{background:var(--mark-bg);color:var(--mark-ink);border-radius:3px;padding:0 1px}
.mono{font-family:var(--mono);font-feature-settings:"zero" 0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
::selection{background:var(--accent-soft);color:var(--ink)}
.wrap{max-width:1280px;margin-inline:auto;padding-left:var(--gutter);padding-right:var(--gutter-r)}
@media (min-width:768px){:root{--gutter:max(32px, env(safe-area-inset-left, 0px));--gutter-r:max(32px, env(safe-area-inset-right, 0px))}}
.icon{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.skip{position:absolute;left:16px;top:-100px;z-index:100;padding:12px 16px;border-radius:var(--r-ctl);background:var(--accent);color:var(--on-accent);font-weight:600;text-decoration:none}
.skip:focus{top:calc(8px + env(safe-area-inset-top, 0px))}

/* ---------- кнопки и чипы ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-ctl);
  border:var(--bw) solid transparent;font-weight:600;font-size:.9375rem;line-height:1.2;text-decoration:none;
  transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.btn-primary{background:var(--accent);color:var(--on-accent)}
.btn-primary:hover{background:var(--accent-hover)}
.btn-ghost{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--line-strong)}
.btn .icon{width:18px;height:18px}
.link-more{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:600;color:var(--accent-text);text-decoration:none}
.link-more .icon{transition:transform var(--dur) var(--ease)}
.link-more:hover .icon{transform:translateX(3px)}
.link-more:hover{text-decoration:underline}

.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:var(--r-pill);
  border:var(--bw) solid var(--line);background:var(--surface);color:var(--ink);font-size:.9375rem;font-weight:500;line-height:1.2;
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.chip:hover{border-color:var(--line-strong)}
.chip[aria-pressed="true"],.chip[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.chips{display:flex;flex-wrap:wrap;gap:8px}

/* метки типа и эпохи */
.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-pill);font-size:.78125rem;font-weight:600;line-height:1.35;letter-spacing:.01em;
  border:var(--bw) solid var(--line);color:var(--ink-2);background:var(--surface)}
.era{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:var(--r-pill);font-size:.78125rem;font-weight:600;line-height:1.35}
:root[data-theme="contrast"] .era{border:var(--bw) solid currentColor}
.era::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.era-stone{color:var(--era-stone);background:var(--era-stone-bg)}
.era-bronze{color:var(--era-bronze);background:var(--era-bronze-bg)}
.era-iron{color:var(--era-iron);background:var(--era-iron-bg)}
.era-medieval{color:var(--era-medieval);background:var(--era-medieval-bg)}
.era-modern{color:var(--era-modern);background:var(--era-modern-bg)}

/* ---------- шапка ---------- */
.site-head{position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top, 0px);background:var(--surface);border-bottom:var(--bw) solid var(--line)}
.head-row{display:flex;align-items:center;gap:20px;min-height:var(--head-h)}
.brand{display:flex;align-items:center;gap:10px;flex:none;color:var(--ink);text-decoration:none;font-weight:600;font-size:.9375rem;line-height:1.15;letter-spacing:-.005em;min-height:44px}
.brand-mark{width:38px;height:38px;color:var(--accent-text);flex:none}
.brand-name span{display:block}
.nav{flex:1;min-width:0}
.nav ul{list-style:none;display:flex;align-items:center;gap:2px;justify-content:center}
.nav a{display:flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:var(--r-ctl);color:var(--ink);text-decoration:none;font-size:.9375rem;font-weight:500;white-space:nowrap;
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease)}
.nav a:hover{background:var(--surface-2)}
.nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--accent);border-radius:var(--r-ctl) var(--r-ctl) 0 0}
.nav a.nav-beg{margin-left:6px;padding-inline:14px;background:var(--accent-soft);color:var(--accent-soft-ink);font-weight:600;border:var(--bw) solid transparent}
:root[data-theme="contrast"] .nav a.nav-beg{border-color:var(--accent)}
.nav a.nav-beg:hover{background:var(--accent);color:var(--on-accent)}
.nav a.nav-beg[aria-current="page"]{box-shadow:none;border-radius:var(--r-ctl);background:var(--accent);color:var(--on-accent)}

.head-tools{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}
.tool{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 12px;border-radius:var(--r-ctl);
  border:var(--bw) solid var(--line);background:var(--surface);color:var(--ink);font-size:.9375rem;font-weight:500;
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.tool:hover{border-color:var(--line-strong)}
.tool[aria-expanded="true"]{background:var(--surface-2);border-color:var(--line-strong)}
.tool-search{min-width:168px;justify-content:flex-start;color:var(--ink-2)}
.tool-search kbd{margin-left:auto}
.burger{display:none}
html:not(.js) .js-only{display:none!important}

/* поповер «Вид» */
.a11y{position:relative}
.pop{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:min(320px, calc(100vw - 32px));padding:16px;border-radius:var(--r-card);
  background:var(--surface);border:var(--bw) solid var(--line);box-shadow:var(--shadow-float);
  transform-origin:top right;transition:opacity .16s var(--ease),transform .16s var(--ease)}
.pop[hidden]{display:none}
@starting-style{.pop{opacity:0;transform:translateY(-4px) scale(.98)}}
.pop-h{font-size:.8125rem;font-weight:600;color:var(--ink-2);margin:0 0 8px}
.pop-group + .pop-group{margin-top:16px}
.seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.seg-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg button{min-height:44px;padding:6px 10px;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);background:var(--surface);color:var(--ink);font-size:.875rem;font-weight:500;line-height:1.2;
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.seg button:hover{border-color:var(--line-strong)}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.seg button:disabled{opacity:.45;cursor:not-allowed}
.size-now{margin-top:8px;font-size:.8125rem;color:var(--ink-2)}
.pop .btn{width:100%;margin-top:16px}


/* мобильное меню (нативный dialog: ловушка фокуса и Esc из коробки) */
.mmenu{margin:0;padding:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;background:var(--bg);color:var(--ink);
  transition:opacity .2s var(--ease),transform .2s var(--ease)}
.mmenu::backdrop{background:var(--scrim)}
@starting-style{.mmenu[open]{opacity:0;transform:translateY(-8px)}}
.mmenu-inner{display:flex;flex-direction:column;min-height:100%;padding:calc(12px + env(safe-area-inset-top, 0px)) var(--gutter-r) calc(24px + env(safe-area-inset-bottom, 0px)) var(--gutter)}
.mmenu-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px}
.mmenu nav ul{list-style:none;margin-top:16px;border-top:var(--bw) solid var(--line)}
.mmenu nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:8px 4px;border-bottom:var(--bw) solid var(--line);color:var(--ink);text-decoration:none;font-size:1.25rem;font-weight:600}
.mmenu nav a.nav-beg{color:var(--accent-text)}
.mmenu .btn{margin-top:24px}
.mmenu-note{margin-top:auto;padding-top:24px;color:var(--ink-2);font-size:.875rem}

/* ---------- палитра поиска ---------- */
.palette{width:min(680px, calc(100% - 32px));max-width:none;max-height:min(640px, calc(100dvh - 15vh));margin:12vh auto auto;padding:0;
  border:var(--bw) solid var(--line);border-radius:var(--r-card);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-float);overflow:hidden;
  transition:opacity .18s var(--ease),transform .18s var(--ease)}
.palette[open]{display:flex;flex-direction:column}
.palette::backdrop{background:var(--scrim)}
@starting-style{.palette[open]{opacity:0;transform:translateY(-6px) scale(.985)}}
.pal-field{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 18px;border-bottom:var(--bw) solid var(--line)}
.pal-field .icon{color:var(--ink-2)}
.pal-field input{flex:1;min-width:0;height:52px;border:0;background:transparent;font-size:1.125rem;outline:none}
.pal-field input::placeholder{color:var(--ink-2);opacity:1}
.pal-close{min-height:44px;min-width:44px;padding:0 10px;border:0;border-radius:var(--r-ctl);background:transparent;color:var(--ink-2)}
.pal-close:hover{background:var(--surface-2)}
.pal-body{overflow-y:auto;overscroll-behavior:contain;padding:8px}
.pal-gh{padding:12px 12px 6px;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.pal-opt{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 12px;border-radius:var(--r-ctl);cursor:pointer}
.pal-opt .icon{color:var(--ink-2)}
.pal-opt-text{display:flex;flex-direction:column;min-width:0}
.pal-t{font-weight:500}
.pal-s{font-size:.8125rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pal-go{margin-left:auto;opacity:0;color:var(--ink-2)}
.pal-opt[aria-selected="true"]{background:var(--accent-soft)}
.pal-opt[aria-selected="true"] .pal-go{opacity:1}
:root[data-theme="contrast"] .pal-opt[aria-selected="true"]{outline:2px solid var(--accent);outline-offset:-2px}
.pal-empty{padding:20px 12px 4px;color:var(--ink-2)}
.pal-empty strong{color:var(--ink)}
.pal-foot{display:flex;flex-wrap:wrap;gap:16px;padding:10px 18px;border-top:var(--bw) solid var(--line);background:var(--surface-2);font-size:.8125rem;color:var(--ink-2)}
.pal-foot span{display:inline-flex;align-items:center;gap:6px}
@media (max-width:640px){
  .palette{width:calc(100% - 16px);margin-top:calc(8px + env(safe-area-inset-top, 0px));max-height:calc(100dvh - 16px - env(safe-area-inset-top, 0px))}
  .pal-foot{display:none}
}

/* ---------- общие секции ---------- */
.section{padding-block:clamp(48px, 6vw, 80px)}
.section + .section{border-top:var(--bw) solid var(--line)}
.sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:28px}
.sec-head h2{font-size:clamp(1.625rem, 1.25rem + 1.3vw, 2.25rem)}
.sec-head p{margin-top:8px;max-width:60ch;color:var(--ink-2)}

/* ---------- главная: первый экран ---------- */
.hero{padding-block:clamp(32px, 4.5vw, 64px) clamp(40px, 5vw, 64px)}
.hero-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px, 4vw, 64px);align-items:center}
.hero h1{font-size:clamp(2.25rem, 1.4rem + 3vw, 3.75rem);line-height:1.04;letter-spacing:-.025em}
.hero-lead{margin-top:20px;font-size:clamp(1.0625rem, 1rem + .3vw, 1.25rem);color:var(--ink-2);max-width:34ch}
.hero-search{position:relative;margin-top:32px}
.hero-search .icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--ink-2);pointer-events:none}
.hero-search input{width:100%;height:60px;padding:0 116px 0 50px;border-radius:var(--r-ctl);border:calc(var(--bw) + .5px) solid var(--line-strong);background:var(--surface);font-size:1.0625rem;
  transition:border-color var(--dur) var(--ease)}
.hero-search input::placeholder{color:var(--ink-2);opacity:1}
.hero-search input:hover{border-color:var(--ink-2)}
.hero-search input:focus-visible{outline:3px solid var(--focus);outline-offset:1px;border-color:var(--accent)}
.hero-search .btn{position:absolute;right:8px;top:8px;min-height:44px}
.quick{margin-top:16px}
.quick-h{font-size:.875rem;color:var(--ink-2);margin-bottom:10px}

/* карусель избранного */
.feature{position:relative;min-width:0}
.feature-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:var(--r-card);position:relative}
.feature-track::-webkit-scrollbar{display:none}
.fcard{flex:0 0 100%;scroll-snap-align:start;min-width:0}
.fcard a{display:flex;flex-direction:column;height:100%;border-radius:var(--r-card);overflow:hidden;background:var(--surface);border:var(--bw) solid var(--line);color:var(--ink);text-decoration:none}
.fcard-img{aspect-ratio:16/10;overflow:hidden;background:var(--surface-3)}
.fcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .25s var(--ease)}
.fcard a:hover .fcard-img img{transform:scale(1.015)}
.fcard-body{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:6px 20px;padding:18px 20px 20px}
.fcard-body .badge{grid-column:1/-1;justify-self:start}
.fcard h3{font-size:1.375rem;letter-spacing:-.01em}
.fcard p{grid-column:1;color:var(--ink-2)}
.fcard .link-more{grid-column:2;grid-row:2/4;min-height:auto}
.feature-ctrl{display:flex;align-items:center;gap:12px;margin-top:14px}
.feature-ctrl .tool{border-radius:var(--r-pill);padding:0}
.feature-pos{font:500 .875rem/1 var(--mono);color:var(--ink-2);min-width:5ch}
.feature-bars{display:flex;gap:6px;flex:1;max-width:200px}
.feature-bars i{flex:1;height:3px;border-radius:2px;background:var(--line);transition:background-color var(--dur) var(--ease)}
.feature-bars i.on{background:var(--ink)}
:root[data-theme="contrast"] .feature-bars i{background:transparent;box-shadow:inset 0 0 0 1px var(--ink)}
:root[data-theme="contrast"] .feature-bars i.on{background:var(--accent);box-shadow:none;height:5px}
.feature-hint{margin-left:auto;font-size:.8125rem;color:var(--ink-2)}

/* ---------- разделы: асимметричная сетка ---------- */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"exp exp proj proj" "exp exp pers conf" "news news lib lib";gap:16px}
.tile{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px;border-radius:var(--r-card);background:var(--surface);border:var(--bw) solid var(--line);color:var(--ink);text-decoration:none;min-width:0;overflow:hidden;
  transition:border-color var(--dur) var(--ease)}
.tile:hover{border-color:var(--line-strong)}
.tile h3{font-size:1.25rem}
.tile p{color:var(--ink-2);max-width:46ch}
.tile-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--r-ctl);background:var(--accent-soft);color:var(--accent-soft-ink);margin-bottom:6px}
:root[data-theme="contrast"] .tile-ico{border:var(--bw) solid var(--accent)}
.tile-ico .icon{width:22px;height:22px}
.tile-go{margin-top:auto;padding-top:8px;display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--accent-text)}
.tile-go .icon{transition:transform var(--dur) var(--ease)}
.tile:hover .tile-go .icon{transform:translateX(3px)}
.t-exp{grid-area:exp;padding:0}
.t-exp .tile-img{flex:1;min-height:220px;background:var(--surface-3)}
.t-exp .tile-img img{width:100%;height:100%;object-fit:cover;object-position:50% 60%}
.t-exp .tile-txt{display:flex;flex-direction:column;gap:10px;padding:24px}
.t-exp h3{font-size:1.625rem}
.t-proj{grid-area:proj}.t-pers{grid-area:pers}.t-conf{grid-area:conf}.t-news{grid-area:news}
.t-lib{grid-area:lib;flex-direction:row;padding:0}
.t-lib .tile-txt{display:flex;flex-direction:column;gap:10px;padding:24px;flex:1;min-width:0}
.t-lib .tile-img{flex:0 0 40%;background:var(--surface-3)}
.t-lib .tile-img img{width:100%;height:100%;object-fit:cover}

/* ---------- эпохи ---------- */
.eras{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.era-btn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:72px;padding:12px 14px;text-align:left;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);background:var(--surface);color:var(--ink);
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.era-btn:hover{border-color:var(--line-strong)}
.era-btn b{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9375rem;line-height:1.2}
.era-btn b::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot, var(--ink-2));flex:none}
.era-btn span{font:400 .75rem/1.3 var(--mono);color:var(--ink-2)}
.era-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.era-btn[aria-pressed="true"] span{color:var(--bg)}
.era-btn[aria-pressed="true"] b::before{background:var(--bg)}
.era-btn[data-era="stone"]{--dot:var(--era-stone)}
.era-btn[data-era="bronze"]{--dot:var(--era-bronze)}
.era-btn[data-era="iron"]{--dot:var(--era-iron)}
.era-btn[data-era="medieval"]{--dot:var(--era-medieval)}
.era-btn[data-era="modern"]{--dot:var(--era-modern)}
.facet-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-top:16px}
.facet-types{display:flex;flex-wrap:wrap;gap:8px}
.facet-types .chip{min-height:40px;padding:6px 14px;font-size:.875rem}
.facet-status{display:flex;align-items:center;gap:12px;font-size:.9375rem;color:var(--ink-2)}
.facet-status strong{color:var(--ink);font-family:var(--mono);font-weight:500}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%, 268px),1fr));gap:16px;margin-top:24px}
.mcard{position:relative;display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--r-card);background:var(--surface);border:var(--bw) solid var(--line);min-width:0;
  transition:border-color var(--dur) var(--ease)}
.mcard:hover{border-color:var(--line-strong)}
.mcard[hidden]{display:none}
.mcard-img{margin:-20px -20px 4px;aspect-ratio:3/2;overflow:hidden;border-radius:calc(var(--r-card) - 1px) calc(var(--r-card) - 1px) 0 0;background:var(--surface-3)}
.mcard-img img{width:100%;height:100%;object-fit:cover}
.mcard-tags{display:flex;flex-wrap:wrap;gap:6px}
.mcard h3{font-size:1.0625rem;line-height:1.3;letter-spacing:-.005em}
.mcard h3 a{color:var(--ink);text-decoration:none}
.mcard h3 a::after{content:"";position:absolute;inset:0;border-radius:var(--r-card)} /* вся карточка кликабельна */
.mcard h3 a:hover{text-decoration:underline}
.mcard p{font-size:.9375rem;color:var(--ink-2)}
.mcard-meta{margin-top:auto;padding-top:4px;font-size:.8125rem;line-height:1.4;color:var(--ink-2)}
.mcard-meta.mono{font-family:var(--mono)}
.mgrid-empty{margin-top:24px;padding:32px;border-radius:var(--r-card);border:var(--bw) dashed var(--line-strong);text-align:center;color:var(--ink-2)}
.mgrid-empty p{margin-bottom:16px}

/* ---------- полоса «Новичкам» ---------- */
.band{background:var(--accent-soft)}
:root[data-theme="contrast"] .band{border-block:var(--bw) solid var(--accent)}
.band-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(32px, 5vw, 72px);align-items:center}
.band h2{font-size:clamp(1.75rem, 1.3rem + 1.6vw, 2.5rem);max-width:20ch}
.band-list{list-style:none;margin:24px 0 28px;display:grid;gap:12px}
.band-list li{display:flex;gap:12px;color:var(--ink);max-width:52ch}
.band-list .icon{color:var(--accent-text);margin-top:2px}
.band figure{margin:0}
.band figure img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--r-card)}
.band figcaption{margin-top:10px;font-size:.875rem;color:var(--ink-2)}

/* ---------- вкладки (экспедиции, библиотека) ---------- */
.tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px}
.tabs::-webkit-scrollbar{display:none}
.tabs .chip{flex:none}
.tab-panel{margin-top:24px}
.tab-panel:focus-visible{outline-offset:6px;border-radius:var(--r-card)}
.year-h{font-size:1.25rem;margin-bottom:12px}
.js .year-h{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.exp-list{list-style:none;display:grid;gap:12px}
.exp-row{display:grid;grid-template-columns:200px minmax(0,1fr) auto;align-items:center;gap:24px;padding:12px;padding-right:24px;border-radius:var(--r-card);background:var(--surface);border:var(--bw) solid var(--line);color:var(--ink);text-decoration:none;
  transition:border-color var(--dur) var(--ease)}
.exp-row:hover{border-color:var(--line-strong)}
.exp-row img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--r-card) - 6px)}
.exp-row h3{font-size:1.1875rem}
.exp-row p{margin-top:6px;color:var(--ink-2)}
.exp-place{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.875rem;color:var(--ink-2)}
.exp-place .mono{font-size:.8125rem}
.exp-place .icon{width:16px;height:16px;vertical-align:-3px}
.exp-row .tile-go{margin:0;padding:0}

/* библиотека: обложки */
.shelf{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%, 168px),1fr));gap:28px 20px}
.book a{display:block;color:var(--ink);text-decoration:none}
.cover{position:relative;aspect-ratio:7/10;border-radius:var(--r-book);overflow:hidden;padding:14px 14px 16px;display:flex;flex-direction:column;
  background:var(--cv-bg);color:var(--cv-ink);border:var(--bw) solid var(--cv-edge);box-shadow:inset 6px 0 0 color-mix(in srgb, currentColor 12%, transparent);
  transition:transform .22s var(--ease)}
.book a:hover .cover{transform:translateY(-3px)}
.cover-t{font-weight:700;font-size:.9375rem;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
.cover-a{margin-top:auto;font:500 .6875rem/1.3 var(--mono);opacity:.85}
.cover-n{margin-top:auto;font:500 2.75rem/1 var(--mono);letter-spacing:-.04em}
.cover-n + .cover-a{margin-top:8px}
.cv1{--cv-bg:var(--cv1-bg);--cv-ink:var(--cv1-ink)}
.cv2{--cv-bg:var(--cv2-bg);--cv-ink:var(--cv2-ink)}
.cv3{--cv-bg:var(--cv3-bg);--cv-ink:var(--cv3-ink)}
.cv4{--cv-bg:var(--cv4-bg);--cv-ink:var(--cv4-ink)}
.cv5{--cv-bg:var(--cv5-bg);--cv-ink:var(--cv5-ink)}
/* узоры обложек — только из currentColor */
.pat-strata::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;z-index:0;
  background:linear-gradient(currentColor 0 0) 0 0/100% 1px no-repeat,
  repeating-linear-gradient(180deg, transparent 0 14px, color-mix(in srgb, currentColor 22%, transparent) 14px 15px, transparent 15px 26px, color-mix(in srgb, currentColor 10%, transparent) 26px 38px)}
.pat-rings::after{content:"";position:absolute;width:150%;aspect-ratio:1;right:-70%;bottom:-55%;z-index:0;border-radius:50%;
  background:repeating-radial-gradient(circle, transparent 0 11px, color-mix(in srgb, currentColor 30%, transparent) 11px 12px)}
.pat-grid::after{content:"";position:absolute;inset:44% 14px 46px;z-index:0;
  background:linear-gradient(color-mix(in srgb, currentColor 28%, transparent) 1px, transparent 1px) 0 0/20px 20px,
  linear-gradient(90deg, color-mix(in srgb, currentColor 28%, transparent) 1px, transparent 1px) 0 0/20px 20px}
.pat-rule .cover-t{padding-top:12px;border-top:3px solid currentColor}
.cover > *{position:relative;z-index:1}
.book-t{margin-top:12px;font-weight:600;font-size:.9375rem;line-height:1.3}
.book a:hover .book-t{text-decoration:underline}
.book-m{margin-top:4px;font:400 .8125rem/1.4 var(--mono);color:var(--ink-2)}

/* ---------- подвал ---------- */
.site-foot{margin-top:0;background:var(--surface);border-top:var(--bw) solid var(--line);padding-block:56px 32px}
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px}
.foot-about{margin-top:14px;max-width:36ch;color:var(--ink-2);font-size:.9375rem}
.foot-h{font-size:.875rem;font-weight:700;margin-bottom:10px}
.foot-links{list-style:none}
.foot-links a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink);text-decoration:none;font-size:.9375rem}
.foot-links a:hover{text-decoration:underline}
.foot-contacts{display:grid;gap:6px;font-style:normal;font-size:.9375rem;color:var(--ink-2)}
.social{display:flex;gap:8px;flex-wrap:wrap}
.social a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);color:var(--ink);text-decoration:none;font-size:.9375rem;font-weight:500}
.social a:hover{border-color:var(--line-strong)}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-top:40px;padding-top:20px;border-top:var(--bw) solid var(--line);font-size:.875rem;color:var(--ink-2)}

/* переключатель концептов */
.switch{position:fixed;right:max(16px, env(safe-area-inset-right, 0px));bottom:calc(16px + env(safe-area-inset-bottom, 0px));z-index:50;display:flex;gap:2px;padding:4px;border-radius:var(--r-ctl);
  background:var(--switch-bg);color:var(--switch-ink);font-size:.8125rem;box-shadow:var(--shadow-float);border:var(--bw) solid var(--switch-ink)}
.switch a{display:inline-flex;align-items:center;min-height:40px;padding:0 12px;border-radius:calc(var(--r-ctl) - 3px);color:inherit;text-decoration:none;opacity:.78;white-space:nowrap}
.switch a:hover{opacity:1}
.switch a[aria-current="page"]{opacity:1;background:color-mix(in srgb, var(--switch-ink) 16%, transparent);font-weight:600}
.switch a:focus-visible{outline-color:var(--switch-ink)}

/* ---------- страница «Новичкам» ---------- */
.doc-head{padding-block:28px 40px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:.875rem;color:var(--ink-2)}
.crumbs li{display:flex;align-items:center;gap:8px}
.crumbs li + li::before{content:"/";color:var(--line-strong)}
.crumbs a{color:var(--ink-2);display:inline-flex;align-items:center;min-height:32px}
.doc-head h1{margin-top:20px;font-size:clamp(2.25rem, 1.5rem + 2.6vw, 3.5rem);line-height:1.05;letter-spacing:-.025em}
.doc-lead{margin-top:16px;max-width:60ch;font-size:clamp(1.0625rem, 1rem + .3vw, 1.25rem);color:var(--ink-2)}
.doc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.doc-meta span{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--r-pill);background:var(--surface);border:var(--bw) solid var(--line);font-size:.875rem;color:var(--ink-2)}
.doc-meta .icon{width:16px;height:16px}

.doc-grid{display:grid;grid-template-columns:232px minmax(0,1fr);gap:clamp(32px, 5vw, 72px);align-items:start;padding-bottom:clamp(56px, 7vw, 96px)}
.toc{position:sticky;top:calc(var(--head-h) + 24px);font-size:.9375rem}
.toc-h{font-size:.8125rem;font-weight:700;color:var(--ink-2);margin-bottom:8px}
.toc ol{list-style:none;border-left:var(--bw) solid var(--line)}
.toc a{display:flex;align-items:center;min-height:40px;padding:6px 12px;margin-left:calc(-1 * var(--bw));border-left:2px solid transparent;color:var(--ink-2);text-decoration:none;line-height:1.3;
  transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.toc a:hover{color:var(--ink)}
.toc a[aria-current="true"]{color:var(--ink);font-weight:600;border-left-color:var(--accent)}

.doc{min-width:0}
.doc-sec{scroll-margin-top:calc(var(--head-h) + 20px)}
.doc-sec + .doc-sec{margin-top:clamp(56px, 6vw, 80px);padding-top:clamp(40px, 5vw, 56px);border-top:var(--bw) solid var(--line)}
.doc h2{font-size:clamp(1.5rem, 1.2rem + 1.1vw, 2rem);max-width:30ch}
.doc h3{font-size:1.1875rem;margin-top:32px}
.prose{max-width:72ch;font-size:1.0625rem;line-height:1.65}
.prose p + p{margin-top:14px}
.doc h2 + .prose{margin-top:16px}
.fig-slot{max-width:780px;margin:28px 0}

.stepper{list-style:none;display:grid;gap:8px;max-width:72ch;margin-top:8px}
.stepper li{position:relative}
.stepper li:not(:last-child)::after{content:"";position:absolute;left:33px;top:52px;bottom:-12px;width:var(--bw);background:var(--line-strong);z-index:0}
.fig-step{position:relative;z-index:1;display:grid;grid-template-columns:36px minmax(0,1fr);gap:2px 14px;width:100%;padding:14px 16px;text-align:left;border-radius:var(--r-ctl);
  border:var(--bw) solid var(--line);background:var(--surface);color:var(--ink);
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.fig-step:hover{border-color:var(--line-strong)}
.step-n{grid-row:1/3;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;border:var(--bw) solid var(--line-strong);background:var(--surface);font:500 .875rem/1 var(--mono);color:var(--ink-2);
  transition:background-color var(--dur) var(--ease),color var(--dur) var(--ease),border-color var(--dur) var(--ease)}
.step-t{font-weight:600;line-height:1.3;padding-top:7px}
.step-d{color:var(--ink-2);font-size:.9375rem;line-height:1.5}
.fig-step[aria-current="step"]{border-color:var(--accent);background:var(--accent-soft)}
.fig-step[aria-current="step"] .step-n{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.fig-step[aria-current="step"] .step-d{color:var(--ink)}
:root[data-theme="contrast"] .fig-step[aria-current="step"],:root[data-theme="contrast"] .fig-zone[aria-current="true"]{box-shadow:0 0 0 2px var(--accent)}

.zones{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:780px;margin-top:8px}
.fig-zone{display:flex;flex-direction:column;gap:4px;width:100%;height:100%;min-height:44px;padding:14px 16px;text-align:left;border-radius:var(--r-ctl);border:var(--bw) solid var(--line);background:var(--surface);color:var(--ink);
  transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease)}
.fig-zone:hover{border-color:var(--line-strong)}
.zone-t{display:flex;align-items:center;gap:10px;font-weight:600}
.zone-t .mono{font-size:.75rem;font-weight:500;color:var(--ink-2);padding:2px 6px;border-radius:var(--r-sm);border:var(--bw) solid var(--line)}
.zone-d{font-size:.9375rem;line-height:1.5;color:var(--ink-2)}
.fig-zone[aria-current="true"]{border-color:var(--accent);background:var(--accent-soft)}
.fig-zone[aria-current="true"] .zone-d{color:var(--ink)}
.fig-zone[aria-current="true"] .zone-t .mono{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}

.aside-box{max-width:72ch;margin-top:32px;padding:24px;border-radius:var(--r-card);background:var(--surface);border:var(--bw) solid var(--line)}
.aside-box h3{margin:0 0 10px}
.aside-box p{color:var(--ink)}
.temper{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.temper li{padding:6px 12px;border-radius:var(--r-pill);background:var(--surface-2);font-size:.9375rem}
.temper b{font-weight:600}

.terms{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%, 250px),1fr));gap:12px;margin:24px 0 0}
.term{padding:18px 20px;border-radius:var(--r-card);background:var(--surface);border:var(--bw) solid var(--line)}
.term dt{font-weight:700;font-size:1.0625rem}
.term dd{margin:6px 0 0;color:var(--ink-2);font-size:.9375rem;line-height:1.55}

.callout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;max-width:72ch;margin-top:20px;padding:24px;border-radius:var(--r-card);background:var(--surface-2);border:var(--bw) solid var(--line)}
.callout > .icon{width:28px;height:28px;color:var(--accent-text)}
.callout h3{margin:0 0 8px;font-size:1.125rem}
.callout p + p{margin-top:10px}
.callout ol{margin-top:10px;padding-left:20px;display:grid;gap:6px}

.bring{max-width:72ch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;list-style:none;margin-top:12px}
.bring li{display:flex;gap:10px}
.bring .icon{color:var(--accent-text);margin-top:3px;width:18px;height:18px}
.doc-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}

.faq{max-width:72ch;margin-top:32px;border-top:var(--bw) solid var(--line)}
.faq details{border-bottom:var(--bw) solid var(--line)}
.faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:12px 4px;font-weight:600;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary .icon{transition:transform var(--dur) var(--ease);color:var(--ink-2)}
.faq details[open] summary .icon{transform:rotate(180deg)}
.faq details p{padding:0 4px 18px;color:var(--ink-2);max-width:68ch}

/* ---------- адаптив ---------- */
@media (max-width:1279px){
  .tool-search{min-width:44px}
  .head-tools .lbl{display:none}
}
@media (max-width:1179px){
  .nav{display:none}
  .burger{display:inline-flex}
  html:not(.js) .nav{display:block;order:9;flex-basis:100%;overflow-x:auto}
  html:not(.js) .head-row{flex-wrap:wrap}
  html:not(.js) .nav ul{justify-content:flex-start}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"exp exp" "proj pers" "conf news" "lib lib"}
  .eras{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:999px){
  .t-exp .tile-img{flex:none;aspect-ratio:16/7;min-height:0}
  .hero-grid,.band-grid{grid-template-columns:minmax(0,1fr)}
  .hero-lead{max-width:48ch}
  .doc-grid{grid-template-columns:minmax(0,1fr)}
  .toc{position:static;padding:16px;border-radius:var(--r-card);background:var(--surface);border:var(--bw) solid var(--line)}
  .toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-left:0;gap:0 16px}
  .toc a{border-left:0;padding-left:0;margin-left:0}
  .toc a[aria-current="true"]{border:0}
}
@media (max-width:767px){
  :root{--head-h:60px}
  .brand{font-size:.875rem;gap:8px}
  .brand-mark{width:32px;height:32px}
  .tool-search kbd{display:none}
  .head-tools{gap:6px}
  .tool{padding:0}
  .hero-search input{padding-right:16px}
  .hero-search .btn{display:none}
  .fcard{flex-basis:88%}
  .fcard-body{grid-template-columns:minmax(0,1fr)}
  .fcard .link-more{grid-column:1;grid-row:auto}
  .feature-hint{display:none}
  .tiles{grid-template-columns:minmax(0,1fr);grid-template-areas:"exp" "proj" "pers" "conf" "news" "lib"}
  .t-lib{flex-direction:column-reverse}
  .t-lib .tile-img{flex-basis:auto;aspect-ratio:16/7}
  .eras{display:flex;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter)) calc(-1 * var(--gutter-r));padding:2px var(--gutter-r) 2px var(--gutter)}
  .eras::-webkit-scrollbar{display:none}
  .era-btn{flex:none;min-width:150px}
  .exp-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:12px 12px 16px}
  .exp-row .tile-go{display:none}
  .shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
  .foot-grid{grid-template-columns:minmax(0,1fr)}
  .switch{left:max(16px, env(safe-area-inset-left, 0px));justify-content:space-between}
  .switch a{padding:0 8px;flex:1;justify-content:center}
  .zones,.bring{grid-template-columns:minmax(0,1fr)}
  .toc ol{grid-template-columns:minmax(0,1fr)}
  .callout{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:420px){
  .brand-name{font-size:.8125rem}
  .switch{font-size:.75rem}
}

/* ---------- движение: всё выключено при reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
@media (hover:none){
  .fcard a:hover .fcard-img img,.book a:hover .cover{transform:none}
}

/* ---------- правки по ревью: видимый фокус и зоны нажатия ---------- */
.pal-field:focus-within{box-shadow:inset 0 -3px 0 var(--focus)}
/* прокручиваемые ленты обрезают кольцо фокуса: даём им запас */
.tabs,.eras{padding-block:6px;margin-block:-6px}
.fcard a:focus-visible,.feature-track a:focus-visible{outline-offset:-4px}
/* цели нажатия не меньше 44 px */
.facet-types .chip,.foot-links a,.crumbs a,.toc a,.switch a{min-height:44px;display:inline-flex;align-items:center}
.toc a{display:flex}
