.signup-gift-modal{border-radius:16px;overflow:hidden}.gift-modal-body{text-align:center;padding:8px 8px 4px}.gift-modal-badge{color:#fff;letter-spacing:1px;background:linear-gradient(90deg,#5e6ad2,#7f77dd);border-radius:999px;margin-bottom:12px;padding:3px 14px;font-size:12px;font-weight:500;display:inline-block}.gift-modal-title{color:var(--color-text-primary,#1a1a1a);margin:0 0 8px;font-size:22px;font-weight:500;line-height:1.4}.gift-modal-subtitle{color:var(--color-text-secondary,#666);margin:0 0 16px;font-size:13px;line-height:1.6}.gift-modal-perks{background:var(--color-background-secondary,#f5f5f7);text-align:left;border-radius:12px;margin:0 0 16px;padding:14px 16px;list-style:none}.gift-modal-perks li{color:var(--color-text-primary,#1a1a1a);padding-left:16px;font-size:13px;line-height:1.7;position:relative}.gift-modal-perks li:before{content:"";background:#5e6ad2;border-radius:50%;width:6px;height:6px;position:absolute;top:9px;left:0}.gift-modal-tip{color:var(--color-text-tertiary,#999);margin:0 0 16px;font-size:12px;line-height:1.6}.login-mascot{z-index:5;filter:drop-shadow(0 6px 18px #0f346059);width:84px;position:absolute;top:12px;right:18px}.login-mascot-body{transform-origin:50% 90%;will-change:transform;transition:transform .3s cubic-bezier(.22,.61,.36,1)}.mascot-pupil{transition:transform .2s ease-out}.mascot-eyes-closed,.login-mascot.is-closed .mascot-eyes-open{display:none}.login-mascot.is-closed .mascot-eyes-closed{display:block}.login-mascot.is-peek .mascot-pupil{transform:translate(-1.8px,1.8px)!important}@media (width<=768px){.login-mascot{display:none}}.login-shell{min-height:100vh;padding:var(--s8);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;background:linear-gradient(155deg,#0f1b30 0%,#16213e 50%,#0f3460 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow-x:hidden}.login-shell:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#c9a84c0f 0%,#0000 70%);border-radius:50%;width:520px;height:520px;position:fixed;top:-160px;right:-100px}.login-shell:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#c9a84c0d 0%,#0000 70%);border-radius:50%;width:380px;height:380px;position:fixed;bottom:-120px;left:-60px}.login-wrap{gap:var(--s12);z-index:1;width:100%;max-width:920px;animation:fadeUp var(--dur-slow) var(--ease) both;grid-template-columns:1fr 1fr;align-items:center;display:grid;position:relative}.login-brand{color:#fff}.login-brand-logo{align-items:center;gap:var(--s3);margin-bottom:var(--s8);display:inline-flex}.login-brand-logo-img{object-fit:contain;border-radius:14px;width:52px;height:52px;box-shadow:0 4px 16px #c9a84c59}.login-brand-logo-mark{color:#fff;background:linear-gradient(135deg,#16467e,#0f3460);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;box-shadow:0 4px 16px #c9a84c59}.login-brand-name{font-size:var(--text-2xl);letter-spacing:.04em;color:#f1f5f9;font-weight:700}.login-brand-title{margin-bottom:var(--s5);gap:var(--s1);flex-direction:column;display:flex}.login-brand-title-main{font-size:var(--text-4xl);letter-spacing:-.01em;color:#fff;font-weight:700;line-height:1.15}.login-brand-title-sub{font-size:var(--text-xl);letter-spacing:.06em;color:#e8c877;font-weight:500;line-height:1.4}.login-brand-desc{font-size:var(--text-base);color:#e2e8f0d9;margin-bottom:var(--s10);letter-spacing:.02em;line-height:1.8}.login-brand-features{gap:var(--s5);flex-direction:column;display:flex}.login-brand-feature{align-items:flex-start;gap:var(--s4);color:#e2e8f0d9;animation:fadeUp var(--dur-slow) var(--ease) both;display:flex}.login-brand-feature:first-child{animation-delay:.1s}.login-brand-feature:nth-child(2){animation-delay:.2s}.login-brand-feature:nth-child(3){animation-delay:.3s}.login-brand-feature-icon{background:var(--brand-100);width:34px;height:34px;color:var(--brand-700);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.login-brand-feature-text{flex-direction:column;gap:4px;line-height:1.5;display:flex}.login-brand-feature-text strong{color:#f8fafc;font-weight:500;font-size:var(--text-base);letter-spacing:.02em}.login-brand-feature-desc{color:#cbd5e1d1;font-size:var(--text-sm);font-weight:400;line-height:1.6}.login-card{animation:fadeUp var(--dur-slow) var(--ease) .15s both;background:radial-gradient(130% 70% at 50% -14%,#ffffffeb 0%,#fff0 50%),linear-gradient(165deg,#fffaf0 0%,#fdf0dc 52%,#f5e2c4 100%);border:1px solid #c9a84c61;border-radius:18px;position:relative;box-shadow:0 1px 2px #0f1b301f,0 18px 38px -10px #09142ca6,0 42px 90px -18px #09142c8c,0 0 55px #c9a84c33,inset 0 2px #fffffff2,inset 0 -38px 52px -34px #b0843c4d}.login-card:before{content:"";border-radius:inherit;opacity:.09;pointer-events:none;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.7' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.login-card:after{content:"";filter:blur(6px);z-index:-1;pointer-events:none;background:radial-gradient(#08122680 0%,#0000 65%);border-radius:50%;height:28px;position:absolute;bottom:-22px;left:8%;right:8%}.login-card-inner{padding:var(--s8)}.login-card-title{font-size:var(--text-2xl);color:#2a2118;margin-bottom:var(--s6);letter-spacing:.01em;font-weight:700}.login-card-sub{font-size:var(--text-sm);color:#a08e78;margin-bottom:var(--s6)}.login-tabs{margin-bottom:var(--s4);background:#f0e9da;border-radius:8px;gap:0;padding:4px;display:flex}.login-tab{cursor:pointer;color:#a08e78;background:0 0;border:none;border-radius:6px;flex:1;padding:8px 0;font-size:14px;font-weight:600;transition:all .2s}.login-tab:hover{color:#7a6a52}.login-tab--active{color:#2a2118;background:#fffdf7;box-shadow:0 1px 3px #78603424}.login-form{gap:var(--s5);flex-direction:column;display:flex}.form-field{gap:var(--s2);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:#3a3228;font-weight:600}.form-label-optional{color:#a08e78;font-weight:400;font-size:var(--text-xs)}.form-input{width:100%;font-size:var(--text-base);color:#2a2118;font-variant-numeric:tabular-nums;letter-spacing:.01em;background:#fffdf8;border:1.5px solid #e6ddcc;border-radius:10px;outline:none;padding:10px 14px;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--brand-700);box-shadow:0 0 0 3px #0f34601f}.form-input::placeholder{color:#a08e78}.form-input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-input:focus-visible{outline:none}.btn-pwd-toggle{color:#64748b;cursor:pointer;white-space:nowrap;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;flex-shrink:0;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s}.btn-pwd-toggle:hover{color:#334155;background:#f1f5f9}.captcha-display{letter-spacing:5px;color:var(--brand-700);cursor:pointer;background:var(--brand-050);border:1.5px solid var(--brand-100);-webkit-user-select:none;user-select:none;border-radius:8px;padding:6px 12px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:22px;font-weight:700;transition:background .15s}.captcha-display:hover{background:var(--brand-100)}.code-btn{padding:var(--s3) var(--s4);font-size:var(--text-sm);color:var(--brand-700);white-space:nowrap;text-align:center;cursor:pointer;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;flex-shrink:0;min-width:100px;font-weight:600;transition:all .15s}.code-btn:hover:not(:disabled){border-color:var(--brand-300);background:var(--brand-050)}.code-btn:disabled{color:#cbd5e1;cursor:not-allowed;background:#f8fafc;border-color:#e2e8f0}.field-error{font-size:var(--text-xs);color:#ef4444;animation:fadeUp var(--dur-fast) var(--ease) both;align-items:center;gap:4px;display:none}.field-error.show{display:flex}.remember-row{align-items:center;display:flex}.remember-me{align-items:center;gap:var(--s2);font-size:var(--text-sm);color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.remember-check{border:2px solid #cbd5e1;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.remember-me.checked .remember-check{background:var(--brand-700);border-color:var(--brand-700)}.remember-me.checked .remember-check:after{content:"✓";color:#fff;font-size:10px;font-weight:800}.btn-login{width:100%;padding:var(--s4);background:var(--brand-700);color:#fff;font-size:var(--text-base);cursor:pointer;justify-content:center;align-items:center;gap:var(--s2);border:none;border-radius:10px;font-weight:700;transition:all .15s;display:flex}.btn-login:hover{background:var(--brand-600);transform:translateY(-1px);box-shadow:0 4px 12px #0f346033}.btn-login:active{transform:translateY(0)}.btn-login:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-login.loading{pointer-events:none}.btn-login .spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-seg{margin-bottom:var(--s5);background:#f1f5f9;border-radius:10px;gap:0;padding:4px;display:flex}.auth-seg-tab{cursor:pointer;color:#94a3b8;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 0;font-size:15px;font-weight:600;transition:all .2s}.auth-seg-tab:hover{color:#64748b}.auth-seg-tab.active{color:#1e293b;background:#fff;box-shadow:0 1px 4px #00000014}.login-switch{margin-top:var(--s3);font-size:var(--text-xs);justify-content:space-between;align-items:center;display:flex}.login-switch-link{color:#a08e78;cursor:pointer;transition:color .15s}.login-switch-link:hover{color:#7a6a52}.login-switch-link--accent{color:var(--brand-accent-600);font-weight:500}.login-switch-link--accent:hover{color:var(--brand-accent)}.login-footer{margin-top:var(--s5);font-size:var(--text-xs);color:#94a3b8;text-align:center;line-height:1.6}.login-footer span{color:#64748b;cursor:pointer;font-weight:600;transition:color .15s}.login-footer span:hover{color:var(--brand-700)}.login-guest-entry{margin-top:var(--s5);text-align:center}.login-guest-divider{margin-bottom:var(--s3);color:#475569;font-size:var(--text-xs);align-items:center;gap:10px;display:flex}.login-guest-divider:before,.login-guest-divider:after{content:"";background:#334155;flex:1;height:1px}.btn-guest-mode{color:#a08e78;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;transition:color .2s;display:inline-flex}.btn-guest-mode:hover{color:var(--brand-accent-600)}.login-guest-hint{margin-top:var(--s2);color:#475569;font-size:11px;line-height:1.5}.forgot-sent{text-align:center;padding:var(--s3)}.forgot-sent-icon{margin-bottom:var(--s2)}.forgot-sent-title{font-weight:700;font-size:var(--text-lg);margin-bottom:var(--s1);color:#1e293b}.forgot-sent-desc{color:#64748b;font-size:var(--text-sm);margin-bottom:var(--s2);line-height:1.6}.forgot-sent-hint{font-size:var(--text-xs);color:#94a3b8;padding:var(--s2);background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px}.forgot-q-box{padding:var(--s3);margin-bottom:var(--s2);background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px}.forgot-q-label{font-size:var(--text-sm);color:#64748b;margin-bottom:4px}.forgot-q-text{font-weight:700;font-size:var(--text-base);color:#1e293b}.modal-feature-item{margin-bottom:4px;padding-left:12px;position:relative}.modal-feature-item:before{content:"";background:#94a3b8;border-radius:50%;width:5px;height:5px;position:absolute;top:8px;left:0}@media (width<=768px){.login-wrap{grid-template-columns:1fr}.login-brand{display:none}.login-shell{padding:var(--s4)}.login-card-inner{padding:var(--s6)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.login-wrap{perspective:1000px}.login-canvas{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.cursor-glow{left:var(--mx,50vw);top:var(--my,40vh);will-change:left, top;background:radial-gradient(circle,#c9a84c24 0%,#c9a84c0d 40%,#0000 70%);border-radius:50%;width:560px;height:560px;transition:left .4s cubic-bezier(.22,.61,.36,1),top .4s cubic-bezier(.22,.61,.36,1);position:fixed;transform:translate(-50%,-50%)}.paint-dot{opacity:0;animation:dotFloat var(--dur,14s) ease-in-out infinite;border-radius:50%;position:absolute}.paint-dot--1{--dur:13s;background:#c9a84cb3;width:10px;height:10px;top:22%;left:12%}.paint-dot--2{--dur:17s;background:#a882ff80;width:6px;height:6px;animation-delay:2s;top:68%;left:28%}.paint-dot--3{--dur:15s;background:#c9a84c80;width:14px;height:14px;animation-delay:1s;top:18%;left:72%}.paint-dot--4{--dur:19s;background:#60a5fa73;width:8px;height:8px;animation-delay:3s;top:56%;left:84%}.paint-dot--5{--dur:12s;background:#ffffff59;width:5px;height:5px;animation-delay:1.5s;top:12%;left:46%}.paint-dot--6{--dur:16s;background:#c9a84c66;width:12px;height:12px;animation-delay:.5s;top:80%;left:8%}@keyframes dotFloat{0%{opacity:0;transform:translate(0)scale(.8)}20%{opacity:.8}50%{opacity:.5;transform:translate(28px,-46px)scale(1.1)}80%{opacity:.8}to{opacity:0;transform:translate(-16px,-90px)scale(.85)}}.paint-blob{filter:blur(60px);animation:blobDrift var(--dur,26s) ease-in-out infinite alternate;border-radius:50%;position:absolute}.paint-blob--1{--dur:24s;background:#164e9e80;width:420px;height:420px;top:-80px;left:-120px}.paint-blob--2{--dur:30s;background:#c9a84c40;width:360px;height:360px;animation-delay:4s;bottom:-80px;right:-100px}.paint-blob--3{--dur:28s;background:#5e3fa14d;width:300px;height:300px;animation-delay:8s;top:45%;left:55%}@keyframes blobDrift{0%{transform:translate(0)scale(1)}to{transform:translate(60px,40px)scale(1.15)}}.paint-brush{background:linear-gradient(90deg,#0000,#c9a84c8c,#c9a84c26,#0000);border-radius:2px;width:340px;height:3px;animation:18s ease-in-out infinite brushSweep;position:absolute;top:34%;left:-60px}@keyframes brushSweep{0%,to{opacity:0;transform:translate(-120px)rotate(-14deg)}15%,85%{opacity:.8}50%{transform:translate(240px)rotate(-14deg)}}.star{animation:twinkle var(--dur,3s) ease-in-out infinite;background:#fff;border-radius:50%;position:absolute;box-shadow:0 0 4px #ffffff80}.star--s1{--dur:2.2s;width:2px;height:2px;top:10%;left:6%}.star--s2{--dur:3.1s;width:3px;height:3px;animation-delay:.4s;top:6%;left:18%}.star--s3{--dur:2.7s;width:2px;height:2px;animation-delay:1s;top:14%;left:32%}.star--s4{--dur:3.4s;width:2px;height:2px;animation-delay:.7s;top:4%;left:44%}.star--s5{--dur:2.5s;width:3px;height:3px;animation-delay:1.3s;top:9%;left:55%}.star--s6{--dur:2.9s;width:2px;height:2px;animation-delay:.2s;top:5%;left:68%}.star--s7{--dur:3.2s;width:2px;height:2px;animation-delay:1.6s;top:12%;left:78%}.star--s8{--dur:2.4s;width:3px;height:3px;animation-delay:.9s;top:7%;left:88%}.star--s9{--dur:2.8s;width:2px;height:2px;animation-delay:.5s;top:20%;left:93%}.star--s10{--dur:3s;width:2px;height:2px;animation-delay:1.1s;top:32%;left:12%}.star--s11{--dur:2.6s;width:3px;height:3px;animation-delay:.3s;top:38%;left:90%}.star--s12{--dur:3.3s;width:2px;height:2px;animation-delay:1.8s;top:55%;left:4%}.star--s13{--dur:2.3s;width:2px;height:2px;animation-delay:.6s;top:62%;left:96%}.star--big{clip-path:polygon(50% 0%,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0% 50%,39% 39%);border-radius:0;box-shadow:0 0 10px #ffffffa6}.star--b1{--dur:3.6s;background:#ffe9b0;width:12px;height:12px;animation-delay:.3s;top:22%;left:20%;box-shadow:0 0 12px #ffe9b0b3}.star--b2{--dur:4.2s;width:8px;height:8px;animation-delay:1.2s;top:18%;left:62%}.star--b3{--dur:3.8s;background:#ffe9b0;width:14px;height:14px;animation-delay:.8s;top:30%;left:82%;box-shadow:0 0 14px #ffe9b0b3}.star--b4{--dur:4.5s;background:#bcd7ff;width:9px;height:9px;animation-delay:1.5s;top:40%;left:8%;box-shadow:0 0 10px #bcd7ff99}.star--b5{--dur:3.4s;width:11px;height:11px;animation-delay:.1s;top:5%;left:33%}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}.login-card-tilt{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transform-style:preserve-3d;will-change:transform;transition:transform .25s cubic-bezier(.22,.61,.36,1);position:relative}.login-brand-logo-img{animation:4s ease-in-out infinite logoGlow}@keyframes logoGlow{0%,to{box-shadow:0 4px 16px #c9a84c59}50%{box-shadow:0 4px 28px #c9a84c9e}}.login-brand-title{background:linear-gradient(100deg,#f8fafc 0% 42%,#c9a84c 50%,#f8fafc 58% 100%) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:6s linear infinite shimmer}@keyframes shimmer{to{background-position:-200%}}.form-input{transition:border-color .15s,box-shadow .15s,transform .15s}.form-input:focus{transform:translateY(-1px)}@media (hover:none){.login-card-tilt{transition:none;transform:none}}
