/* trinov.dev dot glass background v3 (2026-10-24, "배경이 안움직이네?": drift 10-16vmax over 22-36s; colours and shapes as v2. Earlier v2 note, Sean "대비보다는 색감 위주로, 세로·가로로 긴 형태는 전부 원형의 느낌으로 대비 줄여서 은은하게. 지금 어지럽다").
   Round, low-contrast colour fields drift slowly behind the same 7px lens grid; softer dot shading. Dark theme only. */
.dg-root{display:none}
.dg-defs{position:absolute;width:0;height:0;overflow:hidden}
html:not([data-theme="light"]) .dg-root{display:block;position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict}
html:not([data-theme="light"]) body>.ambient{display:none}
.dg-scene{position:absolute;inset:-28px;filter:url(#dg-lens);background:var(--body-background),#151a1a}
.dg-l{position:absolute;border-radius:50%;will-change:transform;transform:translate(-50%,-50%)}
.dg-shade{position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,#fff 0 30%,#bdbdbd 100%) 0 0/7px 7px;mix-blend-mode:multiply}
.dg-spec{position:absolute;inset:0;background:radial-gradient(circle at 40% 36%,rgba(255,255,255,0.02) 0,rgba(255,255,255,0) 32%) 0 0/7px 7px;mix-blend-mode:screen}
.dg-l0{left:14%;top:10%;width:60vmax;height:60vmax;background:radial-gradient(closest-side,rgba(172,140,96,0.22) 0,rgba(172,140,96,0.121) 50%,rgba(172,140,96,0) 100%);animation:dg3-0 26s ease-in-out 0s infinite}
@keyframes dg3-0{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + 14vmax),calc(-50% + 10vmax)) scale(1.12)}}
.dg-l1{left:88%;top:82%;width:66vmax;height:66vmax;background:radial-gradient(closest-side,rgba(22,108,112,0.42) 0,rgba(22,108,112,0.231) 50%,rgba(22,108,112,0) 100%);animation:dg3-1 30s ease-in-out -7.3s infinite}
@keyframes dg3-1{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + -16vmax),calc(-50% + -10vmax)) scale(1.1)}}
.dg-l2{left:70%;top:40%;width:40vmax;height:40vmax;background:radial-gradient(closest-side,rgba(196,140,40,0.12) 0,rgba(196,140,40,0.066) 50%,rgba(196,140,40,0) 100%);animation:dg3-2 22s ease-in-out -14.6s infinite}
@keyframes dg3-2{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + -12vmax),calc(-50% + 12vmax)) scale(1.15)}}
.dg-l3{left:8%;top:78%;width:48vmax;height:48vmax;background:radial-gradient(closest-side,rgba(52,92,128,0.3) 0,rgba(52,92,128,0.165) 50%,rgba(52,92,128,0) 100%);animation:dg3-3 28s ease-in-out -21.9s infinite}
@keyframes dg3-3{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + 14vmax),calc(-50% + -10vmax)) scale(1.1)}}
.dg-l4{left:52%;top:6%;width:44vmax;height:44vmax;background:radial-gradient(closest-side,rgba(104,118,64,0.18) 0,rgba(104,118,64,0.099) 50%,rgba(104,118,64,0) 100%);animation:dg3-4 32s ease-in-out -29.2s infinite}
@keyframes dg3-4{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + 10vmax),calc(-50% + 12vmax)) scale(1.12)}}
.dg-l5{left:40%;top:96%;width:50vmax;height:50vmax;background:radial-gradient(closest-side,rgba(36,116,96,0.22) 0,rgba(36,116,96,0.121) 50%,rgba(36,116,96,0) 100%);animation:dg3-5 34s ease-in-out -36.5s infinite}
@keyframes dg3-5{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + -14vmax),calc(-50% + -8vmax)) scale(1.1)}}
.dg-l6{left:96%;top:18%;width:38vmax;height:38vmax;background:radial-gradient(closest-side,rgba(128,96,72,0.16) 0,rgba(128,96,72,0.088) 50%,rgba(128,96,72,0) 100%);animation:dg3-6 24s ease-in-out -43.8s infinite}
@keyframes dg3-6{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + -12vmax),calc(-50% + 10vmax)) scale(1.14)}}
.dg-l7{left:30%;top:50%;width:54vmax;height:54vmax;background:radial-gradient(closest-side,rgba(30,76,96,0.24) 0,rgba(30,76,96,0.132) 50%,rgba(30,76,96,0) 100%);animation:dg3-7 36s ease-in-out -51.1s infinite}
@keyframes dg3-7{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(calc(-50% + 12vmax),calc(-50% + -12vmax)) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.dg-l{animation:none}}
html:not([data-theme="light"]) .button-ghost{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html:not([data-theme="light"]) :is(.foundation-pillars>span,.foundation-base>div,.foundation-base>span,.moai-spotlight-copy){-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
