#home-portal{display:none;position:relative;min-height:100svh;overflow:hidden;color:#f3f6ff;background:#050b1c;font-family:-apple-system,BlinkMacSystemFont,'Helvetica Neue','PingFang SC','Microsoft YaHei',sans-serif;isolation:isolate}
body[data-view=home] #home-portal,body:has(#identity-view:not(.hidden)) #home-portal{display:flex;align-items:center;justify-content:center}
body[data-view=home] #app,body:has(#identity-view:not(.hidden)) #identity-view{display:none!important}
#intelligence-field{position:absolute;inset:0;width:100%;height:100%;z-index:-3}.portal-shade{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 35%,#06112720,#03081705 40%,#02061490 100%),linear-gradient(180deg,#050a1980,transparent 35%,#050a1920 70%,#050a19e0)}
.portal-brand{position:absolute;left:4.2%;top:30px;display:flex;align-items:center;gap:12px;z-index:2;color:#f0f5ff}.portal-mark{display:grid;place-items:center;width:32px;height:34px;border:1px solid #98baff50;border-radius:9px;background:linear-gradient(145deg,#537cf0,#193c99);font:26px 'Songti SC',serif;box-shadow:0 0 30px #245be128}.portal-brand strong{font-size:18px;font-weight:550;letter-spacing:-.5px}.portal-brand strong>span{font-weight:400;margin-left:4px;color:#a8bcf3}.portal-brand-note{font-size:9px;letter-spacing:.16em;color:#7186b5;border-left:1px solid #6a83b638;padding-left:17px;margin-left:10px}
.portal-center{width:min(100% - 48px,1000px);text-align:center;padding:145px 0 155px;position:relative;z-index:1;animation:portalEnter 1.1s ease both}.portal-kicker{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;letter-spacing:.2em;color:#9bb3e2;margin:0 0 26px}.portal-kicker i{width:5px;height:5px;background:#8ebaff;border-radius:50%;box-shadow:0 0 12px #79a9ff}
.portal-english{font-size:clamp(38px,5.7vw,78px);font-weight:450;letter-spacing:-.06em;line-height:1.1;font-style:italic;color:#edf4ff;margin-bottom:12px;text-shadow:0 0 45px #b9d3ff15}.portal-center h1{font-size:clamp(34px,4.8vw,66px);line-height:1.2;font-weight:500;letter-spacing:.015em;margin:0 0 28px;color:#f6f8ff;text-shadow:0 3px 30px #06102650}.portal-theory{height:28px;display:flex;justify-content:center;align-items:center;gap:5px;font-size:clamp(14px,1.5vw,18px);font-weight:400;color:#c1d4fa;letter-spacing:.04em}.portal-theory i{width:1px;height:17px;background:#bad4ff;animation:portalCursor 1s steps(2) infinite}.portal-description{font-size:13px;line-height:1.9;color:#9eafd0;margin:13px 0 33px;font-weight:400}
.portal-entries{display:flex;justify-content:center;gap:16px}.portal-entries button{border-radius:40px;border:1px solid #d7e4ffbd;background:linear-gradient(135deg,#fff,#dce7ff);color:#18345e;padding:14px 30px;min-width:194px;min-height:68px;cursor:pointer;box-shadow:0 0 35px #b3d1ff14,inset 0 1px 0 #fff7;transition:transform .25s,box-shadow .25s,background .25s;font-family:inherit}.portal-entries button:nth-child(2){background:linear-gradient(135deg,#5484ff33,#1c48d044);border-color:#91b4ff70;color:#ecf3ff;backdrop-filter:blur(12px)}.portal-entries button>span{display:block;font-size:16px;font-weight:550;letter-spacing:.08em}.portal-entries button b{font-weight:400;margin-left:10px;display:inline-block;transition:transform .25s}.portal-entries button small{display:block;font-size:10px;margin-top:5px;letter-spacing:.05em;opacity:.65}.portal-entries button:hover{transform:translateY(-3px);box-shadow:0 8px 36px #538dff38}.portal-entries button:hover b{transform:translate(2px,-2px)}.portal-entries button:focus-visible{outline:2px solid white;outline-offset:6px}.portal-entries button:disabled{opacity:.6;cursor:wait}.portal-center #portal-status{position:absolute;bottom:105px;left:0;right:0;font-size:12px;color:#b9ccf0}
.portal-orbit{position:absolute;z-index:0;color:#e3eeff;opacity:.65;animation:orbitFloat 9s ease-in-out infinite alternate;border-left:1px solid #8db0fa38;padding-left:14px}.portal-orbit>span{font-size:8px;letter-spacing:.16em;color:#8aa5d7}.portal-orbit b{display:block;font-size:12px;font-weight:400;letter-spacing:.08em;margin:10px 0}.portal-orbit small{font-size:9px;color:#819ac6}.orbit-a{left:5%;top:29%}.orbit-b{right:5%;top:62%;animation-delay:-5s}.portal-footer{position:absolute;bottom:28px;left:20px;right:20px;text-align:center;padding:0!important;border:0!important;margin:0!important;color:#8195bc;font-size:10px;letter-spacing:.08em}.portal-footer i{font-style:normal;margin:0 12px;color:#40577c}.portal-footer small{display:block;font-size:9px;color:#546b96;margin-top:15px;letter-spacing:.08em}
#portal-login,#learning-invite{padding:34px;border:1px solid #dce5f5;border-radius:20px;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:#263956;background:#fff;box-sizing:border-box;box-shadow:0 30px 120px #020b3240}#portal-login::backdrop,#learning-invite::backdrop{background:#020718b3;backdrop-filter:blur(12px)}#portal-login .identity-form{padding:0!important;margin:0!important;border:0!important;box-shadow:none!important;background:transparent!important;max-width:none!important}#portal-login h2{font-size:24px;letter-spacing:-.03em;margin-top:12px}.portal-close{position:absolute;right:12px;top:10px;padding:4px;width:30px;height:30px;border:0;background:transparent;color:#8794a8;font-size:23px;cursor:pointer}.invite-label{font-size:11px;color:#5976a7}#learning-invite h2{font-size:23px;font-weight:550;line-height:1.5;margin:16px 0}#learning-invite p{font-size:14px;color:#64748c;line-height:1.8}.contact-wechat{display:block;font-size:28px;letter-spacing:.04em;color:#245bc1;margin:20px 0;user-select:all}#learning-invite>small{color:#8190a6;line-height:1.6;font-size:12px}
@keyframes portalEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes orbitFloat{to{transform:translateY(-12px);opacity:.85}}@keyframes portalCursor{50%{opacity:0}}
@media(max-width:1000px){.portal-orbit{display:none}}
@media(max-width:640px){.portal-brand{left:24px;top:24px}.portal-brand-note{display:none}.portal-center{width:calc(100% - 40px);padding:130px 0 150px}.portal-english{font-size:42px;letter-spacing:-.055em}.portal-center h1{font-size:34px;margin-bottom:25px}.portal-kicker{font-size:8px;letter-spacing:.12em;margin-bottom:23px}.portal-description{max-width:300px;margin:15px auto 30px;font-size:12px}.portal-entries{gap:12px}.portal-entries button{min-width:0;width:158px;padding:13px 14px;min-height:66px}.portal-entries button>span{font-size:15px}.portal-footer{font-size:9px;line-height:2.2;bottom:24px}.portal-footer i{margin:0 4px}.portal-footer small{font-size:8px;margin-top:8px}.portal-theory{font-size:13px;letter-spacing:0}.portal-center #portal-status{bottom:105px}#portal-login,#learning-invite{padding:28px}}
@media(prefers-reduced-motion:reduce){.portal-center,.portal-orbit,.portal-theory i{animation:none}.portal-entries button,.portal-entries button b{transition:none}}

.portal-footer>span{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center}.portal-footer b{font-weight:400;white-space:nowrap}#portal-login input:not([type=checkbox]){background:#f7f9ff;border-color:#dce3f1;color:#263956}#portal-login input:focus{outline-color:#5683e7}#portal-login input[type=checkbox]{accent-color:#3864d9}@media(max-width:640px){.portal-footer>span{max-width:310px;margin:auto;gap:4px 17px}}

@media(max-width:640px){
 #portal-login[open],#admin-auth[open]{position:fixed;top:calc(var(--login-visible-top,0px) + 8px);bottom:auto;margin:0 auto;max-height:calc(var(--login-visible-height,100dvh) - 16px);padding:20px 18px 12px;overflow:hidden;box-sizing:border-box;width:calc(100% - 24px)}
 #portal-login .identity-form,#admin-auth form{max-height:calc(var(--login-visible-height,100dvh) - 48px);overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:60px}
 #identity-submit,#admin-auth .top-actions{position:sticky;bottom:0;z-index:2;flex-shrink:0;margin-bottom:0;box-shadow:0 -8px 12px #ffffffed}
 #identity-submit{width:100%;min-height:44px;margin-top:12px}
 #admin-auth .top-actions{background:#fff;padding-top:8px;display:flex;gap:8px;flex-wrap:wrap}
 #admin-auth .top-actions button{min-height:44px;flex:1;padding:8px;font-size:13px}
 #portal-login .identity-form label:not(.consent){margin-top:10px}#portal-login .consent{margin-top:10px;font-size:11px;line-height:1.4}
 #portal-login h2,#admin-auth h2{font-size:20px;margin:8px 0}
 .login-input-focused #identity-hint,.login-input-focused #portal-login .eyebrow,.login-input-focused #admin-auth form>p:not([role=status]),.login-input-focused #admin-auth .eyebrow{display:none}
 #admin-auth input{font-size:16px;padding:10px}#admin-auth label{margin-top:8px}
}
