@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");
:root{--bg:#070c1b;--panel:#0d162c;--panel2:#111d3a;--line:#21355f;--ink:#eef2fb;--muted:#9aa8c6;--dim:#6b7ba0;--blue:#345cff;--sky:#7fb2ff;--glow:rgba(52,92,255,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 Pretendard,"Segoe UI Variable","Segoe UI","Malgun Gothic","Microsoft YaHei UI","Yu Gothic UI",system-ui,sans-serif;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--sky)}
/* background: slow aurora blobs and a faint grid (transform/opacity only, so it stays smooth) */
.aurora{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55;will-change:transform}
.aurora i:nth-child(1){width:720px;height:720px;background:#1d3fd8;top:-260px;right:-180px;animation:drift1 26s ease-in-out infinite alternate}
.aurora i:nth-child(2){width:560px;height:560px;background:#0e5ad6;bottom:-240px;left:-160px;opacity:.35;animation:drift2 32s ease-in-out infinite alternate}
.aurora i:nth-child(3){width:420px;height:420px;background:#5a3cff;top:38%;left:42%;opacity:.18;animation:drift3 38s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(-140px,120px) scale(1.12)}}
@keyframes drift2{to{transform:translate(160px,-90px) scale(1.18)}}
@keyframes drift3{to{transform:translate(-120px,-140px) scale(.85)}}
.grid-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(127,178,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(127,178,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 30%,transparent 75%)}
/* top bar */
header{position:sticky;top:0;z-index:20;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(7,12,27,.62);border-bottom:1px solid rgba(33,53,95,.55)}
.bar{max-width:1120px;margin:0 auto;padding:12px 20px;display:flex;align-items:center;gap:14px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;color:var(--ink);text-decoration:none;letter-spacing:-.01em}.brand img{width:30px;height:30px;border-radius:8px}
.bar nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.bar nav a{color:var(--muted);text-decoration:none;font-size:14px;padding:8px 12px;border-radius:10px;transition:color .2s,background .2s}.bar nav a:hover{color:var(--ink);background:rgba(127,178,255,.08)}
/* language picker, like the app's */
.lang{position:relative}
.pill{display:flex;align-items:center;gap:8px;height:36px;padding:0 14px 0 16px;border-radius:18px;border:1px solid var(--line);background:rgba(13,22,44,.8);color:var(--ink);font:700 14px/1 inherit;cursor:pointer;transition:border-color .2s,color .2s}
.pill:hover,.lang.open .pill{border-color:var(--blue);color:var(--sky)}
.pill svg{transition:transform .25s}.lang.open .pill svg{transform:rotate(180deg)}
.menu{position:absolute;right:0;top:46px;width:236px;max-width:calc(100vw - 32px);max-height:calc(100vh - 80px);overflow:auto;padding:6px;border-radius:16px;background:#0c1530;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,0,0,.55);transform-origin:top right;clip-path:inset(0 0 100% 0 round 16px);opacity:0;pointer-events:none;transition:clip-path .22s cubic-bezier(.2,.8,.2,1),opacity .18s}
.lang.open .menu{clip-path:inset(0 0 0 0 round 16px);opacity:1;pointer-events:auto}
.menu button{display:flex;width:100%;justify-content:space-between;align-items:center;padding:9px 12px;border:0;border-radius:10px;background:none;color:var(--ink);font:500 14.5px/1.3 "Segoe UI",system-ui,sans-serif;cursor:pointer;text-align:left}
.menu button span{color:var(--dim);font-size:12px;font-weight:700}
.menu button:hover{background:rgba(127,178,255,.08)}.menu button.on{background:rgba(52,92,255,.22);color:#fff}.menu button.on span{color:var(--sky)}
/* reveal on scroll */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
/* Reduced motion (also when Windows animations are off): only the endless motions stop; what follows the pointer and the one-time reveals stay, gentler */
@media (prefers-reduced-motion:reduce){.aurora i,h1 em,.btn::after,.sk{animation:none!important}.rv{transform:none;transition:opacity .5s ease}}
.back{margin-right:6px;display:inline-flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:600;padding:8px 12px 8px 8px;border-radius:10px;border:1px solid var(--line);background:rgba(13,22,44,.6);transition:color .2s,border-color .2s}.back:hover{color:var(--ink);border-color:#3a5590}
@media (max-width:880px){.bar nav a.hide{display:none}}
@media (max-width:520px){.back span{display:none}}
.bar nav a.on{color:#fff;background:rgba(52,92,255,.22);box-shadow:inset 0 0 0 1px rgba(52,92,255,.55)}.bar nav a.on:hover{background:rgba(52,92,255,.28)}
