/* v1.0 polish layer — shared across all pages */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{animation:cga-in .35s ease-out both}
@keyframes cga-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.stage-link{transition:transform .15s ease,border-color .15s ease,background .15s ease}
.stage-link:hover{transform:translateY(-2px)}
.stage-link.done{border-color:#4fd8a3!important;background:linear-gradient(90deg,#123a33,#13233a)!important}
.stage-link.half{border-color:#c9b25a!important}
.cga-progress{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:center;padding:1rem 1.2rem;margin:0 0 1rem;border:1px solid #2b4466;border-radius:16px;background:linear-gradient(120deg,#0f1d35,#13213b)}
.cga-progress .ring{--p:0;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#68e6c2 calc(var(--p)*1%),#22344f 0);position:relative}
.cga-progress .ring::after{content:"";position:absolute;inset:9px;border-radius:50%;background:#101d34}
.cga-progress .ring b{position:relative;z-index:1;font-size:1.15rem}
.cga-progress h2{font-size:1.05rem;margin-bottom:.4rem}
.cga-bars{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.cga-bars div{font-size:.78rem;color:#b9cbe2}
.cga-bars i{display:block;height:7px;border-radius:9px;background:#22344f;margin-top:.25rem;overflow:hidden}
.cga-bars i span{display:block;height:100%;background:linear-gradient(90deg,#5ee3f2,#7ff0b9);border-radius:9px}
@media(max-width:640px){.cga-progress{grid-template-columns:1fr;justify-items:start}.cga-bars{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cga-welcome{position:fixed;inset:0;z-index:1000;display:flex;overflow:auto;padding:1rem;background:#040912cc;backdrop-filter:blur(3px)}
.cga-welcome[hidden]{display:none}
.cga-welcome .box{margin:auto;max-width:560px;width:100%;padding:1.4rem;border-radius:20px;border:1px solid #4a6a95;background:linear-gradient(160deg,#13233f,#0c1629);box-shadow:0 30px 80px #000a}
.cga-welcome h2{font-size:1.35rem;margin:.2rem 0 .8rem}
.cga-welcome ol{margin:0 0 1rem;padding-left:1.3rem;display:grid;gap:.5rem}
.cga-welcome .note{font-size:.85rem;color:#a9bdd6;margin-bottom:1rem}
.cga-welcome .hero{float:right;width:96px;margin:-.4rem -.4rem .4rem .6rem}
.cga-foot{margin:2rem auto 1rem;max-width:1440px;padding:0 1rem;color:#7f95b2;font-size:.8rem;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;justify-content:space-between}
.cga-foot button{min-height:34px;padding:.25rem .7rem;font-size:.8rem}
@media(max-width:540px){.cat-world .control{grid-template-columns:repeat(2,minmax(0,1fr))}.cat-world .control button{font-size:.8rem;line-height:1.25}.cat-world .control button img{width:34px;height:34px}.cga-welcome .hero{width:70px}.cga-welcome h2{font-size:1.15rem}}
