/* 코아스오피스 공통 모션 CSS (2026-11-02 시안) — 섹션에 class="kom" 를 붙인 곳만 적용. 사이트 기존 규칙은 건드리지 않는다. */
.kom { position: relative; isolation: isolate; }
.kom > .wrap { position: relative; z-index: 2; }
.kom-bgc, .kom-fxc { position: absolute; left: 0; top: 0; pointer-events: none; }
.kom-bgc { z-index: 0; }
.kom-fxc { z-index: 3; }
.kom-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(150, 190, 255, .16) 0%, rgba(80, 120, 255, .07) 35%, transparent 65%); }
/* 글자 쪼개기 */
.kom-w { display: inline-block; white-space: nowrap; }
.kom-ch { display: inline-block; will-change: transform, opacity, filter; }
.kom-wd { display: inline-block; }
/* JS 가 준비되기 전 깜빡임 방지: html.kom-js 일 때만 숨겼다가 모듈이 그린다. 3초 안전장치는 head 스크립트 */
/* 테두리 빛(박스형) */
.kom-rim, .kom-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); }
.kom-rim { padding: 1px; opacity: 0; }
.kom-run { padding: 1.5px; opacity: 0; z-index: 2; }
.kom-halo { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; }
/* 녹화 전용 가짜 커서·탭 */
#komCursor { position: fixed; left: 0; top: 0; width: 22px; height: 22px; z-index: 9999; pointer-events: none; display: none; }
#komTap { 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(120, 170, 255, .22); border: 2px solid rgba(120, 170, 255, .85); }
@media (prefers-reduced-motion: reduce) { .kom-bgc, .kom-fxc, .kom-light { display: none; } }
/* 숫자 굴리기(공통) */
.kom-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kom-roll { display: inline-flex; vertical-align: top; }
.kom-roll .kom-dg { display: inline-block; overflow: hidden; vertical-align: top; }
.kom-roll .kom-strip { display: block; will-change: transform; }
.kom-roll .kom-strip span { display: block; height: 1.25em; line-height: 1.25em; text-align: center; }

/* 사이트 .reveal 이 우리 섹션 안에 남아 있어도 보이게(모듈이 떼지만 안전장치) */
.kom .reveal { opacity: 1; transform: none; transition: none; }
