/* Trading Knights — «Хроника Ордена»: главная. Опирается на site.css (цвета, шрифты, кнопки, шапка, окна). */
.chron{background:var(--night)}
.chron .sec-h{display:none}
.kicker{margin:0 0 10px;font:500 italic 21px/1.2 var(--serif);color:var(--gold)}
.ex-l{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:4px 10px;border-radius:6px;font:600 13px/1.35 var(--sans);color:#D6CCBA;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
.title-gold{margin:0;font:700 clamp(54px,9vw,128px)/.92 var(--serif-sc);letter-spacing:.01em;
  background:linear-gradient(180deg,#FFF3C9 0%,#F3D893 28%,#D9AE55 55%,#8E6420 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 0 rgba(40,24,6,.55)) drop-shadow(0 18px 40px rgba(0,0,0,.6));text-wrap:balance}
.sm{font-size:13.5px;color:var(--muted)}

/* ---------- шапка: кнопка звука */
.snd{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px 0 12px;border:0;border-radius:22px;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font:600 13.5px var(--sans);cursor:pointer;white-space:nowrap}
.snd:hover{color:var(--gold-hi);box-shadow:inset 0 0 0 1px var(--line2)}
.snd-i{display:flex;align-items:flex-end;gap:2px;height:16px}
.snd-i i{width:3px;height:6px;border-radius:2px;background:currentColor;opacity:.6}.snd-i i:nth-child(2){height:11px}.snd-i i:nth-child(3){height:15px}.snd-i i:nth-child(4){height:8px}
.snd.is-on{color:var(--gold-hi);box-shadow:inset 0 0 0 1px var(--gold),0 0 18px rgba(217,174,85,.25)}
.snd.is-on .snd-i i{opacity:1;animation:eq 1s ease-in-out infinite}
.snd.is-on .snd-i i:nth-child(2){animation-delay:-.3s}.snd.is-on .snd-i i:nth-child(3){animation-delay:-.6s}.snd.is-on .snd-i i:nth-child(4){animation-delay:-.15s}
@keyframes eq{0%,100%{height:4px}50%{height:16px}}
.chron .mnav a{padding:10px 9px;font-size:14px}
@media (max-width:1560px){.chron .mnav a{padding:10px 6px;font-size:13.5px}}
@media (max-width:1480px){.chron .mnav{display:none}.chron .burger{display:inline-flex;align-items:center;justify-content:center}
  .chron .hdr.open .mnav{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;padding:10px 16px 16px;background:rgba(13,11,8,.97);box-shadow:0 12px 24px rgba(0,0,0,.5),0 1px 0 var(--line);max-height:calc(100svh - 72px);overflow:auto}
  .chron .hdr.open .mnav a{padding:14px 12px;font-size:16px}}
@media (max-width:640px){.snd-l{display:none}.snd{padding:0 12px}.chron .hdr.open .mnav{top:64px}}

/* ---------- рейка глав справа */
.rail-ch{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:2px}
.rail-ch{gap:0}
.rail-ch a{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:34px;min-width:40px;text-decoration:none;color:var(--soft)}
.rail-ch i{font:700 13px/1 var(--serif);font-style:normal;width:36px;padding:5px 0;border-radius:8px;text-align:center;opacity:.8;background:rgba(13,11,8,.55);transition:opacity .2s,color .2s,transform .2s}
.rail-ch span{position:absolute;right:38px;white-space:nowrap;padding:4px 10px;border-radius:6px;background:rgba(13,11,8,.92);box-shadow:inset 0 0 0 1px var(--line);font-size:12.5px;color:var(--soft);opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .2s,transform .2s}
.rail-ch a:hover span,.rail-ch a:focus-visible span{opacity:1;transform:none}
.rail-ch a::after{content:"";position:absolute;right:13px;top:50%;width:4px;height:4px;margin-top:-2px;border-radius:50%;background:currentColor;opacity:0}
.rail-ch a.on{color:var(--gold-hi)}.rail-ch a.on i{opacity:1;transform:scale(1.2);text-shadow:0 0 12px rgba(243,216,147,.7);box-shadow:inset 0 0 0 1px var(--line2)}
@media (max-width:1280px){.rail-ch{display:none}}

/* ---------- I. Врата */
.gate{position:relative;height:185vh;background:#050403}
.gate-stick{position:sticky;top:0;height:100svh;overflow:hidden}
.gate-bg,.gate-bg img{position:absolute;inset:0;width:100%;height:100%}
.gate-bg{transform-origin:68% 52%;will-change:transform}
.gate-bg img{object-fit:cover;object-position:68% 50%;translate:var(--mx,0) var(--my,0);transition:translate .6s var(--ease);scale:1.04}
.gate-glow{position:absolute;left:68%;top:56%;width:34vw;height:60vh;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,196,96,.38),rgba(255,140,30,.12) 55%,transparent);mix-blend-mode:screen;animation:breath 4.5s ease-in-out infinite;pointer-events:none}
@keyframes breath{50%{opacity:.55;transform:translate(-50%,-50%) scale(1.08)}}
.embers{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.gate-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.92) 0%,rgba(5,4,3,.72) 28%,rgba(5,4,3,.15) 55%,rgba(5,4,3,0) 70%),linear-gradient(0deg,rgba(13,11,8,1) 0%,rgba(13,11,8,0) 22%);pointer-events:none}
.gate-c{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:72px;will-change:opacity,transform}
.gate .title-gold{max-width:8.6ch;font-size:clamp(64px,7.4vw,118px)}
.gate-c .eyebrow{margin:0 0 18px;font:600 14px var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.gate-lead{max-width:560px;margin:26px 0 30px;font:500 italic clamp(20px,2.1vw,25px)/1.45 var(--serif);color:#E8DCC4;text-wrap:pretty}
.gate-c .eyebrow,.gate-lead,.gate-note{text-shadow:0 2px 14px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.8)}
@media (min-width:761px) and (max-width:1280px) and (orientation: landscape){.gate-shade{background:linear-gradient(90deg,rgba(5,4,3,.94) 0%,rgba(5,4,3,.84) 40%,rgba(5,4,3,.4) 62%,rgba(5,4,3,0) 80%),linear-gradient(0deg,rgba(13,11,8,1) 0%,rgba(13,11,8,0) 22%)}.gate-lead{max-width:480px}}
.gate .hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.gate-note{margin:20px 0 0;font-size:14px;color:var(--muted)}
.gate .hero-stats{display:flex;gap:28px;margin-top:28px}
.gate .hero-stats b{display:block;font:700 34px/1 var(--serif);color:var(--gold-hi)}.gate .hero-stats span{font-size:13px;color:var(--muted)}
.cue{position:absolute;left:50%;bottom:26px;z-index:3;width:30px;height:48px;margin-left:-15px;border-radius:16px;box-shadow:inset 0 0 0 2px rgba(243,216,147,.5)}
.cue span{position:absolute;left:50%;top:10px;width:4px;height:9px;margin-left:-2px;border-radius:2px;background:var(--gold-hi);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%{opacity:0;transform:translateY(16px)}100%{opacity:0}}
.gate-flash{position:absolute;inset:0;z-index:4;opacity:0;pointer-events:none;background:radial-gradient(circle at 68% 55%,rgba(255,236,190,1),rgba(255,200,110,.85) 25%,rgba(13,11,8,1) 75%)}
@media (max-width:760px), (orientation: portrait) and (max-width:1100px){
  .gate{height:150vh}
  .gate-bg{transform-origin:50% 58%}.gate-bg img{object-position:50% 40%}
  .gate-glow{left:50%;top:58%;width:80vw;height:40vh}
  .gate-bg img{object-position:50% 18%}
  .gate-shade{background:linear-gradient(0deg,rgba(8,6,4,1) 0%,rgba(8,6,4,.97) 50%,rgba(8,6,4,.72) 62%,rgba(8,6,4,.25) 74%,rgba(8,6,4,0) 84%),linear-gradient(180deg,rgba(8,6,4,.55),transparent 18%)}
  .gate-c{max-width:640px}
  .gate-c{justify-content:flex-end;padding-bottom:78px}
  .gate-c .eyebrow{font-size:12.5px;letter-spacing:.14em;margin-bottom:10px}
  .gate .title-gold{font-size:58px}
  .gate-lead{margin:14px 0 20px;font-size:17.5px;line-height:1.42}
  .gate-note{font-size:13px}
  .gate .hero-cta .btn{flex:1 1 100%}
  .gate-flash{background:radial-gradient(circle at 50% 55%,rgba(255,236,190,1),rgba(255,200,110,.85) 25%,rgba(13,11,8,1) 75%)}
}
@media (prefers-reduced-motion:reduce){.gate{height:100svh}.gate-glow,.cue span{animation:none}}

/* ---------- общий каркас главы */
.ch{position:relative;padding:150px 0 130px;overflow-x:clip;overflow-y:visible}
.ch>.wrap,.finale>.wrap{position:relative;z-index:1}
.ch-h{position:relative;text-align:center;max-width:820px;margin:0 auto 64px}
.ch-h--l{text-align:left;margin:0 0 36px}
.ch-n{position:absolute;left:50%;top:-104px;transform:translateX(-50%);font:700 110px/1 var(--serif);color:rgba(217,174,85,.08);pointer-events:none;letter-spacing:.02em}
.ch-h--l .ch-n{left:-6px;transform:none}
.ch-h h2{margin:0;font:700 clamp(36px,4.8vw,64px)/1.02 var(--serif-sc);color:var(--gold-hi);text-wrap:balance}
.ch-lead{margin:20px auto 0;max-width:660px;font:500 italic clamp(19px,2vw,23px)/1.5 var(--serif);color:var(--soft);text-wrap:pretty}
.ch-h--l .ch-lead{margin-left:0}
.scene-bg{position:absolute;left:0;top:-180px;width:100%;height:calc(100% + 360px);max-width:none;object-fit:cover;z-index:0;opacity:.42;filter:brightness(.55) saturate(1.05);pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 calc(100% - 340px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 calc(100% - 340px),transparent 100%)}
.engine.in,.oath.in,.calc.in{animation:none}
.rv.in{animation:none}
.trial-art.in img,.lord.in .lord-p img{animation:rvIn 1s var(--ease) both}
@keyframes rvIn{from{opacity:0;transform:translateY(26px)}}
.keys{display:flex;flex-wrap:wrap;gap:8px}
.keys span{display:inline-flex;align-items:center;min-height:32px;padding:4px 12px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--gold-hi);background:rgba(217,174,85,.08);box-shadow:inset 0 0 0 1px var(--line)}
.keys--c{justify-content:center}
.ticks{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}
.ticks li{position:relative;padding-left:28px;color:var(--soft)}
.ticks li::before{content:"";position:absolute;left:4px;top:.55em;width:10px;height:10px;transform:rotate(45deg);background:var(--goldgrad);box-shadow:0 0 10px rgba(217,174,85,.5)}
.ticks--big li{font-size:17px}
.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.row-sb{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.seg{display:flex;gap:6px;padding:6px;border-radius:14px;background:rgba(0,0,0,.3);box-shadow:inset 0 0 0 1px var(--line)}
.seg button{flex:1;min-height:46px;padding:0 20px;border:0;border-radius:10px;background:none;color:var(--soft);font:600 15px var(--sans);cursor:pointer;white-space:nowrap}
.seg button[aria-selected=true]{color:#20160A;background:var(--goldgrad)}
.seg--c{max-width:420px;margin:0 auto 34px}
.inp{min-height:48px;padding:0 16px;border:0;border-radius:12px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--line2);color:var(--text);font:500 16px var(--sans);width:100%}
.inp:focus{outline:none;box-shadow:inset 0 0 0 2px var(--gold)}
.chip{display:inline-flex;align-items:center;min-height:30px;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600;color:var(--soft);background:rgba(255,255,255,.05)}
.chip--up{color:#7FE7BD;background:rgba(43,179,131,.12)}

/* ---------- II. Суть */
.essence-bg{position:absolute;right:0;top:-120px;width:66%;height:calc(100% + 300px);max-width:none;object-fit:cover;object-position:30% 30%;z-index:0;opacity:.5;filter:brightness(.7);pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%),linear-gradient(180deg,transparent 0,#000 260px,#000 calc(100% - 340px),transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 45%),linear-gradient(180deg,transparent 0,#000 260px,#000 calc(100% - 340px),transparent 100%);mask-composite:intersect}
/* прибытие из врат: свет ещё держится над Сутью и тает */
.essence::after{content:"";position:absolute;left:0;right:0;top:-40px;height:90vh;z-index:0;pointer-events:none;opacity:0;
  background:radial-gradient(70% 70% at 60% 0%,rgba(255,214,140,.55),rgba(255,160,60,.18) 45%,transparent 75%)}
.essence.arrive::after{animation:arrive 2.4s var(--ease) both}
@keyframes arrive{0%{opacity:1}100%{opacity:0}}
.engine{position:relative;margin:0 auto 70px;max-width:1100px}
.engine-wire{position:absolute;left:0;right:0;top:46px;width:100%;height:120px;overflow:visible}
.engine-g{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.node{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.engine.in .node{animation:rvIn .8s var(--ease) both;animation-delay:var(--d)}
.node-i{position:relative;width:132px;height:132px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:10px;
  background:radial-gradient(circle at 50% 35%,#2B2418,#0F0C08 70%);box-shadow:inset 0 0 0 1px var(--line2),0 0 0 8px rgba(13,11,8,.9),0 0 40px rgba(217,174,85,.18)}
.node-i::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:1px dashed rgba(217,174,85,.3);animation:rot 30s linear infinite}
@keyframes rot{to{transform:rotate(360deg)}}
.node-i img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}
.node-i svg{width:76px;height:76px}
.pts-b{font:700 46px/1 var(--serif);color:var(--gold-hi);text-shadow:0 0 22px rgba(243,216,147,.5)}
.node b{font:700 22px/1.15 var(--serif-sc);color:var(--gold-hi)}
.node p{margin:0;max-width:240px;color:var(--soft);font-size:15px}
.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pillar{padding:26px 24px;border-radius:18px;background:linear-gradient(180deg,rgba(34,28,20,.88),rgba(18,15,11,.92));box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(4px)}
.pillar img{width:64px;height:64px;object-fit:contain;margin-bottom:12px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}
.pillar h3{margin:0 0 8px;font:700 24px/1.1 var(--serif-sc);color:var(--gold-hi)}
.pillar p{margin:0;color:var(--soft);font-size:15px}
@media (max-width:980px){.engine-g{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}.engine-wire{display:none}.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.node-i{width:104px;height:104px}.node-i img{width:68px;height:68px}.node-i svg{width:60px;height:60px}.node b{font-size:19px}.node p{font-size:14px}.pillars{grid-template-columns:minmax(0,1fr)}}

/* ---------- III. Испытание */
.trial-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:center;margin-bottom:60px}
.trial-art{position:relative;margin:0}
.trial-art img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;border-radius:280px 280px 22px 22px;box-shadow:0 0 0 1px var(--line2),0 0 0 10px rgba(13,11,8,.9),0 0 0 11px var(--line),0 40px 80px rgba(0,0,0,.6)}
.trial-art figcaption{position:absolute;left:0;right:0;bottom:22px;text-align:center;font:500 italic 19px var(--serif);color:#F3E2BC;text-shadow:0 2px 12px #000}
.tline{position:relative;list-style:none;margin:0;padding:0 0 0 0;display:flex;flex-direction:column;gap:30px;--p:0}
.tline::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;background:rgba(217,174,85,.15)}
.tline::after{content:"";position:absolute;left:23px;top:24px;width:2px;height:calc((100% - 48px) * var(--p));background:var(--goldgrad);box-shadow:0 0 12px var(--gold)}
.tline li{position:relative;display:flex;gap:22px;align-items:flex-start}
.tline .cap{position:relative;z-index:1;flex:0 0 48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;font:700 20px var(--serif);color:var(--rubric);background:var(--parch);box-shadow:0 0 0 6px var(--night),0 6px 18px rgba(0,0,0,.5)}
.tline h3{margin:6px 0 6px;font:700 25px/1.15 var(--serif-sc);color:var(--gold-hi)}
.tline p{margin:0 0 12px;color:var(--soft)}
.tline--sm{gap:22px}.tline--sm p{margin:10px 0 0}
.tnote{margin:30px 0 0;padding:14px 18px;border-radius:12px;background:rgba(217,174,85,.06);box-shadow:inset 0 0 0 1px var(--line);color:var(--soft);font-size:15px}
.oath{position:relative;padding:38px 40px;border-radius:22px;background:radial-gradient(80% 140% at 0% 0%,rgba(217,174,85,.16),transparent 60%),linear-gradient(180deg,#221B12,#120F0B);box-shadow:inset 0 0 0 1px var(--line2),0 30px 70px rgba(0,0,0,.5)}
.oath-h{display:flex;align-items:center;gap:20px;margin-bottom:26px}
.oath-h img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.6))}
.oath-h h3{margin:0;font:700 clamp(28px,3vw,40px)/1.05 var(--serif-sc);color:var(--gold-hi)}
.oath-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.boon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 16px;border-radius:16px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px var(--line)}
.boon img{width:86px;height:86px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6));margin-bottom:6px}
.boon b{font-size:17px}.boon span{color:var(--muted);font-size:14px}
@media (max-width:900px){.trial-g{grid-template-columns:minmax(0,1fr);gap:40px}.trial-art{max-width:380px;margin:0 auto}.oath{padding:26px 20px}.oath-g{grid-template-columns:minmax(0,1fr)}.boon{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;row-gap:2px;text-align:left;align-items:center;padding:14px 16px}.boon img{grid-row:1/3;width:60px;height:60px;margin:0}.boon b,.boon span{grid-column:2}}

