/* FlinkOne — 서브페이지 공통 (토큰·타이포·내비·버튼·태그·푸터·키프레임) */
body{margin:0;font-family:'Noto Sans KR',sans-serif;color:#FFFFFF;background:#0B0628;word-break:keep-all;-webkit-font-smoothing:antialiased}
.px{font-family:Silkscreen,monospace;font-weight:700;text-transform:uppercase;letter-spacing:0}
.pxl{font-family:Silkscreen,monospace;font-weight:400;text-transform:uppercase;letter-spacing:.02em}
.wd{font-family:Unbounded,'Noto Sans KR',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:-.02em}
.ui{font-family:Unbounded,'Noto Sans KR',sans-serif}
.dp{font-family:'Black Han Sans','Noto Sans KR',sans-serif;font-weight:400}
.ol{color:transparent;-webkit-text-stroke:3px #35F2A8}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
a{color:#35F2A8}
.nav a{color:#0B0628;text-decoration:none;padding:12px 16px;border-radius:10px;font-family:Unbounded,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.01em;transition:background .2s,color .2s}
.nav a:hover{background:rgba(11,6,40,.1)}
.nav a[aria-current]{background:rgba(11,6,40,.12);box-shadow:inset 0 -3px 0 #3617CE}
.nav a.cta{background:#0B0628;color:#35F2A8;box-shadow:none}.nav a.cta:hover{background:#3617CE;color:#FFFFFF}
.tag{display:inline-flex;align-items:center;min-height:34px;padding:0 16px;border-radius:999px;background:#FFFFFF;color:#0B0628;font-family:Unbounded,'Noto Sans KR',sans-serif;font-size:11px;font-weight:600;text-transform:uppercase;white-space:nowrap;border:1.5px solid #0B0628}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border:0;border-radius:12px;font-family:Unbounded,'Noto Sans KR',sans-serif;font-size:13px;font-weight:600;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,transform .3s cubic-bezier(.2,.9,.3,1.3)}
.btn:hover{transform:translateY(-3px) rotate(-1.5deg)}
.btn-mint{background:#35F2A8;color:#0B0628}.btn-mint:hover{background:#0B0628;color:#35F2A8}
.btn-ink{background:#0B0628;color:#FFFFFF}.btn-ink:hover{background:#3617CE;color:#FFFFFF}
.blink{display:inline-block;width:.42em;height:.62em;margin-left:.12em;background:#35F2A8;animation:blink 1s steps(1) infinite}
.wipe{animation:wipe 1.1s steps(12) .25s both}
.pop{animation:pop .8s cubic-bezier(.2,.9,.3,1.25) both}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}
.lk{color:#FFFFFF;text-decoration:none}.lk:hover{color:#35F2A8}
.fpill{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px;border-radius:999px;background:#FFFFFF;color:#0B0628;font-size:14px;font-weight:700;text-decoration:none;transition:transform .3s cubic-bezier(.2,.9,.3,1.3),background .2s}
.fpill:hover{background:#35F2A8;color:#0B0628;transform:rotate(-4deg) scale(1.04)}
.tilt{transition:rotate .45s cubic-bezier(.2,.9,.3,1.3),transform .45s cubic-bezier(.2,.9,.3,1.3)}
.tilt:hover{rotate:-1.6deg;transform:translateY(-4px)}
@keyframes blink{50%{opacity:0}}
@keyframes wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@keyframes pop{0%{opacity:0;scale:.6;rotate:-10deg}70%{opacity:1;scale:1.05}100%{opacity:1;scale:1;rotate:0deg}}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}
[hidden]{display:none !important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
