#patternSlide .activity-steps{top:336px;gap:38px}#patternSlide .activity-steps>div{height:148px;min-height:148px;padding:10px 28px;grid-template-columns:55px 170px 1fr}#patternSlide .activity-steps h2{font-size:35px}#patternSlide .activity-steps p{font-size:29px;line-height:1.42}
#patternTraceDialog{position:fixed;inset:3vh 3vw;width:94vw;height:94vh;max-width:none;max-height:none;margin:0;padding:0;border:1px solid #cfded3;border-radius:16px;overflow:hidden;background:#f6f8f4;color:#285240;box-shadow:0 20px 80px #14291c66;font-family:"Microsoft YaHei",sans-serif;z-index:100000}
#patternTraceDialog::backdrop{background:#17241bcc}#patternTraceDialog *{box-sizing:border-box}#patternTraceDialog button{cursor:pointer}#patternTraceDialog .trace-top{height:78px;display:flex;align-items:center;gap:20px;padding:0 2%;background:#fffefa;border-bottom:1px solid #dce7dd}#patternTraceDialog .trace-top h2{font:700 clamp(25px,2.3vw,37px) SimSun,serif;margin:0;white-space:nowrap}#patternTraceDialog .trace-top p{margin:0;color:#719182;font-size:17px}#patternTraceDialog #traceAiStatus{color:#557d68;font-size:15px;white-space:nowrap}#patternTraceDialog .trace-close{margin-left:auto;border:0;background:none;color:#5d8b71;font-size:19px;white-space:nowrap}
#patternTraceDialog .trace-layout{height:calc(100% - 78px);display:grid;grid-template-columns:minmax(310px,26%) 1fr}#patternTraceDialog .trace-left{border-right:1px solid #dce7dd;background:#f7f9f5;padding:18px 20px;min-height:0;display:flex;flex-direction:column}#patternTraceDialog h3{font:700 clamp(22px,1.7vw,29px) SimSun,serif;margin:0 0 14px}#patternTraceDialog .submitted{display:flex;align-items:baseline;gap:12px;border-bottom:1px solid #d9e3d8;padding:0 0 10px}#patternTraceDialog .submitted strong{font:700 clamp(36px,3vw,52px) Georgia,serif;color:#257d64}#patternTraceDialog .submitted span{font-size:17px;color:#638374}#patternTraceDialog .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 6px}#patternTraceDialog .metrics div{min-width:0}#patternTraceDialog .metrics strong{display:block;font:700 clamp(25px,2vw,36px) Georgia,serif;color:#257d64}#patternTraceDialog .metrics div:nth-child(2) strong{color:#b46f4f}#patternTraceDialog .metrics div:nth-child(3) strong{color:#337b80}#patternTraceDialog .metrics span{font-size:14px;white-space:nowrap}#patternTraceDialog .trace-bar{display:flex;height:10px;border-radius:10px;overflow:hidden;background:#e8ede7;margin:6px 0 12px}#patternTraceDialog .trace-bar i:nth-child(1){background:#91baa1}#patternTraceDialog .trace-bar i:nth-child(2){background:#83aab2}#patternTraceDialog .trace-bar i:nth-child(3){background:#d0a894}#patternTraceDialog .first-types{font-size:14px;color:#7b927c;border-bottom:1px solid #d8e1d8;padding-bottom:14px}#patternTraceDialog .roster-title{display:flex;align-items:center;justify-content:space-between;margin:16px 0 9px}#patternTraceDialog .roster-title h3{margin:0}#patternTraceDialog .roster-title span{font-size:13px;color:#8c9f91}#patternTraceDialog .trace-search{width:100%;height:43px;border:1px solid #cedfcf;border-radius:7px;padding:0 12px;background:white;font-size:16px}#patternTraceDialog .trace-roster{overflow:auto;flex:1;margin-top:8px}#patternTraceDialog .trace-roster button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid #e1e9e0;background:transparent;padding:9px 10px;min-height:39px;color:#3e6b56}#patternTraceDialog .trace-roster button[aria-selected=true]{background:#e4f3e9;border-radius:7px;border:1px solid #9fcbb0}#patternTraceDialog .trace-roster b{min-width:46px;font:700 21px Georgia,serif}#patternTraceDialog .trace-roster small{margin-left:auto}
#patternTraceDialog .trace-right{min-width:0;min-height:0;display:flex;flex-direction:column;padding:17px 2% 12px;background:#fffefa}#patternTraceDialog .student-head{display:flex;align-items:center;gap:16px;border-bottom:1px solid #dbe4d9;padding-bottom:13px}#patternTraceDialog .student-head h3{margin:0;white-space:nowrap}#patternTraceDialog .student-head span{color:#829487}#patternTraceDialog .student-head small{margin-left:auto;color:#708f79}#patternTraceDialog .trace-operations{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:14px 0 10px}#patternTraceDialog .trace-operations article{min-height:95px;border-left:4px solid #95b7a3;background:#f5f8f3;padding:10px 15px}#patternTraceDialog .trace-operations article:nth-child(2){border-color:#80b6c5;background:#f4f9fa}#patternTraceDialog .trace-operations article:nth-child(3){border-color:#c9936a;background:#fbf7f2}#patternTraceDialog .trace-operations h4{margin:0 0 6px;font:700 21px SimSun,serif}#patternTraceDialog .trace-operations p{margin:3px 0;font-size:15px;line-height:1.45}#patternTraceDialog .trace-operations strong{color:#247a87}#patternTraceDialog .trace-operations del{color:#c45848}#patternTraceDialog .dialogue-label{border-top:1px solid #dbe4d9;padding-top:10px;display:flex;align-items:center;gap:10px}#patternTraceDialog .dialogue-label h3{margin:0}#patternTraceDialog .dialogue-label span{color:#829487;font-size:15px}#patternTraceDialog .trace-turns{flex:1;overflow-y:auto;min-height:0;padding:12px 5px;display:flex;flex-direction:column;gap:13px}#patternTraceDialog .trace-turn{max-width:78%;font:clamp(17px,1.3vw,21px)/1.5 SimSun,serif}#patternTraceDialog .trace-turn.student{align-self:flex-end;text-align:right}#patternTraceDialog .trace-turn small{display:block;color:#84998a;font:13px "Microsoft YaHei",sans-serif;margin-bottom:4px}#patternTraceDialog .trace-turn p{display:inline-block;margin:0;padding:12px 17px;border-radius:12px;background:#f4f0e5;color:#605333;text-align:left}#patternTraceDialog .trace-turn.student p{background:#dff0e8;color:#245447}#patternTraceDialog .trace-empty{margin:auto;color:#829387;font-size:20px}#patternTraceDialog .trace-foot{border-top:1px solid #e0e8de;padding:8px 0 0;color:#849587;font-size:14px;display:flex;justify-content:space-between}
@media(max-width:900px){#patternTraceDialog{inset:1vh 1vw;width:98vw;height:98vh}#patternTraceDialog .trace-top p{display:none}#patternTraceDialog .trace-layout{grid-template-columns:265px 1fr}#patternTraceDialog .trace-left{padding:12px}#patternTraceDialog .metrics{gap:2px}#patternTraceDialog .metrics span{font-size:11px}#patternTraceDialog .trace-operations{gap:5px}#patternTraceDialog .trace-operations article{padding:7px}}

#patternCompletionDialog{position:fixed;inset:0;margin:auto;width:min(1020px,92vw);height:min(680px,88vh);max-width:none;max-height:none;padding:0;border:1px solid #cddfd2;border-radius:16px;background:#f7faf6;color:#285240;box-shadow:0 20px 80px #14291c66;font-family:"Microsoft YaHei",sans-serif;z-index:100000;overflow:hidden}
#patternCompletionDialog::backdrop{background:#17241bcc}
#patternCompletionDialog *{box-sizing:border-box}
#patternCompletionDialog .completion-top{height:80px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fffefa;border-bottom:1px solid #dce7dd}
#patternCompletionDialog h2{margin:0;font:700 clamp(26px,2.3vw,38px) SimSun,serif}
#patternCompletionDialog .completion-close{border:0;background:transparent;color:#4d795c;font:20px "Microsoft YaHei",sans-serif;cursor:pointer}
#patternCompletionDialog .completion-total{margin:24px 34px 16px;font-size:24px}
#patternCompletionDialog .completion-total strong{font:700 42px Georgia,serif;color:#267b60;margin-left:10px}
#patternCompletionDialog .completion-roster{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px 13px;margin:0 34px;max-height:calc(100% - 180px);overflow:auto}
#patternCompletionDialog .completion-roster>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:75px;border:1px solid #d5e1d8;border-radius:8px;background:#fffefa}
#patternCompletionDialog .completion-roster>div strong{font:700 24px Georgia,serif}
#patternCompletionDialog .completion-roster>div span{font-size:14px;color:#7a9180}
#patternCompletionDialog .completion-roster>div.is-done{background:#e0f1e6;border-color:#8ac3a1}
#patternCompletionDialog .completion-roster>div.is-done span{color:#267b60}
#patternCompletionDialog .completion-roster>div.is-working{background:#f5ead6;border-color:#d8bc85}

#patternTraceDialog #tracePresentation{margin-left:auto;border:1px solid #9bbfa9;border-radius:8px;background:#eaf5ed;color:#28694d;padding:9px 15px;font:600 16px "Microsoft YaHei",sans-serif;white-space:nowrap}
#patternTraceDialog .trace-close{margin-left:0}
#patternTraceDialog .trace-operations{grid-template-columns:minmax(0,1.9fr) minmax(0,.75fr) minmax(0,.8fr)}
#patternTraceDialog .trace-operations article{min-width:0}
#patternTraceDialog .trace-operations .trace-draw-card{padding:8px 12px}
#patternTraceDialog .trace-branch-picture{margin:2px 0 0;width:100%;height:clamp(150px,21vh,245px);overflow:hidden;background:#fff;border:1px solid #dce6dc;border-radius:6px}
#patternTraceDialog .trace-branch-picture svg{display:block;width:100%;height:100%}
#patternTraceDialog .trace-guide{fill:none;stroke:#c8d0c6;stroke-width:1.6;stroke-dasharray:7 6}
#patternTraceDialog .trace-guide-label{fill:#64806e;font:27px Georgia,serif;text-anchor:end}
#patternTraceDialog .trace-ground{fill:none;stroke:#68a24b;stroke-width:8;stroke-linecap:round}
#patternTraceDialog .trace-reference-branch{fill:#906343;stroke:#65442c;stroke-width:1.6}
#patternTraceDialog .trace-stroke-young,#patternTraceDialog .trace-stroke-thick{fill:none;stroke-linecap:round;stroke-linejoin:round}
#patternTraceDialog .trace-stroke-young{stroke:#5a9a66;stroke-width:6}
#patternTraceDialog .trace-stroke-thick{stroke:#765136;stroke-width:14}
#patternTraceDialog.trace-presenting,#patternTraceDialog:fullscreen{inset:0;width:100vw;height:100vh;border:0;border-radius:0}
#patternTraceDialog.trace-presenting .trace-layout{grid-template-columns:1fr}
#patternTraceDialog.trace-presenting .trace-left{display:none}
#patternTraceDialog.trace-presenting .trace-top h2{font-size:38px}
#patternTraceDialog.trace-presenting .trace-right{padding:18px 3% 14px}
#patternTraceDialog.trace-presenting .trace-operations{grid-template-columns:minmax(0,2.2fr) minmax(0,.75fr) minmax(0,.85fr);gap:22px}
#patternTraceDialog.trace-presenting .trace-operations article{font-size:21px}
#patternTraceDialog.trace-presenting .trace-operations h4{font-size:29px}
#patternTraceDialog.trace-presenting .trace-operations p{font-size:24px}
#patternTraceDialog.trace-presenting .trace-branch-picture{height:min(43vh,430px)}
#patternTraceDialog.trace-presenting .trace-turn{font-size:clamp(22px,2vw,32px);max-width:74%}
@media(max-width:900px){#patternCompletionDialog .completion-roster{grid-template-columns:repeat(5,minmax(0,1fr))}#patternTraceDialog .trace-top{gap:8px}#patternTraceDialog #tracePresentation{font-size:13px;padding:7px}#patternTraceDialog .trace-operations{grid-template-columns:1.5fr .75fr .8fr}#patternTraceDialog .trace-branch-picture{height:170px}}

/* Page 5: a roster that opens each drawing, with a four-student comparison view. */
#patternCompletionDialog{width:min(1450px,96vw);height:min(850px,92vh);background:#f6f8f4}
#patternCompletionDialog button{cursor:pointer}
#patternCompletionDialog .completion-summary{height:78px;display:flex;align-items:center;gap:28px;padding:0 28px;border-bottom:1px solid #dce7dd;background:#fffefa}
#patternCompletionDialog .completion-total{margin:0;font-size:20px;white-space:nowrap}
#patternCompletionDialog .completion-total strong{font-size:39px}
#patternCompletionDialog .completion-summary>span{font-size:17px;color:#667d6b}
#patternCompletionDialog .completion-layout{height:calc(100% - 158px);display:grid;grid-template-columns:minmax(235px,32%) minmax(0,1fr)}
#patternCompletionDialog .completion-roster{margin:0;padding:22px;max-height:none;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:72px;align-content:start;gap:10px;border-right:1px solid #dce7dd;background:#f2f7f1}
#patternCompletionDialog .completion-roster>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;padding:4px;border:1px solid #d5e1d8;border-radius:9px;background:#fffefa;color:#315746}
#patternCompletionDialog .completion-roster>button strong{font:700 23px Georgia,serif}
#patternCompletionDialog .completion-roster>button span{font-size:13px;color:#708b79}
#patternCompletionDialog .completion-roster>button.is-done{background:#e0f1e6;border-color:#8ac3a1}
#patternCompletionDialog .completion-roster>button.is-working{background:#f5ead6;border-color:#d8bc85}
#patternCompletionDialog .completion-roster>button[aria-pressed=true]{outline:3px solid #2f8061;outline-offset:1px}
#patternCompletionDialog .completion-roster>button i{position:absolute;right:3px;top:3px;padding:2px 3px;border-radius:4px;background:#2f8061;color:#fff;font:10px "Microsoft YaHei",sans-serif;font-style:normal}
#patternCompletionDialog .completion-view{min-width:0;min-height:0;display:flex;flex-direction:column;background:#fffefa}
#patternCompletionDialog .completion-view-bar{min-height:73px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;padding:10px 22px;border-bottom:1px solid #e1e9df}
#patternCompletionDialog .completion-view-bar>strong{font:700 28px SimSun,serif;white-space:nowrap}
#patternCompletionDialog .completion-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
#patternCompletionDialog .completion-actions button{min-height:36px;padding:6px 12px;border:1px solid #aac6b2;border-radius:7px;background:#f0f7f1;color:#28674c;font:600 15px "Microsoft YaHei",sans-serif;white-space:nowrap}
#patternCompletionDialog .completion-actions button:disabled{opacity:.42;cursor:default}
#patternCompletionDialog .completion-actions #completionFullscreen{background:#2f765b;color:white;border-color:#2f765b}
#patternCompletionDialog .completion-display{flex:1;min-height:0;overflow:auto;padding:17px 22px}
#patternCompletionDialog .completion-drawing-card{height:100%;min-height:0;display:flex;flex-direction:column;margin:0}
#patternCompletionDialog .completion-drawing-card h3{flex:none;margin:0 0 11px;font:600 20px SimSun,serif;color:#47735a}
#patternCompletionDialog .completion-drawing-card .trace-branch-picture{flex:1;min-height:0;width:100%;margin:0;border:1px solid #d7e4d6;border-radius:8px;background:#fff;overflow:hidden}
#patternCompletionDialog .completion-drawing-card .trace-branch-picture svg{display:block;width:100%;height:100%}
#patternCompletionDialog .completion-drawing-note{flex:none;margin:11px 0 1px;font-size:15px;color:#647d6a}
#patternCompletionDialog .completion-empty{margin:auto;text-align:center;color:#879c8b;font-size:19px}
#patternCompletionDialog .trace-guide{fill:none;stroke:#c8d0c6;stroke-width:1.6;stroke-dasharray:7 6}
#patternCompletionDialog .trace-guide-label{fill:#64806e;font:27px Georgia,serif;text-anchor:end}
#patternCompletionDialog .trace-ground{fill:none;stroke:#68a24b;stroke-width:8;stroke-linecap:round}
#patternCompletionDialog .trace-reference-branch{fill:#906343;stroke:#65442c;stroke-width:1.6}
#patternCompletionDialog .trace-stroke-young,#patternCompletionDialog .trace-stroke-thick{fill:none;stroke-linecap:round;stroke-linejoin:round}
#patternCompletionDialog .trace-stroke-young{stroke:#5a9a66;stroke-width:6}
#patternCompletionDialog .trace-stroke-thick{stroke:#765136;stroke-width:14}
#patternCompletionDialog .completion-compare-grid{height:100%;min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(210px,1fr);gap:13px}
#patternCompletionDialog .completion-compare-grid .completion-drawing-card{padding:11px;border:1px solid #dce7dd;border-radius:9px;background:#f9fbf8}
#patternCompletionDialog .completion-compare-grid .completion-drawing-card h3{font-size:17px;margin-bottom:7px}
#patternCompletionDialog .completion-compare-grid .completion-drawing-note{font-size:13px;margin-top:6px}
#patternCompletionDialog.completion-presenting,#patternCompletionDialog:fullscreen{inset:0;width:100vw;height:100vh;border:0;border-radius:0}
#patternCompletionDialog.completion-presenting .completion-roster{display:none}
#patternCompletionDialog.completion-presenting .completion-layout{grid-template-columns:1fr}
#patternCompletionDialog.completion-presenting .completion-view-bar{padding:10px 3vw}
#patternCompletionDialog.completion-presenting .completion-display{padding:14px 3vw 22px}
#patternCompletionDialog.completion-presenting .completion-drawing-card h3{font-size:25px}
#patternCompletionDialog.completion-presenting .completion-drawing-note{font-size:19px}
@media(max-width:900px){#patternCompletionDialog .completion-summary{height:57px;padding:0 14px}#patternCompletionDialog .completion-summary>span{font-size:13px}#patternCompletionDialog .completion-total{font-size:15px}#patternCompletionDialog .completion-total strong{font-size:28px}#patternCompletionDialog .completion-layout{height:calc(100% - 137px)}#patternCompletionDialog .completion-roster{grid-template-columns:repeat(3,minmax(0,1fr));padding:10px;gap:6px;grid-auto-rows:60px}#patternCompletionDialog .completion-roster>button strong{font-size:17px}#patternCompletionDialog .completion-roster>button span{font-size:11px}#patternCompletionDialog .completion-view-bar{padding:8px}#patternCompletionDialog .completion-view-bar>strong{font-size:20px}#patternCompletionDialog .completion-actions{gap:4px}#patternCompletionDialog .completion-actions button{font-size:11px;padding:4px 5px;min-height:30px}#patternCompletionDialog .completion-display{padding:8px}}
