:root{--ink:#172c3e;--muted:#71808e;--line:#e6ebef;--paper:#fff;--bg:#f5f7fa;--green:#087f70;--navy:#102536;--radius:18px;font-family:"Microsoft YaHei UI","Microsoft YaHei","DengXian",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none;font-size:14px;line-height:1.6}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button{color:inherit}img,video{max-width:100%}button,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible{outline:3px solid #3bb5a7;outline-offset:4px}input:focus,textarea:focus{outline:2px solid #52afa0;outline-offset:1px}[hidden]{display:none!important}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}[data-icon]{display:inline-flex;align-items:center}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-80px;left:20px;background:var(--green);color:white;padding:10px 20px;z-index:99}.skip-link:focus{top:10px}.eyebrow{font:11px/1.5 Consolas,monospace;letter-spacing:1.8px;color:var(--green)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;line-height:1.4}p{color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.small-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:currentColor}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:11px 18px;border-radius:9px;border:1px solid transparent;font-weight:600;line-height:1.5;transition:background .18s,box-shadow .18s,transform .18s;white-space:nowrap}.button:hover{transform:translateY(-1px)}.primary{background:var(--green);color:#fff;box-shadow:0 4px 12px #087f701a}.primary:hover{background:#076e61}.secondary{background:#fff;color:#314657;border-color:#dbe3e8}.secondary:hover{background:#f2f7f6;border-color:#a7cfc6}.small-button{font-size:12px;padding:8px 12px}.text-button{display:inline-flex;gap:7px;align-items:center;background:none;border:0;padding:4px 0;color:#657581;font-size:12px}.text-button:hover{color:var(--green)}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;border-radius:7px;width:34px;height:34px}.icon-button:hover{background:#eef3f5}.tag{display:inline-flex;padding:4px 9px;border-radius:5px;font-size:11px;font-weight:600;line-height:1.4}.tag.green{background:#e1f3eb;color:#16735f}.inline-link{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-weight:600;font-size:12px}.inline-link .icon{width:16px}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:12px;color:#7b8894}.breadcrumb a:hover{color:var(--green)}.breadcrumb span:not(:last-child){color:#c3cbd2}
.sidebar{position:fixed;inset:0 auto 0 0;width:220px;background:var(--navy);color:#e8f1f3;padding:30px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:11px;align-items:center;white-space:nowrap}.brand-symbol{font:bold 30px/1 Consolas,monospace;letter-spacing:-5px;width:42px;height:44px;background:#204237;color:#f4fffa;border:1px solid #446657;border-radius:11px;padding:7px 8px 7px 6px;display:block}.brand-symbol>span{color:#74d4ac;letter-spacing:0}.brand strong{display:block;font-size:16px;letter-spacing:.4px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#8ba4b1;margin-top:2px}.nav-caption{font-size:10px;color:#6c8799;letter-spacing:2px;margin:48px 14px 14px}.sidebar nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:13px;border-radius:8px;padding:11px 14px;font-size:13px;color:#91a8b7}.nav-link:hover{color:white;background:#1a3547}.nav-link.active{color:#d9fff0;background:#214d46;box-shadow:inset 3px 0 #64c69f}.nav-link .icon{width:18px}.nav-external{margin-left:auto}.nav-external .icon{width:12px}.sidebar-note{border:1px solid #2d4352;border-radius:11px;padding:18px 15px;margin-top:55px;background:linear-gradient(140deg,#213c49,#162e3e)}.sidebar-note-icon{color:#74c4a8;margin-bottom:12px}.sidebar-note strong{display:block;font-size:12px;color:#cddfe5}.sidebar-note p{font-size:11px;line-height:1.9;margin:7px 0 15px;color:#89a3b3}.sidebar-note a{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8ed0b7}.sidebar-note a .icon{width:15px}.sidebar-foot{margin-top:auto;padding:25px 7px 0;font-size:10px;color:#91a9b6}.sidebar-foot .small-dot{color:#64b393;margin-right:6px}.sidebar-foot small{display:block;color:#5c788a;font-size:9px;margin-top:5px;margin-left:15px}.home-workspace{margin-left:220px}.portal-topbar{height:76px;padding:0 40px;border-bottom:1px solid var(--line);background:#ffffffdb;display:flex;align-items:center;justify-content:space-between}.topbar-actions{display:flex;gap:26px;align-items:center}.profile{display:flex;gap:9px;align-items:center;font-size:11px;color:#657785}.avatar{width:30px;height:30px;border-radius:50%;background:#e9efee;display:grid;place-content:center;color:#4e756a;font-size:12px}.home-content{max-width:1500px;margin:auto;padding:32px 40px 0}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.page-heading h1{font-size:25px;letter-spacing:-.6px;margin-top:6px}.page-heading p{font-size:12px;margin-top:7px}.course-type{font-size:11px;color:#87939d;padding-top:18px}.course-type span{padding:0 7px;color:#b1bfc7}.course-hero{display:grid;grid-template-columns:1.06fr 1fr;overflow:hidden;position:relative;border:1px solid #e0ebe7;border-radius:var(--radius);background:linear-gradient(115deg,#edf4f0 0%,#f2f7f3 47%,#e7f0ed 100%);min-height:346px}.hero-copy{padding:30px 0 29px 34px;z-index:1}.hero-kicker{display:flex;align-items:center;gap:10px;font-size:10px;color:#718b7d}.hero-copy h2{font-size:30px;line-height:1.48;letter-spacing:-1px;margin:16px 0 12px}.hero-copy>p{font-size:12px;line-height:1.9;max-width:365px;color:#71847c}.hero-actions{display:flex;align-items:center;gap:12px;margin-top:23px}.hero-actions .button{font-size:12px}.hero-actions .secondary{background:#ffffff90;border-color:#d3dfd8}.hero-next{display:flex;align-items:center;gap:10px;margin-top:18px;font-size:10px;color:#83958b}.hero-next strong{font-weight:500;color:#506d5d}.hero-art{display:flex;position:relative;align-items:center;justify-content:center;padding:7px 6px 28px 0}.hero-art img{width:100%;max-width:530px;transform:scale(1.05)}.art-caption{position:absolute;bottom:25px;right:35px;font-size:10px;letter-spacing:1px;color:#739184}.learning-overview{display:grid;grid-template-columns:1fr 1fr 1fr 1.55fr;background:white;border:1px solid var(--line);border-radius:13px;margin-top:20px;padding:22px 25px;gap:20px}.overview-item{display:flex;align-items:center;gap:13px}.overview-icon{width:43px;height:43px;display:grid;place-content:center;border-radius:11px;background:#f0f3f7;color:#6e859b}.overview-icon.mint{color:#388875;background:#e9f4ee}.overview-icon.blue{color:#648db3;background:#edf3fb}.overview-item>div>span{display:block;font-size:10px;color:#8b97a0}.overview-item strong{display:block;font:25px/1.5 Consolas,monospace;color:#284153}.overview-item strong small{font:11px "Microsoft YaHei UI",sans-serif;color:#a0aab2}.overview-item strong span{font:inherit}.overview-progress{border-left:1px solid var(--line);padding-left:25px}.overview-progress>div{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#7b8a94}.overview-progress strong{color:var(--green);font:16px Consolas,monospace}.overview-progress small{font-size:9px;color:#a1abb2}progress{display:block;width:100%;height:5px;appearance:none;border:0;border-radius:10px;background:#edf1f3;overflow:hidden;margin:10px 0 6px}progress::-webkit-progress-bar{background:#edf1f3;border-radius:10px}progress::-webkit-progress-value{background:#2a9a80;border-radius:10px}progress::-moz-progress-bar{background:#2a9a80;border-radius:10px}.directory-section{margin-top:36px;scroll-margin-top:24px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.section-top h2{font-size:18px;letter-spacing:-.3px}.section-top p{font-size:11px;margin-top:6px}.section-count{font-size:10px;color:#8c9aa3;white-space:nowrap}.directory-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:23px 0 18px}.filter-group{display:flex;background:#e9eef1;padding:4px;border-radius:8px;gap:3px}.filter-button{font-size:11px;border:0;background:transparent;color:#81919c;padding:7px 14px;border-radius:6px}.filter-button.active{background:#fff;color:var(--green);box-shadow:0 1px 4px #213d5410}.search-field{display:flex;align-items:center;gap:9px;border:1px solid #e0e6eb;background:white;border-radius:8px;padding:8px 12px;width:240px}.search-field .icon{width:16px;color:#9aa9b4}.search-field input{width:100%;min-width:0;font-size:11px;border:0;outline:none!important;background:none;color:var(--ink)}.search-field:focus-within{border-color:#60a48f;box-shadow:0 0 0 2px #60a48f22}.search-field input::placeholder{color:#9ca8b1}.chapter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.chapter-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:12px;padding:19px 20px 13px;min-height:200px;transition:box-shadow .18s,transform .18s,border-color .18s}.chapter-card:hover{transform:translateY(-3px);border-color:#b6d2c9;box-shadow:0 9px 22px #223c5010}.chapter-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.chapter-number{font:21px/1.5 Consolas,monospace;color:#3e8e76;background:#eaf4ee;width:39px;height:36px;text-align:center;border-radius:7px}.blue .chapter-number{color:#688bb3;background:#edf2fa}.sand .chapter-number{color:#af8b52;background:#f7f1e6}.purple .chapter-number{color:#9582b4;background:#f2eef9}.chapter-state{color:#a0aab3;font-size:9px}.chapter-state.done{color:var(--green)}.chapter-card h3{font-size:14px;margin-bottom:8px}.chapter-card>p{font-size:10px;line-height:1.9;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#8b98a2;margin-bottom:15px}.chapter-card-foot{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #f0f3f5;padding-top:10px;margin-top:auto;font-size:9px;color:#9ba8b2}.chapter-card-foot>span{display:inline-flex;gap:5px;align-items:center}.chapter-card-foot .icon{width:13px;height:13px}.card-arrow{color:#759789}.card-arrow .icon{width:17px}.empty-state{text-align:center;padding:60px 15px;background:#fff;border:1px dashed #cedad5;border-radius:12px}.empty-state>[data-icon]{color:#92ac9e;margin-bottom:10px}.empty-state h3{font-size:16px}.empty-state p{font-size:12px;margin:8px 0 20px}.home-bottom-grid{display:grid;grid-template-columns:1.16fr 1fr;gap:20px;margin:28px 0}.practice-callout{display:flex;align-items:center;gap:22px;background:#edf2f6;border:1px solid #dde6ee;border-radius:13px;padding:25px}.practice-callout h2{font-size:16px;margin:8px 0}.practice-callout p{font-size:11px;line-height:1.9;margin-bottom:15px}.practice-callout .eyebrow{font-size:9px;color:#718ca3}.practice-visual{width:100px;height:116px;border:1px solid #cad6df;border-radius:9px;background:#e1eaf1;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:8px;font:8px Consolas,monospace;color:#7690a3;flex-shrink:0}.mini-cube{width:34px;height:34px;background:#72b9a6;box-shadow:inset -9px -7px #4e9785;transform:rotate(-20deg) skewY(10deg);border-radius:3px}.recent-notes{padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:13px}.section-top.compact h2{font-size:14px}.compact a{font-size:10px;color:#80978b;display:flex;gap:6px;align-items:center}.compact a .icon{width:14px}.notes-empty{display:flex;align-items:center;gap:16px;padding:34px 5px 15px}.notes-empty>.icon{color:#bbccc3;width:32px;height:32px}.notes-empty strong{font-size:12px;font-weight:500}.notes-empty p{font-size:10px;line-height:1.9;margin-top:6px}.recent-note{display:block;border-bottom:1px solid #edf1f3;padding:13px 0}.recent-note:last-child{border-bottom:0}.recent-note p{font-size:11px;color:#526b7c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-note span{font-size:9px;color:#96a4ac}.page-footer{border-top:1px solid var(--line);padding:20px 0;display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:9px;color:#a1aab1}.page-footer .text-button{font-size:9px}
.watch-topbar{height:78px;background:#fff;border-bottom:1px solid var(--line);padding:0 38px;display:flex;align-items:center;gap:35px}.light-brand .brand-symbol{background:#163d32;color:white}.light-brand strong{font-size:15px}.light-brand small{color:#9aaba3;font-size:8px}.watch-course-name{border-left:1px solid var(--line);padding-left:30px;display:flex;gap:15px;align-items:center;font-size:12px;color:#7a8993}.back-home{margin-left:auto;display:flex;gap:7px;align-items:center;color:#7b8a93;font-size:11px;white-space:nowrap}.back-home .icon{width:16px}.back-home:hover{color:var(--green)}.watch-content{padding:27px 38px 45px;max-width:1700px;margin:auto}.watch-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.watch-heading h1{font-size:24px;letter-spacing:-.5px;margin-top:9px}.watch-heading .breadcrumb{font-size:10px}.source-button{font-size:11px;padding:9px 13px}.source-button .icon{width:15px}.watch-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:23px;align-items:start}.watch-main{min-width:0}.video-shell{border-radius:13px;overflow:hidden;box-shadow:0 7px 20px #1933430d;background:#0e1d28}.video-stage{aspect-ratio:16/9;background:#102331;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden}.video-stage video{width:100%;height:100%;max-height:100%;position:absolute;inset:0;background:#08121b;object-fit:contain}.video-stage:fullscreen{width:100vw;height:100vh;aspect-ratio:auto}.video-empty{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 75% 65%,#1f3a46,#102330 70%)}.video-empty>img{position:absolute;inset:auto -7% -20% auto;width:66%;opacity:.1;filter:grayscale(.5);transform:rotate(-6deg);pointer-events:none;z-index:-1}.video-empty-copy{text-align:center;padding:20px 28px;color:#dde9e9}.play-outline{display:grid;place-content:center;width:57px;height:57px;border:1px solid #5a827d;border-radius:50%;color:#9bc6b4;background:#ffffff03;margin:0 auto 18px}.play-outline .icon{height:24px;width:24px;fill:currentColor;stroke-width:1}.video-label{font:9px Consolas,monospace;letter-spacing:2px;color:#6c9496}.video-empty h2{font-size:20px;font-weight:500;letter-spacing:1px;margin:9px 0 11px}.video-empty p{color:#6e8a9b;font-size:11px;line-height:1.9;max-width:355px;margin:auto}.video-source-button{font-size:10px;margin-top:20px;color:#b2d1c4;background:#23463e;border-color:#3e6559;padding:8px 13px}.video-source-button .icon{width:15px}.video-source-button:hover{background:#2d584c}.player-toolbar{padding:8px 15px;background:#122734;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:43px;color:#6f939e}.player-toolbar>#source-status{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-toolbar .small-dot{background:#6b9383;margin-right:6px;width:5px;height:5px}.player-tools{display:flex;align-items:center;gap:12px}.speed-label select{background:transparent;color:#a0b8bf;border:0;font-size:10px;cursor:pointer;padding:3px;outline-offset:1px}.speed-label select option{background:#122734}.player-tool{border:0;background:transparent;color:#8cabb6;display:inline-flex;padding:5px}.player-tool .icon{width:16px;height:16px}.player-tool:hover,.player-tool[aria-pressed=true]{color:#b0e2ce}.lesson-status-row{display:flex;align-items:center;justify-content:space-between;margin:18px 0 24px;gap:12px}.lesson-status{font-size:10px;color:#8a99a4;display:flex;align-items:center;gap:8px}.lesson-status:before{content:"";width:5px;height:5px;background:#b8c3ca;border-radius:50%}.lesson-status.done{color:var(--green)}.lesson-status.done:before{background:var(--green)}.lesson-status-row .icon{width:14px;height:14px}.lesson-detail{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.lesson-tabs{display:flex;gap:28px;padding:0 25px;border-bottom:1px solid var(--line)}.lesson-tab{border:0;border-bottom:2px solid transparent;background:transparent;padding:18px 0 15px;font-size:12px;color:#8a98a2;position:relative;white-space:nowrap}.lesson-tab.active{border-color:var(--green);color:var(--green);font-weight:600}.lesson-tab>span{display:inline-flex;min-width:16px;height:16px;align-items:center;justify-content:center;padding:0 4px;border-radius:4px;font:10px Consolas,monospace;background:#eef2f4;color:#7a8b97;margin-left:5px}.tab-panel{padding:25px 27px}.lesson-summary{font-size:12px;line-height:1.95;max-width:710px;margin-bottom:25px}.tab-panel h2{font-size:14px;margin-bottom:16px}.objective-list{padding:0;margin:0;list-style:none;display:grid;gap:12px}.objective-list li{display:flex;align-items:flex-start;gap:12px}.objective-list li>span{width:20px;height:20px;border-radius:50%;background:#eaf5ee;display:grid;place-content:center;flex-shrink:0;color:#46977a;margin-top:1px}.objective-list .icon{width:12px;height:12px}.objective-list p{font-size:12px;color:#607584;line-height:1.8}.knowledge-box{background:#f5f8f8;border:1px solid #e8eff0;border-radius:9px;padding:17px 20px;margin-top:24px}.knowledge-box>div:first-child{display:flex;align-items:center;gap:8px;color:#748f94}.knowledge-box .icon{width:15px;height:15px}.knowledge-box h3{font-size:11px;color:#526c75}.knowledge-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.knowledge-tags>span{background:white;border:1px solid #dde7e7;border-radius:4px;font-size:10px;padding:3px 9px;color:#6f838a}.guide-note{font-size:10px;line-height:1.9;margin-top:20px;color:#a3aeb5}.lesson-catalog{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:sticky;top:20px}.catalog-heading{padding:22px 21px 16px}.catalog-heading>div{display:flex;justify-content:space-between;align-items:center}.catalog-heading h2{font-size:15px}.catalog-heading>div>span{font-size:10px;color:#96a5b0}.catalog-heading>p{font-size:10px;color:#96a5b0;margin-top:14px}.catalog-heading>p>span{font:15px Consolas,monospace;color:var(--green)}.catalog-heading progress{height:4px;margin:8px 0 18px}.catalog-search{background:#f8fafb;width:100%;padding:7px 9px}.catalog-search input{font-size:10px}.catalog-list{max-height:660px;overflow:auto;scrollbar-width:thin;scrollbar-color:#ceddd6 transparent}.catalog-lesson{display:flex;gap:12px;padding:16px 19px;border-top:1px solid #f0f3f5;border-left:3px solid transparent}.catalog-lesson:hover{background:#f5faf7}.catalog-lesson.current{background:#edf6f1;border-left-color:#2a9b79}.catalog-number{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:27px;height:28px;border-radius:5px;background:#f1f4f6;font:12px Consolas,monospace;color:#91a4b0}.current .catalog-number{background:#d8ece1;color:#438c6e}.catalog-number.complete{color:#40896d;background:#e5f3eb}.catalog-number .icon{width:14px;height:14px}.catalog-lesson>div{min-width:0}.catalog-lesson strong{font-size:11px;font-weight:550;line-height:1.7;display:block;color:#556c7c}.current strong{color:#286c54}.catalog-lesson small{font-size:9px;display:block;color:#95a5ae;margin-top:4px;line-height:1.7}.catalog-video-state{display:inline-block;font-size:8px;color:#9cabb4;margin-top:6px}.current .catalog-video-state{color:#81a28e}.catalog-footer{display:flex;align-items:flex-start;gap:9px;background:#fafcfc;border-top:1px solid #edf2f3;padding:15px 19px}.catalog-footer .icon{width:13px;height:13px;color:#9aaeb5;margin-top:2px}.catalog-footer p{font-size:9px;line-height:1.9;color:#9aabb3}.catalog-empty{font-size:11px;padding:25px 20px}.lesson-pagination{display:flex;justify-content:space-between;gap:30px;margin-top:21px}.lesson-pagination a{display:flex;align-items:center;gap:12px;max-width:48%;padding:8px 0}.lesson-pagination a:hover{color:var(--green)}.lesson-pagination a[aria-disabled=true]{color:#b0bdc6}.lesson-pagination a:last-child{text-align:right;margin-left:auto}.lesson-pagination small{display:block;font-size:9px;color:#9ba9b3;margin-bottom:3px}.lesson-pagination strong{font-size:11px;font-weight:500}.lesson-pagination .icon{width:16px}.notes-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.notes-panel-heading h2{margin-bottom:6px}.notes-panel-heading p{font-size:10px}.notes-panel-heading .text-button{font-size:10px}.notes-panel-heading .icon{width:14px}.note-form{border:1px solid #dfe8e6;border-radius:10px;overflow:hidden;background:#fbfdfc}.note-form textarea{display:block;width:100%;resize:vertical;min-height:100px;max-height:400px;padding:15px;border:0;background:transparent;font-size:12px;line-height:1.9;color:#3a5665}.note-form textarea::placeholder{color:#a6b1b9}.note-form textarea:focus{outline:0}.note-form:focus-within{border-color:#73b4a0;box-shadow:0 0 0 2px #73b4a01a}.note-form-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;background:#f3f8f5;border-top:1px solid #e7eeeb}.note-form-footer>span{font-size:10px;color:#87a18f}.note-form .button{font-size:10px;padding:7px 12px}.note-form .icon{width:13px;height:13px}.note-list-empty{text-align:center;padding:36px 10px 16px;color:#aac1b5}.note-list-empty>.icon{display:block;margin:0 auto 12px;width:26px;height:26px}.note-list-empty strong{display:block;color:#7d9488;font-size:11px;font-weight:500}.note-list-empty p{font-size:10px;margin-top:5px;color:#b0bbb5}.saved-note{border-bottom:1px solid #edf1f2;padding:16px 0}.saved-note:last-child{border-bottom:0}.saved-note-heading{display:flex;align-items:center;justify-content:space-between}.note-time{background:#eef5f1;border:0;color:#579077;font:10px Consolas,"Microsoft YaHei UI",sans-serif;padding:4px 7px;border-radius:5px}.note-time:disabled{opacity:1}.saved-note>p{font-size:12px;color:#526b7b;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;margin-top:6px}.delete-note{color:#aebbc2;width:27px;height:27px}.delete-note:hover{color:#b15a59;background:#fff0ed}.delete-note .icon{width:14px;height:14px}.lesson-practice-card{display:flex;gap:23px;padding:8px 0}.practice-icon{display:grid;place-content:center;flex-shrink:0;width:67px;height:67px;border-radius:15px;background:#edf5f0;color:#548f72}.practice-icon .icon{width:31px;height:31px}.lesson-practice-card .eyebrow{font-size:9px}.lesson-practice-card h2{margin:10px 0}.lesson-practice-card p{font-size:12px;line-height:1.9;margin-bottom:18px}.lesson-practice-card .button{font-size:11px}.lesson-practice-card .icon{width:16px}.theater .watch-grid{grid-template-columns:minmax(0,1fr)}.theater .lesson-catalog{position:static}.theater .catalog-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px}.theater .video-stage{max-height:75vh}.theater .watch-content{max-width:1500px}
.modal{border:1px solid #e2e9e6;border-radius:16px;background:white;box-shadow:0 25px 100px #102b3a35;padding:27px 30px;max-width:480px;width:calc(100% - 32px);color:var(--ink)}.modal::backdrop{background:#0b202f99;backdrop-filter:blur(3px)}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.modal-heading h2{font-size:20px}.modal>p{font-size:12px;line-height:1.9;margin:17px 0}.book-details{font-size:12px;margin-top:22px}.book-details>div{display:flex;border-bottom:1px solid #eef2f2;padding:10px 0;gap:25px}.book-details dt{color:#95a59d;width:75px;flex-shrink:0}.book-details dd{margin:0;color:#506c5c}.modal>p.small{font-size:10px}.source-modal .modal-heading{margin-bottom:15px}.source-modal .modal-heading h2{margin-top:5px}.form-label{display:block;font-size:11px;font-weight:600;margin-bottom:8px}.form-input{width:100%;border:1px solid #dce6e0;background:#fafcfb;border-radius:8px;padding:11px 12px;font-size:12px}.form-error{color:#b45e4d!important;font-size:11px!important;margin:9px 0!important}.full-width{width:100%;margin-top:13px;font-size:12px}.divider-label{display:flex;align-items:center;gap:13px;margin:20px 0;color:#a2b1a9;font-size:10px}.divider-label:before,.divider-label:after{content:"";height:1px;background:#e7eee9;flex:1}.local-video-picker{position:relative;border:1px dashed #bfd3c7;border-radius:10px;display:flex;align-items:center;flex-direction:column;padding:22px 15px;gap:5px;background:#f6faf7;color:#70907d;cursor:pointer}.local-video-picker:hover{border-color:#559a76;background:#eff7f1}.local-video-picker strong{font-size:12px;font-weight:500}.local-video-picker small{font-size:9px;color:#97ac9e}.local-video-picker input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.local-video-picker:focus-within{outline:2px solid #73a988;outline-offset:3px}.danger{color:#ac7169}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);padding:12px 20px;border-radius:9px;background:#183f31;color:#e3f8ed;box-shadow:0 8px 30px #1c3b3333;font-size:12px;z-index:100;max-width:calc(100% - 32px);text-align:center}
@media(min-width:1600px){.home-content{padding-top:40px}.course-hero{min-height:390px}.hero-copy{padding:38px 0 34px 44px}.hero-copy h2{font-size:35px}.hero-copy>p{font-size:13px;max-width:440px}.hero-actions{margin-top:30px}.hero-art img{max-width:580px}.chapter-card{min-height:213px}.chapter-card h3{font-size:15px}.chapter-card>p{font-size:11px}.watch-grid{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:1200px){.sidebar{width:190px;padding:26px 16px}.brand{gap:9px}.brand strong{font-size:14px}.brand-symbol{width:38px;height:40px;font-size:27px}.home-workspace{margin-left:190px}.portal-topbar{padding:0 28px}.home-content{padding:27px 28px 0}.hero-copy{padding-left:27px}.hero-copy h2{font-size:26px}.hero-art img{transform:scale(1.15)}.hero-kicker>span:last-child{font-size:9px}.hero-actions{gap:8px}.hero-actions .button{padding:10px 12px;font-size:11px}.overview-icon{width:36px;height:36px}.overview-item{gap:10px}.learning-overview{gap:12px;padding:20px}.overview-progress{padding-left:15px}.chapter-grid{gap:13px}.chapter-card{padding:16px 16px 12px}.home-bottom-grid{grid-template-columns:1fr}.practice-callout{padding:22px 25px}.practice-visual{height:100px}.watch-topbar{padding:0 26px;gap:25px}.watch-course-name{padding-left:22px;gap:10px}.watch-content{padding:24px 26px 35px}.watch-grid{grid-template-columns:minmax(0,1fr) 280px;gap:20px}.catalog-heading{padding:20px 17px 15px}.catalog-lesson{padding:15px 14px;gap:10px}.video-empty h2{font-size:18px}.play-outline{width:45px;height:45px;margin-bottom:12px}.video-empty p{font-size:10px}.video-source-button{margin-top:15px}.lesson-tabs{gap:22px;padding:0 22px}.tab-panel{padding:23px}}
@media(max-width:980px){.sidebar{width:76px;padding:23px 12px;align-items:center}.sidebar .brand>span:last-child,.nav-caption,.sidebar-note,.sidebar-foot,.nav-external{display:none}.sidebar nav{margin-top:35px;width:100%}.sidebar .nav-link{font-size:0;gap:0;justify-content:center;padding:13px}.sidebar .nav-link>.icon,.sidebar .nav-link>[data-icon]:first-child{display:flex}.sidebar .nav-link .icon{width:20px}.home-workspace{margin-left:76px}.course-hero{min-height:320px;grid-template-columns:1.16fr 1fr}.hero-copy h2{font-size:26px}.hero-copy>p{font-size:11px}.hero-art img{transform:scale(1.25)}.art-caption{right:20px;font-size:9px}.hero-kicker>span:last-child{display:none}.watch-course-name .tag{display:none}.watch-grid{grid-template-columns:minmax(0,1fr) 255px;gap:16px}.watch-heading h1{font-size:22px}.video-empty h2{font-size:17px}.video-empty p{font-size:10px;max-width:280px}.video-label{font-size:8px}.play-outline{margin-bottom:7px;width:37px;height:37px}.play-outline .icon{width:18px}.video-source-button{padding:6px 10px;margin-top:10px}.video-empty-copy{padding:12px}.tab-panel{padding:20px}.notes-panel-heading{align-items:flex-start}.notes-panel-heading .text-button{white-space:nowrap}.catalog-lesson strong{font-size:10px}.catalog-lesson small{font-size:8px}.catalog-list{max-height:650px}}
@media(max-width:760px){.portal-topbar{padding:0 22px;height:65px}.home-content{padding:23px 22px 0}.topbar-actions{gap:14px}.profile>span:last-child{display:none}.page-heading{margin-bottom:20px}.page-heading h1{font-size:22px}.course-type{display:none}.course-hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:27px}.hero-copy h2{font-size:29px}.hero-copy>p{max-width:420px}.hero-art{display:none}.hero-kicker>span:last-child{display:inline}.hero-actions .button{font-size:12px}.learning-overview{grid-template-columns:1fr 1fr 1fr;gap:10px;padding:19px 16px}.overview-item{gap:8px}.overview-item strong{font-size:22px}.overview-icon{width:32px;height:32px}.overview-icon .icon{width:16px}.overview-item>div>span{font-size:9px}.overview-progress{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:13px 0 0;margin-top:6px}.overview-progress small{display:none}.overview-progress progress{margin-bottom:0}.section-top h2{font-size:16px}.section-count{display:none}.directory-toolbar{align-items:stretch;flex-direction:column;gap:12px;margin-top:19px}.filter-group{align-self:flex-start}.search-field{width:100%}.chapter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chapter-card{min-height:209px}.chapter-card h3{font-size:13px}.chapter-card>p{font-size:10px}.practice-callout{padding:20px}.practice-visual{width:76px;height:105px}.practice-callout h2{font-size:15px}.page-footer{align-items:flex-start;flex-direction:column;font-size:8px}.page-footer .text-button{font-size:8px}.watch-topbar{height:66px;padding:0 20px}.watch-course-name{display:none}.watch-content{padding:22px 20px 32px}.watch-grid{grid-template-columns:minmax(0,1fr);gap:24px}.watch-heading h1{font-size:21px}.watch-heading{align-items:flex-start;gap:15px}.source-button{padding:8px 10px;font-size:10px;margin-top:24px}.source-button .icon{width:13px}.watch-heading .breadcrumb{font-size:9px;flex-wrap:wrap;gap:7px}.video-empty h2{font-size:20px;margin:9px 0}.video-empty p{font-size:11px;max-width:350px}.play-outline{width:48px;height:48px;margin-bottom:11px}.video-source-button{padding:7px 12px;margin-top:15px}.lesson-catalog{position:static}.catalog-list{max-height:420px}.catalog-lesson{padding:15px 20px}.catalog-lesson strong{font-size:12px}.catalog-lesson small{font-size:10px}.catalog-video-state{font-size:9px}.catalog-heading{padding:21px}.theater .catalog-list{grid-template-columns:1fr 1fr}.lesson-pagination{margin-top:18px}.lesson-pagination strong{font-size:10px}.lesson-tabs{gap:25px}.lesson-detail h2{font-size:14px}}
@media(max-width:480px){.sidebar{position:sticky;top:0;left:0;width:100%;height:59px;padding:0 16px;flex-direction:row;justify-content:space-between;border-bottom:1px solid #274153}.sidebar .brand>span:last-child{display:block}.sidebar .brand strong{font-size:12px}.sidebar .brand small{display:none}.sidebar .brand-symbol{width:31px;height:33px;font-size:23px;padding:5px 5px 5px 4px;border-radius:8px}.sidebar nav{display:flex;gap:2px;width:auto;margin:0}.sidebar .nav-link{padding:10px;border-radius:7px}.sidebar .nav-link.active{box-shadow:none}.sidebar .nav-link .icon{width:17px;height:17px}.sidebar .nav-link:nth-child(2){display:none}.home-workspace{margin-left:0}.portal-topbar{height:52px;padding:0 18px}.topbar-actions{gap:13px}.portal-topbar .text-button{font-size:10px}.portal-topbar .text-button .icon{width:14px;height:14px}.breadcrumb{font-size:10px;gap:8px}.avatar{width:25px;height:25px;font-size:10px}.home-content{padding:24px 18px 0}.page-heading .eyebrow{font-size:9px}.page-heading h1{font-size:23px}.page-heading p{font-size:11px}.course-hero{border-radius:14px}.hero-copy{padding:24px 23px}.hero-copy h2{font-size:27px;margin-top:17px}.hero-copy>p{font-size:11px}.hero-kicker{gap:8px}.hero-kicker>span:last-child{font-size:8px}.hero-kicker .tag{font-size:9px}.hero-actions{gap:8px;margin-top:20px}.hero-actions .button{padding:10px 12px;font-size:10px}.hero-actions .icon{width:15px;height:15px}.hero-next{font-size:8px;gap:7px}.learning-overview{padding:17px 13px;gap:7px;border-radius:11px;margin-top:14px}.overview-item{gap:7px}.overview-icon{width:29px;height:29px;border-radius:8px}.overview-icon .icon{width:14px;height:14px}.overview-item>div>span{font-size:8px}.overview-item strong{font-size:20px}.overview-item strong small{font-size:9px}.overview-progress>div{font-size:9px}.directory-section{margin-top:29px}.section-top h2{font-size:16px}.section-top p{font-size:10px}.filter-button{padding:6px 12px;font-size:10px}.chapter-grid{gap:10px}.chapter-card{padding:14px 13px 11px;min-height:213px;border-radius:10px}.chapter-card h3{font-size:12px;line-height:1.7;margin-bottom:7px}.chapter-card-top{margin-bottom:14px}.chapter-number{width:32px;height:30px;font-size:18px}.chapter-state{font-size:8px}.chapter-card>p{font-size:9px;line-height:1.9}.chapter-card-foot{font-size:8px}.chapter-card-foot .icon{width:11px}.home-bottom-grid{margin-top:22px;gap:15px}.practice-visual{display:none}.practice-callout{padding:22px}.practice-callout p{font-size:10px}.recent-notes{padding:20px}.notes-empty{padding-top:25px}.page-footer{line-height:1.9}.watch-topbar{padding:0 17px;height:62px;gap:10px}.watch-topbar .brand{gap:7px}.watch-topbar .brand-symbol{width:33px;height:35px;font-size:24px;padding:5px}.watch-topbar .brand strong{font-size:12px}.watch-topbar .brand small{font-size:7px;letter-spacing:1px}.back-home{font-size:9px;gap:5px}.back-home .icon{width:14px}.watch-content{padding:19px 14px 30px}.watch-heading{display:block;margin-bottom:18px}.watch-heading h1{font-size:21px;margin-top:9px}.source-button{margin-top:14px;padding:7px 11px;font-size:10px}.video-shell{border-radius:10px}.video-empty-copy{padding:10px 20px}.video-empty h2{font-size:16px;margin:6px 0}.video-empty p{font-size:9px;line-height:1.8;max-width:280px}.video-label{font-size:7px}.play-outline{width:31px;height:31px;margin-bottom:5px}.play-outline .icon{width:14px;height:14px}.video-source-button{font-size:9px;padding:5px 10px;margin-top:10px}.video-source-button .icon{width:12px;height:12px}.player-toolbar{padding:6px 10px;min-height:38px}.player-toolbar>#source-status{font-size:8px}.player-tools{gap:7px}.player-tool{padding:4px}.player-tool .icon{width:14px;height:14px}.speed-label select{font-size:9px;width:52px}.lesson-status-row{margin:14px 0 19px}.lesson-status{font-size:9px;gap:6px}.small-button{padding:7px 9px;font-size:9px;gap:5px}.lesson-tabs{padding:0 18px;gap:23px}.lesson-tab{font-size:11px;padding:15px 0 13px}.tab-panel{padding:21px 18px}.lesson-summary{font-size:11px;margin-bottom:20px}.objective-list{gap:12px}.objective-list li{gap:9px}.objective-list p{font-size:11px}.knowledge-box{padding:15px;margin-top:21px}.guide-note{font-size:9px}.notes-panel-heading{gap:8px}.notes-panel-heading h2{font-size:13px}.notes-panel-heading p{font-size:9px}.notes-panel-heading .text-button{font-size:9px;gap:3px}.notes-panel-heading .icon{width:12px}.note-form textarea{font-size:11px;padding:12px}.note-form-footer{padding:8px 10px}.note-form-footer>span{font-size:9px}.note-form .button{font-size:9px;padding:6px 9px;gap:4px}.saved-note>p{font-size:11px}.lesson-practice-card{gap:13px}.practice-icon{width:40px;height:45px;border-radius:9px}.practice-icon .icon{width:22px;height:22px}.lesson-practice-card .eyebrow{font-size:7px;letter-spacing:1px}.lesson-practice-card p{font-size:11px}.lesson-pagination{gap:18px}.lesson-pagination a{gap:6px}.lesson-pagination strong{font-size:9px}.lesson-pagination .icon{width:13px}.catalog-lesson strong{font-size:11px}.theater .catalog-list{grid-template-columns:1fr}.modal{padding:23px}.modal-heading h2{font-size:18px}.toast{font-size:11px;bottom:18px;white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* ===== 多视图路由：视图切换（非页内锚点滚动） ===== */
.view{display:none}
.view.active{display:block;animation:viewIn .18s ease}
@keyframes viewIn{from{opacity:.45;transform:translateY(4px)}to{opacity:1;transform:none}}

/* 学习笔记界面 */
.all-notes-list{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.note-row{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff;box-shadow:0 4px 14px #1933430a}
.note-meta{font-size:12px;color:var(--green);font-weight:600;text-decoration:none;display:inline-block;margin-bottom:8px}
.note-meta:hover{text-decoration:underline}
.note-text{margin:0;color:var(--ink);font-size:13px;line-height:1.8;white-space:pre-wrap;word-break:break-word}
.note-actions{display:flex;gap:14px;margin-top:12px;padding-top:12px;border-top:1px dashed var(--line)}
.note-actions .text-button{padding:0;font-size:12px}
.note-actions .danger{color:#b45e4d}
.section-count strong{font-size:18px;color:var(--green)}

