/* Слой оформления v2: характер модуля М1 (крупная гарнитура, мягкие карточки с тёплым градиентом, пружинные появления, «маркер»), карта как сцена. */
:root{--peach-2:#FFF3EA;--blue-glow:rgba(47,91,234,.18);--spring:cubic-bezier(.2,1.3,.4,1)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.96) rotate(-1.2deg)}}
@keyframes fade{from{opacity:0}}
@keyframes hl{to{background-size:100% .62em}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes spin-slow{to{transform:rotate(360deg)}}
body{background:radial-gradient(1200px 520px at 8% -10%,var(--sky) 0,transparent 60%),radial-gradient(900px 480px at 100% 0,var(--peach-2) 0,transparent 55%),var(--bg);background-attachment:fixed}
.top{background:rgba(255,255,255,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,231,238,.8);position:sticky;top:0;z-index:40}
.brand h1{font-weight:800;font-size:19px}
.brand-mark{background:linear-gradient(135deg,var(--blue-soft),#fff);box-shadow:0 8px 18px -8px var(--blue-glow);animation:pop .6s var(--spring) both}
.top-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.top-search{position:relative;width:min(340px,38vw)}
.top-search input{width:100%;min-height:44px;border:1px solid var(--line-2);border-radius:var(--r-pill);padding:0 16px 0 42px;font:inherit;background:#fff;box-shadow:0 6px 18px -12px rgba(20,32,70,.3)}
.top-search .ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}
.suggest{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);margin:0;padding:6px;list-style:none;max-height:60vh;overflow:auto;animation:rise .18s ease both}
.tabs{background:transparent;border:0;padding:10px 20px 4px;position:sticky;top:var(--top-h);z-index:30;gap:6px}
.tabs button{border:1px solid transparent;font-weight:600;transition:background .2s,box-shadow .2s,transform .2s}
.tabs button:hover{background:#fff;box-shadow:0 8px 18px -12px rgba(20,32,70,.35);transform:translateY(-1px)}
.tabs button[aria-selected="true"]{background:#fff;color:var(--blue);border-color:var(--line);box-shadow:0 10px 22px -12px var(--blue-glow)}
.view{animation:fade .35s ease both}
/* раскладка: сцена + выезжающая карточка деталей */
@media(min-width:821px){
  .layout{display:grid;grid-template-columns:minmax(0,1fr) 0;height:calc(100vh - var(--top-h) - var(--tabs-h) - 26px);gap:0;padding:0 18px 18px}
  .layout.has-detail{grid-template-columns:minmax(0,1fr) 460px;gap:16px}
  .stage{min-width:0}
  .detail{border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow);overflow:hidden;animation:pop .45s var(--spring) both}
  .filters{position:fixed;left:30px;top:calc(var(--top-h) + var(--tabs-h) + 74px);width:340px;max-height:calc(100vh - 220px);z-index:55;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 30px 70px -22px rgba(18,21,26,.35);padding:18px;overflow:auto;opacity:0;transform:translateY(-8px) scale(.97);transform-origin:top left;visibility:hidden;transition:opacity .2s,transform .28s var(--spring),visibility .2s}
  .filters.open{opacity:1;transform:none;visibility:visible}
  .filters-head .only-mobile{display:inline-flex!important}
}
.map-wrap{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);background:radial-gradient(800px 420px at 20% 10%,#EEF3FF 0,transparent 60%),radial-gradient(700px 400px at 90% 90%,var(--peach-2) 0,transparent 60%),#F8FAFE}
@media(min-width:821px){.stage .view:not(#viewMap){background:transparent}}
.map-scale{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:6;max-width:calc(100% - 330px);display:flex;flex-direction:column;align-items:center;gap:6px}
.map-scale .seg{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:5px;border-radius:var(--r-pill);border:1px solid var(--line);box-shadow:0 14px 30px -16px rgba(20,32,70,.4);flex-wrap:nowrap;gap:2px}
.map-scale .seg button{border:0;background:transparent;min-height:38px;padding:0 14px;font-weight:600;color:var(--ink-2);transition:background .2s,color .2s,box-shadow .2s;white-space:nowrap}
.map-scale .seg button[aria-checked="true"]{background:var(--blue);color:#fff;box-shadow:0 8px 18px -8px rgba(47,91,234,.7)}
.map-scale .hint{margin:0;background:rgba(255,255,255,.85);border-radius:var(--r-pill);padding:3px 12px;font-size:12.5px;color:var(--muted);max-width:520px;text-align:center}
.map-filter-btn{left:18px;top:14px;border-radius:var(--r-pill);min-height:44px;box-shadow:0 12px 24px -10px rgba(47,91,234,.65)}
.map-tools .icon-btn{background:rgba(255,255,255,.95);border-radius:14px}
.legend{border-radius:20px;box-shadow:var(--shadow)}
.axis{z-index:1}
/* старт */
.home{max-width:1180px;margin:0 auto;padding:18px 20px 80px}
.hero{position:relative;border-radius:34px;padding:46px 46px 40px;background:radial-gradient(700px 360px at 85% -10%,#FFE9D8 0,transparent 60%),radial-gradient(800px 420px at 0 110%,#DDEEFB 0,transparent 60%),#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden;animation:rise .6s ease both}
.eyebrow{font:700 12px var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:0 0 14px}
.hero-h{font:800 clamp(32px,5.2vw,58px)/1.05 var(--head);letter-spacing:-.03em;margin:0 0 16px;max-width:17ch;text-wrap:balance}
.hero-h mark,.mk{background:linear-gradient(104deg,transparent 0 .4em,#FFE066 .4em 100%) no-repeat 0 82%/0% .62em;color:inherit;padding:0 .25em;margin:0 -.1em;border-radius:.2em;animation:hl .9s .5s ease-out forwards;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero-lead{font:400 clamp(17px,2vw,21px)/1.55 var(--text);color:var(--ink-2);max-width:56ch;margin:0 0 24px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 26px;border:0;border-radius:var(--r-pill);background:var(--blue);color:#fff;font:700 16px var(--head);cursor:pointer;box-shadow:0 14px 28px -10px rgba(47,91,234,.7);transition:transform .2s var(--spring),box-shadow .2s}
.btn-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 20px 34px -12px rgba(47,91,234,.8)}
.btn-soft{display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 24px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:#fff;color:var(--ink);font:700 16px var(--head);cursor:pointer;transition:transform .2s var(--spring),box-shadow .2s}
.btn-soft:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(20,32,70,.4)}
.hero-art{position:absolute;right:-30px;top:20px;width:min(430px,44%);opacity:.95;pointer-events:none}
.hero-art .n{animation:floaty 6s ease-in-out infinite}.hero-art .n:nth-child(2n){animation-duration:7.5s;animation-delay:-2s}.hero-art .n:nth-child(3n){animation-duration:9s;animation-delay:-4s}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}
.stat{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px 20px;box-shadow:0 14px 30px -22px rgba(20,32,70,.35);animation:rise .6s ease both}
.stat:nth-child(2){animation-delay:.07s}.stat:nth-child(3){animation-delay:.14s}.stat:nth-child(4){animation-delay:.21s}
.stat b{display:block;font:800 36px/1 var(--head);letter-spacing:-.02em;color:var(--blue);font-variant-numeric:tabular-nums}
.stat span{display:block;margin-top:8px;color:var(--ink-2);font-size:14px}
.section-h{font:800 26px/1.2 var(--head);letter-spacing:-.02em;margin:38px 0 6px}
.section-sub{color:var(--ink-2);margin:0 0 18px;max-width:62ch}
.entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.entry{display:flex;flex-direction:column;gap:10px;text-align:left;border:1px solid var(--line);border-radius:26px;padding:22px;cursor:pointer;color:inherit;font:inherit;background:#fff;box-shadow:0 18px 36px -26px rgba(20,32,70,.4);transition:transform .25s var(--spring),box-shadow .25s,border-color .25s;animation:rise .6s ease both}
.entry:nth-child(2){animation-delay:.08s}.entry:nth-child(3){animation-delay:.16s}.entry:nth-child(4){animation-delay:.24s}
.entry:hover{transform:translateY(-4px);box-shadow:0 26px 44px -26px rgba(20,32,70,.5);border-color:var(--blue)}
.entry .art{height:104px;border-radius:18px;display:grid;place-items:center;overflow:hidden}
.entry h3{font:800 20px/1.2 var(--head);letter-spacing:-.01em}
.entry p{margin:0;color:var(--ink-2);font-size:14.5px}
.entry .go{margin-top:auto;display:inline-flex;gap:6px;align-items:center;font:700 14px var(--head);color:var(--blue)}
.stories{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.story{position:relative;display:flex;flex-direction:column;gap:10px;text-align:left;border:1px solid var(--line);border-radius:24px;padding:20px 20px 18px;cursor:pointer;color:inherit;font:inherit;background:linear-gradient(160deg,#fff 0,#fff 55%,var(--tint,#F5F7FB) 100%);box-shadow:0 18px 36px -28px rgba(20,32,70,.45);transition:transform .25s var(--spring),box-shadow .25s;animation:rise .55s ease both}
.story:hover{transform:translateY(-4px) rotate(-.3deg);box-shadow:0 28px 46px -28px rgba(20,32,70,.55)}
.story .k{font:700 11.5px var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--kc,var(--blue))}
.story h3{font:800 18.5px/1.25 var(--head);letter-spacing:-.01em;text-wrap:balance}
.story p{margin:0;color:var(--ink-2);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.story .foot{margin-top:auto;display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12.5px}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:8px}
.rule{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:0 14px 30px -24px rgba(20,32,70,.35)}
.rule h4{font:800 16px var(--head);margin:0 0 6px;display:flex;gap:10px;align-items:center}.rule p{margin:0;color:var(--ink-2);font-size:14.5px}
.rule .hi{flex:none;width:32px;height:32px;border-radius:11px;display:grid;place-items:center}
/* карточки деталей — характер М1 */
.detail-head{padding:16px 18px;border-bottom:1px solid var(--line)}
.detail-title{font:800 20px/1.25 var(--head);letter-spacing:-.01em}
.detail-body{padding:18px 20px 30px}
.detail-body>*{animation:rise .4s ease both}.detail-body>*:nth-child(2){animation-delay:.04s}.detail-body>*:nth-child(3){animation-delay:.08s}.detail-body>*:nth-child(4){animation-delay:.12s}.detail-body>*:nth-child(5){animation-delay:.16s}
.card{border-radius:22px}
.callout{border-radius:20px}
.co-key{background:linear-gradient(160deg,#E6ECFD,#F4F7FF)}
.co-key p{font:600 17px/1.5 var(--head)}
.story-text p{font-size:16.5px;line-height:1.65}
.map-fly{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border:0;border-radius:var(--r-pill);background:var(--blue);color:#fff;font:700 15px var(--head);cursor:pointer;box-shadow:0 12px 24px -10px rgba(47,91,234,.7);transition:transform .2s var(--spring)}
.map-fly:hover{transform:translateY(-2px) scale(1.03)}
.tip{position:absolute;z-index:9;pointer-events:none;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 14px;box-shadow:0 18px 36px -16px rgba(20,32,70,.45);max-width:300px;font-size:13.5px;animation:pop .18s var(--spring) both}
.tip b{display:block;font:800 14.5px var(--head);margin-bottom:2px}.tip small{color:var(--muted);display:block}
.tour{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:7;display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:12px 16px;box-shadow:0 24px 50px -22px rgba(18,21,26,.5);max-width:min(620px,calc(100% - 140px));animation:pop .4s var(--spring) both}
.tour p{margin:0;font-size:14px;color:var(--ink-2)}.tour b{font:800 15px var(--head);display:block;color:var(--ink)}
@media(max-width:820px){
  .hero{padding:28px 22px 26px;border-radius:26px}.hero-art{display:none}.top-search{width:100%;order:3}
  .home{padding:12px 12px 70px}.map-scale{max-width:calc(100% - 20px);top:64px}.map-scale .seg{overflow-x:auto;max-width:100%}.map-filter-btn{top:12px}
  .filters.open{transform:none}.tour{bottom:10px;max-width:calc(100% - 24px)}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-delay:0s!important;transition-duration:.001ms!important}.hero-h mark,.mk{background-size:100% .62em}}

/* блоки DesignKit: переменные и скрытый текст */
:root{--vz-accent:#2F5BEA;--vz-ink:#12151A;--vz-ink-2:#3C4350;--vz-line:#E4E7EE;--vz-muted:#5C6575;--vz-soft:#F5F7FB;--gr-up:#2F5BEA;--gr-flat:#9AA3B5;--gr-down:#E8743B}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.viz-card{padding:22px 22px 18px}.trends-pad{max-width:1040px;margin:0 auto}

/* период на карте */
.period-bar{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:7;width:min(640px,calc(100% - 360px));background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:22px;padding:12px 18px 12px;box-shadow:0 24px 50px -24px rgba(18,21,26,.5);animation:pop .5s var(--spring) both}
.pb-top{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.pb-t{font:700 12px var(--head);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.pb-top b{font:800 18px var(--head);font-variant-numeric:tabular-nums;color:var(--ink)}.pb-hint{margin-left:auto;font-size:12px;color:var(--muted)}
.pb-track{position:relative;height:30px}.pb-rail{position:absolute;left:0;right:0;top:13px;height:5px;border-radius:5px;background:var(--line)}.pb-fill{position:absolute;top:13px;height:5px;border-radius:5px;background:linear-gradient(90deg,var(--blue),#6C8CF5)}
.pb-track input[type=range]{position:absolute;left:0;top:0;width:100%;height:30px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.pb-track input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--blue);box-shadow:0 6px 14px -4px rgba(47,91,234,.6);cursor:grab}
.pb-track input[type=range]::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--blue);cursor:grab}
.pb-track input[type=range]::-webkit-slider-runnable-track{background:none;height:30px}.pb-track input[type=range]::-moz-range-track{background:none}
.pb-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.pb-chip{min-height:32px;padding:0 12px;border:1px solid var(--line-2);border-radius:var(--r-pill);background:#fff;font:600 12.5px var(--text);color:var(--ink-2);cursor:pointer;transition:background .2s,border-color .2s}
.pb-chip:hover{border-color:var(--blue)}.pb-chip[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:1100px){.period-bar{width:calc(100% - 28px);bottom:62px}}
@media(max-width:820px){.period-bar{bottom:60px;padding:10px 12px}.pb-hint{display:none}}
input[type=checkbox],input[type=range]{accent-color:var(--blue)}
.ax-lane{left:150px}
.top-search.search{border:0;background:transparent;padding:0;box-shadow:none;min-height:0}
.top-search input{border:1px solid var(--line-2)}
.top-search input:focus{outline:3px solid var(--blue-glow);border-color:var(--blue)}
.top-search.search:focus-within{box-shadow:none}

/* компактная шапка и логотип */
:root{--top-h:58px;--tabs-h:52px}
.top{padding:6px 18px;min-height:var(--top-h);gap:12px}
.brand{gap:11px}.brand-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,#E6ECFD,#fff);color:var(--blue);border:1px solid #D7E0FA}
.brand-mark svg{width:30px;height:30px}
.brand h1{font-size:18.5px;line-height:1.1}.brand-sub{margin:1px 0 0;font-size:12.5px;max-width:none;white-space:nowrap}
.greek{font-family:var(--head);font-weight:700;color:var(--dom);letter-spacing:.04em}
.tabs{padding:6px 18px 2px}
body[data-view=home] #tradSwitch,body[data-view=cases] #tradSwitch,body[data-view=trends] #tradSwitch{display:none}
.hero{padding:34px 40px 30px}
.hero-quote{margin:0 0 22px;max-width:60ch;padding:0 0 0 18px;border-left:4px solid #FFD25E}
.hero-quote p{margin:0 0 6px;font:700 clamp(17px,2vw,21px)/1.4 var(--head);letter-spacing:-.01em}
.hero-quote cite{font-style:normal;font-size:13px;color:var(--muted)}
@media(max-width:820px){.brand-sub{display:none}.top{padding:6px 12px}}

.site-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:46px 0 0;padding:20px 4px 6px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}
.site-foot a{color:var(--blue);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(47,91,234,.3)}.site-foot a:hover{border-bottom-color:var(--blue)}
.hero-h{font-size:clamp(30px,4.3vw,50px);max-width:22ch}
.hero{padding:28px 40px 26px}.hero-lead{margin-bottom:16px}.hero-quote{margin-bottom:16px}
.map-scale{top:44px}.map-filter-btn{top:44px}.map-tools{top:44px}
.ax-t{top:8px}

/* кнопка «двигать объекты» и узкие экраны карты */
#zMove[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:820px){
  .map-filter-btn{top:8px;left:8px}
  .map-tools{top:8px;right:8px;flex-direction:row;gap:6px}
  .map-tools .icon-btn{width:40px;height:40px}
  .map-scale{top:56px;left:8px;right:8px;transform:none;max-width:none;align-items:stretch}
  .map-scale .seg{overflow-x:auto;max-width:100%;scrollbar-width:none}.map-scale .seg::-webkit-scrollbar{display:none}
  .map-scale .seg button{min-height:34px;padding:0 11px;font-size:13px}
  .map-scale .hint{display:none}
  .ax-t{top:104px}.ax-l{top:124px}
  .ax-lane{left:8px;max-width:calc(100% - 16px);font-size:12px;padding:2px 8px}
  .period-bar{bottom:54px;padding:8px 12px;border-radius:18px}
  .pb-top{margin-bottom:0}.pb-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-top:0}.pb-chips::-webkit-scrollbar{display:none}
  .pb-chip{white-space:nowrap;min-height:30px;flex:0 0 auto}
  .legend{bottom:8px;left:8px}
}

/* короткое имя проекта под названием */
button.brand-sub{display:inline-flex;align-items:baseline;gap:8px;border:0;background:none;padding:0;margin:1px 0 0;cursor:pointer;font-size:13px;color:var(--muted)}
button.brand-sub .greek{font-size:13.5px}
button.brand-sub .what{font-size:12px;color:var(--blue);border-bottom:1px dashed rgba(47,91,234,.5)}
button.brand-sub:hover .what{border-bottom-style:solid}
@media(max-width:820px){button.brand-sub{display:inline-flex}}

.stat .stat-db{display:block;margin-top:4px;font-style:normal;font-size:12px;color:var(--muted)}
.stat-held{margin:-4px 2px 10px}
.tl-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:8px 0 10px}
.tl-btns{display:flex;gap:6px}.tl-btns .icon-btn{width:38px;height:38px}
.tl-filters{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--ink-2)}
.tl-chk{display:inline-flex;align-items:center;gap:6px;cursor:pointer;min-height:32px}

/* ---- каталог утверждений, поиск, спор, хронология без дат ---- */
mark{background:#FFE8A3;color:inherit;padding:0 .1em;border-radius:3px}
.chip-dispute{background:#FFF1E6;border-color:#F4C9A8;color:#8A3A10}
.chip-dispute .ico{width:14px;height:14px}
.qsnip{margin-top:6px;padding:6px 10px;border-left:3px solid var(--line-2);color:var(--ink-2);font-size:13.5px;line-height:1.45}
.row-topics{margin-top:4px;font-size:12px;color:var(--muted)}
.more-row{display:flex;justify-content:center;padding:16px 0 4px}
.tbar .combo{display:inline-flex;min-width:0;flex:1 1 200px}
.tbar .combo input{width:100%}
.tl-undated{margin:14px 14px 40px;padding:12px 14px;border:1px dashed #F4C9A8;border-radius:16px;background:#FFFAF5}
.tl-undated summary{cursor:pointer;font-weight:700;font-family:var(--head);min-height:32px;display:flex;align-items:center}
.tl-undated .chips{display:flex;flex-wrap:wrap;gap:6px}
.suggest li.s-sec{white-space:normal}
.suggest li span:first-child{overflow-wrap:anywhere}
@media(max-width:820px){.suggest{max-height:55vh}}
