*,:before,:after{box-sizing:border-box}html,body,#app{min-height:100%;margin:0}body{color:#1a2341;font-family:Segoe UI,Microsoft YaHei,system-ui,sans-serif}button,input{font:inherit}@media (width<=650px){html,body,#app{width:100%;overflow-x:clip}main:has(.workspace-header){padding-bottom:calc(72px + env(safe-area-inset-bottom))}input,textarea,select{font-size:16px!important}}.login-page{background:radial-gradient(at 16% 92%,#55477c 0%,#0000 43%),radial-gradient(at 90% 13%,#786da5 0%,#0000 45%),linear-gradient(120deg,#142344 0%,#30396f 55%,#645d94 100%);grid-template-columns:minmax(0,1.06fr) minmax(480px,.94fr);min-height:100vh;display:grid;position:relative;overflow:hidden}.art-side{color:#fff;background:0 0;min-height:100vh;padding:48px 8%;position:relative;overflow:hidden}.glow{display:none}.glow-one{background:#e774ab55;width:450px;height:450px;bottom:-180px;left:-180px}.glow-two{background:#719cff42;width:380px;height:380px;top:-145px;right:-120px}.brand{align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.brand-mark{object-fit:cover;border-radius:10px;width:31px;height:31px;display:block}.intro{z-index:1;margin-top:clamp(72px,13vh,145px);position:relative}.eyebrow,.form-kicker,.copyright{font-family:Consolas,monospace}.eyebrow,.form-kicker{letter-spacing:.18em;font-size:11px}.eyebrow{color:#aebcec;margin:0 0 15px}.intro h1{letter-spacing:-.06em;margin:0;font-size:clamp(39px,4.2vw,62px);line-height:1.22}.intro h1 em{color:#f9a390;font-style:normal}.intro>p:last-child{color:#c9d2f0;max-width:310px;margin-top:20px;font-size:15px;line-height:1.8}.monsters{align-items:flex-end;gap:clamp(7px,1.6vw,24px);display:flex;position:absolute;bottom:5.8vh;left:10%}.monster{transform-origin:bottom;width:clamp(110px,12vw,160px);height:205px;animation:3.5s ease-in-out infinite bob;position:relative}.monster-2{height:230px;animation-delay:-1.2s}.monster-3{height:184px;animation-delay:-2.4s}.monster .body{background:#f5ae59;border-radius:49% 51% 43% 43%/38% 38% 54% 54%;position:absolute;inset:35px 0 0;box-shadow:inset -10px -12px #db8547,0 16px 25px #0d153b33}.monster-2 .body{background:#8dcebc;box-shadow:inset -10px -12px #54a995,0 16px 25px #0d153b33}.monster-3 .body{background:#e8879d;box-shadow:inset -10px -12px #c65d82,0 16px 25px #0d153b33}.antenna{background:#f5ae59;border-radius:15px;width:10px;height:39px;position:absolute;top:4px;left:48%;transform:rotate(-8deg)}.antenna-tip{background:#ffd887;border-radius:50%;width:20px;height:20px;position:absolute;top:0;left:43%}.monster-2 .antenna{background:#8dcebc}.monster-2 .antenna-tip{background:#dbf4dc}.monster-3 .antenna{background:#e8879d}.monster-3 .antenna-tip{background:#ffd2dc}.eyes{justify-content:space-between;display:flex;position:absolute;top:44px;left:20%;right:20%}.eye{background:#fff;border:3px solid #20294b;border-radius:50%;width:38px;height:45px;position:relative;overflow:hidden}.round .eye{width:43px;height:43px}.sleepy .eye{border-radius:50% 50% 42% 42%;height:30px}.pupil{background:#20294b;border-radius:50%;width:15px;height:18px;transition:transform 80ms linear;position:absolute;top:12px;left:9px}.sleepy .pupil{top:6px}.pupil:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:3px;left:4px}.mouth{border-bottom:3px solid #20294b;border-radius:0 0 50% 50%;width:24px;height:13px;position:absolute;bottom:35px;left:42%}.spots i{opacity:.7;background:#e58c4b;border-radius:50%;width:8px;height:8px;position:absolute}.spots i:first-child{bottom:38px;left:23%}.spots i:nth-child(2){width:6px;height:6px;bottom:27px;right:20%}.spots i:nth-child(3){width:4px;height:4px;bottom:46px;right:28%}.monster-2 .spots i{background:#489c8b}.monster-3 .spots i{background:#ba5179}.hand{z-index:4;background:#f8c076;border-radius:48% 48% 43% 43%;width:44px;height:59px;transition:left .42s,right .42s,transform .42s cubic-bezier(.2,.9,.25,1.18);position:absolute;top:105px;box-shadow:inset -5px -6px #e59a50}.hand:after{content:"";background:#e99e58;border-radius:10px;width:34px;height:6px;position:absolute;top:11px;left:5px;box-shadow:0 10px #e99e58,0 20px #e99e58}.monster-2 .hand{background:#a6dfce;box-shadow:inset -5px -6px #69b6a1}.monster-2 .hand:after{background:#6ebaa6;box-shadow:0 10px #6ebaa6,0 20px #6ebaa6}.monster-3 .hand{background:#f0a5b5;box-shadow:inset -5px -6px #d56d8d}.monster-3 .hand:after{background:#d87591;box-shadow:0 10px #d87591,0 20px #d87591}.hand-left{left:-22px;transform:rotate(38deg)translate(-15px,46px)}.hand-right{right:-22px;transform:rotate(-38deg)translate(15px,46px)}.is-covering .hand-left{left:20%;transform:rotate(-4deg)translateY(-30px)}.is-covering .hand-right{right:20%;transform:rotate(4deg)translateY(-30px)}.is-covering .eyes{opacity:0}.secret-hint{opacity:0;color:#f8e8ff;margin:0;font-size:18px;font-weight:600;transition:opacity .3s;position:absolute;bottom:2.5vh;left:10%}.secret-hint.visible{opacity:1}@keyframes bob{50%{transform:translateY(-10px)rotate(1deg)}}.form-side{z-index:1;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:48px 40px 72px;display:flex;position:relative}.login-card{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff0;border:1px solid #ffffffa8;border-radius:28px;flex-direction:column;gap:18px;width:min(100%,480px);padding:clamp(32px,3vw,52px);display:flex;box-shadow:0 28px 70px #101a4860,inset 0 1px #fff}.form-kicker{color:#7773df;margin:0 0 8px}.login-card h2{letter-spacing:-.05em;margin:0;font-size:32px}.form-note{color:#8690a9;margin:8px 0 0;font-size:14px}.mode-tabs{background:#f2f3fa;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.mode-tabs button{color:#757f98;cursor:pointer;background:0 0;border:0;border-radius:9px;height:39px}.mode-tabs button.active{color:#292755;background:#fff;font-weight:700;box-shadow:0 2px 9px #29275512}.field>span,.field>label{margin-bottom:8px;font-size:13px;font-weight:600;display:block}.field input{color:#1a2341;background:#fbfcff;border:1px solid #e3e7f0;border-radius:12px;outline:0;width:100%;height:49px;padding:0 15px;font-size:14px;transition:border-color .2s,box-shadow .2s}.field input:focus{background:#fff;border-color:#7773df;box-shadow:0 0 0 4px #7773df18}.code-row{gap:9px;display:flex}.code-row input{flex:1;min-width:0}.send-code{color:#625bca;cursor:pointer;background:#f6f5ff;border:1px solid #d9d6f6;border-radius:12px;flex:0 0 110px;font-size:12px;font-weight:600}.send-code:disabled{opacity:.65;cursor:not-allowed}.form-message{border-radius:9px;margin:-5px 0 0;padding:10px 12px;font-size:13px;line-height:1.5}.form-message.error{color:#a92d4f;background:#fff0f4}.form-message.success{color:#27765f;background:#eaf8f2}.primary-button{color:#fff;cursor:pointer;background:#292755;border:0;border-radius:12px;height:52px;font-size:15px;font-weight:600;transition:transform .2s,background .2s;box-shadow:0 9px 18px #29275525}.primary-button:hover:not(:disabled){background:#3e3b77;transform:translateY(-2px)}.primary-button:disabled{opacity:.65;cursor:wait}.primary-button span{margin-left:7px;font-size:20px}.register-link{text-align:center;color:#8b94aa;margin:0;font-size:13px}.register-link button{color:#6763d5;cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.register-link .forgot-link{margin-left:20px}.copyright{color:#f0ebff;text-shadow:0 1px 6px #16204a66;font-size:12px;position:absolute;bottom:26px}@media (width<=780px){.login-page{flex-direction:column;min-height:100svh;display:flex;overflow:visible}.art-side{flex:none;min-height:255px;padding:22px 20px}.intro{width:64%;margin-top:35px}.intro h1{font-size:clamp(29px,8vw,38px)}.intro>p:last-child{display:none}.monsters{transform-origin:100% 100%;gap:4px;bottom:-17px;left:auto;right:4px;transform:scale(.49)}.monster{width:105px}.monster-2,.monster-3{margin-left:-10px}.secret-hint{font-size:11px;bottom:7px;left:20px}.form-side{flex:1;justify-content:flex-start;min-height:0;padding:0 16px 64px}.login-card{gap:15px;width:min(100%,480px);padding:25px 22px}.login-card h2{font-size:27px}.copyright{text-align:center;margin-top:20px;position:static}}@media (width<=380px){.art-side{min-height:235px}.intro{width:67%;margin-top:27px}.intro h1{font-size:29px}.monsters{transform:scale(.4)}.login-card{padding:22px 18px}.register-link .forgot-link{margin-left:10px}}@media (prefers-reduced-motion:reduce){.monster{animation:none}.hand,.pupil,.primary-button{transition:none}}
