/* Public portal identity. Authentication and signed-in workspace behavior stay in their existing scripts. */
body.portal-brand-v2{--purple:#7954ee;--pale:#f1ebff;--ink:#20263a;--paper:#f5f5fa;background:#f5f5fa;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}
.portal-brand-v2 .wrap{width:calc(100% - 72px);max-width:1320px}
.portal-brand-v2 :focus-visible{outline:3px solid #a58aff;outline-offset:4px}
.portal-brand-v2 .site-header{position:sticky;top:0;z-index:100;background:#090b14f2;backdrop-filter:blur(20px);border-bottom:1px solid #ffffff16;color:#eee8fa;box-shadow:none}
.portal-brand-v2 .nav-row{min-height:78px;gap:24px;max-width:1440px}
.portal-brand-v2 .brand{color:#f5f1ff;font-size:23px;gap:11px;letter-spacing:-.04em;flex-shrink:0}
.portal-brand-v2 .brand-mark{width:35px;height:35px;font-size:23px;background:linear-gradient(135deg,#a98aff,#6240ce);border:1px solid #be9bff70;box-shadow:inset 0 1px 9px #efe4ff40,0 0 22px #7442ce35;border-radius:10px}
.portal-brand-v2 .brand-latin{font:12px "Segoe UI",sans-serif;color:#aaa2cb;letter-spacing:.06em;margin-left:3px}
.portal-brand-v2 .nav-links{margin-left:auto;gap:21px}
.portal-brand-v2 .nav-links a{color:#abb0c4;font-size:13px;padding:27px 0;white-space:nowrap}
.portal-brand-v2 .nav-links a:hover{color:#f4edff}
.portal-brand-v2 .header-account{gap:15px;flex-shrink:0}
.portal-brand-v2 .header-register,.portal-brand-v2 .header-username{color:#bab1d2;font-size:12px}
.portal-brand-v2 .header-username{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.portal-brand-v2 .site-header .button{border-radius:99px;font-size:12px;padding:10px 18px;min-height:38px;border-color:#ae8dff4d}
.portal-brand-v2 .site-header .button.primary{background:linear-gradient(110deg,#9165ff,#7251e8);box-shadow:0 5px 24px #7544d827;color:white}
.portal-brand-v2 .site-header .button.subtle{background:#271e3e;color:#ded0f5}
.portal-brand-v2 .menu-toggle{color:white;background:#ffffff06;border-color:#ffffff29}
.portal-brand-v2 .portal-main{padding:34px 0 70px;background:radial-gradient(ellipse at 25% 30%,#e9dfff70,transparent 55%),#f5f5fa}
.portal-brand-v2 .portal-title{margin-bottom:26px}
.portal-brand-v2 .portal-title h1{font-size:28px;letter-spacing:-.035em}
.portal-brand-v2 .portal-title .eyebrow{font:10px Consolas,monospace;letter-spacing:.09em;color:#8b70bd;margin-bottom:9px}
.portal-brand-v2 #login-state{display:grid;grid-template-columns:1.08fr 1fr;gap:30px;padding:0;align-items:stretch;max-width:1160px;margin:0 auto;min-height:550px}
.portal-brand-v2 #login-state[hidden]{display:none}
.portal-brand-v2 #login-state .login-copy{padding:48px 42px;border-radius:23px;position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 90% 80%,#7551bf60,transparent 54%),linear-gradient(135deg,#171629,#10121e);display:flex;flex-direction:column;justify-content:center;color:#fff}
.portal-brand-v2 #login-state .login-copy:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#ab93ea08 1px,transparent 1px),linear-gradient(#ab93ea08 1px,transparent 1px);background-size:60px 60px;mask-image:linear-gradient(black,transparent)}
.portal-brand-v2 #login-state .login-copy:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #ab8ce829;border-radius:50%;bottom:-290px;right:-100px;box-shadow:0 0 0 32px #aa81df07,0 0 0 64px #aa81df05;z-index:-1}
.portal-auth-kicker{font:10px Consolas,monospace;letter-spacing:.15em;color:#b49bd8;margin-bottom:27px}
.portal-brand-v2 #login-state .login-copy .icon-box{background:#a57aff13;border:1px solid #b48aec33;color:#ba9be9;width:51px;height:51px;border-radius:14px;margin:0 0 25px}
.portal-brand-v2 #login-state .login-copy h2{font-size:clamp(29px,3vw,43px);line-height:1.4;font-weight:650;letter-spacing:-.04em;color:#f6f1ff;margin:0 0 22px}
.portal-brand-v2 #login-state .login-copy h2 span{background:linear-gradient(95deg,#c7a5ff,#ab99e9 65%,#c7daf7);background-clip:text;-webkit-background-clip:text;color:transparent}
.portal-brand-v2 #login-state .login-copy>p{font-size:14px;line-height:1.95;color:#a5abc3;max-width:440px;margin:0}
.portal-brand-v2 #login-state .check-list{display:grid;gap:14px;margin:30px 0 0;font-size:13px;line-height:1.75;color:#c5bdd9}
.portal-brand-v2 #login-state .check-list .icon{color:#b48de9;width:16px;height:16px}
.portal-brand-v2 #login-state .login-panel{padding:35px 38px;background:#ffffff;border:1px solid #e4deef;border-radius:23px;box-shadow:0 20px 55px #42345b0a;align-self:center;width:100%;min-width:0}
.portal-brand-v2 #login-state .login-panel h2{font-size:25px;letter-spacing:-.035em;color:#282338;font-weight:650;margin-bottom:10px}
.portal-brand-v2 #login-state .login-panel .intro{font-size:13px;line-height:1.9;color:#878095}
.portal-brand-v2 #login-state .field{font-size:13px;color:#494157;margin-top:21px;gap:8px}
.portal-brand-v2 #login-state .field input{min-height:47px;background:#fcfbff;border-color:#ddd6ea;border-radius:10px;font-size:14px;padding:11px 13px}
.portal-brand-v2 #login-state .field input::placeholder{font-size:12px;color:#a29aad}
.portal-brand-v2 #login-state .field input:focus{border-color:#a784dd;outline:3px solid #ae8be31b}
.portal-brand-v2 #login-state .button.primary{background:linear-gradient(110deg,#9165ff,#7251e8);border:1px solid #ae8dff4d;border-radius:11px;box-shadow:0 6px 20px #7651ce24;min-height:46px;font-size:14px;font-weight:550}
.portal-brand-v2 #login-state .button.primary:hover{background:linear-gradient(110deg,#a17aff,#8160e9)}
.portal-brand-v2 #login-state .form-hint{font-size:11px;line-height:1.85;color:#8c829b;margin-top:16px}
.portal-brand-v2 #login-state .auth-switch{border-top:1px solid #eee9f5;padding-top:18px;margin-top:23px;font-size:12px;color:#968aa7}
.portal-brand-v2 #login-state .auth-switch a{color:#8055c6;font-weight:600}
.portal-brand-v2 #login-state .portal-alert{font-size:12px;line-height:1.8}
.portal-brand-v2 .site-footer{background:#090b14;color:#7d839b;border-top:1px solid #ffffff12;padding:40px 0 25px}
.portal-brand-v2 .footer-top{display:flex;justify-content:space-between;gap:50px;align-items:start}
.portal-brand-v2 .footer-brand p{font-size:12px;line-height:1.9;color:#7c829a;margin-top:17px}
.portal-brand-v2 .footer-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:19px 24px;font-size:12px;max-width:650px;padding-top:10px}
.portal-brand-v2 .footer-links a{color:#9b9bb3}.portal-brand-v2 .footer-links a:hover{color:#c2a0f2}
.portal-brand-v2 .footer-bottom{border-top:1px solid #ffffff12;margin-top:32px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:10px;line-height:1.8;color:#676f88}
.portal-brand-v2 .footer-bottom a{color:#8b7aa7}
@media(max-width:1150px){.portal-brand-v2 .nav-row{gap:18px}.portal-brand-v2 .nav-links{gap:14px}.portal-brand-v2 .nav-links a{font-size:12px}.portal-brand-v2 .header-register{display:none}.portal-brand-v2 #login-state .login-copy{padding:38px 30px}.portal-brand-v2 #login-state .login-panel{padding:32px}}
@media(max-width:900px){.portal-brand-v2 .wrap{width:calc(100% - 44px)}.portal-brand-v2 .nav-row{min-height:70px;flex-wrap:wrap;gap:14px}.portal-brand-v2 .header-account{margin-left:auto}.portal-brand-v2 .menu-toggle{display:grid;place-items:center}.portal-brand-v2 .nav-links{order:4;flex-basis:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:8px 0 16px}.js-enabled .portal-brand-v2 .nav-links:not(.is-open){display:none}.portal-brand-v2 .nav-links a{text-align:center;padding:12px 5px}.portal-brand-v2 #login-state{gap:22px;grid-template-columns:1fr 1fr}.portal-brand-v2 #login-state .login-copy{padding:30px 25px}.portal-brand-v2 #login-state .login-copy h2{font-size:30px}.portal-brand-v2 #login-state .login-copy>p{font-size:12px}.portal-brand-v2 #login-state .check-list{font-size:12px;gap:11px}.portal-brand-v2 #login-state .login-panel{padding:28px 24px}.portal-brand-v2 .footer-top{gap:30px}.portal-brand-v2 .footer-links{gap:15px 19px;max-width:440px}}
@media(max-width:650px){.portal-brand-v2 .wrap{width:calc(100% - 32px)}.portal-brand-v2 .nav-row{min-height:66px;gap:12px}.portal-brand-v2 .brand{font-size:21px}.portal-brand-v2 .brand-mark{width:31px;height:31px;font-size:21px}.portal-brand-v2 .site-header .button{padding:8px 13px;min-height:34px;font-size:11px}.portal-brand-v2 .header-username{max-width:85px;font-size:11px}.portal-brand-v2 .nav-links{grid-template-columns:repeat(2,1fr)}.portal-brand-v2 .portal-main{padding:24px 0 38px}.portal-brand-v2 .portal-title{margin-bottom:20px}.portal-brand-v2 .portal-title h1{font-size:24px}.portal-brand-v2 #login-state{grid-template-columns:1fr;gap:18px;min-height:0}.portal-brand-v2 #login-state .login-copy{padding:27px 25px;border-radius:18px;min-height:240px}.portal-auth-kicker{font-size:9px;margin-bottom:20px}.portal-brand-v2 #login-state .login-copy .icon-box{display:none}.portal-brand-v2 #login-state .login-copy h2{font-size:29px;line-height:1.45;margin-bottom:14px}.portal-brand-v2 #login-state .login-copy br{display:initial}.portal-brand-v2 #login-state .login-copy>p{font-size:12px;line-height:1.9}.portal-brand-v2 #login-state .check-list{display:none}.portal-brand-v2 #login-state .login-panel{padding:28px 24px;border-radius:18px}.portal-brand-v2 #login-state .login-panel h2{font-size:23px}.portal-brand-v2 .site-footer{padding:31px 0 22px}.portal-brand-v2 .footer-top{display:block}.portal-brand-v2 .footer-links{justify-content:start;margin-top:21px;padding-top:0;gap:14px 19px;font-size:11px}.portal-brand-v2 .footer-bottom{display:block;margin-top:24px;font-size:9px}.portal-brand-v2 .footer-bottom>span{display:block;margin-top:7px}}
@media(prefers-reduced-motion:reduce){.portal-brand-v2 #login-state *{scroll-behavior:auto;transition:none}}
.portal-brand-v2 #registration-challenge-box{margin-top:22px;min-width:0}.portal-brand-v2 #registration-challenge-box[hidden]{display:none}.portal-brand-v2 #registration-challenge-box .form-hint{margin:9px 0;font-size:11px}.portal-brand-v2 #registration-challenge-box [data-registration-widget]{max-width:100%;min-height:65px}.portal-brand-v2 #registration-challenge-box button{margin-top:8px}
