/* 데스커 공통 모션 CSS (2026-11-02) — 섹션에 class="dkm" 를 붙인 곳만 적용. 사이트 기존 규칙은 건드리지 않는다. */
.dkm { position: relative; isolation: isolate; }
.dkm > .cont, .dkm > .dkm-in { position: relative; z-index: 2; }
.dkm-bgc, .dkm-fxc { position: absolute; left: 0; top: 0; pointer-events: none; }
.dkm-bgc { z-index: 0; }
.dkm-fxc { z-index: 3; }
.dkm-light { position: absolute; left: 0; top: 0; width: 1000px; height: 1000px; border-radius: 50%; pointer-events: none; z-index: 1; opacity: 0;
  background: radial-gradient(circle, rgba(122, 216, 155, .16) 0%, rgba(0, 180, 64, .06) 35%, transparent 65%); }
/* 글자 쪼개기 */
.dkm-w { display: inline-block; white-space: nowrap; }
.dkm-ch { display: inline-block; will-change: transform, opacity, filter; }
.dkm-wd { display: inline-block; }
/* JS 가 준비되기 전 깜빡임 방지: html.dkm-js 일 때만 숨겼다가 모듈이 그린다. 3초 안전장치는 head 스크립트 */
/* 테두리 빛(박스형) */
.dkm-rim, .dkm-run { position: absolute; inset: -1px; border-radius: inherit; pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.dkm-rim { padding: 1px; opacity: 0; }
.dkm-run { padding: 1.5px; opacity: 0; z-index: 2; }
.dkm-halo { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; }
/* 녹화 전용 가짜 커서·탭 */
#dkmCursor { position: fixed; left: 0; top: 0; width: 22px; height: 22px; z-index: 9999; pointer-events: none; display: none; }
#dkmTap { position: fixed; left: 0; top: 0; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; z-index: 9998; pointer-events: none; display: none;
  background: rgba(0, 180, 64, .18); border: 2px solid rgba(0, 180, 64, .8); }
@media (prefers-reduced-motion: reduce) { .dkm-bgc, .dkm-fxc, .dkm-light { display: none; } }
/* 숫자 굴리기(공통) */
.dkm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dkm-roll { display: inline-flex; vertical-align: top; }
.dkm-roll .dkm-dg { display: inline-block; overflow: hidden; vertical-align: top; }
.dkm-roll .dkm-strip { display: block; will-change: transform; }
.dkm-roll .dkm-strip span { display: block; height: 1.25em; line-height: 1.25em; text-align: center; }
/* 사이트 규칙(예: dt span{display:block}, dl span{display:inline-block})이 우리 글자 조각·숫자에 먹지 않게 — 우리 클래스에만 !important */
.dkm span.dkm-w, .dkm span.dkm-ch, .dkm span.dkm-wd { display: inline-block !important; }
.dkm span.dkm-sr { display: inline !important; position: absolute !important; }
.dkm span.dkm-cnt { display: inline-block !important; font-variant-numeric: tabular-nums; text-align: right; }
