/* admin-anomaly.css — раздел «Приложение → Аномалии». Префикс an-. Общие th-*/hr-* стили — в admin-themes.css.
 * Внутри телефона (.an-screen) используются переменные --b/--s/--c/--r2/--a/--t1/--t2 (цвета «приложения», задаёт предпросмотр),
 * переменные панели там не нужны. */

/* ═════════ Общее ═════════ */
.an-root select, .an-root input[type=number], .an-root input[type=datetime-local], .an-root textarea { background:var(--bg-input); border:1px solid var(--border); border-radius:var(--radius-sm);
  color:var(--text-primary); padding:.4375rem .625rem; font:inherit; font-size:.8125rem; min-width:0; }
.an-root select:focus, .an-root input:focus, .an-root textarea:focus { outline:none; border-color:var(--accent); }
.an-root input[type=range], .an-root input[type=checkbox], .an-root input[type=radio], .an-root input[type=color] { padding:0; }
.an-root { display:flex; flex-direction:column; gap:.875rem; min-width:0; }
.an-input { background:var(--bg-input); border:1px solid var(--border); border-radius:var(--radius-sm); padding:.4375rem .625rem; color:var(--text-primary); font:inherit; font-size:.8125rem; min-width:0; }
.an-input:focus { outline:none; border-color:var(--accent); }
.an-title { font-weight:700; font-size:.9375rem; flex:1; min-width:140px; max-width:360px; }
.an-tabs { gap:.375rem; margin-bottom:.25rem; }
.an-tabcount { margin-left:.25rem; font-size:.66rem; font-weight:700; opacity:.7; }
.an-tabcount:empty { display:none; }
[data-an-body].is-loading { opacity:.5; pointer-events:none; }
.an-bad { color:var(--red); font-weight:700; }
.an-warn { display:flex; gap:.5rem; align-items:flex-start; padding:.4375rem .625rem; border-radius:var(--radius-sm); font-size:.78rem; line-height:1.45; margin-bottom:.375rem;
  background:rgba(251,191,36,.08); border:1px solid rgba(251,191,36,.28); color:var(--text-secondary); }
.an-warn > span { flex:1; }
.an-warn.is-warn i:first-child { color:var(--yellow); margin-top:.15rem; }
.an-warn.is-info { background:rgba(var(--accent-rgb),.07); border-color:var(--border); }
.an-warn[data-an-open] { cursor:pointer; }
.an-warn[data-an-open]:hover { border-color:var(--yellow); }
.an-json { max-height:420px; overflow:auto; background:var(--bg-input); border:1px solid var(--border); border-radius:var(--radius-sm); padding:.75rem; font:.72rem/1.5 var(--font-mono); color:var(--text-secondary); white-space:pre; }

