:root{--indigo:#4143af;--teal:#00bdb7;--ink:#282c46;--muted:#9298ad;--line:#e9ecf5;--side:220px;font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#f8f9fd;font-size:13px}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{opacity:.4;cursor:not-allowed}a{color:inherit;text-decoration:none}input,textarea,select{color:var(--ink)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #7679d2;outline-offset:3px}.hidden{display:none!important}.primary,.outlined{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:39px;padding:10px 17px;border-radius:7px;font-size:12px;font-weight:550;white-space:nowrap;cursor:pointer}.primary{background:var(--indigo);color:white;border:1px solid var(--indigo)}.primary:hover{background:#343693}.outlined{border:1px solid #dfe3f1;background:#fff;color:#656c90}.outlined:hover{border-color:#9da9da;color:var(--indigo)}.small{min-height:33px;padding:7px 12px;font-size:11px}.text-button{color:#7074b7;font-size:11px;padding:5px 0;white-space:nowrap}.text-button:hover{color:#00a9a3}.subtle{font-size:10px;color:#999fb7}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--side);padding:27px 17px 18px;background:#f0f2fb;border-right:1px solid #e3e7f5;display:flex;flex-direction:column;z-index:8;transition:transform .2s}.brand{display:flex;align-items:flex-start;flex-direction:column;gap:7px;padding:0 10px}.brand img{width:113px;height:auto}.brand span{font-size:10px;color:#858eb3;letter-spacing:2px}.new-lesson{margin:25px 0 19px;width:100%}.main-nav{display:flex;flex-direction:column;gap:4px}.nav-item{display:flex;align-items:center;gap:9px;text-align:left;padding:11px 10px;font-size:12px;color:#7a83a8;border-radius:6px}.nav-item>span{font-size:17px;width:20px;color:#929bc3}.nav-item.active,.course-item.active{color:var(--indigo);background:#e2e6fb}.nav-item.active>span{color:var(--indigo)}.nav-item:hover,.course-item:hover{background:#e9edfc}.nav-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a0a8c0;margin:26px 8px 10px}.nav-label button{font-size:18px;color:#8a94bd;padding:0 3px}.course-list{max-height:24vh;overflow:auto}.course-item{width:100%;text-align:left;padding:9px 11px;font-size:11px;border-radius:5px;display:flex;gap:8px;align-items:center}.course-item>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.course-item small{color:#9aa4c1;margin-left:auto;font-size:9px}.recent-label{margin-top:23px}.history{overflow:auto;flex:1;min-height:50px}.history-item{display:block;width:100%;text-align:left;padding:9px 10px;border-radius:5px;margin-bottom:3px}.history-item.active{background:#e5e8fa}.history-item .title{display:block;font-size:10px;color:#7e88ac;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item small{display:block;font-size:8px;color:#b0b7cd;margin-top:5px}.sidebar-bottom{border-top:1px solid #e0e5f3;padding:17px 5px 0;display:flex;align-items:center;gap:6px;font-size:10px;color:#8c97b6;flex-wrap:wrap}.sidebar-bottom i{height:5px;width:5px;border-radius:50%;background:var(--teal)}.sidebar-bottom button{margin-left:auto}.sidebar-hidden .sidebar{transform:translateX(-100%)}main{margin-left:var(--side);transition:margin-left .2s;min-width:0}.sidebar-hidden main{margin-left:0}.topbar{height:65px;padding:0 27px;display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:15px}.topbar-left,.topbar-right{display:flex;align-items:center;gap:15px}.topbar-left{font-size:13px;font-weight:550}.menu-toggle{font-size:17px;color:#8d96b2;padding:5px;line-height:1}.header-icon{width:22px;height:22px;object-fit:contain}.save-status{font-size:10px;color:#a0a8bd}.notice{padding:10px 25px;background:#fff7e8;color:#9a7b47;border-bottom:1px solid #f1e7ce;font-size:11px;line-height:1.7}.lesson-bar{height:67px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);background:#fbfcff}#lessonTitle{font-size:15px;font-weight:550;border:0;background:transparent;min-width:100px;width:38%;text-overflow:ellipsis}#lessonTitle:focus{outline:0}.binding{display:flex;align-items:center;gap:9px;font-size:10px;color:#929cba}.binding select{font-size:11px;border:1px solid #e0e5f4;border-radius:5px;background:#fff;padding:7px 10px;max-width:215px;color:#737da1}.binding>span{font-size:9px;color:#adb6ce}.learning-grid{height:calc(100dvh - 132px);min-height:490px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr)}body.has-notice .learning-grid{height:calc(100dvh - 174px)}.recording-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:radial-gradient(ellipse at 12% 20%,#edf2ffcc,transparent 70%),linear-gradient(145deg,#f1f4fd,#f8f9fe);border-right:1px solid #e5eaf5;padding:27px 30px 18px}.recording-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.recording-heading>div{display:flex;align-items:center;gap:15px}h1,h2,h3,p{margin-top:0}h1{font-size:19px;margin-bottom:0;font-weight:600}.language-chip{font-size:10px;padding:6px 10px;border:1px solid #dfe6f7;border-radius:20px;color:#909bbb}.status-pill{display:flex;align-items:center;gap:6px;font-size:10px;color:#a1abc3;white-space:nowrap}.status-pill i{height:5px;width:5px;border-radius:50%;background:#a7b3ce}.status-pill.recording{color:#00a9a5}.status-pill.recording i{background:var(--teal);animation:pulse 1.3s infinite}.recording-help{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:22px 0 10px;font-size:10px;color:#a2acc5}.recording-help button{font-size:10px}.transcript{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth;padding:8px 3px 30px}.transcript-empty{padding-top:17vh;color:#b0b9d2;text-align:center}.transcript-empty h2{font-size:17px;font-weight:500;color:#8d9cbe;margin:17px 0 12px}.transcript-empty p{font-size:12px;line-height:2.1;color:#a5b1cb}.listening-mark{display:flex;align-items:center;justify-content:center;height:26px;gap:5px}.listening-mark i{display:block;width:4px;background:#a5b5e1;border-radius:3px;height:13px}.listening-mark i:nth-child(2n){height:23px;background:#b5c6ef}.listening-mark i:nth-child(3){height:31px;background:#96dcd9}.transcript-entry{padding:17px 0 10px}.transcript-entry time{display:block;font-size:10px;color:#a9b3cb;margin-bottom:10px;font-variant-numeric:tabular-nums}.transcript-entry>span{font-size:15px;line-height:2.15;color:#4b5773;display:block;white-space:pre-wrap}.transcript-entry.partial>span{color:#9da8c4}.record-bottom{padding-top:10px}.record-dock{display:flex;align-items:center;justify-content:center;gap:17px;background:#ffffffee;border:1px solid #edf0f8;border-radius:40px;box-shadow:0 8px 35px #354b8820;padding:10px 18px;max-width:490px;margin:0 auto}.record-dock .primary,.record-dock .outlined{border-radius:24px;font-size:11px;min-height:37px;padding:9px 15px}#record.recording{background:#f0f2fd;border-color:#e7ebf7;color:#545c87}#record.recording .mic-icon{color:#00b4af}#clock{font-size:13px;letter-spacing:.3px;font-variant-numeric:tabular-nums;color:#68728d}.mic-icon{font-size:8px;color:#9defe9}.dock-divider{height:21px;width:1px;background:#e9edf7}.waveform{display:flex;gap:2px;align-items:center;height:20px}.waveform i{height:4px;width:2px;background:#8991d8;border-radius:2px;transition:height .1s}.waveform i:nth-child(3n){background:#00bdb7}.record-bottom>p{text-align:center;font-size:9px;color:#adb7cf;line-height:1.6;margin:13px 0 0}.study-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:#fff}.ppt-region{flex-shrink:0;padding:15px 23px 10px;border-bottom:1px solid var(--line);max-height:46%;display:flex;flex-direction:column;min-height:210px}.ppt-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ppt-heading h2{font-size:12px;margin:0;color:#818daa;font-weight:500}.ppt-heading>div{display:flex;align-items:center;gap:11px;font-size:9px;color:#9aa7c3}.ppt-heading button{padding:2px 5px;color:#858fb4}.slide-stage{position:relative;min-height:100px;flex:1;background:#f8f9fd;overflow:hidden;border:1px solid #edf0f7;border-radius:4px;display:flex;align-items:center;justify-content:center}.slide-stage img{width:100%;height:100%;object-fit:contain;max-height:24vh;min-height:100px}.loading-overlay{position:absolute;inset:0;background:#f6f7ffed;display:grid;place-items:center;color:#848fb3;font-size:12px}.slide-strip{display:flex;gap:6px;overflow:auto;padding:7px 0 2px;flex-shrink:0}.slide-thumb{height:31px;flex:0 0 48px;position:relative;border:1px solid #e3e8f6;border-radius:3px;overflow:hidden;padding:0}.slide-thumb img{width:100%;height:100%;object-fit:cover;min-height:0}.slide-thumb span{position:absolute;right:1px;bottom:1px;font-size:7px;background:#fffffff0;color:#7d8ab1;padding:1px 3px}.slide-thumb.selected{border:2px solid #7378c7}.slide-thumb.selected span{background:var(--indigo);color:white}.slide-thumb.current{box-shadow:0 0 0 1px #8edbd7}.slide-footer{display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#a5b0c7;padding-top:4px}.slide-footer>span:first-child{max-width:60%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.notes-region{display:flex;flex-direction:column;flex:1;min-height:0}.study-tabs{display:flex;align-items:center;gap:25px;height:66px;flex-shrink:0;border-bottom:1px solid #f0f2f8;padding:0 25px;overflow:auto}.study-tabs>button{align-self:stretch;font-size:14px;color:#a3adc1;white-space:nowrap;padding:0 0 3px;position:relative}.study-tabs>button.active{color:#343c58;font-weight:600}.study-tabs>button.active::after{content:'';height:2px;background:#4143af;position:absolute;bottom:12px;left:0;right:0;border-radius:2px}.auto-label{margin-left:auto;font-size:9px;display:flex;align-items:center;gap:4px;white-space:nowrap;color:#9ea8c0}.auto-label input{height:11px;width:11px;accent-color:#6268bd}#questionCount{display:inline-flex;min-width:14px;height:14px;align-items:center;justify-content:center;background:#e8f9f7;color:#58a7a2;font-size:8px;border-radius:8px;margin-left:4px}#questionCount:empty{display:none}.study-pane{flex:1;min-height:0;display:flex;flex-direction:column}.note-header,.pane-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#b0b8cb;padding:19px 26px 10px}.note-header>span:last-child{font-size:9px}.personal-notes{flex:1;min-height:120px;width:100%;resize:none;border:0;outline:0!important;background:#fff;line-height:2.1;padding:10px 27px 25px;font-size:14px;color:#57647e}.personal-notes::placeholder{color:#c3cbdc;line-height:2.3}.insights,.questions{padding:10px 26px 30px;overflow:auto;flex:1;min-height:0}.empty-small{padding-top:12vh;text-align:center;color:#b1bbcf}.empty-small>span{font-size:33px;color:#bec8e4}.empty-small h3{font-size:15px;font-weight:500;margin:20px 0 12px;color:#929fbc}.empty-small p{font-size:11px;line-height:2;color:#adb8cd}.insight-time{display:flex;justify-content:space-between;font-size:9px;color:#a4afc7;margin:10px 0 17px}.insight-topic{font-size:20px;line-height:1.6;margin-bottom:12px;color:#4b527c;font-weight:600}.insight-summary{font-size:12px;line-height:2;color:#8994af;margin-bottom:20px}.point{display:flex;gap:12px;font-size:12px;line-height:2;color:#737e9c;margin:13px 0}.point>span{font-size:9px;background:#eef0fb;color:#949bcb;width:20px;height:20px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;margin-top:3px}.terms{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.term{padding:5px 8px;font-size:9px;background:#f0f3fb;color:#939dc0;border-radius:3px}.term:nth-child(even){background:#edf9f7;color:#80b3ae}.source-note{margin-top:22px;padding-top:14px;border-top:1px dashed #e6ebf5;font-size:9px;line-height:1.9;color:#b1bad0}.question-card{border-bottom:1px solid #eef1f8;padding:6px 0 24px;margin-bottom:20px}.question-meta{font-size:9px;color:#a4afc9}.question-text{font-size:15px;line-height:2;color:#656d96;font-weight:550;margin:13px 0 17px}.answer-input{display:block;resize:vertical;width:100%;min-height:94px;border:1px solid #e4e9f6;border-radius:6px;padding:11px;background:#fcfdff;font-size:12px;line-height:1.9;color:#7482a3}.answer-input::placeholder{color:#b7c0d5}.question-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.answer-button{background:#edf0fc;color:#7078b9;border:1px solid #e2e7f9;font-size:10px;padding:8px 12px;border-radius:5px}.hint{font-size:11px;color:#8b9bb9;line-height:1.9;background:#f4f7fc;border-radius:5px;padding:12px;margin-top:12px}.feedback{border-left:2px solid #81cfca;background:#f3fbfa;margin-top:15px;padding:11px 14px;color:#829caa;font-size:11px;line-height:1.9}.feedback strong{display:block;color:#729b9c;margin-bottom:6px}.feedback details{margin-top:8px}.feedback summary{cursor:pointer}.feedback p{margin-bottom:0}.library-view{padding:43px 38px}.library-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:10px;color:#a8b2ce;margin-bottom:12px;letter-spacing:2px}.library-heading h1{font-size:25px;color:#4e597b;margin-bottom:13px;font-weight:550}.library-heading p{font-size:12px;color:#a0adc5;line-height:1.9}.library-count{font-size:11px;color:#a3aec8}.library-toolbar{margin:25px 0 20px;display:flex;gap:12px;align-items:center}.library-toolbar input{width:290px;padding:10px 13px;border:1px solid #e3e8f5;border-radius:6px;background:#fff;font-size:11px}.library-toolbar select{padding:9px 13px;border:1px solid #e3e8f5;background:#fff;border-radius:6px;font-size:11px;color:#8996b3}.library-toolbar button{margin-left:auto}.materials{background:white;border:1px solid #e7ecf6;border-radius:8px;overflow:hidden}.material-row{display:flex;align-items:center;gap:15px;padding:20px 22px;border-bottom:1px solid #f0f3f8}.material-row:last-child{border-bottom:0}.file-icon{width:37px;height:43px;flex-shrink:0;border-radius:6px;display:grid;place-items:center;background:#edf0ff;color:#8e99cf;font-size:19px}.file-icon.audio{background:#eaf8f7;color:#87c6c0}.file-icon.record{background:#f2f1fa;color:#b3a3cc}.material-meta{flex:1;min-width:0}.material-title{font-size:12px;line-height:1.7;color:#657392;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-detail{font-size:9px;color:#b0bace;margin-top:6px}.material-actions{display:flex;gap:17px;align-items:center}.material-actions button{font-size:10px;color:#8c9ac3;white-space:nowrap}.material-empty{text-align:center;padding:80px 20px;color:#a9b4ce;font-size:13px;line-height:2}.material-empty span{font-size:35px;color:#c4cde5;display:block;margin-bottom:15px}.library-footer{font-size:10px;color:#adb8ce;padding-top:20px;line-height:1.8}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);z-index:50;max-width:90vw;padding:13px 23px;border-radius:7px;color:#fff;background:#41458ded;font-size:12px;line-height:1.7;box-shadow:0 5px 25px #44549720}dialog{width:430px;max-width:92vw;border:1px solid #e0e6f6;padding:32px;border-radius:12px;background:#fff;color:#535f81;box-shadow:0 20px 80px #263f7b22}dialog::backdrop{background:#273e6a55;backdrop-filter:blur(4px)}.login-logo{display:block;width:105px;margin:0 0 27px}dialog h2{font-size:21px;font-weight:550;margin:0 0 12px}dialog p{font-size:11px;line-height:1.9;color:#9ca9c3;margin-bottom:20px}dialog label{display:block;font-size:11px;color:#8999b7;margin-top:17px}dialog input:not([type=file]),dialog select{display:block;width:100%;padding:11px;margin-top:8px;border:1px solid #dfe6f5;border-radius:6px;background:#fbfcff;font-size:12px}#loginSubmit{width:100%;margin-top:22px}#browsePublic{display:block;margin:20px auto 0}#loginError{color:#b5826a;font-size:11px;line-height:1.7}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:26px}.file-picker{padding:15px;border:1px dashed #cbd6ed;border-radius:6px}input[type=file]{display:block;font-size:11px;max-width:100%;margin-top:12px;color:#a4b1c8}#uploadScopeNotice{padding:12px;margin:12px 0 0;background:#f3f6fd;border-radius:5px;font-size:11px}.notice:empty{display:none}@keyframes pulse{50%{opacity:.35}}@media(min-width:1600px){:root{--side:245px}.learning-grid{grid-template-columns:minmax(0,1.15fr) minmax(500px,.85fr)}.recording-panel{padding-left:43px;padding-right:43px}.transcript-entry>span{font-size:16px}.transcript{padding-top:15px}.study-tabs{gap:32px}.study-tabs>button{font-size:15px}.ppt-region{padding-left:30px;padding-right:30px}.note-header,.pane-toolbar{padding-left:32px;padding-right:32px}.insights,.questions,.personal-notes{padding-left:32px;padding-right:32px}}
@media(max-width:1180px){:root{--side:195px}.sidebar{padding-left:12px;padding-right:12px}.binding>span{display:none}.recording-panel{padding:23px 23px 16px}.recording-heading>div{display:block}.language-chip{display:inline-block;margin-top:10px}.recording-help{line-height:1.7}.record-dock{gap:12px;padding-left:13px;padding-right:13px}.record-dock .primary,.record-dock .outlined{padding:9px 12px}.waveform i:nth-child(n+9){display:none}.study-tabs{gap:20px;padding-left:20px;padding-right:20px}.auto-label{font-size:8px}.study-tabs>button{font-size:12px}.learning-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr)}.topbar{padding:0 20px}.topbar-right{gap:12px}.save-status{display:none}.lesson-bar{padding:0 22px}.personal-notes{font-size:13px}}
@media(max-width:900px){.sidebar{width:220px;box-shadow:8px 0 30px #3d4f8a15}main{margin-left:0}.sidebar-hidden .sidebar{transform:translateX(-100%)}body:not(.sidebar-hidden) main::after{content:'';position:fixed;inset:65px 0 0 220px;background:#34416d25;z-index:7}.topbar{position:relative;z-index:9}.learning-grid{grid-template-columns:minmax(0,1fr) minmax(310px,.9fr)}.binding label{display:none}.lesson-bar{gap:10px}.binding select{max-width:190px}.recording-heading h1{font-size:17px}.recording-help{font-size:9px}.record-dock{gap:10px}.record-dock .outlined{font-size:10px;padding:8px 10px}.record-dock .primary{font-size:10px}.recording-panel{padding-left:20px;padding-right:20px}.waveform i:nth-child(n+7){display:none}}
@media(max-width:650px){.topbar{height:56px;padding:0 13px}.topbar-left{gap:10px;font-size:12px}.topbar-right{gap:10px}.topbar-right .small{font-size:10px;padding:7px 9px;min-height:31px}.topbar-right>.text-button{font-size:10px}.header-icon{width:19px;height:19px}.lesson-bar{height:auto;min-height:80px;display:block;padding:13px 17px}#lessonTitle{width:100%;font-size:14px;margin-bottom:12px}.binding{font-size:9px}.binding label{display:block}.binding select{padding:5px 8px;font-size:10px;max-width:220px}.learning-grid{height:auto;min-height:0;display:flex;flex-direction:column}.recording-panel{height:56dvh;min-height:390px;border-right:0;border-bottom:1px solid #e4eaf6;padding:20px 18px 15px}.recording-heading>div{display:flex;align-items:center;gap:12px}.language-chip{margin:0;font-size:8px;padding:5px 8px}.recording-help{margin-top:15px}.transcript-empty{padding-top:7vh}.transcript-entry>span{font-size:13px}.record-bottom>p{font-size:8px}.record-dock{max-width:365px}.record-dock .primary,.record-dock .outlined{font-size:11px}.study-panel{min-height:430px}.notes-region{height:460px;flex:none}.ppt-region{max-height:none;height:280px;min-height:0;padding:15px 18px 10px}.slide-stage img{max-height:180px}.study-tabs{height:59px;padding:0 19px}.study-tabs>button{font-size:13px}.auto-label{font-size:8px}.study-tabs>button.active::after{bottom:10px}.personal-notes{font-size:13px}.insights,.questions{padding-left:20px;padding-right:20px}.empty-small{padding-top:70px}.library-view{padding:28px 18px}.library-heading{align-items:start}.library-heading h1{font-size:22px}.library-heading p{font-size:11px}.library-count{font-size:10px;white-space:nowrap;padding-top:22px}.library-toolbar{flex-wrap:wrap;gap:9px;margin-top:15px}.library-toolbar input{width:calc(100% - 112px)}.library-toolbar select{width:103px;font-size:10px}.library-toolbar button{margin-left:0;font-size:10px}.material-row{padding:16px 13px;gap:10px}.file-icon{width:31px;height:36px;font-size:16px}.material-title{font-size:11px}.material-detail{font-size:8px}.material-actions{gap:11px;flex-wrap:wrap;max-width:80px}.material-actions button{font-size:9px}.material-empty{padding:60px 15px}.notice{font-size:10px;padding:9px 17px}body.has-notice .learning-grid{height:auto}body:not(.sidebar-hidden) main::after{top:56px}.status-pill{font-size:9px}}

[hidden]{display:none!important}

/* 课堂选择与课件操作归入右侧；录音结束后在控制条展示导出。 */
.learning-grid{height:calc(100dvh - 65px)}body.has-notice .learning-grid{height:calc(100dvh - 107px)}
.courseware-area{display:flex;flex-direction:column;flex-shrink:0;max-height:49%;min-height:54px;border-bottom:1px solid var(--line)}
.courseware-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:54px;padding:10px 23px;flex-shrink:0}
.class-picker{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.class-picker label{font-size:11px;color:#929fbb;white-space:nowrap}.class-picker select{border:1px solid #e3e8f4;background:#fff;border-radius:5px;padding:7px 26px 7px 10px;font-size:11px;color:#7481a3;min-width:125px;width:min(260px,100%);max-width:100%}.class-picker option[value="__new_course__"]{color:#4143af}
.courseware-tools .outlined{flex-shrink:0}.courseware-area .ppt-region{max-height:none;min-height:160px;flex:1;overflow:hidden;border-bottom:0;padding-top:4px}
.record-dock{max-width:580px;gap:12px}.record-dock .primary,.record-dock .outlined{padding:9px 12px}.record-dock #export{background:#f6f7ff;border-color:#e2e6f8;color:#696eb1}
@media(min-width:1600px){.courseware-tools{padding-left:30px;padding-right:30px}}
@media(max-width:1180px){.courseware-tools{padding-left:20px;padding-right:20px;gap:10px}.class-picker{gap:7px}.class-picker select{width:100%;min-width:100px}.courseware-tools .small{padding:7px 9px;font-size:10px}.record-dock.has-export{gap:9px}.record-dock.has-export .outlined,.record-dock.has-export .primary{font-size:10px;padding:9px 10px}}
@media(max-width:650px){.learning-grid,body.has-notice .learning-grid{height:auto}.courseware-area{max-height:none;min-height:52px}.courseware-tools{padding:10px 18px;min-height:52px}.courseware-area .ppt-region{height:260px;min-height:0;flex:none}.class-picker select{max-width:220px;font-size:10px}.record-dock.has-export{flex-wrap:wrap;max-width:100%;gap:8px;padding:9px 10px}.record-dock.has-export .waveform,.record-dock.has-export .dock-divider{display:none}.record-dock.has-export .outlined,.record-dock.has-export .primary{padding:8px 10px;font-size:10px}}

/* 录音笔记名称：标题即笔记名称，可直接编辑 */
.recording-heading>div:first-child{flex:1 1 auto;min-width:0}
.lesson-title{font:inherit;font-size:17px;font-weight:600;color:#3f4c6f;border:0;border-bottom:1px dashed #e6ebf7;background:transparent;padding:1px 2px 2px;margin:0;flex:1 1 auto;width:auto;min-width:0;max-width:420px;border-radius:4px;outline:none;line-height:1.35;text-overflow:ellipsis}
.lesson-title:hover{border-bottom-color:#ccd4e8}
.lesson-title:focus{border-bottom-color:#4143af;background:#f6f7ff}
.lesson-title::placeholder{color:#8b98b8;font-weight:550}

/* 资料库：目录名已由顶栏给出，个人/公开目录不再重复标题；资料数量归入工具栏 */
.library-toolbar-end{margin-left:auto;display:flex;align-items:center;gap:12px}
.library-toolbar-end button{margin-left:0}
.library-toolbar .library-count{padding-top:0;white-space:nowrap}
@media(max-width:1180px){.recording-heading>div:first-child{display:flex;flex-wrap:wrap;row-gap:6px;align-items:center}.lesson-title{flex:1 0 100%;width:100%;max-width:none}}
@media(max-width:650px){.library-toolbar-end{margin-left:0;width:100%;justify-content:space-between}.library-toolbar .library-count{font-size:10px}}

/* 手机拍照：笔记区的二维码入口、照片缩略图与预览 */
.note-tools{display:flex;align-items:center;gap:12px}
.note-tools #noteStatus{font-size:9px;color:#b0b8cb}
#phoneUpload{color:#7074b7;font-size:10px;border:1px solid #e5e9f8;border-radius:20px;padding:5px 11px;background:#f8f9ff}
#phoneUpload:hover{border-color:#c3cbf0;color:#4143af}
.note-photos{flex:0 0 auto;max-height:34%;overflow:auto;border-top:1px dashed #eaeff8;padding:10px 26px 14px}
.note-photos-head{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#a4aec6;margin-bottom:9px}
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:7px}
.note-photo{aspect-ratio:1;border:1px solid #e6ebf7;border-radius:6px;overflow:hidden;padding:0;background:#f5f7fd;display:block}
.note-photo img{width:100%;height:100%;object-fit:cover;display:block}
.note-photo i{display:block;width:100%;height:100%;background:linear-gradient(100deg,#f2f5fc,#e9eefb,#f2f5fc);background-size:200% 100%;animation:shimmer 1.2s linear infinite}
.note-photo:hover{border-color:#b9c2ea;box-shadow:0 2px 8px #4143af1f}
.file-icon.photo{background:#fdf3ef;color:#d8a68c}
@keyframes shimmer{to{background-position:-200% 0}}
.capture-dialog{width:376px}
.capture-box h2{font-size:19px}
.capture-qr{width:216px;height:216px;margin:0 auto 16px;display:grid;place-items:center;background:#fff;border:1px solid #eef1f9;border-radius:10px;padding:8px;color:#a9b3c9;font-size:11px}
.capture-qr svg{width:100%;height:100%;display:block}
.capture-url{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#f6f8fd;border-radius:6px}
.capture-url code{flex:1;min-width:0;font-size:10px;color:#7c88a8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.capture-url .small{flex-shrink:0;min-height:28px;padding:5px 9px;font-size:10px}
#captureState{font-size:10px;color:#a6b0c7;line-height:1.8;margin:12px 0 0}
.capture-dialog .dialog-actions{align-items:center;justify-content:space-between;margin-top:18px}
.photo-dialog{width:min(720px,92vw);padding:14px}
.photo-box img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:8px;background:#f4f6fc}
.photo-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px 2px;font-size:10px;color:#a3adc4}
.photo-actions>div{display:flex;align-items:center;gap:14px}
@media(max-width:650px){.note-photos{padding-left:19px;padding-right:19px;max-height:none}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(58px,1fr))}.capture-dialog{width:92vw}}

/* 笔记时间戳：记录起始/更新时间，照片按拍摄时间排序并标出时刻 */
.note-hint{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.note-tools{gap:10px}
.note-stamp{font-size:9px;color:#a3aec8;background:#f6f8fd;border:1px solid #eef1f9;border-radius:10px;padding:3px 8px;white-space:nowrap;font-variant-numeric:tabular-nums}
.note-stamp:empty{display:none}
.note-photo{position:relative}
.note-photo-time{position:absolute;right:3px;bottom:3px;font-size:8px;line-height:1;padding:2px 4px;border-radius:4px;background:#0f1226b8;color:#eef1ff;font-variant-numeric:tabular-nums;letter-spacing:.2px}
@media(max-width:900px){.note-hint{display:none}}
@media(max-width:650px){.note-stamp{display:none}}

/* 菜单信息架构：录音学习 / 笔记 / 资料 / 课堂 */
.side-hint{margin-top:auto;padding:16px 8px 0;font-size:9px;color:#a3adc6;line-height:1.9;letter-spacing:.2px}
.sidebar .sidebar-bottom{margin-top:14px}
.library-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0 6px}
.library-tabs>button{font-size:12px;color:#8d98b8;padding:8px 14px;border:1px solid #e7ecf6;border-radius:20px;background:#fff}
.library-tabs>button:hover{border-color:#cfd6ee;color:#5b668c}
.library-tabs>button.active{color:#4143af;border-color:#c9cff1;background:#f2f4ff;font-weight:600}
.library-course-select{margin-left:auto;padding:8px 12px;border:1px solid #e3e8f5;border-radius:6px;font-size:11px;color:#7481a3;background:#fff;max-width:230px}
.library-heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
/* 笔记列表 */
.notes-list{background:#fff;border:1px solid #e7ecf6;border-radius:8px;overflow:hidden}
.note-row{display:flex;align-items:center;gap:15px;padding:18px 22px;border-bottom:1px solid #f0f3f8}
.note-row:last-child{border-bottom:0}
.note-row.current{background:#fafbff;box-shadow:inset 3px 0 0 #7c81d9}
.note-row-main{flex:1;min-width:0}
.note-row-title{font-size:13px;color:#5b688a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.note-row-meta{font-size:9px;color:#adb7cc;margin-top:7px;line-height:1.6}
.note-row-actions{display:flex;gap:16px;flex-shrink:0}
.note-row-actions button{font-size:10px;color:#8c9ac3;white-space:nowrap}
.note-row-actions button:hover{color:#4143af}
/* 课堂卡片 */
.course-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px;margin-top:24px}
.course-card{border:1px solid #e7ecf6;border-radius:10px;background:#fff;padding:20px 20px 16px;display:flex;flex-direction:column;gap:9px}
.course-card-head{display:flex;align-items:center;gap:10px;min-width:0}
.course-card-head h3{margin:0;font-size:15px;font-weight:600;color:#4d5a7c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.course-card-head .chip{flex-shrink:0;margin-left:auto;font-size:9px;color:#8d93c6;background:#f1f3fd;border-radius:10px;padding:3px 8px}
.course-card-meta{margin:0;font-size:10px;color:#a6b0c7}
.course-card-actions{display:flex;gap:16px;margin-top:8px}
.course-card-actions button{font-size:10px;color:#7781ad}
.course-card-actions button:hover{color:#4143af}
.course-empty{grid-column:1/-1;text-align:center;padding:64px 20px;color:#a9b4ce;font-size:13px;line-height:2;border:1px dashed #e3e9f6;border-radius:10px;background:#fcfdff}
.course-empty span{display:block;font-size:32px;color:#c4cde5;margin-bottom:12px}
@media(max-width:900px){.side-hint{display:none}}
@media(max-width:650px){.library-heading{align-items:flex-start}.library-heading-actions{flex-direction:column;align-items:stretch;gap:8px}.library-tabs{gap:6px}.library-tabs>button{padding:7px 11px;font-size:11px}.library-course-select{margin-left:0;width:100%;max-width:none}.note-row{padding:14px;gap:10px}.note-row-title{font-size:12px}.note-row-actions{gap:12px}.course-cards{grid-template-columns:1fr}}
