/* ===== UX-тест: страница статьи (Nirvana) ===== */
/* прогресс чтения */
.ux-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--accent);z-index:60;transition:transform .08s linear}
/* герой: кнопки и «Коротко» */
.ux-cta{display:flex;flex-wrap:wrap;gap:10px 12px;margin:22px 0 4px}
.ux-btn{display:inline-flex;align-items:center;gap:.55rem;min-height:46px;padding:.65rem 1.3rem;border-radius:999px;font:500 15px/1 var(--font-body);text-decoration:none;border:1px solid var(--fg);color:var(--fg);background:transparent;transition:background .15s,color .15s,transform .15s}
.ux-btn:hover{background:var(--fg);color:var(--bg)}
.ux-btn.pri{background:var(--accent);border-color:var(--accent);color:#fff}
.ux-btn.pri:hover{background:var(--accent-hov);border-color:var(--accent-hov);transform:translateY(-1px)}
.ux-btn .i{font-size:11px}
.ux-short{margin:22px 0 8px;padding:16px 18px;border-left:3px solid var(--accent);background:var(--bg-elev);border-radius:0 12px 12px 0}
.ux-short .k{font:10.5px/1.4 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:8px}
.ux-short ul{margin:0;padding:0;list-style:none}
.ux-short li{font-size:15px;line-height:1.5;margin:0 0 6px;padding-left:16px;position:relative;color:var(--fg-2)}
.ux-short li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.ux-short li b{color:var(--fg);font-weight:600}
/* оглавление сворачивается */
details.ux-toc{margin:0 0 28px;border:1px solid var(--rule);border-radius:12px;background:var(--bg-elev)}
details.ux-toc>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font:10.5px/1.4 var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-mute);min-height:48px}
details.ux-toc>summary::-webkit-details-marker{display:none}
details.ux-toc>summary::after{content:"+";font-size:18px;letter-spacing:0}
details.ux-toc[open]>summary::after{content:"−"}
details.ux-toc ol{margin:0;padding:0 18px 14px 40px;columns:2;column-gap:24px}
details.ux-toc li{font-size:14px;line-height:1.45;margin:0 0 6px;break-inside:avoid}
@media(max-width:560px){details.ux-toc ol{columns:1}}
details.ux-toc a{color:var(--fg-2)} details.ux-toc a:hover,details.ux-toc a.on{color:var(--accent)}
/* боковая навигация на широком экране */
.ux-rail{display:none}
@media(min-width:1240px){
  .ux-rail{display:block;position:fixed;top:120px;left:max(24px,calc(50% - 360px - 250px));width:200px;font-size:13px;line-height:1.4;z-index:20}
  .ux-rail .k{font:10.5px/1.4 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);margin-bottom:10px}
  .ux-rail a{display:block;padding:6px 0 6px 12px;border-left:2px solid var(--rule);color:var(--fg-mute)}
  .ux-rail a:hover{color:var(--fg)}
  .ux-rail a.on{border-left-color:var(--accent);color:var(--fg);font-weight:600}
  .ux-rail .eta{margin-top:14px;font:11px/1.4 var(--font-mono);color:var(--fg-mute)}
}
/* плавающие кнопки на телефоне */
.ux-fab,.ux-chip{position:fixed;bottom:14px;z-index:50;display:none;align-items:center;gap:.5rem;min-height:46px;padding:.55rem 1rem;border-radius:999px;font:500 14px/1 var(--font-body);box-shadow:0 6px 20px rgba(20,20,15,.18);border:0;cursor:pointer}
.ux-chip{left:14px;background:var(--fg);color:var(--bg)}
.ux-fab{right:14px;background:var(--accent);color:#fff;text-decoration:none}
.ux-fab:hover{color:#fff;background:var(--accent-hov)}
@media(max-width:1239px){.ux-chip{display:inline-flex}.ux-fab.show{display:inline-flex}}
/* v213: плашка главы не прячется под красной кнопкой — кнопка уходит выше, длинный заголовок обрезается */
@media(max-width:1239px){.ux-chip{max-width:calc(100vw - 28px)}.ux-chip .cur{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ux-fab{bottom:72px}}
.ux-sheet{position:fixed;left:0;right:0;bottom:0;max-height:70vh;overflow:auto;background:var(--bg);border-radius:18px 18px 0 0;box-shadow:0 -10px 40px rgba(20,20,15,.25);padding:18px 20px 28px;z-index:70;transform:translateY(105%);visibility:hidden;transition:transform .22s ease,visibility 0s .22s}
.ux-sheet.open{transform:none;visibility:visible;transition:transform .22s ease}
.ux-sheet h3{font:10.5px/1.4 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--fg-mute);margin:0 0 10px}
.ux-sheet a{display:block;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--fg);font-size:16px}
.ux-sheet a.on{color:var(--accent);font-weight:600}
.ux-scrim{position:fixed;inset:0;background:rgba(20,20,15,.35);z-index:65;opacity:0;pointer-events:none;transition:opacity .2s}
.ux-scrim.open{opacity:1;pointer-events:auto}
/* схемы шире экрана */
.fig-wrap{position:relative}
.fig-wrap::after{content:"";position:absolute;top:0;right:0;bottom:0;width:36px;pointer-events:none;background:linear-gradient(90deg,transparent,var(--bg-elev));opacity:0;transition:opacity .2s}
@media(max-width:620px){.fig-wrap.more::after{opacity:1}}
.ux-hint{display:none;margin:0 0 8px;font:10.5px/1.4 var(--font-mono);letter-spacing:.08em;color:var(--fg-mute)}
@media(max-width:620px){.fig-wrap.more .ux-hint{display:block}}
/* блок «Рядом по теме» */
.ux-rel{margin:34px 0;padding:18px;border:1px solid var(--rule);border-radius:16px;background:var(--bg-elev)}
.ux-rel .k{font:10.5px/1.4 var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.ux-rel .t{font-family:var(--font-serif,'Fraunces',Georgia,serif);font-size:21px;line-height:1.25;margin:0 0 14px;color:var(--fg)}
.ux-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:620px){.ux-cards{grid-template-columns:1fr}}
.ux-card{display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--rule);border-radius:12px;overflow:hidden;color:var(--fg);transition:transform .15s,border-color .15s,box-shadow .15s}
.ux-card:hover{transform:translateY(-2px);border-color:var(--fg-mute);box-shadow:0 8px 22px rgba(20,20,15,.1);color:var(--fg)}
.ux-card img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover;background:var(--bg-soft)}
.ux-card .b{padding:12px 14px 14px}
.ux-card .n{font-family:'Fraunces',Georgia,serif;font-size:17px;line-height:1.25;margin-bottom:6px}
.ux-card .h{font-size:13.5px;line-height:1.5;color:var(--fg-2)}
.ux-card .go{display:inline-block;margin-top:8px;font:500 13px/1 var(--font-body);color:var(--accent)}
/* «Что осталось за кадром» */
.ux-gap{margin:36px 0;padding:18px 20px;border-radius:12px;background:repeating-linear-gradient(135deg,var(--bg) 0 10px,var(--bg-elev) 10px 11px);border:1px dashed var(--fg-fade)}
.ux-gap h2{margin-top:0 !important;font-size:20px}
.ux-gap p:last-child{margin-bottom:0}
/* конец статьи */
.ux-next .ux-cards{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.ux-next .ux-cards{grid-template-columns:1fr}}
.ux-more{margin:18px 0 0;padding:0;list-style:none}
.ux-more li{margin:0 0 9px}
@media(prefers-reduced-motion:reduce){.ux-sheet,.ux-progress,.ux-card{transition:none}}