/* иконка типа */
.an-ticon { display:inline-flex; align-items:center; justify-content:center; width:1.75rem; height:1.75rem; border-radius:.5rem; flex:none; font-size:.8rem;
  color:var(--tc,#a855f7); background:color-mix(in srgb, var(--tc,#a855f7) 16%, transparent); border:1px solid color-mix(in srgb, var(--tc,#a855f7) 38%, transparent); }
.an-ticon.lg { width:2.375rem; height:2.375rem; font-size:1rem; border-radius:.625rem; }
/* тяжесть */
.an-sev { display:inline-flex; gap:2px; align-items:center; }
.an-sev i { width:.4rem; height:.9rem; border-radius:2px; background:var(--bg-hover); display:block; }

/* ═════════ Аварийный выключатель ═════════ */
.an-killbar { display:flex; gap:.75rem; align-items:center; padding:.625rem .875rem; border:1px solid var(--border); border-radius:var(--radius); background:var(--bg-card); }
.an-killbar.is-on { border-color:var(--red); background:rgba(239,68,68,.1); }
.an-killbar b { font-size:.875rem; }

/* ═════════ Обзор ═════════ */
.an-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.75rem; }
.an-kpi { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:.75rem .875rem; display:flex; flex-direction:column; gap:.125rem; }
.an-kpi b { font-size:1.5rem; line-height:1.1; font-variant-numeric:tabular-nums; }
.an-kpi b small { font-size:.9rem; color:var(--text-muted); font-weight:600; }
.an-kpi span { font-size:.72rem; color:var(--text-muted); }
.an-kpi.is-hot { border-color:var(--red); }
.an-kpi.is-hot b { color:var(--red); }
.an-starter { border-color:var(--border-accent); background:linear-gradient(135deg,rgba(var(--accent-rgb),.1),transparent); }

/* ═════════ Карточки событий и сценариев ═════════ */
.an-egrid { grid-template-columns:repeat(auto-fill,minmax(290px,1fr)); }
.an-ecard, .an-scard { display:flex; flex-direction:column; gap:.625rem; padding:.875rem 1rem; cursor:pointer; transition:transform .15s,border-color .15s,box-shadow .15s; }
.an-ecard:hover, .an-scard:hover { transform:translateY(-2px); border-color:var(--border-accent); box-shadow:0 .5rem 1.5rem rgba(0,0,0,.3); }
.an-ecard.is-off, .an-scard.is-off { opacity:.62; }
.an-ecard-head { display:flex; align-items:center; gap:.625rem; }
.an-ecard-title { display:flex; flex-direction:column; min-width:0; flex:1; }
.an-ecard-title b { font-size:.9rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.an-ecard-meta { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; }
.an-desc { margin-bottom:.75rem; max-width:70ch; }

/* создание события */
.an-types { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:.625rem; }
.an-type { display:flex; gap:.75rem; align-items:flex-start; text-align:left; padding:.75rem; border-radius:var(--radius); border:1px solid var(--border); background:var(--bg-card); color:var(--text-primary); cursor:pointer; font:inherit; transition:border-color .15s,transform .15s; }
.an-type:hover { border-color:var(--tc,var(--accent)); transform:translateY(-1px); }
.an-type div { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.an-type b { font-size:.85rem; }
.an-type span { font-size:.72rem; color:var(--text-muted); line-height:1.4; }
.an-type em { font-size:.66rem; font-style:normal; font-weight:700; color:var(--tc,var(--accent)); text-transform:uppercase; letter-spacing:.05em; }

/* ═════════ Редактор события ═════════ */
.an-ed-body { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,380px); gap:1rem; align-items:start; }
.an-ed-form { display:flex; flex-direction:column; gap:.75rem; min-width:0; }
.an-ed-side { display:flex; flex-direction:column; gap:.75rem; position:sticky; top:4.75rem; min-width:0; }
@media (max-width:1100px) { .an-ed-body { grid-template-columns:minmax(0,1fr); } .an-ed-side { position:static; order:-1; } }
.an-group { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); padding:.875rem 1rem; }
.an-field[hidden] { display:none !important; }
.an-field-err { color:var(--red); font-size:.72rem; margin-top:.25rem; }
.is-bad { border-color:var(--red) !important; }
.an-num { display:flex; gap:.625rem; align-items:center; }
.an-num input[type=number] { width:5.5rem; flex:none; }
.an-range { flex:1; min-width:0; accent-color:var(--accent); }
.an-sevlbl { min-width:8.5rem; font-size:.78rem; }
.an-color { display:flex; gap:.5rem; align-items:center; }
.an-color input[type=color] { width:2.5rem; height:2.1rem; padding:0; border:1px solid var(--border); border-radius:var(--radius-sm); background:none; cursor:pointer; }
.an-color input[type=text] { width:7rem; font-family:var(--font-mono); }
.an-chain-row { font-size:.78rem; padding:.2rem 0; display:flex; gap:.375rem; align-items:center; }
.an-chain-row .is-missing, .an-chain-row .is-bad { color:var(--red); }

/* выбор файлов в форме */
.an-mf { display:flex; flex-direction:column; gap:.5rem; align-items:flex-start; }
.an-mf-items { display:flex; gap:.375rem; flex-wrap:wrap; }
.an-mf-empty { padding:.25rem 0; }
.an-mchip { display:inline-flex; align-items:center; gap:.375rem; max-width:220px; padding:.1875rem .25rem .1875rem .25rem; border-radius:.5rem; border:1px solid var(--border); background:var(--bg-input); font-size:.72rem; }
.an-mchip img { width:1.75rem; height:1.75rem; object-fit:cover; border-radius:.3125rem; display:block; background:#000; }
.an-mchip > i { width:1.75rem; text-align:center; color:var(--accent); }
.an-mchip b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.an-mchip.is-missing { border-color:var(--red); color:var(--red); padding:.25rem .5rem; }
.an-mchip-x { border:none; background:transparent; color:var(--text-muted); cursor:pointer; padding:0 .375rem; font-size:.75rem; }
.an-mchip-x:hover { color:var(--red); }

/* ═════════ Медиатека ═════════ */
.an-lib { display:flex; flex-direction:column; gap:.75rem; min-width:0; }
.an-drop { border:2px dashed var(--border); border-radius:var(--radius); padding:1.125rem 1rem; text-align:center; color:var(--text-muted); font-size:.8rem; transition:border-color .15s,background .15s; }
.an-drop.is-over { border-color:var(--accent); background:rgba(var(--accent-rgb),.08); color:var(--text-primary); }
.an-drop i { margin-right:.5rem; color:var(--accent); }
.an-upl:empty { display:none; }
.an-upl { display:flex; flex-direction:column; gap:.25rem; }
.an-upl-row { display:flex; gap:.5rem; align-items:center; font-size:.75rem; color:var(--text-secondary); }
.an-upl-row.is-bad { color:var(--red); border:0 !important; }
.an-tagbar { display:flex; gap:.25rem; flex-wrap:wrap; }
.an-tagbar:empty { display:none; }
.an-mgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(165px,1fr)); gap:.75rem; }
.an-mcard { background:var(--bg-card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:border-color .15s; }
.an-mcard.is-pickable { cursor:pointer; }
.an-mcard.is-pickable:hover { border-color:var(--border-accent); }
.an-mcard.is-picked { border-color:var(--accent); box-shadow:0 0 0 2px var(--accent-glow); }
.an-mcard-view { position:relative; height:120px; background:#000 center/cover no-repeat; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.an-mcard-view img { width:100%; height:100%; object-fit:cover; display:block; }
.an-check { position:absolute; top:6px; right:6px; width:1.375rem; height:1.375rem; border-radius:50%; background:var(--accent); color:#fff; display:none; align-items:center; justify-content:center; font-size:.7rem; }
.is-picked .an-check { display:flex; }
.an-sens { position:absolute; top:6px; left:6px; color:var(--yellow); background:rgba(0,0,0,.6); border-radius:.375rem; padding:.125rem .3rem; font-size:.7rem; }
.an-mcard-body { padding:.5rem .625rem .625rem; display:flex; flex-direction:column; gap:.3rem; min-width:0; }
.an-mcard-name { font-size:.78rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.an-tags { display:flex; gap:.25rem; flex-wrap:wrap; }
.an-used { display:flex; gap:.25rem; flex-wrap:wrap; font-size:.68rem; color:var(--text-muted); }
.an-play { width:2.5rem; height:2.5rem; border-radius:50%; border:none; background:var(--accent); color:#fff; cursor:pointer; flex:none; position:relative; }
.an-play .fa-pause { display:none; }
.an-play.is-playing .fa-play { display:none; }
.an-play.is-playing .fa-pause { display:inline; }
.an-wave { position:absolute; left:.5rem; right:.5rem; bottom:.5rem; height:36px; display:flex; align-items:flex-end; gap:2px; opacity:.5; pointer-events:none; }
.an-wave i { flex:1; background:var(--accent); border-radius:1px; display:block; }

/* ═════════ Конструктор сценариев ═════════ */
.an-strip { display:flex; height:2.125rem; border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border); }
.an-strip.is-small { height:.625rem; }
.an-strip span { display:flex; align-items:center; justify-content:center; font-size:.66rem; font-weight:700; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.8); overflow:hidden; white-space:nowrap; min-width:0; }
.an-strip span + span { border-left:1px solid rgba(255,255,255,.12); }
.an-choice { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:.625rem; }
.an-radio { display:flex; flex-direction:column; gap:.2rem; padding:.625rem .75rem; border-radius:var(--radius); border:2px solid var(--border); background:var(--bg-card); cursor:pointer; }
.an-radio input { position:absolute; opacity:0; pointer-events:none; }
.an-radio span { font-size:.72rem; color:var(--text-muted); }
.an-radio.is-on { border-color:var(--accent); box-shadow:0 0 0 .1875rem var(--accent-glow); }
.an-stage { display:flex; flex-direction:column; gap:.75rem; }
.an-stage-head { display:flex; gap:.5rem; align-items:center; }
.an-stage-head .an-input { flex:1; max-width:340px; font-weight:700; }
.an-snum { width:1.75rem; height:1.75rem; border-radius:50%; background:var(--accent); color:#fff; font-weight:800; font-size:.8rem; display:flex; align-items:center; justify-content:center; flex:none; }
.an-stage-grid { grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); }
.an-ptiles { display:flex; gap:.5rem; flex-wrap:wrap; }
.an-ptile { display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:.4375rem .625rem; border-radius:var(--radius-sm); border:2px solid var(--border); background:var(--bg-card); color:var(--text-secondary); cursor:pointer; font:600 .7rem var(--font-body); min-width:5.5rem; }
.an-ptile.is-on { border-color:var(--accent); color:var(--text-primary); box-shadow:0 0 0 .1875rem var(--accent-glow); }
.an-ptile-sw { display:flex; width:3.75rem; height:1.5rem; border-radius:.3125rem; overflow:hidden; border:1px solid rgba(255,255,255,.18); }
.an-ptile-sw b { flex:1; display:block; }
.an-pool { border-top:1px solid var(--border); padding-top:.5rem; }
.an-prow2 { display:grid; grid-template-columns:auto minmax(0,1fr) 5rem auto auto auto auto; gap:.5rem; align-items:center; padding:.3125rem 0; border-bottom:1px solid var(--border); }
.an-prow2 select { min-width:0; }
.an-prow2 input[type=number] { width:100%; }
.an-prow2.is-skipped { opacity:.6; }
@media (max-width:700px) { .an-prow2 { grid-template-columns:auto minmax(0,1fr) 4.5rem auto; } }

/* ═════════ Симулятор ═════════ */
.an-sim { display:flex; flex-direction:column; gap:.75rem; }
.an-sim-sum { font-size:.8rem; color:var(--text-secondary); }
.an-tl { position:relative; height:68px; border:1px solid var(--border); border-radius:var(--radius-sm); overflow:hidden; background:var(--bg-input); }
.an-tl-bands, .an-tl-marks, .an-tl-ticks { position:absolute; inset:0; }
.an-band { position:absolute; top:0; bottom:0; opacity:.45; overflow:hidden; border-left:1px solid rgba(255,255,255,.15); }
.an-band span { position:absolute; left:4px; top:2px; font-size:.62rem; color:#fff; font-weight:700; text-shadow:0 1px 2px #000; white-space:nowrap; }
.an-mark { position:absolute; width:.875rem; height:.875rem; margin-left:-.4375rem; border-radius:50%; background:var(--tc,#fff); color:#000; display:flex; align-items:center; justify-content:center; font-size:.45rem; box-shadow:0 0 0 1px rgba(0,0,0,.6); }
.an-mark.is-chain { transform:scale(.75); opacity:.85; }
.an-tick { position:absolute; bottom:1px; font-size:.58rem; color:var(--text-muted); padding-left:2px; border-left:1px solid var(--border); }
.an-table { width:100%; border-collapse:collapse; font-size:.78rem; }
.an-table th { text-align:left; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); padding:.375rem .5rem; border-bottom:1px solid var(--border); }
.an-table td { padding:.375rem .5rem; border-bottom:1px solid var(--border); }
.an-bars { display:flex; align-items:flex-end; gap:.375rem; height:130px; padding-top:.5rem; }
.an-bar { flex:1; max-width:56px; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:.25rem; }
.an-bar i { width:100%; background:var(--accent); border-radius:3px 3px 0 0; display:block; min-height:4px; }
.an-bar span { font-size:.6rem; color:var(--text-muted); }

/* ═════════ Предпросмотр: телефон ═════════ */
.an-pv { display:flex; flex-direction:column; gap:.625rem; align-items:center; }
.an-pv-bar { display:flex; gap:.375rem; align-items:center; width:100%; flex-wrap:wrap; }
.an-pv-opts { display:flex; gap:.875rem; width:100%; font-size:.75rem; color:var(--text-secondary); flex-wrap:wrap; }
.an-pv-log { width:100%; min-height:2.6em; }
.an-phone { padding:11px; border-radius:36px; background:#0a0a10; box-shadow:0 0 0 2px #2a2a3d, 0 14px 36px rgba(0,0,0,.5); flex:none; }
.an-screen { --b:#191722; --s:#1F1D29; --c:#1B1926; --r2:#3A3547; --a:#C25BC7; --t1:#fff; --t2:#B0B0B0; --rad:14px;
  position:relative; width:292px; height:560px; overflow:hidden; border-radius:26px; background:var(--b); color:var(--t1);
  font:13px/1.3 Roboto,'Segoe UI',system-ui,sans-serif; transition:background .6s,color .6s; }
.an-screen *, .an-screen *::before, .an-screen *::after { box-sizing:border-box; }
.an-app { position:absolute; inset:0; background:var(--b); color:var(--t1); display:flex; flex-direction:column; overflow:hidden; }
.an-status { display:flex; justify-content:space-between; padding:6px 16px 2px; font-size:10px; color:var(--t2); flex:none; }
.an-top { display:flex; justify-content:space-between; align-items:center; padding:6px 14px 8px; font-size:15px; flex:none; background:var(--s); }
.an-content { flex:1; min-height:0; overflow:hidden; }
.an-nav { display:flex; justify-content:space-around; padding:9px 0; background:var(--s); color:var(--t2); font-size:15px; flex:none; }
.an-feed { padding:8px; display:flex; flex-direction:column; gap:8px; }
.an-post { background:var(--c); border-radius:var(--rad); padding:10px; display:flex; flex-direction:column; gap:5px; border:1px solid transparent; }
.an-prow { display:flex; gap:8px; align-items:center; }
.an-prow small, .an-row small, .an-pavrow small, .an-stats small { display:block; color:var(--t2); font-size:10px; }
.an-av { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; color:#fff; flex:none; overflow:hidden; font-size:13px; }
.an-av-lg { width:64px; height:64px; font-size:26px; border:3px solid var(--b); }
.an-av.is-black { background:#000 !important; color:#111; box-shadow:inset 0 0 0 1px #222; }
.an-av.is-inv { filter:invert(1) contrast(1.4); }
.an-av.is-jit { animation:an-jit .22s steps(2) infinite; }
@keyframes an-jit { 0% { transform:translate(var(--j,1px),0); } 50% { transform:translate(calc(var(--j,1px) * -1),var(--j,1px)); } 100% { transform:translate(0,calc(var(--j,1px) * -1)); } }
.an-pt { font-weight:700; font-size:13px; }
.an-pb { color:var(--t2); font-size:11.5px; }
.an-pa { display:flex; gap:14px; color:var(--t2); font-size:11px; margin-top:2px; }
.an-pimg { border-radius:8px; overflow:hidden; background:#000; max-height:120px; }
.an-pimg img { width:100%; height:100%; object-fit:cover; display:block; filter:grayscale(.7) contrast(1.1); }
.an-row { display:flex; gap:10px; align-items:center; padding:7px 12px; border-bottom:1px solid var(--r2); }
.an-post.is-anom { border-color:rgba(255,255,255,.22); }
.an-post.is-corrupted { border-color:#a33; animation:an-jit .6s steps(2) infinite; --j:1.5px; }
.an-post.is-whisper { opacity:.85; }
.an-pb.is-whisper { font-size:8px; letter-spacing:.2em; opacity:.45; }
.an-post.is-countdown .an-cd { font:800 34px var(--font-mono,monospace); color:#e33; text-align:center; letter-spacing:.1em; }
.an-post.is-mirror { transform:scaleX(-1); }
.an-post.is-broken { transform:rotate(-1.2deg) skewX(-3deg); border-style:dashed; }
.an-post.is-tappable { cursor:pointer; outline:2px dashed var(--a); }
.an-profile { display:flex; flex-direction:column; }
.an-cover { height:96px; background:linear-gradient(135deg,var(--r2),var(--a)); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center; }
.an-cover.is-dark { background:#000; }
.an-cover-img { position:absolute; inset:0; width:100%; height:100%; image-rendering:pixelated; }
.an-cover-text { position:relative; z-index:2; font:800 22px var(--font-mono,monospace); letter-spacing:.15em; opacity:0; text-shadow:0 0 8px currentColor; text-align:center; padding:0 8px; }
.an-cover-text.on { opacity:1; }
.an-pavrow { display:flex; gap:10px; align-items:flex-end; padding:0 12px; margin-top:-26px; }
.an-pavrow > div:last-child { padding-bottom:4px; }
.an-face { width:100%; height:100%; image-rendering:pixelated; display:block; }
.an-stats { display:flex; justify-content:space-around; padding:12px; text-align:center; }
.an-stats b { font-size:14px; display:block; }
.an-pbtns { display:flex; gap:8px; padding:0 12px; }
.an-pbtns span { flex:1; text-align:center; padding:8px; border-radius:var(--rad); background:var(--a); font-weight:700; font-size:12px; }
.an-pbtns span + span { background:var(--r2); }

/* слои событий */
.an-ov { position:absolute; inset:0; pointer-events:none; z-index:10; }
.an-layer { position:absolute; inset:0; pointer-events:auto; }
.an-app.is-frozen { filter:grayscale(.6) brightness(.8); }
.an-gl { pointer-events:none; }
.an-clone { pointer-events:none; }
.an-rgb i { position:absolute; inset:0; mix-blend-mode:screen; display:block; }
.an-rgb i:first-child { background:rgba(255,0,60,.22); }
.an-rgb i:last-child { background:rgba(0,200,255,.22); }
.an-noise { background:repeating-linear-gradient(0deg,rgba(255,255,255,.12) 0 1px,transparent 1px 3px); mix-blend-mode:overlay; opacity:.8; }
.an-tf { display:flex; align-items:center; justify-content:center; }
.an-tf-word { position:absolute; font-weight:800; letter-spacing:.06em; text-align:center; max-width:90%; text-shadow:0 0 14px currentColor; }
.an-tf-word.is-glitch { text-shadow:2px 0 #f0f,-2px 0 #0ff; animation:an-jit .15s steps(2) infinite; --j:2px; }
.an-tf-word.is-shake { animation:an-jit .1s steps(2) infinite; --j:3px; }
.an-tf-word.is-typewriter { font-family:var(--font-mono,monospace); }
.an-ss { background:#000; overflow:hidden; }
.an-ss canvas { position:absolute; inset:0; width:100%; height:100%; image-rendering:pixelated; }
.an-ss-shade { position:absolute; inset:0; }
.an-caption { position:absolute; left:0; right:0; bottom:18%; text-align:center; font:700 15px var(--font-mono,monospace); letter-spacing:.2em; color:#d33; text-shadow:0 0 10px #a00; padding:0 10px; }
.an-scene { background:#000; overflow:hidden; }
.an-scene-img { position:absolute; inset:0; transform-origin:50% 0; animation:an-sway var(--swayp,3000ms) ease-in-out infinite alternate; }
.an-scene-img canvas, .an-scene-img img { width:100%; height:100%; object-fit:cover; image-rendering:pixelated; display:block; }
@keyframes an-sway { from { transform:rotate(calc(var(--sway,0deg) * -1)); } to { transform:rotate(var(--sway,0deg)); } }
.an-vig { position:absolute; inset:0; background:radial-gradient(circle at 50% 45%,transparent 30%,rgba(0,0,0,var(--v,.6)) 100%); }
.an-eq { display:flex; align-items:flex-end; justify-content:center; gap:4px; padding-bottom:30px; background:rgba(0,0,0,.35); }
.an-eq i { width:7px; background:var(--a); display:block; animation:an-eq .5s ease-in-out infinite alternate; height:20%; }
.an-eq i:nth-child(odd) { animation-duration:.35s; } .an-eq i:nth-child(3n) { animation-duration:.7s; }
@keyframes an-eq { to { height:70%; } }
.an-black { background:#000; }
.an-crash { background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; pointer-events:auto; }
.an-dlg { width:78%; background:#2b2b30; border-radius:14px; padding:16px; text-align:center; display:flex; flex-direction:column; gap:8px; color:#fff; }
.an-dlg p { margin:0; color:#bbb; font-size:12px; }
.an-dlg-btn { color:#8ab4f8; font-weight:700; cursor:pointer; padding:6px; }
.an-reload { background:var(--b); display:flex; align-items:center; justify-content:center; font-size:26px; color:var(--a); }
.an-call { background:linear-gradient(180deg,#101018,#000); display:flex; flex-direction:column; justify-content:space-between; align-items:center; padding:60px 0 50px; pointer-events:auto; }
.an-call-top { display:flex; flex-direction:column; align-items:center; gap:8px; }
.an-call-av { width:92px; height:92px; border-radius:50%; background:#000; border:2px solid #333; display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:36px; color:#555; }
.an-call-av img { width:100%; height:100%; object-fit:cover; image-rendering:pixelated; }
.an-call-av.ring { animation:an-ring 1.2s ease-out infinite; }
@keyframes an-ring { 0% { box-shadow:0 0 0 0 rgba(255,255,255,.35); } 100% { box-shadow:0 0 0 26px transparent; } }
.an-call-name { font-size:22px; font-weight:600; }
.an-call-sub { color:#999; font-size:13px; }
.an-call-btns { display:flex; gap:56px; }
.an-cb { width:58px; height:58px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-size:20px; cursor:pointer; }
.an-cb.is-no { background:#d33; } .an-cb.is-yes { background:#2c4; }
.an-static { position:absolute; inset:0; background:repeating-radial-gradient(circle at 30% 40%,rgba(255,255,255,.05) 0 2px,transparent 2px 5px); opacity:.5; animation:an-jit .2s steps(2) infinite; pointer-events:none; }
.an-mg { pointer-events:auto; }
.an-mg-intro { background:rgba(0,0,0,.85); display:flex; align-items:center; justify-content:center; font:700 17px var(--font-mono,monospace); text-align:center; padding:20px; color:#d33; letter-spacing:.1em; }
.an-fig { position:absolute; cursor:pointer; }
.an-fig svg, .an-fig img { width:100%; height:100%; display:block; object-fit:contain; }
.an-fig.is-found { opacity:0 !important; transition:opacity .2s; pointer-events:none; }
.an-mg-hud { position:absolute; left:0; right:0; top:0; padding:8px 12px; display:flex; gap:12px; align-items:center; flex-wrap:wrap; font:700 14px var(--font-mono,monospace); color:#eee; background:linear-gradient(#000a,transparent); }
.an-mg-bar { flex-basis:100%; height:4px; background:#333; border-radius:2px; overflow:hidden; }
.an-mg-bar i { display:block; height:100%; background:#d33; }
.an-mg-end { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.8); font:800 20px var(--font-mono,monospace); color:#eee; text-align:center; padding:20px; letter-spacing:.1em; }
.an-mg-end.is-fail { color:#d33; }
/* захват темы */
.an-screen.is-takeover { transition:background .25s; }

/* переключатели не должны сжиматься во flex-рядах */
.an-root .toggle { flex:none; }
