.login-page{--login-paper:#fffaf5;--login-paper-soft:#f8efe6;--login-surface:rgba(255,255,255,0.94);--login-ink:#10223c;--login-body:#5f6a78;--login-blue:#2d65d7;--login-blue-soft:#e7efff;--login-orange:#ef8d6d;--login-line:#eadbce;position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;padding:calc(76px + env(safe-area-inset-top, 0px)) max(20px,env(safe-area-inset-right,0px)) calc(52px + env(safe-area-inset-bottom, 0px)) max(20px,env(safe-area-inset-left,0px));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(rgba(45,101,215,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(45,101,215,.03) 1px,transparent 1px),var(--login-paper);background-size:72px 72px,72px 72px,auto}.login-page:after,.login-page:before{content:"";position:fixed;z-index:0;pointer-events:none;opacity:.36}.login-page:before{top:10%;left:-13%;background:linear-gradient(138deg,rgba(239,141,109,.26),rgba(239,141,109,.015));clip-path:polygon(0 14%,96% 0,67% 54%,100% 100%,20% 79%)}.login-page:after,.login-page:before{width:min(620px,68vw);height:min(480px,52vw)}.login-page:after{right:-15%;bottom:5%;background:linear-gradient(220deg,rgba(45,101,215,.2),rgba(45,101,215,.015));clip-path:polygon(7% 0,100% 19%,75% 46%,98% 89%,0 100%,31% 52%)}.brand-title-top,.login-container{position:relative;z-index:1}.brand-title-top{width:min(720px,calc(100vw - 40px));margin:0 auto 34px;text-align:center}.login-hero-title{margin:0;color:var(--login-ink);font-size:clamp(44px,4.6vw,58px);font-weight:900;letter-spacing:clamp(4px,.6vw,10px);line-height:1.15;text-wrap:balance}.login-container{width:100%;display:flex;justify-content:center}.form-card{width:min(520px,100%);padding:36px 48px;border:1px solid rgba(255,255,255,.65);border-radius:24px;background:rgba(255,255,255,.6);backdrop-filter:blur(24px) saturate(140%);-webkit-backdrop-filter:blur(24px) saturate(140%);box-shadow:0 20px 48px rgba(31,43,61,.1);animation:login-card-in .48s cubic-bezier(.22,1,.36,1) both}.brand-header{margin-bottom:28px;text-align:center}.brand-subtitle{display:inline-block;margin:0;color:var(--login-ink);font-size:20px;font-weight:700;letter-spacing:.12em}.brand-subtitle:after{content:"";display:block;width:42px;height:2px;margin:12px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--login-blue),var(--login-orange))}.tabs{position:relative;display:flex;margin-bottom:26px;padding:4px;border:1px solid var(--login-line);border-radius:12px;background:#fdf9f4}.tabs button{position:relative;z-index:1;flex:1;padding:10px 20px;border:0;color:#6d7885;background:transparent;font-size:15px;font-weight:700;cursor:pointer;transition:color .18s ease}.tabs button.active{color:#fff}.tab-indicator{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);border-radius:9px;background:var(--login-blue);box-shadow:0 8px 18px rgba(45,101,215,.2);transition:transform .22s ease}.tab-indicator.right{transform:translateX(100%)}.login-method-tabs{display:flex;margin-bottom:20px;border-bottom:1px solid var(--login-line)}.login-method-tabs button{flex:1;padding:10px 0;border:0;border-bottom:2px solid transparent;color:#71808e;background:transparent;font-size:14px;font-weight:600;cursor:pointer;transition:color .18s ease,border-color .18s ease}.login-method-tabs button.active{border-bottom-color:var(--login-blue);color:var(--login-blue)}.login-method-tabs button:hover:not(.active){color:var(--login-ink)}.identity-selector{margin-bottom:18px}.identity-selector-title{margin:0 0 10px;color:var(--login-body);font-size:13px;text-align:center}.identity-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.identity-option{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 4px 10px;border:1.5px solid var(--login-line);border-radius:14px;color:var(--login-ink);background:#fffdf9;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.identity-option:hover{border-color:rgba(45,101,215,.35);transform:translateY(-1px)}.identity-option.active{border-color:var(--login-blue);background:var(--login-blue-soft);box-shadow:0 0 0 3px rgba(45,101,215,.14)}.identity-emoji{font-size:22px;line-height:1.2}.identity-label{font-size:14px;font-weight:700}.identity-desc{font-size:11px;color:var(--login-body);white-space:nowrap}.form-group{margin-bottom:16px}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:14px 16px 14px 44px;border:1px solid #ded7cb;border-radius:12px;outline:none;color:var(--login-ink);background:#fffdf9;font-size:14px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input-wrapper input::placeholder{color:#9aa2aa}.input-wrapper input:focus{border-color:rgba(45,101,215,.68);background:#fff;box-shadow:0 0 0 4px rgba(45,101,215,.12)}.input-icon{position:absolute;left:14px;display:flex;color:#7b8b99;pointer-events:none;transition:color .18s ease}.input-wrapper:focus-within .input-icon{color:var(--login-blue)}.toggle-password{position:absolute;right:12px;display:flex;align-items:center;justify-content:center;padding:4px;border:0;color:#71808e;background:transparent;cursor:pointer}.toggle-password:hover{color:var(--login-blue)}.sms-input input{padding-right:124px}.sms-btn{position:absolute;right:6px;padding:8px 14px;border:1px solid rgba(45,101,215,.25);border-radius:8px;color:var(--login-blue);background:var(--login-blue-soft);font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .18s ease,border-color .18s ease}.sms-btn:hover:not(:disabled){border-color:rgba(45,101,215,.45);background:#dce9ff}.sms-btn:disabled{border-color:var(--login-line);color:#9aa2aa;background:#f4f0e9;cursor:not-allowed}.login-options{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.legal-consent{display:grid;gap:12px;margin:0 0 20px;padding:14px;border:1px solid rgba(132,107,91,.2);border-radius:12px;background:rgba(255,253,249,.9)}.legal-consent legend{padding:0 4px;color:#64524a;font-size:13px;font-weight:700}.legal-consent-check{align-items:flex-start;line-height:1.55}.legal-consent-check .checkmark{flex:0 0 auto;margin-top:2px}.legal-consent-copy{color:#64524a;font-size:13px}.legal-consent-copy a{margin:0 2px;color:var(--login-blue);text-decoration:underline;text-underline-offset:2px}.legal-age-field{display:grid;gap:6px;color:#64524a;font-size:13px}.legal-age-field select{width:100%;min-height:40px;border:1px solid #d9cec6;border-radius:8px;padding:0 10px;color:#3e2c28;background:#fffdf9;font:inherit}.legal-age-field select:focus-visible,.legal-consent-copy a:focus-visible{outline:3px solid rgba(45,101,215,.35);outline-offset:2px}.guardian-declaration{margin-top:-2px}.checkbox-wrapper{display:flex;align-items:center;cursor:pointer;user-select:none}.checkbox-wrapper input{position:absolute;opacity:0}.checkmark{width:18px;height:18px;margin-right:10px;border:1px solid #bfc6cd;border-radius:5px;background:#fffdf9}.checkbox-wrapper input:checked+.checkmark{border-color:var(--login-blue);background:var(--login-blue)}.checkbox-wrapper input:checked+.checkmark:after{content:"";display:block;width:5px;height:9px;margin:2px auto 0;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.back-link,.forgot-link,.label-text{color:#667483;font-size:14px}.back-link,.forgot-link{border:0;background:transparent;cursor:pointer;transition:color .18s ease}.back-link:hover,.forgot-link:hover{color:var(--login-blue)}.submit-btn{position:relative;display:flex;width:100%;align-items:center;justify-content:center;gap:8px;padding:15px 24px;overflow:hidden;border:1px solid transparent;border-radius:12px;color:#fff;background:linear-gradient(135deg,#3b78e0,#2d65d7);box-shadow:0 14px 26px rgba(45,101,215,.22);font-size:16px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 30px rgba(45,101,215,.3)}.submit-btn:disabled{opacity:.64;cursor:not-allowed}.back-link{width:100%;margin-top:16px;text-align:center}.form-message{margin-bottom:16px;padding:10px 14px;border-radius:10px;font-size:13px;line-height:1.5;text-align:center}.form-message.error{border:1px solid rgba(191,74,44,.22);color:#a44428;background:#fff0ea}.form-message.success{border:1px solid rgba(39,141,98,.2);color:#277c59;background:#ecf8f1}.back-link:focus-visible,.checkbox-wrapper input:focus-visible+.checkmark,.forgot-link:focus-visible,.identity-option:focus-visible,.login-method-tabs button:focus-visible,.sms-btn:focus-visible,.submit-btn:focus-visible,.tabs button:focus-visible,.toggle-password:focus-visible{outline:3px solid rgba(45,101,215,.35);outline-offset:3px}@keyframes login-card-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (max-width:560px){.login-page{justify-content:flex-start;padding:calc(28px + env(safe-area-inset-top, 0px)) max(14px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom, 0px)) max(14px,env(safe-area-inset-left,0px));background-size:52px 52px,52px 52px,auto}.brand-title-top{width:100%;margin-bottom:18px}.login-hero-title{font-size:clamp(30px,9vw,40px);letter-spacing:.06em}.form-card{padding:24px 18px;border-radius:18px}.brand-header,.tabs{margin-bottom:20px}.login-method-tabs button,.submit-btn,.tabs button{min-height:48px}.input-wrapper input{min-height:48px;font-size:16px}.login-options{gap:12px;align-items:flex-start;flex-direction:column}}@media (prefers-reduced-motion:reduce){.back-link,.forgot-link,.form-card,.identity-option,.input-wrapper input,.login-method-tabs button,.sms-btn,.submit-btn,.tab-indicator,.tabs button{animation:none;transition:none}}.human-verification{margin:0 0 12px;padding:12px 14px;border:1px dashed var(--login-line);border-radius:14px;background:rgba(255,255,255,.7);font-size:14px}.human-verification-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.human-verification-title{color:var(--login-body);font-size:13px}.human-verification-refresh{border:none;background:transparent;color:var(--login-blue);font-size:13px;cursor:pointer;padding:2px 6px;border-radius:8px}.human-verification-refresh:hover{background:var(--login-blue-soft)}.human-verification-body{display:flex;align-items:center;gap:10px}.human-verification-question{font-weight:700;color:var(--login-ink);font-size:16px;white-space:nowrap}.human-verification-input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--login-line);border-radius:10px;font-size:14px;outline:none;background:#fff;color:var(--login-ink)}.human-verification-input:focus{border-color:var(--login-blue)}.human-verification-submit{border:none;background:var(--login-blue);color:#fff;font-size:13px;padding:8px 14px;border-radius:10px;cursor:pointer;white-space:nowrap}.human-verification-submit:disabled{opacity:.55;cursor:not-allowed}.human-verification-error{margin-top:6px;color:#c0392b;font-size:13px}.human-verification-done{border-style:solid;border-color:rgba(46,160,67,.35);color:#2ea043;font-weight:600;text-align:center}