@font-face{font-family:Momoi Preloader Round;src:url(/fonts/ZenMaruGothic-Preloader.woff2) format("woff2");font-style:normal;font-weight:700;font-display:block;unicode-range:U+0025,U+0030-0039,U+4E2D,U+51C6,U+5728,U+5907,U+6B63}:root{--preloader-cream: #fffaf4;--preloader-ink: #5b3028;--preloader-accent: #df7655;--preloader-back: #9b4938;--preloader-cycle: 1.65s}html.is-preloading,html.is-preloading body{overflow:hidden!important}html.skip-login-preloader .site-preloader{display:none}.site-preloader{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:24px;overflow:hidden;background:radial-gradient(circle at 56% 48%,rgba(223,118,85,.11),transparent 38%),var(--preloader-cream);transition:opacity .42s ease,visibility .42s ease}.site-preloader.is-leaving{opacity:0;visibility:hidden}.preloader-stage{position:relative;width:min(940px,94vw);height:clamp(340px,48vw,480px);opacity:1}.site-preloader:not(.is-ready) .preloader-mascot,.site-preloader:not(.is-ready) .preloader-flip{animation-play-state:paused}.site-preloader.has-error .preloader-wave,.site-preloader.has-error .preloader-mascot{animation-play-state:paused}.preloader-center{position:absolute;top:52%;left:50%;width:clamp(270px,32vw,350px);text-align:center;transform:translate(-50%,-50%)}.preloader-copy{margin:0 0 26px;color:#74443a;font-family:Momoi Preloader Round,ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,Microsoft YaHei UI,PingFang SC,sans-serif;font-size:clamp(25px,3vw,32px);font-weight:700;letter-spacing:.12em;line-height:1}.preloader-wave{display:flex;align-items:center;justify-content:space-between;width:100%;height:58px}.preloader-dot{box-sizing:border-box;width:clamp(18px,1.7vw,22px);aspect-ratio:1;border:3px solid rgba(255,255,255,.82);border-radius:50%;background:radial-gradient(circle at 34% 30%,#ffd9cc 0 16%,transparent 18%),linear-gradient(145deg,#f49b7e,var(--preloader-accent));box-shadow:0 8px 18px #9b49382e,inset 0 -2px 3px #8b3e2b29;opacity:.34;animation:preloader-dot-wave var(--preloader-cycle) cubic-bezier(.45,0,.25,1) infinite;animation-delay:calc(var(--dot-index) * .09s);will-change:transform,opacity}.preloader-mascot{position:absolute;right:18px;bottom:0;width:clamp(210px,23vw,260px);aspect-ratio:958 / 1388;perspective:900px;transform-origin:50% 100%;animation:preloader-mascot-hop var(--preloader-cycle) cubic-bezier(.28,0,.18,1) infinite;will-change:transform}.preloader-percent{position:absolute;bottom:calc(100% + 8px);left:50%;z-index:2;color:#754237;font-family:Momoi Preloader Round,ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,YouYuan,幼圆,Microsoft YaHei UI,sans-serif;font-size:clamp(38px,5vw,56px);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.075em;line-height:1;white-space:nowrap;transform:translate(-50%)}.preloader-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;animation:preloader-mascot-flip var(--preloader-cycle) cubic-bezier(.35,0,.18,1) infinite;will-change:transform}.preloader-mascot-front,.preloader-mascot-back{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;backface-visibility:hidden;filter:drop-shadow(0 14px 12px rgba(91,48,40,.16))}.preloader-mascot-back{transform:rotateY(180deg);filter:brightness(0) saturate(100%) invert(32%) sepia(21%) saturate(1568%) hue-rotate(323deg) brightness(96%) contrast(91%) drop-shadow(0 14px 12px rgba(91,48,40,.13))}.site-preloader.is-finishing .preloader-dot{animation-name:preloader-dot-wave-finish;animation-iteration-count:1}.site-preloader.is-finishing .preloader-mascot{animation-name:preloader-mascot-hop-finish;animation-iteration-count:1}.site-preloader.is-finishing .preloader-flip{animation-name:preloader-mascot-flip-finish;animation-iteration-count:1}@keyframes preloader-dot-wave{0%,10%,40%,to{transform:translateY(0) scale(1);opacity:.34}24%{transform:translateY(-24px) scale(1.14);opacity:1}}@keyframes preloader-dot-wave-finish{0%,10%,40%,to{transform:translateY(0) scale(1);opacity:.34}24%{transform:translateY(-24px) scale(1.14);opacity:1}}@keyframes preloader-mascot-hop{0%,46%,90%,to{transform:translateY(0)}64%{transform:translateY(clamp(-126px,-12vw,-82px))}}@keyframes preloader-mascot-hop-finish{0%,46%,90%,to{transform:translateY(0)}64%{transform:translateY(clamp(-126px,-12vw,-82px))}}@keyframes preloader-mascot-flip{0%,46%{transform:rotateY(0)}88%,to{transform:rotateY(-360deg)}}@keyframes preloader-mascot-flip-finish{0%,46%{transform:rotateY(0)}88%,to{transform:rotateY(-360deg)}}@media(max-width:820px){.site-preloader{padding:16px}.preloader-stage{width:100%;height:min(620px,86vh);min-height:500px}.preloader-center{top:auto;bottom:12px;left:50%;width:min(310px,82vw);transform:translate(-50%)}.preloader-copy{margin-bottom:18px;font-size:clamp(22px,6vw,27px);letter-spacing:.1em;white-space:nowrap}.preloader-dot{width:clamp(17px,5vw,20px)}.preloader-mascot{right:auto;bottom:150px;left:calc(50% - 95px);width:190px}.preloader-percent{font-size:clamp(36px,11vw,46px)}}@media(max-width:390px){.preloader-stage{min-height:470px}.preloader-center{bottom:4px;width:min(280px,84vw)}.preloader-mascot{bottom:140px;left:calc(50% - 84px);width:168px}.preloader-dot{width:17px}}@media(max-height:620px)and (min-width:821px){.preloader-stage{height:370px}.preloader-center{top:58%;width:300px}.preloader-mascot{right:24px;width:185px}}@media(prefers-reduced-motion:reduce){.preloader-dot,.site-preloader.is-finishing .preloader-dot{animation:none;opacity:.72}.preloader-mascot,.site-preloader.is-finishing .preloader-mascot{animation:preloader-mascot-breathe 1.4s ease-in-out infinite}.preloader-flip,.site-preloader.is-finishing .preloader-flip{animation:none}}@keyframes preloader-mascot-breathe{50%{transform:translateY(-6px)}}@font-face{font-family:CustomPixelFont;src:url(/fonts/FGC111.ttf) format("truetype");font-weight:400;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}body{font-family:CustomPixelFont,Courier New,monospace;background:#fff;display:flex;justify-content:center;align-items:center;min-height:100vh;position:relative;overflow:hidden}.background-shapes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.shape{position:absolute;opacity:.6}.triangle{width:0;height:0;border-left:25px solid transparent;border-right:25px solid transparent;border-bottom:50px solid #ff6b35}.cross-pink{width:40px;height:40px;background-image:linear-gradient(to bottom,#ff69b4,#ff69b4),linear-gradient(to right,#ff69b4,#ff69b4);background-size:8px 100%,100% 8px;background-position:center;background-repeat:no-repeat}.cross-green{width:35px;height:35px;background-image:linear-gradient(to bottom,#90ee90,#90ee90),linear-gradient(to right,#90ee90,#90ee90);background-size:7px 100%,100% 7px;background-position:center;background-repeat:no-repeat}.circle-blue{width:45px;height:45px;border:8px solid #87ceeb;border-radius:50%;background:transparent}.container{max-width:450px;width:90%;padding:40px 30px;position:relative;z-index:1;background:#fff9;border:4px solid #000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:8px 8px #000,15px 15px 25px #00000026;border-radius:6px}.main-header{display:flex;flex-direction:column;align-items:center;gap:15px;margin-bottom:35px;text-align:center}.logo{width:90px;height:90px}.title-container{display:flex;flex-direction:column;align-items:center}.main-title{font-family:Courier New,CustomPixelFont,monospace;font-size:48px;color:#000;margin:0;line-height:1;font-weight:700}.sub-title{font-family:Courier New,CustomPixelFont,monospace;font-size:14px;color:#333;margin-top:8px}.login-form{display:flex;flex-direction:column;gap:20px}.pixel-input{width:100%;padding:15px 20px;font-size:18px;font-weight:700;border:4px solid #000;background:#fffffff2;font-family:CustomPixelFont,Courier New,monospace;border-radius:4px;transition:border-color .3s ease,box-shadow .3s ease}.pixel-input:focus{outline:none;border-color:#ff6b35;box-shadow:0 0 0 4px #ff6b3566}.login-button{padding:15px 20px;font-size:20px;font-weight:700;color:#fff;background-color:#000;border:4px solid #000;font-family:CustomPixelFont,Courier New,monospace;cursor:pointer;border-radius:4px;margin-top:10px;transition:background-color .3s ease,transform .2s ease}.login-button:hover{background-color:#ff6b35;transform:translateY(-3px)}.login-button:active{transform:translateY(1px)}.login-button:disabled{background-color:#888;cursor:not-allowed;transform:translateY(0)}#message{font-family:CustomPixelFont,Courier New,monospace;margin-top:20px;text-align:center;font-size:14px;font-weight:700;min-height:20px;color:#d9534f}.transition-message{display:inline-flex;align-items:baseline;color:#5cb85c}.transition-ellipsis{display:inline-flex;width:1.45em;margin-left:.08em}.transition-ellipsis>span{display:inline-block;animation:transition-dot-hop .9s ease-in-out infinite}.transition-ellipsis>span:nth-child(2){animation-delay:.12s}.transition-ellipsis>span:nth-child(3){animation-delay:.24s}@keyframes transition-dot-hop{0%,60%,to{opacity:.32;transform:translateY(0)}30%{opacity:1;transform:translateY(-.32em)}}@media(max-width:480px){.container{padding:30px 20px}.main-title{font-size:36px}.pixel-input,.login-button{font-size:16px;padding:12px 15px}}.input-group{position:relative;margin-bottom:15px}.error-message{font-family:CustomPixelFont,Courier New,monospace;color:#e74c3c;font-size:13px;font-weight:700;text-align:left;margin-top:6px;height:15px;opacity:0;transition:opacity .3s ease}.error-message.visible{opacity:1}.pixel-input.invalid{border-color:#e74c3c;box-shadow:0 0 0 4px #e74c3c66}.login-form{gap:5px}.login-button{margin-top:5px}.password-wrapper{position:relative;width:100%}.toggle-password{position:absolute;right:15px;top:50%;transform:translateY(-50%);width:26px;height:26px;cursor:pointer;transition:opacity .2s ease}.toggle-password:hover{opacity:.6}.toggle-password:before{content:"";position:absolute;top:3px;left:2px;width:22px;height:12px;border:2.5px solid #aaa;border-radius:50%/80% 80% 20% 20%;background:transparent;transition:all .3s ease}.toggle-password:after{content:"";position:absolute;top:8px;left:9px;width:8px;height:8px;background:#aaa;border-radius:50%;transition:all .3s ease}.toggle-password{background:linear-gradient(to top right,transparent calc(50% - 1.5px),#aaa calc(50% - 1.5px),#aaa calc(50% + 1.5px),transparent calc(50% + 1.5px))}.toggle-password.show-password{background:none}.toggle-password.show-password:before{border-color:#333}.toggle-password.show-password:after{background:#333}
