@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800;900&display=swap";html{scroll-behavior:smooth;min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{color:#f5f7ff;font-synthesis:none;background:#07071c;font-family:Be Vietnam Pro,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.page{background:radial-gradient(at 12% 0,#292a8b85,#0000 44%),radial-gradient(at 93% 34%,#7b08724f,#0000 42%),#07071c;min-height:100vh;position:relative;overflow:hidden}.background-glow{pointer-events:none;filter:blur(95px);opacity:.2;border-radius:50%;position:absolute}.glow-one{background:#42d6ef;width:340px;height:340px;top:350px;left:-140px}.glow-two{background:#e800be;width:390px;height:390px;top:780px;right:-160px}.page-content{z-index:1;width:min(1160px,100% - 36px);margin:auto;position:relative}.site-header{border-bottom:1px solid #7c7dba55;justify-content:space-between;align-items:center;padding:23px 0;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand-symbol{background:linear-gradient(135deg,#4244ce,#e800be);border-radius:12px;place-items:center;width:46px;height:46px;font-size:20px;font-weight:900;display:grid;box-shadow:0 0 25px #4244ce77}.brand strong{letter-spacing:1px;font-size:19px;display:block}.brand small{letter-spacing:.8px;color:#b4c7e8;margin-top:3px;font-size:10px;display:block}.header-tag{color:#42d6ef;letter-spacing:2px;border:1px solid #42d6ef77;border-radius:999px;padding:9px 13px;font-size:11px;font-weight:800}.site-footer{color:#aeb9d6;border-top:1px solid #6e73b04d;justify-content:space-between;align-items:center;gap:10px;margin-top:56px;padding:24px 0 32px;font-size:12px;display:flex}.site-footer strong{color:#fff}.landing{text-align:center;padding:44px 0 0}.landing-kicker{color:#42d6ef;letter-spacing:3px;font-size:12px;font-weight:800}.landing-title{margin:14px 0 30px;font-size:clamp(23px,4vw,46px);font-weight:900;line-height:1.3}.landing-title span{color:#0000;background:linear-gradient(100deg,#42d6ef,#f0b1f4,#e800be);-webkit-background-clip:text;background-clip:text}.hero-carousel{background:#121135;border:1px solid #757cff9c;border-radius:22px;position:relative;overflow:hidden;box-shadow:0 15px 65px #4244ce40}@keyframes appear{0%{opacity:.45;transform:scale(1.01)}to{opacity:1;transform:scale(1)}}.hero-art{aspect-ratio:2.5;min-height:250px;position:relative;overflow:hidden}.hero-art>img{object-fit:cover;width:100%;height:100%;display:block}.hero-art:not(.hero-art-second)>img{filter:brightness(.37)saturate(1.25)}.hero-overlay{text-align:left;background:linear-gradient(90deg,#090a31c9 0%,#1710567d 57%,#0000);flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(22px,6vw,70px);display:flex;position:absolute;inset:0}.hero-overlay>span{letter-spacing:3px;color:#42d6ef;font-size:clamp(10px,1.5vw,16px);font-weight:800}.hero-overlay h2{text-shadow:0 6px 30px #0009;margin:16px 0;font-size:clamp(33px,6vw,80px);font-weight:900;line-height:1.05}.hero-overlay h2 em{color:#42d6ef;text-shadow:0 0 24px #42d6ef77;font-style:normal}.hero-overlay p{color:#edf3ff;max-width:590px;font-size:clamp(11px,1.45vw,17px);line-height:1.8}.carousel-arrow{color:#fff;background:#090b27a8;border:1px solid #ffffff6b;border-radius:50%;place-items:center;width:42px;height:42px;font-size:30px;line-height:1;display:grid;position:absolute;top:45%;transform:translateY(-50%)}.carousel-arrow.prev{left:12px}.carousel-arrow.next{right:12px}.carousel-dots{gap:8px;display:flex;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.carousel-dots button{background:#ffffffa6;border:0;border-radius:20px;width:8px;height:8px;padding:0}.carousel-dots button.active{background:#42d6ef;width:28px}.landing-stats{justify-content:center;gap:clamp(20px,7vw,90px);margin:29px auto 24px;display:flex}.landing-stats>div{flex-direction:column;gap:6px;display:flex}.landing-stats strong{color:#42d6ef;font-size:clamp(28px,4vw,44px);font-weight:900}.landing-stats span{color:#d5dbef;font-size:13px}.primary-button{color:#fff;letter-spacing:1px;background:linear-gradient(110deg,#4244ce,#a52cc8,#e800be);border:0;border-radius:13px;justify-content:center;align-items:center;gap:15px;width:100%;padding:17px 24px;font-weight:900;display:flex;box-shadow:0 9px 32px #4244ce55}.primary-button:hover{filter:brightness(1.13)}.join-button{width:min(340px,100%);margin:0 auto 40px;font-size:17px}.landing-info{text-align:left;grid-template-columns:1fr 1fr;gap:22px;display:grid}.info-panel,.registration-card,.dashboard-card,.booth-card,.action-panel{background:linear-gradient(150deg,#181b47e8,#0c102bdc);border:1px solid #6769b55c;border-radius:20px;box-shadow:0 15px 45px #0003}.info-panel{padding:22px}.info-panel-heading span,.step-label{color:#42d6ef;letter-spacing:1.7px;font-size:11px;font-weight:800}.info-panel-heading h2{margin:8px 0 19px;font-size:20px}.map-panel img{object-fit:contain;background:#140d29;border:1px solid #5658a05c;border-radius:12px;width:100%;height:410px}.image-note{color:#b8c3dd;font-size:11px;line-height:1.6}.guide-steps{gap:13px;margin:0;padding:0;list-style:none;display:grid}.guide-steps li{background:#111538;border:1px solid #5359a447;border-radius:13px;align-items:flex-start;gap:14px;padding:15px;display:flex}.guide-steps b{color:#42d6ef;background:#4244ce4d;border:1px solid #42d6ef66;border-radius:9px;padding:10px;font-size:15px}.guide-steps strong{font-size:13px}.guide-steps p{color:#c0cce6;margin:7px 0 0;font-size:12px;line-height:1.75}.register-top{color:#9eaed0;justify-content:space-between;align-items:center;gap:12px;max-width:560px;margin:40px auto 15px;font-size:11px;display:flex}.back-button{color:#42d6ef;background:0 0;border:0;padding:8px 0}.registration-card{max-width:560px;margin:0 auto 50px;padding:clamp(22px,4vw,38px)}.card-heading h2{margin:12px 0;font-size:30px}.card-heading p,.dashboard-welcome p,.action-panel p{color:#c1cbe2;font-size:14px;line-height:1.8}.field{flex-direction:column;gap:8px;margin:22px 0;display:flex}.field label{font-size:13px;font-weight:700}.field input{color:#fff;background:#0c1130;border:1px solid #5b65a5;border-radius:11px;outline:none;width:100%;padding:15px}.field input:focus{border-color:#42d6ef;box-shadow:0 0 0 3px #42d6ef22}.field-error,.qr-error{color:#ff9ba9;font-size:13px}.notice{background:#30316d4d;border:1px solid #6568b366;border-radius:11px;align-items:flex-start;gap:10px;margin:16px 0;padding:13px;display:flex}.notice-icon{color:#42d6ef;border:1px solid #42d6ef;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:12px;display:grid}.notice p{color:#c8d3ec;margin:0;font-size:12px;line-height:1.7}.dashboard-welcome{padding:43px 0 20px}.dashboard-welcome h1{margin:13px 0;font-size:clamp(32px,5vw,56px)}.dashboard-welcome h1 span{color:#42d6ef}.dashboard-card{margin:12px 0 28px;padding:26px}.dashboard-card-header{justify-content:space-between;display:flex}.dashboard-card-header h2{margin:10px 0;font-size:23px}.dashboard-card-header p{color:#bfcbe4}.progress-section{border-top:1px solid #59609965;margin-top:18px;padding-top:20px}.progress-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.progress-header h3{margin:0 0 7px}.progress-header p{color:#bfcbe4;margin:0;font-size:13px}.progress-header>strong{color:#42d6ef;font-size:30px}.progress-track{background:#22274f;border-radius:100px;height:12px;margin-top:18px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4244ce,#42d6ef,#e800be);border-radius:100px;height:100%;transition:width .3s}.section-heading{justify-content:space-between;align-items:center;gap:10px;margin:30px 0 18px;display:flex}.section-heading h2{margin:8px 0;font-size:23px}.booth-count{color:#42d6ef;font-size:11px;font-weight:800}.booth-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.booth-card{flex-direction:column;align-items:flex-start;min-height:170px;padding:21px;display:flex}.booth-card.completed{background:linear-gradient(135deg,#123b61,#121942);border-color:#42d6ef}.booth-icon{color:#42d6ef;background:#4244ce77;border-radius:12px;place-items:center;width:43px;height:43px;font-weight:900;display:grid}.booth-card h3{margin:16px 0 13px;font-size:14px}.booth-status{border-radius:100px;margin-top:auto;padding:6px 10px;font-size:11px}.status-pending{color:#c4cce3;background:#373c67}.status-done{color:#42d6ef;background:#19485c}.action-panel{gap:14px;margin-top:30px;padding:26px;display:grid}.action-panel h2,.action-panel p{margin:0}.outline-button,.secondary-button{color:#42d6ef;background:#1a1e4d;border:1px solid #42d6ef77;border-radius:12px;justify-content:center;align-items:center;padding:15px;font-weight:800;display:flex}.outline-button:disabled{opacity:.4;cursor:not-allowed}.qr-message{color:#7cf2e6;background:#123f4a;border-radius:9px;padding:12px}.action-note{font-size:12px!important}.qr-overlay{z-index:30;background:#030514d9;place-items:center;padding:15px;display:grid;position:fixed;inset:0}.qr-modal{background:#101633;border:1px solid #5d6fb6;border-radius:18px;width:min(480px,100%);max-height:95vh;padding:20px;overflow:auto}.qr-modal-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.qr-modal h2{font-size:20px}.qr-modal p{color:#cad4eb;font-size:13px;line-height:1.6}.qr-reader{min-height:100px}.qr-help{font-size:12px!important}@media (width<=740px){.landing{padding-top:30px}.landing-title{margin-bottom:20px}.hero-art{aspect-ratio:1.5;min-height:240px}.hero-overlay{padding:22px 44px}.hero-overlay h2{font-size:clamp(30px,7vw,55px)}.hero-overlay p{max-width:280px;font-size:11px}.landing-info{grid-template-columns:1fr}.map-panel img{height:330px}.booth-grid{grid-template-columns:repeat(2,1fr)}.site-footer{flex-wrap:wrap}.header-tag{padding:7px;font-size:9px}.brand small{font-size:9px}.landing-stats{gap:25px}.landing-stats span{font-size:11px}}@media (width<=420px){.page-content{width:calc(100% - 24px)}.hero-art{aspect-ratio:1.2}.hero-overlay{padding:20px 39px}.hero-overlay h2{font-size:32px}.hero-overlay p{font-size:10px}.carousel-arrow{width:28px;height:28px;font-size:24px}.carousel-arrow.prev{left:5px}.carousel-arrow.next{right:5px}.booth-grid{gap:9px}.booth-card{padding:14px}.booth-card h3{font-size:12px}.landing-stats{gap:18px}.landing-stats strong{font-size:28px}.info-panel{padding:15px}}.landing-title{color:#f5f7ff}.landing-title span{background:0 0;-webkit-background-clip:initial;background-clip:initial;color:inherit}.hero-carousel{box-shadow:none}.hero-slide{animation:none}.hero-art{aspect-ratio:2.5;min-height:0}.hero-art-first{isolation:isolate;background:linear-gradient(115deg,#191a64 0%,#4244ce 48%,#7b1c9d 78%,#e800be 140%)}.hero-art-first:before{content:"";pointer-events:none;z-index:-1;background:radial-gradient(circle at 77% 32%,#42d6ef55,#0000 27%),repeating-linear-gradient(90deg,#0000 0 70px,#ffffff09 71px 72px);position:absolute;inset:0}.hero-art-first .hero-overlay{width:100%;height:100%;min-height:inherit;background:0 0;position:relative;inset:auto}.hero-art-second{background:#100e32}.hero-art-second img{object-fit:contain;filter:none;width:100%;height:100%;display:block;position:absolute;inset:0}.join-button{width:min(420px,100%);margin:28px auto 0}.info-panel,.guide-steps li{min-width:0}.guide-steps p{overflow-wrap:anywhere}@media (width<=740px){.landing-info{grid-template-columns:minmax(0,1fr);gap:16px}.hero-art{aspect-ratio:1.65;min-height:0}.hero-art-first .hero-overlay{padding:clamp(18px,5vw,35px) 42px}.hero-art-second img{object-fit:contain}.map-panel img{object-fit:contain;height:auto;max-height:520px}.info-panel-heading h2{font-size:18px}.guide-steps li{gap:10px;padding:13px}.guide-steps p{font-size:12px;line-height:1.65}.join-button{margin-top:22px}}@media (width<=420px){.hero-art{aspect-ratio:1.28}.hero-art-first .hero-overlay{padding:18px 37px}.hero-overlay h2{margin:10px 0;font-size:clamp(27px,8vw,34px)}.hero-overlay p{font-size:10px;line-height:1.6}.hero-overlay>span{letter-spacing:1px;font-size:9px}.landing-stats{justify-content:space-between;gap:12px}.landing-stats span{font-size:10px}.landing-title{font-size:clamp(22px,6.2vw,28px)}.map-panel img{max-height:none}.guide-steps b{padding:8px}.guide-steps strong{font-size:12px}.info-panel{padding:14px}}@media (prefers-reduced-motion:reduce){.hero-slide{animation:none}}html,body,#root{max-width:100%;overflow-x:hidden}.page-content,.landing,.landing-info,.info-panel{min-width:0}.hero-carousel{aspect-ratio:2.05;isolation:isolate;background:#0c0c32;width:100%;overflow:hidden}.hero-slide{width:100%;height:100%;animation:.45s both bannerFade}.hero-banner-image{object-fit:contain;object-position:center;background:#0c0c32;width:100%;height:100%;display:block}@keyframes bannerFade{0%{opacity:.35}to{opacity:1}}.carousel-arrow{z-index:3;top:50%}.carousel-dots{z-index:3;bottom:10px}.chibi-thought{color:#f6f7ff;background:linear-gradient(100deg,#4244ce30,#e800be22);border:1px solid #42d6ef77;border-radius:16px;justify-content:center;align-items:center;gap:10px;max-width:850px;margin:16px auto 0;padding:12px 20px;font-size:clamp(12px,1.5vw,16px);font-weight:700;line-height:1.5;animation:.55s thoughtIn;display:flex}.thought-icon{color:#42d6ef;font-size:22px;animation:2s ease-in-out infinite sparkle}@keyframes thoughtIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes sparkle{50%{transform:rotate(25deg)scale(1.25)}}.landing-info{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.map-panel img{object-fit:contain;width:100%;max-width:100%;height:auto;max-height:520px}.info-panel{overflow:hidden}.info-panel-heading h2,.guide-steps p{overflow-wrap:anywhere}@media (width<=740px){.hero-carousel{aspect-ratio:1.55}.hero-banner-image{object-fit:contain}.landing-info{grid-template-columns:minmax(0,1fr)}.map-panel img{max-height:520px}.chibi-thought{padding:12px;font-size:12px}}@media (width<=420px){.hero-carousel{aspect-ratio:1.45;border-radius:13px}.carousel-arrow{width:29px;height:29px;font-size:23px}.carousel-arrow.prev{left:5px}.carousel-arrow.next{right:5px}.landing-title{overflow-wrap:anywhere}}@media (prefers-reduced-motion:reduce){.hero-slide,.chibi-thought,.thought-icon{animation:none}}.hero-carousel{aspect-ratio:2.75;background:#10113b;border-radius:20px}.hero-slide{width:100%;height:100%;overflow:hidden}.hero-banner-image{object-fit:contain;background:#10113b;width:100%;height:100%}.hero-intro-slide{text-align:left;background:radial-gradient(circle at 82% 35%,#e800be80,#0000 40%),radial-gradient(circle at 24% 84%,#42d6ef50,#0000 38%),linear-gradient(115deg,#11174e,#4244ce 56%,#37105b);flex-direction:column;justify-content:center;align-items:flex-start;height:100%;padding:clamp(20px,6vw,76px);display:flex;position:relative;overflow:hidden}.hero-intro-slide:before{content:"";pointer-events:none;opacity:.27;background-image:radial-gradient(#fff9 1px,#0000 1px);background-size:38px 38px;animation:18s linear infinite starsDrift;position:absolute;inset:0}.hero-eyebrow{letter-spacing:3px;color:#42d6ef;font-size:clamp(10px,1.4vw,15px);font-weight:800;position:relative}.hero-intro-slide h2{color:#fff;text-shadow:0 5px 25px #0006;margin:14px 0;font-size:clamp(30px,6vw,75px);line-height:1.08;position:relative}.hero-intro-slide h2 em{color:#42d6ef;font-style:normal}.hero-intro-slide p{color:#fff;max-width:570px;font-size:clamp(11px,1.5vw,18px);line-height:1.7;position:relative}.hero-intro-decor{color:#42d6ef99;text-shadow:0 0 32px #e800be;font-size:clamp(36px,8vw,110px);animation:4s ease-in-out infinite decorFloat;position:absolute;top:37%;right:10%}.floating-chibi{z-index:18;pointer-events:none;align-items:flex-end;gap:8px;max-width:min(460px,96vw);display:flex;position:fixed;bottom:clamp(10px,3vw,28px);right:clamp(8px,2.5vw,38px)}.floating-chibi button{pointer-events:auto}.chibi-character{filter:drop-shadow(0 7px 16px #42d6ef60);background:0 0;border:0;flex:none;width:clamp(92px,11vw,160px);padding:0;transition:transform .25s,filter .25s;animation:3.2s ease-in-out infinite chibiFloat}.chibi-character img{width:100%;height:auto;display:block}.chibi-character:hover{filter:drop-shadow(0 0 22px #e800be);transform:rotate(-7deg)scale(1.12)}.chibi-speech{color:#fff;text-align:left;cursor:pointer;background:linear-gradient(125deg,#10173cf5,#272063f5);border:2px solid #42d6ef;border-radius:20px;min-width:0;max-width:270px;padding:15px 18px;font-size:clamp(11px,1.15vw,14px);font-weight:750;line-height:1.55;transition:transform .2s,border-color .2s;position:relative;box-shadow:0 0 24px #4244ce77}.chibi-speech:hover{border-color:#e800be;transform:translateY(-5px)}.chibi-speech:after{content:"";border-top:10px solid #0000;border-bottom:10px solid #0000;border-left:11px solid #42d6ef;position:absolute;bottom:25px;right:-11px}.speech-text{animation:.35s speechPop;display:block}.speech-sparkle{color:#42d6ef;margin-right:6px;animation:1.5s ease-in-out infinite sparkle}.speech-next{color:#42d6ef;margin-left:6px;font-size:20px}@keyframes chibiFloat{0%,to{translate:0}50%{translate:0 -9px}}@keyframes speechPop{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes decorFloat{50%{transform:translateY(-14px)rotate(6deg)}}@keyframes starsDrift{to{background-position:38px 38px}}@media (width<=740px){.hero-carousel{aspect-ratio:1.7}.hero-intro-slide{padding:24px 38px}.hero-intro-slide h2{font-size:clamp(27px,7vw,48px)}.hero-intro-slide p{max-width:70%;font-size:11px}.hero-intro-decor{font-size:46px;right:7%}.floating-chibi{gap:4px;max-width:calc(100vw - 8px);bottom:8px;right:4px}.chibi-character{width:94px}.chibi-speech{border-radius:14px;max-width:200px;padding:10px 12px;font-size:11px}.landing{padding-bottom:90px}}@media (width<=420px){.hero-carousel{aspect-ratio:1.5}.hero-intro-slide h2{font-size:29px}.hero-intro-slide p{max-width:82%;font-size:10px}.hero-intro-decor{opacity:.35}.chibi-character{width:76px}.chibi-speech{max-width:175px;padding:8px 10px;font-size:10px}.chibi-speech:after{bottom:17px}}@media (prefers-reduced-motion:reduce){.chibi-character,.speech-text,.speech-sparkle,.hero-intro-slide:before,.hero-intro-decor{animation:none}}.page{isolation:isolate;background:linear-gradient(130deg,#080c29,#10113b 45%,#180b30)}.sky-gif{z-index:0;pointer-events:none;opacity:.32;background-position:50%;background-repeat:repeat;background-size:cover;position:fixed;inset:0}.sky-gif-main{opacity:.28;mix-blend-mode:screen;background-image:url(/images/sky-stars.gif)}.sky-gif-meteors{opacity:.17;mix-blend-mode:screen;background-image:url(/images/sky-meteors.gif);background-size:cover}.background-glow{z-index:0}.page-content{z-index:1;padding-bottom:120px}.mascot{z-index:22;pointer-events:none;align-items:flex-end;gap:3px;max-width:calc(50vw - 12px);display:flex;position:fixed;bottom:12px}.mascot *{pointer-events:auto}.mascot-boy{right:clamp(8px,2vw,28px)}.mascot-robo{left:clamp(8px,2vw,28px)}.mascot-figure{cursor:pointer;filter:drop-shadow(0 5px 12px #42d6ef40);background:0 0;border:0;flex:none;width:clamp(70px,8.8vw,126px);padding:0;transition:transform .25s,filter .25s;animation:3.2s ease-in-out infinite mascotBob;display:block}.mascot-robo .mascot-figure{width:clamp(70px,8.5vw,116px);animation-delay:-1.3s}.mascot-figure img{object-fit:contain;width:100%;height:auto;display:block}.mascot-figure:hover{filter:drop-shadow(0 0 17px #e800beaa);transform:scale(1.12)rotate(-5deg)}.mascot-words{appearance:none;outline-offset:4px;color:#fff;text-align:center;text-shadow:0 2px 4px #080b25,0 0 10px #4244ce,0 0 17px #e800be;cursor:pointer;border:0;min-width:0;max-width:clamp(110px,15vw,210px);padding:0 4px 30px;font-size:clamp(10px,1.05vw,14px);font-weight:800;line-height:1.5;box-shadow:none!important;background:0 0!important}.mascot-words span{animation:.42s both mascotText;display:block}.robo-words{color:#42d6ef;max-width:110px;padding-bottom:55px;font-size:clamp(12px,1.2vw,17px)}.boy-words{max-width:clamp(135px,19vw,260px)}@keyframes mascotBob{0%,to{translate:0}50%{translate:0 -9px}}@keyframes mascotText{0%{opacity:0;transform:translateY(8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=740px){.page-content{padding-bottom:130px}.mascot{gap:0;max-width:48vw;bottom:6px}.mascot-boy{right:3px}.mascot-robo{left:3px}.mascot-figure{width:68px}.mascot-robo .mascot-figure{width:62px}.mascot-words{max-width:125px;padding-bottom:18px;font-size:9px;line-height:1.35}.robo-words{max-width:65px;padding-bottom:35px;font-size:11px}.sky-gif-meteors{opacity:.1}}@media (width<=390px){.mascot-figure{width:57px}.mascot-robo .mascot-figure{width:53px}.mascot-words{max-width:103px;font-size:8.5px}.robo-words{max-width:52px;font-size:10px}}@media (prefers-reduced-motion:reduce){.mascot-figure,.mascot-words span{animation:none}.sky-gif{display:none}}
