.default-animation{--col-gap: 5%;--row-gap: 5%;--cube-perspective: 99999999px;--cube-face-border: 1px solid #fff;--cube-face-bg: #120F17;position:relative;width:50%;aspect-ratio:1 / 1;height:auto}.default-animation--scene{display:grid;width:100%;height:100%;column-gap:var(--col-gap);row-gap:var(--row-gap);perspective:var(--cube-perspective);grid-auto-rows:1fr}.cube{position:relative;width:100%;height:100%;aspect-ratio:1 / 1;transform-style:preserve-3d}.cube:before{content:"";position:absolute;inset:-36px}.default-animation .cube-face{position:absolute;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--cube-face-bg);border:var(--cube-face-border);opacity:1}.default-animation .cube-face--top{transform:translateY(-50%) rotateX(90deg)}.default-animation .cube-face--bottom{transform:translateY(50%) rotateX(-90deg)}.default-animation .cube-face--left{transform:translate(-50%) rotateY(-90deg)}.default-animation .cube-face--right{transform:translate(50%) rotateY(90deg)}.default-animation .cube-face--back,.default-animation .cube-face--front{transform:rotateY(-90deg) translate(50%) rotateY(90deg)}@media(max-width:768px){.default-animation{width:90%}}.default-animation .cube--flat{transform-style:flat}.default-animation .cube--flat .cube-face--top,.default-animation .cube--flat .cube-face--bottom,.default-animation .cube--flat .cube-face--left,.default-animation .cube--flat .cube-face--right{display:none}.default-animation .cube--flat .cube-face--front{transform:none}.portal-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:24px;background:radial-gradient(680px 380px at 12% -6%,rgba(67,92,246,.1),transparent 60%),radial-gradient(560px 320px at 96% 108%,rgba(183,59,239,.08),transparent 60%),var(--bg)}.portal-panel{width:min(720px,100%);text-align:center}.portal-logo{width:52px;height:52px;border-radius:14px}.portal-head h1{margin:14px 0 4px;font-size:24px;color:var(--text);letter-spacing:.5px}.portal-sub{margin:0 0 28px;color:var(--muted);font-size:14px}.portal-tiles{display:grid;grid-template-columns:1fr 1fr;gap:18px}.portal-tile.ant-btn{display:grid;height:auto;justify-items:start;justify-content:start;text-align:left;gap:6px;padding:26px 26px 22px;background:var(--panel);border:1px solid var(--line);border-radius:18px;cursor:pointer;transition:box-shadow .18s ease,border-color .18s ease;font:inherit;white-space:normal}.portal-tile.ant-btn:hover{box-shadow:var(--shadow);border-color:#435cf659}.portal-tile:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.portal-tile-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;margin-bottom:8px;color:#fff}.portal-tile-icon.is-assistant{background:linear-gradient(135deg,var(--blue),var(--violet))}.portal-tile-icon.is-training{background:linear-gradient(135deg,var(--green),#1d9dbf)}.portal-tile-title{font-size:17px;font-weight:600;color:var(--text)}.portal-tile-desc{font-size:13px;color:var(--muted)}.portal-tile-go{margin-top:10px;font-size:13px;font-weight:500;color:var(--blue)}.portal-foot{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:26px;color:var(--muted);font-size:13px}.portal-user{color:var(--muted-strong)}.portal-logout.ant-btn{display:inline-flex;align-items:center;gap:5px;border:none;background:none;padding:4px 6px;color:var(--muted);font:inherit;font-size:13px;cursor:pointer;border-radius:8px}.portal-logout.ant-btn:hover,.portal-logout.ant-btn:active{border:none!important;background:none!important;color:var(--red)!important}.portal-logout:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.portal-logout:disabled{opacity:.6;cursor:default}@media(max-width:640px){.portal-tiles{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.portal-tile.ant-btn{transition:none}}:root{--bg: #f7f8fb;--panel: #ffffff;--panel-muted: #f0f2f8;--line: #e6e8f0;--text: #191c24;--muted: #707789;--muted-strong: #4a5164;--blue: #1677ff;--violet: #b73bef;--magenta: #e342aa;--orange: #ffb45f;--green: #52c41a;--red: #ff4d4f;--shadow: 0 20px 60px rgba(30, 35, 65, .12);--composer-shadow: 0 7px 28px rgba(22, 119, 255, .16);--assistant-surface: #f7f7f7;color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;touch-action:pan-x pan-y;overscroll-behavior:none}[hidden]{display:none!important}body{margin:0;height:100vh;height:100dvh;min-height:0;background:#f4f6fb}.login-screen{display:flex;width:100%;height:100vh;height:100dvh;overflow-y:auto;padding:24px;background:radial-gradient(circle at 20% 12%,rgba(67,92,246,.14),transparent 28rem),radial-gradient(circle at 82% 86%,rgba(255,180,95,.18),transparent 28rem),#f7f8fb}.login-card{display:grid;width:min(420px,100%);margin:auto;gap:14px;border:1px solid var(--line);border-radius:18px;padding:30px;background:#fffffff0;box-shadow:var(--shadow)}.login-logo{width:54px;height:54px}.login-card h1{margin:4px 0 0;font-size:24px;letter-spacing:0}.login-card p{margin:0 0 4px;color:var(--muted);line-height:1.6}.login-card label{display:grid;gap:7px;color:var(--muted-strong);font-size:13px;font-weight:750}.login-card input:not(.ant-input){width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;outline:0;background:#fff;color:var(--text)}.login-card input:not(.ant-input):focus{border-color:#435cf673;box-shadow:0 0 0 3px #435cf61a}.login-error{min-height:18px;color:var(--red);font-size:13px}button,textarea,select,input{font:inherit}button{cursor:pointer}button:focus,a:focus{outline:none}.captcha-stage{position:relative;display:grid;place-items:center;min-height:96px;perspective:260px}.captcha-stage:not([data-error=true]) .captcha-widget-host{position:absolute;inset:0;opacity:0;pointer-events:none}.captcha-stage[data-error=true] .captcha-scan,.captcha-stage[data-error=true] .captcha-gyro,.captcha-stage[data-error=true] .captcha-lock{display:none}.captcha-lock{position:absolute;inset:0;margin:auto;width:72px;height:72px;opacity:0;animation:captcha-lock-in .26s ease-out .12s forwards,captcha-lock-out .24s ease-in 1.03s forwards}.captcha-lock path,.captcha-lock rect{fill:none;stroke:#7c3aed;stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round}.captcha-lock-shackle{transform-box:fill-box;transform-origin:left bottom;animation:captcha-shackle-open .34s cubic-bezier(.34,1.4,.64,1) .52s forwards}@keyframes captcha-shackle-open{0%{transform:rotate(0)}to{transform:rotate(-38deg)}}@keyframes captcha-lock-in{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@keyframes captcha-lock-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.62)}}.captcha-gyro{position:absolute;inset:0;margin:auto;width:60px;height:60px;opacity:0;animation:captcha-gyro-in .32s ease-out 1.06s forwards;transform-style:preserve-3d}@keyframes captcha-gyro-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.captcha-gyro-ring{position:absolute;inset:0;border-radius:50%;border:4px solid #7c3aed}.captcha-gyro-solid{animation:captcha-gyro-a 1.15s linear infinite}.captcha-gyro-ghost{border-color:#7c3aed4d;animation:captcha-gyro-b 1.15s linear infinite}@keyframes captcha-gyro-a{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}@keyframes captcha-gyro-b{0%{transform:rotate(45deg) rotateX(120deg)}to{transform:rotate(45deg) rotateX(480deg)}}.captcha-stage[data-solved=true] .captcha-gyro{animation:captcha-gyro-out .28s ease forwards}@keyframes captcha-gyro-out{0%{opacity:1}to{opacity:0}}.captcha-scan{width:72px;height:72px;opacity:0;transform:scale(.9)}.captcha-stage[data-solved=true] .captcha-scan{opacity:1;transform:scale(1);transition:opacity .26s ease 80ms,transform .42s cubic-bezier(.22,1,.36,1) 80ms}.captcha-scan-track{fill:none;stroke:#7c3aed29;stroke-width:4}.captcha-scan-arc{fill:none;stroke:#7c3aed;stroke-width:4;stroke-linecap:round;stroke-dasharray:188.5 0;transform:rotate(-90deg);transform-origin:36px 36px}.captcha-scan-check{fill:none;stroke:#7c3aed;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.captcha-stage[data-solved=true] .captcha-scan-check{transition:stroke-dashoffset .64s cubic-bezier(.55,0,.3,1) .34s;stroke-dashoffset:0}.captcha-stage[data-reduce-motion=true] .captcha-lock,.captcha-stage[data-reduce-motion=true] .captcha-gyro{display:none}.captcha-stage[data-reduce-motion=true] .captcha-scan{opacity:1;transform:none;transition:none}.captcha-stage[data-reduce-motion=true] .captcha-scan-check{transition:opacity .2s ease;opacity:0;stroke-dashoffset:0}.captcha-stage[data-reduce-motion=true][data-solved=true] .captcha-scan-check{opacity:1}.totp-qr{width:200px;height:200px;margin:0 auto;border:1px solid var(--line);border-radius:12px;background:#fff}.totp-qr-block{display:flex;flex-direction:column;align-items:center;gap:10px}.totp-qr-cover{display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(45deg,#eef0f6,#eef0f6 10px,#e3e6ef 10px 20px);color:var(--muted);font-size:13px;-webkit-user-select:none;user-select:none}.totp-uri{display:block;border-radius:8px;padding:8px 10px;background:#f7f8fc;color:var(--muted);font-size:12px;line-height:1.5;word-break:break-all;-webkit-user-select:all;user-select:all}.login-secondary{justify-self:center;border:none;background:none;color:var(--muted);font-size:13px;text-decoration:underline;cursor:pointer}.account-import-hint{margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.6}.user-actions{display:flex;flex-shrink:0;align-items:center;gap:8px}.login-card--antd{gap:16px;border-radius:20px;padding:36px 32px 32px;box-shadow:0 24px 60px #1e295c1f,0 4px 14px #1e295c0f}.login-card--antd .login-head{display:grid;justify-items:center;gap:8px;margin-bottom:6px;text-align:center}.login-card--antd h1{margin:6px 0 0;font-size:22px}.login-card--antd p{margin:0;font-size:13px}.login-field{display:grid;gap:7px;color:var(--muted-strong);font-size:13px;font-weight:750}.login-card--antd .login-error{min-height:0}.login-test-entry{margin-top:16px;display:flex;flex-direction:column;gap:10px;min-width:0}.login-test-entry-buttons{display:flex;gap:8px}.login-test-entry-buttons .ant-btn{flex:1;min-width:0}.login-test-entry-person{display:flex;gap:8px}.login-test-entry-person .ant-select{flex:1;min-width:0}.login-test-entry-person .ant-btn{flex:none}@media(max-width:900px){.login-screen{padding:16px}.login-card--antd{border-radius:16px;padding:26px 20px 22px}.login-card--antd h1{font-size:20px}}.login-screen--bloub{background:#f3effb;padding:40px 24px}.login-shell{display:flex;width:min(960px,100%);min-height:590px;margin:auto;flex-shrink:0;overflow:hidden;border:1px solid rgba(255,255,255,.85);border-radius:28px;background:#ffffffeb;box-shadow:0 24px 64px #5b408a1a,0 6px 18px #5b408a0a,inset 0 1px #ffffffe6}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.login-shell{background:#ffffff9e;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}}.login-screen--bloub .login-card--antd{flex:1 1 54%;width:54%;min-width:0;margin:auto 0;border:0;border-radius:0;padding:48px;background:transparent;box-shadow:none}.login-screen--bloub .login-head{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:24px;text-align:left}.login-screen--bloub .login-logo{flex:none;object-fit:contain}.login-screen--bloub .login-head h1{margin:0;min-width:0;overflow-wrap:anywhere;font-size:24px;color:#242128}.login-screen--bloub .login-field label{display:block;margin:0;font-weight:500}.login-companion{display:flex;flex:1 1 46%;min-width:0;flex-direction:column;justify-content:center;align-items:center;padding:32px 24px;background-color:#ede4fa;text-align:center}.login-companion-message{margin:24px 0 0;color:#51416a;font-size:18px;font-weight:700;line-height:1.6}.login-card--antd .login-account-hint{color:var(--muted);text-align:center;line-height:1.5}.login-bloub{display:block;width:100%;height:auto;pointer-events:none}.login-mascot{width:100%;max-width:340px;margin:20px auto}.login-mascot .login-mascot-button{display:block;width:100%;height:auto;padding:0;border-radius:24px;line-height:0}.login-mascot .ant-btn.login-mascot-button,.login-mascot .ant-btn.login-mascot-button:hover,.login-mascot .ant-btn.login-mascot-button:active,.login-mascot .ant-btn.login-mascot-button:focus{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;-webkit-tap-highlight-color:transparent}.login-mascot .login-mascot-button{cursor:default}.login-mascot-hit{cursor:pointer}.login-mascot .login-mascot-button:disabled .login-mascot-hit{cursor:default}.login-mascot .ant-btn.login-mascot-button:focus-visible{outline:none!important;box-shadow:none!important}@media(max-width:720px){.login-screen--bloub{padding:16px}.login-shell{flex-direction:column-reverse;min-height:0;max-width:460px;border-radius:20px}.login-screen--bloub .login-card--antd{flex:none;width:100%;padding:24px}.login-screen--bloub .login-head{margin-bottom:4px}.login-screen--bloub .login-head h1{font-size:23px}.login-screen--bloub .login-logo{width:40px;height:40px}.login-companion{flex:none;padding:12px 16px 20px}.login-companion-message{margin-top:20px;font-size:15px}.login-mascot{max-width:176px;margin:0 auto}}.login-cubes-bg{position:fixed;inset:0;z-index:0;display:grid;place-items:center;overflow:hidden}.login-cubes-bg .default-animation{width:max(100vw,100vh);height:max(100vw,100vh);aspect-ratio:auto}.login-card--antd{position:relative;z-index:1}@media(max-width:900px){.login-cubes-bg{pointer-events:none}}.login-screen--cubes{background:#f1f0f6}.login-screen--cubes .login-card--antd{border:1.5px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#7c3aed,#ec4899,#fb923c) border-box;box-shadow:0 24px 60px #5a468224}.login-screen--cubes .ant-btn-primary{background:linear-gradient(120deg,#6d3df0,#e0489a);box-shadow:0 10px 24px #a040be52}.login-screen--cubes .ant-btn-primary:not(:disabled):hover{background:linear-gradient(120deg,#7b4ef2,#e55da6)}.login-cubes-bg .default-animation--scene{justify-content:center;align-content:center}.login-feishu-btn:not(:disabled){border-color:#3370ff;color:#3370ff;font-weight:650}.login-feishu-btn:not(:disabled):hover{border-color:#5a8cff;color:#5a8cff;background:#3370ff0a}.login-feishu-btn .ant-btn-icon{display:inline-flex;align-items:center;font-size:26px;line-height:1}.login-feishu-logo{display:block;width:26px;height:26px}.login-divider{margin:0;color:var(--muted);font-size:12px}.feishu-loader{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;align-content:center;gap:22px;padding:24px;background:#f1f0f6}.feishu-loader-shadow{filter:drop-shadow(0 10px 18px rgba(90,70,130,.18))}.feishu-loader-mark{position:relative;width:104px;height:104px;background-image:url(/train/feishu-logo-gray.svg);background-repeat:no-repeat;background-position:center;background-size:contain;-webkit-mask-image:url(/train/feishu-logo-gray.svg);mask-image:url(/train/feishu-logo-gray.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.feishu-loader-sheen{position:absolute;inset:0;background-image:linear-gradient(45deg,#fff0 36%,#ffffffe6,#fff0 64%);background-repeat:no-repeat;background-size:300% 300%;animation:feishu-loader-sheen 1s linear forwards}@keyframes feishu-loader-sheen{0%{background-position:0% 100%;opacity:0}15%{opacity:1}70%{opacity:1}90%{background-position:100% 0%;opacity:0}to{background-position:100% 0%;opacity:0}}.feishu-loader-hint{margin:0;color:var(--muted-strong);font-size:13px;font-weight:650}@media(max-width:900px){.feishu-loader-mark{width:84px;height:84px}}@media(prefers-reduced-motion:reduce){.feishu-loader-sheen{animation:none;background-position:50% 50%;opacity:.45}}
