/* Layout: a night-time investigation board. Polaroids pinned in loose grids, a VHS-strip timeline you swipe, index-card theories, sticky-note questions. Single dark look by choice. */
:root{
  --board:#15181e;        /* board at night */
  --board-2:#1c2028;
  --line:#2c323d;
  --chalk:#e4e6eb;        /* text on the board */
  --muted:#939bab;
  --paper:#f2eee5;        /* polaroid & index card */
  --ink:#24252c;          /* handwriting on paper */
  --ink-soft:#5d5f68;
  --red:#d93a43;          /* the game's red slash, pins, string */
  --amber:#b9c8d8;        /* VCR digits */
  --sticky:#cdd6df;
  --tape:rgba(236,226,196,.55);
  --logo:"Rubik Glitch","Fira Sans Extra Condensed","Arial Narrow",sans-serif;
  --display:"Fira Sans Extra Condensed","Arial Narrow",Arial,sans-serif;
  --body:"PT Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"PT Mono",ui-monospace,Menlo,Consolas,monospace;
  --hand:"Caveat","Segoe Print","Bradley Hand",cursive;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{background:var(--board);-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
@supports(overflow:clip){html{overflow-x:clip}}
a,button,[role=button],summary,label{-webkit-tap-highlight-color:transparent}
body{margin:0;color:var(--chalk);font:16px/1.5 var(--body);
  background:
    radial-gradient(1200px 600px at 15% -10%, #232835 0%, transparent 60%),
    radial-gradient(900px 500px at 110% 30%, #201c24 0%, transparent 55%),
    var(--board);
  padding-left:max(26px,calc(env(safe-area-inset-left,0px) + 22px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:22px 56px}
.wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:44px;position:relative;z-index:1}
.hero-bg{position:absolute;top:0;left:0;right:0;height:min(980px,120vh);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(21,24,30,.55) 0%,rgba(21,24,30,.35) 30%,rgba(21,24,30,.82) 70%,var(--board) 100%),url("img/bg_tower.webp") center 18%/cover no-repeat}
@media(min-width:900px){.hero-bg{background:radial-gradient(ellipse at 72% 18%,#232a3a 0%,#1a1f2a 35%,var(--board) 70%)}.hero-bg::before{content:"";position:absolute;top:0;right:max(0px,calc((100vw - 1240px)/2 + 40px));height:min(980px,120vh);aspect-ratio:3/4;background:linear-gradient(180deg,rgba(21,24,30,.35) 0%,rgba(21,24,30,.15) 30%,rgba(21,24,30,.6) 80%),url("img/bg_tower.webp") center top/cover no-repeat;transition:opacity .6s;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%,#000 80%,transparent 100%),linear-gradient(180deg,#000 0,#000 55%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 28%,#000 80%,transparent 100%),linear-gradient(180deg,#000 0,#000 55%,transparent 100%);mask-composite:intersect}body.tab-ts1 .hero-bg::before{opacity:0}}

#tab-ts1 .mx,#tab-ts1 .curse,#tab-ts1 .cyc,#tab-ts1 .dossier,#tab-ts1 .mx-bar{background:rgba(18,20,26,.58);-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);-webkit-backdrop-filter:blur(6px) saturate(1.1);border-color:rgba(255,255,255,.12)}
#tab-ts1 .lead,#tab-ts1 .src,#tab-ts1 h3.sub{text-shadow:0 1px 6px rgba(0,0,0,.85)}
.hero-bg::after{content:"";position:absolute;inset:0;opacity:0;transition:opacity .6s;background:linear-gradient(180deg,rgba(21,24,30,.35) 0%,rgba(21,24,30,.2) 30%,rgba(21,24,30,.8) 70%,var(--board) 100%),url("img/bg_mirror.webp") center 30%/cover no-repeat}
@media(min-width:900px){body.tab-ts1 .hero-bg{background:radial-gradient(ellipse at 75% 20%,#17201f 0%,var(--board) 65%)}.hero-bg::after{inset:auto;top:10px;right:max(0px,calc((100vw - 1240px)/2 - 60px));width:min(64vw,920px);aspect-ratio:1080/660;background:url("img/bg_mirror_wide.webp") center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%,#000 62%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 92%,transparent 100%),linear-gradient(180deg,transparent 0,#000 10%,#000 62%,transparent 100%);mask-composite:intersect}}
body.tab-ts1 .hero-bg::after{opacity:1}
body.tab-ts1 .vcr{visibility:hidden}
.wpairs{display:grid;gap:22px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));margin:16px 0 6px}
.wpair{display:grid;grid-template-columns:1fr 46px 1fr;align-items:center}
.wpair figure{margin:0;background:#fff;padding:6px 6px 8px;box-shadow:0 4px 10px rgba(0,0,0,.3);transform:rotate(-1.5deg)}
.wpair figure:last-child{transform:rotate(1.8deg)}
.wpair img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.wpair figcaption{font:400 12px/1.25 "Lora",Georgia,serif;color:#4a4238;text-align:center;padding:6px 2px 2px}
.warr{width:46px;height:32px}
.sec-tapes{position:relative;isolation:isolate}
.sec-tapes::before{content:"";position:absolute;inset:-40px -16px;z-index:-1;pointer-events:none;border-radius:12px;
  background:linear-gradient(180deg,var(--board) 0%,rgba(21,24,30,.82) 18%,rgba(21,24,30,.86) 82%,var(--board) 100%),url("img/bg_tapes.webp") center/cover no-repeat;opacity:.9}

/* header */
header{display:grid;gap:18px;grid-template-columns:1fr;align-items:end;border-bottom:1px dashed var(--line);padding-bottom:22px}
@media(min-width:760px){header{grid-template-columns:1fr auto}}
.case{font:13px/1 var(--mono);color:var(--amber);letter-spacing:.14em;text-transform:uppercase;margin-bottom:10px}
h1{margin:0;font:400 clamp(36px,8.4vw,72px)/1 var(--logo);text-transform:uppercase;letter-spacing:.02em;text-wrap:balance;color:#dfe6ee;text-shadow:0 0 18px rgba(185,200,216,.35)}
h1 span{color:var(--red);text-shadow:0 0 16px rgba(217,58,67,.35)}
.status{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:12px;color:var(--muted);font-size:14px}
.status b{color:var(--chalk)}
.vcr{justify-self:start;background:#0b0c0f;border:1px solid #2a2d33;border-radius:6px;padding:10px 16px 8px;display:flex;flex-direction:column;gap:4px;box-shadow:inset 0 0 18px rgba(0,0,0,.8)}
@media(min-width:760px){.vcr{justify-self:end}}
.vcr-time{font:700 44px/1 var(--mono);color:var(--amber);letter-spacing:.06em;text-shadow:0 0 12px rgba(185,200,216,.5);font-variant-numeric:tabular-nums}
.vcr-time i{font-style:normal;animation:blink 1.6s steps(1) infinite}
@keyframes blink{50%{opacity:.15}}
.vcr-lbl{font:11px/1.2 var(--mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}

/* section heads */
h2{margin:0 0 18px;font:700 22px/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:12px}
h2::before{content:"";width:26px;height:3px;background:var(--red);transform:skewX(-30deg);flex:none}
.lead{margin:-8px 0 18px;color:var(--muted);max-width:65ch}

/* polaroids */
.pins{display:grid;gap:26px 18px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
.item{display:flex;flex-direction:column;gap:10px;min-width:0}
.pol{--r:-1.6deg;position:relative;margin:0;background:var(--paper);padding:9px 9px 6px;border-radius:2px;
  box-shadow:0 10px 22px rgba(0,0,0,.45),0 2px 4px rgba(0,0,0,.4);transform:rotate(var(--r));transition:transform .2s}
.item:nth-child(3n+2) .pol{--r:1.4deg}
.item:nth-child(3n) .pol{--r:-.6deg}
.item:nth-child(4n+1) .pol{--r:2deg}
.pol:hover{transform:rotate(0) scale(1.03)}
.pol::before{content:"";position:absolute;top:-10px;left:50%;width:62px;height:20px;margin-left:-31px;background:var(--tape);transform:rotate(-3deg);box-shadow:0 1px 2px rgba(0,0,0,.15)}
.pol img,.pol .blank{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#2a2e36}
.pol.wide img{aspect-ratio:4/3}
.pol .blank.fam{background:#08090c}
.pol .blank{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#2a2e36 0 10px,#262a31 10px 20px);color:#5d6573;font:700 64px/1 var(--hand)}
.pol figcaption{font:700 26px/1.05 var(--hand);color:var(--ink);text-align:center;padding:8px 2px 2px;text-wrap:balance}
.stamp.s2{top:auto;bottom:22%;right:auto;left:10px;transform:rotate(-7deg)}
.stamp{position:absolute;top:18px;right:12px;font:700 12px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;padding:5px 7px;border:2px solid currentColor;border-radius:3px;transform:rotate(8deg);background:rgba(242,238,229,.08);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}
.stamp.dead{color:var(--red)}
.stamp.q{color:var(--amber)}
.stamp.threat{color:#ff6b6b}
.note{margin:0;font-size:14px;line-height:1.45;color:#c9cdd6}
.note b{color:var(--chalk)}
.ep{font:12px/1 var(--mono);color:var(--amber);letter-spacing:.06em}

/* timeline strip */
.strip{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:16px 4px 22px;margin:0 -4px;
  background:linear-gradient(#0e1014,#0e1014) top/100% 10px no-repeat,linear-gradient(#0e1014,#0e1014) bottom/100% 10px no-repeat;
  scrollbar-color:#3a404b transparent}
.strip::before,.strip::after{content:"";flex:0 0 1px}
.ev{flex:0 0 232px;scroll-snap-align:start;background:var(--board-2);border:1px solid var(--line);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:8px;position:relative}
.ev.hot{border-color:#8b3640;border-color:color-mix(in srgb,var(--red) 55%,var(--line))}
.ev .when{font:700 15px/1.2 var(--mono);color:var(--amber);font-variant-numeric:tabular-nums}
.ev img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;border:4px solid var(--paper);border-bottom-width:10px}
.ev p{margin:0;font-size:14px;line-height:1.42;color:#cdd1d9}
.ev .n{position:absolute;top:10px;right:12px;font:11px/1 var(--mono);color:var(--muted)}
.hint{font:600 24px/1 var(--hand);color:var(--muted);margin-top:-6px}
.tl-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}
.tl-bar .hint{margin:0}
.tl-note{margin:0 0 8px;font-size:13.5px;color:var(--muted)}
.ep-card{flex:0 0 190px;scroll-snap-align:start;border:1px dashed var(--amber);border-radius:6px;padding:14px 12px;display:flex;flex-direction:column;gap:6px;background:rgba(185,200,216,.07);background:color-mix(in srgb,var(--amber) 7%,transparent)}
.ep-card .num{font:700 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.ep-card h3{margin:0;font:700 29px/1.05 var(--hand);color:var(--sticky)}
.ep-card p{margin:0;font:italic 13.5px/1.4 var(--body);color:#cdd1d9}
.ep-card.next{border-color:var(--line);background:none}
.ep-card.next h3{color:var(--muted)}
.egg{all:unset;cursor:pointer;display:inline-block;margin-top:6px;font:700 15px/1 var(--hand);letter-spacing:.06em;color:rgba(190,60,60,.16);transform:rotate(-5deg);transition:color .3s}
.egg:hover,.egg:focus-visible{color:rgba(220,70,70,.55)}
.egg:focus-visible{outline:1px dashed var(--red);outline-offset:3px}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;background:var(--paper);color:var(--ink);font:600 14px/1.35 var(--body);padding:12px 16px;border-radius:4px;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:min(92vw,420px);text-align:center}
.toast b{display:block;font:700 26px/1 var(--hand);color:var(--red);margin-bottom:4px}
.egg-count{font:13px/1.3 var(--mono);color:var(--muted);margin:-6px 0 14px}
.egg-count b{color:var(--amber)}

/* strings */
.cork-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:14px}
.cork-hint{margin:0;flex:1 1 260px;font-size:14px;color:var(--muted)}
.cork-clear{font:600 13px/1 var(--body);color:var(--muted);background:none;border:1px solid var(--line);border-radius:999px;padding:8px 12px;cursor:pointer}
.cork{position:relative;aspect-ratio:16/10;border-radius:6px;overflow:hidden;box-shadow:inset 0 0 0 10px #3a2a1c,inset 0 0 40px 18px rgba(0,0,0,.55),0 18px 40px rgba(0,0,0,.45);
  background:radial-gradient(ellipse at 30% 10%,rgba(255,214,150,.22),transparent 55%),radial-gradient(#00000022 1px,transparent 1.4px) 0 0/7px 7px,radial-gradient(#ffffff14 1px,transparent 1.4px) 3px 4px/9px 9px,#8a6038}
@media(max-width:700px){.cork{aspect-ratio:3/5.6}}
.cork-svg{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
.cork-svg path.s{fill:none;stroke:#c81e2b;stroke-width:2.4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 1.5px rgba(0,0,0,.5));stroke-linecap:round}
.cork-svg path.s.guess{stroke-dasharray:6 5}
.cork-svg path.s.mine{stroke:#e8ecf2}
.cork-svg path.s.on{stroke-width:4}
.cork-svg path.hit{fill:none;stroke:transparent;stroke-width:18;vector-effect:non-scaling-stroke;pointer-events:stroke;cursor:pointer}
.cnode{position:absolute;z-index:1;width:10%;transform:translate(-50%,0) rotate(var(--r,0deg));background:var(--paper);padding:6px 6px 5px;box-shadow:0 6px 12px rgba(0,0,0,.45);border-radius:1px;cursor:pointer;border:0;font:inherit;text-align:center}
@media(max-width:700px){.cnode{width:20%;padding:4px 4px 3px}}
.cnode img,.cnode .ph{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#2a2e36}
.cnode .ph{display:grid;place-items:center;color:#5d6573;font:700 26px/1 var(--hand)}
.cnode span{display:block;font:700 clamp(12px,1.35vw,17px)/1.05 var(--hand);color:var(--ink);padding-top:4px;text-wrap:balance}
@media(max-width:700px){.cnode span{font-size:12.5px}}
.cnode::before{content:"";position:absolute;top:-5px;left:50%;width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#ff7a7a,#b3121e 70%);box-shadow:0 2px 3px rgba(0,0,0,.5);z-index:3}
.cnode.sel{outline:3px solid #e8ecf2;outline-offset:3px}
.cnode:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
.cork-note{margin-top:14px;background:var(--paper);color:var(--ink);border-radius:3px;padding:14px 16px;box-shadow:0 8px 18px rgba(0,0,0,.4);max-width:560px;position:relative}
.cork-note h4{margin:0 0 6px;font:700 26px/1.05 var(--hand);color:#8c1620}
.cork-note p{margin:0;font-size:15px;line-height:1.45}
.cork-note .tagv{display:inline-block;margin-left:6px;font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#8c1620;border:1px solid currentColor;border-radius:3px;padding:3px 5px;vertical-align:middle}
.cork-note textarea{width:100%;min-height:70px;margin-top:6px;font:15px/1.4 var(--body);border:1px solid #c9c2b4;border-radius:3px;padding:8px;background:#fffdf8;color:var(--ink);box-sizing:border-box}
.cork-note .row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.cork-note button{font:600 13px/1 var(--body);border-radius:999px;padding:8px 12px;cursor:pointer;border:1px solid #b9b2a4;background:#fff;color:var(--ink)}
.cork-note button.del{color:#8c1620;border-color:#d9a3a8}
.cork-note .x{position:absolute;top:8px;right:8px;border:0;background:none;font-size:18px;padding:4px 8px}
.chains{display:flex;flex-direction:column;gap:22px}
.kn{display:contents}
.chain .thread{flex:0 0 28px}
@media(max-width:700px){#tab-threads .chain{flex-direction:column;align-items:flex-start;gap:0}#tab-threads .chain h3{flex:none;margin-bottom:10px;align-self:flex-start;text-align:left}#tab-threads .chain .thread{flex:0 0 16px;width:2px;height:16px;margin-left:24px}#tab-threads .knot::before{left:25px}}
.kep{display:block;margin-top:3px;font:11px/1 var(--mono);font-style:normal;color:#8a8577}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:8px 0}
.chain h3{flex:0 0 100%;margin:0 0 4px;font:700 31px/1 var(--hand);color:var(--sticky)}
.knot{background:var(--paper);color:var(--ink);font:13.5px/1.25 var(--body);padding:7px 10px;border-radius:2px;box-shadow:0 3px 8px rgba(0,0,0,.35);position:relative}
.knot::before{content:"";position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--red);box-shadow:0 1px 2px rgba(0,0,0,.5)}
.thread{width:28px;height:2px;background:var(--red);opacity:.85}

/* theories: index cards */
.cards{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{background:var(--paper);color:var(--ink);border-radius:3px;padding:16px 16px 14px;position:relative;
  background-image:linear-gradient(transparent 31px,rgba(217,58,67,.35) 31px,rgba(217,58,67,.35) 32px,transparent 32px),repeating-linear-gradient(transparent 0 23px,rgba(60,90,160,.13) 23px 24px);
  background-position:0 0,0 33px;box-shadow:0 8px 18px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:6px;min-width:0}
.card::after{content:"";position:absolute;top:-6px;right:18px;width:13px;height:13px;border-radius:50%;background:var(--muted);box-shadow:0 2px 3px rgba(0,0,0,.5)}
.card.main::after{background:var(--red)}
.card .tag{font:12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);height:16px}
.card h3{margin:0;font:700 29px/1.08 var(--hand);color:var(--ink)}
.card p{margin:0;font-size:14px;line-height:1.5}
.card .pro{color:#1f6a43}.card .con{color:#a3262e}
.card.closed{opacity:.55}
.card.main{outline:2px solid var(--red);outline-offset:3px}
#tab-theories .card .th-head{all:unset;box-sizing:border-box;display:block;width:100%;cursor:pointer;position:relative;padding-right:30px}
#tab-theories .card .th-head:focus-visible{outline:2px dashed var(--red);outline-offset:4px}
#tab-theories .card .th-head::after{content:"";position:absolute;right:4px;top:50%;width:10px;height:10px;border-right:2.5px solid var(--ink-soft);border-bottom:2.5px solid var(--ink-soft);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
#tab-theories .card.open .th-head::after{transform:translateY(-30%) rotate(-135deg)}
#tab-theories .card .th-body{display:none;margin-top:10px}
#tab-theories .card.open .th-body{display:grid;gap:8px}
#tab-theories .card .th-more{display:block;margin-top:6px;font:12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft)}
#tab-theories .card.open .th-more{display:none}
#tab-theories .card.big:not(.open){grid-column:auto}
.stamp-ok{display:inline-block;margin-right:6px;font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#1f6a43;border:1.5px solid #1f6a43;border-radius:3px;padding:3px 5px;transform:rotate(-2deg)}
.card.big{grid-column:1/-1}
.card.big p{max-width:75ch}
.card.big ol{margin:0;padding-left:20px;font-size:14px;line-height:1.5;max-width:75ch}
.card.big ol li{margin:4px 0}
.card.big ol b{font-weight:600}
.card.big q{font-style:italic}
.card:not(.big) .tproof{grid-template-columns:repeat(2,1fr)}
.tproof{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 6px}
.tproof figure{margin:0;background:#fff;padding:6px 6px 8px;box-shadow:0 4px 10px rgba(0,0,0,.25);transform:rotate(var(--r,-1.5deg))}
.tproof figure:nth-child(2){--r:1.5deg}.tproof figure:nth-child(3){--r:-1deg}.tproof figure:nth-child(4){--r:2deg}
.tproof img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#2a2e36}
.tproof figcaption{font:400 12px/1.25 "Lora",Georgia,serif;color:#4a4238;text-align:center;padding:6px 2px 2px}
.tproof figcaption i{font-style:italic}
.tproof.tp-old{grid-template-columns:minmax(0,440px) minmax(0,200px);align-items:start}
@media(max-width:620px){.tproof{grid-template-columns:repeat(2,1fr)}.tproof.tp-old{grid-template-columns:1fr;max-width:340px}.tproof.tp-old figure:nth-child(2){max-width:190px}}


/* questions: stickies */
.stickies{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));list-style:none;margin:0;padding:0}
.stickies li{background:var(--sticky);color:#1d2530;font:600 25px/1.12 var(--hand);padding:16px 14px 18px;min-height:118px;box-shadow:0 8px 14px rgba(0,0,0,.4);transform:rotate(-1.2deg)}
.stickies li:nth-child(even){transform:rotate(1.1deg);background:#bfcad6}
.stickies li:nth-child(5n){background:#d8dee5}

.tc1{background:var(--board-2);border:1px dashed var(--line);border-radius:6px;padding:14px 16px;max-width:70ch;color:#c9cdd6}
/* TC1 dossier */
.tc1-wrap{display:flex;flex-direction:column;gap:34px}
.past-block{margin-top:56px}
.qmark{position:absolute;left:9px;right:9px;top:9px;aspect-ratio:4/5;display:grid;place-items:center;padding-right:.3em;box-sizing:border-box;font:700 140px/1 var(--hand);color:var(--red);opacity:.6;text-shadow:0 0 18px rgba(0,0,0,.5);pointer-events:none}
h3.sub.plain{font:700 14px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:12px;margin:6px 0 22px}
h3.sub.plain::after{content:"";flex:1;border-top:1px dashed rgba(255,255,255,.18)}
h3.sub{margin:0 0 14px;font:700 34px/1 var(--hand);color:var(--sticky)}
.src{font:12px/1.4 var(--mono);color:var(--muted)}
.pol.wide img{aspect-ratio:4/3}
.era{display:inline-block;font:12px/1 var(--mono);color:var(--amber);letter-spacing:.05em;margin-right:6px}
.cycles{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.pol.swap{cursor:pointer}.swap-w{position:relative;display:block}.swap-w .alt{position:absolute;inset:0;opacity:0;transition:opacity .35s}
.item:hover .swap-w .alt,.pol.swap:focus-visible .swap-w .alt,.pol.swap.on .swap-w .alt{opacity:1}
.swap-hint{display:block;margin-top:4px;font:12px/1.3 var(--mono);font-style:normal;color:var(--muted)}
.pins7{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
.cyc8{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}
.cyc8 .yr{font-size:24px}
.cyc{background:var(--board-2);border:1px solid var(--line);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:8px}
.cyc.q{border-style:dashed}
.cyc.now{border-color:#943741;border-color:color-mix(in srgb,var(--red) 60%,var(--line))}
.cyc .yr{font:700 30px/1 var(--display);color:var(--chalk);font-variant-numeric:tabular-nums}
.cyc.q .yr{color:var(--muted)}
.cyc img,.cyc .blank{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;display:grid;place-items:center;background:repeating-linear-gradient(135deg,#2a2e36 0 10px,#262a31 10px 20px);color:#5d6573;font:700 40px/1 var(--hand)}
.cyc p{margin:0;font-size:13.5px;color:#cdd1d9;line-height:1.4}
.curses{display:flex;flex-direction:column;gap:16px}
.curse{display:grid;grid-template-columns:1fr;gap:12px;background:var(--board-2);border:1px solid var(--line);border-radius:6px;padding:14px}
@media(min-width:760px){.curse{grid-template-columns:150px 1fr 40px 150px 1fr;align-items:center}}
.curse img,.curse .blank{width:100%;max-width:150px;aspect-ratio:4/5;object-fit:cover;border:5px solid var(--paper);border-bottom-width:14px;border-radius:2px;display:grid;place-items:center;background:#2a2e36;color:#5d6573;font:700 44px/1 var(--hand)}
.curse .who{font:700 29px/1 var(--hand);color:var(--sticky);margin-bottom:6px}
.curse blockquote{margin:0;font:italic 14px/1.45 var(--body);color:#d6d9e0;border-left:2px solid var(--red);padding-left:10px}
.curse .arrow{font:700 30px/1 var(--display);color:var(--red);text-align:center}
.curse .tc2{font-size:14px;color:#cdd1d9;line-height:1.45}
.curse .tc2 b{color:var(--chalk)}
.par{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.par div{background:var(--paper);color:var(--ink);padding:12px 14px;border-radius:2px;box-shadow:0 6px 14px rgba(0,0,0,.4);font-size:14px;line-height:1.4}
.par b{display:block;font:700 26px/1.05 var(--hand);margin-bottom:4px}
/* match explorer */
.mx-bar{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip-btn{font:13px/1 var(--body);color:var(--chalk);background:var(--board-2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;cursor:pointer;transition:background .15s,border-color .15s}
.chip-btn:hover{border-color:var(--muted)}
.chip-btn[aria-pressed="true"]{background:var(--red);border-color:var(--red);color:#fff}
.chip-btn.s[aria-pressed="true"]{background:var(--chalk);border-color:var(--chalk);color:var(--board)}
.chip-btn:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.mx-count{font:13px/1.3 var(--mono);color:var(--muted)}
.mx-count b{color:var(--amber)}
.mx-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr))}
.mx-more,.mx-note,#tab-ts1 .mx .lvl,#mx-levels{display:none!important}
.mx{cursor:default;background:var(--board-2);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px;cursor:pointer;text-align:left;color:inherit;font:inherit;width:100%;transition:border-color .15s}
.mx:hover{border-color:#47505f}
.mx[aria-expanded="true"]{border-color:var(--amber)}
.mx-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.mx-title{font:700 26px/1.05 var(--hand);color:var(--sticky)}
.lvl{font:11px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:4px 7px;border-radius:3px;border:1px solid currentColor;white-space:nowrap}
.lvl.canon{color:#6fd39a}.lvl.strong{color:var(--amber)}.lvl.guess{color:#a7b0c0}
.mx-sides{display:grid;grid-template-columns:1fr 26px 1fr;gap:8px;align-items:start}
.mx-side{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0}
.mx-side .lab{align-self:center}
.mx-side p{text-align:center}
.mx-side .lab{font:11px/1 var(--mono);color:var(--muted);letter-spacing:.08em}
.mx-side img,.mx-side .ph{width:min(100%,190px);aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 22%;border-radius:4px;border:1px solid var(--line);background:#2a2e36}
.mx-side .ph{display:grid;place-items:center;color:#5d6573;font:700 28px/1 var(--hand)}
.mx-side p{margin:0;font-size:13.5px;line-height:1.4;color:#d0d4dc}
.mx-arrow{align-self:center;text-align:center;font:700 22px/1 var(--display);color:var(--red)}
.mx-note{display:none;font-size:14px;line-height:1.45;color:var(--chalk);border-top:1px dashed var(--line);padding-top:10px}
.mx[aria-expanded="true"] .mx-note{display:block}
.mx-more{font:12px/1 var(--mono);color:var(--muted)}
.mx[aria-expanded="true"] .mx-more{display:none}
.mx-empty{color:var(--muted);font-size:14px}
details.retell{background:var(--board-2);border:1px solid var(--line);border-radius:8px;padding:0 14px}
details.retell+details.retell{margin-top:10px}
details.retell summary{cursor:pointer;padding:14px 0;font:700 29px/1 var(--hand);color:var(--sticky);list-style:none;display:flex;justify-content:space-between;align-items:center}
details.retell summary::-webkit-details-marker{display:none}
details.retell summary::after{content:"+";font:700 22px/1 var(--display);color:var(--red)}
details.retell[open] summary::after{content:"–"}
details.retell>div{padding-bottom:16px}
.dossier{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:760px){.dossier{grid-template-columns:220px 1fr}}
.dossier ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:7px;max-width:70ch;color:#d0d4dc;font-size:14.5px}
.dossier li::marker{color:var(--red)}
.thumbs{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 14px}
.thumbs figure{margin:0;flex:0 0 120px;display:flex;flex-direction:column;gap:6px}
.thumbs img{width:120px;aspect-ratio:4/5;object-fit:cover;border:4px solid var(--paper);border-bottom-width:10px;border-radius:2px}
.thumbs figcaption{font:700 22px/1.05 var(--hand);color:var(--sticky);text-align:center}
.spoil{background:#36242c;background:color-mix(in srgb,var(--red) 14%,var(--board-2));border:1px solid #833640;border:1px solid color-mix(in srgb,var(--red) 50%,var(--line));border-radius:6px;padding:12px 14px;font-size:14.5px;color:var(--chalk);max-width:80ch}
.spoil b{color:#ff8a8f}
a{color:var(--amber)}
.tag a{color:inherit}

[hidden]{display:none!important}
/* episode gating */
.epbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:rgba(21,24,30,.92);background:color-mix(in srgb,var(--board) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:-28px}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:21;background:var(--board)}
.tabs{flex:0 0 100%;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:4px -4px -2px;padding:6px 4px 2px;border-top:1px solid var(--line)}
.tabs::-webkit-scrollbar{display:none}
@media(max-width:820px){.tabs{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}}
.tab{flex:0 0 auto;font:600 14px/1 var(--display);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:none;border:1px solid transparent;border-radius:999px;padding:9px 13px;cursor:pointer}
.tab:hover{color:var(--chalk)}
.tab[aria-selected="true"]{color:#11161d;background:var(--amber);border-color:var(--amber)}
.tab:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
section[data-tab][hidden]{display:none}
.epbar .lbl{font:13px/1.2 var(--body);color:var(--muted)}
.epbar .lbl b{color:var(--chalk)}
@media(max-width:600px){.epbar .lbl:last-child{display:none}.epbar{gap:6px 10px}}
#ep-btns{display:flex;gap:5px;overflow-x:auto;max-width:100%;scrollbar-width:thin;padding:2px;scroll-behavior:smooth}
#ep-note{font:12.5px/1.2 var(--body);color:var(--muted);font-style:italic}
.ep-btn{flex:0 0 auto;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--board-2);color:var(--chalk);font:700 15px/1 var(--mono);cursor:pointer}
.ep-btn[aria-pressed="true"]{background:var(--amber);border-color:var(--amber);color:#11161d}
.ep-btn:focus-visible,.gate-btn:focus-visible,.person:focus-visible,.pm-close:focus-visible,.pm-reveal:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
#ep-name{font:700 24px/1 var(--hand);color:var(--sticky)}
.locked{position:relative}
.locked>*{filter:blur(9px);pointer-events:none;user-select:none}
.locked::after{content:attr(data-lock);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:12px/1 var(--mono);letter-spacing:.05em;color:var(--chalk);background:rgba(13,15,20,.85);border:1px solid var(--line);border-radius:999px;padding:7px 10px;white-space:nowrap;pointer-events:none;z-index:2}
.stickies li.locked::after{color:var(--chalk)}
/* версии по сериям: data-from — появляется с серии N, data-until — исчезает с серии N */
.off{display:none!important}
[data-egg-card] .egg-open,[data-egg-card].found .egg-hint{display:none}
[data-egg-card].found .egg-open{display:block}
.pm-egg{display:block;margin:14px 0 0 auto;font-size:18px}
.egg-me{font-style:normal;color:var(--amber);font-size:12px}
.stickies li.solved{color:#5b6573}
.stickies li.solved>span:not(.solved-tag){text-decoration:line-through;text-decoration-color:rgba(176,30,40,.75);text-decoration-thickness:2px}
.stickies li .lead{display:block;margin-top:10px;font:700 24px/1.08 var(--hand);color:#1f4f8a;transform:rotate(-1.5deg);font-style:normal}
.stickies li .ans{display:block;margin-top:10px;font:700 26px/1.08 var(--hand);color:#b01e28;transform:rotate(-2deg);font-style:normal}
.solved-tag{display:table;margin-bottom:8px;font:700 11.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#b01e28;border:1.5px solid #b01e28;border-radius:3px;padding:4px 6px;transform:rotate(-2deg)}
.look-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:var(--board-2);border:1px dashed var(--line);border-radius:10px;padding:10px 14px;margin:0 0 22px}
.look-bar p{flex:1 1 220px;margin:0;font:13.5px/1.35 var(--body);color:var(--muted)}
.lb-faces{display:flex}
.lb-faces img{width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:2px solid var(--board);background:var(--board)}
.lb-faces img+img{margin-left:-12px}
.look-open{font:13px/1 var(--body);color:var(--chalk);background:var(--board-2);border:1px solid var(--line);border-radius:999px;padding:9px 12px;cursor:pointer}
.look-open:focus-visible,.look-opt:focus-visible,.gate-done:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.look-g{display:flex;flex-direction:column;gap:8px;text-align:left}
.look-sub{margin:4px 0 0;font:600 13px/1 var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.look-g h3{margin:6px 0 0;font:700 29px/1 var(--hand);color:var(--sticky)}
.look-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:520px){.look-row{grid-template-columns:repeat(2,1fr)}}
.look-opt span{overflow-wrap:anywhere;hyphens:auto}
.look-opt{display:flex;flex-direction:column;gap:6px;background:var(--board-2);border:2px solid var(--line);border-radius:8px;padding:6px;color:var(--chalk);cursor:pointer;font:12.5px/1.25 var(--body);text-align:center}
.look-opt img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:4px}
.look-opt[aria-pressed="true"]{border-color:var(--amber)}
#look-groups{display:flex;flex-direction:column;gap:14px;max-height:62vh;overflow:auto}
.gate-done{align-self:center;font:700 15px/1 var(--body);background:var(--amber);color:#11161d;border:0;border-radius:999px;padding:12px 22px;cursor:pointer}
/* people */
.person{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:10px;cursor:pointer;min-width:0}
.person[disabled]{cursor:default}
.person .pol{width:100%}
.person:not([disabled]):hover .pol{transform:rotate(0) scale(1.03)}
.person:nth-child(3n+2) .pol{--r:1.4deg}.person:nth-child(3n) .pol{--r:-.6deg}.person:nth-child(4n+1) .pol{--r:2deg}
.pmeta{font:12px/1.35 var(--mono);color:var(--muted)}
.plocked .pol{filter:grayscale(1) brightness(.6)}
.plocked figcaption{letter-spacing:.2em}
/* modal */
.pmodal{position:fixed;inset:0;z-index:50;background:rgba(5,6,9,.72);display:flex;align-items:flex-end;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px))}
@media(min-width:700px){.pmodal{align-items:center;padding-bottom:16px}}
.pm-card{position:relative;width:min(640px,100%);max-height:88vh;overflow:auto;background:var(--board-2);border:1px solid var(--line);border-radius:12px 12px 0 0;padding:20px 18px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 20px 60px rgba(0,0,0,.6)}
@media(min-width:700px){.pm-card{border-radius:12px}}
.pm-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--board);color:var(--chalk);font:20px/1 var(--body);cursor:pointer}
.pm-top{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;margin-bottom:8px}
.pm-pol{--r:-2deg}
.pm-name{margin:0;font:700 41px/1 var(--hand);color:var(--sticky);padding-right:40px}
.pm-role{margin:6px 0 0;color:var(--chalk)}
.pm-first{margin:4px 0 0;font:12px/1.3 var(--mono);color:var(--muted)}
.pm-sub{margin:18px 0 10px;font:700 16px/1 var(--display);text-transform:uppercase;letter-spacing:.07em;color:var(--chalk)}
.pm-facts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--line);margin-left:6px}
.pm-fact{position:relative;padding:8px 10px 9px 16px;display:flex;flex-direction:column;gap:4px;border-radius:4px}
.pm-fact.k-c{padding-top:0;margin-top:-6px}
.pm-fact.k-c::before{display:none}
.pm-fact.k-c .pm-ep{display:none}
.pm-fact.k-c .pm-text{font:700 24px/1.1 var(--hand);color:#7fb0ea;transform:rotate(-1deg)}
.pen{display:block;margin-top:6px;font:700 22px/1.1 var(--hand);color:#1f4f8a;font-style:normal;transform:rotate(-1.5deg)}
.pm-fact.k-s{background:rgba(217,58,67,.10);box-shadow:inset 3px 0 0 var(--red)}
.pm-fact.k-q{background:rgba(185,200,216,.08);box-shadow:inset 3px 0 0 #8fb0d0}
.pm-fact.k-q .pm-text{font-style:italic;color:#c3d6ea}
.pm-fact.k-s::before{border-color:var(--red)}
.pm-fact.k-q::before{border-color:#8fb0d0;border-style:dashed}
.pm-fact::before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--board-2);border:2px solid var(--amber)}
.pm-ep{font:12px/1 var(--mono);color:var(--amber);display:flex;gap:8px;align-items:center}
.pm-tag{font:700 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 5px;border-radius:3px;border:1px solid currentColor}
.t-v{color:#d8c9a8;border-color:#d8c9a8}
.t-h{color:#c9b0e6;border-color:#9a6fd0}
.pm-jump{display:inline-block;width:max-content;max-width:100%;align-self:flex-start;justify-self:start;margin-top:4px;font:700 11px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#c9b0e6;text-decoration:none;border-bottom:1px dashed currentColor}
.pm-jump:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.t-f{color:var(--muted)}.t-s{color:#fff;background:var(--red);border-color:var(--red)}.t-q{color:#0f1720;background:#8fb0d0;border-color:#8fb0d0}
.pm-text{font-size:14.5px;line-height:1.45;color:#d6d9e0}
.flocked .pm-text{filter:blur(6px);user-select:none}
.flocked::before{border-color:var(--muted)}
.sp-note .pm-reveal{background:transparent;color:var(--ink-soft);border-color:#cfc8b8}
.pm-reveal{align-self:flex-start;margin-top:4px;font:12px/1 var(--mono);color:var(--chalk);background:var(--board);border:1px solid var(--line);border-radius:999px;padding:7px 10px;cursor:pointer}
.pm-rel{display:flex;flex-wrap:wrap;gap:8px}
body.noscroll{overflow:hidden}
#tab-evidence .item>.note,#tab-weird .item>.note{display:none}
#tab-evidence .item:not(.locked) .pol,#tab-weird .item:not(.locked) .pol{cursor:pointer}
#tab-evidence .pins .pol.wide img,#tab-weird .pins .pol.wide img{aspect-ratio:4/5}
#tab-evidence .pins .pol figcaption,#tab-weird .pins .pol figcaption{font-size:26px;line-height:1.05;height:calc(2.1em + 10px);display:flex;align-items:center;justify-content:center;overflow:hidden;min-width:0}

/* ---------- видеомагнитофон ---------- */
.vhs{position:fixed;inset:0;z-index:60;background:rgba(3,4,6,.88);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
.vhs-box{width:min(760px,100%,calc((100vh - 130px) * 4 / 3));width:min(760px,100%,calc((100dvh - 130px) * 4 / 3));display:flex;flex-direction:column;gap:12px;align-items:center}
.vhs-tv{position:relative;width:100%;aspect-ratio:4/3;background:#050607;border-radius:18px;overflow:hidden;box-shadow:0 0 0 10px #1b1c20,0 0 0 12px #2a2c31,0 30px 80px rgba(0,0,0,.7)}
.vhs-tv video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.08) sepia(.12)}
.vhs-tv::after{content:"";position:absolute;inset:0;border-radius:18px;box-shadow:inset 0 0 90px rgba(0,0,0,.85);pointer-events:none}
.vhs-scan{position:absolute;inset:0;background:repeating-linear-gradient(rgba(0,0,0,.22) 0 1px,transparent 1px 3px);pointer-events:none;mix-blend-mode:multiply}
.vhs-noise{position:absolute;inset:0;width:100%;height:100%;opacity:.06;mix-blend-mode:screen;pointer-events:none;image-rendering:pixelated}
.vhs-osd,.vhs-date{position:absolute;font:700 clamp(14px,3vw,22px)/1 var(--mono);color:#e9f1ff;text-shadow:2px 0 rgba(255,0,60,.6),-2px 0 rgba(0,200,255,.6);letter-spacing:.06em}
.vhs-osd{top:18px;left:22px}.vhs-date{bottom:18px;right:22px}
.vhs-sub{position:absolute;left:8%;right:8%;bottom:14%;text-align:center;font:600 clamp(15px,3.2vw,22px)/1.3 var(--body);color:#fff8d8;text-shadow:0 2px 4px #000,0 0 10px #000;min-height:1.3em}
.vhs-deck{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(75% 75% at 50% 45%,#0f1830,#03050b)}
.vhs-deck img{display:none}
.vwin{position:relative;width:62%;aspect-ratio:2.6/1;border-radius:14px;background:linear-gradient(#0a0c10,#14171d);box-shadow:inset 0 0 0 2px rgba(255,255,255,.08),inset 0 8px 24px rgba(0,0,0,.8);display:flex;align-items:center;justify-content:space-between;padding:0 6%;animation:wow 3.2s ease-in-out infinite;--p:0}
.vwin .reel{position:relative;width:30%;aspect-ratio:1;animation:reel 1.4s linear infinite}
.vwin .reel.r{animation-duration:1.1s}
.vwin .reel svg{width:100%;height:100%;overflow:visible}
.vwin .pack{fill:#2a1d14;stroke:#3b2a1d;stroke-width:1}
.vwin .reel.l .pack{transform:scale(calc(1 - var(--p)*.5))}
.vwin .reel.r .pack{transform:scale(calc(.5 + var(--p)*.5))}
.vwin .hb{fill:#d9dde4}.vwin .hc{fill:#1a1d22}
.vwin .hub path{stroke:#1a1d22;stroke-width:3.4;stroke-linecap:round}
.vtape{position:absolute;left:21%;right:21%;bottom:17%;height:3px;background:#2a1d14;opacity:.9}
.vcount{position:absolute;left:22px;bottom:18px;font:700 clamp(14px,3vw,22px)/1 var(--mono);color:#e9f1ff;text-shadow:2px 0 rgba(255,0,60,.6),-2px 0 rgba(0,200,255,.6);letter-spacing:.06em}
@keyframes wow{0%,100%{transform:translate(0,0)}25%{transform:translate(1px,-1px)}50%{transform:translate(-1px,1px)}75%{transform:translate(1px,0)}}
.vhs.paused .vwin,.vhs.paused .vwin .reel{animation-play-state:paused}
.vhs.paused .reel{animation-play-state:paused}
@keyframes reel{to{transform:rotate(360deg)}}
.vhs.glitch .vhs-tv{animation:vglitch .38s steps(3) 1}
.vhs.glitch .vhs-noise{animation:vnoise .38s linear 1}
@keyframes vglitch{0%{transform:translateX(0)}33%{transform:translateX(-3px) skewX(1.5deg)}66%{transform:translateX(2px)}100%{transform:none}}
@keyframes vnoise{0%{opacity:.35}100%{opacity:.06}}
@media (prefers-reduced-motion:reduce){.vhs.glitch .vhs-tv,.vhs.glitch .vhs-noise{animation:none}}
.vhs-band{position:absolute;left:0;right:0;top:40%;height:9%;opacity:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.55) 0 2px,rgba(255,255,255,.08) 2px 7px,rgba(255,255,255,.4) 7px 9px,transparent 9px 15px);mix-blend-mode:screen;filter:blur(.6px)}
.vhs.glitch-hard .vhs-band{animation:vband .42s linear 1}
.vhs.glitch-hard .vhs-tv{animation:vhard .42s steps(6) 1}
.vhs.glitch-hard .vhs-noise{animation:vnoise2 .42s linear 1}
.vhs.glitch-hard .vwin,.vhs.glitch-hard .vhs-sub{filter:drop-shadow(4px 0 rgba(255,0,60,.7)) drop-shadow(-4px 0 rgba(0,200,255,.7))}
@keyframes vband{0%{opacity:.9;transform:translateY(0) scaleY(1)}50%{opacity:.7;transform:translateY(-140%) scaleY(1.6)}100%{opacity:0;transform:translateY(-260%) scaleY(.6)}}
@keyframes vhard{0%{transform:none}16%{transform:translate(-6px,2px) skewX(3deg)}33%{transform:translate(5px,-3px)}50%{transform:translate(-3px,6px) skewX(-2deg)}66%{transform:translate(7px,0)}83%{transform:translate(-2px,-2px)}100%{transform:none}}
@keyframes vnoise2{0%{opacity:.6}60%{opacity:.4}100%{opacity:.06}}
@media (prefers-reduced-motion:reduce){.vhs.glitch-hard .vhs-tv,.vhs.glitch-hard .vhs-band{animation:none}}
.vhs.chew .vwin{animation:chew 1.2s ease-in forwards}
.vhs.chew .vwin .reel{animation-duration:6s}
.vhs.chew .vhs-noise{animation:chewn 1.6s ease-in forwards}
@keyframes chew{0%{filter:none;transform:none}30%{filter:blur(1px) hue-rotate(-20deg);transform:scaleY(1.06) skewX(4deg)}60%{filter:blur(2px) brightness(.7);transform:scaleY(.9) translateY(6%) skewX(-6deg)}100%{filter:blur(4px) brightness(.25);transform:scaleY(.6) translateY(18%)}}
@keyframes chewn{0%{opacity:.1}50%{opacity:.5}100%{opacity:.22}}
@media (prefers-reduced-motion:reduce){.vhs.chew .vwin{animation:none;filter:brightness(.4)}}
.vhs.tall .vhs-tv{aspect-ratio:630/1040;height:auto;width:min(calc(100% - 24px),calc(min(80vh,100vh - 150px) * .6058));width:min(calc(100% - 24px),calc(min(80dvh,100dvh - 150px) * .6058));border-radius:12px}
.vhs.tall .vhs-tv video{object-fit:contain;filter:none}
.vhs.tall .vhs-scan,.vhs.tall .vhs-noise,.vhs.tall .vhs-osd,.vhs.tall .vhs-date,.vhs.tall .vhs-tv::after{display:none}
.vhs-ctrl{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.vhs-ctrl button{all:unset;cursor:pointer;font:700 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--chalk);border:1px solid var(--line);background:var(--board-2);border-radius:999px;padding:10px 16px}
.vhs-ctrl button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.vhs-note{margin:0;font:12px/1.4 var(--mono);color:var(--muted);text-align:center;max-width:52ch}
.tape-play{position:absolute;left:10px;bottom:22%;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(10,10,14,.75);border:2px solid #f3e9d2;display:grid;place-items:center;color:#f3e9d2;font-size:14px;box-shadow:0 3px 8px rgba(0,0,0,.5);pointer-events:none}
.item.locked .tape-play,.item.tape-off .tape-play{display:none}
.im-play{all:unset;cursor:pointer;margin-top:10px;display:inline-flex;gap:8px;align-items:center;font:700 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#11131a;background:#f3e9d2;border-radius:999px;padding:10px 16px}
.im-play:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.vwin,.vwin .reel{animation:none}}
.h-hov{display:none}
@media(hover:hover) and (pointer:fine){.h-hov{display:inline}.h-tap{display:none}}
.im-pop{position:fixed;z-index:45;width:min(340px,92vw);max-height:62vh;overflow:auto;background:var(--board-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px 14px;box-shadow:0 18px 50px rgba(0,0,0,.6)}
.im-pop h4{margin:0 0 10px;font:700 26px/1.05 var(--hand);color:var(--sticky)}
.im-pop .im-notes .note{font-size:14px;padding:6px 8px 7px 14px}
.im-pop .im-notes .note::before{top:9px;width:10px;height:10px;left:-6px}
.im-notes{display:flex;flex-direction:column;gap:10px;border-left:2px solid var(--line);margin-left:6px}
.im-notes .note{position:relative;display:block!important;padding:8px 10px 9px 16px;font-size:15px;line-height:1.5;color:#d6d9e0}
.im-notes .note.off{display:none!important}
.im-notes .note::before{content:"";position:absolute;left:-7px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--board-2);border:2px solid var(--amber)}
.im-notes .note>.ep:first-child{display:block;margin-bottom:4px}
.im-top .pol{max-width:150px}
.im-top{grid-template-columns:150px 1fr}
@media(max-width:480px){.im-top{grid-template-columns:110px 1fr}.im-top .pol{max-width:110px}}
/* gate */
.gate{position:fixed;inset:0;z-index:60;background:rgba(5,6,9,.97);display:grid;place-items:center;padding:max(16px,env(safe-area-inset-left,0px))}
.gate-card{max-width:520px;width:100%;text-align:center;display:flex;flex-direction:column;gap:14px}
.gate-card h2{justify-content:center}
.gate-card h2::before{display:none}
.gate-card p{margin:0;color:var(--muted)}
#gate-btns{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;max-height:min(60vh,460px);overflow-y:auto;padding:2px}
.gate-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;background:var(--board-2);border:1px solid var(--line);border-radius:8px;padding:12px 14px;color:var(--chalk);cursor:pointer;font:15px/1.2 var(--body)}
.gate-btn:hover{border-color:var(--amber)}
.gate-btn span{font-size:12.5px;line-height:1.2;color:var(--muted);filter:blur(5px);transition:filter .2s;user-select:none}
.gate-btn:hover span,.gate-btn:focus-visible span{filter:none}
@media(prefers-reduced-motion:reduce){.gate-btn span{transition:none}}
.gate-btn b{font:700 22px/1 var(--mono);color:var(--amber);width:26px}
footer{color:var(--muted);font-size:13px;border-top:1px dashed var(--line);padding-top:14px}

@media (prefers-reduced-motion:reduce){.vcr-time i{animation:none}.pol{transition:none}.pol:hover{transform:rotate(var(--r))}}
a:focus-visible,.strip:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

/* ===== vibe: морозник, фонарик, Неизвестный, 02:59, Старый Сентфор, медведь ===== */
@media(min-width:700px){body{padding-left:max(52px,calc(env(safe-area-inset-left,0px) + 48px))}}
#stem{position:fixed;left:max(1px,env(safe-area-inset-left,0px));top:0;height:100vh;width:18px;z-index:2;pointer-events:none}
@supports(height:100lvh){#stem{height:100lvh}}
@media(min-width:700px){#stem{width:44px;left:max(4px,env(safe-area-inset-left,0px))}}
#stem svg{display:block;width:100%;height:100%;overflow:visible}
#stem .st-ghost{fill:none;stroke:#4c5a52;stroke-width:1.2;stroke-dasharray:2 6;opacity:.35}
#stem .st-live{fill:none;stroke:#3f6a4a;stroke-width:2.6;stroke-linecap:round;transition:stroke-dashoffset 1.6s cubic-bezier(.3,.7,.3,1);filter:drop-shadow(0 0 3px rgba(80,140,95,.35))}
#stem .leaf{fill:#2f5139;stroke:#4f7d5b;stroke-width:.6}
#stem .bud{fill:#3a2a46;opacity:.45}
#stem .fl{pointer-events:auto;cursor:help;transform-box:fill-box;transform-origin:center;animation:fl-in .9s cubic-bezier(.2,1.4,.4,1) both}
#stem .fl .pt{fill:#2a1736;stroke:#9a6fd0;stroke-width:.7}
#stem .fl .cn{fill:#e0cd86}
#stem .fl.now{filter:drop-shadow(0 0 6px rgba(170,110,230,.8))}
@keyframes fl-in{from{transform:scale(0) rotate(-40deg);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){#stem .st-live{transition:none}#stem .fl{animation:none}}

/* фонарик */
.torch-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:-6px 0 16px}
.torch-head p{margin:0;font:700 22px/1.1 var(--hand);color:var(--sticky);opacity:.8}
.torch-btn{all:unset;cursor:pointer;font:13px/1 var(--mono);letter-spacing:.06em;color:var(--amber);border:1px dashed var(--amber);border-radius:4px;padding:7px 10px}
.torch-btn:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.torch-zone{position:relative;padding-bottom:90px}
.torch-veil{position:absolute;inset:-14px -10px 0;z-index:5;pointer-events:none;border-radius:10px;
  background:radial-gradient(circle var(--tr,170px) at var(--tx,50%) var(--ty,160px),rgba(255,244,214,.07) 0,rgba(6,8,12,.35) 55%,rgba(6,8,12,.975) 100%);transition:opacity .5s}
.torch-zone.lit .torch-veil{opacity:0}
.torch-zone:not(.lit){cursor:none}
@media(hover:none){.torch-zone:not(.lit){cursor:auto}}
.bear{all:unset;position:absolute;right:6%;bottom:6px;width:58px;cursor:pointer;z-index:4;transform:rotate(7deg);transform-origin:50% 90%}
.bear svg{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.6))}
.bear:focus-visible{outline:1px dashed #e58bb5;outline-offset:4px}
.bear.talk{animation:bear-shake .09s linear infinite}
@keyframes bear-shake{0%{transform:rotate(5deg) translate(0,0)}50%{transform:rotate(9deg) translate(1px,-1px)}100%{transform:rotate(6deg) translate(-1px,0)}}
.bear-say{position:absolute;right:calc(6% + 66px);bottom:40px;z-index:6;font:700 26px/1 var(--hand);color:#f0a8c8;text-shadow:0 0 10px rgba(240,120,170,.5);white-space:nowrap;pointer-events:none;letter-spacing:.04em}
.bear-say i{font-style:normal;opacity:.45}

/* Неизвестный */
.unk{position:fixed;z-index:58;left:max(16px,env(safe-area-inset-left,0px));right:16px;bottom:max(16px,env(safe-area-inset-bottom,0px));max-width:300px;background:#0c0e15;border-radius:22px;padding:12px 12px 14px;color:#e8e9ee;font:14px/1.35 var(--body);
  border:1px solid #2a2d3a;box-shadow:-2px 0 0 rgba(224,64,154,.55),2px 0 0 rgba(59,224,160,.45),0 18px 40px rgba(0,0,0,.65);animation:unk-in .5s cubic-bezier(.2,1.2,.4,1)}
@media(min-width:700px){.unk{left:64px;right:auto}}
@keyframes unk-in{from{transform:translateY(30px);opacity:0}}
.unk-top{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:10px}
.unk-name{font:600 13px/1 var(--body);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:7px 16px;text-shadow:-1px 0 rgba(224,64,154,.7),1px 0 rgba(59,224,160,.6)}
.unk-x{all:unset;position:absolute;right:2px;top:-2px;width:28px;height:28px;text-align:center;line-height:28px;border-radius:50%;cursor:pointer;color:var(--muted);font-size:18px}
.unk-x:focus-visible{outline:1px solid var(--amber)}
.unk-body{display:flex;flex-direction:column;gap:6px;min-height:30px}
.unk-b{align-self:flex-start;max-width:85%;background:#1d2130;border-radius:14px 14px 14px 4px;padding:8px 11px}
.unk-b.me{align-self:flex-end;background:#3b2a52;border-radius:14px 14px 4px 14px}
.unk-b.pic{padding:4px}
.unk-b.pic img{display:block;width:150px;height:auto;border-radius:10px}
.unk-st{align-self:flex-end;font:11px/1 var(--mono);color:#d96a7a}
.unk-dots span{display:inline-block;width:6px;height:6px;margin:0 2px;border-radius:50%;background:#8a8fa3;animation:dot 1s infinite}
.unk-dots span:nth-child(2){animation-delay:.15s}.unk-dots span:nth-child(3){animation-delay:.3s}
@keyframes dot{50%{opacity:.25;transform:translateY(-2px)}}
.unk-acts{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.unk-acts button{all:unset;cursor:pointer;font:13px/1.25 var(--body);color:#dfe2ea;background:#151824;border:1px solid #2c3142;border-left:2px solid var(--red);padding:8px 10px;border-radius:3px}
.unk-acts button:focus-visible{outline:1px solid var(--amber)}
.unk form{display:flex;gap:6px;margin-top:10px}
.unk input{flex:1;min-width:0;background:#151824;border:1px solid #2c3142;border-radius:16px;color:#e8e9ee;font:14px var(--body);padding:8px 12px}
.unk form button{all:unset;cursor:pointer;background:#3b2a52;border-radius:16px;padding:8px 12px;font:600 13px var(--body)}
.unk.gone{animation:unk-glitch .7s steps(6) forwards}
@keyframes unk-glitch{0%{transform:none;opacity:1}30%{transform:translateX(-4px) skewX(8deg);filter:hue-rotate(90deg)}60%{transform:translateX(5px);opacity:.6;clip-path:inset(30% 0 20% 0)}100%{opacity:0;clip-path:inset(50% 0 50% 0)}}
.unk-del{font:italic 13px/1.3 var(--body);color:var(--muted);text-align:center;padding:6px 0}

/* 02:59 */
.vcr-time.slip{color:#ff6b6b;text-shadow:-2px 0 rgba(224,64,154,.8),2px 0 rgba(59,224,160,.7);animation:slip .18s steps(2) infinite}
@keyframes slip{50%{transform:translateX(2px) skewX(-6deg)}}
body.t259 h1{animation:g259 1.4s steps(3) infinite}
body.t259 .vcr-time{color:#ff4d5a;text-shadow:0 0 16px rgba(255,60,80,.8)}
body.t259::after{content:"";position:fixed;inset:0;z-index:45;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px);mix-blend-mode:multiply;animation:scan 6s linear infinite}
@keyframes g259{0%,100%{text-shadow:-3px 0 rgba(224,64,154,.7),3px 0 rgba(59,224,160,.6)}33%{transform:translateX(-3px) skewX(4deg)}66%{text-shadow:4px 0 rgba(224,64,154,.7),-4px 0 rgba(59,224,160,.6)}}
@keyframes scan{to{background-position:0 100px}}
@media(prefers-reduced-motion:reduce){body.t259 h1,body.t259::after,.vcr-time.slip{animation:none}}

/* Старый Сентфор */
.old-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin-top:14px;font:700 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:#d7b8f2;border:1px solid #7b4fa8;background:rgba(80,40,110,.25);padding:9px 14px;border-radius:4px;box-shadow:0 0 18px rgba(123,79,168,.25)}
.old-btn:hover{background:rgba(110,60,150,.4)}
.old-btn:focus-visible{outline:2px solid #b98be6;outline-offset:3px}
body.old{--board:#120d16;--board-2:#1a1320;--amber:#c9b0e6;--sticky:#d3c4e4}
body.old .hero-bg{filter:sepia(.7) hue-rotate(225deg) saturate(1.5) brightness(.55)}
body.old .pol img,body.old .cnode img{filter:saturate(.45) hue-rotate(-25deg) brightness(.85)}
body.old h1{color:#d9c8ef;text-shadow:0 0 22px rgba(150,90,210,.45)}
#oldfx{position:fixed;inset:0;z-index:30;pointer-events:none;opacity:0;transition:opacity 1.2s}
body.old #oldfx{opacity:1}
#oldfx svg{position:absolute;inset:0;width:100%;height:100%}
#oldfx .rt{fill:none;stroke:#26151d;stroke-linecap:round;stroke-linejoin:round}
#oldfx .rt.hl{stroke:#4a2a38}
#oldfx .of{opacity:0;animation:of-in .8s ease-out forwards}
#oldfx .of .pt{fill:#7a3fb0;stroke:#c08ae8;stroke-width:.6}
#oldfx .of .cn{fill:#f1d98a}
@keyframes of-in{to{opacity:1}}
.fog{position:absolute;inset:0;-webkit-backdrop-filter:blur(2.4px);backdrop-filter:blur(2.4px);
  background:radial-gradient(60% 40% at 20% 80%,rgba(120,60,160,.28),transparent 70%),radial-gradient(50% 40% at 85% 25%,rgba(90,40,130,.25),transparent 70%),rgba(40,18,56,.22);animation:drift 14s ease-in-out infinite alternate;transition:background .8s}
@keyframes drift{to{background-position:40px -30px,-50px 40px,0 0}}
body.mask .fog{-webkit-mask-image:radial-gradient(ellipse 46% 42% at 50% 52%,transparent 62%,#000 100%);mask-image:radial-gradient(ellipse 46% 42% at 50% 52%,transparent 62%,#000 100%);background:rgba(8,4,12,.86)}
.spore{position:absolute;width:4px;height:4px;border-radius:50%;background:#c79bef;box-shadow:0 0 6px #b07ee0;opacity:.7;animation:spore linear infinite}
@keyframes spore{from{transform:translateY(0)}to{transform:translateY(-110vh) translateX(30px)}}
@media(prefers-reduced-motion:reduce){.fog,.spore{animation:none}}
.old-hud{position:fixed;z-index:57;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));width:min(290px,calc(100vw - 32px));background:rgba(18,11,24,.94);border:1px solid #5d3a80;border-radius:8px;padding:12px 14px;color:#e6dcf2;font:13px/1.35 var(--body);box-shadow:0 12px 30px rgba(0,0,0,.6)}
.old-hud[hidden]{display:none}
.air{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font:12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#c9b0e6}
.air i{display:block;height:8px;border-radius:4px;background:#2b1d36;overflow:hidden}
.air b{display:block;height:100%;width:100%;background:linear-gradient(90deg,#8e5cc8,#c79bef);transition:width .25s linear}
.air.low b{background:linear-gradient(90deg,#b3121e,#ff6b6b)}
.old-hud p{margin:8px 0 10px;color:#bfb3cc}
.old-hud .row{display:flex;gap:8px;flex-wrap:wrap}
.old-hud button{all:unset;cursor:pointer;font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;padding:8px 10px;border-radius:4px;border:1px solid #7b4fa8;color:#e6dcf2}
.old-hud button.on{background:#7b4fa8}
.old-hud button:focus-visible{outline:2px solid #c9b0e6;outline-offset:2px}

/* морозник обвивает серии */
#ep-btns{position:relative;padding:9px 8px}
#ep-btns .ep-btn{position:relative;z-index:1}
#ep-btns .vine{position:absolute;left:0;top:0;pointer-events:none;overflow:visible}
#ep-btns .vback{z-index:0}
#ep-btns .vfront{z-index:2}
.vine .vm{fill:none;stroke:#3f6a4a;stroke-width:2.4;stroke-linecap:round}
.vine .vt{fill:none;stroke:#4f7d5b;stroke-width:1.2;stroke-linecap:round}
.vine .vd{fill:none;stroke:#5b5f58;stroke-width:1.3;stroke-dasharray:3 4;opacity:.45}
.vine .lf{fill:#2f5139;stroke:#4f7d5b;stroke-width:.5}
.vine .pt{fill:#2a1736;stroke:#9a6fd0;stroke-width:.6}
.vine .cn{fill:#e0cd86}
.vine .now{filter:drop-shadow(0 0 4px rgba(170,110,230,.9))}

/* сбой при заражении */
#crash{position:fixed;inset:0;z-index:70;pointer-events:all;display:grid;place-items:center;background:rgba(8,4,12,.35)}
#crash canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.38;mix-blend-mode:screen;image-rendering:pixelated}
#crash .bars{position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.35) 0 2px,transparent 2px 4px)}
#crash .sl{position:absolute;left:0;right:0;height:var(--h);top:var(--t);background:rgba(217,58,67,.18);transform:translateX(var(--x));mix-blend-mode:screen}
#crash h3{position:relative;margin:0;padding:0 16px;text-align:center;font:400 clamp(28px,7.6vw,76px)/1 var(--logo);color:#e8e0f0;text-transform:uppercase;text-shadow:-4px 0 rgba(224,64,154,.85),4px 0 rgba(59,224,160,.75);animation:cr-t .12s steps(2) infinite}
#crash p{position:relative;margin:14px 0 0;text-align:center;font:13px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#c9b0e6}
body.crash .wrap,body.crash #stem{animation:cr-j .16s steps(2) infinite}
@keyframes cr-j{0%{transform:translate(0,0);filter:none}25%{transform:translate(-6px,2px) skewX(3deg);filter:hue-rotate(80deg) saturate(2)}50%{transform:translate(5px,-3px);filter:invert(.12) contrast(1.6)}75%{transform:translate(-2px,4px) skewX(-4deg);filter:hue-rotate(-60deg)}}
@keyframes cr-t{50%{transform:translateX(3px) skewX(-8deg);clip-path:inset(10% 0 30% 0)}}
@media(prefers-reduced-motion:reduce){body.crash .wrap,body.crash #stem,#crash h3{animation:none}}

/* счётчик пасхалок */
.hdr-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:14px}
.hdr-row .old-btn{margin-top:0}
.egg-wrap{position:relative}
.egg-meter{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;font:12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);border:1px dashed rgba(217,58,67,.55);border-radius:4px;padding:8px 12px;background:rgba(217,58,67,.06);transform:rotate(-1.5deg)}
.egg-meter b{color:var(--chalk);font-weight:700;letter-spacing:.04em}
.egg-meter:hover,.egg-meter[aria-expanded="true"]{color:var(--chalk);background:rgba(217,58,67,.12)}
.egg-meter:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.em-dots{display:inline-flex;gap:4px}
.em-dots i{width:7px;height:7px;border-radius:50%;border:1px solid rgba(217,58,67,.7)}
.em-dots i.on{background:var(--red);box-shadow:0 0 6px rgba(217,58,67,.8)}
.egg-meter.ping{animation:em-ping 1.2s ease-out 2}
@keyframes em-ping{0%{box-shadow:0 0 0 0 rgba(217,58,67,.7)}100%{box-shadow:0 0 0 14px rgba(217,58,67,0)}}
.egg-panel{position:absolute;z-index:40;left:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 32px));background:var(--paper);color:var(--ink);border-radius:3px;padding:14px 16px 12px;box-shadow:0 14px 34px rgba(0,0,0,.6);transform:rotate(.6deg)}
.egg-panel h4{margin:0 0 8px;font:700 28px/1 var(--hand);color:var(--red)}
.egg-panel ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.egg-panel li{display:flex;flex-direction:column;gap:2px;border-bottom:1px dashed #cfc8b8;padding-bottom:7px}
.egg-panel li b{font:700 13px/1.2 var(--display);letter-spacing:.08em;color:#8a8577}
.egg-panel li.got b{color:var(--red)}
.egg-panel li span{font:14px/1.35 var(--body);color:var(--ink-soft)}
.egg-panel li:not(.got) span{font:600 19px/1.15 var(--hand);color:#3c5f9c}
.egg-reset{all:unset;cursor:pointer;display:block;margin-top:10px;font:12px/1.3 var(--mono);color:#8a8577;border-bottom:1px dashed currentColor;-webkit-tap-highlight-color:transparent}
.egg-reset:hover,.egg-reset:focus-visible{color:var(--red)}
.egg-reset.sure{color:var(--red)}
.egg-panel p{margin:8px 0 0;font:12px/1.3 var(--mono);color:#8a8577}
.toast-egg{display:block;font:700 12px/1.2 var(--display);letter-spacing:.1em;color:var(--ink-soft);margin:-2px 0 4px}
.toast-cnt{display:block;margin-top:6px;font:12px/1 var(--mono);color:var(--red)}
@media(prefers-reduced-motion:reduce){.egg-meter.ping{animation:none}}

/* радио: Everything Black */
.ts1-head{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.radio{all:unset;cursor:pointer;width:58px;flex:0 0 auto;opacity:.55;transform:rotate(-4deg);transition:opacity .3s,transform .3s}
.radio:hover,.radio:focus-visible{opacity:1;transform:rotate(-1deg)}
.radio:focus-visible{outline:1px dashed var(--amber);outline-offset:4px}
.radio svg{display:block;width:100%}
.radio .needle{transition:transform 1.6s cubic-bezier(.5,0,.2,1)}
.radio.on{opacity:1;animation:radio-hum .12s linear infinite}
.radio.on .needle{transform:translateX(7px)}
@keyframes radio-hum{50%{transform:rotate(-3deg) translateY(-1px)}}
.radio-say{position:absolute;right:0;top:calc(100% + 8px);z-index:6;background:#0b0c0f;border:1px solid #2a2d33;border-radius:6px;padding:9px 12px;font:13px/1.35 var(--mono);color:var(--amber);max-width:min(300px,80vw);box-shadow:0 10px 24px rgba(0,0,0,.55)}
.radio-say a{color:#f0a8c8}
.radio-say .st{color:var(--muted)}
#allblack{position:fixed;inset:0;z-index:44;pointer-events:none;-webkit-backdrop-filter:grayscale(1) brightness(.45) contrast(1.15);backdrop-filter:grayscale(1) brightness(.45) contrast(1.15);background:rgba(0,0,0,.25);opacity:0;transition:opacity 1.4s}
#allblack.on{opacity:1}
.egg-link{align-self:flex-start;margin-top:2px;font:700 13px/1 var(--display);letter-spacing:.06em;color:var(--red);text-decoration:none;border-bottom:1px solid currentColor}
@media(prefers-reduced-motion:reduce){.radio.on{animation:none}.radio .needle{transition:none}}

.radio-say iframe{display:block;width:240px;max-width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px;margin:8px 0 6px;background:#000}
.radio-say:not(.show-yt) iframe{position:absolute;width:2px;height:2px;margin:0;opacity:.01;pointer-events:none}
.rs-hint{font:12px/1.35 var(--mono);color:#f0a8c8;margin:0 0 6px;animation:hint-blink 1.2s ease-in-out 3}
@keyframes hint-blink{50%{opacity:.35}}
.rs-row{display:flex;justify-content:space-between;gap:10px;align-items:center}
.rs-x{all:unset;cursor:pointer;font:12px/1 var(--mono);color:var(--muted);border:1px solid #2a2d33;border-radius:3px;padding:5px 7px}
.rs-x:focus-visible{outline:1px solid var(--amber)}
.rs-play{display:inline-block;margin-top:8px;font:700 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#11161d!important;background:#f0a8c8;border-radius:3px;padding:8px 11px;text-decoration:none}
.rs-play:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

/* пасхалки: зеркало, 03:00, 18:06, видение */
.mirror{all:unset;-webkit-tap-highlight-color:transparent;position:absolute;z-index:3;border-radius:50%;cursor:pointer;overflow:hidden;transform:translate(-50%,-50%)}
.mirror img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;border-radius:50%;opacity:0;filter:grayscale(.3) contrast(1.6) brightness(1.3);transition:opacity .25s}
.mirror.show img{opacity:.92;animation:mir 1s steps(3)}
@keyframes mir{0%{transform:scale(1.15) translateX(-3px)}50%{transform:scale(1.05) translateX(3px)}}
.mirror:focus-visible{outline:1px dashed var(--amber);outline-offset:2px}
.vcr-time{cursor:pointer;user-select:none;-webkit-user-select:none}
.vcr-time.go{color:#ff6b6b;text-shadow:0 0 18px rgba(255,80,90,.9);animation:slip .1s steps(2) infinite}
.call{position:fixed;z-index:59;left:50%;top:max(14px,env(safe-area-inset-top,0px));transform:translateX(-50%);width:min(360px,calc(100vw - 32px));display:flex;align-items:center;gap:12px;background:rgba(18,20,26,.97);border:1px solid #2c3142;border-radius:20px;padding:12px 14px;color:#e8e9ee;font:14px/1.3 var(--body);box-shadow:-2px 0 0 rgba(224,64,154,.4),2px 0 0 rgba(59,224,160,.35),0 16px 36px rgba(0,0,0,.6);animation:call-in .45s cubic-bezier(.2,1.2,.4,1)}
@keyframes call-in{from{transform:translate(-50%,-40px);opacity:0}}
.call img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:50% 20%;filter:grayscale(.3)}
.call .who{flex:1;min-width:0}
.call .who b{display:block;font:700 16px/1.2 var(--body)}
.call .who span{color:var(--muted);font-size:13px}
.call .btns{display:flex;gap:8px}
.call .btns i{width:34px;height:34px;border-radius:50%;display:block}
.call .btns .no{background:#d93a43}.call .btns .yes{background:#36b26a;animation:ring .5s ease-in-out infinite alternate}
.call.missed .who span{color:#ff6b6b}
.call.missed .btns{display:none}
@keyframes ring{to{transform:rotate(14deg) scale(1.06)}}
body.vision .wrap{animation:vis 3.2s ease-in-out;}
@keyframes vis{0%,100%{filter:none;transform:none}20%{filter:blur(2px) hue-rotate(40deg);transform:skewX(2deg) scale(1.01)}45%{filter:blur(1px) saturate(2) hue-rotate(-50deg);transform:skewX(-3deg) translateX(6px)}70%{filter:blur(2.5px) hue-rotate(90deg) contrast(1.3);transform:skewX(1deg) translateX(-5px)}}
body.vision h1,body.vision h2,body.vision h3{text-shadow:6px 0 rgba(160,90,220,.6),-6px 0 rgba(80,200,140,.45)}
.whisp{position:fixed;z-index:46;pointer-events:none;font:700 34px/1 var(--hand);color:rgba(200,160,240,.85);text-shadow:0 0 12px rgba(150,90,220,.8);animation:whisp 2.4s ease-out forwards}
@keyframes whisp{from{opacity:0;transform:scale(.8)}30%{opacity:1}to{opacity:0;transform:scale(1.25) translateY(-20px)}}
#stem .fl .hit{fill:transparent;stroke:none}
@media(prefers-reduced-motion:reduce){body.vision .wrap,.mirror.show img,.call .btns .yes,.vcr-time.go{animation:none}}

/* пасхалки: руна, дверь в башне */
.hs{position:relative;display:block}
.coin-hs{perspective:700px}
.coin-btn{all:unset;position:absolute;inset:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.coin-btn:focus-visible{outline:1px dashed var(--amber);outline-offset:-4px}
.pol img.coin-disc{position:absolute;left:13.54%;top:19.5%;width:74.8%;height:auto;aspect-ratio:1;object-fit:contain;background:none;filter:drop-shadow(0 6px 8px rgba(0,0,0,.6))}
#coin-img.flip{animation:coin-flip 1.5s cubic-bezier(.25,.6,.35,1)}
@keyframes coin-flip{0%{transform:translateY(0) rotateX(0)}45%{transform:translateY(-38%) rotateX(900deg) scale(.82)}100%{transform:translateY(0) rotateX(1800deg)}}
.coin-res{position:absolute;left:50%;bottom:10%;transform:translateX(-50%) rotate(-6deg);font:700 34px/1 var(--hand);color:#f3d27a;text-shadow:0 2px 0 rgba(0,0,0,.6),0 0 14px rgba(0,0,0,.7);pointer-events:none;animation:coin-res .4s ease-out}
@keyframes coin-res{from{opacity:0;transform:translateX(-50%) rotate(-6deg) scale(1.6)}}
@media(prefers-reduced-motion:reduce){#coin-img.flip{animation:none}}
.rune{all:unset;-webkit-tap-highlight-color:transparent;position:absolute;left:82.5%;top:69%;width:25%;height:31%;transform:translate(-50%,-50%);cursor:pointer;border-radius:10px}
.rune::after{content:"";position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,200,120,.55),rgba(255,170,80,.18) 60%,rgba(255,170,80,0));opacity:0;pointer-events:none}
.rune.lit::after{animation:rune-g 2.2s ease-out}
@keyframes rune-g{15%{opacity:1}100%{opacity:0}}
.rune:focus-visible,.tdoor:focus-visible{outline:1px dashed var(--amber);outline-offset:2px}
.rune-wave{position:fixed;z-index:57;pointer-events:none;left:var(--x,50%);top:var(--y,50%);width:150vmax;height:150vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(255,200,120,.32),rgba(255,170,80,.1) 45%,rgba(255,170,80,0));transform:translate(-50%,-50%) scale(.2);opacity:0;animation:rune-w 1.8s ease-out forwards}
@keyframes rune-w{25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}
body.rune-on .vcr-time{color:#ffcf8a;text-shadow:0 0 14px rgba(255,190,110,.6)}
.tdoor{all:unset;-webkit-tap-highlight-color:transparent;position:absolute;left:51%;top:73%;width:15%;height:21%;transform:translate(-50%,-50%);cursor:pointer;border-radius:45% 45% 3px 3px}
.tdoor:hover{box-shadow:inset 0 0 22px rgba(255,210,140,.18)}
.tyear{position:absolute;left:50%;top:9%;transform:translateX(-50%);display:flex;gap:4px;background:rgba(10,12,18,.9);padding:5px;border:1px solid #3a4152;border-radius:4px;z-index:2}
.tyear[hidden]{display:none}
.tyear input{all:unset;width:78px;padding:4px 6px;font:700 16px/1 var(--mono);letter-spacing:.12em;color:var(--chalk);border-bottom:1px solid #5d6573}
.tyear input::placeholder{color:#5d6573}
.tyear button{all:unset;cursor:pointer;padding:4px 8px;color:var(--amber);font:700 16px/1 var(--mono)}
.tyear.no{animation:t-no .35s}
@keyframes t-no{25%{transform:translateX(-56%)}75%{transform:translateX(-44%)}}
.y86{position:fixed;inset:0;z-index:58;pointer-events:none;overflow:hidden;-webkit-backdrop-filter:sepia(.85) contrast(1.15) brightness(.9);backdrop-filter:sepia(.85) contrast(1.15) brightness(.9);background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 2px,transparent 2px 4px),radial-gradient(ellipse at center,rgba(25,15,5,.55) 30%,rgba(25,12,0,.8));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;animation:y86 4.6s ease-in-out forwards}
.y86 .play{position:absolute;top:18px;left:20px;font:700 20px/1 var(--mono);letter-spacing:.1em;color:#f2ead8;text-shadow:2px 0 rgba(224,64,154,.6),-2px 0 rgba(59,224,160,.5)}
.y86 b{font:700 clamp(64px,16vw,150px)/1 var(--mono);color:#f2ead8;letter-spacing:.06em;text-shadow:3px 0 rgba(224,64,154,.6),-3px 0 rgba(59,224,160,.5)}
.y86 span{font:700 clamp(22px,5vw,34px)/1.1 var(--hand);color:#f2ead8;text-align:center;padding:0 16px}
@keyframes y86{0%{opacity:0}8%,88%{opacity:1}100%{opacity:0}}
.y86-news{position:absolute;top:56px;left:50%;width:min(560px,calc(100vw - 32px));background:#efe6cf;color:#2a2116;padding:12px 18px 14px;text-align:center;box-shadow:0 14px 30px rgba(0,0,0,.55);border-top:3px double #2a2116;border-bottom:3px double #2a2116;transform:translate(-50%,-160%) rotate(-1.5deg);animation:y86n 4s cubic-bezier(.2,1,.3,1) .5s forwards;background-image:repeating-linear-gradient(0deg,rgba(60,40,10,.05) 0 1px,transparent 1px 3px)}
.y86-news i{display:block;font:700 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;font-style:normal;border-bottom:1px solid rgba(42,33,22,.5);padding-bottom:7px;margin-bottom:8px}
.y86-news strong{display:block;font:700 clamp(22px,5.4vw,34px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.01em}
@keyframes y86n{0%{transform:translate(-50%,-160%) rotate(-1.5deg)}14%,100%{transform:translate(-50%,0) rotate(-1.5deg)}}
@media(prefers-reduced-motion:reduce){.rune.lit::after,.rune-wave,.y86,.tyear.no{animation-duration:.01s}.y86{animation:none}}

.jump{display:inline-block;margin-top:6px;font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--amber);text-decoration:none;border-bottom:1px dashed currentColor;padding-bottom:2px}
.jump:hover,.jump:focus-visible{color:var(--chalk)}
.jump:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.pen-note{margin:14px 0 0;font:600 24px/1.2 var(--hand);color:#8fb3e8;max-width:62ch}
.mx.flash{animation:flash 1.6s ease-out}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(185,200,216,.0)}20%{box-shadow:0 0 0 6px rgba(185,200,216,.35)}100%{box-shadow:0 0 0 0 rgba(185,200,216,0)}}

.emf-wrap{display:grid;place-items:center;width:100%;aspect-ratio:4/5;border:0;padding:0;cursor:pointer;background:radial-gradient(120% 90% at 50% 30%,#3b3a36,#1b1c1f 70%);font:inherit;color:inherit}
.emf{position:relative;display:flex;flex-direction:column;align-items:center;gap:7%;width:64%;height:86%;padding:8% 7% 0;border-radius:14px 14px 22px 22px;background:linear-gradient(160deg,#4a4d52,#2a2c30 45%,#1b1c1f);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -6px 12px rgba(0,0,0,.5),0 14px 22px rgba(0,0,0,.6);transform:rotate(-4deg);transition:transform .2s}
.emf-wrap:hover .emf{transform:rotate(-2deg)}
.emf-face{position:relative;display:block;width:100%;border-radius:6px 6px 3px 3px;background:#e8e1cb;box-shadow:inset 0 2px 6px rgba(0,0,0,.55),0 0 0 3px #111;overflow:hidden}
.emf-face::after{content:"";position:absolute;inset:0;background:linear-gradient(125deg,rgba(255,255,255,.45),transparent 38%)}
.emf-face svg{display:block;width:100%}
.emf-face path{fill:none;stroke-width:4}.emf-face .z1{stroke:#5d8a4a}.emf-face .z2{stroke:#d7a72c}.emf-face .z3{stroke:#b0312a}
.emf-face .tk line{stroke:#222;stroke-width:1.2}
.emf-face text{font:700 7px var(--mono);fill:#333}.emf-face text.u{font-size:8px;text-anchor:middle;fill:#666}
.emf-face #emf-needle line{stroke:#c2241c;stroke-width:1.8;stroke-linecap:round}
.emf-face circle{fill:#222}
.emf-leds{display:flex;gap:9%;justify-content:center;width:100%}
.emf-leds i{width:11%;aspect-ratio:1;border-radius:50%;background:#2c2f2a;box-shadow:inset 0 1px 2px rgba(0,0,0,.8);transition:background .06s,box-shadow .06s}
.emf-leds i.on.g{background:#7dff6a;box-shadow:0 0 8px #7dff6a}.emf-leds i.on.y{background:#ffe54a;box-shadow:0 0 8px #ffe54a}.emf-leds i.on.o{background:#ffa13a;box-shadow:0 0 8px #ffa13a}.emf-leds i.on.r{background:#ff3b30;box-shadow:0 0 10px #ff3b30}
.emf-lbl{font:700 9px/1 var(--mono);letter-spacing:.2em;color:#9aa0a6}
.emf-grill{width:56%;height:16%;background:radial-gradient(circle,#0b0c0d 32%,transparent 36%) 0 0/9px 9px;opacity:.9}
.emf-btn{position:absolute;right:-5px;top:30%;width:6px;height:18%;border-radius:2px;background:#151618}
.emf-wrap.live .emf{animation:emfShake .09s infinite}
@keyframes emfShake{50%{transform:rotate(-4deg) translate(.6px,-.4px)}}
@media (prefers-reduced-motion:reduce){.emf-wrap.live .emf{animation:none}}
.sources{max-width:640px;margin:6px 0 22px;padding:12px 16px 10px;background:#e9e4d6;color:#3a3326;font:500 17px/1.35 var(--hand);border-radius:2px;box-shadow:0 4px 12px rgba(0,0,0,.28);transform:rotate(.8deg)}
.sources a{color:#5a2a6e;text-decoration:underline;text-underline-offset:2px}
.disclaimer{position:relative;max-width:640px;margin:4px 0 26px;padding:14px 18px 12px;background:#f3ecd6;color:#3a3326;font:500 19px/1.3 var(--hand);border-radius:2px;box-shadow:0 6px 16px rgba(0,0,0,.35);transform:rotate(-1.2deg);animation:discIn 1.1s cubic-bezier(.2,.8,.25,1) .15s both}
.disclaimer::before{content:"";position:absolute;top:-9px;left:40px;width:70px;height:18px;background:var(--tape);transform:rotate(-4deg)}
@keyframes discIn{0%{opacity:0;transform:translate(-40px,24px) rotate(-8deg)}60%{opacity:1;transform:translate(4px,-3px) rotate(.5deg)}100%{opacity:1;transform:rotate(-1.2deg)}}
@media (prefers-reduced-motion:reduce){.disclaimer{animation:none}}
#tab-theories .card.locked::after{display:none}
#tab-theories .card.locked>*{filter:none;pointer-events:auto;user-select:auto}
#tab-theories .th-lock-note{display:none}
#tab-theories.th-locked .th-lock-note{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:12px 16px;border:1px dashed var(--line);border-radius:6px;background:rgba(13,15,20,.6);color:var(--chalk);font:13px/1.4 var(--mono);letter-spacing:.03em}
#tab-theories.th-locked .cards{filter:blur(7px);pointer-events:none;user-select:none;opacity:.85}

.tg-btn{display:inline-flex;align-items:center;gap:8px;font:700 13px/1 var(--display);letter-spacing:.1em;text-transform:uppercase;color:#bfe3ff;text-decoration:none;border:1px solid #2f86c9;background:rgba(36,129,204,.18);padding:9px 14px;border-radius:4px;box-shadow:0 0 18px rgba(36,129,204,.2)}
.tg-btn:hover{background:rgba(36,129,204,.3);color:#fff}
.tg-btn svg{width:16px;height:16px}
footer a{color:#9fd0ff}

.sources.thanks{display:block;max-width:720px;margin:34px 0 8px;padding:16px 20px 14px;transform:rotate(-.4deg)}
.sources.thanks>b{display:block;font:700 26px/1.1 var(--hand);color:#5a2a6e;margin-bottom:6px}
.sources.thanks p{margin:0 0 10px}
.sources.thanks ul{margin:0;padding-left:20px}
.sources.thanks li{margin:3px 0}
.sources.thanks .th-own{margin:10px 0 0;font-size:15px;opacity:.75}
.sources.thanks .th-special{margin:12px 0 0;padding:8px 12px;background:rgba(90,42,110,.08);border-left:3px solid #5a2a6e;border-radius:2px}
.pmodal,.vhs,.im-pop,.gate{overscroll-behavior:contain}
.pol figcaption{overflow-wrap:anywhere;min-width:0}.pins>*{min-width:0}
.pm-tg{margin-top:18px}
.pm-tg-intro{margin:0 0 12px;color:var(--chalk)}
.pm-tg-pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:0 0 14px}
.pm-tg-pics figure{margin:0;background:var(--paper);padding:5px 5px 8px;border-radius:2px;box-shadow:0 4px 10px rgba(0,0,0,.4)}
.pm-tg-pics img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.pm-tg-pics figcaption{font:600 15px/1.1 var(--hand);color:var(--ink);text-align:center;padding-top:5px}
.pm-tg-list{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:6px;color:var(--chalk)}
.pm-tg-link{display:inline-block;font:700 13px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#11161d;background:var(--amber);border-radius:3px;padding:9px 12px;text-decoration:none}

/* ===== телефон Сидни ===== */
.pm-phone-btn{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:12px;width:100%;max-width:340px;margin:4px 0 12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(135deg,#1f2733,#151a22);box-shadow:0 6px 18px rgba(0,0,0,.4)}
.pm-phone-btn .ic{font-size:30px;line-height:1}
.pm-phone-btn b{display:block;font:700 16px/1.2 var(--display);letter-spacing:.05em;text-transform:uppercase;color:var(--chalk)}
.pm-phone-btn i{font:12px/1.3 var(--mono);font-style:normal;color:var(--muted)}
.pm-phone-btn:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.sphone{position:fixed;inset:0;z-index:62;display:grid;place-items:center;background:rgba(3,4,6,.9);padding:max(10px,env(safe-area-inset-top,0px)) 10px max(10px,env(safe-area-inset-bottom,0px));overscroll-behavior:contain;--rot:0}
.sp-phone{position:relative;width:min(390px,100%);height:min(800px,100%);background:#0e1621;border-radius:34px;border:9px solid #05070a;box-shadow:0 0 0 2px #2a2f38,0 30px 80px rgba(0,0,0,.7);display:flex;flex-direction:column;overflow:hidden;font:15px/1.4 -apple-system,"Segoe UI",Roboto,var(--body)}
@media(max-width:520px){.sphone{padding:calc(max(14px,env(safe-area-inset-top,0px)) + 4vh) 7vw calc(max(14px,env(safe-area-inset-bottom,0px)) + 4vh);background:rgba(3,4,6,.72)}.sp-phone{border-width:6px;border-radius:30px;font-size:14px;box-shadow:0 0 0 1.5px #2a2f38,0 18px 50px rgba(0,0,0,.8)}.sp-head{padding:6px 10px 8px}.sp-av{width:36px;height:36px}}
.sp-phone::before{content:"";position:absolute;top:7px;left:50%;width:86px;height:22px;margin-left:-43px;border-radius:12px;background:#000;z-index:2;pointer-events:none}
@media(max-width:520px){.sp-phone::before{width:72px;height:19px;margin-left:-36px;top:6px}}
.sp-status{display:flex;justify-content:space-between;align-items:center;min-height:36px;padding:9px 26px 5px 30px;font:600 14px/1 -apple-system,"Segoe UI",sans-serif;color:#fff;background:#17212b;font-variant-numeric:tabular-nums}
.sp-ic{display:flex;align-items:center;gap:6px;color:#fff}.sp-ic svg{display:block;height:12px;width:auto;fill:currentColor}.sp-net .off{fill-opacity:.3}.sp-bat{height:13px!important}.sp-bat .lvl{fill:#ff453a}
.sp-head{display:flex;align-items:center;gap:10px;padding:8px 12px 10px;background:#17212b;border-bottom:1px solid #0b1118}
.sp-back{all:unset;cursor:pointer;font:400 34px/1 sans-serif;color:#6ab2f2;padding:0 6px 4px}
.sp-back:focus-visible{outline:2px solid #6ab2f2;border-radius:6px}
.sp-av{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.sp-name b{display:block;color:#fff;font-weight:600}.sp-name span{font-size:13px;color:#7f91a4}
.sp-feed{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 10px 30px;background:#0e1621 radial-gradient(circle at 30% 20%,#13202d,transparent 60%);filter:saturate(calc(1 - var(--rot)*.7)) contrast(calc(1 + var(--rot)*.25))}
.sp-sys,.sp-date{align-self:center;margin:8px auto;width:max-content;max-width:90%;padding:3px 10px;border-radius:12px;background:rgba(0,0,0,.35);color:#cfd8e2;font-size:13px}
.sp-msg{position:relative;margin:6px 0 10px;max-width:92%;background:#182533;border-radius:14px 14px 14px 4px;padding:8px 10px 6px;color:#e6edf3;box-shadow:0 1px 1px rgba(0,0,0,.3)}
.sp-txt{white-space:normal;overflow-wrap:anywhere}
.sp-txt b{color:#ff5c6c}
.sp-imgs{display:grid;gap:3px;margin:-4px -6px 8px;border-radius:10px;overflow:hidden}
.sp-imgs.n3{grid-template-columns:1fr 1fr}.sp-imgs.n3 img:first-child{grid-column:1/-1}
.sp-imgs img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.sp-imgs.n3 img:first-child{aspect-ratio:2/1}
.sp-media{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:10px;border-radius:10px;background:#0f1a24;color:#9fc6ea;text-decoration:none;font-size:13px}
.sp-media .pl{width:34px;height:34px;border-radius:50%;background:#2b5278;color:#fff;display:grid;place-items:center;font-size:14px;flex:none}
.sp-media .wave{flex:1;height:18px;background:repeating-linear-gradient(90deg,#6ab2f2 0 2px,transparent 2px 5px);-webkit-mask:linear-gradient(transparent 0,#000 30%,#000 70%,transparent);mask:linear-gradient(transparent 0,#000 30%,#000 70%,transparent);opacity:.7}
.sp-video{display:block;width:calc(100% + 12px);margin:-4px -6px 8px;aspect-ratio:1;object-fit:cover;border-radius:10px;background:#000}
button.pl{all:unset;box-sizing:border-box;cursor:pointer;width:38px;height:38px;border-radius:50%;background:#2b5278;color:#fff;display:grid;place-items:center;font-size:13px;flex:none}button.pl:focus-visible{outline:2px solid #6ab2f2}
.sp-media.voice .wave{display:flex;align-items:center;gap:2px;height:24px;opacity:1;background:none;-webkit-mask:none;mask:none}
.sp-media.voice .wave i{flex:1;min-width:2px;max-width:3px;border-radius:2px;background:#4a6b8c}.sp-media.voice .wave i.p{background:#6ab2f2}
.sp-media .tm{font:12px/1 var(--mono);color:#7f91a4;min-width:30px;text-align:right}
.sp-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-top:6px}
.sp-reacts{display:flex;flex-wrap:wrap;gap:4px}
.sp-reacts span{font-size:12px;padding:2px 7px;border-radius:12px;background:#2b5278;color:#fff}
.sp-meta{font-size:11px;color:#7f91a4;margin-left:auto}
.sp-thread{display:block;margin-top:7px;font:700 18px/1.2 var(--hand)!important;text-transform:none!important;letter-spacing:0!important;color:#f2c94c!important;text-decoration:none;border:0!important}
.sp-orig{display:block;margin-top:4px;font-size:12px;color:#6ab2f2;text-decoration:none}
/* порча */
.sp-msg.st1{border-left:2px solid rgba(217,58,67,.35)}
.sp-msg.st2{background:#1b1f2a;box-shadow:2px 0 rgba(255,0,60,.25),-2px 0 rgba(0,200,255,.25)}
.sp-msg.st2 .sp-txt{text-shadow:1px 0 rgba(255,0,60,.5),-1px 0 rgba(0,200,255,.5)}
.sp-msg.st3{background:#1d1416;color:#f1d7d7}
.sp-msg.st3 .sp-txt{letter-spacing:.01em}
.sp-msg.hand .sp-txt{font:600 22px/1.15 var(--hand);color:#e04a55;transform:rotate(-1.5deg)}
.sp-msg.big .sp-txt{font:700 26px/1.1 var(--display);letter-spacing:.04em}
.sp-msg.st3.seen{animation:sp-sway 6s ease-in-out infinite}
.sp-txt.jit{transform:translateX(2px) skewX(-4deg)}
@keyframes sp-sway{0%,100%{transform:none}50%{transform:translateX(1.5px) rotate(.25deg)}}
.sphone.sick .sp-phone::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(transparent 0 3px,rgba(0,0,0,.18) 3px 4px);animation:sp-roll 4s linear infinite;mix-blend-mode:multiply}
@keyframes sp-roll{to{background-position:0 120px}}
.sp-end{position:absolute;inset:0;background:#000;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:3}
.sp-end b{font:700 76px/1 var(--mono);color:#e9f1ff;text-shadow:3px 0 rgba(255,0,60,.8),-3px 0 rgba(0,200,255,.8);animation:sp-flick .18s steps(2) infinite}
.sp-end span{font:13px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:#7f91a4}
.sphone.dead .sp-end{display:flex}
@keyframes sp-flick{50%{opacity:.4;transform:translateX(-3px)}}
@media(prefers-reduced-motion:reduce){.sp-msg.st3.seen,.sp-end b,.sphone.sick .sp-phone::after{animation:none}.sp-txt.jit{transform:none}}
.tg-proof{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start;margin:10px 0 14px}
.tg-proof:not(:has(figure)){grid-template-columns:minmax(0,520px)}
@media(max-width:560px){.tg-proof{grid-template-columns:1fr}}
.tg-card{margin:0;padding:12px 14px;border-radius:14px 14px 14px 4px;background:#182533;color:#e6edf3;font:15px/1.45 -apple-system,"Segoe UI",var(--body);box-shadow:0 6px 16px rgba(0,0,0,.35)}
.tg-hd{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.tg-hd img{width:30px;height:30px;border-radius:50%;object-fit:cover;object-position:50% 20%}
.tg-hd b{color:#6ab2f2;font-weight:600}.tg-hd span{margin-left:auto;font-size:12px;color:#7f91a4}
.tg-card p{margin:0 0 8px}
.tg-card mark{background:rgba(217,58,67,.25);color:#ff7782;padding:0 3px;border-radius:3px}
.tg-card a{font-size:13px;color:#6ab2f2;text-decoration:none}
.tg-proof figure{margin:0;background:var(--paper);padding:6px 6px 8px;border-radius:2px;box-shadow:0 4px 10px rgba(0,0,0,.4);transform:rotate(1.5deg)}
.tg-proof figure img{display:block;width:100%;aspect-ratio:1;object-fit:cover}
.tg-proof figcaption{font:600 16px/1.1 var(--hand);color:var(--ink);text-align:center;padding-top:5px}

/* морозник на телефоне: двигаем только transform, а цвет и размытие — отдельным слоем поверх.
   filter на всей странице в Safari перерисовывает всё каждый кадр и дёргается */
.vis-veil{display:none}
@media (hover:none),(max-width:820px){
  body.vision .wrap{animation:vis-m 3.2s ease-in-out;will-change:transform}
  body.vision h1,body.vision h2,body.vision h3{text-shadow:none}
  .vis-veil{display:block;position:fixed;inset:0;z-index:45;pointer-events:none;opacity:0;
    background:radial-gradient(ellipse at 50% 45%,rgba(150,90,220,.18),rgba(60,20,90,.45));
    -webkit-backdrop-filter:blur(1.5px) hue-rotate(60deg) saturate(1.6);backdrop-filter:blur(1.5px) hue-rotate(60deg) saturate(1.6);
    animation:vis-veil 3.2s ease-in-out forwards;will-change:opacity}
}
@keyframes vis-m{0%,100%{transform:none}20%{transform:translate3d(-4px,0,0) scale(1.008)}45%{transform:translate3d(6px,1px,0)}60%{transform:translate3d(-3px,0,0) scale(1.004)}80%{transform:translate3d(4px,-1px,0)}}
@keyframes vis-veil{0%{opacity:0}18%{opacity:1}45%{opacity:.7}70%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){body.vision .wrap{animation:none}.vis-veil{animation:none;opacity:0}}

/* ===== пересказ серии ===== */
.rc-btn{display:inline-flex;align-items:center;gap:6px;cursor:pointer;font:600 13px/1 var(--body);color:#e6dcf3;background:rgba(42,23,54,.55);border:1px solid #5a4370;border-radius:999px;padding:6px 11px 6px 9px;transition:background .2s,border-color .2s}
.rc-btn svg{width:14px;height:14px;flex:none}
.rc-btn:hover,.rc-btn[aria-expanded="true"]{background:rgba(90,52,120,.6);border-color:#9a6fd0}
.rc-btn:focus-visible{outline:2px solid #c9b0e6;outline-offset:2px}
.recap{position:absolute;top:calc(100% + 12px);left:0;width:min(640px,100%);z-index:25;display:flex;flex-direction:column}
.recap[hidden]{display:none}
.rc-sheet{position:relative;z-index:1;display:flex;flex-direction:column;max-height:inherit;min-height:0;background:var(--paper);color:var(--ink);border-radius:3px;box-shadow:0 18px 40px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.25)}
.recap.on .rc-sheet{animation:rc-in .35s cubic-bezier(.2,.9,.3,1)}
@keyframes rc-in{from{opacity:0;transform:translateY(-8px) rotate(-.4deg)}}
.rc-head{display:flex;align-items:center;gap:6px;padding:12px 10px 8px 16px;border-bottom:1px solid #d8d0bf}
.rc-ttl{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:2px}
.rc-n{font:11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.rc-ttl b{font:700 27px/1.05 var(--hand);color:#5b2f86}
.rc-nav,.rc-x{all:unset;box-sizing:border-box;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;font:400 26px/1 var(--body);color:#5b2f86;flex:none}
.rc-x{font-size:24px;color:var(--ink-soft)}
.rc-nav:hover:not(:disabled),.rc-x:hover{background:rgba(91,47,134,.1)}
.rc-nav:disabled{opacity:.22;cursor:default}
.rc-nav:focus-visible,.rc-x:focus-visible{outline:2px solid #9a6fd0}
.rc-body{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:6px 0 4px}
.rc-txt{padding:0 22px 0 30px;background:linear-gradient(90deg,transparent 18px,rgba(217,58,67,.28) 18px 19px,transparent 19px),repeating-linear-gradient(transparent 0 27px,rgba(70,100,150,.16) 27px 28px)}
.rc-body p{margin:0 0 0;font:15.5px/28px var(--body);color:var(--ink)}
.rc-body p{text-indent:1.2em}
.rc-foot{padding:6px 16px 12px 30px;font:600 17px/1.2 var(--hand);color:var(--ink-soft)}
.rc-foot:empty{padding:0 0 10px}
.rc-vine{position:absolute;left:-14px;top:-14px;z-index:2;pointer-events:none;overflow:visible}
.rc-vine .vm{fill:none;stroke:#3f6a4a;stroke-width:2.6;stroke-linecap:round;filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.rc-vine.grow .vm{transition:stroke-dashoffset 1.5s cubic-bezier(.3,.7,.3,1);stroke-dashoffset:0!important}
.rc-vine .lf{fill:#2f5139;stroke:#4f7d5b;stroke-width:.5}
.rc-vine .pt{fill:#2a1736;stroke:#9a6fd0;stroke-width:.7}
.rc-vine .cn{fill:#e0cd86}
.rc-vine .rc-deco{opacity:0;transition:opacity .6s .9s}
.rc-vine.grow .rc-deco{opacity:1}
.rc-vine .rc-fl{filter:drop-shadow(0 0 3px rgba(154,111,208,.55))}
@media(max-width:600px){.recap{top:calc(100% + 8px);width:calc(100% - 12px)}.rc-txt{padding:0 14px 0 26px}.rc-body p{font-size:15px}.rc-ttl b{font-size:24px}.rc-vine{left:-8px}}
@media(prefers-reduced-motion:reduce){.recap.on .rc-sheet{animation:none}.rc-vine .rc-deco{opacity:1;transition:none}}

/* ===== Хэллоуин (до 3 ноября) ===== */
body.hw .wrap{padding-top:38px}
@media(max-width:600px){body.hw .wrap{padding-top:30px}}
.hw-garland{position:absolute;top:0;left:0;right:0;height:70px;z-index:3;pointer-events:none;overflow:hidden}
.hw-garland svg{display:block}
.hw-pk .b{fill:#e0731f;transition:fill 1s}.hw-pk .r{fill:#c75f15;opacity:.85;transition:fill 1s}
.hw-pk .f{fill:#ffd36b;animation:hw-glow 2.6s ease-in-out infinite;animation-delay:var(--d,0s);transition:fill 1s}
.hw-pk{filter:drop-shadow(0 0 5px rgba(255,140,40,.55))}
@keyframes hw-glow{0%,100%{opacity:1}40%{opacity:.55}45%{opacity:.95}70%{opacity:.75}}
.hw-tag{font:700 24px/1 var(--hand);color:#ff8a2a;text-shadow:0 0 12px rgba(255,120,30,.35);margin:2px 0 6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.hw-meter{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font:12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#f3c08a;border:1px dashed rgba(255,138,42,.6);border-radius:4px;padding:7px 12px;background:rgba(255,138,42,.08);transform:rotate(1deg);box-shadow:0 0 18px rgba(255,120,30,.12)}
.hw-meter b{color:#ffd9b0;font-weight:700;letter-spacing:.04em}
.hw-meter .hm-pk{display:inline-flex;gap:3px}
.hw-meter .hm-pk svg{width:17px;height:18px;opacity:.5;filter:grayscale(.75) brightness(.8);transition:opacity .4s,filter .4s}
.hw-meter .hm-pk svg.on{opacity:1;filter:drop-shadow(0 0 4px rgba(255,140,40,.8))}
.hw-meter .hm-pk .hw-pk{animation:none}
.hw-meter .hm-note{font-size:10px;color:var(--muted);letter-spacing:.08em}
.hw-meter .hw-reset{font-size:10px}
body.hw-blood .hw-meter{border-color:rgba(224,53,60,.6);background:rgba(224,53,60,.08);color:#f0a0a0}
body.hw h1 span{text-shadow:0 0 18px rgba(255,120,30,.45),0 0 16px rgba(217,58,67,.35)}
/* после всех тыкв */
body.hw-blood .hero-bg{filter:saturate(1.15)}
body.hw-blood .hero-bg::before{filter:sepia(.35) hue-rotate(-30deg) saturate(1.6)}
body.hw-blood .hw-pk .b{fill:#3a0d10}body.hw-blood .hw-pk .r{fill:#290709}body.hw-blood .hw-pk .f{fill:#f4f8ff}
body.hw-blood .hw-pk{filter:drop-shadow(0 0 6px rgba(220,30,40,.6))}
body.hw-blood .hw-tag{color:#e0353c;text-shadow:0 0 14px rgba(224,40,50,.45)}
/* финал охоты */
.hw-fin{position:fixed;inset:0;z-index:80;background:#040306;overflow:hidden;opacity:0;transition:opacity .7s}
.hw-fin.on{opacity:1}
.hw-fin .fin-bg{position:absolute;inset:0;background:#050206 url("img/hw_bloodmoon2.webp") center top/cover no-repeat;transform:scale(1.14);filter:brightness(.15) saturate(.6);transition:transform 6s cubic-bezier(.2,.7,.2,1),filter 3s ease}
.hw-fin.on .fin-bg{transform:scale(1);filter:brightness(1) saturate(1)}
.hw-fin .fin-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,2,5,.85) 82%,#040205);pointer-events:none}
.hw-fin .fin-txt{position:absolute;z-index:2;left:0;right:0;margin:0 auto;bottom:max(28px,env(safe-area-inset-bottom,0px));width:min(520px,88vw);text-align:center;color:#f2e8e8;opacity:0;transform:translateY(12px);transition:opacity 1.2s 2.6s,transform 1.2s 2.6s}
.hw-fin.on .fin-txt{opacity:1;transform:none}
.hw-fin b{display:block;font:700 clamp(30px,7vw,46px)/1 var(--hand);color:#ff4a4f;text-shadow:0 0 18px rgba(255,40,50,.6);margin-bottom:12px}
.hw-fin p{margin:0 0 10px;font:16px/1.5 var(--body)}
.hw-fin .fin-s{font:12px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#b9a3a6}
.hw-fin button{all:unset;cursor:pointer;margin-top:10px;padding:10px 20px;border:1px solid #ff4a4f;border-radius:4px;font:600 13px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ffd6d7;background:rgba(160,10,20,.25)}
.hw-fin button:focus-visible{outline:2px solid #ffd6d7;outline-offset:3px}
/* паутина и паук */
.hw-web{position:absolute;top:0;right:0;width:120px;height:120px;z-index:3;pointer-events:none}
.hw-web>svg{position:absolute;top:0;right:0;width:100%;height:100%}
.hw-spider{all:unset;position:absolute;top:0;right:38px;width:40px;height:110px;cursor:pointer;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.hw-spider .th{position:absolute;top:0;left:50%;width:1px;height:72px;background:rgba(220,226,235,.55);transition:height .8s cubic-bezier(.5,0,.3,1)}
.hw-spider svg{position:absolute;top:66px;left:0;width:40px;height:34px;transform-origin:50% -60px;animation:hw-sway 4.5s ease-in-out infinite;transition:top .8s cubic-bezier(.5,0,.3,1)}
.hw-spider.up .th{height:4px}.hw-spider.up svg{top:-2px}
.hw-spider:focus-visible{outline:2px solid #ff8a2a;outline-offset:2px}
@keyframes hw-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
@media(max-width:600px){.hw-web{width:86px;height:86px}.hw-spider{right:24px;height:90px}.hw-spider .th{height:52px}.hw-spider svg{top:46px;width:32px;height:27px;transform-origin:50% -46px}}
/* охота на тыквы */
#tab-people,#tab-theories,#tab-evidence,#tab-ts1{position:relative}
.hw-hunt{all:unset;position:absolute;z-index:6;width:46px;height:46px;filter:drop-shadow(0 0 10px rgba(255,140,40,.7));cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .2s}
.hw-hunt svg{display:block;width:100%;height:100%;overflow:visible}
.hw-hunt:hover{transform:scale(1.12) rotate(-6deg)}
.hw-hunt:focus-visible{outline:2px solid #ff8a2a;outline-offset:3px;border-radius:50%}
.hw-hunt.p1{right:2px;top:-6px;transform:rotate(12deg)}
.hw-hunt.p2{left:4%;bottom:18px}
.hw-hunt.p3{right:6px;bottom:-26px;transform:rotate(-10deg)}
.hw-hunt.p4{left:-6px;bottom:-24px;transform:rotate(8deg)}
.hw-hunt.p5{right:10px;bottom:-30px;transform:rotate(-14deg)}
.hw-hunt.got .hw-pk .f{fill:#fff2a8}.hw-hunt.got .hw-pk{filter:drop-shadow(0 0 10px rgba(255,170,60,.95))}
.hw-hunt.pop{animation:hw-pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes hw-pop{0%{transform:scale(.7)}60%{transform:scale(1.3) rotate(8deg)}100%{transform:scale(1)}}
.hw-toast b{color:#e0731f}
@media(prefers-reduced-motion:reduce){.hw-pk .f,.hw-spider svg{animation:none}.hw-fin .fin-bg,.hw-fin .fin-txt{transition:none}}
.hw-reset{all:unset;cursor:pointer;color:#ff8a2a;text-decoration:underline;text-underline-offset:3px}
.hw-reset:focus-visible{outline:2px solid #ff8a2a;outline-offset:2px}

/* летучие мыши */
.hw-orbit{display:none}
@media(min-width:900px){.hw-orbit{display:block;position:absolute;z-index:1;width:0;height:0;top:calc(min(980px,120vh)*.11);right:calc(max(0px,(100vw - 1240px)/2 + 40px) + min(980px,120vh)*.36)}}
.hw-orb{position:absolute;left:0;top:0;width:0;height:0;animation:hw-orb 9s linear infinite;transform:scaleY(.38)}
.hw-orb.o1{animation-duration:12s;animation-delay:-4s}.hw-orb.o2{animation-duration:15s;animation-delay:-9s;animation-direction:reverse}
.hw-obat{position:absolute;left:110px;top:-12px;width:46px;animation:hw-orb-r 9s linear infinite}
.o1 .hw-obat{left:150px;width:38px;animation-duration:12s;animation-delay:-4s}.o2 .hw-obat{left:85px;width:32px;animation-duration:15s;animation-delay:-9s;animation-direction:reverse}
@keyframes hw-orb{from{transform:scaleY(.38) rotate(0)}to{transform:scaleY(.38) rotate(360deg)}}
@keyframes hw-orb-r{from{transform:rotate(0) scaleY(2.6)}to{transform:rotate(-360deg) scaleY(2.6)}}
.hw-obat svg,.hw-bat svg{display:block;width:100%;overflow:visible;fill:#0b0c11}
.hw-bat svg .wl,.hw-obat svg .wl{transform-origin:46px 21px;animation:hw-wl var(--f,.2s) ease-in-out infinite alternate}
.hw-bat svg .wr,.hw-obat svg .wr{transform-origin:54px 21px;animation:hw-wr var(--f,.2s) ease-in-out infinite alternate}
@keyframes hw-wl{from{transform:rotate(-26deg) scaleY(.9)}to{transform:rotate(38deg) scaleY(.55)}}
@keyframes hw-wr{from{transform:rotate(26deg) scaleY(.9)}to{transform:rotate(-38deg) scaleY(.55)}}
.hw-bat{position:fixed;left:-110px;width:calc(70px*var(--s,1));z-index:4;pointer-events:none;opacity:0;animation:hw-fly var(--dur,7s) linear forwards}
.hw-bat.rtl{left:auto;right:-110px;animation-name:hw-fly-r}
.hw-bat .bob{animation:hw-bob 1.3s ease-in-out infinite alternate}
@keyframes hw-bob{from{transform:translateY(-10px) rotate(-4deg)}to{transform:translateY(12px) rotate(5deg)}}
@keyframes hw-fly{0%{opacity:0;transform:translate(0,0)}6%{opacity:.95}30%{transform:translate(30vw,-34px)}55%{transform:translate(56vw,18px)}80%{transform:translate(84vw,-26px)}94%{opacity:.95}100%{opacity:0;transform:translate(calc(100vw + 200px),6px)}}
@keyframes hw-fly-r{0%{opacity:0;transform:translate(0,0)}6%{opacity:.95}30%{transform:translate(-30vw,-34px)}55%{transform:translate(-56vw,18px)}80%{transform:translate(-84vw,-26px)}94%{opacity:.95}100%{opacity:0;transform:translate(calc(-100vw - 200px),6px)}}
body.hw-blood .hw-obat svg,body.hw-blood .hw-bat svg{fill:#1a0204}
@media(prefers-reduced-motion:reduce){.hw-orb,.hw-obat,.hw-obat svg .wl,.hw-obat svg .wr{animation:none}}
/* на широких экранах — расширенная картинка: башня по центру, текст справа на фоне неба */
@media(min-aspect-ratio:4/3){
.hw-fin .fin-bg{background-image:url("img/hw_bloodmoon_wide.webp");background-position:center 30%}
.hw-fin .fin-bg::after{background:linear-gradient(90deg,transparent 55%,rgba(4,2,5,.55) 80%,rgba(4,2,5,.7)),linear-gradient(180deg,transparent 75%,rgba(4,2,5,.6))}
.hw-fin .fin-txt{left:auto;right:max(24px,5vw);bottom:auto;top:50%;margin:0;width:min(400px,30vw);text-align:left;transform:translateY(-44%)}
.hw-fin.on .fin-txt{transform:translateY(-50%)}
.hw-fin b{font-size:clamp(26px,min(3.6vw,7vh),56px)}
.hw-fin p{font-size:clamp(13px,min(1.3vw,2.6vh),18px)}}
@media(min-aspect-ratio:4/3) and (max-aspect-ratio:16/10){.hw-fin .fin-txt{width:min(300px,27vw);right:3vw}}
@media(min-aspect-ratio:4/3) and (max-height:500px){.hw-fin .fin-txt p{margin-bottom:6px}.hw-fin button{margin-top:4px;padding:8px 16px}}

/* ===== Мини-игра «Не дай тени дойти» ===== */
.game{max-width:760px;margin:0 auto}
.g-hud{max-width:100%}
.g-hud{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font:13px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.g-score{color:var(--chalk);font-weight:700}
.g-best{margin-left:auto}
.g-lives{display:inline-flex;gap:6px;align-items:flex-end}
.g-lives .cdl{display:block;width:16px;height:32px}
.g-lives svg{display:block;width:100%;height:100%;overflow:visible}
.g-lives .fl{transform-origin:10px 12px;animation:cdl-fl 1.6s ease-in-out infinite;animation-delay:var(--d)}
.g-lives .halo{animation:cdl-halo 2.3s ease-in-out infinite;animation-delay:var(--d)}
.g-lives .smoke{opacity:0}
.g-lives .cdl:not(.on) .fl,.g-lives .cdl:not(.on) .halo{display:none}
.g-lives .cdl:not(.on) .smoke{animation:cdl-smoke 2.4s ease-out infinite}
.g-lives .cdl:not(.on) svg{filter:brightness(.55) saturate(.6)}
@keyframes cdl-fl{0%,100%{transform:scale(1,1) rotate(0)}25%{transform:scale(.94,1.06) rotate(-3deg)}50%{transform:scale(1.04,.95) rotate(2deg)}75%{transform:scale(.97,1.04) rotate(-1deg)}}
@keyframes cdl-halo{0%,100%{opacity:.8}50%{opacity:.45}}
@keyframes cdl-smoke{0%{opacity:0;transform:translateY(2px)}25%{opacity:.8}100%{opacity:0;transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.g-lives .fl,.g-lives .halo{animation:none}}
.g-stage{position:relative;margin:0 auto;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#05060a;box-shadow:0 18px 40px rgba(0,0,0,.45)}
.g-stage canvas{display:block;touch-action:none;cursor:crosshair}
.g-ov{position:absolute;inset:0;display:grid;place-items:center;padding:18px;background:rgba(5,6,10,.55)}
.g-ov[hidden]{display:none}
.g-card{background:var(--paper);color:var(--ink);border-radius:4px;padding:20px 22px;max-width:380px;width:100%;box-shadow:0 14px 40px rgba(0,0,0,.6);transform:rotate(-1deg)}
.g-card h3{margin:0 0 8px;font:700 30px/1.05 var(--hand);color:var(--red)}
.g-card p{margin:0 0 10px;font:15px/1.4 var(--body)}
.g-card .g-big{font:700 22px/1 var(--display);letter-spacing:.04em;text-transform:uppercase}
.g-card ul{margin:0 0 14px;padding-left:18px;font:14px/1.4 var(--body);color:var(--ink-soft)}
.g-card li{margin:3px 0}
.g-btn{all:unset;cursor:pointer;display:inline-block;font:600 14px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--red);border-radius:999px;padding:11px 20px}
.g-btn:hover{filter:brightness(1.1)}
.g-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.g-combo{font:700 16px/1 var(--display);letter-spacing:.04em;color:#ffc65a;min-width:2ch;text-shadow:0 0 8px rgba(255,170,60,.5)}
.g-combo.hot{color:#ff8a3a;animation:g-pulse .8s ease-in-out infinite}
@keyframes g-pulse{50%{transform:scale(1.15)}}
.g-flash{all:unset;position:absolute;left:12px;bottom:12px;z-index:2;width:58px;height:58px;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:radial-gradient(circle,rgba(30,22,10,.85),rgba(10,8,6,.75));border:1.5px solid rgba(255,190,80,.25);opacity:.35;transition:opacity .3s,box-shadow .3s;touch-action:manipulation}
.g-flash img{width:40px;height:40px;filter:grayscale(.7)}
.g-flash .g-fn{position:absolute;right:-3px;top:-3px;min-width:20px;height:20px;border-radius:10px;background:#ffb347;color:#2a1a05;font:700 12px/20px var(--display);text-align:center}
.g-flash .g-fn:empty{display:none}
.g-flash.ready{opacity:1;border-color:rgba(255,200,90,.9);box-shadow:0 0 22px rgba(255,180,60,.6);animation:g-pulse 1.2s ease-in-out infinite}
.g-flash.ready img{filter:none}
.g-flash:disabled{cursor:default}
.g-flash:focus-visible{outline:2px solid #ffd78a;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.g-combo.hot,.g-flash.ready{animation:none}}
/* на вкладке игры полоса с сериями не прилипает, чтобы поле было больше */
body.tab-game .epbar{position:relative}
.g-ov{overflow:auto}
@media(max-width:560px){.g-card{padding:14px 16px}.g-card h3{font-size:26px}.g-card p,.g-card ul{font-size:13.5px}.g-card ul{margin-bottom:10px}}
.g-pause{all:unset;width:40px;height:40px;border-radius:50%;cursor:pointer;display:grid;place-items:center;background:rgba(10,12,18,.6);border:1px solid rgba(255,255,255,.18);touch-action:manipulation}
.g-pause[hidden]{display:none}
.g-pause svg{width:18px;height:18px;fill:#e4e6eb}
.g-pause:hover{background:rgba(30,34,44,.8)}
.g-pause:focus-visible{outline:2px solid #e4e6eb;outline-offset:2px}
.g-row{display:flex;gap:10px;flex-wrap:wrap}
.g-ghost{background:none;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink-soft)}
/* пометки карандашом: догадки, не факты */
.pencil{display:block;margin-top:8px;font:500 20px/1.15 var(--hand);color:#a9adb6;opacity:.85;transform:rotate(-1.2deg);transform-origin:left center;text-shadow:0 0 .6px rgba(169,173,182,.6);letter-spacing:.01em}
.pencil::before{content:"✎ ";font-family:var(--body);font-size:14px;opacity:.7}
.pencil em{display:block;font-style:normal;font-size:16px;opacity:.75;margin-top:2px}
.pencil.off{display:none}
/* узкие Android (360px): всегда две колонки полароидов */
@media(max-width:400px){
  .pins,.pins7{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .pins .pol figcaption,.pins7 .pol figcaption{font-size:21px;hyphens:auto}
  .cyc8{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* очень узкие экраны (320px): шапка не шире экрана */
header>div{min-width:0}
.egg-meter,.hw-meter{max-width:100%;box-sizing:border-box}
@media(max-width:360px){.egg-meter{flex-wrap:wrap;row-gap:6px}.em-dots{flex-wrap:wrap}}
.note,.par>div,.card p{overflow-wrap:break-word;hyphens:auto}
.par,.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
@media(max-width:360px){.pins .note,.pins7 .note{font-size:13px}}

/* ===== Карта Сентфора ===== */
.smap-test{display:inline-block;margin:-6px 0 14px;font:11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ffc65a;border:1px dashed rgba(255,198,90,.5);border-radius:4px;padding:5px 8px}
.smap-wrap{position:relative}
.smap-scroll{overflow-x:auto;overflow-y:hidden;border-radius:6px;box-shadow:0 18px 40px rgba(0,0,0,.45);-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.smap-board{position:relative;width:100%;aspect-ratio:1728/2474}
.smap-img{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none}
@media(min-width:761px){.smap-wrap{display:flex;gap:22px;align-items:flex-start;justify-content:center}.smap-scroll{flex:0 1 760px;min-width:0}.smap-wrap .smap-card{position:sticky;top:176px;right:auto;flex:0 0 340px;max-height:calc(100vh - 196px)}}
.smap-pin[class*="lab-"] span{position:absolute;margin:0}
.smap-pin.lab-l span{right:calc(100% + 3px);top:1px}
.smap-pin.lab-r span{left:calc(100% + 3px);top:1px}
.smap-pin.lab-b span{top:calc(100% + 1px);left:50%;transform:translateX(-50%)}
.smap-pin.lab-t span{bottom:calc(100% + 2px);left:50%;transform:translateX(-50%)}
.smap-pin.lab-tl span{bottom:calc(100% + 2px);right:45%}
.smap-pin.lab-tr span{bottom:calc(100% + 2px);left:45%}
.smap-pin:hover,.smap-pin.sel{z-index:3}
.smap-pics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 10px}
.smap-pics .smap-pol{margin:0}
.smap-pics .smap-pol:nth-child(2){transform:rotate(1.8deg)}
.smap-pics .smap-pol img{aspect-ratio:3/5}
@media(max-width:760px){.smap-pics .smap-pol img{aspect-ratio:3/4;max-height:34vh}}
.smap-pics.wide{grid-template-columns:1fr}
.smap-pics.wide .smap-pol img{aspect-ratio:16/10;max-height:none}
@media(max-width:760px){.smap-pics.wide{grid-template-columns:1fr 1fr}.smap-pics.wide .smap-pol img{aspect-ratio:4/3}.smap-pics.wide .smap-pol:first-child:nth-last-child(3){grid-column:1/-1}.smap-pics.wide .smap-pol:first-child:nth-last-child(3) img{aspect-ratio:16/9}}
@media(min-width:761px){.smap-pics.wide .smap-pol:first-child:nth-last-child(3)~.smap-pol{display:inline-block}.smap-pics.wide:has(.smap-pol:nth-child(3)){grid-template-columns:1fr 1fr}.smap-pics.wide:has(.smap-pol:nth-child(3)) .smap-pol:first-child{grid-column:1/-1}.smap-pics.wide:has(.smap-pol:nth-child(3)) .smap-pol:not(:first-child) img{aspect-ratio:4/3}}
.smap-pics.one{grid-template-columns:1fr!important}
@media(min-width:761px){.smap-pics.wide:has(.smap-pol:nth-child(4)) .smap-pol:first-child{grid-column:auto}.smap-pics.wide:has(.smap-pol:nth-child(4)) .smap-pol img{aspect-ratio:4/3}}
.smap-pol figcaption{font-size:19px;padding:6px 2px 0}
@media(max-width:760px){.smap-pol figcaption{font-size:17px}}
@media(min-width:761px){.smap-pics.wide:has(.smap-pol:nth-child(5)) .smap-pol:first-child{grid-column:1/-1}.smap-pics.wide:has(.smap-pol:nth-child(5)) .smap-pol:first-child img{aspect-ratio:16/10}}
@media(max-width:760px){.smap-pics.wide .smap-pol:first-child:nth-last-child(5){grid-column:1/-1}.smap-pics.wide .smap-pol:first-child:nth-last-child(5) img{aspect-ratio:16/9}}
.smap-ph{position:relative;overflow:hidden}
.smap-ph .smap-scr{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease;pointer-events:none}
.smap-pol.scary{cursor:pointer;-webkit-tap-highlight-color:transparent}
.smap-pol.scary.on .smap-scr{opacity:1;transition-duration:.35s}
@media(hover:hover){.smap-pol.scary:hover .smap-scr{opacity:1;transition-duration:.35s}}
.smap-pol[role=button]{cursor:zoom-in}
.smap-lb{position:fixed;inset:0;z-index:400;background:rgba(8,9,12,.92);display:flex;align-items:center;justify-content:center;gap:10px;padding:56px 12px calc(20px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.smap-lb[hidden]{display:none}
html.lb-open{overflow:hidden}
.lb-fig{margin:0;max-width:min(1100px,100%);display:flex;flex-direction:column;align-items:center;min-width:0}
.lb-ph{position:relative;background:var(--paper);padding:10px 10px 0;border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.lb-ph img{display:block;max-width:min(1060px,calc(100vw - 150px));max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);width:auto;height:auto;object-fit:contain}
.lb-ph .lb-scr{position:absolute;left:10px;top:10px;width:calc(100% - 20px);height:calc(100% - 10px);object-fit:cover;opacity:0;transition:opacity .9s ease;pointer-events:none}
.lb-ph:not(.scary) .lb-scr{display:none}
.lb-ph.scary{cursor:pointer}
.lb-ph.scary.on .lb-scr{opacity:1;transition-duration:.35s}
@media(hover:hover){.lb-ph.scary:hover .lb-scr{opacity:1;transition-duration:.35s}}
.lb-cap{background:var(--paper);color:var(--ink);font:700 26px/1.1 var(--hand);text-align:center;padding:8px 14px 12px;width:100%;box-sizing:border-box;border-radius:0 0 2px 2px;box-shadow:0 20px 60px rgba(0,0,0,.7)}
.lb-n{margin-top:10px;font:12px/1 var(--mono);letter-spacing:.12em;color:rgba(255,255,255,.6)}
.lb-x{all:unset;position:absolute;top:10px;right:14px;font:34px/1 var(--body);color:#fff;cursor:pointer;padding:6px 10px}
.lb-a{all:unset;flex:0 0 auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font:34px/1 var(--body);color:#fff;background:rgba(255,255,255,.1);cursor:pointer}
.lb-a:hover{background:rgba(255,255,255,.2)}
.lb-x:focus-visible,.lb-a:focus-visible{outline:2px solid #fff;outline-offset:2px}
.smap-lb.single .lb-a{visibility:hidden}
@media(max-width:760px){.smap-lb{padding:52px 0 calc(16px + env(safe-area-inset-bottom));gap:0}
 .lb-ph{padding:6px 6px 0}.lb-ph img{max-width:calc(100vw - 12px);max-height:calc(100dvh - 190px)}
 .lb-ph .lb-scr{left:6px;top:6px;width:calc(100% - 12px);height:calc(100% - 6px)}
 .lb-a{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));width:44px;height:44px}.lb-prev{left:16px}.lb-next{right:16px}
 .lb-cap{font-size:22px}.lb-n{margin-top:18px}}
.smap-pol,.smap-pol *,.smap-lb,.smap-lb *,.smap-pin{-webkit-tap-highlight-color:transparent}
.smap-pol,.smap-lb .lb-ph,.smap-lb img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.smap-pol:focus,.lb-ph:focus{outline:none}
.smap-pol,.smap-lb,.lb-a,.lb-x,.smap-pin{touch-action:manipulation}
.smap-pol:focus-visible{outline:2px solid #ffc65a;outline-offset:3px}
.smap-lb img::selection,.smap-pol img::selection{background:transparent}
.lb-ph.nt .lb-scr{transition:none!important;opacity:0!important}
.lg-pin.old{background:#6a3aa8}
.smap-svg{display:block;width:100%;height:100%}
.sm-lbl{font:italic 600 19px var(--hand);fill:#4a3f2a}
.sm-water{fill:#4d6670}
.sm-big{font:700 24px var(--display);letter-spacing:.14em;fill:#3b3122}
.sm-red{fill:#8b1e24}
.sm-sm{font:11px var(--mono);letter-spacing:.08em;fill:#5a4c34}
.smap-pins{position:absolute;inset:0}
.smap-pin{all:unset;position:absolute;transform:translate(-50%,-100%);cursor:pointer;display:flex;flex-direction:column;align-items:center;-webkit-tap-highlight-color:transparent}
.smap-pin i{width:22px;height:22px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:radial-gradient(circle at 40% 40%,#ff6b6b,#b3141c 65%,#6d0a10);box-shadow:0 3px 5px rgba(0,0,0,.45);border:2px solid #f2eee5}
.smap-pin.old i{background:radial-gradient(circle at 40% 40%,#c49cff,#6a3aa8 65%,#3b1a66)}
.smap-pin span{order:-1;margin-bottom:4px;font:700 13px/1 var(--display);letter-spacing:.03em;color:#2a2318;background:rgba(242,238,229,.92);padding:3px 6px;border-radius:3px;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.25);opacity:.92}
.smap-pin:hover span,.smap-pin.sel span{opacity:1;background:#fff}
.smap-pin.sel i{transform:rotate(-45deg) scale(1.25)}
.smap-pin.hot i{animation:smap-hot 1.6s ease-in-out infinite}
@keyframes smap-hot{0%,100%{box-shadow:0 3px 5px rgba(0,0,0,.45),0 0 0 0 rgba(255,80,80,.6)}50%{box-shadow:0 3px 5px rgba(0,0,0,.45),0 0 0 9px rgba(255,80,80,0)}}
.smap-pin:focus-visible i{outline:2px solid #fff;outline-offset:3px}
.smap-card{position:absolute;right:14px;top:14px;width:min(340px,calc(100% - 28px));max-height:calc(100% - 28px);overflow-y:auto;background:var(--paper);color:var(--ink);border-radius:3px;padding:16px 16px 12px;box-shadow:0 16px 40px rgba(0,0,0,.55);z-index:3;transform:rotate(.6deg)}
.smap-card[hidden]{display:none}
.smap-card h3{margin:0 26px 4px 0;font:700 28px/1.05 var(--hand);color:var(--red)}
.smap-tag{font:11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#6a3aa8;margin-bottom:8px}
.smap-x{all:unset;position:absolute;right:10px;top:8px;font:24px/1 var(--body);color:var(--ink-soft);cursor:pointer;padding:4px}
.smap-pol{margin:6px 0 10px;transform:rotate(-1.5deg)}
.smap-pol img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.smap-evs{list-style:none;margin:0;padding:0;font:14.5px/1.4 var(--body)}
.smap-evs li{padding:7px 0;border-top:1px dashed rgba(0,0,0,.15)}
.smap-evs li b{display:inline-block;min-width:34px;margin-right:6px;font:700 12px/1 var(--mono);color:var(--red)}
.smap-evs li.now{background:rgba(255,198,90,.18)}
.smap-more{margin:8px 0 0;font:12.5px/1.35 var(--body);color:var(--ink-soft)}
.smap-legend{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font:12px/1 var(--mono);color:var(--muted)}
.smap-legend span{display:inline-flex;align-items:center;gap:7px}
.lg-pin{width:11px;height:11px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#b3141c;display:inline-block}
.lg-pin.hot{box-shadow:0 0 0 4px rgba(255,80,80,.35)}
.lg-zone{width:16px;height:11px;display:inline-block;border-radius:2px;background:repeating-linear-gradient(55deg,rgba(158,66,45,.45) 0 3px,#9aae84 3px 8px)}
@media(max-width:760px){
  .smap-board{min-width:760px}
  .smap-pin span{font-size:11px;padding:2px 5px;margin-bottom:3px}
  .smap-pin i{width:20px;height:20px}
  .smap-card{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:66vh;border-radius:14px 14px 0 0;transform:none;z-index:200;padding-bottom:calc(14px + env(safe-area-inset-bottom));box-shadow:0 -10px 40px rgba(0,0,0,.6)}
  .smap-card h3{font-size:26px}
  .smap-pol img{aspect-ratio:16/9;max-height:30vh}
}
@media(prefers-reduced-motion:reduce){.smap-pin.hot i{animation:none}}
