/* カプセルマシンを まわす 演出（v13.14・案C ほしぞらの しょうかん）
   仕様 docs/v13.14カプセルの演出メモ.md。動かすのは transform と opacity だけ（v13.10）。
   ステージは よこ 400px・たて 700〜900px。たての 位置は % で（下の まほうじんから 上へ つみ上げる）。
     まほうじんの まん中 …… 下から 18%
     マシン（300×300）…… 下から 24%（まほうじんの 上に 立つ）
     カプセル（150×150）… 上から 82% − 210px（まほうじんの 上に うかぶ）
*/
.capfx {
  position: absolute; inset: 0; z-index: 60; overflow: hidden;
  cursor: pointer; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent;
  --gc: rgba(200, 220, 255, .30);           /* うしろの 光の 色（レベルで かわる） */
  --rc: rgba(255, 255, 255, .22);           /* 光の すじの 色 */
  --lc: #ffffff;                            /* ヒビから もれる 光の 色 */
}
.capfx.lv--g  { --gc: rgba(255, 212, 71, .78); --rc: rgba(255, 212, 71, .55); --lc: #ffd447; }
.capfx.lv--p  { --gc: rgba(180, 140, 255, .85); --rc: rgba(190, 150, 255, .6); --lc: #d6c2ff; }
.capfx.lv--rb { --gc: rgba(255, 255, 255, .88); --rc: rgba(255, 255, 255, .5); --lc: #ffffff; }
.capfx.is-in { animation: capfxIn .38s ease-out; }
@keyframes capfxIn { from { opacity: 0; } to { opacity: 1; } }

/* 夜空 */
.capfx__sky { position: absolute; inset: 0; background: radial-gradient(120% 70% at 50% 100%, #2a1f6b 0%, #141a44 45%, #0a0e24 100%); }
.capfx.is-crack .capfx__sky, .capfx.is-burst .capfx__sky { background: radial-gradient(120% 70% at 50% 100%, #1b1450 0%, #0b0f2c 50%, #05071a 100%); }
/* 星は 2px の 点 1つの box-shadow に まとめて 描く（capsulefx.js の stars()）。またたきは 層ごと 1つ */
.capfx__stars { position: absolute; left: 0; top: 0; display: block; width: 2px; height: 2px; }
.capfx__stars--tw { animation: capfxTw 2.6s ease-in-out infinite; }
@keyframes capfxTw { 0%, 100% { opacity: .25; } 50% { opacity: 1; } }

/* うしろの 光と 光の すじ（マシンの ガラスの まん中あたり） */
.capfx__glow {
  position: absolute; left: calc(50% - 190px); top: calc(76% - 385px); width: 380px; height: 380px; border-radius: 50%;
  background: radial-gradient(circle, var(--gc) 0%, rgba(0, 0, 0, 0) 62%); opacity: 0; transition: opacity .35s;
}
.capfx.lv--g .capfx__glow, .capfx.lv--p .capfx__glow, .capfx.lv--rb .capfx__glow, .capfx.is-light .capfx__glow { opacity: 1; }
.capfx__rays {
  position: absolute; left: calc(50% - 270px); top: calc(76% - 465px); width: 540px; height: 540px; border-radius: 50%; opacity: 0;
  background: repeating-conic-gradient(var(--rc) 0 7deg, rgba(0, 0, 0, 0) 7deg 20deg);
  -webkit-mask: radial-gradient(circle, #000 18%, rgba(0, 0, 0, 0) 68%); mask: radial-gradient(circle, #000 18%, rgba(0, 0, 0, 0) 68%);
  transition: opacity .4s; animation: capfxSpin 14s linear infinite;
}
.capfx.is-light .capfx__rays { opacity: 1; }
.capfx.is-cap .capfx__rays { top: calc(82% - 405px); }
.capfx.is-cap .capfx__glow { top: calc(82% - 325px); }
@keyframes capfxSpin { to { transform: rotate(360deg); } }

/* まほうじん（わの 数＝いま 何だんめ か・色＝期待度） */
.capfx__circle { position: absolute; left: 0; right: 0; bottom: 18%; height: 0; }
.capfx__ring {
  position: absolute; left: 50%; top: 0; border-radius: 50%; box-sizing: border-box;
  border: 3px dashed rgba(159, 178, 221, .30);
}
.capfx__ring--1 { width: 340px; height: 86px; margin: -43px 0 0 -170px; }
.capfx__ring--2 { width: 264px; height: 66px; margin: -33px 0 0 -132px; }
.capfx__ring--3 { width: 190px; height: 48px; margin: -24px 0 0 -95px; }
.capfx__ring.is-on { border-style: solid; border-width: 5px; animation: capfxRing .5s ease-out, capfxPulse 1.3s ease-in-out .5s infinite; }
.capfx__ring.is-on.lv--w  { border-color: #eef3ff; box-shadow: 0 0 14px rgba(230, 240, 255, .7), inset 0 0 10px rgba(230, 240, 255, .45); }
.capfx__ring.is-on.lv--g  { border-color: #ffd447; box-shadow: 0 0 22px #ffd447, inset 0 0 16px rgba(255, 212, 71, .7); }
.capfx__ring.is-on.lv--p  { border-color: #b48cff; box-shadow: 0 0 24px #b48cff, inset 0 0 16px rgba(180, 140, 255, .75); }
.capfx__ring.is-on.lv--rb { border-color: #fff; box-shadow: 0 0 0 3px #ff5e7a, 0 0 0 6px #ffd447, 0 0 0 9px #4fd3ff, 0 0 0 12px #b48cff, 0 0 30px 10px rgba(255, 255, 255, .7); }
@keyframes capfxRing { from { transform: scale(.55); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes capfxPulse { 0%, 100% { opacity: .8; } 50% { opacity: 1; } }
.capfx.is-reveal .capfx__circle { opacity: .45; transition: opacity .6s; }

/* 3D の 器 */
.capfx__scene { position: relative; perspective: 900px; }
.capfx__fig { position: absolute; left: 0; top: 0; width: 100%; height: 100%; transform-style: preserve-3d; transform: rotateX(8deg) rotateY(var(--ry, 0deg)); }
.capfx__fig--mc { animation: capfxSway 5s ease-in-out infinite; }
@keyframes capfxSway { 0%, 100% { transform: rotateX(8deg) rotateY(-24deg); } 50% { transform: rotateX(8deg) rotateY(-12deg); } }
.capfx__fig--cap { animation: capfxTurn 2.6s ease-in-out infinite; }
@keyframes capfxTurn { 0%, 100% { transform: rotateX(8deg) rotateY(-26deg); } 50% { transform: rotateX(8deg) rotateY(26deg); } }
.capfx__hold { position: absolute; width: 96px; height: 96px; transform-style: preserve-3d; transform-origin: center bottom; }
/* カプセルマシンの 画面（メニューの 中）の 3D の マシン（2026-09-13）。
   うしろに うすい 光（2D。3D の 面に 光を つけない きまり）。ゆれは 演出より ゆっくり */
.capmc3d { position: relative; flex: 0 0 auto; }
.capmc3d::before {
  content: ''; position: absolute; left: 50%; top: 42%; width: 190px; height: 150px; margin: -75px 0 0 -95px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(140, 190, 255, .26), rgba(140, 190, 255, 0));
}
.capmc3d--home::before { background: radial-gradient(closest-side, rgba(255, 214, 110, .30), rgba(255, 214, 110, 0)); }
.capmc3d .capfx__scene { position: relative; }
.capfx__fig--menu { animation-duration: 7s; }
@media (prefers-reduced-motion: reduce) { .capfx__fig--menu { animation: none; } }

/* マシン */
.capfx__mc { position: absolute; left: 50px; bottom: 24%; width: 300px; height: 300px; transform-origin: 50% 100%; transition: transform .6s cubic-bezier(.3, .1, .3, 1), opacity .6s; }
/* マシンの 登場は .is-enter（0.5秒の あとに JS が 外す）。.capfx.is-in に つなぐと ゆれ（is-turn）が おわった ときに また はじまる */
.capfx__mc.is-enter { animation: capfxMcIn .5s cubic-bezier(.2, 1.4, .4, 1); }
@keyframes capfxMcIn { from { scale: .45; opacity: 0; } to { scale: 1; opacity: 1; } }
.capfx.is-turn .capfx__mc, .capfx.is-tumble .capfx__mc { animation: capfxShake .15s linear infinite; }
@keyframes capfxShake { 0%, 100% { translate: -2px 0; } 50% { translate: 2px 0; } }
.capfx.is-cap .capfx__mc { transform: translateY(-150px) scale(.5); opacity: .28; }
.capfx.is-reveal .capfx__mc { opacity: 0; }
.capfx__mc2d { position: absolute; left: 102px; top: 176px; transform: scale(2.6); transform-origin: center bottom; }
/* ハンドルが ぐるっと 回る・玉が はねる */
.capfx.is-turn .p--knob, .capfx.is-turn .capfx__mc2d .capmc__knob { animation: capfxKnob .8s cubic-bezier(.35, .1, .3, 1); }
@keyframes capfxKnob { from { transform: rotateZ(0deg); } to { transform: rotateZ(360deg); } }
.capfx.is-turn [class*="p--ball"], .capfx.is-tumble [class*="p--ball"], .capfx.is-turn .capmc__ball, .capfx.is-tumble .capmc__ball { animation: capfxBall .34s ease-in-out infinite alternate; }
.capfx .p--ball2, .capfx .p--ball5, .capfx .p--ball8, .capfx .p--ball11, .capfx .capmc__ball--2 { animation-delay: -.12s !important; }
.capfx .p--ball3, .capfx .p--ball6, .capfx .p--ball9, .capfx .p--ball12, .capfx .capmc__ball--3 { animation-delay: -.24s !important; }
@keyframes capfxBall { from { translate: 0 0; rotate: -8deg; } to { translate: 0 -10px; rotate: 16deg; } }
/* ガラスの 色（期待度）。うしろの 光と いっしょに 変わる */
.capfx.lv--g .v3glass__front  { background: linear-gradient(115deg, rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, .6) 19% 25%, rgba(255, 255, 255, 0) 26%), rgba(255, 226, 120, .32); }
.capfx.lv--p .v3glass__front  { background: linear-gradient(115deg, rgba(255, 255, 255, 0) 18%, rgba(255, 255, 255, .6) 19% 25%, rgba(255, 255, 255, 0) 26%), rgba(190, 150, 255, .36); }
.capfx.lv--rb .v3glass__front { background: linear-gradient(115deg, rgba(255, 94, 122, .32), rgba(255, 212, 71, .32), rgba(99, 217, 79, .32), rgba(79, 211, 255, .32), rgba(180, 140, 255, .36)); }
/* ノーマルの おまけ：くしゃみ */
.capfx__puffs { position: absolute; left: 0; top: 40px; width: 100%; height: 0; pointer-events: none; }
.capfx__puffs i { position: absolute; top: 0; width: 26px; height: 26px; background: rgba(255, 255, 255, .92); opacity: 0; }
.capfx__puffs i:nth-child(1) { left: 84px; } .capfx__puffs i:nth-child(2) { left: 138px; } .capfx__puffs i:nth-child(3) { left: 190px; }
.capfx__mc.is-sneeze .capfx__scene { animation: capfxSneeze .7s ease-out; }
.capfx__mc.is-sneeze .capfx__puffs i { animation: capfxPuff .9s ease-out; }
.capfx__mc.is-sneeze .capfx__puffs i:nth-child(2) { animation-delay: .06s; } .capfx__mc.is-sneeze .capfx__puffs i:nth-child(3) { animation-delay: .12s; }
@keyframes capfxSneeze { 0% { transform: none; } 20% { transform: scale(1.06, .9); } 45% { transform: translateY(-26px) scale(.96, 1.06); } 70% { transform: none; } 85% { transform: scale(1.03, .96); } 100% { transform: none; } }
@keyframes capfxPuff { 0% { opacity: 0; transform: translateY(20px) scale(.4); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(-50px) scale(1.5) rotate(25deg); } }

/* カプセル */
.capfx__cap { position: absolute; left: 125px; top: calc(82% - 210px); width: 150px; height: 150px; }
.capfx__cap.is-drop { animation: capfxCapIn 1s cubic-bezier(.3, .1, .3, 1) both; }
.capfx__cap.is-drop.is-double { animation: capfxCapIn2 1.42s cubic-bezier(.3, .1, .3, 1) both; }
/* 出口（マシンの 左下）から ころがり出て、まほうじんの 手まえで はねて、上へ うかぶ */
@keyframes capfxCapIn {
  0% { transform: translate(-58px, -40px) scale(.24); opacity: 0; }
  10% { opacity: 1; }
  34% { transform: translate(-44px, 40px) scale(.42); }
  52% { transform: translate(-24px, 14px) scale(.5); }
  100% { transform: translate(0, 0) scale(1); opacity: 1; }
}
@keyframes capfxCapIn2 {
  0% { transform: translate(-58px, -40px) scale(.24); opacity: 0; }
  8% { opacity: 1; }
  24% { transform: translate(-44px, 40px) scale(.42); }
  34% { transform: translate(-36px, 0) scale(.45); }
  44% { transform: translate(-30px, 40px) scale(.46); }
  52% { transform: translate(-26px, 18px) scale(.47); }
  60% { transform: translate(-22px, 40px) scale(.48); }
  100% { transform: translate(0, 0) scale(1); opacity: 1; }
}
.capfx__capart { position: absolute; inset: 0; animation: capfxFloat 2.2s ease-in-out 1s infinite; }
@keyframes capfxFloat { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }
.capfx__cap.is-hit .capfx__capart { animation: capfxHit .24s linear, capfxFloat 2.2s ease-in-out .24s infinite; }
@keyframes capfxHit { 0%, 100% { transform: none; } 25% { transform: translateX(-7px) rotate(-5deg); } 75% { transform: translateX(7px) rotate(5deg); } }
.capfx__cap2d { position: absolute; left: 25px; top: 25px; width: 100px; height: 100px; border-radius: 50%; }
.capfx__cap2d.tone--n  { background: linear-gradient(#fff1e2 0 48%, #ff8f5e 48% 100%); box-shadow: inset 0 6px 0 rgba(255, 255, 255, .7), 0 0 20px rgba(255, 143, 94, .6); }
.capfx__cap2d.tone--r  { background: linear-gradient(#fff6cf 0 48%, #ffc93c 48% 100%); box-shadow: inset 0 6px 0 rgba(255, 255, 255, .7), 0 0 26px rgba(255, 212, 71, .9); }
.capfx__cap2d.tone--sr { background: linear-gradient(#f1e6ff 0 48%, #9a6ae8 48% 100%); box-shadow: inset 0 6px 0 rgba(255, 255, 255, .7), 0 0 30px rgba(180, 140, 255, 1); }
/* もれる 光（ヒビが ふえる ほど 大きく） */
.capfx__leak { position: absolute; left: -45px; top: -45px; width: 240px; height: 240px; border-radius: 50%; background: radial-gradient(circle, var(--lc) 0%, rgba(0, 0, 0, 0) 60%); opacity: 0; transform: scale(.5); transition: transform .25s, opacity .25s; }
.capfx__cap.crack--1 .capfx__leak { opacity: .45; transform: scale(.7); }
.capfx__cap.crack--2 .capfx__leak { opacity: .7; transform: scale(.95); }
.capfx__cap.crack--3 .capfx__leak { opacity: 1; transform: scale(1.3); }
.capfx__crack { position: absolute; inset: 0; width: 150px; height: 150px; pointer-events: none; filter: drop-shadow(0 0 4px var(--lc)); }
.capfx__crack path { fill: none; stroke: #fff; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity .12s; }
.capfx__cap.crack--1 .c1, .capfx__cap.crack--2 .c1, .capfx__cap.crack--2 .c2, .capfx__cap.crack--3 path { opacity: 1; }
/* パカッ（上の 半分は 上へ・下の 半分は 下へ）＋ かけら */
.capfx.is-burst .p--top { animation: capfxTop .5s ease-out forwards; }
.capfx.is-burst .p--bot { animation: capfxBot .5s ease-out forwards; }
@keyframes capfxTop { to { transform: translateY(-38px) rotateZ(-34deg); opacity: 0; } }
@keyframes capfxBot { to { transform: translateY(26px) rotateZ(22deg); opacity: 0; } }
.capfx.is-burst .capfx__crack, .capfx.is-burst .capfx__cap2d { opacity: 0; transition: opacity .2s; }
.capfx__shards { position: absolute; left: 75px; top: 75px; width: 0; height: 0; }
.capfx__shards i { position: absolute; left: -5px; top: -5px; width: 10px; height: 10px; animation: capfxShard .6s ease-out forwards; }
@keyframes capfxShard { from { transform: none; opacity: 1; } to { transform: translate(var(--dx), var(--dy)) rotate(var(--rz)); opacity: 0; } }

/* 文字・ゆび・ピップ */
.capfx__say { position: absolute; left: 0; right: 0; top: 10%; margin: 0; text-align: center; font-family: var(--f-head); font-size: 24px; color: #fff; text-shadow: 0 3px 0 rgba(0, 0, 0, .55); }
.capfx__chip { position: absolute; left: 50%; top: 17%; transform: translateX(-50%); padding: 6px 18px; border-radius: 999px; font-size: 15px; font-weight: 700; white-space: nowrap; }
.capfx__chip.lv--g  { color: #3a2604; background: #ffd447; box-shadow: 0 0 18px rgba(255, 212, 71, .8); }
.capfx__chip.lv--p  { color: #1e0f40; background: #c7a8ff; box-shadow: 0 0 20px rgba(180, 140, 255, .9); }
.capfx__chip.lv--rb { color: #1c2340; background: linear-gradient(90deg, #ff5e7a, #ffd447, #63d94f, #4fd3ff, #b48cff); box-shadow: 0 0 24px rgba(255, 255, 255, .8); }
.capfx__chip.is-pop, .capfx__palsay.is-pop, .capfx__ok.is-pop { animation: capfxPop .32s cubic-bezier(.2, 1.6, .4, 1); }
@keyframes capfxPop { from { scale: .5; opacity: 0; } to { scale: 1; opacity: 1; } }
.capfx__pips { position: absolute; left: 50%; top: calc(82% - 52px); transform: translateX(-50%); display: flex; gap: 10px; }
.capfx__pips i { width: 14px; height: 14px; border-radius: 50%; background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .6); }
.capfx__pips i.on { background: #fff; box-shadow: 0 0 10px #fff; }
.capfx__finger { position: absolute; pointer-events: none; animation: capfxPoke .8s ease-in-out infinite; }
.capfx__finger.at--knob { left: 236px; top: calc(76% - 78px); }
.capfx__finger.at--cap { left: 200px; top: calc(82% - 130px); }
@keyframes capfxPoke { 0%, 100% { translate: 0 0; } 50% { translate: -4px -8px; } }

/* 相棒 */
.capfx__pal { position: absolute; left: 8px; bottom: 3%; width: 84px; height: 84px; z-index: 3; transition: transform .5s ease-in-out; }
.capfx__palart { position: absolute; left: 4px; bottom: 0; }
.capfx__pal.is-jump .capfx__palart { animation: capfxJump .42s ease-out infinite alternate; }
.capfx__pal.is-cheer .capfx__palart { animation: capfxJump .3s ease-out infinite alternate; }
@keyframes capfxJump { from { translate: 0 0; } to { translate: 0 -16px; } }
.capfx__pal.is-peek { transform: translateX(96px); }
.capfx__palsay { position: absolute; left: 80px; bottom: 60px; margin: 0; padding: 6px 12px; border-radius: 12px; white-space: nowrap; font-size: 14px; font-weight: 700; color: #1c2340; background: #fffdf4; box-shadow: 0 3px 0 rgba(0, 0, 0, .25); }

/* 登場 */
.capfx__pillar {
  position: absolute; left: calc(50% - 90px); bottom: 18%; width: 180px; height: 70%; opacity: 0; transform-origin: 50% 100%;
  background: linear-gradient(to top, var(--gc), rgba(0, 0, 0, 0) 90%);
  -webkit-mask: linear-gradient(90deg, rgba(0, 0, 0, 0), #000 30% 70%, rgba(0, 0, 0, 0)); mask: linear-gradient(90deg, rgba(0, 0, 0, 0), #000 30% 70%, rgba(0, 0, 0, 0));
}
.capfx.is-reveal .capfx__pillar { animation: capfxPillar 1.1s ease-out forwards; }
@keyframes capfxPillar { 0% { opacity: 0; transform: scaleY(.1); } 40% { opacity: 1; transform: scaleY(1); } 100% { opacity: .7; transform: scaleY(1); } }
.capfx__reveal { position: absolute; left: 0; right: 0; top: 7%; bottom: 27%; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; gap: 8px; z-index: 2; cursor: default; }
.capfx__badge { padding: 5px 20px; border-radius: 999px; font-family: var(--f-head); font-size: 17px; color: #0e1424; background: #9fb2dd; animation: capfxPop .4s cubic-bezier(.2, 1.6, .4, 1) .15s both; }
.capfx.rare--r .capfx__badge  { background: linear-gradient(#ffe89a, #ffc93c); box-shadow: 0 0 18px rgba(255, 212, 71, .8); }
.capfx.rare--sr .capfx__badge { color: #fff; background: linear-gradient(#c7a8ff, #8d5fe0); box-shadow: 0 0 22px rgba(180, 140, 255, .95); }
.capfx__art { position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 176px; animation: capfxRise .7s cubic-bezier(.2, 1.2, .4, 1) both; }
@keyframes capfxRise { from { transform: translateY(70px) scale(.55); opacity: 0; } to { transform: none; opacity: 1; } }
.capfx__new { position: absolute; right: -30px; top: 6px; padding: 3px 10px; border-radius: 8px; font-family: var(--f-head); font-size: 15px; color: #fff; background: linear-gradient(var(--org-1), var(--org-2)); box-shadow: 0 3px 0 var(--org-sh); transform: rotate(-8deg); animation: capfxPop .35s cubic-bezier(.2, 1.6, .4, 1) .55s both; }
.capfx__name { margin: 0; font-family: var(--f-head); font-size: 26px; color: #fff; text-align: center; text-shadow: 0 3px 0 rgba(0, 0, 0, .5); animation: capfxPop .35s ease-out .35s both; }
.capfx__msg { margin: 0; font-size: 15px; font-weight: 700; color: #ffd447; text-align: center; animation: capfxPop .35s ease-out .45s both; }
.capfx__ok { min-width: 180px; margin-top: 8px; }
.capfx__reveal .capticket { animation: capfxPop .35s ease-out .5s both; }
.capfx__conf { position: absolute; inset: 0; pointer-events: none; z-index: 3; }
.capfx__conf i { position: absolute; top: -16px; display: block; animation: capfxFall linear both; }
@keyframes capfxFall { from { transform: translate(0, 0) rotate(0deg); opacity: 1; } 85% { opacity: 1; } to { transform: translate(var(--dx), calc(var(--stage-h, 800px) + 40px)) rotate(var(--rz)); opacity: 0; } }
.capfx__coins { position: relative; width: 0; height: 0; }
.capfx__coin { position: absolute; left: -13px; top: -150px; opacity: 0; animation: capfxCoin 1s ease-in both; }
@keyframes capfxCoin { 0% { transform: scale(.5); opacity: 0; } 30% { transform: translate(var(--dx), -40px) scale(1); opacity: 1; } 100% { transform: translate(var(--dx), 330px) scale(.8); opacity: 0; } }

/* 画面ぜんたいの 光 */
.capfx__flash { position: absolute; inset: 0; background: #fff; opacity: 0; pointer-events: none; z-index: 4; }
.capfx__flash.is-up { animation: capfxUp .5s ease-out; }
.capfx__flash.is-burst { animation: capfxBurst .55s ease-out; }
@keyframes capfxUp { 0% { opacity: 0; } 30% { opacity: .3; } 100% { opacity: 0; } }
@keyframes capfxBurst { 0% { opacity: 0; } 25% { opacity: .95; } 100% { opacity: 0; } }
.capfx__skip {
  position: absolute; right: 12px; top: 12px; z-index: 5; padding: 6px 14px; border: 0; border-radius: 999px; cursor: pointer;
  font: 700 13px var(--f-body, sans-serif); color: #9fb2dd; background: rgba(12, 19, 48, .72); box-shadow: inset 0 0 0 1.5px rgba(159, 178, 221, .4);
}

@media (prefers-reduced-motion: reduce) {
  .capfx *, .capfx { animation-duration: .01s !important; animation-iteration-count: 1 !important; }
}
