*{box-sizing:border-box}:root{color:#111;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f4f4}button,input,textarea,select{font:inherit}html,body,#root{width:100%;height:100%;margin:0}body{background:#f4f4f4;font-family:SF Pro Display,Inter,Helvetica Neue,Microsoft YaHei,Arial,sans-serif}.login-page{color:#f5f5f5;background:radial-gradient(circle at 50% -18%,#fff3,#0000 34%),radial-gradient(circle at 14% 18%,#8a9ea838,#0000 32%),linear-gradient(135deg,#020203 0%,#090a0c 42%,#111216 100%);place-items:center;min-height:100vh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.login-page:before{content:"";opacity:.9;pointer-events:none;background:linear-gradient(115deg,#0000 0 28%,#ffffff14 35%,#0000 46%),radial-gradient(circle at 82% 72%,#aebabc1f,#0000 30%);position:absolute;inset:0}.login-page:after{content:"";mix-blend-mode:screen;opacity:.08;pointer-events:none;background-image:linear-gradient(#ffffff0b 1px,#0000 1px);background-size:100% 4px;position:absolute;inset:0}.login-gradient{pointer-events:none;filter:blur(6px);position:absolute}.login-gradient--silver{aspect-ratio:1;opacity:.6;background:radial-gradient(circle at 36% 36%,#ffffff6b,#0000 22%),conic-gradient(from 150deg,#fff0,#bcc6c74d,#5f727914,#fff0);border-radius:50%;width:min(680px,70vw);top:-22%;right:-12%}.login-gradient--ink{aspect-ratio:1.1;opacity:.72;background:radial-gradient(circle,#2a3038e6,#03040600 64%);border-radius:50%;width:min(620px,78vw);bottom:-20%;left:-16%}.login-grid{opacity:.18;pointer-events:none;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-position:50%;background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 52%,#000000bf,#0000 68%);mask-image:radial-gradient(circle at 50% 52%,#000000bf,#0000 68%)}.login-panel{z-index:1;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);background:linear-gradient(#ffffff1a,#ffffff09),#08090bd1;border:1px solid #ffffff29;border-radius:18px;width:min(420px,100%);padding:38px 34px 30px;position:relative;box-shadow:0 34px 90px #00000080,inset 0 1px #ffffff2e,inset 0 -1px #ffffff0d}.login-brand{align-items:center;gap:16px;margin-bottom:34px;display:flex}.login-logo-shell{background:linear-gradient(145deg,#ffffff29,#ffffff08),#050506;border:1px solid #ffffff2e;border-radius:18px;flex:none;place-items:center;width:62px;height:62px;display:grid;position:relative;box-shadow:0 18px 34px #0000006b,inset 0 1px #ffffff38}.login-logo-shell:after{content:"";opacity:.7;pointer-events:none;background:linear-gradient(135deg,#0000,#ffffff2e,#0000);border-radius:14px;position:absolute;inset:8px}.login-brand-copy{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.login-logo{object-fit:contain;border-radius:13px;width:46px;height:46px}.login-wordmark{filter:invert()brightness(1.2);opacity:.96;width:140px;height:auto}.login-desc{color:#e5e8e89e;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px;font-weight:500}.login-form .ant-form-item{margin-bottom:18px}.login-form .ant-form-item-label>label{color:#f5f7f7b8;font-size:13px;font-weight:600}.login-form .ant-input,.login-form .ant-input-affix-wrapper{color:#fff;background:#fff1;border-color:#ffffff24;box-shadow:inset 0 1px #ffffff0a}.login-form .ant-input:hover,.login-form .ant-input-affix-wrapper:hover{background:#ffffff17;border-color:#ffffff47}.login-form .ant-input:focus,.login-form .ant-input-affix-wrapper-focused{background:#ffffff1a;border-color:#e7edec9e;box-shadow:0 0 0 3px #d1dada1f}.login-form .ant-input::placeholder{color:#ffffff52}.login-form .ant-input-password-icon{color:#ffffff8f}.login-form .ant-btn-primary{color:#050607;background:linear-gradient(135deg,#f7f8f7 0%,#c9d0cf 34%,#7e8b8c 100%);border:0;height:44px;margin-top:4px;font-weight:700;box-shadow:0 16px 34px #00000057,inset 0 1px #ffffffdb}.login-form .ant-btn-primary:not(:disabled):hover{color:#030405;background:linear-gradient(135deg,#fff 0%,#dfe4e4 36%,#929e9f 100%)}.login-error{color:#ffb4a9;text-align:center;margin-top:12px;font-size:13px}.platform{background:#f4f4f4;width:100vw;height:100vh}.platform-sider{border-right:1px solid #e0e0e0;height:100vh;display:flex}.platform-sider .ant-layout-sider-children{flex-direction:column;width:100%;min-height:0;display:flex}.platform-brand{border-bottom:1px solid #e0e0e0;flex-direction:column;flex:none;justify-content:center;gap:4px;height:64px;padding:0 18px;display:flex}.brand-wordmark{flex:none;width:100%;height:auto;display:block}.brand-subtitle{color:#999;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:500;display:block}.study-nav{flex-direction:column;flex:1 1 0;gap:2px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.nav-item{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;width:100%;padding:9px 12px;transition:background .12s;display:flex}.nav-item:hover{background:#f0f0f0}.nav-item--active{background:#111!important}.nav-item-title{color:#111;font-size:13px;font-weight:600;line-height:18px}.nav-item--active .nav-item-title{color:#fff}.sider-footer{border-top:1px solid #e0e0e0;flex:none;padding:10px 10px 14px}.logout-btn{font-size:13px;color:#555!important}.platform-content{grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;padding:8px 10px 10px;display:grid}.content-frame{background:#fff;border:1px solid #ddd;min-width:0;min-height:0;overflow:hidden}.content-frame iframe{background:#fff;border:0;width:100%;height:100%}@media (width<=860px){.platform{height:auto;min-height:100vh;display:block}.platform-sider{z-index:5;height:auto;top:0;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;position:sticky!important}.platform-sider .ant-layout-sider-children{flex-direction:row;align-items:center;height:56px;overflow:hidden}.platform-brand{border-bottom:0;border-right:1px solid #e0e0e0;flex:none;height:56px;padding:0 14px}.study-nav{flex-direction:row;flex:1 1 0;gap:4px;min-height:0;padding:6px 8px;overflow:auto hidden}.nav-item{white-space:nowrap;flex:none;padding:6px 14px}.nav-item-title{font-size:13px}.sider-footer{display:none}.platform-content{grid-template-rows:720px;min-height:760px}}
