body{background:#f6f8f4}.site{--paper:#f6f8f4;--surface:#fdfefb;--ink:#192821;--muted:#52665b;--line:#dbe3db;--accent:#235b47;--accent-soft:#e5efe7;--sans:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif;--serif:"Songti SC","Noto Serif CJK SC","SimSun",serif;--header-height:64px;min-height:100vh;background:var(--paper)}.site :is(button,a,summary,textarea,input):focus-visible{outline:2px solid #448267;outline-offset:3px}.site .site-header{height:var(--header-height);gap:24px;padding-inline:clamp(16px,4vw,52px);background:var(--surface)}.site .brand-symbol{width:31px;height:31px;border-radius:7px;background:var(--accent);transform:none}.site .brand b{display:inline;font:700 19px/1 var(--sans);letter-spacing:.02em}.site .desktop-nav{margin:0 0 0 auto;gap:clamp(14px,3vw,36px)}.site .desktop-nav button{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--muted)}.site .desktop-nav button.selected{color:var(--accent)}.site .desktop-nav button.selected:after{height:2px}.site .desktop-nav em{margin-left:0}.site .primary{color:#f8fcf8}.site .primary:hover:not(:disabled){color:#f8fcf8;background:#174634;border-color:#174634}.site .secondary{color:var(--accent);background:var(--surface);border-color:var(--line)}.site .secondary:hover:not(:disabled){background:var(--accent-soft);border-color:#bfd1c4}.workspace-home{max-width:1240px;padding:clamp(28px,6vw,72px) clamp(20px,5vw,64px) 20px;margin-inline:auto}.workspace-grid{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:start}.workspace-overview{position:sticky;top:calc(var(--header-height) + 40px)}.workspace-overview h1{font-size:clamp(28px,3.9vw,44px);line-height:1.2;margin:0;font-weight:700;letter-spacing:-.065em}.workspace-progress{margin-block:26px 30px;color:var(--muted)}.workspace-progress div{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.workspace-count,.workspace-progress b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.workspace-progress progress{width:100%;height:5px;margin-top:10px;border:0;border-radius:5px;appearance:none;background:#dce7de;color:var(--accent)}.workspace-progress progress::-webkit-progress-bar{background:#dce7de;border-radius:5px}.workspace-progress progress::-webkit-progress-value{background:var(--accent);border-radius:5px}.workspace-progress progress::-moz-progress-bar{background:var(--accent);border-radius:5px}.workspace-resume{display:grid;justify-items:start;background:var(--accent-soft);padding:20px;border-radius:10px}.workspace-resume>span{color:var(--muted);font-size:12px}.workspace-resume h2{margin:4px 0 16px;font-size:clamp(15px,2vw,19px);font-weight:650;line-height:1.45}.workspace-resume .primary{margin:0}.workspace-shortcuts{display:flex;gap:20px;margin-top:12px}.workspace-shortcuts button{display:inline-flex;align-items:center;gap:7px;min-height:40px;color:var(--muted);font-size:13px}.workspace-shortcuts span{min-width:21px;border-radius:5px;text-align:center;background:var(--accent-soft);color:var(--accent)}.workspace-outline-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.workspace-outline-head h2{margin:0;font-size:clamp(20px,3vw,25px);white-space:nowrap}.workspace-search{display:flex;align-items:center;gap:8px;width:min(48%,220px);min-height:40px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--muted)}.workspace-search:focus-within{border-color:#448267}.workspace-search input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--ink);font-size:13px}.workspace-search input:focus-visible{outline:none}.workspace-search input::-webkit-search-cancel-button{display:none}.workspace-search .icon-button{padding:0;border:0;height:24px;width:24px;min-width:24px}.workspace-tracks{display:flex;gap:16px;margin-top:18px}.workspace-tracks button{padding:7px 0 10px;border-bottom:2px solid transparent;color:var(--muted);font-size:13px}.workspace-tracks button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);font-weight:700}.workspace-modules,.workspace-results{border-top:1px solid var(--line)}.workspace-module{border-bottom:1px solid var(--line)}.workspace-module h3{margin:0}.workspace-lessons button,.workspace-module h3 button,.workspace-results button{display:grid;align-items:center;width:100%;gap:12px;text-align:left;color:var(--ink)}.workspace-module h3 button{grid-template-columns:32px minmax(0,1fr) auto 16px;min-height:58px;padding:8px;border-radius:6px;font-size:15px;font-weight:650}.workspace-lessons button:hover,.workspace-module h3 button:hover,.workspace-results button:hover{background:var(--accent-soft)}.workspace-module h3 button[aria-expanded=true]>svg{transform:rotate(180deg)}.workspace-count,.workspace-index{font-size:12px;color:var(--muted)}.workspace-index{display:grid;place-items:center;width:30px;height:28px;border-radius:5px;background:#ebf0e9;letter-spacing:.02em}.workspace-lessons{margin:0 12px 10px 21px;border-left:1px solid var(--line)}.workspace-lessons button{grid-template-columns:16px minmax(0,1fr) 15px;min-height:43px;padding:8px 10px 8px 16px;font-size:13px}.workspace-lessons button>svg:last-child,.workspace-results button>svg{color:var(--muted)}.workspace-status{display:grid;place-items:center;width:12px;height:12px;margin-left:2px;border:1px solid #a9beb1;border-radius:50%}.lesson-passed .workspace-status{border-color:var(--accent);background:var(--accent);color:#f8fcf8}.workspace-lessons small{margin-left:6px;color:var(--muted);font-size:11px}.workspace-lessons .workspace-project{color:var(--accent);font-weight:650}.workspace-results{margin-top:18px}.workspace-results button{grid-template-columns:minmax(0,1fr) 16px;padding:12px 8px;border-bottom:1px solid var(--line)}.workspace-results b,.workspace-results span{display:block}.workspace-results p,.workspace-results span{color:var(--muted)}.workspace-results span{font-size:11px}.workspace-footer{margin-top:45px;text-align:center;color:var(--muted);font-size:12px}.workspace-footer a{color:inherit}.site .class-header-title{gap:9px;margin-left:0;font-size:13px}.site .class-header-title b,.site .class-header-title span{color:var(--muted)}.site .class-header-actions{gap:8px}.site .class-header-actions .icon-button{display:inline-flex;align-items:center;justify-content:center;border-color:transparent;width:40px;height:40px}.site .class-header-actions .icon-button:hover,.site .class-header-actions .icon-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.site .course-sidebar{top:var(--header-height);width:222px;background:#edf2ed;padding:22px 12px}.site .course-sidebar-top{align-items:center;justify-content:flex-start;gap:8px;padding:0 8px 14px;border-color:var(--line);font-size:13px;color:var(--accent)}.site .course-sidebar-top b{color:inherit;font-weight:650}.site .sidebar-stage button.active-stage{color:var(--accent)}.site .sidebar-stage button.active-lesson{color:var(--accent);background:var(--accent-soft)}.site .classroom{min-height:calc(100dvh - var(--header-height))}.site .classroom-main{max-width:1300px;margin-left:222px;padding:clamp(24px,4vw,54px) clamp(18px,4vw,56px) 56px}.site.focus-mode .classroom-main{max-width:1050px;margin-inline:auto}.site .lesson-heading h1{margin:0;font:700 clamp(23px,3.4vw,38px)/1.36 var(--sans);letter-spacing:-.04em}.site .lesson-heading p{max-width:64ch;margin-top:9px;color:var(--muted);font-size:14px}.site .lesson-kicker:empty{display:none}.site .lesson-kicker b{display:inline-flex;align-items:center;gap:5px;margin:0 0 10px;color:var(--accent)}.site .lesson-stepper{justify-content:flex-start;gap:clamp(12px,3vw,34px);margin:22px 0 28px}.site .lesson-stepper>button{min-height:43px;padding:0 4px 8px;gap:6px;color:var(--muted)}.site .lesson-stepper>button>b{font-size:13px;font-weight:600}.site .lesson-stepper>button>span{width:20px;height:20px;border-color:var(--line);font-size:11px}.site .lesson-stepper>button.current{color:var(--accent)}.site .lesson-stepper>button.current>span{border-color:var(--accent);color:#f8fcf8}.site .lesson-workbench{grid-template-columns:minmax(0,1fr) minmax(180px,255px);gap:clamp(18px,3vw,42px)}.site .lesson-workbench.step-3{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.site .lesson-content{min-width:0}.site .experiment-aside{top:calc(var(--header-height) + 18px)}.site .experiment-door,.site .step-2 .experiment-door{display:flex;padding:14px;border-color:var(--line);border-radius:7px;background:var(--accent-soft)}.site .experiment-door h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;font:650 14px/1.4 var(--sans);color:var(--accent)}.site .experiment-door h3 svg{flex-shrink:0}.site .experiment-door p{margin-bottom:10px;color:var(--muted)}.site .lesson-support{margin-top:15px;border-block:1px solid var(--line);padding:10px 0}.site .lesson-support>summary,.site .review-info>summary{cursor:pointer;font-size:13px;color:var(--muted)}.site.focus-mode .lesson-workbench:not(.step-3){grid-template-columns:minmax(0,1fr)}.site.focus-mode .lesson-workbench:not(.step-3) .experiment-aside{display:none}.site .collection-heading h1{font:700 clamp(28px,4vw,42px)/1.3 var(--sans);letter-spacing:-.045em}@media (max-width:1000px){.site .classroom-main{margin-left:0}.site .mobile-nav{display:block;position:fixed;inset:var(--header-height) 0 auto;z-index:35;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.site .mobile-nav>nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.site .mobile-nav>nav>button{display:grid;justify-items:center;gap:5px;min-height:44px;padding:6px 2px;color:var(--muted);font-size:12px}}@media (max-width:860px){.site .lesson-workbench,.site .lesson-workbench.step-3{grid-template-columns:minmax(0,1fr)}.site .lesson-workbench .experiment-aside{margin:0}.site .mobile-experiment{display:block}}@media (max-width:640px){.workspace-grid{grid-template-columns:minmax(0,1fr);gap:22px}.workspace-overview{position:static}.workspace-progress{margin-block:13px 12px}.workspace-resume{padding:13px 15px}.workspace-resume h2{margin-bottom:9px}.workspace-shortcuts{margin-top:5px}.site .desktop-nav{display:none}.site .mobile-menu.icon-button{display:inline-flex;margin-left:auto}.site.in-classroom .mobile-menu.icon-button{margin-left:0}.site .site-header{gap:10px}.site .lesson-stepper{gap:8px;margin-inline:0;padding-inline:0}.site .lesson-stepper>button{flex:1 0 auto}.site .lesson-stepper>button>b{font-size:12px}}@media print{.site .classroom-main{margin:0;padding:0}}