:root{--nav:#16343f;--canvas:#edf2f3;--paper:#fff;--ink:#17242d;--muted:#5f6d75;--line:#d3dde1;--accent:#08756f;--warm:#fff7e7;--danger:#8c3e3e;--focus:#b76600}
:is(.a01-unit-nav,.a03-unit-nav,.a04-unit-nav){display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;border-bottom:1px solid var(--line);padding-bottom:16px}:is(.a01-unit-nav,.a03-unit-nav,.a04-unit-nav) button{flex:1 1 160px;text-align:left}:is(.a01-unit-nav,.a03-unit-nav,.a04-unit-nav) [aria-current="step"]{background:#e1efef;color:#055e59;border-color:var(--accent);font-weight:600}:is(.a01-workbench,.a03-workbench,.a04-workbench) #checkpointPane{margin:28px 0;padding-top:16px;border-top:1px solid var(--line)}:is(.a01-workbench,.a03-workbench,.a04-workbench) #notebookSection{margin:28px 0}:is(.a01-workbench,.a03-workbench,.a04-workbench) #materialBody p{white-space:pre-wrap}:is(.a01-workbench,.a03-workbench,.a04-workbench) #unitTitle{scroll-margin-top:16px}:is(.a01-workbench,.a03-workbench,.a04-workbench) .record-preview{max-height:260px}:is(.a01-workbench,.a03-workbench,.a04-workbench) .record-hint{padding:12px 0;border-block:1px solid var(--line)}:is(.a01-workbench,.a03-workbench,.a04-workbench) #saveBar{position:sticky;bottom:0;background:var(--paper);z-index:2;padding:12px 0}:is(.a01-workbench,.a03-workbench,.a04-workbench) a{color:#12617b;text-underline-offset:3px}:is(.a01-workbench,.a03-workbench,.a04-workbench) .notebook-expanded #beforeFields,:is(.a01-workbench,.a03-workbench,.a04-workbench) .notebook-expanded #afterFields,:is(.a01-workbench,.a03-workbench,.a04-workbench) .notebook-expanded #referenceDetails,:is(.a01-workbench,.a03-workbench,.a04-workbench) .notebook-expanded #unitNav{display:none}@media(max-width:720px){:is(.a01-workbench,.a03-workbench,.a04-workbench) #saveBar{position:static}:is(.a01-unit-nav,.a03-unit-nav,.a04-unit-nav) button{flex-basis:calc(50% - 8px)}}
*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.78 "PingFang SC","Microsoft YaHei",system-ui,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{min-height:44px;padding:8px 14px;background:#fff;border:1px solid #9aabb3;border-radius:8px;cursor:pointer}button:hover:not(:disabled){background:#e6f0f0}button:active:not(:disabled){background:#d4e5e5}button:disabled{opacity:.55;cursor:not-allowed}.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.primary:hover:not(:disabled){background:#065d59}.primary:active:not(:disabled){background:#034e4a}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}::selection{background:#bde5e2;color:#102d31}input,textarea{caret-color:var(--accent)}[hidden]{display:none!important}.topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 24px;background:var(--nav);color:#fff}.topbar strong{display:block;font-family:"Songti SC",STSong,serif;font-size:24px}.topbar span{display:block;color:#d5e3e8}.topbar button{background:transparent;color:#fff;border-color:#90aab5}.topbar button:hover:not(:disabled){background:#294d5b}.demo-banner{margin:0;padding:12px 24px;background:var(--warm);border-bottom:1px solid #e4cd99;color:#654619}.shell{display:grid;grid-template-columns:220px minmax(0,1fr) 270px;min-height:80vh}.steps{padding:24px 18px;background:#f7f9fa;border-right:1px solid var(--line)}.steps nav{display:grid;gap:8px;margin:24px 0}.steps nav button{text-align:left;background:transparent;border-color:transparent}.steps nav button[aria-current="step"]{background:#e1efef;color:#055e59;border-color:#9fc4c1}.workspace{padding:32px;min-width:0;background:var(--paper)}.workspace>section{max-width:980px;margin:auto}.evidence-rail{padding:24px 18px;background:#f4f6f7;border-left:1px solid var(--line)}.evidence-rail p{overflow-wrap:anywhere}h1{font:700 32px/1.25 "Songti SC",STSong,serif;margin:0 0 20px}h2{font-size:21px;line-height:1.4;margin:32px 0 12px}p{max-width:72ch}label{display:block;font-weight:600;margin:16px 0 7px}input:not([type=checkbox]),select,textarea{width:100%;padding:10px 12px;border:1px solid #a4b4bd;border-radius:8px;background:#fff}textarea{min-height:108px;resize:vertical}input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);flex:none;margin-top:4px}.check{display:flex;gap:10px;align-items:flex-start}.field{padding:4px 0 20px;border-bottom:1px solid var(--line)}.field label span{font-weight:400;color:var(--danger)}.field [aria-invalid=true]{border-color:var(--danger)}.help{color:var(--muted)}.actions,.actionbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0}.actionbar{padding-top:20px;border-top:1px solid var(--line)}#saveStatus{color:var(--muted)}#notice:not(:empty){padding:12px 24px;background:#e6f3eb;color:#205139}#error{padding:16px 24px;background:#fbeeee;color:#792d2d;border-bottom:1px solid #d8adad;overflow-wrap:anywhere}.login-pane{max-width:640px;margin:48px auto;padding:24px}.login-pane button{margin-top:20px}.material{padding:18px 0;border-bottom:1px solid var(--line)}.material p{white-space:pre-wrap}pre,code{font-family:SFMono-Regular,Consolas,"Liberation Mono",monospace;background:#f1f5f6;color:#17242d}pre{padding:16px;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--line);max-height:560px;overflow:auto}iframe{display:block;width:100%;height:660px;border:1px solid var(--line);background:#fff}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}th{background:#f1f5f6}.table-wrap{overflow-x:auto}details{margin:28px 0;border-top:1px solid var(--line);padding-top:16px}summary{cursor:pointer}dl{margin:16px 0}dt{color:var(--muted)}dd{margin:0 0 14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}#retry{margin-top:12px}#conflictPane{margin-top:28px;border-top:1px solid var(--danger);padding-top:24px}
#stateSummary,#chainSummary{white-space:pre-line;overflow-wrap:anywhere}
.response-form{min-width:0;margin:18px 0 0;padding:0;border:0}.response-form legend{font-size:18px;font-weight:700;max-width:100%;line-height:1.6}.response-form>.help{margin:8px 0 0}.response-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.response-part{min-width:0}.response-wide{grid-column:1/-1}.response-part label{font-size:16px;font-weight:500}.response-part textarea{min-height:84px;line-height:1.65}.response-part select{min-width:0;max-width:100%}.response-references{margin:16px 0 4px}.response-references>p{font-size:16px;color:var(--muted)}.response-references details{margin:16px 0}.response-references pre{font-size:16px}.response-form>details pre{max-height:260px}.response-form>button{margin-top:12px}#perspectives{border-block:1px solid var(--line);padding:16px 0;margin:24px 0}#perspectives h3{margin:0}#savedAudits details{margin:16px 0}.field>h3{margin:32px 0 16px;color:var(--accent)}
@media(max-width:720px){.response-parts{grid-template-columns:minmax(0,1fr);gap:0}.response-part textarea{min-height:84px}.response-form legend{font-size:17px}.response-references button{width:100%}}
.notebook-parked{position:fixed;left:-10000px;top:0;width:980px;max-width:100vw;pointer-events:none}
.unit-mode a{color:#12617b;text-underline-offset:3px}.unit-mode #responseSection{scroll-margin-top:20px}
.task-unit{margin:24px 0;min-width:0}.task-unit h2{scroll-margin-top:20px}.task-unit nav{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px}.task-unit nav button{flex:1 1 160px;text-align:left}.task-unit nav button[aria-current="step"]{border-color:var(--accent);color:#055e59;background:#e1efef;font-weight:600}.unit-navigation-help{margin:12px 0 24px}.unit-reading{max-width:72ch}.unit-reading h3{font-size:18px;margin:24px 0 10px}.unit-reading summary{font-weight:600;min-height:44px;padding:6px 0}.unit-reading .table-wrap{overflow-x:auto;max-width:100%}.unit-reading table{min-width:480px}.unit-reading code{overflow-wrap:anywhere}.unit-reading .example,.unit-reading .method,.unit-reading .note{padding:12px 16px;background:#f4f8f8;border:1px solid var(--line);margin:16px 0}.unit-reading .platform-task{margin:16px 0}.unit-mode #saveBar{position:sticky;bottom:0;background:var(--paper);padding:12px 0;margin:20px 0 0;z-index:2;gap:8px 16px}.unit-mode #saveStatus{flex:1 1 200px}.unit-mode textarea{scroll-margin-bottom:150px}.unit-mode #learningSection{margin:16px 0;padding:12px 0}.unit-mode .learning-toolbar h2{font-size:18px}.unit-mode #writeReason{margin-top:8px}.unit-mode #unitPaging{justify-content:space-between;margin-top:16px}.unit-mode #notebookSection{margin:24px 0}.unit-mode #unitTestInstructions{margin-top:32px}.unit-mode #unitChecklist ul{padding:0;list-style:none}.unit-mode #unitChecklist li{padding:16px 0;border-bottom:1px solid var(--line)}.unit-mode #unitChecklist li span{display:block;margin-top:8px}.unit-mode #unitChecklist li p{margin:8px 0}.unit-mode #fields .field:last-child{border-bottom:0}.unit-mode #unitChecklist p{overflow-wrap:anywhere}.notebook-expanded .unit-mode #unitSection{display:none}
@media(max-width:720px){.unit-mode #saveBar{position:static}.task-unit nav button{flex-basis:calc(50% - 8px);padding:8px}.unit-mode #unitPaging button{width:100%}.unit-mode #saveStatus{flex-basis:100%}}
.stage-gate{margin:0 0 24px;padding:14px 16px;border:1px solid var(--line);background:#f4f8f8}.stage-gate p{margin:0;max-width:72ch}.stage-gate button{margin:12px 0}.stage-gate #entryScope{margin-top:8px}.learning{margin:24px 0 32px;border-block:1px solid var(--line);padding:16px 0}.learning-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.learning-toolbar h2{margin:0}.learning details{margin:16px 0;padding-top:12px}.learning summary{font-weight:600;padding:6px 0;min-height:44px}.learning h2{font-size:20px}.learning h3{font-size:18px;margin:24px 0 10px}.learning p,.learning li{overflow-wrap:anywhere}.learning .table-wrap{overflow-x:auto;max-width:100%}.learning table{min-width:520px;font-size:16px}.learning th,.learning td{padding:10px}.learning ul,.learning ol{padding-left:24px}.learning li{margin:8px 0}.learning .safety,.learning .note,.learning .method,.learning .example,.learning .responsibility{background:#f4f8f8;border:1px solid var(--line);padding:12px 16px;margin:16px 0}.learning pre code{background:transparent;color:inherit;white-space:inherit}.learning code{overflow-wrap:anywhere}.learning #learningSource{margin:12px 0}.learning #environmentHelp{color:var(--muted)}.steps nav button:disabled{opacity:1;color:var(--muted)}.notebook-expanded .learning,.notebook-expanded .stage-gate{display:none}
.demo-banner{width:100%;max-width:none}.topbar>*{min-width:0;overflow-wrap:anywhere}.steps,.evidence-rail,.experiment-picker,#studentView,#notebookSection,#notebookHost{min-width:0}.steps label{margin-top:0}.steps select{min-width:0}.evidence-rail h2:first-child{margin-top:0}.evidence-rail .actions{align-items:stretch}.evidence-rail .actions button{width:100%}button{overflow-wrap:anywhere}#notice{overflow-wrap:anywhere}#taskTitle{margin-bottom:12px}#taskBrief{margin:0 0 24px}.notebook-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.notebook-heading h2{margin:0}.notebook-help{max-width:none;margin:8px 0;color:var(--muted)}.notebook-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:12px 0}.notebook-toolbar .actions{margin:0;gap:8px}#notebookStatus{flex:1 1 260px;min-width:0;max-width:none;margin:0;line-height:1.55;overflow-wrap:anywhere}#notebookStatus[data-state="error"]{color:var(--danger)}#retryNotebook{border-color:var(--danger);color:var(--danger)}#notebookSection{scroll-margin-top:16px}#notebookHost{width:100%}.notebook-expanded{grid-template-columns:minmax(0,1fr)}.notebook-expanded .steps,.notebook-expanded .evidence-rail{display:none}.notebook-expanded .workspace>section{max-width:none}.notebook-expanded #taskTitle,.notebook-expanded #taskBrief{display:none}.notebook-expanded iframe{height:calc(100vh - 180px);min-height:520px}
@media(max-width:1400px){.shell{grid-template-columns:176px minmax(0,1fr)}.evidence-rail{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:24px;border-left:0;border-top:1px solid var(--line)}.workspace{padding:24px}.steps{padding:24px 14px}.notebook-expanded{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1100px){.shell{display:block}.steps{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;padding:16px 24px;border-right:0;border-bottom:1px solid var(--line)}.experiment-picker{display:flex;align-items:center;gap:12px}.experiment-picker label{margin:0;white-space:nowrap}.experiment-picker select{width:auto;min-width:0;flex:1}.steps nav{grid-column:1/-1;grid-row:2;display:flex;gap:6px;margin:0;overflow-x:auto;padding:3px}.steps nav button{flex:1 0 auto;white-space:nowrap;padding:8px 12px}.steps .help{grid-column:1/-1;margin:0;max-width:none}.notebook-expanded .steps{display:none}}
@media(max-width:720px){.shell{display:block}.steps{display:flex;flex-wrap:wrap;padding:16px;gap:12px}.experiment-picker{flex:1 1 100%}.steps nav{order:1;width:100%}.steps nav button{flex:0 0 auto}.steps #refresh{width:100%}.steps .help{order:2}.workspace{padding:24px 16px}.topbar{padding:16px}.demo-banner{padding:12px 16px}#notice:not(:empty),#error{padding:12px 16px}h1{font-size:28px}iframe{height:600px}.actions button,.actionbar button{width:100%}.notebook-heading{align-items:stretch}.notebook-heading button{width:100%}.notebook-toolbar .actions{width:100%}.notebook-toolbar .actions button{width:auto;flex:1 1 130px}.evidence-rail{display:block;padding:24px 16px}.evidence-rail>div+div{margin-top:28px}.login-pane{margin:24px 16px;padding:0}.notebook-expanded iframe{min-height:600px}}
