:root{color-scheme:light;background:#f3f5f8;--bg:#f3f5f8;--surface:#fff;--soft:#f8fafc;--ink:#1d2d43;--muted:#697789;--line:#e2e7ee;--primary:#41638c;--hover:#304e72;--tint:#ebf1f8;--sidebar:#142337;--nav:#29425f;--accent:#a8c2df;--success:#396d62;--success-bg:#edf6f2;--danger:#a54248;--danger-bg:#fff0f1;--warning:#846336;--warning-bg:#faf4e9;font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei","PingFang SC",sans-serif}
:root[data-theme="classic"]{--bg:#f5f4ef;--soft:#fafaf5;--ink:#24302d;--muted:#71786c;--line:#e4e5d9;--primary:#ad4f29;--hover:#903c1b;--tint:#fff1e8;--sidebar:#182b28;--nav:#314640;--accent:#bddc8b;--success:#4e7140;--success-bg:#f0f5e8}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;background:#f3f5f8}body{margin:0;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;animation:page-enter .22s ease-out both}body.page-leaving{animation:page-leave .15s ease-in both;pointer-events:none}.route-progress{position:fixed;z-index:200;top:0;left:0;width:35%;height:3px;background:var(--primary);border-radius:0 3px 3px 0;animation:route-progress .15s ease-out both;pointer-events:none}@keyframes page-enter{from{opacity:.72;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes page-leave{from{opacity:1}to{opacity:.72}}@keyframes route-progress{from{width:0;opacity:.7}to{width:38%;opacity:1}}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button,a,input,select,textarea{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--primary);outline-offset:3px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.35;letter-spacing:-.7px}h2{font-size:18px;line-height:1.5}h3{font-size:15px;line-height:1.6}p{color:var(--muted)}small{font-size:12px}svg.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle}button .icon,.button .icon{width:17px;height:17px}code{font-family:Consolas,monospace;overflow-wrap:anywhere}.skip-link{position:fixed;top:-60px;left:20px;z-index:90;padding:12px 20px;background:var(--surface);border:2px solid var(--primary)}.skip-link:focus{top:10px}.boot-state{min-height:65vh;display:grid;place-items:center;text-align:center;padding:30px}.boot-state h2{margin:12px 0 6px}.boot-state .button{margin-top:20px}.boot-state .icon{color:var(--primary)}
.sidebar{width:232px;position:fixed;inset:0 auto 0 0;z-index:40;background:var(--sidebar);color:#b9c7d8;padding:30px 16px 20px;display:flex;flex-direction:column;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 12px;color:#fff}.brand-mark{width:38px;height:38px;border:1px solid #ffffff36;border-radius:11px;display:grid;place-items:center;color:var(--accent);background:#ffffff08}.brand-mark .icon{width:23px;height:23px}.brand b{display:block;font-size:18px;letter-spacing:1px}.brand small{display:block;font-size:10px;letter-spacing:.4px;color:#acbccd;margin-top:2px}.nav-label{font-size:10px;letter-spacing:1.5px;margin:44px 16px 12px;color:#8296ae}.nav-item{display:flex;align-items:center;gap:13px;padding:12px 15px;margin-bottom:5px;border-radius:7px;font-size:13px}.nav-item:hover{background:#ffffff09;color:#fff}.nav-item.active{background:var(--nav);color:#fff}.nav-item.active>.icon{color:var(--accent)}.nav-indicator{width:5px;height:5px;border-radius:50%;background:var(--accent);margin-left:auto}.nav-divider{margin:22px 14px 18px;border-top:1px solid #ffffff12}.sidebar-bottom{margin-top:auto;padding-top:55px}.service-box{border:1px solid #ffffff18;background:#ffffff03;border-radius:8px;padding:15px 13px}.service-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#d6dfeb}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8393a8;flex-shrink:0}.service-box p{font-size:10px;color:#8fa2b9;margin-top:6px}.service-box a{display:flex;align-items:center;justify-content:space-between;margin-top:16px;color:var(--accent);font-size:11px}.service-box .icon{width:15px;height:15px}.sidebar-foot{display:block;font-size:10px;color:#879bb0;text-align:center;margin-top:22px}.app-frame{margin-left:232px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:76px;background:var(--surface);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 38px;gap:16px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:22px}.breadcrumb{color:var(--muted);font-size:12px;white-space:nowrap}.breadcrumb>span{margin:0 12px;color:#bec7d2}.breadcrumb strong{font-weight:500;color:var(--ink)}.theme-label{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.theme-label select{font-size:11px;background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:6px;padding:7px 8px;min-height:34px;width:auto}.account-trigger{display:flex;align-items:center;gap:9px;border:0;border-left:1px solid var(--line);padding:0 0 0 20px;background:transparent;text-align:left;color:var(--ink)}.avatar{width:33px;height:33px;display:grid;place-items:center;background:var(--tint);border:1px solid var(--line);border-radius:50%;font-size:12px;color:var(--primary)}.account-label{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-label small{font-size:10px;display:block;color:var(--muted)}.mobile-menu,.sidebar-overlay{display:none}.icon-button{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted)}.icon-button.mobile-menu{display:none}
.page-content{width:100%;max-width:1440px;margin:0 auto;padding:36px 38px 42px;flex:1}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:28px}.eyebrow{display:block;color:var(--primary);font-size:10px;font-weight:600;letter-spacing:1.6px;margin-bottom:9px}.page-heading p{margin-top:10px;font-size:12px;max-width:740px;line-height:1.85}.page-heading .button{flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:6px;padding:10px 16px;min-height:40px;font-size:12px;font-weight:500;white-space:nowrap}.primary{background:var(--primary);color:#fff}.primary:hover:not(:disabled){background:var(--hover)}.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.secondary:hover:not(:disabled){background:var(--soft);border-color:var(--primary)}.subtle{background:transparent;color:var(--primary);padding:6px 0;min-height:30px}.danger{background:var(--danger-bg);color:var(--danger);border-color:#edc7cb}.small{padding:6px 10px;min-height:32px;font-size:11px}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;background:var(--tint);color:var(--primary);border:1px solid var(--line);border-radius:5px;padding:3px 8px;font-size:10px;font-weight:500}.badge.neutral{color:var(--muted);background:var(--soft)}.badge.active,.badge.success{color:var(--success);background:var(--success-bg);border-color:transparent}.badge.pending{color:var(--warning);background:var(--warning-bg);border-color:transparent}.badge.rejected,.badge.suspended{color:var(--danger);background:var(--danger-bg);border-color:transparent}.panel{border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:0 8px 26px #14233704;padding:23px;min-width:0}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}.panel-head p{font-size:11px;margin-top:5px}.panel-head .eyebrow{margin-bottom:5px}.muted{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:12px}.text-link:hover{text-decoration:underline}.text-link .icon{width:15px;height:15px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px;gap:15px}.section-title p{font-size:11px;margin-top:4px}.grid-two{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:20px}.grid-equal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stack{display:grid;gap:20px}.notice{display:flex;align-items:flex-start;gap:11px;background:var(--tint);border:1px solid var(--line);border-radius:8px;padding:15px 18px;margin-bottom:23px;font-size:12px;color:var(--primary)}.notice p{font-size:11px;margin-top:3px;line-height:1.85}.notice>.icon{width:18px;height:18px;margin-top:2px}.notice.neutral{background:var(--soft)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.stat{padding:20px 22px;background:var(--surface);border:1px solid var(--line);border-radius:9px}.stat-label{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:11px}.stat-label .icon{width:17px;height:17px;color:#94a2b3}.stat strong{display:block;font-size:24px;font-weight:600;letter-spacing:-.6px;margin:12px 0 5px}.stat strong.word-value{font-size:20px}.stat small{display:block;font-size:10px;color:var(--muted)}.stat strong span{font-size:12px;font-weight:400;color:var(--muted);letter-spacing:0;margin-left:5px}.feature-panel{background:var(--sidebar);border-color:var(--sidebar);color:#fff}.feature-panel .eyebrow{color:var(--accent)}.feature-panel h2{font-size:23px;margin-bottom:10px}.feature-panel p{color:#aebed1;font-size:12px;max-width:500px;line-height:1.9}.feature-panel .badge{background:#ffffff0b;border-color:#ffffff22;color:#c4d0df}.feature-panel .button{margin-top:23px;background:var(--surface);color:var(--ink)}.feature-meta{border-top:1px solid #ffffff1b;margin-top:26px;padding-top:16px;display:flex;gap:24px;flex-wrap:wrap;font-size:10px;color:#a6b9cf}.feature-meta b{color:#dfe7f1;margin-left:7px;font-weight:400}.quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.quick-link{display:flex;align-items:flex-start;gap:13px;border:1px solid var(--line);border-radius:9px;padding:21px;background:var(--surface)}.quick-link:hover{border-color:var(--primary)}.tile-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--tint);color:var(--primary);border-radius:9px;flex-shrink:0}.quick-link h3{margin-bottom:5px}.quick-link p{font-size:11px;line-height:1.8}.quick-link>.icon{width:17px;margin-left:auto;color:var(--muted)}.compact-list{list-style:none;margin:0;padding:0}.compact-list li{display:flex;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);align-items:flex-start}.compact-list li:first-child{padding-top:0}.compact-list li:last-child{padding-bottom:0;border-bottom:0}.step-no{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:6px;background:var(--tint);color:var(--primary);font-size:11px}.compact-list p{font-size:11px;margin-top:5px}.detail-list{margin:0;display:grid}.detail-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.detail-list>div:first-child{padding-top:0}.detail-list>div:last-child{border:0;padding-bottom:0}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.page-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:18px 38px;font-size:10px;color:var(--muted);gap:20px}.empty-state{text-align:center;padding:32px 15px;border:1px dashed var(--line);border-radius:7px;background:var(--soft)}.empty-state>.icon{color:var(--muted);width:26px;height:26px;margin-bottom:10px}.empty-state h3{font-size:13px;font-weight:500}.empty-state p{font-size:11px;margin-top:6px}.loading-state{padding:24px;color:var(--muted);font-size:12px}.load-error{padding:22px;background:var(--danger-bg);border-radius:8px;color:var(--danger)}.load-error p{color:inherit;margin-bottom:12px;font-size:12px}.endpoint-row{display:flex;gap:10px;align-items:center}.endpoint-value{display:block;flex:1;min-width:0;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:12px 14px;color:var(--muted);font-size:12px}.help-text{font-size:11px;line-height:1.85;color:var(--muted);margin-top:12px}.model-header{display:flex;align-items:center;gap:12px;margin-bottom:22px}.model-header .badge{margin-left:auto}.model-header small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.table-wrap{overflow:auto;max-width:100%;border:1px solid var(--line);border-radius:7px}table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}th{background:var(--soft);font-size:10px;color:var(--muted);font-weight:500;white-space:nowrap}th,td{padding:12px 15px;border-bottom:1px solid var(--line);vertical-align:middle}tbody tr:last-child td{border-bottom:0}td small{display:block;color:var(--muted);font-size:10px;margin-top:3px}td .button-row{flex-wrap:nowrap}.limits-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.limit-item{border:1px solid var(--line);border-radius:7px;background:var(--soft);padding:14px}.limit-item strong{font-size:23px;font-weight:600}.limit-item span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.tab-links{display:flex;gap:22px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tab-links a{white-space:nowrap;font-size:12px;color:var(--muted);padding:0 1px 13px}.tab-links a:hover{color:var(--primary)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.search-field{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:7px;padding:0 12px;min-width:220px;max-width:100%;flex:0 1 310px}.search-field>.icon{width:17px;color:var(--muted)}.search-field input{border:0!important;background:transparent!important;outline:none;min-width:0;padding:10px 0!important;width:100%;font-size:12px}.search-field:focus-within{outline:2px solid var(--primary);outline-offset:2px}.search-field input:focus-visible{outline:none}.filter-group{display:flex;gap:5px;flex-wrap:wrap}.filter-button{border:1px solid transparent;border-radius:6px;background:transparent;color:var(--muted);padding:8px 13px;font-size:12px;min-height:36px}.filter-button[aria-pressed="true"]{color:var(--primary);background:var(--tint);border-color:var(--line)}.filter-button:hover{background:var(--surface)}.results-count{font-size:11px;color:var(--muted);margin-bottom:14px}.lesson-group{margin-bottom:20px;scroll-margin-top:24px}.group-head{display:flex;align-items:flex-start;gap:20px;padding-bottom:21px;border-bottom:1px solid var(--line)}.stage-number{font-size:28px;color:var(--primary);font-weight:300;line-height:1.4;opacity:.65}.group-head .eyebrow{margin-bottom:4px}.group-head p{font-size:11px;line-height:1.8;margin-top:5px}.lesson-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px}.lesson-link{border:1px solid var(--line);border-radius:7px;padding:16px;display:flex;flex-direction:column;gap:10px;min-height:146px}.lesson-link:hover{border-color:var(--primary);background:var(--soft)}.lesson-meta{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted)}.lesson-link h3{font-size:12px;font-weight:500;line-height:1.85}.download-label{margin-top:auto;color:var(--primary);font-size:10px;display:flex;justify-content:space-between;align-items:center}.download-label .icon{width:14px;height:14px}.resource-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px;background:var(--tint);border:1px solid var(--line);border-radius:9px;margin-top:24px}.resource-strip p{font-size:11px;margin-top:5px}.task-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.task-card{display:flex;flex-direction:column;min-height:310px}.task-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.task-card h2{font-size:17px;line-height:1.6;margin-bottom:10px}.task-card>p{font-size:12px;line-height:1.9}.task-deliverable{font-size:11px;margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.task-deliverable b{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-bottom:5px}.task-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:23px;flex-wrap:wrap}.task-foot .text-link{font-size:10px}.practice-guide{margin-top:24px}.practice-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.practice-step .step-no{width:26px;margin-bottom:12px}.practice-step h3{font-size:12px}.practice-step p{font-size:11px;margin-top:5px}.about-intro{padding:30px;background:var(--sidebar);color:#fff;display:grid;grid-template-columns:1.5fr 1fr;gap:40px;border-radius:10px;margin-bottom:22px}.about-intro .eyebrow{color:var(--accent)}.about-intro h2{font-size:26px;margin:12px 0}.about-intro p{color:#b4c3d3;font-size:12px;line-height:2}.about-aside{border-left:1px solid #ffffff24;padding-left:30px;display:grid;align-content:center;gap:19px}.about-aside b{display:block;font-size:12px;margin-bottom:4px}.about-aside span{font-size:11px;color:#b4c3d3}.principle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.principle-grid .tile-icon{margin-bottom:18px}.principle-grid p{font-size:12px;margin-top:10px;line-height:1.9}
label{display:grid;gap:7px;font-size:12px;color:var(--ink)}input:not([type="checkbox"]),textarea,select{width:100%;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);padding:10px 12px;min-height:42px}input::placeholder{color:#95a0ae}input:focus,textarea:focus{border-color:var(--primary)}.field-help{font-size:10px;margin-top:-5px}.form-message{font-size:12px;color:var(--danger);padding:11px 13px;background:var(--danger-bg);border-radius:6px;overflow-wrap:anywhere}.form-message.success{color:var(--success);background:var(--success-bg)}.account-dialog,.confirm-dialog{border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);width:min(480px,calc(100% - 32px));padding:26px;max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 100px #10223633}.account-dialog::backdrop,.confirm-dialog::backdrop{background:#0b182b66;backdrop-filter:blur(3px)}.dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:25px}.dialog-head p{font-size:12px;margin-top:5px}.dialog-head h2{overflow-wrap:anywhere}.dialog-head .icon-button{flex-shrink:0}.account-dialog form{display:grid;gap:15px}.dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:22px;margin-top:24px;border-top:1px solid var(--line)}.dialog-foot>span{color:var(--muted);font-size:11px}.confirm-dialog p{font-size:12px;margin:15px 0 23px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px);z-index:100;padding:12px 18px;border-radius:7px;background:var(--sidebar);color:#fff;font-size:12px;box-shadow:0 4px 25px #0002;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:calc(100% - 40px);width:max-content}.toast.visible{opacity:1;transform:translate(-50%,0)}
.login-page{min-height:100vh;display:grid;grid-template-columns:42% 58%;background:var(--surface)}.login-aside{background:var(--sidebar);color:#fff;padding:42px 48px;display:flex;flex-direction:column}.login-aside .brand{padding:0}.login-intro{margin:auto 0;padding:75px 0}.login-intro .eyebrow{color:var(--accent)}.login-intro h1{font-size:36px;line-height:1.55;font-weight:600;margin:17px 0}.login-intro>p{color:#a9bbd0;font-size:13px;line-height:1.95;max-width:360px}.login-features{display:grid;gap:21px;margin-top:43px}.login-features>div{display:flex;gap:14px;align-items:flex-start}.login-features .icon{color:var(--accent)}.login-features b{font-size:12px;font-weight:500;display:block}.login-features p{font-size:11px;color:#97abc2;margin-top:4px}.login-aside-foot{font-size:11px;color:#879db8}.login-main{display:flex;flex-direction:column;min-width:0}.login-topbar{display:flex;justify-content:flex-end;padding:30px 40px}.login-card{width:100%;max-width:430px;padding:35px 25px 55px;margin:auto}.login-card h1{font-size:26px;margin-bottom:10px}.login-card>p{font-size:12px;line-height:1.9}.auth-tabs{display:flex;border-bottom:1px solid var(--line);gap:26px;margin:30px 0 24px}.auth-tab{background:none;border:0;border-bottom:2px solid transparent;padding:0 0 12px;color:var(--muted);font-size:12px}.auth-tab[aria-selected="true"]{border-color:var(--primary);color:var(--primary);font-weight:600}.auth-form{display:grid;gap:18px}.auth-form .button{margin-top:3px;min-height:44px}.auth-form .field-help{margin-top:-11px}.login-footnote{font-size:10px;text-align:center;line-height:1.9;margin-top:22px;color:var(--muted)}.login-footer{padding:20px 32px;text-align:center;font-size:10px;color:var(--muted)}.login-page .boot-state{min-height:0;margin-bottom:20px;padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:7px;font-size:12px}.login-page .boot-state h2{font-size:15px}.login-status{border:1px solid var(--line);background:var(--soft);padding:24px;border-radius:10px;margin-top:28px}.login-status h2{margin:15px 0 9px}.login-status p{font-size:12px;line-height:1.9;overflow-wrap:anywhere}.login-status .button-row{margin-top:22px}.login-status .form-message{margin-top:16px}.pending-steps{display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);margin-top:22px;flex-wrap:wrap}.pending-steps .current{color:var(--primary);font-weight:600}.invite-form{display:grid;grid-template-columns:1fr 100px auto;gap:12px;align-items:end;margin-bottom:20px}.invitation-result{background:var(--success-bg);border:1px solid var(--line);border-radius:8px;padding:18px;margin:18px 0}.invitation-result h3{font-size:13px;margin-bottom:6px}.invitation-result p{font-size:11px;margin-bottom:12px}.copy-row{display:flex;gap:9px;align-items:center}.copy-row input{min-width:0;font-size:11px;background:var(--surface)}.admin-section{margin-bottom:24px}.admin-meta{display:flex;gap:15px;color:var(--muted);font-size:11px}.member-name{font-weight:500;overflow-wrap:anywhere;max-width:220px}.audit-table{min-width:610px}.admin-table{min-width:700px}.admin-toolbar{margin-bottom:17px}.admin-toolbar .search-field{flex:1 1 250px}.admin-toolbar select{width:auto;min-width:120px;font-size:12px}.admin-section>.form-message{margin-bottom:16px}.admin-summary{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1180px){.sidebar{width:208px;padding-left:12px;padding-right:12px}.app-frame{margin-left:208px}.topbar{padding:0 25px}.page-content{padding:28px 25px 35px}.grid-two{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.panel{padding:20px}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lesson-list{grid-template-columns:1fr}.lesson-link{min-height:0;display:grid;grid-template-columns:70px 1fr auto;align-items:center}.lesson-meta{gap:15px;justify-content:flex-start}.download-label{margin:0;gap:9px}.login-aside{padding:35px}.login-intro h1{font-size:30px}}
@media(max-width:960px){.grid-two,.grid-equal{grid-template-columns:1fr}.page-heading{align-items:flex-start}.about-intro{grid-template-columns:1fr;gap:25px}.about-aside{border-left:0;border-top:1px solid #ffffff24;padding:22px 0 0;grid-template-columns:1fr 1fr}.principle-grid{grid-template-columns:1fr}.practice-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:38% 62%}.login-aside{padding:30px 24px}.login-intro h1{font-size:27px}.stats{gap:10px}.stat{padding:17px}.stat strong.word-value{font-size:18px}.topbar-actions{gap:13px}.account-trigger{padding-left:13px}.account-label{max-width:90px}.theme-label>span{display:none}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:transform .2s;width:240px}.nav-open .sidebar{transform:translateX(0)}.nav-open .sidebar-overlay{display:block;position:fixed;inset:0;border:0;background:#0b182b66;z-index:35}.nav-open{overflow:hidden}.app-frame{margin-left:0}.icon-button.mobile-menu{display:inline-grid}.topbar{height:66px;padding:0 18px}.topbar-left{gap:12px}.breadcrumb{font-size:11px}.breadcrumb>span{margin:0 6px}.account-label{display:none}.account-trigger{padding-left:11px}.topbar-actions{gap:11px}.theme-label select{min-height:34px;width:105px;font-size:10px;padding:6px}.page-content{padding:25px 18px 32px}.page-heading{gap:16px;margin-bottom:24px}h1{font-size:26px}.page-heading p{font-size:11px}.page-heading>.button{font-size:11px;padding:9px 12px}.page-footer{padding:18px;font-size:9px}.stat{padding:15px 12px}.stat strong{font-size:22px}.stat strong.word-value{font-size:16px}.stat-label{font-size:10px}.stat-label .icon{display:none}.stat small{font-size:9px}.task-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.task-foot{gap:13px}.task-foot .button{width:100%}.login-page{display:block}.login-aside{padding:22px 26px;display:block}.login-intro,.login-aside-foot{display:none}.login-topbar{padding:20px 25px 0}.login-card{padding:20px 25px 40px;max-width:460px}.login-main{min-height:calc(100dvh - 86px)}.login-status{padding:20px}.invite-form{grid-template-columns:1fr 90px}.invite-form>.button{grid-column:1/-1}.lesson-link{padding:14px}.lesson-link h3{font-size:11px}.download-label{font-size:9px}.panel{padding:19px}.about-intro{padding:25px}.toolbar{gap:12px}.search-field{flex-basis:100%;max-width:none}}
@media(max-width:480px){.breadcrumb{font-size:0}.breadcrumb>span{display:none}.breadcrumb strong{font-size:12px}.topbar{padding:0 14px}.topbar-left,.topbar-actions{gap:9px}.account-trigger{padding-left:9px}.page-content{padding:24px 14px}.page-heading{flex-wrap:wrap}.page-heading>.button{min-height:37px}.stats{grid-template-columns:1fr;gap:9px}.stat{display:grid;grid-template-columns:1fr auto;padding:14px 17px;align-items:center}.stat strong,.stat strong.word-value{font-size:20px;grid-column:2;grid-row:1/3;margin:0}.stat-label{font-size:11px}.stat small{margin-top:4px;font-size:10px}.quick-links,.task-grid{grid-template-columns:1fr}.quick-link{padding:18px}.task-card{min-height:280px}.task-foot .button{width:auto}.feature-panel h2{font-size:21px}.feature-meta{gap:10px 20px}.lesson-link{grid-template-columns:1fr auto;gap:6px 12px}.lesson-meta{grid-column:1;font-size:9px}.lesson-link h3{grid-column:1;grid-row:2}.download-label{grid-column:2;grid-row:1/3;max-width:34px;flex-wrap:wrap;justify-content:center}.group-head{gap:14px}.stage-number{font-size:25px}.group-head h2{font-size:17px}.resource-strip{align-items:flex-start;flex-direction:column;padding:19px}.practice-steps{gap:24px 17px}.endpoint-row{align-items:stretch;flex-direction:column}.endpoint-row .button{align-self:flex-start}.panel-head{gap:12px;align-items:flex-start}.model-header{flex-wrap:wrap}.model-header .badge{margin-left:0}.model-header h3{font-size:13px}.about-aside{grid-template-columns:1fr}.about-intro h2{font-size:23px}.copy-row{flex-direction:column;align-items:stretch}.copy-row .button{align-self:flex-start}.dialog-foot{align-items:flex-start;flex-direction:column}.login-card{padding:22px 25px 35px}.page-footer{flex-wrap:wrap;gap:4px 20px}.filter-button{padding:8px 11px}.section-title{align-items:flex-start}.section-title h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* A compact platform welcome keeps the original title and orbital card motif. */
.overview-page{padding-top:24px;padding-bottom:24px}
.overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:10px}
.overview-heading h1{font-size:16px;letter-spacing:0;font-weight:600}
.overview-heading p{font-size:11px}
.welcome-section{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:24px;min-height:370px;margin:0 0 26px}
.welcome-kicker{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:1.1px;margin-bottom:18px}
.welcome-kicker>span{width:6px;height:6px;border-radius:50%;background:var(--primary)}
.welcome-copy h2{font-size:clamp(42px,4.4vw,64px);line-height:1.08;letter-spacing:-2.4px;font-weight:850;color:#091524;margin-bottom:20px}
.welcome-copy h2 em{font-style:normal;color:var(--primary)}
.welcome-description{font-size:12px;line-height:1.95}
.welcome-actions{display:flex;align-items:center;gap:24px;margin-top:24px}
.welcome-primary{background:#091524;color:#fff;border-color:#091524;border-radius:30px;padding:12px 20px;gap:18px}
.welcome-primary:hover{background:var(--hover);border-color:var(--hover)}
.welcome-primary .icon{color:var(--accent)}
.welcome-secondary{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}
.welcome-secondary .icon{width:14px;height:14px}
.welcome-secondary:hover{color:var(--primary)}
.welcome-account{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:10px;margin-top:22px}
.welcome-account .icon{width:14px;height:14px;color:var(--primary)}
.welcome-separator{color:#aab7c6}
.practice-orbit{position:relative;isolation:isolate;width:100%;max-width:440px;min-width:0;height:330px;margin:auto}
.orbit-line{position:absolute;border:1px solid #a8bfd544;border-radius:50%;width:89%;height:64%;top:19%;left:5%;pointer-events:none;z-index:-1}
.orbit-one{transform:rotate(-28deg)}
.orbit-two{transform:rotate(53deg);height:70%;width:88%;top:12%;left:5%}
.orbit-glow{position:absolute;inset:12% 0 8% 12%;background:radial-gradient(ellipse,#dce9f77a,transparent 68%);z-index:-2;pointer-events:none}
.orbit-card{position:absolute;left:10%;right:6%;top:20%;background:var(--surface);border:1px solid #ffffffc0;border-radius:20px;padding:22px 24px;transform:rotate(-4deg);box-shadow:0 18px 55px #334e6810}
.orbit-card-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:27px}
.orbit-ai{width:31px;height:31px;border-radius:9px;background:#091524;color:var(--accent);display:grid;place-items:center;font-size:11px;font-weight:800}
.orbit-card-head>span:last-child{color:#8193a6;font:9px Consolas,monospace;letter-spacing:.3px}
.orbit-course-count{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.orbit-course-count>span{color:var(--muted);font-size:12px}
.orbit-course-count strong{font-size:25px;color:#091524;line-height:1.2}
.orbit-stages{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.orbit-stages a{display:flex;align-items:center;justify-content:center;gap:6px;border-top:3px solid var(--accent);border-radius:3px;background:var(--soft);padding:8px 4px;font-size:11px;color:var(--primary)}
.orbit-stages a:hover{background:var(--tint);border-color:var(--primary)}
.orbit-stages a span{font:9px Consolas,monospace;opacity:.65}
.orbit-card>p{font-size:9px;margin-top:13px;color:#8997a6;text-align:center}
.orbit-card>p>span{margin:0 5px;color:#c0c8d1}
.orbit-status{position:absolute;top:8%;right:0;background:var(--surface);border-radius:10px;padding:11px 14px;box-shadow:0 7px 30px #334e6806;font-size:10px;display:flex;align-items:center;gap:7px;z-index:2;white-space:nowrap}
.orbit-status i{width:5px;height:5px;background:var(--success);border-radius:50%}
.orbit-status b{font-size:9px;color:var(--success);font-weight:500}
.orbit-next{position:absolute;left:0;bottom:0;background:var(--surface);box-shadow:0 10px 35px #334e6810;border-radius:11px;padding:13px 17px;display:grid;gap:4px;z-index:2;min-width:140px;transition:transform .2s}
.orbit-next:hover{transform:translateY(-3px)}
.orbit-next small{font:8px Consolas,monospace;letter-spacing:.5px;color:var(--primary)}
.orbit-next b{font-size:11px;color:var(--ink);font-weight:500}
.orbit-next>span{display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:9px}
.orbit-next .icon{width:12px;height:12px}
.overview-entry-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.overview-entry-heading h2{font-size:14px}
.overview-entry-heading>span{font:9px/1.5 Consolas,"Microsoft YaHei",monospace;color:var(--muted);letter-spacing:1px}
.overview-entries{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.overview-entry{position:relative;padding:17px 18px 19px;border:1px solid var(--line);border-radius:10px;background:var(--surface);transition:border-color .2s,transform .2s}
.overview-entry:hover{border-color:var(--primary);transform:translateY(-2px)}
.entry-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px;color:var(--primary)}
.entry-top small{font-size:9px;color:var(--muted)}
.entry-top .icon{width:19px;height:19px}
.overview-entry h3{font-size:14px;margin-bottom:3px}
.overview-entry p{font-size:10px;padding-right:14px}
.entry-arrow{position:absolute;right:16px;bottom:20px;color:var(--primary)}
.entry-arrow .icon{width:13px;height:13px}
:root[data-theme="classic"] .welcome-copy h2 em{color:#ff6b35}
:root[data-theme="classic"] .welcome-kicker>span{background:#ff6b35}
:root[data-theme="classic"] .orbit-stages a{border-color:#d5ed99}
:root[data-theme="classic"] .orbit-ai,:root[data-theme="classic"] .welcome-primary .icon{color:#d5ff55}
@media(min-width:1500px){.welcome-section{min-height:420px}.practice-orbit{height:350px}.welcome-copy h2{font-size:72px}}
@media(min-width:761px) and (max-width:1100px){.welcome-section{gap:12px}.welcome-copy h2{font-size:46px}.welcome-description{font-size:11px}.welcome-actions{gap:15px}.welcome-primary{padding:11px 14px;font-size:11px}.practice-orbit{height:300px}.orbit-card{padding:18px 16px;left:8%;right:3%}.orbit-card-head>span:last-child{font-size:7px}.orbit-card-head{margin-bottom:23px}.orbit-next{padding:10px 12px;min-width:122px}.overview-entry{padding:15px 12px}.entry-top{gap:5px}.entry-top small{font-size:8px}.overview-entry h3{font-size:12px}.overview-entry p{font-size:9px}.entry-arrow{right:9px}}
@media(max-width:760px){.overview-page{padding-top:19px}.overview-heading{padding-bottom:12px}.overview-heading h1{font-size:13px}.overview-heading p{font-size:10px}.welcome-section{grid-template-columns:1fr;gap:0;margin-bottom:16px;min-height:0}.welcome-copy{padding-top:12px}.welcome-kicker{margin-bottom:13px;font-size:9px}.welcome-copy h2{font-size:46px;line-height:1.1;letter-spacing:-1.5px;margin-bottom:13px}.welcome-description{font-size:11px}.welcome-actions{margin-top:17px;gap:20px}.welcome-primary{padding:10px 17px;font-size:11px}.welcome-account{margin-top:15px}.practice-orbit{max-width:370px;height:255px;margin-top:7px;margin-bottom:7px}.orbit-card{padding:17px 21px;left:12%;right:7%;top:17%;border-radius:16px}.orbit-card-head{margin-bottom:17px}.orbit-ai{width:27px;height:27px;font-size:10px}.orbit-card-head>span:last-child{font-size:8px}.orbit-course-count strong{font-size:22px}.orbit-course-count>span{font-size:10px}.orbit-stages a{padding:6px 4px;font-size:10px}.orbit-card>p{font-size:8px;margin-top:10px}.orbit-status{top:2%;right:1%;padding:8px 11px;font-size:9px}.orbit-next{bottom:0;left:1%;padding:10px 12px;min-width:124px}.overview-entries{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.overview-entry{padding:13px 14px 15px}.entry-top{margin-bottom:9px}.entry-top .icon{width:17px;height:17px}.overview-entry h3{font-size:12px}.overview-entry p{font-size:9px}.entry-arrow{bottom:15px;right:11px}.overview-entry-heading{margin-bottom:10px}.overview-entry-heading h2{font-size:13px}.overview-entry-heading>span{font-size:8px}}
@media(max-width:360px){.overview-heading p{max-width:155px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.welcome-copy h2{font-size:42px}.welcome-description{font-size:10px}.welcome-secondary{font-size:10px}.welcome-actions{gap:14px}.orbit-card-head>span:last-child{font-size:7px}.orbit-card{padding:17px}.overview-entry p{font-size:8px}.entry-top small{font-size:8px}}
/* The sign-in entrance shares the same association identity. */
.login-aside{background:var(--bg);color:var(--ink);border-right:1px solid var(--line)}
.login-aside .brand{color:var(--ink)}
.login-aside .brand-mark{background:#091524;color:var(--accent)}
.login-aside .brand small{color:var(--muted)}
.login-intro{padding:42px 0}
.login-intro>.eyebrow{color:var(--primary);font-size:9px}
.login-intro h1{font-size:54px;line-height:1.1;letter-spacing:-2px;font-weight:850;color:#091524;margin:19px 0}
.login-intro h1 em{font-style:normal;color:var(--primary)}
.login-intro>p{font-size:12px;line-height:1.9;color:var(--muted);max-width:none}
.login-orbit{height:260px;margin-top:24px;max-width:410px}
.login-orbit .orbit-card{top:22%;left:9%;right:7%;padding:20px 24px}
.login-orbit .orbit-card-head{margin-bottom:23px}
.login-orbit .orbit-card h2{font-size:22px;color:#091524}
.login-orbit-steps{display:flex;gap:7px;margin-top:16px}
.login-orbit-steps>span{padding:5px 9px;border-radius:5px;background:var(--soft);color:var(--muted);font-size:9px;white-space:nowrap}
.login-orbit .orbit-status{top:6%}
.login-orbit .orbit-next{left:0;bottom:0}
.login-aside-foot{color:var(--muted);font-size:10px}
:root[data-theme="classic"] .login-intro h1 em{color:#ff6b35}
@media(min-width:761px) and (max-width:1050px){.login-aside{padding:32px 28px}.login-intro h1{font-size:44px}.login-intro>p{font-size:10px}.login-orbit .orbit-card{padding:19px}.login-orbit .orbit-card h2{font-size:19px}.login-orbit-steps{gap:4px}.login-orbit-steps>span{font-size:8px;padding:4px 6px}}
@media(max-width:760px){.login-aside{border-right:0;border-bottom:1px solid var(--line)}}
.login-orbit{margin-bottom:20px}
.login-orbit .orbit-next{bottom:-24px}
h1,h2,h3,.eyebrow,.brand b,.brand small,.nav-label,.stat strong,.welcome-kicker,.welcome-copy h2,.login-intro h1{letter-spacing:0}
.welcome-copy h2{font-size:56px}
.department-shortcuts{margin-top:24px}
.sidebar .nav-label{margin-top:28px}
.sidebar-bottom{padding-top:25px}
#initial-password-panel{margin-top:24px}
#initial-password-panel .auth-form{margin-top:20px}
body.page-leaving .toast{display:none}
@media(max-width:760px){.welcome-copy h2{font-size:44px}.nav-item{min-height:44px}.department-shortcuts .overview-entry{min-height:113px}}
