.course-library,.library-dialog{--library-ink:#20344d;--library-muted:#697a8e;--library-blue:#285b92;--library-blue-hover:#1d4877;--library-line:#dfe6ee;color:var(--library-ink);font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.65;color-scheme:light}.course-library{min-height:100dvh;background:#f5f7fa}.course-library *,.library-dialog *{box-sizing:border-box}.course-library h1,.course-library h2,.course-library h3,.course-library p,.library-dialog p{margin:0}.course-library a,.library-dialog a{color:var(--library-blue);text-decoration:none}.course-library button,.course-library input,.course-library select,.library-dialog button,.library-dialog input,.library-dialog select,.library-dialog textarea{font:inherit}.course-library button,.library-dialog button{cursor:pointer}.course-library button:disabled,.library-dialog button:disabled{cursor:not-allowed;opacity:.5}.course-library input:disabled,.library-dialog input:disabled,.library-dialog select:disabled,.library-dialog textarea:disabled{color:#7c8998;background:#f4f6f8}.course-library a:focus-visible,.course-library button:focus-visible,.library-dialog a:focus-visible,.library-dialog button:focus-visible,.library-dropzone:focus-within{outline:3px solid #91b8e2;outline-offset:3px}.course-library input,.course-library select,.library-dialog input:not([type=checkbox]):not([type=file]),.library-dialog select,.library-dialog textarea{min-width:0;border:1px solid #cfd9e4;border-radius:6px;background:#fff;color:var(--library-ink);padding:10px 12px;outline:none;transition:border-color .15s,box-shadow .15s}.course-library input:focus,.course-library select:focus,.library-dialog input:not([type=checkbox]):focus,.library-dialog select:focus,.library-dialog textarea:focus{border-color:#668fb9;box-shadow:0 0 0 3px #e5edf7}.course-library input::placeholder,.library-dialog input::placeholder,.library-dialog textarea::placeholder{color:#95a1b0}.library-header{min-height:84px;border-bottom:1px solid var(--library-line);background:#fff;padding:18px max(28px,calc((100% - 1120px) / 2));display:flex;gap:24px;align-items:center;justify-content:space-between}.library-brand{display:inline-flex;gap:12px;align-items:center;flex-shrink:0;color:var(--library-ink)!important;font-size:18px;font-weight:600;letter-spacing:-.2px;line-height:1.3}.library-brand-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:7px;background:#edf3fa;color:var(--library-blue)}.library-brand small{display:block;margin-top:5px;color:var(--library-muted);font-size:12px;font-weight:400;letter-spacing:1px}.library-header nav{display:flex;flex-wrap:wrap;gap:24px}.library-header nav a{display:inline-flex;align-items:center;gap:6px;color:#53677f;font-size:13px}.library-header nav a:hover{color:var(--library-blue-hover)}.library-main{width:min(1120px,calc(100% - 56px));margin:auto;padding:46px 0 60px;min-height:calc(100dvh - 166px)}.library-section-label{display:flex;gap:12px;align-items:center;flex-wrap:wrap;color:#607790;font-size:12px;letter-spacing:.3px}.library-entry{max-width:660px;margin:24px auto 64px}.library-entry h1{font-size:34px;font-weight:650;line-height:1.35;margin:14px 0;letter-spacing:-.5px}.library-entry-intro{color:#60728a;font-size:15px}.library-entry-card{margin-top:30px;padding:30px;border:1px solid var(--library-line);border-radius:9px;background:#fff;box-shadow:0 4px 16px #173a6010}.library-entry-card>label{display:block;font-weight:600;margin-bottom:10px}.library-code-row{display:flex;align-items:stretch;gap:12px}.library-code-row input{flex:1;font-size:15px;min-height:46px}.library-field-help{margin-top:12px!important;color:var(--library-muted);font-size:12px}.library-entry-note{display:flex;gap:10px;align-items:flex-start;margin-top:22px;padding:0 4px;color:#75859a;font-size:13px}.library-entry-note svg{flex-shrink:0;margin-top:2px}.course-library .library-button,.library-dialog .library-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:8px 14px;border:1px solid #d4dfe9;border-radius:6px;background:#fff;color:var(--library-blue);font-size:13px;font-weight:500;line-height:1.5;white-space:nowrap;transition:background .15s,border-color .15s}.course-library .library-button:hover:not(:disabled),.library-dialog .library-button:hover:not(:disabled){background:#f3f7fb;border-color:#a9bfd6}.course-library .library-primary,.library-dialog .library-primary{background:var(--library-blue);color:#fff;border-color:var(--library-blue)}.course-library .library-primary:hover:not(:disabled),.library-dialog .library-primary:hover:not(:disabled){background:var(--library-blue-hover);border-color:var(--library-blue-hover)}.library-dialog .library-danger{color:#fff;background:#ad403d;border-color:#ad403d}.library-dialog .library-danger:hover:not(:disabled){color:#fff;background:#922f2c;border-color:#922f2c}.library-course-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;padding-bottom:28px;border-bottom:1px solid var(--library-line)}.library-course-heading>div{min-width:0}.library-course-heading h1{margin-top:10px;font-size:28px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}.library-course-code{display:inline-block;padding:2px 8px;border:1px solid #d7e3ef;background:#edf3fa;color:#315c89;border-radius:4px;font-family:Consolas,monospace;font-size:12px;letter-spacing:.6px;line-height:1.6}.library-course-description{color:#60728a;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:12px!important;font-size:14px;line-height:1.8}.library-resource-section{margin-top:28px}.library-resource-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.library-resource-heading h2{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600}.library-resource-heading h2>span,.library-sidebar-title h2>span{color:#7c8b9c;font-size:12px;font-weight:400}.library-muted{color:var(--library-muted);font-size:12px}.library-tools{gap:12px;margin-bottom:16px}.library-search,.library-tools{display:flex;align-items:center}.library-search{gap:9px;min-width:0;flex:1;background:#fff;border:1px solid #d2dce7;border-radius:6px;padding:0 12px;color:#8292a5}.library-search:focus-within{border-color:#668fb9;box-shadow:0 0 0 3px #e5edf7}.library-search svg{flex-shrink:0}.course-library .library-search input{border:0;padding:10px 0;border-radius:0;box-shadow:none;width:100%;background:transparent;font-size:13px}.library-sort{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--library-muted)}.course-library .library-tools select{min-height:42px;padding:9px 30px 9px 12px;font-size:13px}.library-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:22px}.library-filters button{border:1px solid transparent;border-radius:5px;padding:5px 14px;background:transparent;color:#64778c;font-size:13px}.library-filters button:hover{background:#eaf0f7}.library-filters button[aria-pressed=true]{color:#2a598b;background:#e7eff8;border-color:#cfdded;font-weight:600}.library-file-list{display:grid;gap:12px}.library-file-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:18px;background:#fff;border:1px solid var(--library-line);border-radius:8px;padding:22px}.library-file-icon{width:46px;height:48px;display:grid;place-items:center;border-radius:7px;background:#edf3f9;color:#54769a}.library-file-icon.category-slides{background:#edf2fa;color:#5176ac}.library-file-icon.category-reading{background:#eff3ed;color:#6a8561}.library-file-icon.category-data{background:#edf5f5;color:#4f8587}.library-file-icon.category-tools{background:#f2eff7;color:#827299}.library-file-title{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.library-file-title h3{font-size:16px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.library-tag{flex-shrink:0;padding:1px 7px;color:#60738a;border-radius:4px;background:#f1f4f8;font-size:11px;line-height:1.8}.library-file-description{margin-top:6px!important;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;color:#60728a;line-height:1.8}.library-file-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin-top:11px;font-size:11px;color:#8190a2}.library-file-meta span+span:before{display:inline-block;content:"·";margin:0 10px;color:#afbac7}.library-download{align-self:center;min-width:84px}.library-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;background:#fff;border:1px dashed #d5dfe9;border-radius:8px;padding:56px 24px;color:#8a9bb0}.library-empty h2,.library-empty h3{color:#405872;font-size:16px;font-weight:600;margin-top:8px}.library-empty p{color:#7b8b9f;font-size:13px;max-width:420px}.library-empty .library-button{margin-top:7px}.library-loading{min-height:220px;display:flex;gap:10px;align-items:center;justify-content:center;color:#69819b;font-size:13px}.library-loading svg{width:20px}.library-spinner{animation:library-spin .8s linear infinite}@keyframes library-spin{to{transform:rotate(1turn)}}.library-alert{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:11px 14px;border-radius:6px;border:1px solid #d5e3f0;margin:16px 0!important;background:#eef4fa;color:#4c6f93;font-size:13px;line-height:1.7;overflow-wrap:anywhere}.library-alert>svg{flex-shrink:0}.library-error{color:#a54b45;border-color:#efd4cf;background:#fff5f3}.library-success{color:#48745c;border-color:#d1e4d8;background:#f0f7f2}.library-alert a,.library-alert button{color:inherit;font-size:inherit;background:transparent;border:0;padding:0;text-decoration:underline;text-underline-offset:3px}.library-footer{display:flex;gap:18px;align-items:center;justify-content:space-between;max-width:1120px;margin:0 auto;min-height:78px;padding:20px 0;border-top:1px solid #e0e7ef;color:#8a98a8;font-size:11px}.library-admin .library-header{padding-right:max(28px,calc((100% - 1320px) / 2));padding-left:max(28px,calc((100% - 1320px) / 2))}.library-admin-main{width:min(1320px,calc(100% - 56px));margin:auto;padding:34px 0 64px}.library-admin-title{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.library-admin-title h1{font-size:27px;font-weight:600;margin:6px 0}.library-admin-title p{font-size:13px;color:var(--library-muted)}.library-owner-badge{display:inline-block;flex-shrink:0;border:1px solid #dbe4ee;padding:5px 10px;border-radius:5px;font-size:11px;color:#74869a;background:#fff}.library-admin-grid{display:grid;grid-template-columns:246px minmax(0,1fr);align-items:start;gap:24px}.library-course-sidebar{border:1px solid var(--library-line);border-radius:8px;background:#fff;padding:18px 14px}.library-sidebar-title{display:flex;align-items:center;justify-content:space-between;padding:0 4px 14px}.library-sidebar-title h2{display:flex;gap:8px;align-items:center;font-size:15px;font-weight:600}.course-library .library-icon-button,.library-dialog .library-icon-button{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:5px;color:#6d839a;background:transparent;flex-shrink:0}.course-library .library-icon-button:hover:not(:disabled),.library-dialog .library-icon-button:hover:not(:disabled){background:#edf3fa;border-color:#e0e8f2;color:#2f5e8d}.library-course-search{padding:0 9px;margin-bottom:14px;background:#fafbfd}.course-library .library-course-search input{font-size:11px;padding:8px 0}.library-course-list{display:grid;gap:7px;max-height:520px;overflow-y:auto}.library-course-list>button{display:block;text-align:left;width:100%;padding:12px;border:1px solid transparent;border-radius:6px;background:#fff;color:#51667e}.library-course-list>button:hover:not(:disabled){background:#f6f8fb}.library-course-list>button.selected{background:#eef4fb;border-color:#d6e3f1}.library-course-list strong{display:block;color:#314d6b;font-size:13px;font-weight:600;overflow-wrap:anywhere;line-height:1.65}.library-course-list-code{display:block;margin:5px 0 9px;color:#7d91a9;font-size:11px;font-family:Consolas,monospace;letter-spacing:.4px;overflow-wrap:anywhere}.library-course-list-bottom{display:flex;gap:8px;justify-content:space-between;align-items:center;color:#8996a6;font-size:11px}.library-status-closed,.library-status-open{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:400;white-space:nowrap}.library-status-open{color:#5e886c}.library-status-closed{color:#9b8a74}.library-status-closed:before,.library-status-open:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.library-new-course{width:100%;margin-top:16px}.library-sidebar-empty{text-align:center;color:#95a1b0;padding:22px 0;font-size:12px}.library-admin-content{min-width:0}.library-admin-course-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:6px 0 26px;margin-bottom:24px;border-bottom:1px solid var(--library-line)}.library-admin-course-head>div:first-child{min-width:0;flex:1}.library-admin-course-head h2{font-size:23px;font-weight:600;margin:10px 0;line-height:1.5;overflow-wrap:anywhere}.library-admin-course-head .library-muted{margin-top:12px}.library-course-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:260px}.library-admin .library-tools{gap:9px}.library-admin .library-tools select{padding-right:24px;font-size:12px}.library-admin-file{grid-template-columns:40px minmax(0,1fr) auto;gap:14px;padding:20px}.library-admin-file .library-file-icon{width:40px;height:44px}.library-admin-file .library-file-title h3{font-size:14px}.library-original-name{margin-top:7px!important;color:#a0aab6;font-size:11px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.library-file-actions{display:flex;gap:2px;align-items:center;margin-top:-2px}.course-library .library-danger-text{color:#ab655f}.library-course-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;color:#95a1af;font-size:11px}.library-text-button{padding:0;border:0;background:transparent;font-size:12px}.library-text-button:hover:not(:disabled){text-decoration:underline;text-underline-offset:3px}.library-empty-course{min-height:340px;justify-content:center}.library-denied{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;padding:28px;text-align:center}.library-denied h1{font-size:26px;font-weight:600}.library-denied p{color:var(--library-muted)}.library-dialog[data-slot=dialog-content]{width:min(580px,calc(100% - 40px));max-width:580px;max-height:calc(100dvh - 48px);overflow-y:auto;padding:28px;border:1px solid var(--library-line);border-radius:10px;background:#fff;box-shadow:0 16px 60px #17314e35;gap:22px}.library-dialog [data-slot=dialog-header]{padding-right:12px;text-align:left;gap:9px}.library-dialog [data-slot=dialog-title]{font-size:20px;color:var(--library-ink);line-height:1.45;font-weight:600;margin:0}.library-dialog [data-slot=dialog-description]{color:#76879b;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.library-dialog [data-slot=dialog-footer]{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:4px}.library-dialog [data-slot=dialog-close]{top:16px;right:16px}.library-form{display:grid;gap:18px}.library-form>label,.library-upload-description,.library-upload-fields>label{display:grid;gap:7px;font-size:13px;font-weight:500;color:#4c627a}.library-form input:not([type=checkbox]),.library-form select,.library-form textarea{width:100%}.library-form small{color:#8a98a9;font-size:11px;font-weight:400;line-height:1.7}.library-dialog textarea{width:100%;resize:vertical;min-height:76px;font-size:13px;line-height:1.8}.library-inline-input{display:flex;gap:10px}.library-inline-input input{flex:1;min-width:0}.library-dialog .library-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;font-weight:400}.library-check input[type=checkbox]{width:15px;height:15px;flex-shrink:0;margin:4px 0 0;accent-color:var(--library-blue);cursor:pointer}.library-check small{display:block;margin-top:4px}.library-form .library-alert{margin:0!important}.library-form .library-field-help{margin:-10px 0 0!important}.library-delete-dialog[data-slot=dialog-content]{max-width:480px}.library-upload-dialog[data-slot=dialog-content]{width:min(820px,calc(100% - 40px));max-width:820px;overflow:hidden;display:flex;flex-direction:column}.library-upload-scroll{overflow-y:auto;min-height:0;max-height:min(600px,calc(100dvh - 245px));padding:3px;margin:-3px;overscroll-behavior:contain}.library-dropzone{position:relative;display:flex;align-items:center;flex-direction:column;gap:8px;padding:26px 20px;border:1px dashed #b8cce0;border-radius:7px;background:#f6f9fc;color:#6988a8;text-align:center;cursor:pointer}.library-dropzone strong{font-size:13px;font-weight:500;color:#52769c}.library-dropzone span{font-size:11px;color:#879bb0}.library-dropzone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.library-dropzone.is-dragging{border-color:#5f8cba;background:#eaf2fa}.library-upload-item{margin-top:16px;padding:18px;border:1px solid #dfe6ef;border-radius:7px}.library-upload-item.status-failed{border-color:#e6c7c1}.library-upload-item.status-done{background:#fafcfb;border-color:#dce8df}.library-upload-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.library-upload-item-head>div{min-width:0}.library-upload-item-head strong{display:block;color:#4c637c;font-size:13px;font-weight:600;overflow-wrap:anywhere}.library-upload-item-head>div>span{display:block;font-size:11px;color:#96a2b0;margin-top:3px}.library-upload-done{display:inline-flex;align-items:center;flex-shrink:0;gap:4px;color:#678c73;font-size:12px}.library-upload-fields{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:14px;margin-bottom:14px}.library-upload-fields input,.library-upload-fields select{width:100%;font-size:13px}.library-upload-description{margin-bottom:12px}.library-upload-item .library-check{font-size:12px;color:#7a8b9e}.library-upload-progress{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:11px;color:#7c8da2}.library-upload-progress progress{width:100%;height:6px;border:none;border-radius:4px;appearance:none;overflow:hidden}.library-upload-progress progress::-webkit-progress-bar{background:#e8eef5}.library-upload-progress progress::-webkit-progress-value{background:#6593bf;border-radius:4px}.library-upload-progress progress::-moz-progress-bar{background:#6593bf;border-radius:4px}.library-upload-progress span{flex-shrink:0;min-width:66px;text-align:right}.library-upload-error{font-size:12px;color:#aa5f55;margin-top:10px!important}.library-upload-count{color:#8c9bae;font-size:11px;margin-right:auto}@media (min-width:1000px){.library-course-sidebar{position:sticky;top:24px}}@media (max-width:1100px){.library-admin-grid{grid-template-columns:220px minmax(0,1fr);gap:20px}.library-admin-course-head{flex-direction:column;gap:16px}.library-course-actions{max-width:none}.library-admin-file{grid-template-columns:40px minmax(0,1fr)}.library-admin-file .library-file-actions{grid-column:2;justify-content:flex-end;margin:0}.library-admin .library-tools{flex-wrap:wrap}.library-admin .library-search{flex-basis:100%}.library-footer{margin:0 28px}}@media (max-width:760px){.library-header{min-height:78px;padding:16px 20px;gap:16px}.library-brand{font-size:16px;gap:9px}.library-brand-icon{width:36px;height:38px}.library-header nav{gap:11px;justify-content:flex-end}.library-header nav a{font-size:11px;gap:4px}.library-header nav a svg{display:none}.library-main{width:calc(100% - 40px);padding:30px 0 42px}.library-entry{margin:16px auto 40px}.library-entry h1{font-size:30px}.library-entry-card{padding:24px}.library-course-heading{gap:16px}.library-course-heading h1{font-size:24px}.library-course-heading>.library-button{padding:7px 11px;font-size:12px}.library-file-card{padding:18px;gap:14px;grid-template-columns:40px minmax(0,1fr)}.library-file-icon{width:40px;height:44px}.library-file-title h3{font-size:15px}.library-download{grid-column:2;justify-self:start;margin-top:0}.library-footer{align-items:flex-start;flex-direction:column;gap:5px;margin:0 20px;min-height:82px}.library-admin .library-header{padding:16px 20px}.library-admin-main{width:calc(100% - 40px);padding-top:26px}.library-admin-title{align-items:flex-start;gap:12px}.library-owner-badge{display:none}.library-admin-grid{grid-template-columns:minmax(0,1fr);gap:24px}.library-course-sidebar{padding:15px}.library-course-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:230px}.library-sidebar-title{padding-bottom:10px}.library-course-search{margin-bottom:10px}.library-course-list>button{padding:10px}.library-new-course{margin-top:12px}.library-admin-course-head{padding-top:0}.library-admin .library-tools .library-search{flex-basis:auto}.library-admin .library-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.library-admin .library-tools .library-search{grid-column:1/-1}.library-admin .library-tools>select{width:100%}}@media (max-width:480px){.library-header{padding:14px 16px}.library-header nav{gap:8px;flex-direction:column;align-items:flex-end}.library-admin-main,.library-main{width:calc(100% - 32px)}.library-entry-intro{font-size:14px}.library-entry-card{padding:22px 18px}.library-code-row{flex-direction:column;gap:10px}.library-code-row .library-button{min-height:43px}.library-course-heading{flex-direction:column;gap:18px}.library-course-heading h1{font-size:23px}.library-resource-heading h2{font-size:17px}.library-resource-heading .library-muted{display:none}.library-tools{flex-wrap:wrap;gap:10px}.library-tools>.library-search{flex-basis:100%}.library-sort{width:100%;justify-content:space-between}.library-sort select{flex:1;margin-left:12px}.library-filters{gap:4px}.library-filters button{padding:4px 10px;font-size:12px}.library-file-card{padding:16px;gap:12px}.library-file-meta{font-size:10px}.library-file-meta span+span:before{margin:0 7px}.library-dialog[data-slot=dialog-content]{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:22px 18px;gap:18px}.library-dialog [data-slot=dialog-title]{font-size:19px}.library-dialog [data-slot=dialog-description]{font-size:11px}.library-inline-input{gap:7px}.library-inline-input .library-button{padding:8px 10px;font-size:12px}.library-upload-fields{grid-template-columns:minmax(0,1fr) 92px;gap:9px}.library-upload-item{padding:14px}.library-upload-fields select{padding-right:5px}.library-upload-count{width:100%}.library-upload-scroll{max-height:calc(100dvh - 235px)}.library-dropzone{padding:22px 12px}.library-dropzone strong{font-size:12px}}@media (prefers-reduced-motion:reduce){.library-spinner{animation-duration:1.7s}.course-library *,.library-dialog *{transition:none!important}}