@import"https://fonts.googleapis.com/css2?family=Chokokutai&display=swap";*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:#040810}body{font-family:Segoe UI,sans-serif}.fullscreen{width:100vw;height:100vh;overflow:hidden;background:#040810;position:relative;display:flex;align-items:center;justify-content:center}.main-content{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;gap:28px;padding:24px}.smoke-bg{position:absolute;inset:0;overflow:hidden}.smoke-blur{position:absolute;border-radius:50%}.smoke-blur-1{width:130%;height:130%;top:-15%;left:-15%;filter:blur(90px)}.smoke-blur-2{width:110%;height:110%;top:-5%;left:-5%;filter:blur(70px)}.smoke-blur-3{width:120%;height:120%;top:-10%;left:-10%;filter:blur(100px)}.smoke-inner{width:100%;height:100%;border-radius:50%;will-change:transform}.smoke-1{background:radial-gradient(ellipse at 42% 52%,#0b1e4a 0%,transparent 58%);animation:smoke-drift-1 20s ease-in-out infinite}.smoke-2{background:radial-gradient(ellipse at 68% 38%,#060e28 0%,transparent 55%);animation:smoke-drift-2 26s ease-in-out infinite}.smoke-3{background:radial-gradient(ellipse at 50% 72%,#091630 0%,transparent 52%);animation:smoke-drift-3 32s ease-in-out infinite}@keyframes smoke-drift-1{0%,to{transform:translate(0) scale(1)}30%{transform:translate(-4%,3%) scale(1.04)}65%{transform:translate(3%,-2%) scale(.97)}}@keyframes smoke-drift-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(5%,4%) scale(1.06)}}@keyframes smoke-drift-3{0%,to{transform:translate(0) scale(1)}38%{transform:translate(-3%,-4%) scale(1.03)}78%{transform:translate(4%,2%) scale(.98)}}.emblem-container{position:relative;display:flex;align-items:center;justify-content:center}.emblem-glow-wrap{position:absolute;width:220%;height:220%;border-radius:50%;overflow:hidden}.emblem-glow{width:100%;height:100%;border-radius:50%;background:radial-gradient(ellipse at center,#1a4fff18 0%,transparent 65%);will-change:transform,opacity;animation:emblem-pulse 5s ease-in-out infinite}@keyframes emblem-pulse{0%,to{opacity:.25;transform:scale(.88)}50%{opacity:1;transform:scale(1.08)}}.emblem{width:clamp(220px,22vw,340px);position:relative;z-index:1}.typewriter-text{font-family:Chokokutai,system-ui;font-weight:400;font-style:normal;font-size:.82rem;color:#fff;letter-spacing:.12em;text-shadow:none;min-height:1.2em;text-align:center}.cursor{display:inline-block;margin-left:1px;animation:cursor-blink .75s step-end infinite}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.loading-dots{display:flex;align-items:center;gap:10px}.loading-dots span{display:block;width:5px;height:5px;border-radius:50%;background:#fff;will-change:transform,opacity;animation:dot-pulse 2.4s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.4s}.loading-dots span:nth-child(3){animation-delay:.8s}@keyframes dot-pulse{0%,60%,to{opacity:.15;transform:scale(.65)}30%{opacity:1;transform:scale(1)}}.route-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.route-link,.banner-back-link{border:1px solid rgba(96,164,255,.38);border-radius:999px;padding:10px 18px;color:#eef6ff;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;background:linear-gradient(135deg,#050e22d6,#0c2e70a3);box-shadow:0 0 24px #2276ff2e;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.route-link:hover,.route-link:focus-visible,.banner-back-link:hover,.banner-back-link:focus-visible{transform:translateY(-1px);border-color:#7abcffd1;box-shadow:0 0 28px #3586ff4d;outline:none}.banner-page{min-height:100vh;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:32px 20px;background:radial-gradient(circle at top,rgba(35,104,255,.28),transparent 34%),radial-gradient(circle at bottom,rgba(0,177,255,.16),transparent 26%),#02050d}.banner-frame{width:min(100%,1180px);display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,22px);border:1px solid rgba(96,164,255,.2);border-radius:28px;background:#030a18ad;box-shadow:0 24px 80px #00000073}.banner-image{width:100%;max-width:1100px;height:auto;display:block;object-fit:contain;border-radius:20px}@media(max-width:640px){html,body,#root{overflow:auto}.main-content{gap:22px}.route-links{width:100%;flex-direction:column}.route-link,.banner-back-link{width:min(100%,320px);text-align:center}}