/* ---------- IV. Калькулятор */
.calc{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:stretch}
.parchment{position:relative;padding:48px 50px;border-radius:6px;color:var(--ink);background:radial-gradient(120% 90% at 50% 45%,rgba(236,220,182,.55),rgba(236,220,182,0) 75%),url(../img/scene/parchment.webp) center/cover;box-shadow:0 30px 60px rgba(0,0,0,.55)}
.calc-in{display:flex;flex-direction:column;gap:22px}
.rng{display:flex;flex-direction:column;gap:10px}
.rng>span{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font:700 19px/1.2 var(--serif)}
.rng b{font:700 26px var(--serif);color:var(--rubric);font-variant-numeric:lining-nums tabular-nums}
.rng input{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:none;cursor:pointer;margin:0}
.rng input::-webkit-slider-runnable-track{height:6px;border-radius:4px;background:linear-gradient(90deg,#8E1B12,#C4882A);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.rng input::-moz-range-track{height:6px;border-radius:4px;background:linear-gradient(90deg,#8E1B12,#C4882A)}
.rng input::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;margin-top:-12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F6DE9C,#A57A2E);box-shadow:0 0 0 3px #3A2310,0 4px 10px rgba(0,0,0,.45)}
.rng input::-moz-range-thumb{width:28px;height:28px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 30%,#F6DE9C,#A57A2E);box-shadow:0 0 0 3px #3A2310,0 4px 10px rgba(0,0,0,.45)}
.rng input:focus-visible{outline:2px solid var(--rubric);outline-offset:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:-8px}
.chipb{min-height:40px;padding:0 14px;border:0;border-radius:20px;background:rgba(58,35,16,.12);box-shadow:inset 0 0 0 1px rgba(58,35,16,.35);color:var(--ink);font:700 14px var(--sans);cursor:pointer}
.chipb:hover{background:rgba(142,27,18,.12)}
.calc-note{margin:4px 0 0;font:500 italic 15px/1.45 var(--serif);color:#5B3C1D}
.calc-out{display:flex;flex-direction:column;gap:20px;padding:32px;border-radius:22px;background:linear-gradient(180deg,#201A12,#110E0A);box-shadow:inset 0 0 0 1px var(--line2),0 30px 60px rgba(0,0,0,.45)}
.calc-rank{display:flex;align-items:center;gap:24px}
.flip{perspective:700px;flex-shrink:0}
.flip img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 0 26px rgba(217,174,85,.35)) drop-shadow(0 12px 20px rgba(0,0,0,.6))}
.flip.go img{animation:flip .55s var(--ease)}
@keyframes flip{0%{transform:rotateY(0)}50%{transform:rotateY(90deg) scale(.9)}100%{transform:rotateY(0)}}
.calc-rank h3{margin:0;font:700 clamp(30px,3.4vw,44px)/1 var(--serif-sc);color:var(--gold-hi)}
.calc-bonus{margin:8px 0 0;color:#7FE7BD;font-weight:600}
.calc-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.calc-nums div{padding:12px;border-radius:12px;background:rgba(0,0,0,.25)}
.calc-nums .main{grid-column:1/-1;display:flex;align-items:baseline;gap:12px;background:rgba(217,174,85,.08);box-shadow:inset 0 0 0 1px var(--line)}
.calc-nums b{display:block;font:700 24px/1.1 var(--serif);color:var(--gold-hi);font-variant-numeric:lining-nums tabular-nums}
.calc-nums .main b{font-size:44px}
.calc-nums span{font-size:13px;color:var(--muted)}
.chart svg{width:100%;height:auto;display:block;overflow:visible}
.chart .thr line{stroke:rgba(217,174,85,.25);stroke-dasharray:3 5}
.chart .thr text{fill:#C2B8A6;font:500 13px var(--sans)}
.chart .thr.got line{stroke:rgba(43,179,131,.45)}.chart .thr.got text{fill:#7FE7BD}
.chart .base{stroke:rgba(255,255,255,.15)}
.chart .ax{fill:#A89E8D;font:500 13px var(--sans)}
.calc-next{margin:0;color:var(--soft)}
@media (max-width:980px){.calc{grid-template-columns:minmax(0,1fr)}.parchment{padding:30px 22px}}
@media (max-width:560px){.calc-out{padding:22px 16px}.calc-rank{gap:14px}.flip img{width:92px;height:92px}.calc-nums .main b{font-size:34px}.calc-nums b{font-size:20px}}

/* ---------- V. Кольцо званий */
.ranks-bg{position:absolute;left:0;right:0;top:-180px;height:calc(100% + 360px);z-index:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 calc(100% - 340px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 calc(100% - 340px),transparent 100%)}
.ranks-bg img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 20%;opacity:.5;filter:brightness(.62)}
.ranks-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 45% at 50% 55%,rgba(217,174,85,.10),transparent 70%)}
.ring-wrap{position:relative}
.ring-stage{position:relative;height:330px;perspective:1400px;perspective-origin:50% 30%;cursor:grab;touch-action:pan-y;user-select:none;outline:none}
.ring-stage:active{cursor:grabbing}
.ring{position:absolute;left:50%;top:40px;width:0;height:0;transform-style:preserve-3d}
.rcard{position:absolute;left:-80px;top:0;width:160px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:0;border-radius:18px;background:none;color:var(--text);cursor:pointer;backface-visibility:hidden;transition:filter .3s}
.rcard img{width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(0,0,0,.7));pointer-events:none}
.rcard b{font:700 18px/1.1 var(--serif-sc);color:var(--gold-hi);text-align:center}
.rcard span{font-size:13px;color:var(--soft)}
.rcard.front img{filter:drop-shadow(0 0 30px rgba(243,216,147,.55)) drop-shadow(0 12px 18px rgba(0,0,0,.7));transform:scale(1.2)}
.rcard.front{background:radial-gradient(circle at 50% 40%,rgba(217,174,85,.18),transparent 70%)}
.ring-info{text-align:center;min-height:120px}
.ring-info h3{margin:0;font:700 clamp(34px,4vw,52px)/1 var(--serif-sc);color:var(--gold-hi);text-shadow:0 0 30px rgba(217,174,85,.35)}
.ring-info p{margin:10px 0 0;color:var(--soft);font-size:17px}
.ring-info em{font-style:normal;color:#7FE7BD;font-weight:600}
.ring-nav{display:flex;justify-content:center;gap:12px;margin-top:10px}
.ring-nav .btn{min-width:64px;font-size:22px}
@media (max-width:640px){.ring-stage{height:270px;perspective:900px}.rcard{width:130px;left:-65px}.rcard img{width:100px;height:100px}.rcard b{font-size:15px}}

/* ---------- VI. Арена */
.week{max-width:900px;margin:0 auto 60px;padding:24px 28px;border-radius:18px;background:rgba(13,11,8,.7);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(6px)}
.days{display:grid;grid-template-columns:repeat(7,1fr) 1.3fr;gap:6px;margin-bottom:12px}
.days span{text-align:center;padding:8px 0;border-radius:8px;font:700 14px var(--sans);color:var(--muted);background:rgba(255,255,255,.03)}
.days .past{color:var(--soft);background:rgba(217,174,85,.08)}
.days .today{color:#20160A;background:var(--goldgrad);box-shadow:0 0 18px rgba(217,174,85,.4)}
.days .res{color:var(--gold-hi);box-shadow:inset 0 0 0 1px var(--line2)}
.wbar{height:8px;border-radius:5px;background:rgba(0,0,0,.45);overflow:hidden}
.wbar i{display:block;height:100%;background:var(--goldgrad);box-shadow:0 0 12px var(--gold)}
.cd{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:18px 0 0}
.cd>span{color:var(--soft);font-weight:600}
.cd b{display:flex;gap:10px;font-weight:400}
.cd b span{display:flex;align-items:baseline;gap:4px;color:var(--muted);font-size:13px}
.cd em{font:700 34px/1 var(--serif);font-style:normal;color:var(--gold-hi);font-variant-numeric:lining-nums tabular-nums;min-width:1.2em;text-align:right}
.arena-g{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:end}
.podium3{text-align:center}
.pods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;margin-top:14px}
.pd{display:flex;flex-direction:column;align-items:center}
.pd-who{display:flex;flex-direction:column;align-items:center;gap:4px;margin-bottom:12px}
.pd-who img{width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.7))}
.pd--1 .pd-who img{width:124px;height:124px;filter:drop-shadow(0 0 28px rgba(243,216,147,.55)) drop-shadow(0 10px 18px rgba(0,0,0,.7))}
.pd-who b{font-size:16px}.pd-who span{font:700 18px var(--serif);color:var(--gold-hi)}
.pd-block{width:100%;display:flex;align-items:flex-start;justify-content:center;padding-top:16px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,#3A2E1C,#16120D);box-shadow:inset 0 1px 0 rgba(255,236,190,.25),inset 0 0 0 1px var(--line2),0 20px 40px rgba(0,0,0,.5);transform-origin:bottom}
.pd-block i{font:700 44px/1 var(--serif);font-style:normal;color:var(--gold-hi)}
.pd--1 .pd-block{height:190px;background:linear-gradient(180deg,#6B5228,#1E170E)}
.pd--2 .pd-block{height:140px}.pd--3 .pd-block{height:104px}
.podium3.in .pd-block{animation:rise .9s var(--ease) both}
.podium3.in .pd--2 .pd-block{animation-delay:.15s}.podium3.in .pd--3 .pd-block{animation-delay:.3s}
@keyframes rise{from{transform:scaleY(0)}}
.arena-side{padding:28px;border-radius:18px;background:rgba(13,11,8,.75);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(6px)}
.arena-side h3{margin:0 0 14px;font:700 26px var(--serif-sc);color:var(--gold-hi)}
.prz{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.prz li{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:12px;background:rgba(0,0,0,.3)}
.prz i{flex:0 0 36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;font:700 15px var(--serif);font-style:normal;color:var(--rubric);background:var(--parch)}
.prz b{font:700 22px var(--serif);color:var(--gold-hi)}
@media (max-width:900px){.arena-g{grid-template-columns:minmax(0,1fr)}.week{padding:18px 14px}.days{grid-template-columns:repeat(7,1fr)}.days .res{grid-column:1/-1}.cd em{font-size:26px}.pd-who img{width:68px;height:68px}.pd--1 .pd-who img{width:90px;height:90px}.pd-who b{font-size:13px}.pd-who span{font-size:15px}.pd--1 .pd-block{height:140px}.pd--2 .pd-block{height:104px}.pd--3 .pd-block{height:80px}}

/* ---------- VII. Казна: 3D-жетоны и Кузница */
.vault{background:radial-gradient(60% 50% at 50% 30%,rgba(217,174,85,.08),transparent 70%)}
.coins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:56px}
.cn{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;perspective:800px}
.coin3d{position:relative;display:block;width:var(--s);height:var(--s);margin-bottom:14px;transform-style:preserve-3d;animation:spinc var(--sp,8s) linear infinite}
.coin3d .cl{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:translateZ(calc(var(--z) * 1.3px));filter:brightness(.55) saturate(.8)}
.coin3d .cl:first-child,.coin3d .cl:last-child{filter:drop-shadow(0 0 22px rgba(217,174,85,.25))}
.cn:hover .coin3d{animation-duration:1.6s}
@keyframes spinc{to{transform:rotateY(360deg)}}
.cn::after{content:"";width:60%;height:14px;margin-top:-18px;margin-bottom:10px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent)}
.cn b{font:700 24px var(--serif-sc);color:var(--gold-hi)}
.cn span{color:var(--muted)}.cn em{font:700 26px var(--serif);font-style:normal;color:var(--text)}
.earn{margin-bottom:56px}
.earn h3{margin:0 0 18px;text-align:center;font:700 28px var(--serif-sc);color:var(--gold-hi)}
.earn-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.ea{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:20px 14px;border-radius:16px;background:rgba(0,0,0,.25);box-shadow:inset 0 0 0 1px var(--line)}
.ea img{width:58px;height:58px;object-fit:contain}
.ea b{display:block;font-size:16px}.ea span{display:block;margin-top:4px;color:var(--muted);font-size:13.5px}
/* Кузница — не карточка, а продолжение зала Казны: картина во всю ширину, края растворяются в соседних главах */
.vault{padding-bottom:40px}
.smithy{position:relative;width:100vw;margin:40px 0 0 calc(50% - 50vw);min-height:820px;display:flex;align-items:center;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 200px,#000 calc(100% - 220px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 200px,#000 calc(100% - 220px),transparent 100%)}
.smithy-bg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:28% 50%;filter:brightness(.82) saturate(1.05)}
.smithy::after{content:"";position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(90deg,rgba(10,8,6,.1) 0%,rgba(10,8,6,.35) 38%,rgba(10,8,6,.86) 62%,rgba(10,8,6,.95) 100%),
  radial-gradient(70% 60% at 22% 55%,transparent 40%,rgba(10,8,6,.45) 100%)}
.smithy-c{position:relative;z-index:1;margin-left:auto;margin-right:max(24px,calc(50vw - var(--wrap) / 2 + 24px));width:min(520px,calc(100% - 48px));padding:200px 0;display:flex;flex-direction:column;gap:14px}
.smithy-c h3{margin:0;font:700 40px/1 var(--serif-sc);color:var(--gold-hi);text-shadow:0 2px 18px rgba(0,0,0,.7)}
.smithy-c>p{text-shadow:0 1px 10px rgba(0,0,0,.8)}
.purse2{display:flex;gap:8px;flex-wrap:wrap}
.purse2 span{display:flex;align-items:center;gap:6px;padding:4px 12px 4px 4px;border-radius:20px;background:rgba(0,0,0,.45);box-shadow:inset 0 0 0 1px var(--line)}
.purse2 img{width:30px;height:30px}.purse2 b{font:700 18px var(--serif);color:var(--gold-hi);min-width:14px;font-variant-numeric:lining-nums tabular-nums}
.anvil{position:relative;height:270px;margin:4px 0}
.anvil .anv{position:absolute;left:50%;bottom:0;width:240px;margin-left:-130px;filter:drop-shadow(0 18px 24px rgba(0,0,0,.8))}
.anvil .ham{position:absolute;left:calc(50% + 100px);bottom:34px;width:92px;margin-left:-46px;transform-origin:50% 96%;transform:rotate(28deg);filter:drop-shadow(0 10px 16px rgba(0,0,0,.7));z-index:3}
.anvil .ham.hit{animation:hit .5s cubic-bezier(.55,0,.7,.2)}
@keyframes hit{0%{transform:rotate(28deg)}42%{transform:rotate(-58deg)}52%{transform:rotate(-52deg)}100%{transform:rotate(28deg)}}
.anvil canvas{position:absolute;inset:-40px;width:calc(100% + 80px);height:calc(100% + 80px);pointer-events:none;z-index:4}
.pile{position:absolute;left:calc(50% - 6px);top:104px;width:0;height:0;z-index:2}
.pile img{position:absolute;max-width:none;width:56px;height:56px;left:-28px;top:-44px;transform:translate(calc((var(--k) - 2) * 58px),-70px);transition:transform .5s var(--ease) calc(var(--k) * .07s),filter .3s;filter:drop-shadow(0 6px 10px rgba(0,0,0,.6))}
.pile.gather img{transform:translate(calc((var(--k) - 2) * 4px),calc((var(--k) - 2) * -3px))}
.pile.glow1 img{filter:brightness(1.3) drop-shadow(0 0 10px #ff9a3c)}.pile.glow2 img{filter:brightness(1.7) drop-shadow(0 0 18px #ffb35c)}.pile.glow3 img{filter:brightness(2.2) sepia(.3) drop-shadow(0 0 28px #ffd38a)}
.pile.done img{width:104px;height:104px;left:-52px;top:-110px;transform:none;animation:born .9s var(--ease) both;filter:drop-shadow(0 0 30px rgba(243,216,147,.85))}
@keyframes born{0%{transform:scale(.2) rotateY(0);opacity:0}60%{transform:scale(1.15) rotateY(320deg);opacity:1}100%{transform:scale(1) rotateY(360deg)}}
.fbtns{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
@media (max-width:980px){.coins{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:34px}.earn-g{grid-template-columns:repeat(2,minmax(0,1fr))}.earn-g .ea:last-child{grid-column:1/-1}}
@media (max-width:760px){.purse2{gap:6px}.purse2 span{padding:3px 9px 3px 3px}.purse2 img{width:26px;height:26px}.coin3d{--s:110px!important}.smithy{display:block;min-height:0;margin-top:10px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 90px,#000 calc(100% - 120px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 90px,#000 calc(100% - 120px),transparent 100%)}.smithy-bg{position:relative;inset:auto;height:380px;object-position:30% 40%}.smithy::after{background:linear-gradient(180deg,transparent 0,transparent 160px,rgba(10,8,6,.96) 380px)}.smithy-c{margin:-110px 0 0;width:auto;padding:0 18px 140px}.smithy-c h3{font-size:32px}}

/* ---------- VIII. Колесо */
.fortune{background:radial-gradient(60% 60% at 50% 40%,rgba(164,107,234,.08),transparent 70%)}
.fortune-w{position:absolute;right:-160px;top:40px;width:560px;height:560px;max-width:none;object-fit:contain;opacity:.13;z-index:0;animation:rot 90s linear infinite;pointer-events:none}
.drum{max-width:1080px;margin:0 auto;text-align:center}
.reel2{position:relative;height:210px;overflow:hidden;border-radius:20px;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.25));box-shadow:inset 0 0 0 1px var(--line2),inset 0 0 60px rgba(0,0,0,.8);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track2{display:flex;gap:14px;padding:24px 0;will-change:transform}
.track2 .pz{flex:0 0 140px;height:160px}
.track2 .pz span{font-size:13px}
.track2 .pz img{width:86px;height:86px}
.ptr2{position:absolute;top:0;bottom:0;left:50%;width:3px;margin-left:-1.5px;background:linear-gradient(transparent,var(--gold-hi) 15%,var(--gold-hi) 85%,transparent);box-shadow:0 0 18px var(--gold);z-index:2}
.ptr2::before,.ptr2::after{content:"";position:absolute;left:50%;margin-left:-11px;border:11px solid transparent}
.ptr2::before{top:0;border-top-color:var(--gold-hi)}.ptr2::after{bottom:0;border-bottom-color:var(--gold-hi)}
.won2{position:absolute;inset:0;z-index:3;display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto auto auto;column-gap:26px;row-gap:4px;align-content:center;justify-content:center;align-items:center;text-align:left;background:radial-gradient(circle at 38% 50%,color-mix(in srgb,var(--rc) 40%,transparent),transparent 45%),rgba(8,6,4,.9);animation:fadeIn .4s both}
.won2 img{grid-row:1/5;width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 0 24px var(--rc));animation:born .8s var(--ease) both}
.won2 .won-r{justify-self:start}
.won2 b{font:700 26px var(--serif-sc);color:#fff}
.won2 .sub{font-size:13px;color:var(--soft)}
.won2 .row{margin-top:8px}
.won-r{display:inline-flex;padding:3px 12px;border-radius:20px;font-size:12px;font-weight:700;color:#10100C;background:var(--rc)}
@keyframes fadeIn{from{opacity:0}}
.confetti{position:absolute;inset:0;width:100%;height:100%;z-index:4;pointer-events:none}
.drum-a{display:flex;flex-direction:column;align-items:center;gap:16px;margin:28px 0}
.drum-a .btn img{width:28px;height:28px;animation:rot 6s linear infinite}
.odds{max-width:640px;margin:0 auto}
.chance{display:flex;height:14px;border-radius:8px;overflow:hidden;background:rgba(0,0,0,.3)}
.chance-l{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:12px;font-size:14px;color:var(--soft)}
.chance-l span{display:flex;align-items:center;gap:6px}.chance-l i{width:10px;height:10px;border-radius:50%}
@media (max-width:640px){.won2{column-gap:14px;padding:0 14px}.won2 img{width:84px;height:84px}.won2 b{font-size:20px}.reel2{height:186px}.track2 .pz{flex-basis:118px;height:140px}.track2 .pz img{width:70px;height:70px}.fortune-w{width:360px;height:360px;right:-140px}}

/* ---------- IX. Конструктор облика */
.builder{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:36px;align-items:start}
.kcard{position:sticky;top:100px;display:flex;flex-direction:column;align-items:center;gap:14px;padding:46px 30px 34px;border-radius:24px;text-align:center;
  background:radial-gradient(90% 70% at 50% 30%,rgba(217,174,85,.14),transparent 70%),linear-gradient(180deg,#221B12,#100D09);box-shadow:inset 0 0 0 1px var(--line2),0 40px 80px rgba(0,0,0,.55)}
.kcard .av{margin:30px 0 26px}
.kcard .av.pop .av-fr,.kcard .ttl.pop{animation:pop .45s var(--ease)}
.kcard h3{margin:0;font:700 36px/1 var(--serif-sc);color:var(--text);overflow-wrap:anywhere}
.kcard .ttl{font-size:14px}
.kc-crest{position:absolute;top:18px;right:20px}
.kc-crest img{width:72px;height:86px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}
.kc-rank{display:flex;align-items:center;gap:8px;margin-top:6px;color:var(--gold)}
.kc-rank img{width:40px;height:40px;object-fit:contain}
.kopts{display:flex;flex-direction:column;gap:22px}
.fld{display:flex;flex-direction:column;gap:8px}
.opts{display:flex;flex-wrap:wrap;gap:10px}
.op{display:flex;align-items:center;justify-content:center;min-width:88px;min-height:88px;padding:10px;border:0;border-radius:16px;background:rgba(0,0,0,.28);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;transition:box-shadow .15s,transform .15s}
.op:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--line2)}
.op[aria-pressed=true]{box-shadow:inset 0 0 0 2px var(--gold),0 0 22px rgba(217,174,85,.3);background:rgba(217,174,85,.1)}
.op img{width:64px;height:72px;object-fit:contain}
.opts[data-kind=title] .op{min-height:52px;min-width:0}
.opts[data-kind=frame] .op .av-in{background:radial-gradient(circle at 35% 30%,#2A2416,#0F0D09)}
.kopts>.btn{align-self:flex-start}
@media (max-width:900px){.builder{grid-template-columns:minmax(0,1fr)}.kcard{position:relative;top:0}.kcard .av{--s:150px!important}}

/* ---------- X. Дружина */
.host-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:50px;align-items:center}
.sq-medals{display:flex;gap:16px;margin-top:30px}
.sq-medals figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.sq-medals img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.6))}
.sq-medals figcaption{font-size:13px;color:var(--soft)}
.constel{position:relative;border-radius:24px;background:radial-gradient(circle at 50% 50%,rgba(217,174,85,.1),rgba(13,11,8,.6) 70%);box-shadow:inset 0 0 0 1px var(--line)}
.constel svg{width:100%;height:auto;display:block}
.constel .ln{stroke:var(--gold);stroke-width:1.5;fill:none;stroke-dasharray:240;stroke-dashoffset:240;opacity:.65;transition:stroke-dashoffset .7s var(--ease)}
.constel .ln.on{stroke-dashoffset:0}
.constel .mn{opacity:0;transition:opacity .4s}
.constel .mn.on{opacity:1}
.constel .mn circle{fill:#1A1610;stroke:var(--gold);stroke-width:1.5}
.constel .mn.on circle{animation:node .6s var(--ease)}
@keyframes node{0%{r:6}70%{r:32}100%{r:27}}
.constel .mi{fill:var(--gold-hi);font:700 22px var(--serif);text-anchor:middle}
.constel .mnm{fill:var(--soft);font:500 13px var(--sans);text-anchor:middle}
.constel .me0 circle{fill:#221B12;stroke:var(--gold-hi);stroke-width:2;filter:drop-shadow(0 0 16px rgba(243,216,147,.5))}
.constel .plus{fill:#7FE7BD;font:700 18px var(--sans);text-anchor:middle;animation:floatup 1.4s var(--ease) forwards}
@keyframes floatup{0%{opacity:0;transform:translateY(8px)}20%{opacity:1}100%{opacity:0;transform:translateY(-30px)}}
.constel .fd{fill:#F3D893;filter:drop-shadow(0 0 4px #F3D893)}
.cs-pts{position:absolute;left:50%;top:50%;transform:translate(-50%,46px);text-align:center;pointer-events:none}
.cs-pts b{display:block;font:700 30px/1 var(--serif);color:var(--gold-hi);font-variant-numeric:lining-nums tabular-nums}
.cs-pts span{font-size:13px;color:var(--soft)}
.cs-re{position:absolute;right:14px;bottom:14px}
@media (max-width:900px){.host-g{grid-template-columns:minmax(0,1fr)}}

/* ---------- XI. Зал славы */
.medalwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
.mc{position:relative;height:200px;padding:0;border:0;background:none;perspective:900px;cursor:pointer;color:var(--text)}
.mc-in{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .5s var(--ease)}
.mc.flip .mc-in{transform:rotateY(180deg)}
.mc-f,.mc-b{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border-radius:18px;backface-visibility:hidden;
  background:radial-gradient(circle at var(--gx,50%) 30%,rgba(217,174,85,.16),rgba(20,17,12,.95) 70%);box-shadow:inset 0 0 0 1px var(--line)}
.mc-f img{width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 10px 16px rgba(0,0,0,.6));transition:transform .3s}
.mc:hover .mc-f img{transform:translateZ(30px) scale(1.06)}
.mc-f b,.mc-b b{font:700 15px/1.2 var(--serif-sc);color:var(--gold-hi);text-align:center}
.mc-b{transform:rotateY(180deg);background:linear-gradient(180deg,#2A2116,#14100B);box-shadow:inset 0 0 0 1px var(--line2)}
.mc-b img{width:46px;height:46px;object-fit:contain}
.mc-b span{font-size:13.5px;color:var(--soft);text-align:center;line-height:1.4}
@media (max-width:560px){.medalwall{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mc{height:180px}.mc-f img{width:86px;height:86px}}

/* ---------- XII. Совет */
.council .scene-bg{opacity:.4;filter:brightness(.38)}
.lord{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:50px;align-items:center;margin-bottom:56px}
.lord-p{position:relative}
.lord-p img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:50% 50% 24px 24px;box-shadow:0 0 0 1px var(--line2),0 0 0 10px rgba(13,11,8,.9),0 0 0 11px var(--line),0 40px 80px rgba(0,0,0,.6)}
.lord-t h3{margin:16px 0 6px;font:700 clamp(36px,4vw,54px)/1 var(--serif-sc);color:var(--gold-hi)}
.lord-t .role{margin:0 0 14px;color:var(--gold);font-weight:600}
.lord-t .lead{margin:0 0 20px;font:500 italic 20px/1.5 var(--serif);color:var(--soft)}
.posts{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}
.posts li{padding:14px 18px;border-radius:14px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--line)}
.posts b{display:block;font-size:16px}.posts span{display:block;margin-top:4px;color:var(--muted);font-size:14px}
.council-g{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cc{padding:30px;border-radius:20px;background:linear-gradient(180deg,rgba(34,28,20,.92),rgba(18,15,11,.95));box-shadow:inset 0 0 0 1px var(--line)}
.cc h3{margin:0 0 10px;font:700 28px/1.1 var(--serif-sc);color:var(--gold-hi)}
.cc>p{color:var(--soft)}
.cc--soon{background:radial-gradient(80% 100% at 100% 0%,rgba(43,179,131,.12),transparent 60%),linear-gradient(180deg,rgba(34,28,20,.92),rgba(18,15,11,.95))}
.sigc{margin:16px 0;padding:16px 18px;border-radius:14px;background:rgba(0,0,0,.35);box-shadow:inset 0 0 0 1px var(--line)}
.sigc .ex-l{margin:0 0 10px}
.sigc .dir{display:inline-flex;margin-left:6px;padding:2px 10px;border-radius:6px;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:#7FE7BD;background:rgba(43,179,131,.12)}
.sigc small{color:var(--muted)}
.sigc dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0 0}
.sigc dl div{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.sigc dt{font-size:12.5px;color:var(--soft)}
.sigc dd{margin:2px 0 0;font-weight:700;font-variant-numeric:lining-nums tabular-nums}
@media (max-width:900px){.lord{grid-template-columns:minmax(0,1fr);gap:30px}.lord-p{max-width:340px;margin:0 auto}.council-g{grid-template-columns:minmax(0,1fr)}.sigc dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- XIII. Глашатай */
.herald-g{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:60px;align-items:center}
.phone{position:relative;width:min(340px,100%);height:640px;margin:0 auto;padding:14px;border-radius:46px;background:#0A0907;box-shadow:inset 0 0 0 2px #2A241A,0 0 0 8px #15120D,0 40px 90px rgba(0,0,0,.7),0 0 60px rgba(217,174,85,.08)}
.phone::before{content:"";position:absolute;top:22px;left:50%;width:90px;height:24px;margin-left:-45px;border-radius:14px;background:#000;z-index:2}
.ph-top{display:flex;align-items:center;gap:10px;padding:46px 14px 12px;border-radius:32px 32px 0 0;background:#1A1712;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.ph-top img{width:34px;height:42px;object-fit:contain}
.ph-top b{display:block;font-size:15px}.ph-top span{font-size:13px;color:#8FB6DE}
.ph-chat{height:calc(100% - 100px);display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:12px;overflow:hidden;border-radius:0 0 32px 32px;background:linear-gradient(180deg,#0F0D0A,#14110C),url(../img/steel.webp) 0 0/300px}
.bub{max-width:88%;padding:10px 12px 6px;border-radius:14px 14px 14px 4px;background:#221D15;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);animation:bub .45s var(--ease) both}
.bub p{margin:0;font-size:13.5px;line-height:1.4;color:#EDE4D3}
.bub time{display:block;text-align:right;font-size:12px;color:#A39A8A;margin-top:2px}
@keyframes bub{from{opacity:0;transform:translateY(14px) scale(.96)}}
.feats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.feat{display:flex;gap:16px;align-items:flex-start;padding:22px;border-radius:16px;background:rgba(13,11,8,.75);box-shadow:inset 0 0 0 1px var(--line);backdrop-filter:blur(6px)}
.feat img{width:52px;height:52px;object-fit:contain;flex-shrink:0}
.feat b{display:block;font:700 20px/1.15 var(--serif-sc);color:var(--gold-hi)}.feat span{display:block;margin-top:6px;color:var(--soft);font-size:14.5px}
@media (max-width:900px){.herald-g{grid-template-columns:minmax(0,1fr);gap:40px}.phone{height:560px}.feats{grid-template-columns:minmax(0,1fr)}}

/* ---------- XIV. Устройства */
.devices{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-areas:"lap ph" "list list" "cta cta";gap:30px 40px;align-items:end;max-width:1100px;margin:0 auto}
.dev-laptop{grid-area:lap}
.lt-screen{padding:14px 14px 18px;border-radius:18px 18px 0 0;background:#0A0907;box-shadow:inset 0 0 0 2px #2A241A}
.lt-screen img{width:100%;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:6px}
.lt-base{height:18px;margin:0 -40px;border-radius:0 0 18px 18px;background:linear-gradient(180deg,#2A241A,#13100C);box-shadow:0 30px 60px rgba(0,0,0,.6)}
.dev-phone{grid-area:ph;padding:10px;border-radius:36px;background:#0A0907;box-shadow:inset 0 0 0 2px #2A241A,0 0 0 6px #15120D,0 30px 70px rgba(0,0,0,.6);transform:translateY(30px) rotate(3deg)}
.pf-screen img{width:100%;aspect-ratio:9/19;object-fit:cover;object-position:top;border-radius:28px}
.devices .ticks{grid-area:list;max-width:720px;margin:20px auto 0}
.devices .hero-cta{grid-area:cta;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media (max-width:760px){.devices{grid-template-columns:minmax(0,1fr) 120px;gap:20px}.dev-phone{border-radius:22px;padding:6px}.pf-screen img{border-radius:16px}.lt-base{margin:0 -16px}}

/* ---------- FAQ и финал */
#faq .faq{max-width:860px;margin:0 auto}
.finale{position:relative;padding:180px 0 160px;text-align:center;overflow-x:clip}
.finale .scene-bg{opacity:.6;filter:brightness(.6);height:calc(100% + 180px);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 62%,transparent 100%)}
.finale::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(55% 55% at 50% 52%,rgba(13,11,8,.15),rgba(13,11,8,.75) 85%)}
.finale p{margin:22px auto 30px;font:500 italic 24px var(--serif);color:#EADFC8}
.finale .hero-cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
@media (max-width:760px){.ch{padding:100px 0 90px}.ch-n{font-size:76px;top:-74px}.ch-h{margin-bottom:44px}.finale{padding:120px 0}}
@media (prefers-reduced-motion:reduce){.rv.in,.engine.in .node,.podium3.in .pd-block,.coin3d,.node-i::after,.fortune-w,.drum-a .btn img,.bub{animation:none!important}}

/* сцены-фоны: сокровищница — только верх главы, под заголовком */
.scene-bg--top{height:1120px;opacity:.55;filter:brightness(.5);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 560px,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 340px,#000 560px,transparent 100%)}
.fortune .scene-bg{opacity:.45;filter:brightness(.5)}
.arena .scene-bg{opacity:.55;filter:brightness(.5);object-position:50% 30%}
.heraldx .scene-bg{opacity:.38;object-position:70% 50%}
.host .scene-bg{opacity:.38;object-position:70% 50%}

/* переход через врата: вспышка на весь экран, под ней страница переносится к «Сути», затем свет тает */
.warp{position:fixed;inset:0;z-index:60;pointer-events:none;opacity:0;background:radial-gradient(circle at 68% 55%,rgba(255,240,205,1),rgba(255,206,120,.92) 28%,rgba(120,70,20,.9) 62%,rgba(13,11,8,1) 85%)}
@media (max-width:760px), (orientation: portrait) and (max-width:1100px){.warp{background:radial-gradient(circle at 50% 55%,rgba(255,240,205,1),rgba(255,206,120,.92) 28%,rgba(120,70,20,.9) 62%,rgba(13,11,8,1) 85%)}}
.gate-flash{background:radial-gradient(circle at 68% 55%,rgba(255,240,205,1),rgba(255,206,120,.92) 28%,rgba(120,70,20,.9) 62%,rgba(13,11,8,1) 85%)}
@media (max-width:760px), (orientation: portrait) and (max-width:1100px){.gate-flash{background:radial-gradient(circle at 50% 55%,rgba(255,240,205,1),rgba(255,206,120,.92) 28%,rgba(120,70,20,.9) 62%,rgba(13,11,8,1) 85%)}}
/* мягкие швы у глав без сцены: тёплое свечение перетекает через границу */
.trial::before,.path::before,.lookb::before,.hallx::before,.apps::before,#faq::before{content:"";position:absolute;left:0;right:0;top:-160px;height:320px;z-index:0;pointer-events:none;background:radial-gradient(60% 50% at 50% 50%,rgba(217,174,85,.05),transparent 70%)}

/* телефон и планшет вертикально: вертикальные сцены, без бокового затухания */
@media (max-width:760px), (orientation: portrait) and (max-width:1100px){
  .essence-bg{width:100%;opacity:.42;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 260px,#000 calc(100% - 340px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 260px,#000 calc(100% - 340px),transparent 100%)}
  .scene-bg,.ranks-bg img{object-position:50% 40%}
  .ranks-bg img{opacity:.55}
}
.ranks-bg picture{display:block;width:100%;height:100%}

/* конструктор облика: лента портретов */
.opts[data-kind=portrait]{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 2px 10px;scrollbar-width:thin;scrollbar-color:rgba(217,174,85,.4) transparent;-webkit-mask:linear-gradient(90deg,#000 88%,transparent);mask:linear-gradient(90deg,#000 88%,transparent)}
.opts[data-kind=portrait] .op{flex:0 0 auto;min-width:0;min-height:0;padding:6px;border-radius:50%;scroll-snap-align:start}
.opts[data-kind=portrait] .op img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.opts[data-kind=portrait] .op:last-child{margin-right:40px}
.opts[data-kind=frame] .op img.av-fr{width:170%;height:170%;object-fit:contain}
