:root{--bg:#0b0912;--bg-2:#110d1a;--panel:#171226;--panel-2:#1c1630;--panel-3:#221a3a;--accent:#1f7ac9;--accent-2:#9b7bff;--accent-3:#4a2bb8;--text:#f4f1ff;--muted:#b8b2d9;--danger:#ff5c7a;--success:#52f0b2;--warning:#ffc066;--border:#2a2342;--shadow:0 18px 36px #0604108c;--radius:18px;--radius-lg:26px;--radius-xl:36px;--app-max-width:1600px;--ease-out:cubic-bezier(.22,.61,.36,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--fast:.2s;--mid:.3s}*{box-sizing:border-box}html,body{background-color:var(--bg);scrollbar-width:thin;scrollbar-color:#6e84a45c transparent;height:100%}html::-webkit-scrollbar{width:5px;height:5px}body::-webkit-scrollbar{width:5px;height:5px}html::-webkit-scrollbar-track{background:0 0}body::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:#6e84a438;border-radius:999px}body::-webkit-scrollbar-thumb{background:#6e84a438;border-radius:999px}html:hover::-webkit-scrollbar-thumb{background:#637a9b70}body:hover::-webkit-scrollbar-thumb{background:#637a9b70}html::-webkit-scrollbar-thumb:active{background:#56709494}body::-webkit-scrollbar-thumb:active{background:#56709494}body{color:var(--text);background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none'%3E%3Ccircle cx='2' cy='2' r='1.4' fill='%23261f3f'/%3E%3Ccircle cx='60' cy='40' r='1.2' fill='%232a2342'/%3E%3Ccircle cx='90' cy='88' r='1.1' fill='%23261f3f'/%3E%3C/g%3E%3C/svg%3E");background-size:120px 120px;background-attachment:fixed;margin:0;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font-family:inherit}@media (max-width:1024px),(hover:none) and (pointer:coarse){html,body,*{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent!important;tap-highlight-color:transparent!important}a,button,input,textarea,select,[role=button],.btn,.nav button,.topbar-nav-link,.topbar-nav-button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role=button]:focus-visible,.btn:focus-visible,.nav button:focus-visible,.topbar-nav-link:focus-visible,.topbar-nav-button:focus-visible,a:focus,button:focus,input:focus,textarea:focus,select:focus,[role=button]:focus,.btn:focus,.nav button:focus,.topbar-nav-link:focus,.topbar-nav-button:focus{box-shadow:none!important;outline:none!important}.nav button{-webkit-user-select:none;user-select:none}.nav button:not(.active):hover,.nav button:not(.active):active{color:#5e6b84!important;box-shadow:none!important;background:0 0!important;border-color:#0000!important}}.init-brand-sequence{--init-login-bridge-dx:0px;--init-login-bridge-dy:0px;--init-login-bridge-scale:1;--init-login-origin-x:50%;--init-login-origin-y:50%}.init-overlay.is-leaving .init-brand-sequence.is-login-bridging{transform:translate3d(var(--init-login-bridge-dx),var(--init-login-bridge-dy),0)scale(var(--init-login-bridge-scale));transform-origin:var(--init-login-origin-x)var(--init-login-origin-y);will-change:transform,opacity;transition:transform .6s cubic-bezier(.2,.78,.24,1),opacity .6s}.login-ux-shell{--login-ux-primary:#1a73e8;align-content:center;min-height:100vh;padding:clamp(20px,4.2vw,48px) 16px}.auth-shell.login-ux-shell .auth-login-card.login-ux-card{opacity:1;transition:box-shadow .2s;transform:translate(0,0)scale(1)}.login-ux-shell .login-ux-stage-question .login-ux-question-actions .btn.secondary{color:#1a73e8!important;box-shadow:none!important;background:0 0!important;border:none!important;font-weight:500!important;transform:none!important}.login-ux-shell .login-ux-stage-question .login-ux-question-actions .btn.secondary:hover,.login-ux-shell .login-ux-stage-question .login-ux-question-actions .btn.secondary:focus-visible{color:#1a73e8!important;box-shadow:none!important;background:#1a73e81c!important;border:none!important;transform:none!important}.login-ux-card{color:#1f1f1f;background:#fff;border:1px solid #dadce0;border-radius:28px;width:min(920px,92vw);padding:clamp(24px,2.2vw,34px);transition:box-shadow .2s;animation:none;box-shadow:0 2px 16px #3c40431f}.login-ux-card.panel{-webkit-backdrop-filter:none}.login-ux-card:before,.login-ux-card.panel:after{display:none}.login-ux-card.auth-login-card,.login-ux-card.is-stage-question,.login-ux-card.is-stage-about,.login-ux-card.is-stage-form-student,.login-ux-card.is-stage-form-webvpn,.login-ux-card.is-stage-form-edu,.login-ux-card.is-stage-form-qq{width:min(920px,92vw);min-height:0}.login-ux-card.is-stage-form-qq{width:min(680px,80vw)}.login-ux-card .auth-body{align-items:stretch;gap:14px}.login-ux-brand-row{color:#05070c;justify-content:flex-start;margin:0 0 22px;display:flex}.login-ux-brand-row.is-bridge-hidden{opacity:0}.login-ux-brand-target{width:clamp(132px,9vw,176px);min-width:132px}.login-ux-brand-svg{filter:none;width:100%;height:auto;display:block}.login-ux-brand-path{fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:0;stroke-opacity:0;vector-effect:non-scaling-stroke}.login-ux-brand-svg-hold .init-brand-left,.login-ux-brand-svg-hold .init-brand-right,.login-ux-brand-svg-hold .init-brand-yan-slot{opacity:1;clip-path:inset(0);transition:none}.login-ux-brand-svg-hold .init-brand-left-stroke,.login-ux-brand-svg-hold .init-brand-right-stroke,.login-ux-brand-svg-hold .init-brand-yan-slot-stroke{fill-opacity:1;stroke-width:0;stroke-opacity:0;animation:none}.login-ux-body{grid-template-columns:minmax(260px,.94fr) minmax(0,1.16fr);align-items:start;gap:clamp(24px,3vw,44px);display:grid;overflow:visible}.auth-shell.login-ux-shell .auth-body.login-ux-body{display:grid}.login-ux-side-panel{background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:flex-start;align-self:start;gap:12px;padding:4px 0 0;display:flex}.login-ux-side-title{color:#1f1f1f;letter-spacing:-.014em;flex-direction:column;gap:4px;margin:0;font-size:clamp(24px,2.1vw,32px);font-weight:400;line-height:1.18;display:flex}.login-ux-side-title-line{display:block}.login-ux-side-title-brand{white-space:nowrap}.login-ux-side-copy{color:#5f6368;max-width:33ch;margin:0;font-size:15px;line-height:1.6}.login-ux-side-note{color:#6b7280;white-space:pre-line;max-width:36ch;font-size:13px;line-height:1.5}.login-ux-side-qq-copy{white-space:normal;flex-direction:column;gap:4px;min-height:74px;display:flex}.login-ux-side-qq-copy .qq-status-title{font-size:14px;line-height:1.45}.login-ux-side-qq-meta{color:#6b7280;font-size:13px;line-height:1.48}.login-ux-stage-panel-wrap{align-items:start;width:100%;min-width:0;transition:height .43s cubic-bezier(.2,.78,.24,1);display:flex;position:relative;overflow:hidden}.login-ux-stage-panel-wrap.is-intro-sliding{pointer-events:none}.login-ux-stage-panel-inner{flex-direction:column;gap:12px;width:100%;min-width:0;display:flex}.login-ux-intro-push-track{will-change:transform;align-items:flex-start;width:200%;min-width:200%;display:flex;transform:translate(0,0)}.login-ux-intro-push-track.is-sliding{animation:.43s cubic-bezier(.2,.78,.24,1) both loginUxIntroPush}.login-ux-intro-push-track.is-sliding.is-reverse{animation:.43s cubic-bezier(.2,.78,.24,1) both loginUxIntroPushReverse;transform:translate(-50%)}.login-ux-intro-push-pane{width:50%;min-width:50%}.login-ux-intro-push-pane.is-prev{animation:.2s ease-out both loginUxIntroPrevFade}.login-ux-intro-actions-switch{width:100%;min-height:0;padding-block:0;position:relative;overflow:visible}.login-ux-intro-actions-pane{width:100%;overflow:visible}.login-ux-intro-actions-pane.is-current{position:relative}.login-ux-intro-actions-pane.is-prev,.login-ux-intro-actions-pane.is-next{position:absolute;inset:0}.login-ux-intro-actions-pane.is-empty{opacity:0;pointer-events:none}.login-ux-intro-actions-fade .login-ux-intro-actions-pane.is-prev{animation:.22s both loginUxIntroActionsOut}.login-ux-intro-actions-fade .login-ux-intro-actions-pane.is-next{animation:.26s 40ms both loginUxIntroActionsIn}.login-ux-stage{flex-direction:column;gap:14px;width:100%;min-width:0;margin:0;display:flex}.login-ux-stage-title{letter-spacing:-.015em;color:#1f1f1f;margin:0;font-size:clamp(23px,1.9vw,30px);font-weight:400;line-height:1.22}.login-ux-stage-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:2px;display:flex}.login-ux-form-actions{justify-content:flex-end;width:100%}.login-ux-form-actions .login-ux-form-secondary-action{margin-right:0}.login-ux-form-error{text-align:left;align-self:flex-start;margin:2px 8px 0}.login-ux-about{background:0 0;border:none;border-radius:0;gap:10px;width:100%;padding:0}.login-ux-about .login-ux-stage-title{font-size:clamp(22px,1.85vw,28px)}.login-ux-about-copy{color:#3c4043;margin:0;font-size:14px;line-height:1.58}.login-ux-about-copy a{color:#1a73e8;text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}.login-ux-about-copy a:hover,.login-ux-about-copy a:focus-visible{color:#185abc}.login-ux-about-inline-link{white-space:nowrap;display:inline-block}.login-ux-form-stage{gap:10px}.login-ux-form-stage .login-ux-stage-title{font-size:clamp(22px,1.8vw,28px)}.login-ux-stage-question .login-ux-question-title{letter-spacing:-.01em;margin-top:2px;font-size:clamp(18px,1.35vw,22px);line-height:1.45}.login-ux-question-actions{justify-content:flex-end;gap:10px;width:100%;min-width:0;margin-top:22px}.login-ux-question-actions .btn{min-width:170px}.login-ux-question-actions .btn.secondary{color:#1a73e8;min-height:40px;box-shadow:none;background:0 0;border:none;padding:0 12px;font-weight:500;transform:none}.login-ux-question-actions .btn.secondary:hover{box-shadow:none;background:#1a73e81c;border-color:#0000;transform:none}.login-ux-about-actions{justify-content:flex-end}.login-ux-side-panel{transition:none}@media (max-width:1024px){.login-ux-body{grid-template-columns:minmax(220px,.88fr) minmax(0,1.12fr);gap:clamp(16px,2vw,24px)}.login-ux-side-title{font-size:clamp(21px,2.8vw,28px)}.login-ux-side-panel{padding:2px 0 0}}@media (max-width:900px){.login-ux-body{grid-template-columns:1fr;gap:14px}}.login-ux-stage-question .login-ux-question-title{white-space:normal;text-overflow:clip;overflow:visible}.login-ux-form{flex-direction:column;gap:12px;width:min(560px,100%);margin:0;display:flex}.login-ux-form .field{margin:0}.login-ux-shell .field label{color:#5f6368;font-size:13px;font-weight:500}.login-ux-shell .field input,.login-ux-shell .field textarea,.login-ux-shell .field select{color:#202124;background:#fff;border:1px solid #dadce0;border-radius:12px;padding:11px 12px}.login-ux-shell .field input::placeholder,.login-ux-shell .field textarea::placeholder{color:#9aa0a6}.login-ux-shell .field input:focus,.login-ux-shell .field textarea:focus,.login-ux-shell .field select:focus{border-color:#1a73e8;transform:none;box-shadow:0 0 0 2px #1a73e829}.login-ux-shell .agree-row{color:#3c4043;box-sizing:border-box;gap:10px;padding:2px 8px}.login-ux-shell .field.field-student.is-visible,.login-ux-shell .field.field-webvpn.is-visible,.login-ux-shell .field.field-edu.is-visible{box-sizing:border-box;padding:2px 8px}.login-ux-shell .agree-text a{color:#1a73e8}.login-ux-shell .agree-text a:hover{color:#185abc}.login-ux-shell .btn{background:var(--login-ux-primary);color:#fff;min-height:40px;box-shadow:none;border:1px solid var(--login-ux-primary);letter-spacing:.01em;border-radius:999px;padding:0 18px;font-size:14px;font-weight:500;line-height:1}.auth-shell.login-ux-shell .btn,.auth-shell.login-ux-shell .btn:hover,.auth-shell.login-ux-shell .btn:active,.auth-shell.login-ux-shell .btn:focus-visible,.auth-shell.login-ux-shell a.btn,.auth-shell.login-ux-shell a.btn:hover,.auth-shell.login-ux-shell a.btn:active,.auth-shell.login-ux-shell a.btn:focus-visible{box-shadow:none!important}.auth-shell.login-ux-shell .auth-card.is-loading .auth-body{opacity:1;filter:none}.auth-shell.login-ux-shell .login-ux-loading-mask{-webkit-backdrop-filter:blur(1px);border-radius:inherit;background:#ffffff8f;display:block}.auth-shell.login-ux-shell .login-ux-loading-bar-track{border-top-left-radius:inherit;border-top-right-radius:inherit;background:#1a73e821;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.auth-shell.login-ux-shell .login-ux-loading-bar{background:linear-gradient(90deg,#1a73e800 0%,var(--login-ux-primary)26%,var(--login-ux-primary)74%,#1a73e800 100%);width:30%;height:100%;animation:1.82s cubic-bezier(.4,0,.2,1) infinite loginUxTopBarLoading;position:absolute;top:0;left:0;transform:translate(-130%)}.login-ux-shell .btn:hover{box-shadow:none;background:#1967d2;border-color:#1967d2;transform:translateY(-1px)}.login-ux-shell .btn.secondary,.login-ux-shell .btn.ghost{color:#1a73e8;background:#fff;border-color:#d2e3fc}.login-ux-shell .btn.secondary:hover,.login-ux-shell .btn.ghost:hover{color:#185abc;box-shadow:none;background:#f6f9ff;border-color:#aecbfa}.login-ux-stage-question .login-ux-question-actions .btn.secondary{box-shadow:none;color:#1a73e8;background:0 0;border:none;font-weight:500;transform:none}.login-ux-stage-question .login-ux-question-actions .btn.secondary:hover{box-shadow:none;color:#1a73e8;background:#1a73e81c;border-color:#0000;transform:none}.login-ux-shell .btn:focus-visible,.login-ux-shell .inline-actions a.btn:focus-visible{outline-offset:2px;outline:2px solid #1a73e866}.login-ux-page-slide-shell{will-change:transform,opacity;overflow:hidden;transform:translate(0,0)}.login-ux-side-fade-idle{opacity:1}.login-ux-side-fade-shift{animation:.43s cubic-bezier(.2,.78,.24,1) both loginUxSideFadeShift}.login-ux-page-slide-idle{opacity:1;transform:translate(0,0)}.login-ux-page-slide-in{animation:.25s cubic-bezier(.4,0,.2,1) both loginUxPageSlideIn}.login-ux-page-slide-out{pointer-events:none;animation:.15s cubic-bezier(.4,0,.2,1) both loginUxPageSlideOut}.login-ux-flow-switch{width:100%}.login-ux-flow-pane{display:flex}.login-ux-flow-pane-inner{width:100%}@keyframes loginUxPageSlideIn{0%{opacity:1;transform:translate(24px)}to{opacity:1;transform:translate(0,0)}}@keyframes loginUxPageSlideOut{0%{opacity:1;transform:translate(0,0)}to{opacity:1;transform:translate(-24px)}}@keyframes loginUxIntroPush{0%{transform:translate(0,0)}to{transform:translate(-50%)}}@keyframes loginUxIntroPushReverse{0%{transform:translate(-50%)}to{transform:translate(0,0)}}@keyframes loginUxIntroPrevFade{0%{opacity:1}to{opacity:0}}@keyframes loginUxIntroActionsOut{0%{opacity:1;transform:translate(0,0)}to{opacity:0;transform:translate(-8px)}}@keyframes loginUxIntroActionsIn{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0,0)}}@keyframes loginUxTopBarLoading{0%{transform:translate(-130%)}to{transform:translate(340%)}}.login-ux-shell .btn.login-ux-text-btn{min-height:40px;padding:0 12px;font-weight:500;color:#1a73e8!important;box-shadow:none!important;background:0 0!important;border:none!important;transform:none!important}.login-ux-shell .btn.login-ux-text-btn:hover,.login-ux-shell .btn.login-ux-text-btn:focus-visible{color:#1a73e8!important;box-shadow:none!important;background:#1a73e81c!important;border:none!important;transform:none!important}.login-ux-shell .auth-form .input-wrap{position:relative}@keyframes loginUxSideFadeShift{0%{opacity:1}45%{opacity:.42}to{opacity:1}}.auth-shell.login-ux-shell .login-ux-card.is-stage-question{height:auto!important;min-height:0!important}.auth-shell.login-ux-shell .login-ux-stage-question .login-ux-question-title{white-space:normal!important;text-overflow:clip!important;overflow:visible!important}.auth-shell.login-ux-shell .login-ux-stage-question .login-ux-question-actions .btn.secondary{color:#1a73e8!important;box-shadow:none!important;background:0 0!important;border:none!important;font-weight:500!important;transform:none!important}.auth-shell.login-ux-shell .login-ux-stage-question .login-ux-question-actions .btn.secondary:hover,.auth-shell.login-ux-shell .login-ux-stage-question .login-ux-question-actions .btn.secondary:focus-visible{color:#1a73e8!important;box-shadow:none!important;background:#1a73e81c!important;border:none!important;transform:none!important}@media (min-width:768px) and (max-width:1024px){.auth-shell.login-ux-shell{align-content:center;justify-items:center}.auth-shell.login-ux-shell .login-ux-card{margin-inline:auto}}@media (max-width:767px){.auth-shell.login-ux-shell{align-content:stretch;justify-items:stretch;width:100%;max-width:none;min-height:100dvh;padding:0!important}.auth-shell.login-ux-shell .login-ux-card,.auth-shell.login-ux-shell .login-ux-card.auth-login-card,.auth-shell.login-ux-shell .login-ux-card.is-stage-question,.auth-shell.login-ux-shell .login-ux-card.is-stage-about,.auth-shell.login-ux-shell .login-ux-card.is-stage-form-student,.auth-shell.login-ux-shell .login-ux-card.is-stage-form-webvpn,.auth-shell.login-ux-shell .login-ux-card.is-stage-form-edu,.auth-shell.login-ux-shell .login-ux-card.is-stage-form-qq{width:100vw!important;max-width:none!important;min-height:100dvh!important;padding:22px 18px calc(20px + env(safe-area-inset-bottom))!important;border-radius:0!important;margin:0!important}.auth-shell.login-ux-shell .login-ux-brand-row{justify-content:flex-start!important;margin-bottom:22px!important}.auth-shell.login-ux-shell .login-ux-brand-target{width:min(150px,42vw)!important;margin-inline:0!important}.auth-shell.login-ux-shell .login-ux-question-actions{flex-flow:row!important;justify-content:flex-end!important;align-items:center!important}.auth-shell.login-ux-shell .login-ux-question-actions .btn{white-space:nowrap;width:auto!important;min-width:0!important}.auth-shell.login-ux-shell .login-ux-stage-actions,.auth-shell.login-ux-shell .login-ux-consent-actions,.auth-shell.login-ux-shell .login-ux-form .auth-actions,.auth-shell.login-ux-shell .login-ux-inline-actions{flex-flow:row!important;justify-content:flex-start!important;align-items:center!important;gap:10px!important}.auth-shell.login-ux-shell .login-ux-stage-actions .btn,.auth-shell.login-ux-shell .login-ux-consent-actions .btn,.auth-shell.login-ux-shell .login-ux-form .auth-actions .btn,.auth-shell.login-ux-shell .login-ux-inline-actions .btn,.auth-shell.login-ux-shell .login-ux-stage-actions a.btn,.auth-shell.login-ux-shell .login-ux-consent-actions a.btn,.auth-shell.login-ux-shell .login-ux-form .auth-actions a.btn,.auth-shell.login-ux-shell .login-ux-inline-actions a.btn{white-space:nowrap!important;width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}.auth-shell.login-ux-shell .login-ux-stage-actions .btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-consent-actions .btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-form .auth-actions .btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-inline-actions .btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-stage-actions a.btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-consent-actions a.btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-form .auth-actions a.btn:not(.ghost):not(.secondary):not(.login-ux-text-btn),.auth-shell.login-ux-shell .login-ux-inline-actions a.btn:not(.ghost):not(.secondary):not(.login-ux-text-btn){margin-left:auto!important}.auth-shell.login-ux-shell .auth-body.login-ux-body{min-height:calc(100dvh - 132px - env(safe-area-inset-bottom));gap:14px;flex-direction:column!important;place-content:normal center!important;align-items:stretch!important;display:flex!important}}.login-ux-qq-entry{color:#1a73e8;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:13px;line-height:1.4;text-decoration:underline}.login-ux-qq-entry:hover,.login-ux-qq-entry:focus-visible{color:#185abc}.login-ux-consent-overlay{z-index:10030}.login-ux-consent-dialog.modal.modal-course-detail.qq-bind-modal{gap:10px;width:min(92vw,430px);max-width:430px;max-height:min(78vh,420px);padding:14px 14px 12px}.login-ux-consent-dialog-head{min-height:28px}.login-ux-consent-title{color:#2b3f5f;font-size:14px;font-weight:600;line-height:1.45}.login-ux-consent-content{padding:2px 2px 0}.login-ux-consent-copy{color:#6f84a3;margin:0;font-size:13px;line-height:1.58}.login-ux-consent-copy a{color:#2f56cd;text-underline-offset:2px;text-decoration:underline}.login-ux-consent-copy a:hover,.login-ux-consent-copy a:focus-visible{color:#24439e}.login-ux-consent-actions{justify-content:flex-end;gap:10px;margin-top:2px;display:flex}.login-ux-consent-dialog .login-ux-consent-actions{flex-direction:row!important;justify-content:flex-end!important;align-items:center!important}.login-ux-consent-dialog .login-ux-consent-actions .btn,.login-ux-consent-dialog .login-ux-consent-actions a.btn{width:auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}.login-ux-step-badge{color:#3c4043;background:#f8fbff;border:1px solid #d2e3fc;border-radius:999px;align-self:flex-start;margin-inline:8px;padding:4px 10px;font-size:12px;line-height:1.2;display:inline-flex}.login-ux-inline-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.login-ux-inline-actions-bottom{gap:10px;width:100%;margin-top:auto;margin-bottom:0;padding-top:10px;justify-content:flex-end!important}.login-ux-qq{flex-direction:column;width:min(620px,100%);min-height:292px;margin:0;display:flex}.login-ux-qq-intro{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;width:100%;max-width:520px;margin:0 auto;display:flex}.login-ux-qq-intro-copy{color:#5f6368;text-align:left;max-width:40ch;margin:0;font-size:13px;line-height:1.6}.login-ux-qq-intro-actions{justify-content:flex-start;display:flex}.login-ux-qq.is-error{align-items:stretch;gap:10px}.login-ux-shell .auth-error-card{color:#c5221f;text-shadow:none}.login-ux-shell .qq-loading{min-height:196px;box-shadow:none;background:#f8fbff;border:1px solid #e4e8ef;border-radius:16px}.login-ux-shell .qq-loading-text,.login-ux-shell .qq-status-tip,.login-ux-shell .qq-error-sub{color:#5f6368}.auth-shell.login-ux-shell .login-ux-qq .qq-error{text-align:left;flex-direction:column;align-items:flex-start;gap:6px;max-width:440px;min-height:0;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.auth-shell.login-ux-shell .login-ux-qq.is-error .qq-error{text-align:center;flex:1;justify-content:center;align-items:center;width:100%;max-width:none}.auth-shell.login-ux-shell .login-ux-qq.is-error .qq-error-title,.auth-shell.login-ux-shell .login-ux-qq.is-error .qq-error-sub{max-width:34ch}.auth-shell.login-ux-shell .login-ux-qq .qq-error-title{color:#c5221f;font-size:14px;font-weight:600;line-height:1.45}.auth-shell.login-ux-shell .login-ux-qq .qq-error-sub{color:#5f6368;font-size:13px;line-height:1.5}.auth-shell.login-ux-shell .login-ux-qq .qq-error-btn{color:#1a73e8;text-underline-offset:2px;background:0 0;border:none;width:auto;min-height:auto;padding:0;font-weight:500;line-height:1.4;text-decoration:underline;box-shadow:none!important;transform:none!important}.auth-shell.login-ux-shell .login-ux-qq .qq-error-btn:hover{color:#185abc;background:0 0;border:none;box-shadow:none!important;transform:none!important}.auth-shell.login-ux-shell .login-ux-qq .auth-qq-grid{flex:1;grid-template-columns:1fr;place-items:center;gap:12px;padding:10px 12px}.auth-shell.login-ux-shell .login-ux-qq .auth-qq-grid .login-ux-qq-qr-slot{grid-column:auto;justify-content:center;align-items:center;width:100%;display:flex}.login-ux-shell .qq-status{text-align:left;align-items:flex-start;transform:none}.login-ux-shell .qq-status-title{color:#202124;white-space:nowrap;font-weight:600}.login-ux-shell .qq-status-title.is-loading{color:#1a73e8}.login-ux-shell .qq-status-title.scanned,.login-ux-shell .qq-status-title.is-scanned{color:#b06000}.login-ux-shell .qq-status-title.is-success{color:#0f9d58}.login-ux-shell .qq-status-title.expired,.login-ux-shell .qq-status-title.error,.login-ux-shell .qq-status-title.rejected,.login-ux-shell .qq-status-title.is-alert{color:#c5221f}.auth-shell.login-ux-shell .login-ux-qq .qr-box{color:#5f6368;background:#fff;border:1px solid #d2e3fc;border-radius:16px;width:176px;height:176px;transition:border-color .22s cubic-bezier(.2,.78,.24,1),box-shadow .22s cubic-bezier(.2,.78,.24,1),transform .22s cubic-bezier(.2,.78,.24,1);box-shadow:0 1px 2px #2021241a}.auth-shell.login-ux-shell .login-ux-qq .auth-qq-grid .qr-box{justify-self:center!important;margin:0!important}.auth-shell.login-ux-shell .login-ux-qq .qr-box.clickable:hover{border-color:#1a73e8;transform:translateY(-1px)scale(1.01);box-shadow:0 4px 14px #1a73e833}@media (max-width:767px){.login-ux-shell{padding:12px 8px}.login-ux-card,.login-ux-card.auth-login-card{border-radius:16px;width:min(100%,100vw - 16px);min-height:auto;padding:16px}.login-ux-card.is-stage-question,.login-ux-card.is-stage-about,.login-ux-card.is-stage-form-student,.login-ux-card.is-stage-form-webvpn,.login-ux-card.is-stage-form-edu,.login-ux-card.is-stage-form-qq{width:min(100%,100vw - 16px);min-height:auto}.login-ux-brand-row{justify-content:flex-start}.login-ux-brand-target{width:min(132px,36vw)}.login-ux-stage{gap:12px;width:100%}.login-ux-stage-title{font-size:28px}.login-ux-stage-actions,.login-ux-consent-actions,.login-ux-form .auth-actions{flex-direction:column;align-items:stretch}.login-ux-stage-actions .btn,.login-ux-consent-actions .btn,.login-ux-form .auth-actions .btn{width:100%}.login-ux-question-actions{flex-flow:row;justify-content:flex-end;align-items:center;gap:10px}.login-ux-question-actions .btn{white-space:nowrap;width:auto;min-width:0}.login-ux-question-actions .btn.secondary{color:#5f6368;box-shadow:none;background:0 0;border:none;padding:0 10px;font-weight:500;transform:none}.login-ux-inline-actions{justify-content:stretch}.login-ux-inline-actions .btn{width:100%}.auth-shell.login-ux-shell .login-ux-qq .auth-qq-grid{grid-template-columns:1fr;gap:12px;padding:8px 10px}.auth-shell.login-ux-shell .login-ux-qq .auth-qq-grid .qr-box{justify-self:center}.auth-shell.login-ux-shell .login-ux-qq .auth-qq-grid .login-ux-qq-qr-slot{grid-column:auto}.login-ux-shell .qq-status{text-align:center;align-items:center}}@media (max-width:460px){.login-ux-stage-title{font-size:24px;line-height:1.22}.login-ux-about-copy{font-size:13px;line-height:1.62}}.bg-orb{opacity:.16;filter:blur(24px);pointer-events:none;z-index:0;border-radius:999px;animation:10s ease-in-out infinite float;position:fixed}.orb-1{background:#3b1f88;width:420px;height:420px;top:-120px;right:-120px}.orb-2{background:#2b165a;width:320px;height:320px;animation-delay:1.5s;bottom:-80px;left:-80px}.orb-3{background:#5126b8;width:220px;height:220px;animation-delay:3s;top:30%;left:55%}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#191226d9;padding:22px 24px;position:relative}.panel:before{content:"";border-radius:calc(var(--radius-lg) - 6px);pointer-events:none;border:1px solid #1f7ac91f;position:absolute;inset:8px}.panel:after{content:"";opacity:.5;pointer-events:none;border:1px solid #1f7ac94d;border-radius:10px;width:32px;height:32px;animation:8s linear infinite spin;position:absolute;top:12px;right:12px}.app .panel:after{display:none}.panel.card{transition:transform var(--mid)var(--ease-out),border-color var(--mid)var(--ease-out),box-shadow var(--mid)var(--ease-out);background:#1e1630d9}.view-panel{box-shadow:none;background:0 0;border:none;padding:0;overflow:visible}.view-panel:before,.view-panel:after{display:none}.view-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.view-title{letter-spacing:1px;font-size:16px}.view-sub{display:none}.view-head.no-title-head{justify-content:flex-end}.view-head.no-title-head>:first-child{display:none}.view-actions{flex-wrap:wrap;gap:10px;display:flex}.view-body{gap:16px;display:grid}.view-stage{min-height:calc(100vh - 220px);position:relative}.view-stage.is-loading{overflow:hidden}.view-loading-panel{text-align:center;z-index:2;opacity:1;place-content:center;justify-items:center;gap:12px;min-height:100%;transition:opacity .52s cubic-bezier(.2,.65,.2,1),transform .52s cubic-bezier(.2,.65,.2,1);display:grid;position:absolute;inset:0;transform:translateY(0)scale(1)}.view-loading-panel.is-leaving{opacity:0;pointer-events:none;transform:translateY(-12px)scale(.992)}.view-content-shell{z-index:1;opacity:0;transition:opacity .46s cubic-bezier(.2,.65,.2,1),transform .46s cubic-bezier(.2,.65,.2,1);position:relative;transform:translateY(14px)}.view-content-shell.is-ready{opacity:1;transform:translateY(0)}.view-content-shell.is-waiting{pointer-events:none;visibility:hidden;position:absolute;inset:0}.view-loading-icon{border:3px solid #1f7ac947;border-top-color:#9b7bfff2;border-radius:999px;width:44px;height:44px;animation:.9s linear infinite spin;box-shadow:0 0 24px #1f7ac959}.view-loading-text{letter-spacing:.4px;font-size:15px}.view-loading-sub{color:var(--muted);font-size:12px}.app .view-panel{box-shadow:none;background:0 0;border:none;padding:0}.app .view-panel:before,.app .view-panel:after{display:none}.home-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr);gap:16px;display:grid}.home-shell{gap:16px;display:grid}.home-banner{box-shadow:none;background:0 0;border:none;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 18px 16px;animation:.6s both fadeUp;display:flex}.home-greet-title{letter-spacing:.42px;color:#1f2f4b;font-size:20px;font-weight:700}.home-greet-sub{color:#5b6d87;margin-top:4px;font-size:12px}.home-banner-side{white-space:nowrap;flex-wrap:nowrap;justify-content:flex-end;align-self:flex-end;align-items:center;gap:8px;display:inline-flex}.home-banner-side .badge{min-height:21px;padding:2px 10px;font-size:11px;line-height:1.35}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.home-col{align-content:start;gap:16px;min-height:0;display:grid}.home-card{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%);border:1px solid #d6e3f5;border-radius:18px;gap:12px;padding:16px 18px;animation:.6s both fadeUp;display:grid;box-shadow:0 10px 24px #193d671f}.home-card-profile{background:#0e0b1aeb;border-color:#1f7ac947;align-self:start;position:relative;overflow:hidden}.home-card-profile:before{content:"";filter:blur(4px);background:#1f7ac924;border-radius:999px;width:150px;height:150px;position:absolute;top:-46px;right:-46px}.home-card-profile>*{z-index:1;position:relative}.home-card-title{letter-spacing:1px;color:#1f2f4b;align-items:center;gap:8px;font-size:15px;display:flex}.home-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.home-card-head .home-card-title{flex:auto;min-width:0;display:block}.home-card-tag{color:#3061aa;background:#5387dc1a;border:1px solid #c7d7fb;border-radius:999px;flex:none;padding:4px 8px;font-size:11px}.home-card-meta{color:#6b7b95;margin-left:auto;font-size:11px}.home-list{gap:10px;display:grid}.home-empty-copy{font-size:12px;line-height:1.55}.home-item{transition:border-color var(--fast)var(--ease-out),background-color var(--fast)var(--ease-out);background:#f8fcfff0;border:1px solid #d6e3f5;border-radius:12px;padding:10px 12px}.home-item:hover{background:#f3f8ff;border-color:#bfd5f2}.home-item-trigger{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit}.home-item-title{font-size:13px}.home-item-sub{color:var(--muted);margin-top:4px;font-size:11px}.home-more{justify-content:center;width:100%}.home-profile-head{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.home-profile-avatar{color:#f8f7ff;background:#6f4cd7f0;border-radius:14px;place-items:center;width:44px;height:44px;font-size:18px;font-weight:700;display:grid;box-shadow:0 10px 24px #32186c6b}.home-profile-main{gap:3px;display:grid}.home-profile-name{letter-spacing:.3px;font-size:17px}.home-profile-id{color:var(--muted);font-size:12px}.home-profile-chip{white-space:nowrap}.home-profile-ribbon{color:#dcd4fff2;background:#140e22a3;border:1px solid #1f7ac93d;border-radius:10px;padding:8px 10px;font-size:12px}.home-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.home-profile-item{background:#0a091494;border:1px solid #1f7ac929;border-radius:12px;gap:6px;padding:10px 12px;display:grid}.home-profile-item span{color:var(--muted);font-size:11px}.home-profile-item strong{font-size:14px;font-weight:600}.hero-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#120c20e6;padding:18px 20px;position:relative;overflow:hidden}.hero-card:after{content:"";pointer-events:none;background:#1f7ac914;border-radius:999px;animation:10s ease-in-out infinite drift;position:absolute;inset:-50% -30%}.hero-card>*{z-index:1;position:relative}.hero-title{margin-bottom:6px;font-size:26px}.hero-meta{color:var(--muted);font-size:13px}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.kpi-card{border-radius:var(--radius);border:1px solid var(--border);transition:transform var(--mid)var(--ease-out),border-color var(--mid)var(--ease-out);background:#140e22d9;padding:14px 16px;animation:.6s both fadeUp}.kpi-label{color:var(--muted);font-size:12px}.kpi-value{margin-top:6px;font-size:20px}.kpi-card:hover{border-color:#1f7ac966;transform:translateY(-3px)}.quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.notice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.board{border-radius:var(--radius-lg);border:1px solid var(--border);background:#120c1ee6;flex-direction:column;gap:12px;padding:16px;display:flex}.board-title{letter-spacing:.5px;font-size:16px}.board-list{gap:12px;display:grid}.board-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel);transition:transform var(--mid)var(--ease-out),border-color var(--mid)var(--ease-out),box-shadow var(--mid)var(--ease-out);gap:10px;padding:12px 14px;display:grid}.board-item-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.board-item-title{color:var(--text);margin:0;font-size:16px;line-height:1.4}.board-item-time{color:var(--muted);border:1px solid var(--border);background:#ffffffe6;border-radius:999px;flex-shrink:0;padding:2px 10px;font-size:12px;line-height:1.4}.board-item-divider{background:linear-gradient(90deg,#1f7ac93d,#1f7ac90f);width:100%;height:1px}.notice-content-markdown{gap:10px;display:grid}.board-item-trigger{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit}.notice-grid .board.notice-board{gap:10px;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.notice-grid .board.notice-board .board-title{letter-spacing:.2px;padding:0 4px 2px;font-size:17px}.notice-grid .board.notice-board .board-list{gap:10px}.board-empty{text-align:center;justify-content:center;align-items:center;min-height:88px;display:flex}.notice-item-card{border-radius:16px;gap:10px;padding:14px 16px;position:relative;overflow:hidden;background:linear-gradient(150deg,#fffffff7 0%,#f7fcfff2 100%)!important;border:1px solid #dbe4f2!important;box-shadow:0 10px 22px #193d671a!important}.notice-item-card:before{content:"";pointer-events:none;background:radial-gradient(110% 130% at 100% 0,#5a92f224,#0000 62%);position:absolute;inset:0}.notice-item-card>*{z-index:1;position:relative}.notice-item-card:hover{border-color:#dbe4f2!important;transform:none!important;box-shadow:0 10px 22px #193d671a!important}.notice-item-card:focus-visible{outline:none;border-color:#c2d4ee!important;box-shadow:0 0 0 3px #2f7fd61f,0 10px 22px #193d671a!important}.notice-item-card .board-item-title{font-size:15px;line-height:1.42}.notice-item-card .board-item-time{color:#4f688d;background:#4a86e11c;border-color:#5992e240}.notice-item-card .board-item-divider{background:linear-gradient(90deg,#5992e242,#5992e20a)}.notice-card-preview-markdown{pointer-events:none;min-height:84px;max-height:138px;padding-right:2px;position:relative;overflow:hidden}.notice-card-preview-markdown:after{content:"";background:linear-gradient(180deg,#fff0,var(--panel));height:34px;position:absolute;bottom:0;left:0;right:0}.markdown.notice-card-preview-markdown h1{margin:0 0 6px;font-size:16px}.markdown.notice-card-preview-markdown h2{margin:0 0 6px;font-size:15px}.markdown.notice-card-preview-markdown h3{margin:0 0 6px;font-size:14px}.markdown.notice-card-preview-markdown h4,.markdown.notice-card-preview-markdown h5,.markdown.notice-card-preview-markdown h6{margin:0 0 6px;font-size:13px}.markdown.notice-card-preview-markdown p,.markdown.notice-card-preview-markdown li{margin:0 0 6px;font-size:12px;line-height:1.65}.markdown.notice-card-preview-markdown ul,.markdown.notice-card-preview-markdown ol{margin:0;padding-left:1.2em}.board-item-action{color:#2d5fae;justify-self:end;align-items:center;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.notice-content-markdown>:first-child{margin-top:0}.notice-content-markdown>:last-child{margin-bottom:0}.markdown.notice-content-markdown h1,.markdown.about-content-markdown h1{margin:0 0 6px;font-size:18px;line-height:1.35}.markdown.notice-content-markdown h2,.markdown.about-content-markdown h2{margin:0 0 6px;font-size:16px;line-height:1.4}.markdown.notice-content-markdown h3,.markdown.about-content-markdown h3{margin:0 0 6px;font-size:15px;line-height:1.45}.markdown.notice-content-markdown h4,.markdown.about-content-markdown h4{margin:0 0 6px;font-size:14px;line-height:1.45}.markdown.notice-content-markdown h5,.markdown.about-content-markdown h5{margin:0 0 6px;font-size:13px;line-height:1.45}.markdown.notice-content-markdown h6,.markdown.about-content-markdown h6{margin:0 0 6px;font-size:12px;line-height:1.45}.markdown.notice-content-markdown p,.markdown.about-content-markdown p,.markdown.notice-content-markdown li,.markdown.about-content-markdown li{margin:0 0 6px;font-size:13px;line-height:1.7}.markdown.notice-content-markdown ul,.markdown.about-content-markdown ul,.markdown.notice-content-markdown ol,.markdown.about-content-markdown ol{margin:0 0 6px;padding-left:1.2em}.markdown.notice-content-markdown blockquote,.markdown.about-content-markdown blockquote{margin:0}.notice-detail-modal{gap:10px;width:min(900px,94vw);max-height:min(84vh,820px);padding:16px;display:grid}.notice-detail-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.notice-detail-head-main{gap:6px;min-width:0;display:grid}.notice-detail-kind{height:22px;color:var(--muted);border:1px solid var(--border);background:#ffffffe0;border-radius:999px;justify-self:flex-start;align-items:center;padding:0 10px;font-size:12px;display:inline-flex}.notice-detail-kind.is-announcement{color:#1f6bb0;background:#1f7ac914;border-color:#1f7ac94d}.notice-detail-kind.is-ad{color:#9a5f1a;background:#c9892d1a;border-color:#c9892d59}.notice-detail-title{color:var(--text);margin:0;font-size:20px;line-height:1.35}.notice-detail-time{color:var(--muted);font-size:13px}.notice-detail-divider{margin:0}.notice-detail-content{min-height:0;padding-right:4px;overflow:auto}.notice-detail-content::-webkit-scrollbar{width:6px}.notice-detail-content::-webkit-scrollbar-thumb{background:#6c789052;border-radius:999px}.notice-detail-content::-webkit-scrollbar-track{background:0 0}.notice-detail-content .notice-content-markdown{gap:12px}.board-item:hover{border-color:#1f7ac94d;transform:translateY(-3px);box-shadow:0 12px 24px #193d671a}.filter-card{border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color var(--mid)var(--ease-out),box-shadow var(--mid)var(--ease-out);background:#120c1ed9;padding:16px;animation:.6s both fadeUp}.filter-card:hover{border-color:#1f7ac959;box-shadow:0 12px 24px #0c0a1880}.table-card{border-radius:var(--radius-lg);border:1px solid var(--border);transition:border-color var(--mid)var(--ease-out),box-shadow var(--mid)var(--ease-out);background:#100a1ad9;padding:12px;animation:.6s both fadeUp;overflow:auto}.table-card:hover{border-color:#1f7ac959;box-shadow:0 12px 24px #0c0a1880}.log-box{border-radius:var(--radius);color:var(--muted);white-space:pre-wrap;background:#0c0814cc;border:1px solid #1f7ac933;margin-top:10px;padding:12px}.grab-layout{flex-direction:column;gap:16px;display:flex}.grab-task-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.grab-task-title{color:#1f2b40;font-size:14px;font-weight:700}.grab-task-log-btn{color:inherit;cursor:pointer;width:fit-content;transition:color var(--fast)var(--ease-out);border-radius:0;align-items:center;gap:8px;margin-left:auto;padding:0;display:inline-flex;box-shadow:none!important;background:0 0!important;border:none!important;transform:none!important}.grab-task-log-btn:hover{box-shadow:none!important;background:0 0!important;border:none!important;transform:none!important}.grab-task-log-btn:focus-visible{outline:none;box-shadow:none!important;border:none!important}.grab-task-log-state{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#fff3;border:1px solid #ffffff57;border-radius:999px;align-items:center;max-width:190px;min-height:20px;padding:0 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.grab-task-log-text{letter-spacing:.01em;min-height:20px;color:var(--accent);box-shadow:none;transition:transform var(--fast)var(--ease-out),background var(--fast)var(--ease-out),border-color var(--fast)var(--ease-out);background:#1f7ac91a;border:1px solid #1f7ac957;border-radius:999px;align-items:center;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.grab-task-log-btn:hover .grab-task-log-text{background:#1f7ac929;border-color:#1f7ac96b;transform:translateY(-1px)}.grab-task-log-btn.is-running .grab-task-log-state{color:var(--accent);background:#1f7ac91f;border-color:#1f7ac966}.grab-task-log-btn.is-queued .grab-task-log-state{color:var(--warning);background:#c9892d1f;border-color:#c9892d6b}.grab-task-log-btn.is-success .grab-task-log-state{color:var(--success);background:#1d9f781f;border-color:#1d9f786b}.grab-task-log-btn.is-failed .grab-task-log-state,.grab-task-log-btn.is-canceled .grab-task-log-state{color:var(--danger);background:#d055701f;border-color:#d055706b}.grab-task-log-btn.is-failed,.grab-task-log-btn.is-canceled,.grab-task-log-btn.is-queued{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:0!important;transform:none!important}.grab-task-log-btn.is-failed:hover,.grab-task-log-btn.is-canceled:hover,.grab-task-log-btn.is-queued:hover{box-shadow:none!important;background:0 0!important;border:none!important;transform:none!important}.grab-task-log-btn.is-failed:hover .grab-task-log-text,.grab-task-log-btn.is-canceled:hover .grab-task-log-text,.grab-task-log-btn.is-queued:hover .grab-task-log-text{transform:none}.select-grab-task-stage-viewport{will-change:height;border-radius:0;transition:height .24s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.select-grab-task-stage{width:100%;min-height:0;display:block;position:relative}.select-grab-task-stage.is-task,.select-grab-task-stage.is-log{transform:none}.select-grab-task-stage-panel{box-sizing:border-box;width:100%;min-height:0;transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .26s var(--ease-out);will-change:transform,opacity;align-content:start;gap:12px;padding:0;display:grid}.select-grab-task-stage-panel[aria-hidden=true]{visibility:hidden;opacity:0;pointer-events:none;position:absolute;inset:0}.select-grab-task-stage-panel[aria-hidden=false]{opacity:1;visibility:visible;position:relative}.select-grab-task-stage.is-task .select-grab-task-stage-panel:first-child{transform:translate(0)}.select-grab-task-stage.is-task .select-grab-task-stage-panel:last-child{transform:translate(100%)}.select-grab-task-stage.is-log .select-grab-task-stage-panel:first-child{transform:translate(-100%)}.select-grab-task-stage.is-log .select-grab-task-stage-panel:last-child{transform:translate(0)}.grab-log-stage-box.grab-log-box{height:clamp(132px,42vh,188px);min-height:clamp(132px,42vh,188px);max-height:clamp(132px,42vh,188px);margin:0;overflow-y:auto;box-shadow:none!important;background:#fafdffeb!important;border:1px dashed #d7e4f2!important;border-radius:12px!important;padding:10px!important}.grab-log-stage-actions{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s var(--ease-out),visibility 0s linear .22s;justify-content:flex-end;margin-top:auto}.grab-log-stage-actions.is-ready{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .22s var(--ease-out),visibility 0s linear 0s}.grab-log-stage-toggle-btn{min-width:108px;transition:background .26s var(--ease-out),border-color .26s var(--ease-out),color .26s var(--ease-out),opacity .22s var(--ease-out);border-radius:999px;overflow:hidden;box-shadow:none!important;border:1px solid #0000!important;transform:none!important}.grab-log-stage-toggle-btn.is-back{color:#4f627f!important;box-shadow:none!important;background:linear-gradient(#fff 0%,#f5f9ff 100%)!important;border:1px solid #c9d9ee!important}.grab-log-stage-toggle-btn.is-back:hover{color:#425775!important;background:linear-gradient(#fff 0%,#eef6ff 100%)!important;border-color:#b7cce7!important}.grab-log-stage-toggle-btn.is-cancel{color:#b84d66!important;box-shadow:none!important;background:linear-gradient(#fff7f8 0%,#fff1f3 100%)!important;border:1px solid #e9bfcb!important}.grab-log-stage-toggle-btn.is-cancel:hover:not(:disabled){color:#ac425c!important;background:linear-gradient(#fff9fa 0%,#ffedf1 100%)!important;border-color:#e2a8b8!important}.grab-log-stage-toggle-btn:disabled{opacity:.72;cursor:not-allowed;box-shadow:none!important;transform:none!important}.grab-log-stage-toggle-btn.is-syncing{opacity:0;pointer-events:none;transform:none!important}.grab-log-stage-toggle-btn.is-cancel:disabled,.grab-log-stage-toggle-btn.is-cancel:disabled:hover,.grab-log-stage-toggle-btn.is-cancel:disabled:focus-visible{color:#b84d66!important;box-shadow:none!important;background:linear-gradient(#fff7f8 0%,#fff1f3 100%)!important;border-color:#e9bfcb!important}.grab-log-stage-toggle-btn.is-back:disabled,.grab-log-stage-toggle-btn.is-back:disabled:hover,.grab-log-stage-toggle-btn.is-back:disabled:focus-visible{color:#4f627f!important;box-shadow:none!important;background:linear-gradient(#fff 0%,#f5f9ff 100%)!important;border-color:#c9d9ee!important}.grab-log-stage-toggle-text{animation:grabLogStageToggleTextIn .24s var(--ease-out);display:inline-block}.grab-action-switch-text{justify-content:center;align-items:center;gap:6px;animation:.3s cubic-bezier(.22,1,.36,1) grabActionSwitchIn;display:inline-flex}.grab-action-switch-text.is-loading:before{content:"";opacity:.72;border:1.5px solid;border-right-color:#0000;border-radius:50%;width:10px;height:10px;animation:.76s linear infinite grabActionSwitchSpin}.btn.grab-confirm-btn,.btn.grab-confirm-btn:hover,.btn.grab-confirm-btn:focus-visible,.btn.grab-confirm-btn:active{box-shadow:none!important;transform:none!important}.select-result-stage{--select-result-stage-max-height:960px;max-height:var(--select-result-stage-max-height);opacity:1;pointer-events:auto;will-change:max-height,opacity,transform;transition:max-height .5s cubic-bezier(.22,1,.36,1),opacity .26s var(--ease-out),transform .5s cubic-bezier(.22,1,.36,1);gap:12px;display:grid;overflow:hidden;transform:translate(0)}.select-result-stage.is-entering{transition-duration:.72s,.46s,.72s;transition-delay:.16s,.16s,.16s}.select-result-stage.is-hidden{opacity:0;pointer-events:none;transform:translate(-28px);max-height:0!important}@keyframes grabLogStageToggleTextIn{0%{opacity:0;filter:blur(1px);transform:translateY(5px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes grabActionSwitchIn{0%{opacity:0;filter:blur(1px);transform:translateY(4px)scale(.98)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes grabActionSwitchSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.filter-card.grab-topbar-card{transition:border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),background-color var(--fast)var(--ease-out);background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%);border:1px solid #d6e3f5;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;padding:16px 18px;display:flex;overflow:hidden;box-shadow:0 10px 24px #193d671f}.filter-card.grab-topbar-card:hover{border-color:#bfd5f2;box-shadow:0 14px 28px #193d6729}.grab-topbar-meta{gap:8px;width:100%;min-width:0;display:grid}.grab-topbar-item{background:#f8fcffeb;border:1px solid #d9e5f2;border-radius:12px;gap:4px;min-width:0;padding:8px 10px;display:grid}.grab-topbar-label{color:var(--muted);letter-spacing:.01em;font-size:11px;font-weight:700}.grab-topbar-value{color:var(--text);white-space:normal;flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;font-weight:600;line-height:1.3;display:flex}.grab-topbar-value-main{color:inherit}.grab-topbar-value-note{color:var(--muted);font-weight:500}.grab-topbar-value.is-normal{color:var(--accent)}.grab-topbar-value.is-sponsor{color:#4a68d0}.grab-topbar-value.is-free{color:var(--success)}.grab-topbar-value.is-warn{color:var(--warning)}.grab-topbar-value.is-full,.grab-topbar-value.is-closed{color:var(--danger)}.filter-card.grab-task-card{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%);border:1px solid #d6e3f5;border-radius:18px;flex-direction:column;gap:14px;padding:16px 18px;transition:none;display:flex;overflow:hidden;box-shadow:0 10px 24px #193d671f}.grab-advanced-btn{flex-shrink:0;align-self:center;min-width:96px;margin-left:auto}.grab-form-grid{grid-template-columns:minmax(0,340px) max-content;justify-content:start;align-items:end;gap:12px 10px;display:grid}.grab-mode-field,.grab-course-field{margin:0}.grab-mode-field{align-self:end;width:min(100%,248px);min-width:0}.grab-start-mode{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.grab-start-mode .selected-filter-chip{text-align:center;flex:1 1 0;justify-content:center;width:100%;min-width:0}.grab-start-time-input{box-sizing:border-box;caret-color:#0000;width:fit-content;min-width:0}.grab-start-time-control{width:100%;min-width:0;max-width:100%;height:42px;padding-left:.74rem;padding-right:var(--grab-time-display-right);--grab-time-icon-size:13px;--grab-time-icon-right:.5rem;--grab-time-display-right:calc(var(--grab-time-icon-size) + var(--grab-time-icon-right) + .36rem);background:linear-gradient(#fff 0%,#f9fcff 100%);border:1px solid #c6d7ee;border-radius:14px;align-items:center;display:flex;position:relative;box-shadow:inset 0 1px #ffffffe6}.grab-start-time-control:focus-within{border-color:#ced9ee}.grab-start-time-display{color:#3e536f;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-size:13px;line-height:1;display:block;position:static;overflow:hidden}.field .grab-start-time-control:after{content:"";right:var(--grab-time-icon-right);width:var(--grab-time-icon-size);height:var(--grab-time-icon-size);pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23586c89' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='3' ry='3'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;position:absolute;top:50%;transform:translateY(-50%)}.grab-start-time-input:focus,.grab-start-time-input:focus-visible{box-shadow:none!important;border-color:#ced9ee!important;outline:none!important;transform:none!important}.grab-start-time-wrap{opacity:0;pointer-events:none;width:100%;min-height:0;max-height:0;transition:max-height .24s cubic-bezier(.22,1,.36,1),margin-top .24s cubic-bezier(.22,1,.36,1),opacity .14s var(--ease-out),transform .24s cubic-bezier(.22,1,.36,1),filter .22s var(--ease-out);filter:saturate(.8);justify-content:flex-start;align-items:flex-start;margin-top:0;transition-delay:0s,0s,0s,0s,0s;display:flex;overflow:hidden;transform:translateY(-2px)}.grab-start-time-wrap.is-open{opacity:1;pointer-events:auto;filter:saturate();min-height:42px;max-height:42px;margin-top:2px;transition-delay:0s,0s,90ms,90ms,0s;transform:translateY(0)}@media (min-width:768px){.grab-start-time-wrap{min-height:42px;max-height:42px;transition:opacity .16s var(--ease-out),filter .22s var(--ease-out);margin-top:2px;transition-delay:0s,0s;transform:translateY(0)}.grab-start-time-wrap.is-open{transition-delay:0s,0s}}.grab-action-bar{margin-top:4px}.field.grab-course-field textarea{resize:vertical;letter-spacing:.01em;background:linear-gradient(#fff 0%,#f9fcff 100%);border-color:#c6d7ee;border-radius:16px;width:100%;max-width:340px;min-height:78px;max-height:120px;line-height:1.5;box-shadow:inset 0 1px #ffffffe6}.field.grab-course-field textarea::placeholder{color:#8a9ab4;letter-spacing:.01em}.field.grab-course-field textarea:focus,.field.grab-course-field textarea:focus-visible,.field.grab-course-field textarea:active{box-shadow:none!important;border-color:#ced9ee!important;outline:none!important;transform:none!important}.grab-status-badge{border:1px solid var(--border);background:var(--panel-2);color:var(--text);animation:fadeUp .28s var(--ease-out)both;transition:border-color var(--fast)var(--ease-out),background var(--fast)var(--ease-out),color var(--fast)var(--ease-out),transform var(--fast)var(--ease-out);border-radius:999px;align-items:center;gap:0;padding:6px 12px;display:inline-flex}.grab-status-badge:hover{transform:none}.grab-status-badge-label{letter-spacing:.02em;opacity:.75;font-size:10px}.grab-status-badge-value{letter-spacing:.02em;font-size:11px;font-weight:600}.grab-status-badge.is-running{color:var(--accent);background:#1f7ac91f;border-color:#1f7ac966}.grab-status-badge.is-queued{color:var(--warning);background:#c9892d1f;border-color:#c9892d66}.grab-status-badge.is-success{color:var(--success);background:#1d9f781f;border-color:#1d9f786b}.grab-status-badge.is-failed{color:var(--danger);background:#d055701f;border-color:#d055706b}.grab-status-badge.is-canceled{color:var(--muted);background:#6c789024;border-color:#6c78905c}.table-card.grab-log-card{transition:border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),background-color var(--fast)var(--ease-out);background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%);border:1px solid #d6e3f5;border-radius:18px;flex-direction:column;gap:12px;padding:14px 16px;display:flex;overflow:hidden;box-shadow:0 10px 24px #193d671f}.table-card.grab-log-card:hover{border-color:#bfd5f2;box-shadow:0 14px 28px #193d6729}.grab-log-head{border-bottom:1px dashed #d6e1ef;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;display:flex}.grab-log-status{flex-shrink:0}.grab-log-status .grab-status-badge-label{font-size:9px}.grab-log-status .grab-status-badge-value{font-size:10px}.grab-log-box{box-shadow:none;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;opacity:1;background:0 0;border:none;border-radius:0;flex-direction:column;gap:6px;height:186px;min-height:186px;max-height:186px;margin-top:0;padding:2px 2px 0;line-height:1.5;display:flex;overflow-y:auto;transform:translateY(0)}.grab-log-box.log-box{box-shadow:none!important;background:0 0!important;border:none!important}.grab-log-box::-webkit-scrollbar{width:0;height:0}.grab-log-box.is-refreshing{animation:none}.grab-log-line{color:var(--muted);transition:color var(--fast)var(--ease-out);opacity:0;animation:grabLogLineIn .28s var(--ease-out)forwards;padding:3px 1px;font-size:12px;transform:translateY(5px)}.grab-log-line.is-success{color:var(--success)}.grab-log-line.is-warn{color:var(--warning)}.grab-log-line.is-error{color:var(--danger)}.grab-log-empty{text-align:center;opacity:1;flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;margin-top:0;display:flex;transform:translateY(0)}.grab-log-empty.is-refreshing{animation:none}@keyframes grabLogBoxIn{0%{opacity:.32;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes grabLogLineIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes grabLogEmptyIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.grab-advanced-modal{width:min(640px,94vw);overflow:visible!important}.grab-log-modal{width:min(760px,96vw);overflow:hidden!important}.grab-log-modal-body{flex-direction:column;gap:12px;min-height:0;display:flex}.grab-log-modal .grab-log-box{height:auto;min-height:220px;max-height:min(58vh,480px)}.grab-advanced-content{gap:12px;display:grid}.grab-advanced-section{background:linear-gradient(#fffffff0 0%,#f7fbffe6 100%);border:1px solid #d7e3f1;border-radius:14px;padding:12px 13px;box-shadow:0 6px 14px #193d6714}.grab-advanced-field{gap:8px;display:grid}.grab-advanced-section.grab-advanced-field{box-shadow:none;background:0 0;border:none;padding:12px 13px}.grab-advanced-label{color:var(--text);flex-wrap:wrap;gap:2px 4px;font-weight:500;line-height:1.35;display:flex}.grab-term-select{width:100%;min-width:0;max-width:100%;display:block;flex:auto!important;align-self:stretch!important;height:auto!important;overflow:visible!important}.grab-term-select .gx-select-trigger,.grab-term-select .gx-select-native-control{width:100%;min-width:0;max-width:none;padding-right:34px;position:relative}.grab-term-select .gx-select-value{text-overflow:ellipsis;overflow:hidden}.grab-term-select.open{z-index:120}.grab-term-select .gx-select-menu{width:100%;min-width:100%;max-width:none;left:0;right:0}.grab-advanced-label-main{color:#1f2b40;font-size:13px;font-weight:700}.grab-advanced-label-tip{color:#c44a67;font-size:12px;font-weight:600}.grab-reset-card{justify-content:space-between;align-items:center;gap:12px;margin-top:0;display:flex}.grab-reset-content{gap:4px;min-width:0;display:grid}.grab-reset-title{color:#1f2b40;font-size:13px;font-weight:700}.grab-reset-desc{color:#6b7b95;font-size:12px;line-height:1.45}.grab-reset-btn{white-space:nowrap;align-self:center;width:fit-content}@media (max-width:980px){.grab-topbar-card{flex-direction:column;align-items:stretch}.grab-form-grid{grid-template-columns:1fr}.grab-mode-field{width:min(100%,248px)}.grab-log-box{max-height:320px}}@media (max-width:640px){.select-grab-task-stage-panel{padding:0}.grab-task-head{flex-flow:row;justify-content:space-between;align-items:center;gap:8px}.grab-task-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.grab-task-log-btn{white-space:nowrap;flex:none;margin-left:8px}.grab-advanced-btn{align-self:flex-start;width:fit-content;margin-left:0}.grab-log-head{flex-direction:column;align-items:stretch}.grab-log-status{width:fit-content}.grab-reset-card{gap:10px}.grab-reset-btn{width:fit-content}.grab-log-stage-actions{justify-content:stretch;width:100%}.grab-log-stage-actions .btn{flex:1 1 0}.grab-mode-field{width:min(100%,340px);max-width:340px}}@media (max-width:767px){.grab-mode-field{width:min(100%,340px);max-width:340px}}@media (max-width:460px){.grab-advanced-modal{width:min(96vw,380px)}.grab-advanced-section{padding:9px 10px}.grab-reset-card{flex-direction:column;align-items:stretch;gap:8px}.grab-reset-btn{width:100%}}.week-bar{box-shadow:none;background:0 0;justify-content:space-between;align-items:center;gap:14px;padding:0;display:flex}.week-bar-left{align-items:center;min-width:0;display:flex}.course-status-pill{background:#120d22a3;border:none;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 8px;padding:6px 10px;display:grid}.course-status-icon{background:#48348061;border-radius:999px;grid-row:1/3;justify-content:center;align-items:center;width:20px;height:20px;font-size:13px;line-height:1;display:inline-flex}.course-status-main{color:#efe6fff2;font-size:13px;font-weight:600;line-height:1.2}.course-status-tip{color:#b3a8d9eb;font-size:11px;line-height:1.25}.course-status-pill.warn .course-status-main{color:#f2c779}.course-status-pill.warn .course-status-icon{background:#78541a52}.course-status-pill.ok .course-status-main{color:#9be6c8}.course-status-pill.ok .course-status-icon{background:#266a5252}.week-bar-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.gx-select{flex:none;width:auto;min-width:0;position:relative}.course-term-select{flex:none;width:auto;min-width:0}.course-term-select .gx-select-trigger,.course-term-select .gx-select-native-control{width:max-content;min-width:calc(18ch + 40px);max-width:none}.course-term-select .gx-select-value{text-overflow:clip;overflow:visible}.course-week-select{flex:none;width:auto;min-width:0}.course-week-select .gx-select-trigger,.course-week-select .gx-select-native-control{width:auto;min-width:calc(5ch + 40px);padding-right:28px}.gx-select-trigger{color:#e9e3fcf5;width:auto;height:36px;font:inherit;letter-spacing:0;text-align:left;box-shadow:none;cursor:pointer;transition:border-color var(--fast)var(--ease-out),background var(--fast)var(--ease-out),opacity var(--fast)var(--ease-out);background:#18122af0;border:1px solid #5d489b8f;border-radius:12px;padding:0 34px 0 12px;font-size:13px;font-weight:500;line-height:1;position:relative}.gx-select-native-control{color:#e9e3fcf5;width:100%;height:36px;font:inherit;letter-spacing:0;box-shadow:none;appearance:none;background:#18122af0;border:1px solid #5d489b8f;border-radius:12px;outline:none;padding:0 34px 0 12px;font-size:13px;font-weight:500;line-height:1}.gx-select-native-control:focus-visible{border-color:#a791e9f2;box-shadow:0 0 0 2px #1f7ac933}.gx-select-native.disabled .gx-select-native-control{opacity:.58;cursor:not-allowed}.gx-select-trigger:hover{background:#1c1531f5;border-color:#8168c5c7}.gx-select-trigger:focus-visible{border-color:#a791e9f2;outline:none;box-shadow:0 0 0 2px #1f7ac933}.gx-select-value{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.gx-select-arrow{color:#c5bae8eb;pointer-events:none;transition:transform var(--fast)var(--ease-out),color var(--fast)var(--ease-out);font-size:12px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.gx-select.open .gx-select-arrow{color:#dbcffff2;transform:translateY(-50%)rotate(180deg)}.gx-select-menu{z-index:80;scrollbar-gutter:stable both-edges;scrollbar-width:none;-ms-overflow-style:none;background:#0e0b1bfa;border:1px solid #5a449a9e;border-radius:14px;max-height:240px;padding:7px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px #06040e85}.gx-select-menu::-webkit-scrollbar{width:0;height:0}.gx-select-option{text-align:left;color:#e9e2fff2;width:100%;font:inherit;cursor:pointer;transition:background var(--fast)var(--ease-out),color var(--fast)var(--ease-out);background:0 0;border:none;border-radius:10px;padding:9px 10px;font-size:13px;font-weight:500}.gx-select.disabled .gx-select-trigger,.gx-select-native.disabled .gx-select-native-control{opacity:.58;cursor:not-allowed}.week-bar-controls .btn.secondary{background:#18122af0;border-color:#5d489b8f;border-radius:12px;height:36px;padding:0 16px}.week-bar-controls .btn.secondary:hover{background:#1c1531f5;border-color:#8168c5c7}.course-table-shell{box-shadow:none;background:#0b0816e0;border:1px solid #533f8d6b;border-radius:24px;margin-top:2px;overflow:visible}.course-shell-toolbar{background:#100c1fdb;border-bottom:1px solid #5c459c5c;border-radius:24px 24px 0 0;padding:12px 24px}.course-table-scroll{padding:8px 24px 10px;overflow:auto hidden}.course-table-row{grid-template-columns:96px repeat(7,minmax(108px,1fr));gap:8px;min-width:980px;display:grid}.course-table-row+.course-table-row{margin-top:8px}.course-table-head .course-day-col{color:#e8e1ffe6;box-shadow:none;background:0 0;font-size:12px;font-weight:600}.course-table-head .course-time-col{color:#e8e1ffe6;background:#171129c2;font-size:12px;font-weight:600;box-shadow:inset 0 0 0 1px #54408f57}.course-month-col{border:none;justify-content:flex-end;align-items:flex-end;min-height:62px;padding-bottom:0;padding-right:0;display:flex;position:relative;box-shadow:none!important;background:0 0!important}.course-axis-head:after{display:none}.course-axis-symbol{opacity:.78;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative;transform:translate(12px,10px)}.course-axis-symbol-svg{fill:none;stroke:#d4c7f6b8;stroke-width:1.45px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;width:100%;height:100%;animation:6s linear infinite courseAxisOrbit}.course-axis-symbol-core{background:#e2d9fcc2;border-radius:999px;width:4px;height:4px;animation:2.8s ease-in-out infinite courseAxisCorePulse;position:absolute;box-shadow:0 0 8px #b09de84d}.course-day-col-head{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.course-day-head-main{font-size:12px;font-weight:600;line-height:1.2}.course-day-head-sub{color:#c1b7e6e6;font-size:11px;line-height:1.2}.course-time-col{background:#100c1f85;border:none;border-radius:10px;padding:8px;box-shadow:inset 0 0 0 1px #48367d47}.course-day-cell{box-shadow:none;background:0 0;border:none;border-radius:10px;padding:8px}.course-day-col{background:#100c1f61;border:none;border-radius:10px;padding:8px}.course-time-col{flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.course-time-main{text-align:center;font-size:12px;font-weight:600;line-height:1.2}.course-time-sub{color:#aca1d1e6;font-size:10px}.course-day-col{text-align:center;justify-content:center;align-items:center;display:flex}.course-day-cell{align-items:stretch;min-height:132px;display:flex;overflow:hidden}.course-table-row:not(.course-table-head) .course-time-col,.course-table-row:not(.course-table-head) .course-day-cell{min-height:132px}.course-table-row:not(.course-table-head) .course-time-col{box-shadow:none;background:0 0;border:none}.course-card-list{scrollbar-width:thin;scrollbar-color:#6e84a45c transparent;flex-direction:column;gap:6px;width:100%;height:100%;padding:0 2px 0 0;display:flex;overflow-y:auto}.course-card-list::-webkit-scrollbar{width:4px}.course-card-list::-webkit-scrollbar-track{background:0 0}.course-card-list::-webkit-scrollbar-thumb{background:#6e84a438;border-radius:999px}.course-card-list:hover::-webkit-scrollbar-thumb{background:#637a9b75}.course-card-stack{width:100%;min-height:74px;color:var(--text);text-align:center;cursor:pointer;appearance:none;font:inherit;transition:border-color var(--fast)var(--ease-out),background var(--fast)var(--ease-out),color var(--fast)var(--ease-out);background:#0d0a1ab8;border:1px solid #59449575;border-radius:10px;justify-content:center;align-items:stretch;padding:4px;display:flex}.course-card-list>.course-card-stack:only-child{min-height:100%}.course-card-stack:hover{color:#fff;background:#1e163480;border-color:#846bceb8}.course-card-stack:focus-visible{outline-offset:1px;outline:2px solid #af97ffcc}.course-stack-item{pointer-events:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:100%;padding:4px;display:flex}.course-card-name{font-size:12px;font-weight:600;line-height:1.3}.course-card-meta{color:#d9d1f8e0;margin-top:0;font-size:10px;line-height:1.3}.course-card-meta-time{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.course-empty{text-align:center;color:#a396d2d6;place-items:center;width:100%;min-height:100%;font-size:12px;display:grid}.fade-up{animation:.6s both fadeUp}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.list{flex-direction:column;gap:14px;display:flex}.list-item{border:1px solid var(--border);border-radius:var(--radius);transition:transform var(--mid)var(--ease-out),border-color var(--mid)var(--ease-out),box-shadow var(--mid)var(--ease-out);background:#161022e6;padding:14px 16px;position:relative}.list-item:before{content:"";background:var(--accent);opacity:.25;border-radius:999px;width:3px;position:absolute;top:10px;bottom:10px;left:0}.list-item:hover{border-color:var(--accent);transform:translateY(-3px)}.info-grid{gap:12px;display:grid}.info-row{border-radius:var(--radius);transition:transform var(--mid)var(--ease-out),border-color var(--mid)var(--ease-out);background:#120c1ecc;border:1px solid #1f7ac933;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;animation:.6s both fadeUp;display:flex}.info-label{color:var(--muted);font-size:12px}.info-value{font-size:14px}.info-row:hover{border-color:#1f7ac973;transform:translateY(-2px)}.device-card{flex-direction:column;gap:12px;display:flex}.device-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.device-card-head h3{margin:0}.device-card-sub{color:var(--muted);margin-top:-2px;font-size:12px;line-height:1.55}.device-table-wrap{padding:0;overflow-x:auto}.device-table{min-width:760px}.device-table td{vertical-align:top}.device-name-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.device-name{color:var(--text);word-break:keep-all;overflow-wrap:normal;font-weight:600}.device-ua{max-width:340px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:1.4;overflow:hidden}.device-row-clickable{cursor:pointer;transition:background var(--fast)var(--ease-out),transform var(--fast)var(--ease-out)}.device-row-clickable:focus-visible{outline-offset:-2px;outline:2px solid #1f7ac9cc}.device-actions{flex-wrap:wrap;gap:8px;display:flex}.account-layout{gap:18px;display:grid}.account-hero{border-radius:var(--radius-lg);background:radial-gradient(105% 130% at 0 0,#5a92f233,#0000 58%),radial-gradient(120% 140% at 100% 0,#42bfb026,#0000 62%),linear-gradient(148deg,#f7fbff,#edf4ff 72%,#e9f1ff);border:1px solid #d7e4f7;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:14px;padding:18px 20px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 20px #28478114}.account-hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#9dc2ff47,#9dc2ff00);border-radius:999px;width:124px;height:124px;position:absolute;bottom:-32px;right:-22px}.account-hero-main,.account-hero-metrics{z-index:1;position:relative}.account-hero-main{color:#22324f;align-content:start;gap:10px;display:grid}.account-hero-pills{flex-wrap:wrap;gap:8px;display:flex}.account-tier-pill{letter-spacing:.24px;color:#2956a5;background:#4f85e21f;border:1px solid #4d8cea47;border-radius:999px;align-items:center;padding:5px 12px;font-size:12px;font-weight:600;display:inline-flex}.account-hero-title{letter-spacing:.36px;color:#1d2d49;margin:0;font-size:clamp(20px,1.8vw,24px)}.account-hero-sub{color:#556885;margin:0;font-size:13px;line-height:1.6}.account-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-metric{border-radius:var(--radius);background:#ffffffc7;border:1px solid #5888db33;gap:4px;padding:10px 12px;display:grid}.account-metric-label{color:#6d7f98;letter-spacing:.24px;font-size:11px}.account-metric-value{color:#1f2f4b;word-break:break-all;font-size:13px;line-height:1.35}.account-metric-value.is-success{color:var(--success)}.account-metric-value.is-bound{color:var(--accent)}.account-metric-value.is-muted{color:var(--muted)}.account-grid{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.account-card{gap:12px;display:grid}.account-inline-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.account-inline-main{gap:6px;min-width:0;display:grid}.account-inline-title{color:#1f2f4b;margin:0;font-size:16px;line-height:1.35}.account-inline-desc{color:#5b6d87;margin:0;font-size:13px;line-height:1.58}.account-inline-benefits{flex-wrap:wrap;gap:8px;display:flex}.account-inline-benefit{color:#305181;background:#5288dc1c;border:1px solid #5a8ddc47;border-radius:999px;align-items:center;padding:5px 11px;font-size:12px;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 4px 10px #2f7fd61f,inset 0 1px #ffffff5c}.account-inline-benefit:after{content:"";pointer-events:none;background:linear-gradient(112deg,#0000 0%,#ffffff26 42%,#ffffff9e 50%,#ffffff26 58%,#0000 100%);width:56%;height:340%;animation:5.4s cubic-bezier(.16,1,.3,1) infinite accountBenefitSweep;position:absolute;top:-120%;left:-42%;transform:translate(-180%)skew(-18deg)}.account-svip-card.is-sponsor .account-inline-benefit{color:#1d7f72;background:#35a8981f;border-color:#35a8984d;box-shadow:0 4px 10px #35a89824,inset 0 1px #fff6}@keyframes accountBenefitSweep{0%{opacity:0;transform:translate(-180%)skew(-18deg)}12%{opacity:1}84%{opacity:1}to{opacity:0;transform:translate(420%)skew(-18deg)}}.account-svip-card.is-sponsor .account-inline-benefit:after{background:linear-gradient(112deg,#0000 0%,#ffffff1f 42%,#ddfff894 50%,#ffffff1f 58%,#0000 100%)}@media (prefers-reduced-motion:reduce){.account-inline-benefit:after,.account-svip-card.is-sponsor .account-inline-benefit:after{animation:none;display:none}}.account-inline-actions{flex-shrink:0;justify-content:center;align-items:center;gap:8px;display:inline-flex}.account-inline-btn{border-radius:999px;height:32px;min-height:32px;padding:0 14px;font-size:12px;line-height:1}.account-svip-card{position:relative;overflow:hidden}.account-svip-card:before{content:"";pointer-events:none;background:radial-gradient(120% 130% at 100% 0,#4488e524,#0000 62%);position:absolute;inset:0}.account-svip-tag{letter-spacing:.2px;color:#2d5fae;background:#4c88e11a;border:1px solid #5791e447;border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;display:inline-flex}.account-svip-tag.is-sponsor{color:#1d8578;background:#35a8981f;border-color:#38b1a052}.account-svip-inline-actions{align-self:center}.account-device-inline-actions{align-items:center;gap:8px;display:flex}.account-password-grid{gap:10px;display:grid}.account-password-grid .field{margin-bottom:0}.account-password-actions{justify-content:flex-end;display:flex}.account-password-modal .account-password-modal-body{gap:12px;display:grid}.account-metric-value-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.account-metric-key{font-weight:600}.account-metric-btn{border-radius:999px;height:28px;min-height:28px;padding:0 10px;font-size:11px;line-height:1}.account-device-list{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;margin-top:2px;display:grid;overflow:visible}.account-device-card{overflow:visible;box-shadow:none!important}.account-device-collapse{opacity:0;will-change:max-height,opacity;max-height:0;margin-top:4px;transition:max-height .68s cubic-bezier(.22,.84,.24,1),opacity .36s cubic-bezier(.22,1,.36,1);overflow:hidden}.account-device-collapse.is-open{opacity:1;overflow:visible}.account-device-collapse-inner{opacity:0;transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .36s cubic-bezier(.22,1,.36,1);overflow:visible;transform:translateY(-4px)}.account-device-collapse.is-open .account-device-collapse-inner{opacity:1;transition-delay:.18s;transform:translateY(0)}.account-device-collapse.is-opening .account-device-collapse-inner{opacity:0;transition-delay:0s;transform:translateY(-5px)}.account-device-list.is-single{grid-template-columns:1fr}.account-device-list.is-single .account-device-item{justify-self:start;width:min(100%,460px)}.account-device-refresh-btn{transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),filter .22s cubic-bezier(.22,1,.36,1)}.account-device-refresh-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 14px #1a4e8c26}.account-device-refresh-btn:active:not(:disabled){transform:translateY(0)scale(.98);box-shadow:0 2px 8px #1a4e8c29}.account-device-item{cursor:pointer;transition:border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),background-color var(--fast)var(--ease-out);background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%);border:1px solid #d6e3f5;border-radius:18px;gap:12px;padding:14px;display:grid;position:relative;box-shadow:0 10px 24px #193d671f}.account-device-item:hover{border-color:#bfd5f2;box-shadow:0 14px 28px #193d6729}.account-device-item:focus-visible{border-color:#7fa8df;outline:none;box-shadow:0 0 0 3px #407ac224}.account-device-item-head{justify-content:flex-start;align-items:center;gap:10px;padding-right:82px;display:flex}.account-device-item-title{align-items:center;gap:10px;min-width:0;display:inline-flex}.account-device-icon{color:#4e74a8;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;line-height:1;display:inline-flex}.account-device-icon svg{stroke:currentColor;stroke-width:1.8px;fill:none;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.account-device-title-copy{gap:3px;min-width:0;display:grid}.account-device-last-login{color:#6f84a3;font-size:11px;line-height:1.35}.account-device-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.account-device-meta{gap:3px;min-width:0;display:grid}.account-device-meta-label{color:#7389a9;font-size:11px;line-height:1.35}.account-device-meta-value{color:#2f4465;word-break:break-word;font-size:12px;line-height:1.4}.account-device-item .status{color:#5b6f8d;background:#f2f7ff;border:1px solid #ccdaf0;position:absolute;top:14px;right:14px}.account-device-item .status.success{color:#1c8c65;background:#e9f8f2;border-color:#bfe8d8}.account-device-item .status.warn{color:#b9780c;background:#fff5e8;border-color:#f6d9ad}.account-device-item .status.danger{color:#cf4763;background:#ffeef2;border-color:#f8c8d3}.account-device-item .status.info{color:#3f638f;background:#edf4ff;border-color:#c9dcf8}.account-device-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.account-device-actions .btn,.account-device-inline-actions .btn{box-shadow:none!important}.account-device-actions .btn:hover,.account-device-inline-actions .btn:hover{transform:none}.modal.modal-course-detail.account-password-modal{width:min(92vw,420px);max-width:420px}.account-password-modal .qq-bind-title{color:#233a58}.modal.modal-course-detail.sponsor-join-modal{flex-direction:column;gap:10px;width:min(90vw,560px);max-width:560px;max-height:min(84vh,700px);padding:14px;display:flex;overflow:hidden}.sponsor-join-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.sponsor-join-title{color:#ecf3fff0;letter-spacing:.01em;margin:0;font-size:15px;font-weight:620}.sponsor-join-close{flex-shrink:0;position:static}.sponsor-join-content{scrollbar-gutter:stable;gap:12px;min-height:0;margin-top:0;padding-top:2px;padding-right:8px;display:grid;overflow-y:auto}.sponsor-join-content::-webkit-scrollbar{width:7px}.sponsor-join-content::-webkit-scrollbar-thumb{background:#97add2ad;border-radius:999px}.sponsor-join-plan{box-sizing:border-box;background:0 0;border-radius:12px;gap:8px;width:100%;padding:11px;display:grid}.sponsor-join-plan h4{letter-spacing:.01em;color:var(--text);margin:0;font-size:13px;font-weight:600}.sponsor-join-copy{color:#4f6487;margin:0;font-size:12px;line-height:1.5}.sponsor-join-redeem-intro{display:block}.sponsor-join-link{color:#1f7ac9;border-bottom:1px solid #1f7ac961;margin-left:2px;font-size:12px;text-decoration:none;transition:color .2s,border-color .2s}.sponsor-join-link:hover{color:#0f66b0;border-color:#0f66b08f}.sponsor-join-link-disabled{color:#8c9ab3;cursor:not-allowed;border-bottom-color:#8c9ab366}.sponsor-join-plan-card{background:0 0;border:none}.sponsor-join-note{color:#37577f;background:#1f7ac914;border-radius:10px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5}.sponsor-join-alert{color:#8f2333;background:#c4374a1f;border:1px solid #c4374a4d;border-radius:10px;margin:0;padding:8px 10px;font-size:11.5px;line-height:1.5}.sponsor-join-empty{color:#4f6487;text-align:center;border:1px dashed #85a7e252;border-radius:12px;margin:0;padding:12px;font-size:12px;line-height:1.6}.sponsor-join-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.sponsor-join-qr-item{background:#ffffffeb;border:1px solid #85a7e247;border-radius:14px;justify-items:center;gap:7px;padding:10px;display:grid}.sponsor-join-qr-item span{color:#4f6487;font-size:11.5px}.sponsor-join-qr-item img{aspect-ratio:1;object-fit:cover;border:1px solid #7797ce61;border-radius:12px;width:min(170px,100%)}.sponsor-join-actions{flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:6px;margin-top:2px;display:flex}.sponsor-join-redeem-row .field{flex:auto;gap:0;min-width:0}.sponsor-join-redeem-row .field input{border-radius:9px;height:32px;padding:0 10px}.sponsor-join-btn{white-space:nowrap;border-radius:9px;min-width:70px;height:32px;padding:0 10px;font-size:11.5px;font-weight:600;line-height:1;box-shadow:0 4px 10px #1f7ac92e}.sponsor-join-redeem-row .sponsor-join-btn-redeem{box-sizing:border-box;align-self:center;height:32px;min-height:32px;padding:0 10px}.modal.modal-course-detail.qq-bind-modal{flex-direction:column;gap:10px;width:min(92vw,480px);max-width:480px;max-height:min(84vh,620px);padding:14px 14px 12px;display:flex;overflow:hidden}.qq-bind-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;display:flex}.qq-bind-title{color:#ecf3fff2;letter-spacing:.01em;margin:0;font-size:15px;font-weight:620}.qq-bind-close{flex-shrink:0;position:static}.qq-bind-content{min-height:0;padding:2px 2px 4px;overflow:hidden}.qq-bind-prompt-modal{flex-direction:column;gap:10px;width:min(92vw,420px);max-width:420px;max-height:min(78vh,420px);padding:14px 14px 12px;display:flex}.qq-bind-remind-content{gap:6px;min-height:0;padding:2px 2px 0;display:grid}.qq-bind-remind-main{color:#2b3f5f;margin:0;font-size:14px;font-weight:620;line-height:1.45}.qq-bind-remind-sub{color:#6f84a3;margin:0;font-size:12px;line-height:1.5}.qq-bind-remind-actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.qq-bind-stage{will-change:transform;width:200%;min-height:0;transition:transform .5s cubic-bezier(.22,1,.36,1);display:flex}.qq-bind-stage.is-scan{transform:translate(0)}.qq-bind-stage.is-confirm{transform:translate(-50%)}.qq-bind-stage-panel{box-sizing:border-box;flex:0 0 50%;justify-content:center;align-items:stretch;width:50%;min-height:0;padding:0 2px;display:flex}.qq-bind-stage-panel[aria-hidden=true]{pointer-events:none}.qq-bind-card{box-sizing:border-box;flex-direction:column;width:100%;min-height:0;display:flex}.qq-bind-scan{justify-content:center}.qq-bind-scan-grid{grid-template-columns:minmax(172px,220px) 148px;justify-content:center;align-items:center;gap:10px;width:100%;margin:0 auto;display:grid}.qq-bind-scan-copy{text-align:right;align-content:center;justify-items:end;row-gap:8px;min-width:0;display:grid}.qq-bind-scan-copy-title{text-align:left;color:#2f476b;width:100%;margin:0;font-size:14px;font-weight:620;line-height:1.4}.qq-bind-scan-status{color:#5b7092;text-align:left;justify-self:stretch;width:100%;max-width:240px;margin:0;font-size:12.5px;line-height:1.52}.qq-bind-scan-status.loading{color:#4a6f9f}.qq-bind-scan-status.scanned{color:#1f7ac9}.qq-bind-scan-status.expired,.qq-bind-scan-status.rejected{color:#c9852a}.qq-bind-scan-status.error{color:#c75f68}.qq-bind-qr-box{width:148px;height:148px;box-shadow:none;color:#6f82a3;text-align:center;cursor:pointer;transition:transform var(--fast)var(--ease-out),border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out);background:#ffffffc2;border:1.5px solid #1f7ac966;border-radius:15px;place-items:center;margin:0 auto;font-size:12px;display:grid;overflow:hidden}.qq-bind-qr-box:hover{box-shadow:none;border-color:#1f7ac98f;transform:none}.qq-bind-qr-box img{object-fit:cover;border-radius:11px;width:126px;height:126px}.qq-bind-qr-box.loading{opacity:.82}.qq-bind-confirm{text-align:center;justify-content:center;align-items:center;gap:10px;width:100%;margin:0 auto;padding:4px 0 2px}.qq-bind-confirm-number{color:#1f7ac9;letter-spacing:.03em;word-break:break-all;margin-top:2px;font-size:28px;font-weight:700;line-height:1.2}.qq-bind-confirm-sub{color:#5f7394;max-width:320px;margin:0 auto;font-size:13px;line-height:1.55}.qq-bind-confirm-btn{border-radius:999px;height:32px;min-height:32px;padding:0 14px;font-size:11.5px;font-weight:600;line-height:1;box-shadow:none!important}.qq-bind-confirm-actions{justify-content:center;align-items:center;gap:10px;width:100%;margin-top:4px;padding-top:0;display:flex}.qq-bind-confirm-actions .btn{border-radius:999px;min-width:120px;height:32px;min-height:32px;padding:0 14px;font-size:11.5px;box-shadow:none!important}.qq-bind-confirm-actions .btn:hover,.qq-bind-confirm-actions .btn:focus-visible{transform:none;box-shadow:none!important}.qq-bind-cancel-btn{line-height:1;box-shadow:none!important}.qq-unbind-modal .qq-bind-confirm-sub{max-width:340px}.qq-unbind-confirm-title{color:#2f476b;font-size:18px;font-weight:650;line-height:1.35}.qq-unbind-fail-title{color:#c46472;font-size:18px;font-weight:650;line-height:1.35}.qq-unbind-fail-copy{max-width:360px}.qq-unbind-result-fail .qq-bind-confirm-sub{color:#8d5f70}.qq-unbind-result-fail .qq-bind-confirm-actions .qq-bind-cancel-btn{min-width:136px}@media (max-width:560px){.sponsor-join-content{padding-right:6px}.sponsor-join-btn{min-width:66px;height:30px;padding:0 8px;font-size:11px}.sponsor-join-redeem-row .sponsor-join-btn-redeem{height:30px;min-height:30px;padding:0 8px}.sponsor-join-redeem-row .field input{height:30px;padding:0 9px;font-size:11px}.modal.modal-course-detail.qq-bind-modal{width:min(94vw,480px);max-height:min(86vh,620px)}.qq-bind-prompt-modal{width:min(94vw,420px);max-height:min(82vh,420px)}.qq-bind-remind-actions{justify-content:stretch}.qq-bind-remind-actions .btn{flex:1;min-width:0}.qq-bind-stage-panel{padding:0 2px}.qq-bind-scan-grid{grid-template-columns:1fr;justify-items:center;gap:12px;width:min(100%,286px)}.qq-bind-scan-copy{text-align:center;justify-items:center;row-gap:6px}.qq-bind-scan-copy-title{font-size:13.5px}.qq-bind-scan-status{max-width:252px;font-size:12px}.qq-bind-qr-box{width:136px;height:136px}.qq-bind-qr-box img{width:116px;height:116px}.qq-bind-confirm{gap:9px;padding:2px 0}.qq-bind-confirm-number{font-size:24px}.qq-bind-confirm-sub{font-size:12px}.qq-bind-confirm-actions .btn{width:100%;min-width:0;max-width:220px;height:32px;min-height:32px;font-size:11.5px}.qq-bind-confirm-actions{flex-direction:column;align-items:center;gap:8px}}@media (max-width:1180px){.account-hero,.account-grid{grid-template-columns:1fr}}@media (max-width:767px){.account-hero{padding:15px}.account-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-hero-metrics .account-metric:nth-child(n+3){grid-column:1/-1}.sponsor-join-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sponsor-join-qr-item{gap:6px;padding:8px}.sponsor-join-qr-item img{width:100%}.about-content-head{flex-wrap:nowrap;gap:6px}.about-content-head .board-title{white-space:nowrap;letter-spacing:0;flex:auto;min-width:0;margin:0;font-size:clamp(11px,3.8vw,16px)}.about-version-chip{white-space:nowrap;flex:0 auto;min-width:0;padding:2px 8px;font-size:clamp(9px,2.9vw,12px)}.account-hero-title{font-size:20px}.account-metric-value-row{flex-wrap:nowrap;align-items:center;gap:8px}.account-metric-key{min-width:0;line-height:1.2}.account-metric-btn{flex:none;margin-left:auto}.account-svip-inline{flex-direction:column;align-items:flex-start}.account-svip-inline-actions{justify-content:flex-end;align-self:stretch;width:100%;margin-left:0}.account-device-inline{flex-direction:row;align-items:center;gap:10px}.account-device-inline .account-inline-main{flex:auto;min-width:0}.account-device-inline-actions{flex-wrap:nowrap;justify-content:flex-end;width:auto;margin-left:auto}.account-device-list{grid-template-columns:1fr}.account-device-item{gap:9px;padding:12px}.account-device-item-head{gap:8px;padding-right:74px}.account-device-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-device-actions{justify-content:flex-start}.account-device-item .status{top:12px;right:12px}.modal.modal-course-detail.sponsor-join-modal{width:min(94vw,560px);max-height:min(86vh,700px)}}@media (max-width:480px){.account-device-meta-grid{grid-template-columns:1fr}}.modal.modal-course-detail.device-detail-modal{flex-direction:column;gap:10px;width:min(92vw,560px);max-width:560px;max-height:min(84vh,700px);padding:14px;display:flex;overflow:hidden}.modal.modal-course-detail{-webkit-backdrop-filter:blur(14px)saturate(120%);backdrop-filter:blur(14px)saturate(120%);transform-origin:50% 55%;background:#0d0a19e6;border:1px solid #9c84d638;border-radius:14px;width:min(84vw,438px);max-width:438px;padding:13px;animation:.21s cubic-bezier(.22,1,.36,1) both courseDialogEnter;position:relative;overflow:hidden;box-shadow:0 16px 34px #04030a8a}.modal.modal-course-detail.is-closing{animation:.18s cubic-bezier(.4,0,.2,1) both courseDialogExit}.modal.modal-course-detail:before{content:"";pointer-events:none;border-radius:13px;position:absolute;inset:1px;box-shadow:inset 0 0 0 1px #ffffff0a}.course-detail-headline{z-index:1;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:relative}.course-detail-title-wrap{flex-direction:column;gap:4px;min-width:0;display:flex}.course-detail-title{color:#f3edfef2;letter-spacing:.002em;word-break:break-word;margin:0;font-size:clamp(16px,1.32vw,18px);font-weight:620;line-height:1.26}.course-detail-time-inline{color:#bbade0e6;font-size:11px;line-height:1.3}.course-detail-close{color:#dbcffac7;cursor:pointer;width:24px;height:24px;box-shadow:none;opacity:.86;transform-origin:50%;transition:transform .32s cubic-bezier(.22,1,.36,1),color var(--fast)var(--ease-out),opacity var(--fast)var(--ease-out),filter var(--fast)var(--ease-out);background:0 0;border:none;border-radius:0;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.course-detail-close-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;width:18px;height:18px;transition:transform .32s cubic-bezier(.22,1,.36,1),stroke-width .22s var(--ease-out),opacity var(--fast)var(--ease-out)}.course-detail-close-icon path{vector-effect:non-scaling-stroke}.course-detail-close:hover{color:#fcf8fffa;opacity:1;filter:drop-shadow(0 0 8px #b49ef36b);transform:rotate(92deg)scale(1.04)}.course-detail-close:hover .course-detail-close-icon{stroke-width:2.05px;transform:scale(1.06)}.course-detail-close:active{filter:none;transform:rotate(90deg)scale(.92)}.course-detail-close:focus-visible{color:#fcf8fffa;opacity:1;filter:drop-shadow(0 0 8px #b49ef36b);outline:none}.course-detail-tag-row{z-index:1;flex-wrap:wrap;gap:5px;margin-top:8px;display:flex;position:relative}.course-detail-tag{color:#e0d5fce6;background:#ffffff14;border:none;border-radius:999px;align-items:center;height:22px;padding:0 7px;font-size:10px;line-height:1;display:inline-flex}.course-detail-list{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:9px;display:grid;position:relative}.course-detail-row{background:#ffffff0a;border:none;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;min-height:58px;padding:8px 9px;display:flex;box-shadow:inset 0 0 0 1px #ffffff08}.course-detail-val{color:#f0eafef0;text-align:left;word-break:break-word;font-size:14px;font-weight:580;line-height:1.32}.device-detail-head{justify-content:space-between;align-items:center;gap:8px;min-height:30px;padding-right:2px;display:flex}.device-detail-title{color:#243a5a;margin:0;font-size:15px;font-weight:620}.device-detail-close{flex-shrink:0;position:static}.device-detail-content{scrollbar-width:none;scrollbar-color:transparent transparent;background:0 0;gap:10px;min-height:0;padding-right:2px;display:grid;overflow:hidden auto}.device-detail-content::-webkit-scrollbar{width:0;height:0}.device-detail-content::-webkit-scrollbar-track{background:0 0}.account-modal-overlay{-webkit-backdrop-filter:none}.account-modal-overlay .modal.modal-course-detail.account-password-modal,.account-modal-overlay .modal.modal-course-detail.sponsor-join-modal,.account-modal-overlay .modal.modal-course-detail.qq-bind-modal,.account-modal-overlay .modal.modal-course-detail.device-detail-modal{-webkit-backdrop-filter:none;will-change:opacity,transform;backface-visibility:hidden}.modal.modal-course-detail.device-detail-modal:before{box-shadow:none}.account-metric-btn,.account-inline-btn,.course-detail-close,.qq-bind-confirm-actions .btn,.qq-bind-qr-box{touch-action:manipulation}.device-detail-summary{background:linear-gradient(#fafdfff5 0%,#f1f8ffeb 100%);border:1px solid #d6e4f6;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.device-detail-summary-main{align-items:center;gap:9px;min-width:0;display:inline-flex}.device-detail-summary-icon{width:30px;height:30px}.device-detail-summary-icon svg{width:20px;height:20px}.device-detail-summary-copy{gap:3px;min-width:0;display:grid}.device-detail-summary-name{color:#2a3f5f;font-size:14px;font-weight:620;line-height:1.35}.device-detail-summary-time{color:#7489a9;font-size:11px;line-height:1.35}.device-detail-modal .device-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0;display:grid}.device-detail-modal .device-detail-item{background:#fbfefff5;border:1px solid #d9e5f7;border-radius:12px;flex-direction:column;gap:5px;padding:10px 12px;display:flex}.device-detail-modal .device-detail-item-full{grid-column:1/-1}.device-detail-modal .device-detail-item .label{color:#7890b2;font-size:11px}.device-detail-modal .device-detail-item .value{color:#2f4363;font-size:12px;line-height:1.45}.device-detail-modal .device-detail-item .value.break{word-break:break-all}.device-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.device-empty{color:var(--muted);border:1px dashed #1f7ac959;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.about-layout{grid-template-columns:1fr;gap:14px;width:100%;min-width:0;display:grid}.feature-disabled-body{text-align:center;place-content:center;justify-items:center;min-height:max(320px,100dvh - 220px);display:grid}.feature-disabled-card{place-content:center;justify-items:center;gap:14px;width:100%;min-height:max(320px,100dvh - 220px);padding:0 18px;display:grid}.feature-disabled-title{color:#2f4363;max-width:min(860px,100%);margin:0;font-size:clamp(16px,1.8vw,20px);font-weight:600;line-height:1.6}.about-card{width:100%;min-width:0;min-height:0}.about-content-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.about-version-chip{isolation:isolate;flex-shrink:0;font-weight:600;position:relative;overflow:hidden}.about-version-chip:after{content:"";pointer-events:none;z-index:1;background:linear-gradient(112deg,#0000 0%,#ffffff29 42%,#ffffffb8 50%,#ffffff29 58%,#0000 100%);width:54%;height:340%;animation:5.4s cubic-bezier(.16,1,.3,1) infinite accountBenefitSweep;position:absolute;top:-120%;left:-44%;transform:translate(-180%)skew(-18deg)}@media (prefers-reduced-motion:reduce){.about-version-chip:after{animation:none;display:none}}.about-content-divider{margin:4px 0 8px}.about-content-markdown{overflow-wrap:anywhere;word-break:break-word;gap:10px;min-width:0;display:grid}.about-content-markdown>:first-child{margin-top:0}.about-content-markdown>:last-child{margin-bottom:0}.about-content-markdown *{max-width:100%}.about-content-markdown a{word-break:break-all}.markdown.about-content-markdown table{table-layout:auto;border-collapse:collapse;max-width:min(100%,420px);display:table;justify-self:start!important;width:fit-content!important;margin:8px 0 10px!important}.markdown.about-content-markdown th,.markdown.about-content-markdown td{vertical-align:top;padding:8px 10px;text-align:center!important;border:1px solid #d6e3f5!important;width:auto!important;min-width:0!important}.markdown.about-content-markdown th{color:#2f4363;background:#f7fbff}.markdown.about-content-markdown td{background:#ffffffeb}.about-content-markdown img{background:#fff;border:1px solid #d6e3f5;border-radius:12px;width:min(100%,190px);height:auto;margin:4px 12px 2px 0;padding:6px;display:inline-block;box-shadow:0 6px 14px #193d6714}.markdown.about-content-markdown td img{width:min(100%,168px);display:block;margin:4px auto 2px!important}.about-docs-card{gap:10px;width:100%;min-width:0;display:grid}.about-docs-head{align-items:center;display:flex}.about-docs-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.about-docs-btn{font-size:12px;line-height:1.2;border-radius:10px!important;min-height:32px!important;padding:6px 12px!important}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);font-size:13px}.field input,.field textarea,.field select{border:1px solid var(--border);color:var(--text);transition:border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),transform var(--fast)var(--ease-out);background:#0f0b18f2;border-radius:14px;outline:none;padding:10px 12px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 0 0 3px #1f7ac933}.field textarea{resize:vertical;min-height:120px}input[type=checkbox]{accent-color:var(--accent)}.btn{background:var(--accent);color:#fff;cursor:pointer;transition:transform var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),background var(--fast)var(--ease-out),color var(--fast)var(--ease-out);border:none;border-radius:999px;justify-content:center;align-items:center;padding:10px 18px;display:inline-flex;box-shadow:0 10px 20px #26115866}.btn:hover{background:var(--accent-2);transform:translateY(-2px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.btn-compact{min-height:34px;box-shadow:none;border-radius:12px;padding:7px 14px;font-size:12px}.btn:focus-visible,.nav button:focus-visible,.inline-actions a.btn:focus-visible{outline-offset:2px;outline:2px solid #1f7ac999}.btn.secondary{border:1px solid var(--accent);color:var(--text);box-shadow:none;background:0 0}.btn.secondary:hover{background:#1f7ac92e}.btn.ghost{color:var(--text);box-shadow:none;background:0 0;border:1px solid #1f7ac966}.btn.ghost:hover{background:#1f7ac926}.inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.muted{color:var(--muted)}.sponsor-thanks{color:var(--success);border-radius:var(--radius);background:#10161499;border:1px solid #52f0b24d;padding:12px 14px;font-weight:600;line-height:1.7}.badge,.chip{color:var(--muted);background:#211938cc;border:1px solid #0000;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:inline-flex}.chip{border-color:#1f7ac940}.status{color:var(--muted);background:#21193899;border:1px solid #1f7ac933;border-radius:999px;align-items:center;padding:4px 12px;font-size:12px;display:inline-flex}.status.success{color:var(--success);background:#52f0b226}.status.danger{color:var(--danger);background:#ff5c7a2e}.status.warn{color:var(--warning);background:#ffc0662e}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 8px;font-size:13px}.table thead th{color:var(--muted);background:#140e2299}.table tr:hover td{background:#140e2266}.markdown h1,.markdown h2,.markdown h3{margin-top:0;margin-bottom:12px}.markdown p,.markdown li{color:var(--muted);line-height:1.8}.markdown strong,.markdown b{color:var(--text);font-weight:700}.markdown em,.markdown i{font-style:italic}.markdown code{background:#120e1ebd;border:1px solid #7a4bff38;border-radius:7px;padding:1px 6px;font-family:Consolas,SFMono-Regular,Menlo,monospace;font-size:12px}.markdown pre{background:#0c0916eb;border:1px solid #7a4bff3d;border-radius:12px;margin:0 0 10px;padding:10px 12px;overflow:auto}.markdown pre code{background:0 0;border:none;padding:0}.markdown blockquote{color:var(--muted);background:#1f7ac914;border-left:3px solid #1f7ac9a6;border-radius:8px;margin:0 0 10px;padding:8px 12px}.markdown table{border-collapse:collapse;width:100%;margin:6px 0 10px}.markdown th,.markdown td{text-align:left;border:1px solid #7a4bff40;padding:6px 8px}.auth-shell{z-index:1;align-content:center;gap:22px;max-width:1200px;min-height:100vh;margin:0 auto;padding:30px;display:grid;position:relative}.auth-card{animation:3.5s ease-in-out infinite glow;overflow:hidden}.auth-card:before{content:"";pointer-events:none;z-index:0;background:#1f7ac914;border-radius:999px;animation:8s ease-in-out infinite drift;position:absolute;inset:-40% -10%}.auth-card>*{z-index:1;position:relative}.auth-login-card:after{content:none;display:none}.auth-login-card{border-radius:28px;width:min(560px,92vw);padding:24px 24px 28px}.auth-hero{border-bottom:1px solid #1f7ac926;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.auth-hero-right{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.auth-body{flex-direction:column;align-items:flex-start;gap:18px;display:flex}.auth-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.auth-title{letter-spacing:.5px;color:var(--accent);font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:26px}.auth-sub{color:var(--muted);font-size:14px}.tabs{border:1px solid var(--border);background:#100c1ccc;border-radius:999px;gap:8px;padding:6px;display:inline-flex}.auth-tabs{border:1px solid var(--border);background:#100c1cb3;border-radius:999px;gap:8px;width:fit-content;padding:6px;display:inline-flex}.auth-tabs .tab{text-align:center;width:auto;color:var(--muted);transition:transform var(--fast)var(--ease-out),background var(--fast)var(--ease-out),color var(--fast)var(--ease-out);border-radius:999px;padding:8px 16px;font-size:13px}.auth-tabs .tab:hover{color:var(--text);transform:translateY(-1px)}.auth-tabs .tab.active{color:var(--text);background:#1f7ac938;box-shadow:0 6px 14px #0c081673}.tab{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:8px 18px;transition:all .25s}.tab.active{color:var(--text);background:#1f7ac938}.stepper{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.auth-stage{border:1px solid var(--border);background:#120c1ee6;border-radius:18px;padding:12px 14px}.auth-stage-title{font-size:16px;font-weight:600}.auth-stage-sub{color:var(--muted);margin-top:6px;font-size:12px}.auth-form,.auth-qq{flex-direction:column;gap:16px;width:100%;display:flex}.auth-form .auth-error-card{align-self:flex-start;width:fit-content;max-width:min(100%,420px);margin-top:0;margin-bottom:2px;line-height:1.4}.auth-card{position:relative}.auth-card.is-loading{pointer-events:none}.auth-card-mask{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:5;background:#0a0812e0;border-radius:28px;justify-content:center;align-items:center;animation:.2s ease-out both fadeIn;display:flex;position:absolute;inset:0}.auth-card-mask-inner{min-width:120px;box-shadow:none;text-align:center;background:0 0;border:none;border-radius:999px;flex-direction:column;align-items:center;gap:0;padding:14px 16px;display:flex;position:relative}.auth-card-mask-inner .loading-dots{margin:0}.auth-card-mask-inner .loading-dots span{width:9px;height:9px}.auth-card.is-loading .auth-body{opacity:.2;filter:blur(2px)}.auth-error-card{box-shadow:none;-webkit-backdrop-filter:none;color:#c44962;letter-spacing:0;text-shadow:0 1px #fff6;white-space:normal;background:0 0;border:none;padding:0;font-size:13px;font-weight:600;line-height:1.4;display:block}.qq-loading,.qq-error{border:1px solid var(--border);text-align:center;background:#120c1ee0;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:210px;padding:22px;display:flex}.qq-loading-text{color:var(--muted);font-size:13px}.qq-error{border-color:#ff5c7a73;box-shadow:0 0 0 1px #ff5c7a4d,0 10px 24px #08061259}.qq-error-btn{min-width:180px;color:var(--text);background:#1f7ac924;border-color:#1f7ac98c;margin-top:6px;box-shadow:0 6px 16px #08061259}.qq-error-btn:hover{background:#1f7ac93d;border-color:#1f7ac9bf;transform:translateY(-1px)}.qq-error-btn:active{transform:translateY(0)}.qq-error-title{color:var(--danger);font-size:16px;font-weight:600}.qq-error-sub{color:var(--muted);font-size:12px}.auth-qq-grid{grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:18px;display:grid}.qq-status{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;width:100%;display:flex;transform:translate(6px)}.qq-status-badge{color:var(--text);background:#100c1ccc;border:1px solid #1f7ac94d;border-radius:999px;align-items:center;width:fit-content;padding:6px 12px;font-size:12px;display:inline-flex}.qq-status-badge.scanned{color:var(--warning);border-color:#ffc06699}.qq-status-badge.expired,.qq-status-badge.error{color:var(--danger);border-color:#ff5c7a99}.qq-status-badge.success{color:var(--success);border-color:#52f0b299}.qq-status-title{color:var(--text);font-size:14px}.qq-status-title.scanned{color:var(--warning)}.qq-status-title.expired,.qq-status-title.error,.qq-status-title.rejected{color:var(--danger)}.qq-status-sub{font-size:12px}.qq-status-tip{color:var(--accent);font-size:12px}.auth-form.step-webvpn{gap:6px}.auth-form.step-webvpn .auth-actions{margin-top:0}.auth-form.step-webvpn .agree-row{margin-bottom:-2px}.auth-form.step-edu{margin-top:-6px}.auth-form.step-edu .auth-actions{margin-top:14px}.auth-fields{gap:12px;display:grid}.auth-form .field,.auth-form .input-wrap,.auth-form .field input{width:100%}.input-wrap input{padding-right:46px}.auth-form input[type=password]::-ms-reveal{width:0;height:0;display:none}.auth-form input[type=password]::-ms-clear{width:0;height:0;display:none}.auth-form input[type=password]::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;display:none!important}.pw-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;transition:all var(--fast)var(--ease-out);opacity:0;pointer-events:none;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.pw-toggle:hover{color:var(--text);box-shadow:none;background:0 0}.pw-toggle svg{stroke:currentColor;fill:none;stroke-width:1.8px;width:16px;height:16px}.input-wrap:focus-within .pw-toggle{opacity:1;pointer-events:auto}.auth-fields .field{transition:max-height var(--mid)var(--ease-out),opacity var(--mid)var(--ease-out),transform var(--mid)var(--ease-out);max-height:120px;overflow:visible}.auth-fields .field.is-hidden{opacity:0;pointer-events:none;max-height:0;margin:0;overflow:hidden;transform:translateY(-8px)}.auth-form.step-anim{animation:.35s both stepSwap}.auth-actions{justify-content:flex-end;margin-top:2px}.step{color:var(--muted);background:#140e2299;border:1px solid #1f7ac940;border-radius:999px;padding:6px 12px;font-size:12px}.step.active{color:var(--text);border-color:var(--accent);background:#1f7ac92e}.input-hint{color:var(--muted);margin-top:6px;font-size:12px}.hint-field .input-wrap{position:relative}.hint-bubble{color:var(--text);opacity:0;transition:all var(--fast)var(--ease-out);pointer-events:none;background:#171028fa;border:1px solid #1f7ac980;border-radius:12px;max-width:320px;padding:8px 12px;font-size:12px;position:absolute;bottom:calc(100% + 10px);right:0;transform:translateY(6px)scale(.98);box-shadow:0 12px 28px #0806148c}.hint-title{color:var(--accent);margin-bottom:4px;font-size:12px}.hint-line{color:var(--text);font-size:12px;line-height:1.6}.hint-bubble:after{content:"";border:6px solid #0000;border-top-color:#171028fa;border-bottom-width:0;position:absolute;bottom:-6px;right:18px}.hint-bubble.show{opacity:1;transform:translateY(0)scale(1)}.loading-dots{gap:6px;margin:6px 0 10px;display:inline-flex}.loading-dots span{background:var(--accent);opacity:.4;width:8px;height:8px;animation:dotPulse 1.2s var(--ease-in-out)infinite;border-radius:999px}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.agree-row{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:13px;display:flex;position:relative}.agree-input{opacity:0;pointer-events:none;position:absolute}.agree-indicator{width:18px;height:18px;transition:all var(--fast)var(--ease-out);background:#ffffffe0;border:1px solid #1f7ac95c;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #cddbecb8}.agree-indicator:after{content:"";opacity:0;transform-origin:50%;transition:transform var(--fast)var(--ease-out),opacity var(--fast)var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.25l2.15 2.2 5.1-4.85' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:74% 74%;position:absolute;inset:0;transform:scale(.72)}.agree-input:checked+.agree-indicator:after{opacity:1;transform:scale(1)}.agree-text a{color:var(--accent);margin:0 4px;font-weight:600}.agree-text a:hover{color:var(--accent-2)}.auth-tip{color:var(--muted);font-size:13px}.auth-qq .qr-box{align-self:center}.qr-box{width:170px;height:170px;color:var(--muted);background:0 0;border:2px solid #1f7ac9f2;border-radius:16px;justify-content:center;align-items:center;display:flex;box-shadow:0 0 0 2px #1f7ac959,0 0 18px #1f7ac973}.auth-qq-grid .qr-box{justify-self:end;margin-right:24px}.qr-box.clickable{cursor:pointer;transition:transform var(--fast)var(--ease-out),border-color var(--fast)var(--ease-out)}.qr-box.clickable:hover{border-color:#1f7ac9b3;transform:translateY(-2px)}.qr-box img{border-radius:12px;display:block}.qr-box.loading{opacity:.7}.auth-side{flex-direction:column;gap:16px;display:flex}.auth-side-card{border-radius:var(--radius-lg);border:1px solid var(--border);background:#140e22e6;padding:18px 20px;animation:.8s both fadeUp}.auth-side-title{color:var(--muted);letter-spacing:1px;margin-bottom:10px;font-size:13px}.auth-flow{flex-direction:column;gap:10px;display:flex}.auth-flow-step{color:var(--muted);transition:all var(--fast)var(--ease-out);background:#100c1cbf;border:1px solid #1f7ac933;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.auth-flow-step.active{border-color:var(--accent);color:var(--text);background:#1f7ac929}.auth-flow-step.done{color:var(--success);background:#10161480;border-color:#52f0b259}.flow-dot{background:#1f7ac999;border-radius:999px;width:8px;height:8px}.auth-flow-step.active .flow-dot{background:var(--accent)}.auth-flow-step.done .flow-dot{background:var(--success)}.auth-meta-grid{gap:10px;display:grid}.auth-meta-item{color:var(--muted);background:#100c1cbf;border:1px solid #1f7ac933;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.auth-badge{text-transform:uppercase;color:var(--muted);letter-spacing:1px;margin-bottom:10px;font-size:12px}.auth-pills{flex-wrap:wrap;gap:8px;display:flex}.app{z-index:1;min-height:100vh;width:min(100%,var(--app-max-width));margin-inline:auto;display:grid;position:relative}.sidebar{border-right:1px solid var(--border);background:#140e22e6;flex-direction:column;gap:16px;height:100vh;padding:26px 22px;display:flex;position:sticky;top:0;box-shadow:inset -12px 0 24px #05040c66}.brand{color:var(--accent);letter-spacing:1px;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:28px}.nav{flex-direction:column;gap:10px;display:flex}.nav::-webkit-scrollbar{display:none}.mobile-nav-shell{width:100%;position:relative}.mobile-nav-hint{display:none}.mobile-nav-hint-icon{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;display:block}.mobile-nav-hint-icon.is-right{transform-origin:50%;transform:scaleX(-1)}.nav button{color:var(--muted);text-align:left;cursor:pointer;transition:transform var(--fast)var(--ease-out),color var(--fast)var(--ease-out),border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out);background:0 0;border:1px solid #0000;border-radius:14px;padding:10px 14px;position:relative}.nav button:after{content:"";background:var(--accent);opacity:0;width:6px;height:6px;transition:opacity var(--fast)var(--ease-out),transform var(--fast)var(--ease-out);border-radius:999px;position:absolute;top:50%;right:10px;transform:translateY(-50%)scale(.6)}.nav button.active,.nav button:hover{color:var(--text);border-color:var(--accent);box-shadow:0 8px 20px #1e104659}.nav button.active:after,.nav button:hover:after{opacity:.9;transform:translateY(-50%)scale(1)}.sidebar-footer{gap:12px;margin-top:auto;display:grid}.side-card{border-radius:var(--radius);border:1px solid var(--border);background:#120c1ee6;padding:14px 16px;animation:4s ease-in-out infinite pulse}.side-label{color:var(--muted);font-size:12px}.side-id{margin:4px 0 10px;font-size:18px}.side-identity-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.side-name{color:var(--muted);font-size:13px;line-height:1.2}.side-chip{padding:4px 10px;font-size:11px}.content{padding:28px 30px 40px}.topbar{background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:0 24px;display:flex}.topbar-main{align-items:center;gap:10px;display:flex;box-shadow:none!important;background:0 0!important;border:none!important}.topbar-title{background:#120c1eb3;border:1px solid #1f7ac947;border-radius:999px;padding:6px 12px;font-size:16px;font-weight:700}.topbar-profile{background:#140e22b3;border:1px solid #1f7ac940;border-radius:14px;min-width:160px;padding:8px 12px}.topbar-id{letter-spacing:.5px;font-size:14px}.topbar-meta{color:var(--muted);font-size:12px}.topbar-actions{flex-wrap:wrap;gap:8px;display:flex}.footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:20px;padding:14px 0 10px;font-size:12px;display:flex}.overlay{z-index:9998;background:#0a0810db;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.course-modal-overlay{overscroll-behavior:contain;animation:.21s cubic-bezier(.22,1,.36,1) both courseOverlayEnter}.course-modal-overlay.is-closing{animation:.18s cubic-bezier(.4,0,.2,1) both courseOverlayExit}.modal{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(440px,92vw);box-shadow:var(--shadow);background:#171028f2;padding:22px;animation:.5s both fadeUp}.modal-qq{max-width:520px}.init-overlay{min-height:100dvh;padding:env(safe-area-inset-top)0 env(safe-area-inset-bottom);box-sizing:border-box;z-index:9998;opacity:1;background-color:#08060e;justify-content:center;align-items:center;transition:background-color .24s;animation:.4s both fadeIn;display:flex;position:fixed;inset:0}.init-overlay.is-leaving{pointer-events:none;background-color:#08060e00}.init-screen{width:100%;min-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom));text-align:center;justify-content:center;align-items:center;display:flex}.init-core{flex-direction:column;align-items:center;gap:14px;width:min(94vw,620px);padding:32px 24px;display:flex;position:relative}.init-primary-stage{opacity:1;flex-direction:column;align-items:center;gap:14px;width:100%;transition:opacity .34s,transform .34s;display:flex;transform:translateY(0)scale(1)}.init-primary-stage.is-leaving{opacity:0;pointer-events:none;transform:translateY(-8px)scale(.99)}.init-primary-stage.is-home-bridge-active .init-brand-sequence{opacity:0;transition:none}.init-fail-stage{opacity:0;visibility:hidden;pointer-events:none;justify-content:center;align-items:center;transition:opacity .34s,transform .34s,visibility 0s linear .34s;display:flex;position:absolute;inset:32px 24px;transform:translateY(10px)scale(.99)}.init-fail-stage.is-visible{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .34s,transform .34s,visibility linear;transform:translateY(0)scale(1)}.init-brand-sequence{color:#05070c;--init-yan-stroke-width:9.6;--init-yan-start-left:50%;--init-yan-start-top:50%;--init-yan-end-left:50%;--init-yan-end-top:66%;--init-yan-delta-x:0px;--init-yan-delta-y:0px;--init-yan-end-scale:.34;place-items:center;width:min(96vw,680px);height:clamp(156px,24vw,198px);display:grid;position:relative}.init-brand-sequence:before{content:"";filter:blur(22px);opacity:1;pointer-events:none;background:radial-gradient(#0d121c33 0%,#0d121c0f 56%,#0000 82%);border-radius:50%;transition:opacity .2s;position:absolute;inset:18% 8% 8%}.init-yan-svg{opacity:0;transform-origin:50%;backface-visibility:hidden;will-change:transform,opacity;filter:drop-shadow(0 1px #06090f3d);width:min(78vw,332px);max-width:100%;height:auto;transition:transform 1.12s cubic-bezier(.2,.75,.2,1),opacity .2s;overflow:visible;transform:translate(0,0)scale(1)}.init-brand-lockup-svg{width:min(96vw,760px);height:auto;color:inherit;opacity:0;filter:drop-shadow(0 1px #06090f3d);transition:opacity .32s;position:absolute;bottom:8px;left:50%;overflow:visible;transform:translate(-50%)}.init-yan-token{left:var(--init-yan-start-left);top:var(--init-yan-start-top);transform-origin:50%;backface-visibility:hidden;width:min(78vw,332px);max-width:100%;height:auto;color:inherit;opacity:0;filter:drop-shadow(0 1px #06090f3d);pointer-events:none;will-change:transform,opacity;transition:transform 1.12s cubic-bezier(.2,.75,.2,1),opacity .24s;position:absolute;overflow:visible;transform:translate(-50%,-50%)scale(1)}.init-yan-write-layer{opacity:0}.init-yan-draw-stroke{fill:none;stroke:currentColor;stroke-width:3.2px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:.92;stroke-dasharray:1;stroke-dashoffset:1px;vector-effect:non-scaling-stroke;will-change:stroke-dashoffset,stroke-opacity}.init-yan-fill{fill:currentColor;fill-opacity:0;will-change:fill-opacity}.init-yan-token-stroke{fill:currentColor;fill-opacity:1;stroke:none;stroke-width:0}.init-brand-left-stroke,.init-brand-right-stroke,.init-brand-yan-slot-stroke{fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:.34px;stroke-opacity:1;opacity:1;vector-effect:non-scaling-stroke}.init-brand-left,.init-brand-right,.init-brand-yan-slot{opacity:0;clip-path:inset(0 100% 0 0);transition:opacity .2s}.init-brand-left-stroke,.init-brand-right-stroke,.init-brand-sequence.phase-write .init-yan-svg,.init-brand-sequence.phase-write .init-yan-write-layer{opacity:1}.init-brand-sequence.phase-write .init-yan-draw-stroke{animation:2s cubic-bezier(.24,.78,.22,1) both initYanStrokeDraw}.init-brand-sequence.phase-write .init-yan-fill{animation:.6s cubic-bezier(.2,.68,.2,1) 1.35s both initYanFillIn}.init-brand-sequence.phase-merge .init-yan-svg,.init-brand-sequence.phase-hold .init-yan-svg{opacity:1;transform:translate3d(var(--init-yan-delta-x),var(--init-yan-delta-y),0)scale(var(--init-yan-end-scale))}.init-brand-sequence.phase-merge .init-yan-write-layer,.init-brand-sequence.phase-hold .init-yan-write-layer{opacity:1}.init-brand-sequence.phase-merge .init-yan-fill,.init-brand-sequence.phase-hold .init-yan-fill{fill-opacity:1}.init-brand-sequence.phase-merge .init-yan-draw-stroke,.init-brand-sequence.phase-hold .init-yan-draw-stroke{stroke-opacity:0}.init-brand-sequence.phase-merge .init-brand-lockup-svg,.init-brand-sequence.phase-hold .init-brand-lockup-svg{opacity:1}.init-brand-sequence.phase-merge:before,.init-brand-sequence.phase-hold:before{opacity:0}.init-brand-sequence.phase-merge .init-brand-left,.init-brand-sequence.phase-merge .init-brand-right,.init-brand-sequence.phase-hold .init-brand-left,.init-brand-sequence.phase-hold .init-brand-right{opacity:1}.init-brand-sequence.phase-merge .init-brand-yan-slot,.init-brand-sequence.phase-hold .init-brand-yan-slot{opacity:0}.init-brand-sequence.phase-merge .init-brand-left-stroke,.init-brand-sequence.phase-merge .init-brand-right-stroke{animation:none}.init-brand-sequence.phase-hold .init-brand-left-stroke,.init-brand-sequence.phase-hold .init-brand-right-stroke,.init-brand-sequence.phase-hold .init-brand-yan-slot-stroke{fill-opacity:1;stroke-width:0;stroke-opacity:0;animation:none}.init-overlay.is-leaving .init-brand-sequence.is-login-bridging .init-brand-left-stroke,.init-overlay.is-leaving .init-brand-sequence.is-login-bridging .init-brand-right-stroke,.init-overlay.is-leaving .init-brand-sequence.is-login-bridging .init-brand-yan-slot-stroke{stroke-width:0;stroke-opacity:0}.init-brand-sequence.phase-merge .init-brand-left{animation:1.14s cubic-bezier(.2,.75,.2,1) 40ms forwards initBrandWriteReveal}.init-brand-sequence.phase-merge .init-brand-right{animation:1.14s cubic-bezier(.2,.75,.2,1) .12s forwards initBrandWriteReveal}.init-brand-sequence.phase-hold .init-brand-left,.init-brand-sequence.phase-hold .init-brand-right{clip-path:inset(0)}.init-brand-sequence.phase-merge .init-yan-token{opacity:0}.init-brand-sequence.phase-merge .init-yan-token-stroke{animation:none}.init-brand-sequence.phase-hold .init-yan-token{opacity:0}.init-brand-sequence.phase-hold .init-yan-svg,.init-brand-sequence.phase-hold .init-brand-lockup-svg,.init-brand-sequence.phase-hold .init-yan-token,.init-overlay.is-leaving .init-brand-sequence.is-login-bridging .init-yan-svg,.init-overlay.is-leaving .init-brand-sequence.is-login-bridging .init-brand-lockup-svg,.init-overlay.is-leaving .init-brand-sequence.is-login-bridging .init-yan-token{filter:none}.init-overlay.is-leaving .init-brand-sequence.is-login-bridging:before{opacity:0}.init-home-bridge{z-index:9999;pointer-events:none;transform-origin:0 0;clip-path:inset(0);opacity:1;will-change:transform,clip-path,opacity;contain:layout paint style;position:fixed;transform:translate(0,0)scale(1)}.init-home-bridge.is-morph{animation:.76s cubic-bezier(.2,.78,.24,1) forwards initHomeBridgeMorph}.init-home-bridge.is-hold,.init-home-bridge.is-exit{transform:translate3d(var(--init-home-bridge-dx),var(--init-home-bridge-dy),0)scale(var(--init-home-bridge-scale))}.init-home-bridge.is-exit{animation:.68s cubic-bezier(.28,.82,.24,1) forwards initHomeBridgeExit}.init-home-bridge-svg{color:#0b0e14;filter:none;width:100%;height:100%;display:block}.init-home-bridge-path{fill:currentColor;fill-opacity:1;stroke:none;stroke-width:0;stroke-opacity:0;shape-rendering:geometricPrecision}@keyframes initHomeBridgeMorph{0%{transform:translate(0,0)scale(1)}to{transform:translate3d(var(--init-home-bridge-dx),var(--init-home-bridge-dy),0)scale(var(--init-home-bridge-scale))}}@keyframes initHomeBridgeExit{0%{transform:translate3d(var(--init-home-bridge-dx),var(--init-home-bridge-dy),0)scale(var(--init-home-bridge-scale));clip-path:inset(0);opacity:1}to{transform:translate3d(var(--init-home-bridge-dx),var(--init-home-bridge-dy),0)scale(var(--init-home-bridge-scale));clip-path:inset(0 100% 0 0);opacity:0}}.init-title{letter-spacing:2px;color:var(--text);font-size:20px}.init-sub{color:var(--muted);font-size:12px}.init-note{color:var(--muted);font-size:13px}.init-loading-wrap{opacity:0;align-content:center;justify-items:center;gap:0;width:min(90vw,420px);min-height:56px;transition:opacity .32s,transform .32s;display:grid;transform:translateY(8px)scale(.99)}.init-loading-wrap.is-visible{opacity:1;transform:translateY(0)scale(1)}.init-loading-inline{color:#0b0e14;white-space:nowrap;justify-content:center;align-items:center;gap:8px;min-width:min(88vw,320px);padding:0 2px;line-height:1;display:inline-flex;position:relative}.init-loading-label{letter-spacing:.08em;color:#0b0e14;font-size:13px;font-weight:600}.init-loading-dots{align-items:center;gap:5px;display:inline-flex}.init-loading-dots span{background:#0b0e14d1;border-radius:50%;width:4px;height:4px;animation:1s ease-in-out infinite initLoaderDotPulse}.init-loading-dots span:nth-child(2){animation-delay:.14s}.init-loading-dots span:nth-child(3){animation-delay:.28s}@keyframes initYanStrokeDraw{0%{stroke-dashoffset:1px;stroke-opacity:.92}72%{stroke-dashoffset:.28px;stroke-opacity:.78}to{stroke-dashoffset:0;stroke-opacity:0}}@keyframes initYanFillIn{0%{fill-opacity:0}to{fill-opacity:1}}@keyframes initBrandWriteReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes initLoaderDotPulse{0%,to{opacity:.36;transform:scale(.72)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.init-brand-sequence *,.init-overlay,.init-loading-wrap,.init-primary-stage,.init-fail-stage{transition:none!important;animation:none!important}.init-brand-sequence .init-yan-svg,.init-brand-sequence .init-brand-lockup-svg,.init-brand-sequence .init-brand-left-stroke,.init-brand-sequence .init-brand-right-stroke,.init-brand-sequence .init-brand-yan-slot-stroke,.init-brand-sequence .init-yan-token-stroke{opacity:1!important;stroke-dashoffset:0!important;fill-opacity:1!important;stroke-opacity:1!important;transform:none!important}.init-brand-sequence .init-brand-yan-slot,.init-brand-sequence .init-brand-left,.init-brand-sequence .init-brand-right{opacity:1!important;clip-path:inset(0)!important}.init-brand-sequence .init-yan-svg,.init-brand-sequence .init-yan-token{opacity:0!important}.init-loading-dots span{animation:none!important}}.init-error{color:var(--danger);margin-top:8px;font-size:13px}.init-fail{text-align:left;flex-direction:column;align-items:flex-start;gap:10px;width:min(760px,92vw);display:flex}.init-fail-title{color:#c63a4f;letter-spacing:.2px;margin:0;font-size:clamp(18px,2.6vw,22px);font-weight:700;line-height:1.4}.init-fail-line{color:#52607a;margin:0;font-size:14px;line-height:1.65}.init-mail-link{color:#265bc9;align-items:center;margin:0 4px;font-weight:600;text-decoration:none;display:inline-flex}.init-mail-link:hover,.init-mail-link:focus-visible{color:#1f47a6;text-decoration:underline}.init-doc-link{color:#2f5fc7;text-underline-offset:3px;margin-top:2px;font-size:14px;font-weight:600;line-height:1.4;text-decoration:underline}.init-doc-link:hover,.init-doc-link:focus-visible{color:#234ca8}.init-fail-reason{color:#d14f5f;margin:2px 0 0;font-size:13px;font-weight:600;line-height:1.55}.bind-status{align-items:center;gap:8px;margin:12px 0;display:flex}@media (min-width:1025px){.auth-shell{grid-template-columns:minmax(0,1fr);place-items:center}.auth-login-card{width:560px;padding:28px 30px 30px}.auth-layout{grid-template-columns:minmax(0,1fr)}.app{grid-template-columns:260px 1fr}.view-head,.view-actions,.inline-actions{align-items:center}.btn{min-height:40px}.field label{min-height:18px;line-height:18px}.table thead th{vertical-align:middle;height:44px}.table td{vertical-align:middle}.content{padding:32px 36px 46px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px) and (max-width:1024px){.auth-shell{grid-template-columns:1fr}.auth-login-card{border-radius:24px;padding:24px}.auth-layout{grid-template-columns:1fr}.auth-hero{gap:12px}.auth-hero-right{justify-content:flex-start}.auth-tabs{padding:6px}.tab{padding:8px 14px;font-size:13px}.app{grid-template-columns:210px 1fr}.panel{border-radius:22px;padding:18px}.view-head{align-items:center}.view-title{font-size:21px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero{grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr)}.home-banner{flex-direction:row;align-items:flex-end}.home-banner-side{white-space:nowrap;justify-content:flex-end;align-items:center;gap:8px;width:auto;display:inline-flex}.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.view-stage{min-height:max(320px,100dvh - 220px)}.week-bar{align-items:center}.week-bar-controls{justify-content:flex-end;width:100%}.gx-select{min-width:180px}.course-term-select{flex:none;min-width:0;max-width:100%}.course-term-select .gx-select-trigger,.course-term-select .gx-select-native-control{width:auto;min-width:calc(14ch + 40px)}.course-term-select .gx-select-value{text-overflow:ellipsis;overflow:hidden}.course-week-select{flex:none;width:auto;min-width:0}.course-week-select .gx-select-trigger,.course-week-select .gx-select-native-control{width:auto;min-width:calc(4.5ch + 40px)}.course-shell-toolbar{padding:8px 9px}.course-table-scroll{padding:8px 9px 6px}.course-table-row{min-width:1040px}.home-col{gap:14px}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notice-grid,.about-layout,.timetable-grid{grid-template-columns:1fr}.content{padding:26px 24px 36px}.topbar-title{font-size:clamp(18px,2.6vw,22px)}.btn,.field input,.field textarea,.field select{min-height:42px}.inline-actions{gap:10px}.table th,.table td{font-size:12px}.table tr{height:42px}.auth-qq-grid{grid-template-columns:1fr 200px;gap:14px}.auth-qq-grid .qr-box{width:150px;height:150px}.auth-card-mask-inner{min-width:120px}.auth-error-card{padding:10px 12px}.device-card-head{align-items:flex-start}.device-table{min-width:700px}.device-ua{max-width:260px}.device-actions{gap:6px}.modal.modal-device-detail{width:min(94vw,820px)}.btn.btn-compact{min-height:38px;padding:8px 12px}}@media (max-width:767px){.auth-shell{grid-template-columns:1fr;padding:20px}.auth-login-card{border-radius:22px;padding:20px}.init-brand-sequence{width:min(95vw,560px);height:clamp(140px,34vw,188px)}.init-brand-lockup-svg{width:min(95vw,620px);bottom:10px}.init-loading-wrap{width:min(94vw,380px);min-height:52px}.init-loading-inline{min-width:min(90vw,280px)}.init-loading-label{font-size:12px}.auth-hero{flex-direction:column;align-items:flex-start}.auth-hero-right{justify-content:flex-start;width:100%}.auth-tabs{justify-content:space-between;width:100%;padding:6px}.tab{text-align:center;flex:1;padding:8px 10px;font-size:12px}.auth-body,.auth-fields{gap:12px}.auth-layout{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:10px}.home-banner{flex-direction:column;align-items:flex-start;padding:0 16px 14px}.home-banner-side{display:none}.home-greet-title{font-size:18px}.home-grid{grid-template-columns:1fr}.home-col{gap:12px}.home-card{padding:14px 16px}.home-profile-head{grid-template-columns:auto 1fr}.home-profile-chip{grid-column:1/-1;justify-self:start}.home-profile-grid{grid-template-columns:1fr}.hint-bubble{max-width:none;left:0;right:0}.auth-qq-grid{grid-template-columns:1fr}.qq-status{text-align:center;align-items:center;transform:none}.auth-card-mask-inner{min-width:96px;padding:12px 14px}.auth-qq-grid .qr-box{justify-self:center;width:140px;height:140px;margin-right:0}.auth-qq-grid .qr-box img{object-fit:cover;width:140px!important;height:140px!important}.qq-loading,.qq-error{min-height:180px;padding:18px}.qq-error-btn{width:100%}.auth-error-card{max-width:100%;font-size:12.5px}.agree-row{gap:8px;margin-top:2px;margin-bottom:12px;font-size:12px}.auth-form.step-webvpn .agree-row{margin-bottom:14px}.auth-actions{margin-top:6px}.agree-indicator{border-radius:5px;width:16px;height:16px}.agree-indicator:after{background-size:72% 72%}.app{grid-template-columns:1fr}.sidebar{--sidebar-brand-lockup-width:220px;border:1px solid var(--border);z-index:5;background:#0f0a1af2;border-radius:22px;padding:10px 12px;position:fixed;bottom:14px;left:14px;right:14px;box-shadow:0 12px 30px #08061499}.sidebar>.brand,.sidebar-footer{display:none}.mobile-nav-shell{width:100%;padding:0 20px;position:relative}.mobile-nav-hint{color:#2f7fd6;width:16px;height:16px;box-shadow:none;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out),color .22s var(--ease-out);z-index:6;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.mobile-nav-hint.left{left:2px}.mobile-nav-hint.right{right:2px}.mobile-nav-hint.show{opacity:.98;pointer-events:auto;animation:1.2s ease-in-out infinite mobileNavHintPulse;transform:translateY(-50%)}.nav{scroll-behavior:smooth;flex-direction:row;width:100%;max-width:100%;padding:2px 0 4px;overflow-x:auto}.nav button{text-align:center;white-space:nowrap;flex:none;min-height:44px;padding:10px 14px;font-size:12px}.nav button:after{display:none!important}.grid-2,.grid-3,.home-hero{grid-template-columns:1fr}.view-stage{min-height:max(320px,100dvh - 220px)}.week-bar{flex-wrap:nowrap;align-items:center;gap:8px;padding:0}.week-bar-controls{flex-wrap:nowrap;flex:auto;justify-content:flex-end;align-items:center;gap:8px;width:auto;min-width:0}.gx-select{flex:none;min-width:0}.week-bar-controls .gx-select,.course-shell-toolbar .gx-select{flex:1 1 0;min-width:0}.course-term-select{flex:1 1 0;min-width:0;max-width:100%}.course-term-select .gx-select-trigger,.course-term-select .gx-select-native-control{width:100%;min-width:0}.course-term-select .gx-select-value{text-overflow:ellipsis;overflow:hidden}.course-week-select{flex:0 0 90px;width:90px;min-width:90px}.course-week-select .gx-select-trigger,.course-week-select .gx-select-native-control{width:100%;min-width:0;padding-right:28px}.week-bar-controls .gx-select-trigger,.week-bar-controls .gx-select-native-control{width:100%}.week-bar-left{min-width:0;max-width:48%}.gx-select-trigger,.gx-select-native-control{letter-spacing:0;height:36px;font-size:13px}.week-bar-controls .btn.secondary{height:36px;padding:0 14px}.course-shell-toolbar{padding:9px 8px}.course-table-scroll{padding:8px 8px 6px}.gx-select-menu{max-height:210px;padding:6px}.course-table-row{grid-template-columns:96px repeat(7,minmax(108px,1fr));gap:8px;min-width:900px}.course-time-col,.course-day-col,.course-day-cell{padding:10px 8px}.modal.modal-course-detail{border-radius:12px;width:min(94vw,410px);padding:11px}.course-detail-headline{gap:6px}.course-detail-title{font-size:15px}.course-detail-time-inline{font-size:11px}.course-detail-close{width:22px;height:22px;margin-top:0}.course-detail-close-icon{stroke-width:1.9px;width:15px;height:15px}.course-detail-tag-row{gap:5px;margin-top:7px}.course-detail-tag{height:20px;padding:0 6px;font-size:10px}.course-detail-list{grid-template-columns:1fr}.course-detail-row{min-height:54px;padding:8px}.course-detail-val{font-size:12px}.kpi-grid,.notice-grid,.about-layout,.quick-links{grid-template-columns:1fr}.content{padding:20px 18px 140px}.panel{border-radius:20px;padding:16px}.view-head{flex-direction:column;align-items:flex-start;gap:10px}.view-title{font-size:20px}.view-sub{font-size:12px}.view-actions{width:100%}.view-actions .chip,.view-actions .badge{justify-content:center;width:100%}.topbar{flex-direction:column;align-items:stretch}.topbar-profile,.topbar-actions{text-align:left;width:100%}.topbar-actions .btn,.inline-actions .btn,.inline-actions a.btn{justify-content:center;width:100%}.inline-actions{flex-direction:column;align-items:stretch;gap:10px}.filter-card,.table-card{padding:12px}.board-item,.list-item{padding:14px 16px}.hero-title{font-size:clamp(18px,2.6vw,22px)}.hero-meta{font-size:12px}.kpi-card{padding:12px 14px}.kpi-value{font-size:18px}.btn{min-height:46px;padding:12px 20px;font-size:14px}.field input,.field textarea,.field select{min-height:46px;font-size:14px}.field label{font-size:12px}.chip,.badge,.status{padding:4px 10px;font-size:11px}.info-row{flex-direction:column;align-items:flex-start}.quick-links .btn{width:100%}.modal{padding:18px}.qr-box{width:180px;height:180px}.table th,.table td{white-space:nowrap;padding:8px 6px;font-size:12px}.table tr{height:44px}.list-item,.board-item{min-height:56px}.list-item .btn,.board-item .btn{min-height:42px}.footer{flex-direction:column}.device-card-head{flex-direction:column;align-items:flex-start}.device-card-head .btn{width:100%}.device-table{min-width:640px}.device-ua{max-width:220px}.device-empty{flex-direction:column;align-items:flex-start}.device-actions{flex-direction:column;width:100%}.device-actions .btn{width:100%}.modal.modal-course-detail.device-detail-modal{width:min(94vw,560px);max-height:min(86vh,700px);padding:14px}.device-detail-modal .device-detail-grid{grid-template-columns:1fr}.device-detail-actions{justify-content:flex-start}.btn.btn-compact{min-height:40px;padding:9px 12px;font-size:12px}}@keyframes courseOverlayEnter{0%{opacity:0}to{opacity:1}}@keyframes courseOverlayExit{0%{opacity:1}to{opacity:0}}@keyframes courseDialogEnter{0%{opacity:0;transform:translateY(30px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes courseDialogExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(20px)scale(.97)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes stepSwap{0%{opacity:.6;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%{transform:translateY(0)scale(1)}50%{transform:translateY(18px)scale(1.02)}to{transform:translateY(0)scale(1)}}@keyframes glow{0%,to{box-shadow:0 18px 36px #0a08148c}50%{box-shadow:0 24px 48px #4a2bb859}}@keyframes pulse{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes drift{0%{transform:translate(-6%,-4%)scale(1)}50%{transform:translate(6%,4%)scale(1.04)}to{transform:translate(-6%,-4%)scale(1)}}@keyframes dotPulse{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@media (max-width:767px),(max-width:1366px) and (hover:none) and (pointer:coarse){.app{grid-template-columns:1fr}.sidebar{border:1px solid var(--border);z-index:5;background:#0f0a1af2;border-radius:22px;height:auto;padding:10px 12px;position:fixed;inset:auto 14px 14px;box-shadow:0 12px 30px #08061499}.sidebar-footer{display:none}.mobile-nav-shell{width:100%;padding:0 20px;position:relative}.mobile-nav-hint{color:#2f7fd6;width:16px;height:16px;box-shadow:none;opacity:0;pointer-events:none;transition:opacity .22s var(--ease-out),transform .22s var(--ease-out),color .22s var(--ease-out);z-index:6;background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;padding:0;font-size:0;line-height:0;position:absolute;top:50%;transform:translateY(-50%);display:inline-flex!important}.mobile-nav-hint.left{left:2px}.mobile-nav-hint.right{right:2px}.mobile-nav-hint.show{opacity:.98;pointer-events:auto;animation:1.2s ease-in-out infinite mobileNavHintPulse;transform:translateY(-50%)}.nav{scroll-behavior:smooth;flex-direction:row;width:100%;max-width:100%;padding:2px 0 4px;overflow-x:auto}.nav.is-centered{justify-content:center;overflow-x:hidden}.nav.is-scrollable{justify-content:flex-start}.nav button{text-align:center;white-space:nowrap;flex:none;min-height:44px;padding:10px 14px}.nav button:after{display:none!important}}@keyframes mobileNavHintPulse{0%,to{opacity:.92;transform:translateY(-50%)}50%{opacity:1;transform:translateY(-50%)}}@keyframes courseAxisOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes courseAxisCorePulse{0%,to{opacity:.66;transform:scale(.92)}50%{opacity:.94;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.course-axis-symbol-svg,.course-axis-symbol-core{animation:none}}@media (max-width:980px){.course-axis-symbol{width:32px;height:32px;transform:translate(6px,6px)}}.home-col-compact{align-content:start}.home-item-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth-hero-left{flex-direction:column;gap:4px;min-width:0;display:flex}.auth-fields .field.is-visible{opacity:1;pointer-events:auto;max-height:140px;transform:translateY(0)}.field-student,.field-webvpn,.field-edu{will-change:opacity,transform,max-height}.selected-panel{border-radius:24px;overflow:visible!important}.selected-panel:before,.selected-panel:after{display:none}.selected-shell{flex-direction:column;gap:14px;display:flex}.selected-toolbar{border:1px solid var(--border);background:var(--panel);border-radius:24px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;overflow:visible}.selected-toolbar-left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.selected-filter-bar{flex-wrap:wrap;gap:10px 14px;padding:2px 2px 0;display:flex}.selected-filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.selected-filter-label{color:var(--muted);font-size:12px;line-height:1}.selected-filter-options{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.selected-filter-chip{border:1px solid var(--border);background:var(--panel-2);color:var(--muted);cursor:pointer;border-radius:999px;min-height:30px;padding:5px 12px;font-size:12px;font-weight:600;line-height:1;transition:border-color .2s,color .2s,background .2s,transform .2s}.selected-filter-chip:hover{color:var(--text);border-color:#1f7ac957;transform:translateY(-1px)}.selected-filter-chip.active{color:var(--accent);background:#1f7ac91f;border-color:#1f7ac966}.selected-only-filter-bar{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex;overflow:visible}.selected-only-filter-bar .selected-filter-group{flex-wrap:nowrap;flex:auto;align-items:center;gap:5px;width:100%;min-width:0;display:flex}.selected-only-filter-bar .selected-filter-label{white-space:nowrap;align-items:center;min-height:26px;font-size:11px;font-weight:500;line-height:1;display:inline-flex}.selected-only-filter-bar .selected-filter-options{flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;overflow:visible}.selected-only-filter-bar .selected-filter-chip{white-space:nowrap;flex:none;min-height:26px;padding:4px 8px;font-size:11px}.selected-term-wrap{justify-content:flex-end;min-width:280px;max-width:420px;margin-left:auto;display:flex;overflow:visible}.selected-term-select,.selected-term-select.gx-select{width:100%}.selected-term-select .gx-select-trigger,.selected-term-select .gx-select-native-control{width:100%;min-height:42px;padding-right:34px;position:relative}.selected-term-select .gx-select-menu{z-index:140}.selected-meta-chip{border:1px solid var(--border);background:var(--panel-2);min-height:34px;color:var(--text);border-radius:999px;align-items:center;padding:6px 12px;font-size:12px;display:inline-flex;position:relative;overflow:hidden}.selected-meta-chip-text{flex-wrap:wrap;align-items:center;gap:5px;line-height:1;animation:.46s cubic-bezier(.22,1,.36,1) selectedMetaChipSwap;display:inline-flex}.selected-meta-label{color:var(--muted);font-size:12px;font-weight:500}.selected-meta-highlight{color:var(--accent);font-size:12px;font-weight:700}.selected-meta-divider{color:#1f7ac93d;font-size:12px;transform:translateY(-.5px)}.selected-meta-count{color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.selected-meta-unit{color:var(--muted);font-size:12px;font-weight:600}@keyframes selectedMetaChipSwap{0%{opacity:0;filter:blur(2px);transform:translateY(8px)scale(.985)}65%{opacity:1}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes selectedMetaChipSwapLite{0%{opacity:.06;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.selected-course-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;display:grid}.selected-course-grid.is-single{grid-template-columns:1fr}.selected-course-grid.is-single .selected-course-card{justify-self:start;width:min(100%,460px)}.selected-course-card{border:1px solid var(--border);background:var(--panel);cursor:pointer;border-radius:20px;flex-direction:column;gap:12px;padding:14px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 26px #1f7ac914}.selected-course-card.is-single-card{width:min(100%,460px)}.selected-course-card:hover{border-color:#1f7ac952;transform:translateY(-2px);box-shadow:0 16px 34px #1f7ac924}.selected-course-card:focus-visible{border-color:#1f7ac985;outline:none;box-shadow:0 0 0 3px #1f7ac924}.selected-course-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.selected-course-title-wrap{min-width:0}.selected-course-title{color:var(--text);word-break:break-word;margin:0;font-size:17px;font-weight:700;line-height:1.36}.selected-course-code{color:var(--muted);margin-top:6px;font-size:12px}.selected-course-pill-stack{align-items:center;gap:8px;display:flex}.selected-course-state,.selected-course-index{border:1px solid var(--border);background:var(--panel-2);min-width:46px;height:28px;color:var(--muted);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;display:inline-flex}.selected-course-state{color:#1f6db2;background:#1f7ac91c;border-color:#1f7ac947;padding:0 10px}.selected-course-quick-row{flex-wrap:wrap;gap:8px;display:flex}.selected-quick-chip{border:1px solid var(--border);background:var(--panel-2);min-height:28px;color:var(--text);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;display:inline-flex}.selected-course-panels{grid-template-columns:1fr;gap:10px;display:grid}.selected-course-panel{border:1px solid var(--border);background:#fff;border-radius:14px;padding:10px 10px 8px}.selected-panel-head{color:var(--text);letter-spacing:.2px;margin-bottom:8px;font-size:12px;font-weight:700}.selected-info-row{grid-template-columns:92px minmax(0,1fr);align-items:start;gap:8px;padding:4px 0;display:grid}.selected-info-key{color:var(--muted);font-size:12px;line-height:1.45}.selected-info-val{color:var(--text);word-break:break-word;font-size:13px;line-height:1.45}.selected-course-card-foot{justify-content:flex-end;display:flex}.selected-course-card-interact-tip{color:var(--accent);opacity:.92;font-size:12px;font-weight:600}.selected-missing-pill{color:#677a95;white-space:nowrap;background:#f8fbfff5;border:1px solid #d5deea;border-radius:999px;align-self:flex-start;align-items:center;width:fit-content;max-width:100%;min-height:24px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.2;display:inline-flex}.selected-plan-modal{flex-direction:column;width:min(88vw,620px);max-width:620px;max-height:min(86vh,760px);display:flex;overflow:hidden}.selected-plan-detail-grid{z-index:1;scrollbar-width:none;-ms-overflow-style:none;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:0;padding-right:4px;display:grid;position:relative;overflow:hidden auto}.selected-plan-detail-grid::-webkit-scrollbar{width:0;height:0;display:none}.selected-plan-detail-item{min-height:58px;box-shadow:none;background:#ffffffbd;border:none;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;padding:8px 9px;display:flex}.selected-plan-detail-item .selected-missing-pill{box-shadow:none;border:none;margin-top:2px}.selected-empty-card{grid-column:1/-1}.select-shell{flex-direction:column;gap:14px;display:flex}.select-toolbar{box-shadow:none;z-index:24;background:0 0;border:1px solid #0000;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px 0;transition:none;display:flex;position:relative;overflow:visible}.select-toolbar:hover{box-shadow:none;border-color:#0000;transform:none}.select-toolbar-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.select-toolbar-right{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.grab-inline-meta{flex-flow:column;align-items:flex-start;gap:3px;min-width:0;display:flex}.grab-inline-item{min-height:0;box-shadow:none;background:0 0;border:none;border-radius:10px;align-items:center;gap:6px;min-width:0;padding:1px 0;display:inline-flex}.grab-inline-label{color:#70839e;flex-shrink:0;font-size:11px;font-weight:700;line-height:1.15}.grab-inline-value{color:#4b627f;align-items:center;gap:2px;min-width:0;font-size:12px;font-weight:600;line-height:1.15;display:inline-flex}.grab-inline-value-main,.grab-inline-value-note{white-space:nowrap}.grab-inline-item.is-normal .grab-inline-value{color:var(--accent)}.grab-inline-item.is-sponsor .grab-inline-value{color:#725625;font-weight:700}.grab-inline-item.is-sponsor.no-label{gap:0}.grab-inline-item.is-sponsor .grab-inline-value-main{font-weight:700;line-height:1.15}.grab-inline-item.is-free .grab-inline-value{color:var(--success)}.grab-inline-item.is-warn .grab-inline-value{color:var(--warning)}.grab-inline-item.is-full .grab-inline-value,.grab-inline-item.is-closed .grab-inline-value{color:var(--danger)}.grab-inline-value-note{color:#7f93ad;font-weight:500}.select-meta-chip{min-height:36px}.select-term-wrap{flex:0 340px;min-width:250px;max-width:380px;overflow:visible}.select-toolbar-right .btn{white-space:nowrap;flex:none}.grab-advanced-btn-toolbar{width:fit-content}.select-term-select,.select-term-select.gx-select{width:100%}.select-term-select .gx-select-trigger,.select-term-select .gx-select-native-control{width:100%;min-height:42px;padding-right:34px;position:relative}.select-term-select .gx-select-menu{z-index:320}.select-filter-bar{box-shadow:none;background:0 0;border:none;border-radius:14px;align-items:center;padding:10px 12px}.select-meta-chip-before-filters{border:1px solid var(--border);background:var(--panel-2);min-height:30px;box-shadow:none;border-radius:999px;flex-shrink:0;margin-right:8px;padding:5px 12px}.select-meta-chip-before-filters .selected-meta-chip-text{font-size:12px;line-height:1}.select-filter-bar .selected-filter-label{color:#4b6792e6;font-weight:400}.select-filter-groups-row{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.select-fetch-notice{color:#8c6121;background:#fff8eaeb;border-style:dashed;border-color:#d4c19aad;margin-bottom:10px;animation:.42s cubic-bezier(.22,1,.36,1) selectedMetaChipSwap}.select-fetch-notice-icon{border-color:#e2b566a6}.select-table-card{box-shadow:none;background:0 0;border:none;border-radius:18px;padding:0;transition:none;overflow:visible}.select-table-card:hover{box-shadow:none;border:none;transform:none}.select-group-list{flex-direction:column;gap:14px;display:flex}.select-group-card{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0}.select-group-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;padding:0;display:flex}.select-group-title{color:var(--text);letter-spacing:.01em;font-size:15px;font-weight:700}.select-group-count{color:var(--muted);font-size:12px}.select-course-grid{grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:12px;display:grid}.select-course-grid.is-single{grid-template-columns:1fr}.select-course-grid.is-single .select-course-item{justify-self:start;width:min(100%,460px)}.select-course-item{cursor:pointer;transition:border-color var(--fast)var(--ease-out),background-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out);background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%);border:1px solid #d6e3f5;border-radius:16px;flex-direction:column;gap:8px;padding:12px 13px;display:flex;position:relative;box-shadow:0 10px 24px #193d671f}.select-course-item>*{z-index:1;position:relative}.select-course-item.is-added{background:linear-gradient(160deg,#f7fafffa,#f1f6fcf2);border-color:#8694a88f;box-shadow:0 10px 24px #193d6714,inset 0 0 0 1px #a4b2c429}.select-course-item.is-added:after{content:"";border-radius:inherit;pointer-events:none;z-index:0;background:linear-gradient(118deg,#7c899d0d,#67748821);position:absolute;inset:0}.select-course-item.is-added:hover{background:linear-gradient(160deg,#f7fafffa,#f1f6fcf2);border-color:#8694a88f;transform:none;box-shadow:0 10px 24px #193d6714,inset 0 0 0 1px #a4b2c429}.select-course-item:hover{background:linear-gradient(#fffffffc 0%,#f8fcfff5 100%);border-color:#bfd5f2;transform:none;box-shadow:0 14px 28px #193d6729}.select-course-item:focus-visible{border-color:#1f7ac985;outline:none;box-shadow:0 0 0 3px #1f7ac924}.select-course-item-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.select-course-state-list{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:7px;display:inline-flex}.select-course-code{color:color-mix(in srgb,var(--accent)88%,var(--text)12%);word-break:break-all;font-size:12.5px;font-weight:700;line-height:1.2}.select-course-add-btn{box-sizing:border-box;appearance:none;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;width:16px;height:16px;transition:border-color var(--fast)var(--ease-out),background var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),transform var(--fast)var(--ease-out);border-radius:999px;flex:none;place-items:center;padding:0;font-size:0;display:inline-grid;position:relative;box-shadow:0 6px 12px #2f7fd62e}.select-course-add-icon{transform-origin:50%;width:7px;height:7px;transition:transform .64s cubic-bezier(.22,1,.36,1);display:inline-block;position:relative}.select-course-add-icon:before,.select-course-add-icon:after{content:"";background:currentColor;border-radius:999px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.select-course-add-icon:before{width:7px;height:1px}.select-course-add-icon:after{width:1px;height:7px}.select-course-add-icon.is-minus:after{display:none}.select-course-add-btn:hover{color:#fff;background:#2a73c3;border-color:#2a73c3;transform:translateY(-1px);box-shadow:0 8px 14px #2f7fd638}.select-course-add-btn:hover .select-course-add-icon{transform:rotate(1turn)}.select-course-add-btn.is-added{color:#fff;background:#657183eb;border-color:#657183eb;box-shadow:0 6px 12px #5a66762e}.select-course-add-btn.is-added:hover{color:#fff;background:#596678eb;border-color:#596678eb;box-shadow:0 8px 14px #525d6c38}.select-course-meta{color:var(--muted);font-size:12.5px;line-height:1.45}.select-course-chip-row{flex-wrap:wrap;gap:7px;display:flex}.select-course-chip{color:#4f627e;background:#f8fbfff0;border:1px solid #d3dfec;border-radius:999px;align-items:center;min-height:25px;padding:3px 9px;font-size:12px;line-height:1.2;display:inline-flex}.select-course-time{background:#f9fcfff0;border:1px solid #d7e2ef;border-radius:12px;flex-direction:column;gap:6px;padding:10px 11px;font-size:12px;line-height:1.35;display:flex}.select-course-time-week-group{flex-direction:column;gap:3px;display:flex}.select-course-time-week-label{color:var(--text);font-size:12px;font-weight:600;line-height:1.2}.select-course-time-week-body{flex-direction:column;gap:4px;padding-left:12px;display:flex}.select-course-time-line{flex-wrap:wrap;align-items:baseline;gap:5px;display:flex}.select-course-time-prefix{color:var(--text);font-size:12px;font-weight:500}.select-course-time-nodes{flex-wrap:wrap;align-items:baseline;display:inline-flex}.select-course-time-node-wrap{align-items:baseline;display:inline-flex}.select-course-time-node{color:var(--text);font-size:12px;font-weight:500;line-height:1.35}.select-course-time-node.is-conflict{color:var(--danger);font-weight:500}.select-course-time-sep{color:var(--muted)}.select-course-time-room{color:color-mix(in srgb,var(--text)88%,var(--muted)12%);font-size:12px}.select-course-time-empty{color:var(--muted);font-size:12px}.select-empty-tip{min-height:132px;color:var(--muted);text-align:center;background:#f8fcffdb;border:1px dashed #d2deeb;border-radius:14px;justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex}.select-status-pill,.select-conflict-head-pill{border:1px solid var(--border);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:22px;padding:2px 8px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.select-status-pill.is-open{color:var(--success);border-color:color-mix(in srgb,var(--success)42%,var(--border)58%);background:color-mix(in srgb,var(--success)12%,var(--panel)88%)}.select-status-pill.is-full{color:var(--danger);border-color:color-mix(in srgb,var(--danger)42%,var(--border)58%);background:color-mix(in srgb,var(--danger)12%,var(--panel)88%)}.select-conflict-head-pill.is-risk{color:var(--danger);border-color:color-mix(in srgb,var(--danger)42%,var(--border)58%);background:color-mix(in srgb,var(--danger)10%,var(--panel)90%)}.select-conflict-head-pill.is-safe{color:var(--success);border-color:color-mix(in srgb,var(--success)34%,var(--border)66%);background:color-mix(in srgb,var(--success)9%,var(--panel)91%)}.select-course-detail-modal{width:min(92vw,660px);max-width:660px}.select-detail-status-row{flex-wrap:wrap;align-items:center;gap:8px;margin-top:2px;margin-bottom:10px;display:flex}.select-detail-chip-row{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.select-detail-chip{border:1px solid color-mix(in srgb,var(--border)80%,#fff 20%);background:color-mix(in srgb,var(--panel-2)70%,transparent 30%);min-height:26px;color:var(--text);border-radius:999px;align-items:center;padding:3px 9px;font-size:12px;line-height:1.2;display:inline-flex}.select-detail-tone{border:1px solid var(--border);border-radius:999px;align-items:center;min-height:24px;padding:2px 9px;font-size:12px;font-weight:600;display:inline-flex}.select-detail-tone.is-open{color:var(--success);border-color:color-mix(in srgb,var(--success)42%,var(--border)58%);background:color-mix(in srgb,var(--success)12%,var(--panel)88%)}.select-detail-tone.is-full,.select-detail-tone.is-risk{color:var(--danger);border-color:color-mix(in srgb,var(--danger)42%,var(--border)58%);background:color-mix(in srgb,var(--danger)10%,var(--panel)90%)}.select-detail-tone.is-safe{color:var(--success);border-color:color-mix(in srgb,var(--success)40%,var(--border)60%);background:color-mix(in srgb,var(--success)11%,var(--panel)89%)}.select-course-detail-raw{border:1px solid color-mix(in srgb,var(--border)76%,#fff 24%);background:color-mix(in srgb,var(--panel)94%,#fff 6%);border-radius:12px;margin-top:10px;padding:9px 10px}.select-course-detail-raw-value{margin-top:5px}.select-course-detail-raw-value .course-detail-val{white-space:pre-wrap;word-break:break-word}@media (max-width:980px){.select-term-wrap,.selected-term-wrap{min-width:240px;max-width:360px}.selected-course-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}}@media (max-width:767px){.select-toolbar{border-radius:18px;flex-wrap:nowrap;align-items:center;gap:8px;padding:10px 12px 0}.select-toolbar-left,.select-toolbar-right{width:auto;margin-left:0}.select-toolbar-left{flex:auto;align-items:center;min-width:0;overflow:hidden}.select-toolbar-right{flex-wrap:nowrap;flex:none;justify-content:flex-end;align-items:center;gap:6px}.grab-inline-meta{flex-flow:column;align-items:flex-start;gap:2px;width:100%;overflow:hidden}.grab-inline-item{flex:none;gap:4px;width:100%;min-width:0;min-height:0;padding:0}.grab-inline-label{font-size:10px}.grab-inline-value{gap:2px;min-width:0;font-size:11px}.grab-inline-value-main{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.grab-inline-value-note{display:none}.select-meta-chip-before-filters{align-self:center;width:auto;max-width:100%;margin-bottom:0;margin-right:8px}.grab-advanced-btn-toolbar{width:fit-content}.grab-task-head{flex-flow:row;justify-content:space-between;align-items:center;gap:8px}.grab-task-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.grab-task-log-btn{white-space:nowrap;flex:none;margin-left:6px}.grab-task-log-state{max-width:140px}.select-term-wrap{flex:100%;min-width:0;max-width:none}.select-toolbar-right .btn{justify-content:center;width:auto;min-height:30px;padding-left:10px;padding-right:10px;font-size:12px}.select-table-card{border-radius:18px;padding:12px}.select-group-head{flex-direction:column;align-items:flex-start;gap:4px}.select-course-grid{grid-template-columns:1fr}.select-group-card{padding:11px 12px}.select-detail-status-row{gap:6px}.select-detail-chip-row{gap:5px}.selected-toolbar{border-radius:16px;align-items:stretch;padding:12px}.selected-toolbar-left{width:100%}.selected-filter-bar{gap:8px;padding-left:0;padding-right:0}.selected-filter-group{align-items:flex-start;width:100%}.select-filter-bar{white-space:normal;flex-wrap:wrap;justify-content:flex-start;align-items:center;overflow:visible}.select-filter-bar .selected-meta-chip{flex:none;align-self:center}.select-filter-bar .select-meta-chip-before-filters{contain:paint;flex:none;align-self:flex-start;width:auto;margin-bottom:0;margin-right:0}.select-filter-bar .select-meta-chip-before-filters .selected-meta-chip-text{white-space:nowrap;will-change:opacity,transform;flex-wrap:nowrap;align-items:center;line-height:1;animation:.22s cubic-bezier(.2,.8,.2,1) selectedMetaChipSwapLite;display:inline-flex}.select-filter-groups-row{flex-wrap:nowrap;align-items:center;gap:8px;width:100%;min-width:0;display:inline-flex}.select-filter-bar .selected-filter-group{flex-wrap:nowrap;flex:none;align-items:center;gap:5px;width:auto;min-width:0}.select-filter-bar .selected-filter-label{align-items:center;min-height:26px;font-weight:500;line-height:1;display:inline-flex}.select-filter-bar .selected-filter-options{flex-wrap:nowrap;align-items:center;gap:5px}.select-filter-bar .selected-filter-chip{min-height:26px;padding:4px 8px;font-size:11px}.selected-term-wrap{width:100%;min-width:100%;max-width:none;margin-left:0}.selected-course-grid,.selected-course-grid.is-single{grid-template-columns:1fr}.selected-course-grid.is-single .selected-course-card{width:100%}.selected-course-card{border-radius:16px;padding:12px}.selected-course-pill-stack{flex-wrap:wrap;justify-content:flex-end}.selected-course-panels{grid-template-columns:1fr}.selected-info-row{grid-template-columns:1fr;gap:4px}.selected-plan-modal{width:min(94vw,420px);max-height:min(88vh,760px)}.selected-plan-detail-grid{grid-template-columns:1fr;gap:7px}.selected-plan-detail-item{min-height:52px;padding:7px 8px}}.exam-panel{overflow:visible}.exam-shell{flex-direction:column;gap:14px;display:flex}.exam-toolbar{grid-template-columns:minmax(0,1fr) minmax(340px,.96fr);align-items:stretch;gap:14px;display:grid}.exam-summary{background:#ffffffeb;border:1px solid #1f7ac9eb;border-radius:20px;flex-direction:column;justify-content:center;gap:9px;padding:14px 16px;display:flex}.exam-summary-kicker{color:#1f7ac9d1;letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.exam-summary-main{color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;font-weight:600;line-height:1.45;display:inline-flex}.exam-summary-main-source .exam-summary-highlight{font-size:14px;font-weight:700}.exam-summary-main-source{color:var(--muted);font-size:12px;font-weight:400;line-height:1.45}.exam-summary-update-time{font-size:12px;font-weight:inherit;color:inherit;line-height:inherit;letter-spacing:0}.exam-summary-highlight{color:var(--accent);letter-spacing:.01em;font-weight:800}.exam-summary-meta{color:#b8b2d9d1;flex-wrap:wrap;align-items:center;gap:7px 8px;font-size:12px;display:flex}.exam-summary-meta-files{align-items:flex-start}.exam-source-pill{max-width:100%;color:var(--accent);white-space:normal;word-break:break-all;text-align:left;background:0 0;border:1px solid #1f7ac9b8;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;line-height:1.2;display:inline-flex}.exam-source-empty{color:#b8b2d9bd}.exam-summary-result{color:var(--text);flex-wrap:wrap;align-items:center;gap:6px;font-size:15px;font-weight:600;line-height:1.45;display:inline-flex}.exam-query-form{background:#fffffff5;border:1px solid #1f7ac9e6;border-radius:20px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.exam-query-label{color:#b8b2d9e6;font-size:12px;font-weight:700}.exam-query-controls{align-items:center;gap:8px;display:flex}.exam-query-input{min-width:0;height:40px;color:var(--text);background:#fffffff0;border:1px solid #1f7ac9f5;border-radius:12px;flex:1;padding:0 12px}.exam-student-input{width:100%}.exam-query-input:focus{border-color:#1f7ac98f;outline:none;box-shadow:0 0 0 3px #1f7ac924}.exam-query-btn{border-radius:12px;min-width:92px;height:40px}.exam-query-tip{color:#b8b2d9c7;font-size:12px}.exam-notice-inline{color:#8c6121;background:#fff8eaeb;border:1px dashed #d4c19aad;border-radius:14px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.exam-notice-icon{background:#fffffff0;border:1px solid #e2b566a6;border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-top:0;font-size:11px;font-weight:700;display:inline-flex}.exam-notice-content{flex-direction:column;gap:4px;display:flex}.exam-notice-text{color:inherit}.exam-notice-link{color:#96611a;text-underline-offset:2px;width:fit-content;text-decoration:underline}.exam-query-error{color:#b54775;background:#fff1f6eb;border:1px solid #e69ab5bd;border-radius:12px;padding:9px 11px;font-size:12px}.exam-grid{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:12px;display:grid}.exam-card{cursor:pointer;transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s var(--ease-out);background:#fffffff7;border:1px solid #1f7ac9f0;border-radius:18px;flex-direction:column;gap:11px;padding:13px 14px;display:flex;box-shadow:0 8px 18px #1f7ac914}.exam-card:hover{border-color:#9b7bffb3;transform:translateY(-2px);box-shadow:0 12px 22px #1f7ac91c}.exam-card:focus-visible{border-color:#1f7ac9e6;outline:none;box-shadow:0 0 0 3px #1f7ac933}.exam-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.exam-card-title-wrap{flex-direction:column;gap:5px;min-width:0;display:flex}.exam-card-subject{color:var(--text);word-break:break-word;margin:0;font-size:16px;font-weight:800;line-height:1.32}.exam-card-time-text{color:#b8b2d9db;word-break:break-word;align-items:center;gap:8px;font-size:12px;line-height:1.4;display:inline-flex}.exam-countdown-pill{color:#61748f;white-space:nowrap;background:#f7fbff;border:1px solid #d0dceb;border-radius:999px;flex:none;justify-content:center;align-items:center;margin-top:2px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.exam-countdown-pill.finished,.exam-countdown-pill.unknown{color:#6d8099;background:#f6fafff0;border-color:#d0dceb}.exam-card-detail-key{color:#b8b2d9db;font-size:11px}.exam-card-detail-value{color:var(--muted);word-break:break-word;font-size:13px;font-weight:700;line-height:1.32}.exam-card.tone-finished,.exam-card.tone-unknown{border-color:#1f7ac9e6}.exam-empty{color:#b8b2d9e0;text-align:center;background:#fbf9ffd9;border:1px dashed #1f7ac9e6;border-radius:14px;padding:26px 14px;font-size:14px;font-weight:600}.exam-detail-modal .course-detail-glass-time{white-space:normal}.exam-detail-list{gap:4px;display:grid}.exam-detail-row{grid-template-columns:78px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:2px 0;display:grid}.exam-detail-key{color:#b8b2d9db;font-size:12px}.exam-detail-row .selected-missing-pill{align-self:center}.exam-detail-value{color:var(--text);word-break:break-word;font-size:14px;font-weight:700;line-height:1.45}.exam-detail-value-raw{white-space:pre-wrap}@media (max-width:980px){.exam-toolbar{grid-template-columns:1fr}.exam-summary-main{font-size:13px}.exam-summary-result{font-size:14px}.exam-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:767px){.exam-shell{gap:12px}.exam-summary-main{font-size:12px}.exam-summary-result,.exam-summary-highlight{font-size:13px}.exam-query-form{padding:10px}.exam-query-controls{flex-direction:column;align-items:stretch}.exam-query-btn{width:100%}.exam-grid{grid-template-columns:1fr}.exam-card{border-radius:16px;padding:11px}.exam-card-subject{font-size:15px}.exam-card-meta-grid{grid-template-columns:1fr;gap:8px}.exam-detail-row{grid-template-columns:70px minmax(0,1fr);gap:8px}}.score-panel{overflow:visible}.score-shell{flex-direction:column;gap:14px;display:flex}.score-overview{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;padding:10px 2px;display:flex}.score-overview-main{color:#b8b2d9e0;align-items:baseline;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.score-overview-highlight{letter-spacing:-.02em;color:var(--accent);font-size:26px;font-weight:800;line-height:1}.score-overview-sub{color:#b8b2d9cc;font-size:13px}.score-term-stack{flex-direction:column;gap:12px;display:flex}.score-term-section{background:#ffffffe6;border:1px solid #1f7ac9e6;border-radius:16px;padding:12px;box-shadow:0 8px 20px #1f7ac914}.score-term-section.is-current{border-color:#1f7ac957;box-shadow:0 10px 24px #1f7ac91c}.score-term-head{border-bottom:1px solid #1f7ac92e;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:8px;display:flex}.score-term-title{color:var(--text);font-size:15px;font-weight:700}.score-term-meta{color:#b8b2d9d1;background:#1f7ac9cc;border-radius:999px;padding:3px 9px;font-size:12px}.score-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:10px;display:grid}.score-course-card{background:#fffffff5;border:1px solid #1f7ac9f2;border-radius:14px;flex-direction:column;gap:9px;min-height:144px;padding:11px 12px;display:flex}.score-course-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.score-course-name{color:var(--text);word-break:break-word;margin:0;font-size:15px;font-weight:700;line-height:1.42}.score-grade-badge{color:#1f6db2;background:#1f7ac91a;border:1px solid #1f7ac947;border-radius:999px;justify-content:center;align-items:center;min-width:62px;padding:5px 10px;font-size:13px;font-weight:700;display:inline-flex}.score-grade-badge.good,.score-grade-badge.pass{color:#1f6db2;background:#1f7ac91f;border-color:#1f7ac94d}.score-card-meta{flex-wrap:wrap;gap:6px;display:flex}.score-meta-chip{color:#b8b2d9e6;background:#fffffff0;border:1px solid #1f7ac9e6;border-radius:999px;align-items:center;padding:4px 9px;font-size:12px;display:inline-flex}.score-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.score-detail-item{background:#fbf9ffe0;border:1px solid #1f7ac9eb;border-radius:10px;flex-direction:column;gap:3px;min-height:48px;padding:6px 8px;display:flex}.score-detail-key{color:#b8b2d9c2;font-size:11px}.score-detail-value{color:var(--muted);word-break:break-word;font-size:12px;font-weight:600;line-height:1.3}.score-empty{color:#b8b2d9e0;text-align:center;background:#fbf9ffd9;border:1px dashed #1f7ac9eb;border-radius:12px;padding:20px 14px;font-size:13px}@media (max-width:1024px){.score-course-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.score-detail-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:767px){.score-overview{align-items:flex-start;padding:6px 0 4px}.score-overview-main{font-size:13px}.score-overview-highlight{font-size:clamp(18px,2.6vw,22px)}.score-overview-sub{width:100%;font-size:12px}.score-term-section{border-radius:14px;padding:10px}.score-course-grid{grid-template-columns:1fr}.score-course-card{min-height:0;padding:10px}.score-course-name{font-size:14px}.score-grade-badge{min-width:56px;padding:4px 8px;font-size:12px}.score-detail-grid{grid-template-columns:1fr}}.panel{border:1px solid var(--border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffffe6}.panel:before{border-radius:inherit;border:1px solid #ffffffb8;inset:0}.panel:after{display:none}.panel.card{background:#ffffffeb}.panel.card:hover{border-color:#c8d6f3;transform:translateY(-2px);box-shadow:0 16px 28px #1a387a1f}.view-loading-icon{color:#2d58cb;box-shadow:none;background:#e9efff}.hero-card,.kpi-card,.board,.filter-card:not(.select-toolbar):not(.grab-topbar-card):not(.grab-task-card),.table-card:not(.select-table-card):not(.grab-log-card),.home-banner,.home-card,.home-item,.home-profile-item,.home-profile-ribbon,.info-row,.list-item,.log-box:not(.grab-log-box),.device-card{background:#ffffffeb;border-color:#dbe4f2;box-shadow:0 8px 18px #253f760f}.hero-card:after,.home-card-profile:before{background:#3f6ef514}.home-greet-title,.home-card-title,.home-item-title,.home-profile-name,.hero-title,.board-title,.kpi-value{color:#1f2c48}.home-greet-sub,.home-item-sub,.home-profile-id,.hero-meta,.home-card-meta,.home-profile-item span,.kpi-label,.markdown p,.markdown li{color:#6f7c94}.home-card-tag,.home-profile-ribbon,.home-profile-avatar,.home-profile-chip{border-color:#c7d7fb}.home-profile-avatar{color:#fff;background:#4f77eb;box-shadow:0 8px 16px #3f6ef542}.list-item:before{background:#8da8f7}.list-item:hover,.info-row:hover{background:#f8fbff;border-color:#c7d7fb}.field label,.info-label,.device-ua,.side-label,.side-name,.topbar-meta,.footer,.markdown p,.markdown li{color:#73809a}.field input,.field textarea,.field select,.input-wrap input{color:#22314f;box-shadow:none;background:#fff;border:1px solid #ced9ee}.field input:focus,.field textarea:focus,.field select:focus,.input-wrap:focus-within input{border-color:#6f91f7;box-shadow:0 0 0 3px #5881f329}.pw-toggle{color:#8390a8}.input-hint{color:#7c89a0}.hint-bubble{color:#44506a;background:#fff;border:1px solid #d7e2f6;box-shadow:0 8px 18px #1e34671f}.hint-bubble:after{border-top-color:#fff}.hint-title{color:#2f466f}.hint-line{color:#647389}.badge,.chip{color:#58657f;background:#f3f6ff;border:1px solid #d5e0f7}.status{color:#5a6782;background:#f3f6ff;border:1px solid #d5e0f7}.status.success{color:#1c8c65;background:#e9f8f2;border-color:#bfe8d8}.status.danger{color:#cf4763;background:#ffeef2;border-color:#f8c8d3}.status.warn{color:#b9780c;background:#fff5e8;border-color:#f6d9ad}.btn.secondary{color:#334761;background:#fff;border:1px solid #cbd8f1}.btn.ghost{color:#41506c;background:#f6f9ff;border:1px solid #d5e0f7}.btn.danger{background:#d84a65;box-shadow:0 8px 16px #d84a6542}.btn:focus-visible,.nav button:focus-visible,.inline-actions a.btn:focus-visible{outline:2px solid #4f76eb73}.auth-card,.auth-login-card,.auth-side-card{background:#ffffffe6;border:1px solid #d8e3f4;animation:3.5s ease-in-out infinite glow;box-shadow:0 12px 28px #1c366c1f}.auth-card:before,.auth-login-card:after{display:none}.auth-title,.auth-stage-title,.auth-side-title{color:#22314f}.auth-sub,.auth-stage-sub,.auth-badge,.auth-meta-item{color:#6f7e98}.auth-card-mask{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f5f9ffad}.auth-card-mask-inner{box-shadow:none;background:0 0;border:none}.auth-error-card{box-shadow:none;color:#c44962;background:0 0;border:none}.qq-error-title{color:#c84360}.qq-error-sub,.qq-status-sub,.qq-status-tip{color:#7a859c}.qq-loading,.qq-error{background:#fff;border:1px solid #d8e4f7;box-shadow:0 8px 16px #223e741a}.qq-loading-text,.qq-status-title{color:#2b3d5f}.qr-box{background:#fff;border:1px solid #cddaf5;box-shadow:0 8px 14px #2a447a1f}.qr-box.clickable:hover{border-color:#9ab6f7;box-shadow:0 12px 20px #304e8a29}.agree-indicator{background:#fff;border:1px solid #c7d7e9}.app{background:0 0}.sidebar{background:#ffffffdb;border-right:1px solid #d8e2f1;box-shadow:inset -1px 0 #fff9}.nav button{color:#63708a;border:1px solid #0000}.nav button:hover{color:#2f4f9f;box-shadow:none;background:#f5f8ff;border-color:#d3def4}.nav button.active{color:#2a4cb2;box-shadow:none;background:#eef4ff;border-color:#c7d7fb}.nav button:after{opacity:.24;background:currentColor}.nav button.active:after,.nav button:hover:after{opacity:.62}.nav button:nth-child(2).active{color:#287e5d;background:#ecf8f2;border-color:#c8ebd9}.nav button:nth-child(3).active{color:#2e58c8;background:#edf3ff;border-color:#cdd9fa}.nav button:nth-child(4).active{color:#bb6e2e;background:#fff3ec;border-color:#f3d4be}.nav button:nth-child(5).active{color:#c25183;background:#fff0f5;border-color:#f4c9db}.nav button:nth-child(6).active{color:#2f6d99;background:#eff8ff;border-color:#cbe5f8}.nav button:nth-child(7).active{color:#af7a0e;background:#fff8ea;border-color:#f3dfb3}.nav button:nth-child(8).active{color:#5c5bb1;background:#f2f2ff;border-color:#d8d8ff}.nav button:nth-child(9).active{color:#2e8a72;background:#eefaf7;border-color:#caece1}.nav button:nth-child(10).active{color:#3457bc;background:#edf2ff;border-color:#cad8fb}.nav button:nth-child(11).active{color:#6c4cae;background:#f8f2ff;border-color:#e1d0f9}.side-card{background:#fff;border:1px solid #dbe4f3}.side-id{color:#243756}.side-chip{color:#51617d;background:#f3f7ff;border-color:#d3def4}.content{background:0 0}.topbar-title,.topbar-profile,.topbar-actions .chip{color:#394b6d;background:#ffffffe6;border-color:#d6e0f0}.topbar-actions .chip{font-weight:500}.footer{color:#7f8ba1}.week-bar-controls .btn.secondary,.gx-select-trigger,.gx-select-native-control{color:#33445f;background:#fff;border-color:#cfd9ee}.gx-select-trigger:focus-visible,.gx-select-native-control:focus-visible{border-color:#6f91f7;box-shadow:0 0 0 3px #5881f329}.gx-select-menu{background:#fff;border-color:#cfdaf0;box-shadow:0 12px 24px #1d386d24}.gx-select-option{color:#30435f}.course-status-icon{color:#4f77eb}.course-table-shell{background:#ffffffeb;border-color:#d7e0ef}.course-shell-toolbar{background:#f7faff;border-bottom:1px solid #dfe7f4}.course-table-head .course-day-col,.course-table-head .course-time-col{color:#324866}.course-day-head-main{color:#2f4460}.course-day-head-sub{color:#7b88a2}.course-table-row:not(.course-table-head) .course-time-col{box-shadow:none;background:0 0}.course-day-col{background:#f8fbff}.course-day-cell{background:#fafcffe6}.course-card-stack{color:#24344f;background:#fff;border-color:#d7e1f3;box-shadow:0 4px 10px #263e6d14}.course-card-stack:hover{background:#f8fbff;border-color:#aec4ed;box-shadow:0 8px 14px #2943761f}.course-card-name{color:#24354f}.course-card-meta{color:#6f7d95}.course-empty{color:#8e9ab2}.overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#26385b33}.modal{color:#1f2738;background:#fffffff5;border:1px solid #d8e2f1;box-shadow:0 20px 36px #1b35672e}.modal h3,.modal h4{color:#263959}.modal.modal-course-detail{background:#fffffffa;border-color:#d6e1f3;box-shadow:0 18px 32px #1e396e2e}.modal.modal-course-detail:before{box-shadow:inset 0 0 0 1px #c9d6f1cc}.course-detail-title,.course-detail-val{color:#24344f}.course-detail-time-inline,.course-detail-key{color:#72809b}.course-detail-tag,.course-detail-row{color:#3a4f72;background:#f5f8ff;box-shadow:inset 0 0 0 1px #e1e9f8}.device-card-sub,.device-empty,.device-ua,.device-detail-item .label,.device-detail-item .value,.device-name{color:#6f7d95}.device-row-clickable:hover{background:#f2f7ff}.device-row-clickable:focus-visible{outline-color:#4f76ebb3}.table th,.table td,.device-table td{color:#33435f;border-bottom-color:#e1e8f5}.table-card:not(.select-table-card):not(.grab-log-card) .table thead th{color:#637391;background:#f4f8ff}.table-card:not(.select-table-card):not(.grab-log-card) .table tr:hover td{background:#f7faff}.init-overlay{background-color:#f3f7ff}.init-title{color:#304a78}.init-sub,.init-note{color:#75839f}@media (max-width:1024px){.sidebar{background:#ffffffeb}.topbar,.course-shell-toolbar,.course-table-scroll{padding-left:14px;padding-right:14px}}@media (max-width:767px){.sidebar{background:#fffffff5;border-radius:24px;height:auto;min-height:0;max-height:calc(100vh - 28px);top:auto;overflow:visible;box-shadow:0 16px 32px #1b32612e}.nav button{color:#4d5f7b;font-weight:500}.nav button.active{font-weight:600}.content{padding-bottom:156px}.topbar-title,.topbar-profile,.topbar-actions .chip{background:#fffffff5}.panel,.home-banner,.home-card,.board,.filter-card,.table-card,.auth-login-card,.auth-side-card,.modal{border-radius:16px}}:root{--bg:#f8f6fc;--bg-2:#fff;--panel:#fff;--panel-2:#fbf9ff;--panel-3:#f2ecff;--accent:#7c4dff;--accent-2:#6538df;--accent-3:#b695ff;--text:#241a37;--muted:#5f5478;--border:#d8cee9;--shadow:0 14px 32px #38227624}body{color:var(--text);background-color:#f8f6fc;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='none'%3E%3Ccircle cx='4' cy='4' r='1.3' fill='%23e1d7f0'/%3E%3Ccircle cx='60' cy='42' r='1.1' fill='%23ece3f8'/%3E%3Ccircle cx='92' cy='88' r='1.0' fill='%23ded3ef'/%3E%3C/g%3E%3C/svg%3E")}.panel:not(.view-panel),.panel.card,.hero-card,.board,.filter-card:not(.select-toolbar):not(.grab-topbar-card):not(.grab-task-card),.table-card:not(.select-table-card):not(.grab-log-card),.home-banner,.home-card,.list-item,.info-row,.auth-card,.auth-login-card,.auth-side-card,.side-card,.modal,.qq-loading,.qq-error{border-color:#d8cee9;box-shadow:0 10px 24px #3f287e1a}.home-greet-title,.home-card-title,.home-item-title,.board-title,.hero-title,.kpi-value,.course-card-name,.course-detail-title,.course-detail-val,.auth-title,.auth-stage-title,.auth-side-title,.side-id,.topbar-title,.table td,.table th{color:#261b3b}.home-greet-sub,.home-item-sub,.home-card-meta,.home-card-tag,.field label,.info-label,.device-ua,.side-label,.side-name,.topbar-meta,.footer,.markdown p,.markdown li,.auth-sub,.auth-stage-sub,.auth-badge,.auth-meta-item,.auth-error-text,.qq-error-sub,.qq-status-sub,.qq-status-tip,.course-card-meta,.course-detail-key,.course-detail-time-inline,.course-status-tip,.course-day-head-sub,.course-empty,.gx-select-arrow{color:#73809a}.field input,.field textarea,.field select,.input-wrap input,.btn.secondary,.btn.ghost,.gx-select-trigger,.gx-select-native-control,.gx-select-menu,.gx-select-option,.course-table-shell,.course-shell-toolbar,.course-day-col,.course-day-cell,.course-card-stack,.table thead th,.side-chip,.qr-box,.agree-indicator,.auth-tabs,.topbar-title,.topbar-profile,.topbar-actions .chip,.chip,.badge,.status{background:#fff;border-color:#d8cee9}.field input:focus,.field textarea:focus,.field select:focus,.input-wrap:focus-within input,.gx-select-trigger:focus-visible,.gx-select-native-control:focus-visible,.btn:focus-visible,.nav button:focus-visible,.inline-actions a.btn:focus-visible{border-color:#8f6dff;outline:none;box-shadow:0 0 0 3px #7c4dff33}.btn{color:#fff;background:#7c4dff;box-shadow:0 10px 20px #6538df47}.btn:hover{background:#6538df}.btn.secondary{color:#4e3f6c;background:#f7f2ff}.btn.secondary:hover{background:#f2ebff;border-color:#ccbaf2}.btn.ghost{color:#574970;background:#f9f5ff}.btn.ghost:hover{background:#f2ebff;border-color:#ccbaf2}.auth-tabs{background:#f4edff}.auth-tabs .tab.active,.tab.active{color:#5f35c7;background:#fff;border-color:#ccbaf2}.brand{color:#5f35c7}.sidebar{background:#ffffffe6;border-right-color:#d8cee9}.nav button{color:#5d4f79}.nav button:hover{color:#4c3f6b;background:#f7f1ff;border-color:#d5c7f2}.nav button.active,.nav button:nth-child(2).active,.nav button:nth-child(3).active,.nav button:nth-child(4).active,.nav button:nth-child(5).active,.nav button:nth-child(6).active,.nav button:nth-child(7).active,.nav button:nth-child(8).active,.nav button:nth-child(9).active,.nav button:nth-child(10).active,.nav button:nth-child(11).active{color:#5f35c7;background:#efe6ff;border-color:#ccbaf2}.topbar-actions .chip,.chip,.badge{color:#5b4c78;background:#f4edff}.status{color:#5b4c78;background:#f5efff}.course-status-pill{background:#f4edff}.course-status-main,.course-status-icon{color:#5f35c7}.course-status-pill.warn{background:#fff5e8}.course-status-pill.ok{background:#edf9f3}.course-time-col{background:#faf7ff;box-shadow:inset 0 0 0 1px #e1d6f3}.course-axis-symbol-svg{stroke:#745bb7ad}.course-axis-symbol-core{background:#7c4dffd1;box-shadow:0 0 8px #745bb759}.gx-select-trigger:hover,.gx-select-native-control:hover,.week-bar-controls .btn.secondary:hover{background:#f2ebff;border-color:#ccbaf2}.gx-select-option:hover,.gx-select-option.active{color:#5035a2;background:#f1e8ff}.course-table-shell .table th,.course-table-shell .table td{color:#3b2f55;border-bottom-color:#e3d9f1}.course-table-shell .table-card:not(.select-table-card):not(.grab-log-card) .table thead th{color:#61517d;background:#f4edff}.course-table-shell .table-card:not(.select-table-card):not(.grab-log-card) .table tr:hover td{background:#f7f2ff}.course-detail-close{color:#624d99e6}.course-detail-close:hover,.course-detail-close:focus-visible{color:#5f35c7;filter:drop-shadow(0 0 6px #714fc947)}@media (max-width:767px){.sidebar{background:#fffffff5;box-shadow:0 16px 30px #3f287e2e}.nav button{color:#564774;font-weight:500}.nav button.active{font-weight:600}}.course-table-shell{-webkit-backdrop-filter:blur(22px)saturate(130%);background:linear-gradient(140deg,#ffffff94 0%,#f5eeff70 45%,#ebf8ff5c 100%);border:1px solid #8c6ed24d;border-radius:26px;margin-top:4px;overflow:hidden;box-shadow:0 20px 46px #47308224,inset 0 1px #ffffffd1,inset 0 -1px #1f7ac90f}.course-shell-toolbar{-webkit-backdrop-filter:blur(18px)saturate(125%);background:linear-gradient(#ffffff9e 0%,#faf6ff75 100%);border-bottom:1px solid #7e5cc638;padding:13px 24px 11px;box-shadow:inset 0 -1px #ffffff70}.week-bar{align-items:center;gap:12px}.course-status-icon{background:0 0}.course-status-tip{color:#6d5d8e}.course-status-pill.ok{background:0 0;border-color:#0000}.course-status-pill.warn{background:0 0;border-color:#0000}.course-table-shell .gx-select-trigger,.course-table-shell .gx-select-native-control,.course-table-shell .week-bar-controls .btn.secondary{color:#4e3d70;background:#fff;border-color:#d8caee}.course-table-shell .gx-select-trigger:hover,.course-table-shell .gx-select-native-control:hover,.course-table-shell .week-bar-controls .btn.secondary:hover{background:#f7f2ff;border-color:#cdb8eb}.course-timeline-shell{--course-axis-col:clamp(52px,10vw,92px);--course-day-min:clamp(42px,8.9vw,126px);--course-pad-inline:clamp(8px,2.2vw,24px);-webkit-backdrop-filter:blur(8px)saturate(115%);background:radial-gradient(120% 100% at 0 0,#1f7ac91a 0%,#1f7ac900 52%),linear-gradient(#ffffff4d 0%,#ffffff2e 42%,#f6efff38 100%);flex-direction:column;display:flex}.course-timeline-header{grid-template-columns:var(--course-axis-col)repeat(7,minmax(var(--course-day-min),1fr));width:max-content;min-width:100%;padding:10px var(--course-pad-inline);z-index:4;background:#fff;border-bottom:1px solid #e4daf3;column-gap:0;display:grid;position:sticky;top:0}.course-timeline-axis-head{justify-content:center;align-items:center;display:flex}.course-timeline-axis-glyph{color:#8b79b0;font-size:15px;line-height:1}.course-timeline-day-head{border-left:1px solid #ebe3f7;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:38px;display:flex}.course-timeline-day-main{color:#43335f;font-size:12px;font-weight:600;line-height:1.2}.course-timeline-day-sub{color:#7a6a98;font-size:11px;line-height:1.2}.course-timeline-scroll{scrollbar-width:thin;scrollbar-color:#6e84a452 transparent;position:relative;overflow:auto}.course-timeline-scroll::-webkit-scrollbar{width:4px;height:4px}.course-timeline-scroll::-webkit-scrollbar-track{background:0 0}.course-timeline-scroll::-webkit-scrollbar-thumb{background:#6e84a433;border-radius:999px}.course-timeline-scroll:hover::-webkit-scrollbar-thumb{background:#637a9b6b}.course-timeline-grid{grid-template-columns:var(--course-axis-col)repeat(7,minmax(var(--course-day-min),1fr));width:max-content;min-width:100%;padding:0 var(--course-pad-inline)14px;background:#fff;column-gap:0;display:grid;position:relative}.course-timeline-time-col{border-right:1px solid #ebe3f7;position:relative}.course-time-mark{pointer-events:none;justify-content:flex-end;align-items:center;display:flex;position:absolute;left:0;right:8px;transform:translateY(-50%)}.course-time-mark:first-child{transform:translateY(0);top:4px!important}.course-time-mark span{letter-spacing:.04em;color:#6d6088;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600;line-height:1}.course-timeline-day-col{border-left:1px solid #ebe3f7;min-height:100%;position:relative}.course-timeline-grid-line{pointer-events:none;border-top:1px solid #f0eaf9;position:absolute;left:0;right:0}.course-timeline-empty{color:#9a8bb7;text-align:center;font-size:12px;line-height:1.3;position:absolute;top:50%;left:8px;right:8px;transform:translateY(-50%)}.course-timeline-card{--course-start:#3ba4f8;--course-end:#297de6;--course-glow:#44a9ff57;--course-border:#aeddff94;z-index:2;border:1px solid var(--course-border);background:linear-gradient(145deg,var(--course-start),var(--course-end));box-shadow:0 12px 24px var(--course-glow);color:#f7fbff;text-align:left;min-height:58px;font:inherit;cursor:pointer;transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out),filter .2s var(--ease-out);border-radius:20px;grid-template-rows:auto auto minmax(12px,1fr) auto;align-content:start;row-gap:2px;padding:12px 10px 9px;display:grid;position:absolute;left:7px;right:7px;overflow:hidden}.course-timeline-card:before{content:"";pointer-events:none;background:linear-gradient(#ffffff24,#fff0);position:absolute;inset:0}.course-timeline-card:after{content:"";pointer-events:none;background:linear-gradient(#fff0,#06183417);height:46%;position:absolute;inset:auto 0 0}.course-timeline-card:hover{filter:brightness(1.05);box-shadow:0 16px 30px var(--course-glow);transform:translateY(-2px)}.course-timeline-card:focus-visible{box-shadow:0 0 0 3px #ffffff57,0 16px 30px var(--course-glow);outline:none}.course-timeline-card-name,.course-timeline-card-room,.course-timeline-card-time{z-index:1;width:100%;position:relative}.course-timeline-card-name{color:#fffffffc;word-break:break-word;max-height:2.38em;margin-top:1px;font-size:14px;font-weight:700;line-height:1.18;overflow:hidden}.course-timeline-card-room{color:#ecf6fff5;align-items:center;gap:4px;min-height:14px;margin-top:0;font-size:11.5px;line-height:1.2;display:inline-flex}.course-timeline-card-room-icon{color:#f2f9fff5;flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;display:inline-flex}.course-timeline-card-room-icon svg{width:12px;height:12px;display:block}.course-timeline-card-room-text{letter-spacing:.01em;font-weight:700;line-height:1.2}.course-timeline-card-time{letter-spacing:.03em;word-spacing:.03em;color:#f5fbfffa;font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:auto;padding-top:4px;font-size:10.5px;font-weight:700;line-height:1.2}.course-timeline-card.is-no-time{grid-template-rows:auto auto 1fr}.course-timeline-card.is-no-room{grid-template-rows:auto minmax(12px,1fr) auto}.course-timeline-card.is-no-room.is-no-time{grid-template-rows:auto minmax(14px,1fr)}.course-timeline-card.is-no-time .course-timeline-card-name{max-height:3.5em}.course-timeline-card.is-compact.is-no-time .course-timeline-card-name{max-height:3.7em}.course-timeline-card.is-tight.is-no-time .course-timeline-card-name{max-height:2.65em}.course-timeline-card-watermark{width:54px;height:54px;color:var(--course-mark,#ffffff24);transform-origin:50%;pointer-events:none;z-index:0;position:absolute;bottom:-8px;right:-6px;transform:rotate(12deg)}.course-timeline-card-watermark svg{width:100%;height:100%;display:block}.course-timeline-card-watermark path{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round}.course-timeline-card.is-compact{row-gap:1px;padding:9px 9px 7px}.course-timeline-card.is-compact:after{height:42%}.course-timeline-card.is-compact .course-timeline-card-name{max-height:2.28em;font-size:13px}.course-timeline-card.is-compact .course-timeline-card-room{font-size:10.8px}.course-timeline-card.is-compact .course-timeline-card-time{letter-spacing:.03em;word-spacing:.03em;font-size:10px}.course-timeline-card.is-compact .course-timeline-card-watermark{width:46px;height:46px;bottom:-8px;right:-6px}.course-timeline-card.is-tight{row-gap:1px;padding:8px 8px 6px}.course-timeline-card.is-tight:after{height:38%}.course-timeline-card.is-tight .course-timeline-card-name{max-height:1.28em;font-size:11.5px}.course-timeline-card.is-tight .course-timeline-card-room{font-size:9.6px}.course-timeline-card.is-tight .course-timeline-card-time{letter-spacing:.02em;word-spacing:.02em;font-size:9px}.course-timeline-card.is-tight .course-timeline-card-watermark{width:38px;height:38px;bottom:-7px;right:-5px}.course-timeline-card.theme-0,.modal.modal-course-detail.theme-0{--course-start:#3d72f2;--course-end:#4f95ff;--course-glow:#407af457;--course-border:#b9d4ff6b;--course-mark:#cce2ff3d}.course-timeline-card.theme-1,.modal.modal-course-detail.theme-1{--course-start:#16b38a;--course-end:#35c99e;--course-glow:#1fb79057;--course-border:#b0f7e06b;--course-mark:#c1ffeb3d}.course-timeline-card.theme-2,.modal.modal-course-detail.theme-2{--course-start:#e34b93;--course-end:#f168aa;--course-glow:#e4549957;--course-border:#ffcee36b;--course-mark:#ffdaec3d}.course-timeline-card.theme-3,.modal.modal-course-detail.theme-3{--course-start:#e89432;--course-end:#f4b04c;--course-glow:#ea993d57;--course-border:#ffe0b86b;--course-mark:#ffe9cc3d}.course-timeline-card.theme-4,.modal.modal-course-detail.theme-4{--course-start:#8660e7;--course-end:#a378f3;--course-glow:#8d66e857;--course-border:#dbc7ff6b;--course-mark:#e5d6ff3d}.course-timeline-card.theme-5,.modal.modal-course-detail.theme-5{--course-start:#65748d;--course-end:#7e8ca4;--course-glow:#6c7c924d;--course-border:#ced8e861;--course-mark:#dae2f038}.course-timeline-card.theme-6,.modal.modal-course-detail.theme-6{--course-start:#2f9fd0;--course-end:#52bee5;--course-glow:#3ca8d957;--course-border:#b8eaff6b;--course-mark:#caf1ff3d}.course-timeline-card.theme-7,.modal.modal-course-detail.theme-7{--course-start:#e4644f;--course-end:#f0836f;--course-glow:#e56c5857;--course-border:#ffd6cc6b;--course-mark:#ffe2da3d}.course-timeline-card.theme-8,.modal.modal-course-detail.theme-8{--course-start:#85b33f;--course-end:#9ec959;--course-glow:#8db84b57;--course-border:#dbf1ba6b;--course-mark:#e4f7c93d}.course-timeline-card.theme-9,.modal.modal-course-detail.theme-9{--course-start:#af5adf;--course-end:#c875ec;--course-glow:#b167e557;--course-border:#e5cfff6b;--course-mark:#ecdbff3d}.course-timeline-card.theme-10,.modal.modal-course-detail.theme-10{--course-start:#315fd8;--course-end:#3f7fe9;--course-glow:#3968da52;--course-border:#b7cdfa66;--course-mark:#c9dbf938}.course-timeline-card.theme-11,.modal.modal-course-detail.theme-11{--course-start:#139977;--course-end:#1fb08a;--course-glow:#1d9f7d52;--course-border:#aaecdc66;--course-mark:#baf6e738}.course-timeline-card.theme-12,.modal.modal-course-detail.theme-12{--course-start:#cf447f;--course-end:#e25f98;--course-glow:#d34a8852;--course-border:#f9cbdf66;--course-mark:#fcd4e738}.course-timeline-card.theme-13,.modal.modal-course-detail.theme-13{--course-start:#d17d2e;--course-end:#e79643;--course-glow:#d5813752;--course-border:#f5d9b866;--course-mark:#f9e3c838}.course-timeline-card.theme-14,.modal.modal-course-detail.theme-14{--course-start:#704dcf;--course-end:#8b66df;--course-glow:#7955d452;--course-border:#d5c5f966;--course-mark:#e0d2fd38}.course-timeline-card.theme-15,.modal.modal-course-detail.theme-15{--course-start:#586478;--course-end:#6d798e;--course-glow:#63718447;--course-border:#c9d4e557;--course-mark:#d6dfed33}.course-timeline-card.theme-16,.modal.modal-course-detail.theme-16{--course-start:#2d86be;--course-end:#45a4d7;--course-glow:#3b92c652;--course-border:#b9e2f766;--course-mark:#c9ebfb38}.course-timeline-card.theme-17,.modal.modal-course-detail.theme-17{--course-start:#d35a49;--course-end:#e77463;--course-glow:#d6645452;--course-border:#fad2ca66;--course-mark:#fcddd638}.course-timeline-card.theme-18,.modal.modal-course-detail.theme-18{--course-start:#719a36;--course-end:#8ab54a;--course-glow:#7ca64252;--course-border:#d9efb566;--course-mark:#e2f6c538}.course-timeline-card.theme-19,.modal.modal-course-detail.theme-19{--course-start:#974bcd;--course-end:#ad64da;--course-glow:#9b58d452;--course-border:#e1cdfc66;--course-mark:#ead9ff38}.course-modal-overlay{-webkit-backdrop-filter:blur(10px)saturate(112%);background:#10182675}.modal.modal-course-detail{-webkit-backdrop-filter:blur(16px)saturate(120%);backdrop-filter:blur(16px)saturate(120%);background:#fffffff0;border:none;border-radius:22px;width:min(86vw,500px);max-width:500px;padding:16px;box-shadow:0 22px 44px #193d672e}.modal.modal-course-detail:before{content:"";border-radius:inherit;pointer-events:none;background:0 0;position:absolute;inset:0}.course-detail-glass-head,.course-detail-glass-meta,.course-detail-divider,.course-detail-segment-panel{z-index:1;position:relative}.course-detail-glass-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.course-detail-glass-main{flex-direction:column;gap:6px;min-width:0;display:flex}.course-detail-glass-badge{color:#1f6db2;background:#1f7ac91a;border:1px solid #1f7ac93d;border-radius:999px;width:fit-content;padding:3px 8px;font-size:11px;font-weight:600;line-height:1}.course-detail-title{color:var(--text);margin:0;font-size:clamp(18px,1.42vw,22px);line-height:1.24}.course-detail-glass-time{color:#60718f;font-size:12px;line-height:1.3}.course-detail-close{color:#6a7d98;cursor:pointer;width:24px;height:24px;transition:transform .22s var(--ease-out),color .22s var(--ease-out);background:0 0;border:none;border-radius:0;justify-content:center;align-items:center;display:inline-flex}.course-detail-close:hover,.course-detail-close:focus-visible{color:#1f6db2;transform:rotate(90deg)}.course-detail-close-icon{fill:none;stroke:currentColor;stroke-width:1.9px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.course-detail-glass-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.course-detail-meta-item{background:#fffc;border:none;border-radius:10px;flex-direction:column;justify-content:center;gap:4px;min-height:58px;padding:8px 9px;display:flex}.course-detail-key{color:#60718f;font-size:11px;line-height:1.2}.course-detail-val{color:var(--text);word-break:break-word;font-size:14px;font-weight:600;line-height:1.32}.course-detail-divider{background:#7890b047;height:1px;margin:10px 0}.course-detail-segment-panel{background:#fffc;border:none;border-radius:12px;padding:10px}.course-detail-segment-title{color:var(--text);margin-bottom:8px;font-size:12px;font-weight:700;line-height:1.2}.course-detail-segment-list{flex-direction:column;gap:6px;display:flex}.course-detail-segment-item{background:#ffffffe0;border:none;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 9px;display:flex}.course-detail-segment-node{color:#60718f;font-size:11px;font-weight:600}.course-detail-segment-time{color:var(--text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700;line-height:1.2}@media (max-width:1024px){.course-timeline-shell{--course-axis-col:clamp(50px,9vw,84px);--course-day-min:clamp(40px,9vw,116px);--course-pad-inline:clamp(8px,1.8vw,16px)}.course-timeline-header,.course-timeline-grid{width:max-content;min-width:100%;padding-left:var(--course-pad-inline);padding-right:var(--course-pad-inline)}.course-timeline-card-name{font-size:14px}.course-timeline-card-room{font-size:11px}.course-timeline-card-time{font-size:10.5px}.modal.modal-course-detail{width:min(92vw,460px);padding:14px}}@media (max-width:767px){.course-timeline-shell{--course-axis-col:clamp(28px,7.8vw,32px);--course-day-min:1fr;--course-pad-inline:0px}.course-table-shell{border-radius:22px}.course-shell-toolbar{padding:10px 14px 8px}.week-bar{flex-wrap:wrap;align-items:stretch;gap:8px}.week-bar-left{flex:100%;min-width:0;max-width:100%}.week-bar-controls{align-items:center;justify-content:initial;flex:100%;grid-template-columns:minmax(0,1fr) 94px;gap:8px;width:100%;min-width:0;margin-left:0;display:grid}.week-bar-controls .gx-select,.course-shell-toolbar .week-bar-controls .gx-select,.course-term-select{flex:unset;width:100%;min-width:0}.course-term-select .gx-select-trigger,.course-term-select .gx-select-native-control{width:100%;min-width:0}.course-week-select{flex:unset;width:94px;min-width:94px}.course-week-select .gx-select-trigger,.course-week-select .gx-select-native-control{width:94px;min-width:94px}.course-timeline-header,.course-timeline-grid{grid-template-columns:var(--course-axis-col)repeat(7,minmax(0,1fr));width:100%;min-width:100%;padding-left:var(--course-pad-inline);padding-right:var(--course-pad-inline)}.course-timeline-header{padding-top:8px;padding-bottom:8px}.course-timeline-grid{padding-bottom:10px}.course-timeline-day-head{min-height:34px}.course-timeline-day-main{font-size:10.5px;line-height:1.15}.course-timeline-day-sub{font-size:9px;line-height:1.1}.course-time-mark span{letter-spacing:0;padding-left:4px;font-size:8px;transform:none}.course-time-mark{justify-content:flex-start;left:4px;right:auto}.course-timeline-scroll{scroll-snap-type:none;overflow-x:hidden}.course-timeline-grid-line{border-top:1px solid #c2d3e894;display:block}.course-timeline-day-head,.course-timeline-day-col{border-left:none!important}.course-timeline-time-col{border-right:none!important}.course-timeline-empty{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;letter-spacing:0;font-size:9px;line-height:1.1;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}.course-timeline-card{border-radius:12px;grid-template-rows:1fr;grid-template-columns:8px 9px minmax(0,1fr);align-content:stretch;place-items:start;gap:0;min-height:44px;padding:4px 0 4px 2px;display:grid;left:4px;right:2px;overflow:hidden}.course-timeline-card.is-compact,.course-timeline-card.is-tight,.course-timeline-card.is-no-room,.course-timeline-card.is-no-time,.course-timeline-card.is-no-room.is-no-time{grid-template-rows:1fr;row-gap:0;padding:4px 0 4px 2px}.course-timeline-card:after{height:36%}.course-timeline-card-name,.course-timeline-card-room,.course-timeline-card-time{min-width:0;max-width:100%;max-height:none}.course-timeline-card-name{text-overflow:clip;white-space:normal;word-break:normal;overflow-wrap:normal;width:auto;grid-area:1/3;place-self:start;block-size:auto;max-block-size:none;inline-size:100%;margin-top:0;padding-left:.25px;padding-right:0;font-size:8.8px;line-height:1.08;overflow:hidden;transform:translate(3.4px);writing-mode:vertical-rl!important;text-orientation:mixed!important}.course-timeline-card-room{text-overflow:clip;white-space:normal;word-break:normal;overflow-wrap:normal;width:auto;flex-direction:column;grid-area:1/2;justify-content:flex-start;place-self:start end;align-items:flex-start;gap:1px;block-size:1.3em;max-block-size:1.3em;margin-top:0;font-size:6.8px;line-height:1.08;display:inline-flex;overflow:hidden;writing-mode:vertical-lr!important;text-orientation:mixed!important}.course-timeline-card.is-room-center .course-timeline-card-room{align-self:center;align-items:center}.course-timeline-card-time{letter-spacing:0;word-spacing:0;white-space:nowrap;opacity:.94;font-variant-numeric:tabular-nums;width:auto;grid-area:1/1;justify-content:flex-start;place-self:end start;align-items:flex-end;block-size:1em;max-block-size:1em;margin-top:0;padding-top:0;padding-bottom:0;padding-left:0;font-size:6.4px;line-height:1;display:inline-flex;writing-mode:vertical-rl!important;text-orientation:mixed!important}.course-timeline-card-room-text{white-space:normal;width:auto;min-width:0;text-overflow:clip;block-size:1.3em;max-block-size:1.3em;line-height:1.1;overflow:hidden;writing-mode:vertical-lr!important;text-orientation:mixed!important}.course-timeline-card-room-icon{width:0;height:0;display:none}.course-timeline-card-room-icon svg{width:0;height:0}.course-timeline-card.is-no-room .course-timeline-card-room,.course-timeline-card.is-no-time .course-timeline-card-time{display:none}.course-timeline-card.is-no-time{grid-template-rows:1fr;grid-template-columns:8.6px minmax(0,1fr)}.course-timeline-card.is-no-time .course-timeline-card-room{grid-area:1/1;justify-self:end}.course-timeline-card.is-no-time .course-timeline-card-name{grid-area:1/2;justify-self:start}.course-timeline-card.is-no-room .course-timeline-card-name{grid-area:1/2;font-size:8.8px}.course-timeline-card.is-no-room .course-timeline-card-time{grid-area:1/1}.course-timeline-card.is-compact .course-timeline-card-name{font-size:8.7px}.course-timeline-card.is-tight .course-timeline-card-name{font-size:8.6px}.course-timeline-card.is-tight .course-timeline-card-room{display:inline-flex}.course-timeline-card.is-tight .course-timeline-card-time{font-size:6.3px}.course-timeline-card.is-no-room.is-no-time .course-timeline-card-room,.course-timeline-card.is-no-room.is-no-time .course-timeline-card-time{display:none}.course-timeline-card.is-no-room.is-no-time .course-timeline-card-name{grid-area:1/1}.course-timeline-card.is-compact .course-timeline-card-time,.course-timeline-card.is-compact .course-timeline-card-room{font-size:6.6px}.course-timeline-card.is-tight .course-timeline-card-room-text{text-overflow:clip}.course-timeline-card.is-no-room{grid-template-columns:8px minmax(0,1fr)}.course-timeline-card.is-no-room.is-no-time{grid-template-columns:minmax(0,1fr)}.course-timeline-card-watermark{width:26px;height:26px;bottom:-3px;right:-2px}.course-timeline-card.is-tight .course-timeline-card-name,.course-timeline-card.is-compact .course-timeline-card-name,.course-timeline-card.is-no-time .course-timeline-card-name,.course-timeline-card.is-compact.is-no-time .course-timeline-card-name,.course-timeline-card.is-tight.is-no-time .course-timeline-card-name{max-height:none}.course-timeline-day-head,.course-timeline-day-col{scroll-snap-align:none}.modal.modal-course-detail{border-radius:18px;width:min(94vw,420px);padding:12px}.course-detail-title{font-size:17px}.course-detail-glass-time{font-size:11px}.course-detail-glass-meta{grid-template-columns:1fr;gap:7px}.course-detail-meta-item{min-height:52px;padding:7px 8px}.course-detail-val{font-size:13px}.course-detail-segment-panel{padding:8px}.course-detail-segment-node{font-size:10px}.course-detail-segment-time{font-size:12px}}.topbar-main,.topbar-title{box-shadow:none!important;background:0 0!important;border:none!important}.topbar-title{padding:0!important}.modal.modal-course-detail,.modal.modal-course-detail:before,.selected-plan-detail-item,.selected-plan-detail-item .selected-missing-pill,.course-detail-meta-item,.course-detail-segment-panel,.course-detail-segment-item{box-shadow:none!important;border:none!important}.exam-summary,.exam-query-form,.exam-card{background:var(--panel)!important;border:none!important}.exam-summary,.exam-query-form{border-radius:18px!important;box-shadow:0 10px 22px #1f7ac914!important}.exam-summary-kicker,.exam-query-label{color:var(--text)!important;font-weight:700!important}.exam-summary-main,.exam-summary-result,.exam-card-detail-value{color:var(--text)!important}.exam-summary-meta,.exam-summary-meta-label,.exam-source-empty,.exam-query-tip,.exam-card-time-text,.exam-card-detail-key{color:var(--muted)!important}.exam-notice-text{white-space:normal;display:inline}.exam-notice-link{text-underline-offset:2px;word-break:break-all;text-decoration:underline;width:auto!important;color:var(--accent)!important;display:inline!important}.exam-notice-link:hover{color:var(--text)!important}.exam-source-pill{white-space:normal;word-break:break-all;text-align:left;justify-content:center;align-items:center;max-width:100%;line-height:1.25;display:inline-flex;color:var(--accent)!important;box-shadow:none!important;background:0 0!important;border:1px solid #1f7ac957!important;border-radius:999px!important;padding:4px 10px!important}.exam-card{background:linear-gradient(145deg,#fffffffa 0%,#f6fafff2 100%)!important;border:1px solid #cfdceb!important;border-radius:20px!important;gap:10px!important;padding:12px 14px!important;box-shadow:0 14px 28px #22497924!important}.exam-card-top{align-items:flex-start!important;gap:12px!important}.exam-card-title-wrap{gap:6px!important}.exam-card-subject{color:var(--text)!important;font-size:15px!important;font-weight:800!important;line-height:1.32!important}.exam-card-time-text{align-items:center;gap:8px;display:inline-flex;font-size:12px!important;font-weight:600!important;line-height:1.4!important}.exam-card-time-text:before{content:"";opacity:.45;background:currentColor;border-radius:999px;flex:none;width:6px;height:6px;margin-top:1px}.exam-card-meta-grid{border-top:1px dashed #d5e2f0;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;padding-top:8px;display:grid}.exam-card-meta-item{flex-direction:column;gap:3px;min-width:0;display:flex}.exam-card-detail-key{letter-spacing:.02em;text-transform:uppercase;font-size:10.5px!important;font-weight:600!important}.exam-card-detail-value{font-size:13px!important;font-weight:700!important;line-height:1.28!important}.exam-countdown-pill{min-height:26px;border:1px solid var(--border)!important;background:var(--panel-2)!important;color:var(--muted)!important;border-radius:999px!important;padding:0 9px!important;font-size:11px!important;font-weight:700!important}.exam-countdown-pill.finished{color:var(--muted)!important;background:#1f7ac914!important;border-color:#1f7ac92e!important}.exam-countdown-pill.unknown{background:var(--panel-2)!important;border-color:var(--border)!important;color:var(--muted)!important}.exam-detail-title{border-bottom:none!important;padding-bottom:0!important}.exam-detail-layout{flex-direction:column;gap:10px;display:flex}.exam-detail-section{background:#ffffff8c;border-radius:16px;padding:10px 12px}.exam-detail-section-title{color:var(--muted);letter-spacing:.01em;margin-bottom:6px;font-size:12px;font-weight:600}.exam-detail-line-list{gap:0;display:grid}.exam-detail-line-list-2col{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:14px}.exam-detail-line{border-bottom:none;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;padding:5px 0;display:grid}.exam-detail-line-list .exam-detail-line:last-child,.exam-detail-line-list-2col .exam-detail-line:nth-last-child(-n+2){border-bottom:none}.exam-detail-line-span-2{border-bottom:none;grid-column:1/-1}.exam-detail-label{color:var(--muted);font-size:12px}.exam-detail-line-value{align-items:center;min-width:0;display:flex}.exam-detail-line-value .course-detail-val{font-weight:700;line-height:1.4;color:var(--text)!important}.exam-detail-line-value .selected-missing-pill{margin-top:0}.score-term-section{background:var(--panel)!important;border:1px solid #1f7ac93d!important;box-shadow:0 8px 20px #1f7ac914!important}.score-term-head{padding-inline:8px!important}.score-course-card{border:1px solid var(--border)!important;background:var(--panel)!important;box-shadow:0 8px 18px #1f7ac914!important}.score-grade-badge{min-width:46px!important;height:28px!important;color:var(--accent)!important;background:#1f7ac91a!important;border:1px solid #1f7ac938!important;border-radius:999px!important;padding:0 10px!important;font-size:12px!important;font-weight:700!important}.score-grade-badge.good{color:var(--accent)!important;background:#1f7ac921!important;border-color:#1f7ac94d!important}.score-grade-badge.pass{color:var(--accent)!important;background:#1f7ac917!important;border-color:#1f7ac938!important}.score-grade-badge.text{background:var(--panel-2)!important;border-color:var(--border)!important;color:var(--muted)!important}.score-meta-chip{border:1px solid var(--border)!important;background:var(--panel-2)!important;color:var(--muted)!important}.score-detail-item{background:#f8fbffe6!important;border:1px solid #d1ddeb!important}.score-term-meta{color:var(--muted)!important;background:0 0!important;border:none!important;padding:0!important}.score-empty{border:1px dashed var(--border)!important;color:var(--text)!important;background:#ffffffbd!important;border-radius:14px!important;padding:20px 14px!important;font-weight:600!important}.score-overview-main,.score-overview-sub,.score-detail-key{color:var(--muted)!important}.score-term-title,.score-course-name,.score-detail-value{color:var(--text)!important}@media (max-width:767px){.exam-detail-line-list-2col{grid-template-columns:1fr;column-gap:0}.exam-detail-line{grid-template-columns:74px minmax(0,1fr)}}:root{--bg:#f3f6fb;--bg-2:#edf3fa;--panel:#fff;--panel-2:#f7fbff;--panel-3:#edf4fb;--accent:#2f7fd6;--accent-2:#1ea493;--accent-3:#ef9a63;--text:#1f2b40;--muted:#6c7890;--danger:#d05570;--success:#1d9f78;--warning:#c9892d;--border:#d6e0ec;--shadow:0 14px 30px #24487b1f}body{color:var(--text)!important;background-color:var(--bg)!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140' viewBox='0 0 140 140'%3E%3Cg fill='none'%3E%3Ccircle cx='10' cy='14' r='1.4' fill='%23dce5f1'/%3E%3Ccircle cx='76' cy='52' r='1.1' fill='%23e5edf7'/%3E%3Ccircle cx='112' cy='106' r='1.2' fill='%23dce7f3'/%3E%3C/g%3E%3C/svg%3E")!important;background-size:140px 140px!important}.bg-orb{opacity:.1!important;filter:blur(34px)!important}.orb-1{background:#bdd7f8!important}.orb-2{background:#bfeee5!important}.orb-3{background:#ffd9c2!important}.app,.content,.view-stage,.view-content-shell{background:0 0!important}.sidebar,.side-card,.auth-card,.auth-login-card,.auth-side-card,.panel:not(.view-panel),.panel.card,.hero-card,.kpi-card,.board,.home-profile-item,.home-profile-ribbon,.info-row,.list-item,.log-box:not(.grab-log-box),.device-card,.score-term-section,.score-course-card,.selected-course-card,.exam-card,.exam-summary,.exam-search-card,.exam-warning,.exam-info-card,.modal,.qq-loading,.qq-error{border-color:var(--border)!important;color:var(--text)!important;background:#fffffff0!important;box-shadow:0 8px 18px #193d6714!important}.home-profile-ribbon,.home-profile-item{box-shadow:0 6px 16px #22447414!important}.home-shell .home-card{background:linear-gradient(150deg,#fffffff7 0%,#f7fcfff2 100%)!important;border-color:#d7e4f7!important;box-shadow:0 10px 22px #193d671a!important}.home-shell .home-banner{box-shadow:none!important;background:0 0!important;border:none!important}.home-shell .home-card-head{align-items:center}.home-shell .home-card-title{letter-spacing:.2px!important;color:#1f2f4b!important;font-size:16px!important}.home-shell .home-card-meta{color:#5b6d87!important;font-size:12px!important}.home-shell .home-card-tag{color:#2d5fae!important;background:#4c88e11a!important;border-color:#5791e447!important}.home-shell .home-banner-side .badge{color:#4f6588!important;background:#ffffffc7!important;border-color:#99b1d594!important}.home-shell .home-item{background:#ffffffdb!important;border:1px solid #5b86c942!important;box-shadow:0 6px 14px #22447417!important}.home-shell .home-item:hover{background:#f7fbfff5!important;border-color:#5385d66b!important}.home-shell .home-item-title{font-weight:600;color:#253a59!important;font-size:14px!important}.home-shell .home-item-sub{color:#5f718c!important;font-size:12px!important}.home-shell .home-more.btn{color:#2d5fae!important;background:#4c88e114!important;border-color:#5791e447!important}.home-shell .home-more.btn:hover{box-shadow:none!important;background:#4c88e124!important;border-color:#4d8cea66!important;transform:none!important}.sidebar{box-shadow:none!important;background:#f7fbfff0!important;border-right:none!important}@media (min-width:1280px){.sidebar:before{content:"";pointer-events:none;background:#f7fbfff0;width:calc(100vw + 1px);position:absolute;top:0;bottom:0;left:calc(-100vw - 1px)}.sidebar:after{content:"";pointer-events:none;background:linear-gradient(90deg,#f7fbfff0 0%,#f7fbff8f 58%,#f7fbff00 100%);width:16px;position:absolute;top:0;bottom:0;right:-16px}}.brand,.home-greet-title,.home-card-title,.home-item-title,.board-title,.hero-title,.kpi-value,.selected-course-name,.exam-card-subject,.score-term-title,.score-course-name,.topbar-title{color:var(--text)!important}.home-greet-sub,.home-card-meta,.home-card-tag,.home-item-sub,.info-label,.device-ua,.side-label,.side-name,.topbar-meta,.footer,.markdown p,.markdown li,.course-status-tip,.exam-card-time-text,.exam-card-detail-key,.score-overview-main,.score-overview-sub,.score-detail-key,.score-meta-chip,.score-term-meta{color:var(--muted)!important}.nav button{color:#5e6b84!important;background:0 0!important;border-color:#0000!important}.nav button.active,.nav button:hover{color:var(--text)!important;background:#2f7fd60f!important;border-color:#c8d7ea94!important;box-shadow:0 6px 12px #2f7fd614!important}.nav button:after{background:var(--accent)!important}.topbar,.topbar-main{box-shadow:none!important;background:0 0!important;border:none!important}.topbar-title,.topbar-actions .chip,.chip,.badge{color:#5f6c86!important;background:#ffffffeb!important;border-color:#d4deea!important}.field input,.field textarea,.field select,.input-wrap input,.gx-select-trigger,.gx-select-native-control{color:var(--text)!important;background:#f9fcff!important;border-color:#d0dceb!important}.field input:focus,.field textarea:focus,.field select:focus,.input-wrap:focus-within input,.gx-select-trigger:focus-visible,.gx-select-native-control:focus-visible{border-color:var(--accent)!important;box-shadow:0 0 0 3px #2f7fd62e!important}.auth-form input:autofill{transition:background-color 9999s ease-out;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text)!important;border-color:#d0dceb!important;box-shadow:inset 0 0 0 1000px #f9fcff!important}.auth-form input:-webkit-autofill{transition:background-color 9999s ease-out;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text)!important;border-color:#d0dceb!important;box-shadow:inset 0 0 0 1000px #f9fcff!important}.auth-form input:-webkit-autofill:hover{transition:background-color 9999s ease-out;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text)!important;border-color:#d0dceb!important;box-shadow:inset 0 0 0 1000px #f9fcff!important}.auth-form input:-webkit-autofill:focus{transition:background-color 9999s ease-out;-webkit-text-fill-color:var(--text)!important;caret-color:var(--text)!important;border-color:#d0dceb!important;box-shadow:inset 0 0 0 1000px #f9fcff!important}.gx-select-arrow{color:#75829c!important}.btn{background:var(--accent)!important;border-color:var(--accent)!important;color:#fff!important;box-shadow:0 10px 20px #2f7fd63d!important}.btn:hover{background:#2a73c3!important;border-color:#2a73c3!important}.btn.secondary,.btn.ghost,.week-bar-controls .btn.secondary,.course-table-shell .week-bar-controls .btn.secondary{color:#4f5f7d!important;box-shadow:none!important;background:#f7fbff!important;border-color:#cfdceb!important}.btn.secondary:hover,.btn.ghost:hover,.week-bar-controls .btn.secondary:hover,.course-table-shell .week-bar-controls .btn.secondary:hover{color:#3f5170!important;background:#edf5ff!important;border-color:#b7cce5!important}.btn.danger{color:#b84e66!important;box-shadow:none!important;background:#f9edf0!important;border-color:#ebc4cf!important}.btn.danger:hover{color:#ab3e5a!important;box-shadow:none!important;background:#f4e2e8!important;border-color:#dfa8b9!important}.btn.danger:focus-visible{box-shadow:0 0 0 3px #d055702e!important}.qq-bind-confirm-actions .qq-bind-confirm-btn,.qq-bind-confirm-actions .qq-bind-cancel-btn{box-shadow:none!important}.qq-bind-confirm-actions .qq-bind-confirm-btn{color:#fff!important;background:#2f7fd6!important;border-color:#2f7fd6!important}.qq-bind-confirm-actions .qq-bind-confirm-btn:hover{background:#2a73c3!important;border-color:#2a73c3!important}.qq-bind-confirm-actions .qq-bind-cancel-btn{color:#4f5f7d!important;background:#f7fbff!important;border-color:#cfdceb!important}.qq-bind-confirm-actions .qq-bind-cancel-btn:hover{color:#3f5170!important;background:#edf5ff!important;border-color:#b7cce5!important}.selected-course-card,.exam-card,.score-course-card{border-width:1px!important}.selected-course-card:hover,.exam-card:hover,.score-course-card:hover{border-color:#bdd0e7!important;box-shadow:0 12px 24px #2d578c21!important}.selected-missing-pill,.selected-plan-detail-item .selected-missing-pill{color:#6e7b93!important;background:#f6faff!important;border-color:#d6e0ec!important}.score-grade-badge{color:#2f7fd6!important;background:#2f7fd61a!important;border-color:#2f7fd63d!important}.score-grade-badge.good,.score-grade-badge.pass,.score-grade-badge.excellent{color:#2f7fd6!important;background:#2f7fd61f!important;border-color:#2f7fd647!important}.score-empty,.exam-summary-main,.exam-summary-main-source,.exam-summary-highlight{color:#4f5f7d!important}.exam-summary-source-item,.exam-source-bubble{color:#60708b!important;background:#fff!important;border:1px solid #d2ddec!important}.course-table-shell,.course-shell-toolbar,.course-timeline-shell{background:#ffffffdb!important;border-color:#d7e1ed!important;box-shadow:0 10px 24px #284f801a!important}.course-timeline-grid{background:#fff!important}:root{--bg:#eef3f9;--bg-2:#e9f0f9;--panel:#fff;--panel-2:#f6faff;--panel-3:#edf4fd;--text:#18263c;--muted:#5d6d86;--accent:#1f7ac9;--accent-2:#0f9c8b;--accent-3:#e19355;--border:#d2deeb;--shadow:0 14px 30px #193d671f}body{color:var(--text)!important;background-color:var(--bg)!important}.topbar,.topbar-main,.topbar-title{box-shadow:none!important;background:0 0!important;border:none!important}.main-scroll::-webkit-scrollbar{width:6px;height:6px}html::-webkit-scrollbar{width:6px;height:6px}body::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar{width:6px;height:6px}.main-scroll::-webkit-scrollbar-thumb{background:#6e84a447;border-radius:999px}html::-webkit-scrollbar-thumb{background:#6e84a447;border-radius:999px}body::-webkit-scrollbar-thumb{background:#6e84a447;border-radius:999px}::-webkit-scrollbar-thumb{background:#6e84a447;border-radius:999px}.main-scroll::-webkit-scrollbar-thumb:hover{background:#637a9b75}html::-webkit-scrollbar-thumb:hover{background:#637a9b75}body::-webkit-scrollbar-thumb:hover{background:#637a9b75}::-webkit-scrollbar-thumb:hover{background:#637a9b75}.main-scroll::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-track{background:0 0}body::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-track{background:0 0}.toast-stack{z-index:12000;pointer-events:none;--toast-enter-ms:.36s;--toast-exit-ms:.42s;flex-direction:column;align-items:center;gap:0;width:min(96vw,680px);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast-stack .toast-item{pointer-events:none;opacity:1;width:fit-content;max-width:100%;max-height:92px;transition:max-height var(--toast-exit-ms)var(--ease-out),margin-top var(--toast-exit-ms)var(--ease-out),opacity var(--toast-exit-ms)var(--ease-out);border-radius:999px;justify-content:center;margin-top:10px;display:flex;overflow:hidden}.toast-stack .toast-item:first-child{margin-top:0}.toast-stack .toast-item.leaving{opacity:0;max-height:0;margin-top:0}.toast-stack .toast{top:auto;left:auto;right:auto;isolation:isolate;--toast-rgb:69,138,214;--toast-tint:#e1f1ff33;--toast-border:#93bbe57a;--toast-icon-color:#1f5da3eb;--toast-glow-color:#458ad661;--toast-surface-top:#ffffffc7;--toast-surface-mid:#f6fbffa3;--toast-surface-end:rgba(var(--toast-rgb),.16);border:1px solid var(--toast-border);background:linear-gradient(132deg,var(--toast-surface-top)0%,var(--toast-surface-mid)44%,var(--toast-surface-end)100%);max-width:min(94vw,560px);min-height:42px;color:var(--text);-webkit-backdrop-filter:blur(20px)saturate(170%);opacity:1;transition:box-shadow .24s var(--ease-out),border-color .24s var(--ease-out),background .24s var(--ease-out);pointer-events:auto;cursor:pointer;text-align:left;will-change:transform,opacity;border-radius:999px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding:9px 16px 9px 10px;display:grid;position:relative;inset:auto;overflow:hidden;transform:translateY(0)scale(1);box-shadow:0 16px 28px -22px #0a192feb,0 10px 18px -15px #0a192f8f,inset 0 1px #ffffffd6,inset 0 -1px #ffffff47}.toast-stack .toast:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff9e 0%,#ffffff38 34%,#ffffff0f 100%);position:absolute;inset:1px}.toast-stack .toast:after{content:"";filter:blur(7px);opacity:.3;pointer-events:none;background:radial-gradient(#0a192f3d 0%,#0a192f1f 42%,#0a192f00 76%);border-radius:999px;height:14px;position:absolute;bottom:-10px;left:12%;right:12%}.toast-stack .toast.show{animation:toastEnterUnified var(--toast-enter-ms)cubic-bezier(.22,1,.36,1)both}.toast-stack .toast.leaving{pointer-events:none;animation:toastExitUnified var(--toast-exit-ms)cubic-bezier(.4,0,.2,1)both!important}.toast-stack .toast:hover,.toast-stack .toast.paused{border-color:rgba(var(--toast-rgb),.62);background:linear-gradient(132deg,#ffffffdb 0%,#f9fdffb8 46%,rgba(var(--toast-rgb),.24)100%);box-shadow:0 18px 30px -22px #0a192fe6,0 12px 22px -16px rgba(var(--toast-rgb),.34),0 0 0 1px rgba(var(--toast-rgb),.2),0 1px 0 #ffffffe6 inset;transform:translateY(0)scale(1)}.toast-stack .toast:hover:after,.toast-stack .toast.paused:after{opacity:.38}.toast-stack .toast-glow{opacity:.1;pointer-events:none;filter:blur(14px);background:var(--toast-glow-color);border-radius:999px;width:136px;height:84px;animation:3.2s ease-in-out infinite toastBubbleGlow;position:absolute;inset:-32% auto auto 16px}.toast-stack .toast-icon{z-index:2;width:19px;height:19px;color:var(--toast-icon-color);background:#ffffff9e;border:1px solid #ffffffd6;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex;position:relative;box-shadow:0 4px 10px -8px #08182c9e,inset 0 1px #ffffffdb}.toast-stack .toast-text{z-index:2;color:#0d1e33f5;text-shadow:0 1px #ffffffa3;word-break:break-word;font-size:12.9px;font-weight:600;line-height:1.38;position:relative}.toast-stack .toast.info{--toast-rgb:69,138,214;--toast-tint:#e1f1ff33;--toast-border:#93bbe57a;--toast-icon-color:#1f5da3eb;--toast-glow-color:#458ad661;--toast-surface-top:#ffffffc7;--toast-surface-mid:#f6fbffa3;--toast-surface-end:#458ad629}.toast-stack .toast.info .toast-icon:before{content:"i"}.toast-stack .toast.success{--toast-rgb:33,166,128;--toast-tint:#dcf7ec33;--toast-border:#7ec6ac80;--toast-icon-color:#16805feb;--toast-glow-color:#21a68066;--toast-surface-top:#fafffdcc;--toast-surface-mid:#effbf7a8;--toast-surface-end:#21a6802e}.toast-stack .toast.success .toast-icon:before{content:"+"}.toast-stack .toast.warning{--toast-rgb:215,156,34;--toast-tint:#ffe7ae47;--toast-border:#d79c2285;--toast-icon-color:#8d5e08f2;--toast-glow-color:#d79c2252;--toast-surface-top:#fffbefd6;--toast-surface-mid:#fff7dbbd;--toast-surface-end:#d79c2238}.toast-stack .toast.warning .toast-icon:before{content:"!"}.toast-stack .toast.error{--toast-rgb:216,72,112;--toast-tint:#ffbed54d;--toast-border:#d848709e;--toast-icon-color:#a11c42fa;--toast-glow-color:#d848703d;--toast-surface-top:#fff7fbd1;--toast-surface-mid:#ffecf5bd;--toast-surface-end:#d848703d}.toast-stack .toast.error .toast-icon:before{content:"!"}.toast-stack .toast.info .toast-text{color:#112f51f5}.toast-stack .toast.success .toast-text{color:#10513cf7}.toast-stack .toast.warning .toast-text{color:#6a4608f7;text-shadow:0 1px #fffae5c7}.toast-stack .toast.error .toast-text{color:#711432fa;text-shadow:0 1px #ffecf3bd}.toast-stack .toast.paused .toast-glow{opacity:.24;animation-play-state:paused}@keyframes toastBubbleGlow{0%,to{opacity:.12;transform:scale(.9)}50%{opacity:.28;transform:scale(1.06)}}@keyframes toastEnterUnified{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastExitUnified{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-8px)scale(.97)}}@media (max-width:640px){.toast-stack{width:min(98vw,500px);top:10px}.toast-stack .toast-item{max-height:90px;margin-top:8px}.toast-stack .toast{max-width:min(95vw,460px);padding:8px 14px 8px 10px}.toast-stack .toast-text{font-size:12.4px}}.selected-course-card,.exam-card,.score-course-card,.score-term-section,.exam-summary,.exam-query-form,.exam-search-card,.exam-warning,.exam-info-card,.home-card,.panel:not(.view-panel),.panel.card{border-color:var(--border)!important;border-radius:var(--radius-lg)!important;background:#fffffff0!important;box-shadow:0 8px 18px #193d6714!important}.home-item,.home-profile-item{border-radius:12px!important}.selected-course-card:hover,.score-course-card:hover,.exam-card:hover{border-color:#bfd5f2!important;transform:none!important;box-shadow:0 14px 28px #193d6729!important}.auth-shell{color:var(--text)!important}.auth-card,.auth-login-card,.auth-side-card{border:1px solid var(--border)!important;background:#fffffff0!important;box-shadow:0 8px 18px #193d6714!important}.auth-hero{border-bottom:1px solid #1f7ac924!important}.auth-tabs{background:#f4f8ff!important;border:1px solid #d2deeb!important}.auth-tabs .tab,.tab{color:#5f708b!important}.auth-tabs .tab:hover,.tab:hover{color:#1f6db2!important}.auth-tabs .tab.active,.tab.active{color:#1f6db2!important;box-shadow:none!important;background:#fff!important;border:1px solid #c7d9ec!important}.auth-stage{background:#f8fbff!important;border:1px solid #d2deeb!important}.step{color:#62748f!important;background:#f8fbff!important;border:1px solid #d2deeb!important}.step.active{color:#1f6db2!important;background:#1f7ac91f!important;border-color:#1f7ac96b!important}.step.done{color:#0f8e80!important;background:#0f9c8b1f!important;border-color:#0f9c8b66!important}.qq-status-badge{color:#61748f!important;background:#f8fbff!important;border:1px solid #d2deeb!important}.qq-status-badge.waiting,.qq-status-badge.idle{color:#61748f!important}.qq-status-badge.scanned{color:#b26c33!important;background:#e1935524!important;border-color:#e1935573!important}.qq-status-badge.expired,.qq-status-badge.error{color:#b94864!important;background:#d055701f!important;border-color:#d0557066!important}.qq-status-badge.success{color:#0f8e80!important;background:#0f9c8b1f!important;border-color:#0f9c8b66!important}.qq-error-btn{color:#2f4b6f!important;box-shadow:none!important;background:#f5f9ff!important;border-color:#c7d9ec!important}.qq-error-btn:hover{color:#234262!important;background:#ecf4ff!important;border-color:#a9c3df!important}.agree-indicator{background:#fff!important;border-color:#c7d7e9!important}.agree-input:checked+.agree-indicator{background:#1f7ac9!important;border-color:#1f7ac9!important;box-shadow:0 0 0 3px #1f7ac933!important}.agree-input:focus-visible+.agree-indicator{outline-offset:2px;outline:2px solid #1f7ac970!important}.agree-text a,.auth-tip a{color:#1f6db2!important}.agree-text a:hover,.auth-tip a:hover{color:#1a5f9d!important}.exam-summary-kicker,.exam-query-label,.exam-card-detail-key,.exam-summary-meta,.exam-summary-meta-label,.exam-query-tip,.exam-summary-main-source,.exam-summary-main-source .exam-summary-update-time,.score-overview-main,.score-overview-sub,.score-detail-key,.score-meta-chip,.score-term-meta{color:var(--muted)!important}.exam-summary-main,.exam-summary-result,.exam-summary-highlight,.exam-card-subject,.exam-card-detail-value,.score-term-title,.score-course-name,.score-detail-value,.selected-course-name{color:var(--text)!important}.exam-summary-main-source,.exam-summary-main-source .exam-summary-update-time{letter-spacing:0!important;font-size:12px!important;font-weight:400!important;line-height:1.45!important}.exam-query-form{background:linear-gradient(#fffffff7 0%,#f7fbfff0 100%)!important;border:1px solid #d4e1ef!important;border-radius:18px!important;padding:16px 18px!important;box-shadow:0 10px 22px #193d6717!important}.exam-query-input{color:var(--text)!important;background:#f8fbff!important;border:1px solid #c7d7e8!important}.exam-query-input:focus{border-color:#1f7ac994!important;box-shadow:0 0 0 3px #1f7ac929!important}.exam-source-pill,.exam-source-bubble,.exam-summary-source-item{color:#5d6d86!important;box-shadow:none!important;background:0 0!important;border:1px solid #cedceb!important}.exam-notice-link{color:var(--accent)!important}.exam-detail-section{background:#ffffffc7!important}.exam-detail-line{border-bottom:none!important}.exam-countdown-pill{color:#61748f!important;background:#f8fbff!important;border-color:#d0dceb!important}.exam-countdown-pill.upcoming{color:#1f6db2!important;background:#1f7ac921!important;border-color:#1f7ac95c!important}.exam-countdown-pill.today{color:#0f8e80!important;background:#0f9c8b21!important;border-color:#0f9c8b66!important}.exam-countdown-pill.finished,.exam-countdown-pill.unknown{color:#6f7f96!important;background:#f5f9ffeb!important;border-color:#d0dceb!important}.exam-card.tone-upcoming{border-color:#1f7ac952!important}.exam-card.tone-today{border-color:#0f9c8b57!important}.exam-card.tone-finished,.exam-card.tone-unknown{border-color:var(--border)!important}.score-term-section{border:1px solid #cedceb!important;box-shadow:0 10px 24px #193d671a!important}.score-grade-badge{color:#1f6db2!important;background:#1f7ac91a!important;border:1px solid #1f7ac947!important}.score-grade-badge.excellent{color:#0f8e80!important;background:#0f9c8b24!important;border-color:#0f9c8b57!important}.score-grade-badge.good,.score-grade-badge.pass{color:#1f6db2!important;background:#1f7ac91f!important;border-color:#1f7ac94d!important}.score-grade-badge.fail{color:#bc4865!important;background:#d0557021!important;border-color:#d0557057!important}.score-grade-badge.text,.score-meta-chip{color:#60718d!important;background:#f8fbff!important;border-color:#d0dceb!important}.selected-toolbar{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%)!important;border:1px solid #d6e3f5!important;border-radius:18px!important;padding:16px 18px!important;box-shadow:0 10px 24px #193d671f!important}.selected-course-card{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%)!important;border:1px solid #d6e3f5!important;border-radius:16px!important;padding:15px 16px!important;box-shadow:0 10px 24px #193d671f!important}.selected-course-panel{box-shadow:none!important;background:#f9fcfff0!important;border:1px solid #d7e3f1!important;border-radius:14px!important}.score-overview{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:14px 16px!important}.score-term-section{box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important;padding:14px 15px!important}.score-term-section.is-current{box-shadow:none!important;background:0 0!important;border:none!important}.score-term-section.is-empty-term{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%)!important;border:1px solid #d6e3f5!important;border-radius:16px!important;box-shadow:0 10px 24px #193d671f!important}.score-term-head{border-bottom:1px solid #c2d4ece6!important;padding-inline:2px!important}.score-course-card{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%)!important;border:1px solid #d6e3f5!important;border-radius:16px!important;padding:13px 14px!important;box-shadow:0 10px 24px #193d671f!important}.score-detail-item{background:#f9fcfff0!important;border:1px solid #d7e3f1!important;border-radius:12px!important}.score-empty{color:var(--muted)!important;background:#f8fcffdb!important;border:none!important;border-radius:14px!important}.course-table-shell{-webkit-backdrop-filter:none!important;background:linear-gradient(#fdfffffa 0%,#f7fbfff2 58%,#f4faffed 100%)!important;border:1px solid #d6e3f5!important;border-radius:20px!important;overflow:hidden!important;box-shadow:0 10px 24px #193d671f!important}.course-shell-toolbar,.course-timeline-shell{box-shadow:none!important;background:0 0!important;border:none!important}.course-shell-toolbar{border-bottom:none!important;padding:14px 18px 10px!important}.course-timeline-shell{padding:0 10px 10px!important}.course-timeline-header,.course-timeline-grid{background:0 0!important}.course-timeline-header{border-bottom:1px solid #d4e1f08f!important;padding:10px 12px 8px!important}.course-timeline-grid{padding:0 12px 12px!important}.course-timeline-scroll{background:0 0!important}.course-timeline-time-col{border-right:none!important}.course-timeline-day-head,.course-timeline-day-col{border-left:none!important}.course-timeline-grid-line{border-top:1px solid #e0ebf7c7!important}.course-timeline-axis-glyph,.course-timeline-day-sub,.course-time-mark span{color:#6f84a3!important}.course-timeline-day-main{color:#223650!important}.course-timeline-empty{color:#8194af!important}.course-status-pill{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.course-status-main{color:#243b5a!important}.course-status-tip,.course-status-icon{color:#6f84a3!important;box-shadow:none!important;background:0 0!important}.course-status-pill.ok{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.course-status-pill.ok .course-status-main,.course-status-pill.ok .course-status-icon{color:#148764!important}.course-status-pill.warn{box-shadow:none!important;background:0 0!important;border-color:#0000!important}.course-status-pill.warn .course-status-main,.course-status-pill.warn .course-status-icon{color:#a66f17!important}.course-table-shell .gx-select-trigger,.course-table-shell .gx-select-native-control,.course-table-shell .week-bar-controls .btn.secondary{color:#425977!important;box-shadow:none!important;background:#f9fcff!important;border-color:#d0dceb!important}.course-table-shell .gx-select-trigger:hover,.course-table-shell .week-bar-controls .btn.secondary:hover{color:#3f5170!important;background:#edf5ff!important;border-color:#b7cce5!important}.course-table-shell .gx-select-trigger:focus-visible,.course-table-shell .gx-select-native-control:focus-visible{border-color:#1f7ac9!important;box-shadow:0 0 0 3px #1f7ac92e!important}.course-table-shell .gx-select-arrow{color:#75829c!important}.course-table-shell .gx-select-menu{background:#fffffff7!important;border-color:#cedaea!important;box-shadow:0 14px 30px #193d6724!important}.course-table-shell .gx-select-option{color:#2b3d58!important}.course-table-shell .gx-select-option:hover,.course-table-shell .gx-select-option.active{color:#1f6db2!important;background:#1f7ac91f!important}.course-timeline-card,.course-card-stack,.course-stack-item{box-shadow:inherit}.view-loading-icon{-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3px));width:46px!important;height:46px!important;box-shadow:none!important;background:conic-gradient(#1f7ac9f2 0deg,#1f7ac947 220deg,#1f7ac914 360deg)!important;border:none!important;border-radius:999px!important;animation:.9s linear infinite spin!important}.view-loading-text{color:#243750!important}.view-loading-sub{color:#5f7090!important}.gx-select-menu{-webkit-backdrop-filter:blur(12px)saturate(118%);background:#fffffff5!important;border:1px solid #cedaea!important;box-shadow:0 14px 30px #193d6724!important}.gx-select-option{color:#2b3d58!important;background:0 0!important}.gx-select-option:hover{color:#1f6db2!important;background:#1f7ac91a!important}.gx-select-option.active{color:#1a5f9d!important;background:#1f7ac929!important}.selected-toolbar,.exam-summary,.exam-query-form{border:1px solid var(--border)!important;background:#fffffff0!important;box-shadow:0 10px 22px #193d671c!important}.exam-shell,.exam-toolbar{gap:16px!important}.exam-summary,.exam-query-form{background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%)!important;border:1px solid #d6e3f5!important;border-radius:18px!important;gap:10px!important;padding:16px 18px!important;box-shadow:0 10px 24px #193d671f!important}.exam-query-controls{gap:10px!important}.exam-query-btn{min-width:100px!important}.exam-grid{grid-template-columns:repeat(auto-fill,minmax(324px,1fr))!important;gap:14px!important}.exam-card{transition:border-color var(--fast)var(--ease-out),box-shadow var(--fast)var(--ease-out),background-color var(--fast)var(--ease-out)!important;background:linear-gradient(#fdfffff7 0%,#f6fbfff0 100%)!important;border:1px solid #d6e3f5!important;border-radius:18px!important;gap:12px!important;padding:16px 18px!important;transform:none!important;box-shadow:0 10px 24px #193d671f!important}.exam-card-top{gap:12px!important}.exam-card-title-wrap{padding-right:4px;gap:6px!important}.exam-card-subject{font-size:16px!important;line-height:1.42!important}.exam-card-time-text{font-size:13px!important;line-height:1.48!important}.exam-card-meta-grid{margin-top:2px;gap:10px 14px!important;padding-top:12px!important}.exam-card-meta-item{gap:4px!important}.exam-card-detail-key{font-size:11px!important}.exam-card-detail-value{font-size:13px!important;line-height:1.45!important}@media (max-width:767px){.exam-summary,.exam-query-form,.exam-card{padding:14px 15px!important}.exam-summary-meta-files{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch!important;gap:6px 8px!important;display:grid!important}.exam-summary-meta-files .exam-source-pill,.exam-summary-meta-files .exam-source-bubble,.exam-summary-meta-files .exam-summary-source-item{white-space:nowrap;text-overflow:ellipsis;word-break:normal;justify-content:flex-start;width:100%;min-width:0;overflow:hidden}.exam-query-input{box-sizing:border-box;appearance:none;height:38px!important;min-height:38px!important;padding:0 12px!important;font-size:14px!important;line-height:38px!important}.exam-query-input::placeholder{line-height:38px!important}.exam-grid{grid-template-columns:1fr!important;gap:12px!important}}.account-modal-overlay .device-detail-summary-main,.account-modal-overlay .device-detail-summary-main *,.account-modal-overlay .device-detail-summary-main:before,.account-modal-overlay .device-detail-summary-main:after,.account-modal-overlay .device-detail-summary-icon,.account-modal-overlay .device-detail-summary-icon svg,.account-modal-overlay .account-device-icon,.account-modal-overlay .account-device-icon svg{box-shadow:none!important;filter:none!important;text-shadow:none!important}.account-modal-overlay .device-detail-summary-main,.account-modal-overlay .device-detail-summary-main:before,.account-modal-overlay .device-detail-summary-main:after,.account-modal-overlay .device-detail-summary-icon,.account-modal-overlay .account-device-icon{background:0 0!important;border:none!important}.account-modal-overlay .device-detail-content,.account-modal-overlay .sponsor-join-content{-ms-overflow-style:none;scrollbar-width:none!important;scrollbar-gutter:auto!important}.account-modal-overlay .device-detail-content::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.account-modal-overlay .sponsor-join-content::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}.account-modal-overlay .device-detail-content::-webkit-scrollbar-track{background:0 0!important}.account-modal-overlay .device-detail-content::-webkit-scrollbar-thumb{background:0 0!important}.account-modal-overlay .sponsor-join-content::-webkit-scrollbar-track{background:0 0!important}.account-modal-overlay .sponsor-join-content::-webkit-scrollbar-thumb{background:0 0!important}.overlay .modal,.overlay .modal *{scrollbar-width:none;-ms-overflow-style:none}.overlay .modal::-webkit-scrollbar{width:0;height:0;display:none}.overlay .modal ::-webkit-scrollbar{width:0;height:0;display:none}html{background-color:var(--bg)}body{overflow-y:scroll}:root{--modal-overlay-enter-ms:.26s;--modal-overlay-exit-ms:.22s;--modal-dialog-enter-ms:.34s;--modal-dialog-exit-ms:.32s}.overlay{position:fixed;inset:0;animation:unifiedOverlayEnter var(--modal-overlay-enter-ms)cubic-bezier(.22,1,.36,1)both!important}.overlay.is-closing{animation:unifiedOverlayExit var(--modal-overlay-exit-ms)cubic-bezier(.4,0,.2,1)both!important}.overlay .modal.modal-course-detail{animation:unifiedDialogEnter var(--modal-dialog-enter-ms)cubic-bezier(.22,1,.36,1)both!important}.overlay .modal.modal-course-detail.is-closing{animation:unifiedDialogExit var(--modal-dialog-exit-ms)cubic-bezier(.4,0,.2,1)both!important}@keyframes unifiedOverlayEnter{0%{opacity:0}to{opacity:1}}@keyframes unifiedOverlayExit{0%{opacity:1}to{opacity:0}}@keyframes unifiedDialogEnter{0%{opacity:0;transform:translateY(16px)scale(.975)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes unifiedDialogExit{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(10px)scale(.985)}}.panel.card.account-card.account-svip-card.is-normal,.panel.card.account-card.account-svip-card.is-sponsor,.panel.card.account-card.device-card.account-device-card{transition:none!important;transform:none!important}.panel.card.account-card.account-svip-card.is-normal{box-shadow:0 8px 18px #193d6714!important}.panel.card.account-card.account-svip-card.is-sponsor{background:linear-gradient(150deg,#fffffff5 0%,#f9f3e6f0 54%,#eee4cde6 100%)!important;border-color:#dccba9!important;box-shadow:0 10px 22px #6a57311f!important}.panel.card.account-card.device-card.account-device-card,.device-card.account-device-card{box-shadow:0 10px 22px #193d671a!important}.panel.card.account-card.account-svip-card.is-normal:hover,.panel.card.account-card.account-svip-card.is-sponsor:hover,.panel.card.account-card.device-card.account-device-card:hover{border-color:var(--border)!important;transform:none!important}.panel.card.account-card.account-svip-card.is-normal:hover{box-shadow:0 8px 18px #193d6714!important}.panel.card.account-card.account-svip-card.is-sponsor:hover{border-color:#dccba9!important;box-shadow:0 10px 22px #6a57311f!important}.panel.card.account-card.device-card.account-device-card:hover,.device-card.account-device-card:hover{box-shadow:0 10px 22px #193d671a!important}.account-hero.is-sponsor{background:radial-gradient(105% 130% at 0 0,#5a92f233,#0000 58%),radial-gradient(120% 140% at 100% 0,#42bfb026,#0000 62%),linear-gradient(148deg,#f7fbff,#edf4ff 72%,#e9f1ff)!important;border-color:#d7e4f7!important}.account-tier-pill.is-sponsor{color:#2956a5!important;background:#4f85e21f!important;border-color:#4d8cea47!important}.account-hero.is-sponsor .account-metric{background:#ffffffc7!important;border-color:#5888db33!important}.account-svip-card.is-sponsor .account-inline-benefit,.grab-inline-item.is-sponsor .account-inline-benefit{color:#725625!important;background:#c6a15c24!important;border-color:#ac8a4870!important;box-shadow:0 4px 10px #84673429,inset 0 1px #ffffff75!important}.account-svip-card.is-sponsor .account-inline-benefit:after,.grab-inline-item.is-sponsor .account-inline-benefit:after{background:linear-gradient(112deg,#0000 0%,#fff3 42%,#fff3d5a8 50%,#fff3 58%,#0000 100%)!important}.account-svip-card.is-sponsor:before{background:radial-gradient(130% 130% at 100% 0,#cfad6a2e,#0000 64%)!important}.topbar-actions.topbar-nav{box-shadow:none;-webkit-backdrop-filter:none;white-space:nowrap;background:0 0;border:none;border-radius:0;justify-content:flex-end;padding:0 2px;position:relative;flex-wrap:nowrap!important;align-items:center!important;gap:14px!important}.topbar-nav-link,.topbar-nav-button{color:#60708a;cursor:pointer;height:30px;transition:color .18s var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0 2px;font-size:13px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex;position:relative;box-shadow:none!important}.topbar-nav-link:after,.topbar-nav-button:after{content:"";transform-origin:50%;height:2px;transition:transform .2s var(--ease-out),opacity .2s var(--ease-out);opacity:.75;background:#2f7fd6db;border-radius:999px;position:absolute;bottom:1px;left:0;right:0;transform:scaleX(0)}.topbar-nav-link:hover,.topbar-nav-button:hover{color:#2f7fd6}.topbar-nav-link:hover:after,.topbar-nav-button:hover:after,.topbar-account.open .topbar-account-trigger:after{transform:scaleX(1)}.topbar-account{position:relative}.topbar-account:before{content:"";height:16px;position:absolute;top:100%;left:-14px;right:-14px}.topbar-account-trigger{gap:6px}.topbar-account-caret{color:#8a97ac;transition:transform .2s var(--ease-out),color .2s var(--ease-out);font-size:10px;transform:translateY(1px)}.topbar-account.open .topbar-account-caret{color:#2f7fd6;transform:translateY(1px)rotate(180deg)}.topbar-account-menu{z-index:15;opacity:0;pointer-events:none;transform-origin:top;width:fit-content;min-width:max-content;max-width:min(90vw,280px);transition:opacity .24s var(--ease-out),transform .24s var(--ease-out);background:linear-gradient(#fffffffa 0%,#f8fcfff7 100%);border:1px solid #d5e0ef;border-radius:16px;flex-direction:column;align-items:flex-start;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 10px);left:50%;right:auto;transform:translate(-50%,-8px)scale(.985);box-shadow:0 18px 34px #1a3a6830,inset 0 1px #ffffffd1}.topbar-account-menu.open{opacity:1;pointer-events:auto;transform:translate(-50%)scale(1)}.topbar-account-label{padding-left:6px}.topbar-account-item{color:#536480;cursor:pointer;text-align:left;white-space:nowrap;width:fit-content;min-width:0;transition:background .2s var(--ease-out),border-color .2s var(--ease-out),color .2s var(--ease-out);background:0 0;border:1px solid #0000;border-radius:11px;justify-content:flex-start;align-items:center;padding:8px 12px;font-size:12px;font-weight:700;line-height:1.15;display:inline-flex}.topbar-account-item:hover{color:#3f5271;background:#edf5ffeb;border-color:#c9daef}.topbar-account-item.danger{color:#b84e66}.topbar-account-item.danger:hover{color:#a63f58;background:#faecf1f2;border-color:#e8bfd0}.topbar-account-item-upgrade{color:#765219;background:linear-gradient(140deg,#fff7dbfa 0%,#f7dd9df2 100%);border-color:#be923970;position:relative;overflow:hidden;box-shadow:0 7px 16px #916e2738,inset 0 1px #ffffffe0}.topbar-account-item-upgrade:hover{color:#6f4a14;background:linear-gradient(140deg,#fff7dbfa 0%,#f2d58df7 100%);border-color:#b98b2e85}.topbar-account-item-upgrade:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#0000 0% 40%,#ffffff24 45%,#fffffff5 50%,#fff3 55%,#0000 60% 100%);position:absolute;inset:-1px;transform:translate(-138%)}.topbar-account-menu.open .topbar-account-item-upgrade:after{animation:2.8s cubic-bezier(.23,.61,.29,1) infinite topbarUpgradeSweep}.topbar-account-menu:not(.open) .topbar-account-item-upgrade:after{animation:none}.markdown-image-fallback{color:#9d4760;word-break:break-word;background:#fff6f9eb;border:1px dashed #e0b7c2;border-radius:10px;align-items:center;max-width:100%;min-height:32px;margin:6px 0;padding:6px 10px;font-size:12px;line-height:1.4;display:inline-flex}@media (max-width:767px),(max-width:1366px) and (hover:none) and (pointer:coarse){.topbar{justify-content:space-between;flex-direction:row!important;align-items:center!important;gap:8px!important}.topbar-main{flex:auto;justify-content:flex-start;align-items:center;min-width:0;display:flex}.topbar-main .topbar-brand-svg{--sidebar-brand-lockup-width:220px;--sidebar-brand-layout-width-px:var(--sidebar-brand-lockup-width);pointer-events:none;width:fit-content;max-width:clamp(108px,36vw,156px);min-height:24px;margin:0;padding:0;display:flex}.topbar-main .topbar-brand-svg .brand-svg-fit{width:var(--brand-layout-width-px);max-width:100%}.topbar-title{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.topbar-actions.topbar-nav{border-radius:0;flex:none;padding:0 2px;gap:10px!important;width:auto!important}.topbar-nav-link,.topbar-nav-button{height:26px;padding:0 1px;font-size:12px}.topbar-account-menu{transform-origin:top;width:fit-content;min-width:max-content;max-width:calc(100vw - 20px);left:50%;right:auto;transform:translate(-50%,-8px)scale(.985)}.topbar-account-menu.open{transform:translate(-50%)scale(1)}}@keyframes topbarUpgradeSweep{0%{opacity:0;transform:translate(-138%)}8%{opacity:1}56%{opacity:1;transform:translate(138%)}66%{opacity:0}to{opacity:0;transform:translate(138%)}}@media (min-width:768px) and (max-width:1366px) and (hover:none) and (pointer:coarse){.topbar-main .topbar-brand-svg{max-width:clamp(96px,28vw,136px)}}@media (max-width:767px){.course-timeline-header,.course-timeline-grid{grid-template-columns:var(--course-axis-col)repeat(7,minmax(0,1fr))!important;padding-left:0!important;padding-right:0!important}.course-timeline-day-head,.course-timeline-day-col{border-left:none!important;min-width:0!important}.course-timeline-time-col{border-right:none!important}.course-timeline-grid-line{display:block!important}.course-time-mark{justify-content:flex-start!important;left:4px!important;right:auto!important}}.field .grab-start-time-input{width:100%;min-inline-size:0;max-inline-size:100%;opacity:0;appearance:none;height:100%;margin:0;position:absolute;inset:0;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important}.field .grab-start-time-input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.field .grab-start-time-input::-webkit-datetime-edit{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-date-and-time-value{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-datetime-edit-year-field{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-datetime-edit-month-field{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-datetime-edit-day-field{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-datetime-edit-hour-field{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-datetime-edit-minute-field{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-input::-webkit-datetime-edit-ampm-field{color:#0000!important;-webkit-text-fill-color:transparent!important}.field .grab-start-time-control{width:100%;min-inline-size:0;max-inline-size:100%}@media (max-width:980px){.field .grab-start-time-control,.field .grab-start-time-input{width:100%;min-inline-size:0;max-inline-size:100%}.field .grab-start-time-display{right:var(--grab-time-display-right)}}@supports (-webkit-touch-callout:none){.grab-start-time-control{--grab-time-display-right:calc(var(--grab-time-icon-size) + var(--grab-time-icon-right) + .48rem)}}@media (max-width:767px){.field .grab-start-time-control{width:100%;min-inline-size:0;max-inline-size:100%}}.field .grab-start-time-input:focus,.field .grab-start-time-input:focus-visible,.field .grab-start-time-input:active{box-shadow:none!important;border-color:#ced9ee!important;outline:none!important;transform:none!important}.sidebar{--sidebar-brand-lockup-width:272px;--sidebar-brand-layout-width-px:var(--sidebar-brand-lockup-width)}.sidebar .brand,.topbar-main .topbar-brand-svg{white-space:nowrap;justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:34px;margin-inline:auto;padding-right:0;display:flex;overflow:visible;color:inherit!important;text-transform:none!important;letter-spacing:normal!important}.topbar-main .topbar-brand-svg{justify-content:flex-start;margin-inline:0}.sidebar .brand.is-bridge-hidden,.topbar-main .topbar-brand-svg.is-bridge-hidden{opacity:0;pointer-events:none}.sidebar .brand .brand-svg-fit,.topbar-main .topbar-brand-svg .brand-svg-fit{--brand-cycle:12.4s;--brand-bleed:56px;--brand-feather-blur:.78px;--brand-sweep-width-px:45px;--brand-sweep-x-px:-111px;--brand-sweep-height:208%;--brand-sweep-overscan:28%;--brand-layout-width-px:var(--sidebar-brand-layout-width-px);--brand-second-render-filter:saturate(1.14)contrast(1.08)drop-shadow(0 0 .72px #92b2dc75)drop-shadow(0 0 1.96px #3f618e4d);width:var(--brand-layout-width-px);white-space:nowrap;max-width:100%;clip-path:inset(0 calc(100% + var(--brand-bleed))0 calc(-1*var(--brand-bleed)));filter:blur();animation:gxkjBrandMask var(--brand-cycle)linear infinite;will-change:clip-path,filter;align-items:center;display:inline-flex;position:relative;transform:none}.sidebar .brand .brand-lockup-svg,.topbar-main .topbar-brand-svg .brand-lockup-svg{z-index:1;color:#0b0e14;filter:drop-shadow(0 1px #06090f38);width:100%;max-width:100%;height:auto;display:block;position:relative;overflow:visible}.sidebar .brand .brand-lockup-path,.topbar-main .topbar-brand-svg .brand-lockup-path{fill:currentColor;fill-opacity:1;stroke:currentColor;stroke-width:.48px;stroke-opacity:1}.sidebar .brand .brand-lockup-svg-second,.sidebar .brand .brand-lockup-svg-sweep,.topbar-main .topbar-brand-svg .brand-lockup-svg-second,.topbar-main .topbar-brand-svg .brand-lockup-svg-sweep{pointer-events:none;position:absolute;inset:0}.sidebar .brand .brand-lockup-svg-second,.topbar-main .topbar-brand-svg .brand-lockup-svg-second{z-index:2;color:#34557f;clip-path:inset(0 100% 0 0);opacity:0;filter:var(--brand-second-render-filter);animation:gxkjBrandSecondRevealSvg var(--brand-cycle)linear infinite;will-change:clip-path,opacity,filter}.sidebar .brand .brand-lockup-svg-second .brand-lockup-path,.topbar-main .topbar-brand-svg .brand-lockup-svg-second .brand-lockup-path{stroke-width:.44px}.sidebar .brand .brand-lockup-svg-second .brand-lockup-second-fill,.topbar-main .topbar-brand-svg .brand-lockup-svg-second .brand-lockup-second-fill{opacity:.98}.sidebar .brand .brand-lockup-svg-second .brand-lockup-path-second-glow,.topbar-main .topbar-brand-svg .brand-lockup-svg-second .brand-lockup-path-second-glow{fill:none;stroke:#8fadd59e;stroke-width:1.52px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke}.sidebar .brand .brand-lockup-svg-second .brand-lockup-path-second-edge,.topbar-main .topbar-brand-svg .brand-lockup-svg-second .brand-lockup-path-second-edge{fill:none;stroke:#5474a0b8;stroke-width:.9px;stroke-linecap:round;stroke-linejoin:round;paint-order:stroke}.sidebar .brand .brand-lockup-svg-sweep,.topbar-main .topbar-brand-svg .brand-lockup-svg-sweep{z-index:3;color:#ffffffe0;-webkit-mask-image:linear-gradient(112deg,#0000 0%,#00000038 34%,#000 50%,#00000038 66%,#0000 100%);mask-image:linear-gradient(112deg,#0000 0%,#00000038 34%,#000 50%,#00000038 66%,#0000 100%);-webkit-mask-size:var(--brand-sweep-width-px)var(--brand-sweep-height);-webkit-mask-size:var(--brand-sweep-width-px)var(--brand-sweep-height);mask-size:var(--brand-sweep-width-px)var(--brand-sweep-height);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:var(--brand-sweep-x-px)50%;-webkit-mask-position:var(--brand-sweep-x-px)50%;mask-position:var(--brand-sweep-x-px)50%;opacity:0;animation:gxkjBrandSweepSvgOpacity var(--brand-cycle)linear infinite;will-change:mask-position,opacity,-webkit-mask-position}.sidebar .brand .brand-lockup-svg-sweep .brand-lockup-path,.topbar-main .topbar-brand-svg .brand-lockup-svg-sweep .brand-lockup-path{stroke:none;stroke-width:0;fill-opacity:1}@keyframes gxkjBrandSweep{0%,41.9354%{opacity:0;background-position:200% 0}41.9355%{opacity:1;background-position:200% 0}83.8709%{opacity:1;background-position:-200% 0}83.871%,to{opacity:0;background-position:-200% 0}}@keyframes gxkjBrandSweepSvgOpacity{0%,41.9354%{opacity:0}41.9355%,86.8%{opacity:1}87.4%,to{opacity:0}}@keyframes gxkjBrandSecondReveal{0%,19.3548%{clip-path:inset(0 100% 0 0);opacity:0;filter:saturate(1.08)contrast(1.06)blur(var(--brand-feather-blur))}33.8709%{clip-path:inset(0);opacity:1;filter:saturate(1.08)contrast(1.06)blur()}96.7741%{clip-path:inset(0);opacity:.98;filter:saturate(1.08)contrast(1.06)blur()}96.7742%,to{clip-path:inset(0 100% 0 0);opacity:0;filter:saturate(1.08)contrast(1.06)blur(var(--brand-feather-blur))}}@keyframes gxkjBrandSecondRevealSvg{0%,19.3548%{clip-path:inset(0 100% 0 0);opacity:0;filter:var(--brand-second-render-filter)blur(var(--brand-feather-blur))}33.8709%{clip-path:inset(0);opacity:1;filter:var(--brand-second-render-filter)blur(0)}96.7741%{clip-path:inset(0);opacity:.98;filter:var(--brand-second-render-filter)blur(0)}96.7742%,to{clip-path:inset(0 100% 0 0);opacity:0;filter:var(--brand-second-render-filter)blur(var(--brand-feather-blur))}}@keyframes gxkjBrandSecondRevealSvgWebkit{0%,19.3548%{clip-path:inset(0 100% 0 0);opacity:0;filter:none}33.8709%{clip-path:inset(0);opacity:1;filter:none}96.7741%{clip-path:inset(0);opacity:.98;filter:none}96.7742%,to{clip-path:inset(0 100% 0 0);opacity:0;filter:none}}@supports (-webkit-touch-callout:none){.sidebar .brand .brand-lockup-svg-second,.topbar-main .topbar-brand-svg .brand-lockup-svg-second{filter:none;backface-visibility:hidden;animation-name:gxkjBrandSecondRevealSvgWebkit;transform:translateZ(0)}}@keyframes gxkjBrandMask{0%{clip-path:inset(0 calc(100% + var(--brand-bleed))0 calc(-1*var(--brand-bleed)));filter:blur(var(--brand-feather-blur))}14.5161%{clip-path:inset(0 calc(-1*var(--brand-bleed))0 calc(-1*var(--brand-bleed)));filter:blur()}90.3225%{clip-path:inset(0 calc(-1*var(--brand-bleed))0 calc(-1*var(--brand-bleed)));filter:blur()}96.7741%{clip-path:inset(0 calc(100% + var(--brand-bleed))0 calc(-1*var(--brand-bleed)));filter:blur(var(--brand-feather-blur))}96.7742%,to{clip-path:inset(0 calc(100% + var(--brand-bleed))0 calc(-1*var(--brand-bleed)));filter:blur()}}@media (prefers-reduced-motion:reduce){.sidebar .brand .brand-svg-fit,.sidebar .brand .brand-lockup-svg-second,.sidebar .brand .brand-lockup-svg-sweep,.topbar-main .topbar-brand-svg .brand-svg-fit,.topbar-main .topbar-brand-svg .brand-lockup-svg-second,.topbar-main .topbar-brand-svg .brand-lockup-svg-sweep{opacity:1!important;animation:none!important}.sidebar .brand .brand-svg-fit,.topbar-main .topbar-brand-svg .brand-svg-fit{clip-path:inset(0 calc(-1*var(--brand-bleed))0 calc(-1*var(--brand-bleed)))!important}.sidebar .brand .brand-lockup-svg-second,.sidebar .brand .brand-lockup-svg-sweep,.topbar-main .topbar-brand-svg .brand-lockup-svg-second,.topbar-main .topbar-brand-svg .brand-lockup-svg-sweep{opacity:0!important}}@media (max-width:767px),(max-width:1366px) and (hover:none) and (pointer:coarse){.topbar{top:max(0px,env(safe-area-inset-top));z-index:30;box-shadow:none;isolation:isolate;-webkit-backdrop-filter:none;background-image:none;border:1px solid #0000;border-radius:14px;padding:8px 10px;transition:background-color .22s,background-image .22s,border-color .22s,box-shadow .22s,-webkit-backdrop-filter .22s,backdrop-filter .22s;position:sticky;background-color:#0000!important}.topbar:before{content:"";z-index:-1;pointer-events:none;box-sizing:border-box;width:100vw;box-shadow:none;-webkit-backdrop-filter:blur(10px)saturate(1.05);opacity:0;background-color:#f7fbffc7;background-image:linear-gradient(#eef7ffd1 0%,#ffffffc2 100%);border:none;border-radius:0 0 14px 14px;transition:opacity .22s,background-color .22s,background-image .22s,border-color .22s,box-shadow .22s,-webkit-backdrop-filter .22s,backdrop-filter .22s;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 0% 70%,#000000e6 78%,#00000070 92%,#0000 100%);mask-image:linear-gradient(#000 0% 70%,#000000e6 78%,#00000070 92%,#0000 100%)}.topbar:after{content:"";z-index:-1;pointer-events:none;filter:blur(5px);opacity:0;background:radial-gradient(24px 16px at 0 0,#b0c6e552 0%,#b0c6e500 82%),radial-gradient(24px 16px at 100% 0,#b0c6e552 0%,#b0c6e500 82%),linear-gradient(#b7cbe63d 0%,#b7cbe61a 48%,#b7cbe600 100%);width:100vw;height:20px;transition:opacity .22s,filter .22s;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}.topbar.is-stuck-mobile{box-shadow:none;-webkit-backdrop-filter:none;background-image:none;border-color:#0000;background-color:#0000!important}.topbar.is-stuck-mobile:before{opacity:1}.topbar.is-stuck-mobile:after{opacity:1;filter:blur(5px)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.topbar:before{box-shadow:none;background-color:#f3f9ffd1;background-image:linear-gradient(#f0f7ffd6 0%,#fffc 100%)}.topbar:after{background:radial-gradient(24px 16px at 0 0,#b2c7e357 0%,#b2c7e300 82%),radial-gradient(24px 16px at 100% 0,#b2c7e357 0%,#b2c7e300 82%),linear-gradient(#b6c9e242 0%,#b6c9e21f 48%,#b6c9e200 100%)}}}
