/* The working laboratory: warm drawing paper, bright objects, clear instruments. */
.lab-heading{position:relative;border-bottom:2px solid #294536;padding:0 0 25px;margin-bottom:22px}.lab-heading h1{font-family:var(--display);font-weight:400;font-size:39px;line-height:1.45;letter-spacing:.5px}.lab-heading .eyebrow{color:#956126;letter-spacing:2px}.lab-heading p{color:#4c665a;font-size:16px}.lab-heading .back-link{color:#426b58}.lab-heading .lab-toolbar{align-self:flex-end}.steps{border:0;background:transparent;padding:0;margin-bottom:26px;gap:13px}.step{padding:13px 15px;background:#f0eee5;border:1.5px solid #deded0;border-radius:12px;color:#69786b;font-size:14px;font-weight:600}.step.active{background:#ffedb0;border-color:#a88b43;color:#294536;box-shadow:0 3px 0 #e6d59e}.step i{background:#fffdf5;border:1.5px solid #9cac93;color:#49624d;flex-shrink:0}.step.active i{background:#294536;color:#fff7dc;border-color:#294536}.step-arrow{font-size:19px;color:#7b916f}
.scene-panel{border:2px solid #294536;border-radius:20px;box-shadow:5px 6px 0 #e3e7d8;overflow:hidden}.scene-top{padding:16px 20px;background:#fff2cb;border-bottom:1.5px solid #d9cda9;gap:12px}.live-badge{font-size:16px;color:#294536;font-weight:700}.live-badge i{background:#df9654;box-shadow:0 0 0 4px #f4dcb6;width:8px;height:8px;margin-right:8px}.scene-top small{color:#655d42;font-size:12px;font-variant-numeric:tabular-nums}.canvas-wrap{background:#fff9eb;aspect-ratio:1000/540}.scene-status{left:20px;top:18px;background:#fffdf7;color:#294536;border:1.5px solid #bdc6ac;border-radius:8px;padding:7px 13px;font-size:13px;font-weight:600;box-shadow:2px 3px 0 #29453612}.scene-hint{font-size:12px;right:18px;bottom:13px;color:#4b6757;background:#fff9ebdd;border-radius:6px;padding:3px 7px}.scene-controls{padding:17px 18px;background:#fffdf7;border-top:1.5px solid #e7dfca;gap:10px}.scene-controls .button{border-radius:10px;min-height:44px;font-size:14px;padding:10px 17px}.scene-controls .button.primary{background:#28694f}.scene-controls .button.secondary{border:1.5px solid #7f9580;box-shadow:0 2px 0 #d9dfcf}.speed-select{font-size:13px;color:#42634f}.speed-select select{font-size:13px;background:#f2f2e9;border:1px solid #bdc9b3;padding:9px;border-radius:8px}.overlay-options{background:#fffdf7;padding:0 20px 17px;font-size:13px;color:#45604e;gap:18px}.overlay-options label{gap:7px}.overlay-options input{accent-color:#28694f;width:17px;height:17px}.energy-bars{background:#fffdf7;padding:0 20px 18px;font-size:13px}.energy-bars progress{height:12px;accent-color:#c9913c}.energy-bars small{color:#556d57}
.metrics{gap:13px;margin:22px 0}.metric{border:1.5px solid #b9c8b0;border-radius:14px;padding:18px 20px;background:#eaf1df;box-shadow:0 3px 0 #dde5d4}.metric:nth-child(2){background:#fff0d8;border-color:#dfc29b;box-shadow:0 3px 0 #eee1ca}.metric:nth-child(3){background:#eee9fa;border-color:#cdc0e1;box-shadow:0 3px 0 #e4ddf0}.metric small{font-size:13px;color:#435e4d;line-height:1.6}.metric strong{font-size:35px;line-height:1.4;color:#244d3b;margin-top:6px;font-variant-numeric:tabular-nums}.metric:nth-child(2) strong{color:#9b5c29}.metric:nth-child(3) strong{color:#715594}.metric strong em{font-size:14px;color:inherit;margin-left:6px}
.lab-side{counter-reset:lab-panel}.lab-side>.panel{counter-increment:lab-panel;position:relative;padding:23px;border:1.5px solid #b7c6b0;border-radius:17px;box-shadow:3px 4px 0 #e5e9dc;background:#fffdf6;margin-bottom:20px}.lab-side>.panel>h3:first-child{font-family:var(--display);font-weight:400;font-size:23px;padding-top:34px;margin:0 0 24px}.lab-side>.panel>h3:first-child:before{content:'0' counter(lab-panel);position:absolute;top:18px;left:23px;font-family:'Zhiwu Sans',sans-serif;font-weight:700;font-size:12px;letter-spacing:1px;background:#e5edcf;border:1px solid #bacb9e;border-radius:6px;padding:1px 8px;color:#3c643e}.lab-side>.panel:nth-child(2){background:#fff5de;border-color:#d8bf8f}.lab-side>.panel:nth-child(2)>h3:first-child:before{background:#ffdf88;border-color:#d7b260}.lab-side>.panel:nth-child(3){background:#f1edf9;border-color:#ccbfdf}.lab-side>.panel:nth-child(3)>h3:first-child:before{background:#e4d8f5;border-color:#bbabd2}.panel h3 small{font-family:'Zhiwu Sans',sans-serif;font-size:10px;letter-spacing:.5px;color:#6b795e;font-weight:400}.parameter{margin:25px 0;padding-bottom:20px;border-bottom:1px dashed #cfd6c0}.parameter label{font-size:15px;color:#365441;font-weight:600;align-items:center}.parameter output{font-size:18px;font-weight:700;background:#e9efda;border:1px solid #cfdbbb;border-radius:7px;padding:2px 8px;color:#285a3d;min-width:55px;text-align:center}.parameter input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:9px;background:#e4e8d9;border:1px solid #bdc9b1;border-radius:8px;cursor:pointer;display:block;margin:19px 0 13px}.parameter input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:23px;height:23px;background:#ffce63;border:2px solid #294536;border-radius:50%;box-shadow:0 2px 0 #2945362b}.parameter input[type=range]::-moz-range-thumb{width:20px;height:20px;background:#ffce63;border:2px solid #294536;border-radius:50%}.parameter input[type=range]:focus-visible{outline:3px solid #b79444;outline-offset:5px}.range-labels{font-size:12px;color:#5d7158}.panel-note,.prediction-note{font-size:13px;line-height:1.85;color:#52684f}.presets{gap:8px}.presets button{background:#fffdf5;color:#496443;border:1px solid #aebd9f;border-radius:8px;padding:8px 10px;font-size:12px;box-shadow:0 2px 0 #dfe6d1}.presets button:hover{background:#e8efdb}.prediction-question{font-size:16px;line-height:1.85;color:#3c5843}.prediction-options{gap:9px}.prediction-options button{background:#fffefa;border:1.5px solid #b7bd9d;border-radius:9px;padding:10px 13px;font-size:14px;box-shadow:0 2px 0 #e7dfc9;color:#3c5942}.prediction-options button.selected{background:#2b684f;border-color:#204e3c;color:#fffdf2;box-shadow:0 3px 0 #173d2d}.lab-side .segmented{background:#e6dff0;border-color:#cec1df}.lab-side .segmented button{color:#66537b;font-size:12px;padding:8px}.lab-side .segmented button.active{color:#49345c;background:#fffdf8}.explain-panel{position:relative;border:1.5px solid #b2c2a8;border-radius:17px;background:#fffdf6;padding:27px;box-shadow:3px 4px 0 #e5e9dc}.explain-panel h3{font-family:var(--display);font-size:25px;font-weight:400;border-bottom:1px dashed #c5d1b7;padding-bottom:17px;margin-top:0}.explain-panel p{color:#405e4a;font-size:16px;line-height:1.95}.hint-button{background:#eaf0dd;color:#3b633d;font-size:14px;border:1px solid #b8cba5;padding:10px 15px;border-radius:9px}.model-details{margin-top:24px;border-top:1px dashed #c8d3bd;padding-top:17px}.model-details summary{font-size:14px;color:#52664b}.model-details p{font-size:14px}.comparison .panel{border:1.5px solid #b8c6ac;background:#fffdf5}.lab-main,.lab-side{min-width:0}
@media(max-width:1250px){.lab-heading h1{font-size:33px}.lab-side>.panel{padding:19px}.lab-side>.panel>h3:first-child:before{left:19px}.lab-side>.panel>h3:first-child{font-size:22px}.parameter label{font-size:14px}.metric{padding:15px}.metric strong{font-size:31px}}
@media(max-width:1020px){.lab-heading .lab-toolbar{margin-top:18px}.lab-side>.panel{margin-bottom:0}.step{padding:12px 10px}.scene-top small{font-size:11px}}
@media(max-width:760px){.lab-heading h1{font-size:30px}.lab-heading p{font-size:15px}.lab-heading{padding-bottom:21px}.steps{gap:5px;flex-wrap:wrap}.step{flex:1 1 40%;padding:10px 12px;font-size:13px;gap:9px}.step-arrow{display:none}.step i{width:25px;height:25px;font-size:12px}.scene-panel{border-radius:15px;box-shadow:3px 4px 0 #e3e7d8}.scene-top{padding:12px;gap:8px}.live-badge{font-size:13px}.scene-top small{font-size:10px}.canvas-wrap{aspect-ratio:1000/640}.canvas-wrap canvas{object-fit:contain}.scene-status{top:11px;left:10px;max-width:calc(100% - 20px);font-size:11px;padding:5px 8px;line-height:1.6}.scene-hint{font-size:10px;right:8px;bottom:8px;max-width:calc(100% - 16px)}.scene-controls{padding:12px 10px;gap:7px}.scene-controls .button{padding:9px 10px;min-height:40px;font-size:12px}.speed-select{font-size:11px}.speed-select select{font-size:12px;padding:7px}.overlay-options{padding:0 12px 14px;gap:9px;font-size:11px;flex-wrap:wrap}.overlay-options input{width:15px;height:15px}.metrics{gap:8px;margin:16px 0}.metric{padding:13px 10px;border-radius:12px}.metric small{font-size:11px;display:block;min-height:34px}.metric strong{font-size:26px;margin:0}.metric strong em{font-size:10px;margin-left:3px}.explain-panel{padding:22px 18px}.explain-panel h3{font-size:23px;line-height:1.6}.explain-panel p{font-size:15px}.lab-side>.panel{padding:23px}.lab-side>.panel>h3:first-child:before{left:23px}.lab-side>.panel>h3:first-child{font-size:25px}.parameter label{font-size:16px}.parameter output{font-size:18px}.parameter input[type=range]{height:10px}.range-labels{font-size:12px}.panel-note,.prediction-note{font-size:14px}.presets button{font-size:13px}.prediction-question{font-size:17px}.prediction-options button{font-size:15px}.lab-side .segmented button{font-size:13px}.energy-bars{font-size:11px;padding:0 12px 15px}.model-details p{font-size:13px}}
@media(max-width:760px){.canvas-wrap{display:flex;flex-direction:column;aspect-ratio:auto}.canvas-wrap canvas,.canvas-wrap>#ex-scene{width:100%;height:auto;aspect-ratio:1000/540;flex-shrink:0}.scene-status{position:static;order:-1;align-self:flex-start;margin:11px 10px 0;max-width:calc(100% - 20px)}.scene-hint{position:static;align-self:flex-end;margin:0 8px 8px;font-size:10px}.lab-side .panel h3 small{max-width:50%;text-align:right}}
.observation-action{padding:17px 20px;background:#eef3e4;border-top:1px dashed #b8c8a7;display:flex;align-items:center;justify-content:space-between;gap:16px}.observation-action p{font-size:13px;color:#425e48;margin:0;line-height:1.8}.observation-action .button{font-size:13px;flex-shrink:0;padding:10px 15px}.step.is-complete{background:#e5eed9;color:#3d6542;border-color:#a9bf96}.step.is-complete i{background:#3d6542;color:white;border-color:#3d6542}.realtime-scene #ex-frame,.realtime-scene .speed-select{display:none}.realtime-scene #ex-play{min-width:138px}
@media(max-width:760px){.observation-action{padding:15px 12px;align-items:stretch;flex-direction:column;gap:10px}.observation-action p{font-size:12px}.observation-action .button{justify-content:center;font-size:14px}.realtime-scene #ex-play{min-width:138px}}
.interaction-guide{display:flex;gap:12px;align-items:flex-start;background:#eef3e4;border:1px solid #ccd9bd;border-radius:10px;padding:12px 16px;margin:0 0 20px;color:#426047;font-size:13px;line-height:1.9}.interaction-guide strong{flex-shrink:0;background:#dce8c7;padding:0 8px;border-radius:5px;color:#315d3c}.observation-action .button:disabled{opacity:.55}
.projection-prompt{display:none}
.teacher-mode .projection-prompt{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 20px;padding:22px 26px;margin:0 0 22px;background:#fff0bd;border:2px solid #b58a32;border-radius:16px;box-shadow:4px 5px 0 #e4d7a5}.teacher-mode .projection-prompt .projection-kicker{grid-column:1/-1;color:#8a6220;font-size:12px;font-weight:800;letter-spacing:.08em}.teacher-mode .projection-prompt h2{font-family:var(--display);font-size:30px;font-weight:400;line-height:1.35;margin:0;color:#294536}.teacher-mode .projection-prompt p{margin:0;align-self:center;font-size:15px;color:#5d6d4f}.teacher-mode .projection-condition{grid-column:1/-1;color:#6d653e;font-size:14px}.teacher-mode .projection-options{grid-column:1/-1;display:flex;gap:12px;flex-wrap:wrap}.teacher-mode .projection-options button{min-width:150px;padding:13px 20px;border:1.5px solid #9c8a56;border-radius:10px;background:#fffdf4;font-size:17px;color:#3f5037}.teacher-mode .projection-options button.selected{background:#2c6b50;color:#fffdf5;border-color:#204f3c;box-shadow:0 3px 0 #173d2d}.teacher-mode .lab-side .panel:nth-child(2){display:none}
@media(max-width:760px){.interaction-guide{font-size:13px;padding:13px 12px;gap:8px}.step{font-size:12px}}
@media(max-width:760px){.teacher-mode .projection-prompt{grid-template-columns:1fr;padding:17px 15px}.teacher-mode .projection-prompt h2{font-size:24px}.teacher-mode .projection-prompt p{font-size:13px}.teacher-mode .projection-options button{min-width:0;flex:1 1 45%;font-size:15px;padding:11px 10px}.teacher-mode .projection-condition{font-size:13px}}
.experiment-focus{background:#fff6dd;border:1px solid #e1cf9e;border-left:4px solid #d6a647;border-radius:10px;padding:15px 20px;margin:-5px 0 24px;font-size:14px;color:#4e6047}.experiment-focus strong{font-family:var(--display);font-size:20px;font-weight:400;color:#72562b}.experiment-focus p{margin:5px 0;font-weight:600}.experiment-focus span{display:block;color:#637455;font-size:13px;line-height:1.9}.presets{flex-wrap:wrap}
@media(max-width:760px){.experiment-focus{padding:14px;margin-bottom:20px;font-size:14px}.experiment-focus strong{font-size:21px}.experiment-focus span{font-size:13px}}
.completion-next{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin-top:18px;padding:19px;background:#eaf3df;border:1.5px solid #a8c28f;border-radius:14px;box-shadow:0 3px 0 #dae8ce}.completion-next[hidden]{display:none!important}.completion-mark{grid-row:1 / span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#2c714f;color:white;font-size:24px;font-weight:700}.completion-copy h4{font-family:var(--display);font-size:22px;font-weight:400;color:#285439;margin:0 0 4px}.completion-copy p{font-size:14px;color:#49654b;line-height:1.8;margin:0}.completion-actions{grid-column:2;display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}.completion-actions .button{font-size:13px;min-height:40px;padding:8px 13px}.completion-actions .button.ghost{border:1px solid #b9c8ae;background:#fffdf7;border-radius:9px}.completion-actions .button:focus-visible{outline:3px solid #bc8c32;outline-offset:3px}
.reflection-question{margin:0 0 18px;padding:18px 20px;background:#fff0bd;border:1.5px solid #c49a45;border-left:5px solid #b47a2d;border-radius:12px;box-shadow:0 3px 0 #eadbb2}.reflection-question strong{display:block;color:#8a6220;font-size:12px;letter-spacing:.08em;margin-bottom:6px}.reflection-question h4{font-family:var(--display);font-weight:400;color:#294536;font-size:23px;line-height:1.45;margin:0 0 6px}.reflection-question p{color:#5d6d4f;font-size:14px;line-height:1.75;margin:0}.lab-main>#reflection-section{margin-top:20px;padding:24px 27px;background:#fffdf6;border:1.5px solid #b2c2a8;border-radius:17px;box-shadow:3px 4px 0 #e5e9dc}.lab-main>#reflection-section .observation-saved{margin:0 0 13px;padding:11px 13px;background:#eef3e4;border-radius:9px;font-size:13px}.lab-main>#reflection-section .challenge{margin-top:20px;padding-top:20px;border-top:1px dashed #c5d1b7}.lab-main>#reflection-section .reflection{width:100%;box-sizing:border-box}
@media(max-width:760px){.completion-next{grid-template-columns:auto minmax(0,1fr);gap:7px 11px;padding:16px 13px}.completion-mark{width:35px;height:35px;font-size:20px}.completion-copy h4{font-size:21px}.completion-copy p{font-size:13px}.completion-actions{grid-column:1/-1;gap:7px}.completion-actions .button{flex:1 1 42%;justify-content:center;padding:9px 8px;font-size:12px}}
@media(max-width:760px){.reflection-question{padding:15px 14px}.reflection-question h4{font-size:21px}.reflection-question p{font-size:13px}.lab-main>#reflection-section{padding:20px 16px;margin-top:16px}}

.stage-navigation{margin:24px 0 28px;scroll-margin-top:20px}.stage-navigation nav{display:flex;gap:8px;border-bottom:2px solid #d6dfcc;padding-bottom:10px}.stage-navigation nav button{border:1.5px solid transparent;border-radius:10px;padding:12px 24px;font-size:18px;font-weight:700;background:transparent;color:#61745c;cursor:pointer}.stage-navigation nav button.active{background:#294f3b;border-color:#294f3b;color:#fffdf4;box-shadow:0 3px 0 #c8d9b5}.stage-navigation nav button:hover{border-color:#849c73}.stage-navigation p{font-size:15px;color:#5f725c;line-height:1.8;margin:12px 0 0}.stage-navigation small{display:block;line-height:1.8;margin-top:8px;color:#86622c}.stage-navigation button:focus-visible{outline:3px solid #bb8b31;outline-offset:3px}@media(max-width:760px){.stage-navigation nav{gap:5px}.stage-navigation nav button{flex:1;padding:12px 6px;font-size:15px}.stage-navigation p{font-size:14px}.stage-navigation p span{display:block}}
.practice-section{margin-top:28px;padding:23px;background:#f4f7ed;border:1.5px solid #c7d8ba;border-radius:15px}.practice-header span{font-size:12px;font-weight:700;color:#5a784d}.practice-header h3{margin:5px 0!important;padding:0!important;border:0!important}.practice-header p{margin:6px 0 18px;font-size:14px!important}.practice-question{margin:18px 0 0;padding:18px;background:#fffdf7;border:1px solid #d4dfca;border-radius:12px}.practice-question legend{padding:0 5px;font-size:17px;line-height:1.6;font-weight:700;color:#294536}.practice-options{display:grid;gap:8px}.practice-options button{display:flex;align-items:center;gap:10px;text-align:left;padding:10px 12px;border:1px solid #cbd7c1;border-radius:9px;background:white;color:#34523e;font-size:15px;cursor:pointer}.practice-options button b{display:grid;place-items:center;width:27px;height:27px;border-radius:6px;background:#edf2e5;flex-shrink:0}.practice-options button.selected{background:#e5f0df;border-color:#317054}.practice-feedback{margin:12px 0 0!important;padding:12px;border-radius:8px;background:#fff1d7;color:#705328!important;font-size:14px!important;line-height:1.7!important}.practice-feedback.correct{background:#e3f2dd;color:#315f3c!important}.practice-feedback[hidden]{display:none!important}

/* New stage experiments share the same responsive drawing surface and controls. */
#new-scene{display:block;width:100%;height:100%}
#new-scene text{font-family:'Zhiwu Sans',sans-serif;font-size:20px;font-weight:600;fill:#294536}
#new-time:disabled{opacity:.45;cursor:not-allowed}
.new-light-rays{stroke-dasharray:12 10;animation:new-ray-flow .8s linear infinite}
@keyframes new-ray-flow{to{stroke-dashoffset:-44}}
.new-reflection-label{display:block;color:#365441;font-size:15px;font-weight:650;margin:18px 0 8px}
#new-play:disabled{cursor:default;opacity:1;background:#5a8069}
@media(max-width:760px){.canvas-wrap>#new-scene{width:100%;height:auto;aspect-ratio:1000/540;flex-shrink:0}}

.new-lab-scene .scene-controls{border-top:0;border-bottom:1.5px solid #d9cda9;background:#fffdf3}.new-lab-scene #new-play{font-size:17px;min-height:50px;min-width:160px}.new-lab-scene #new-play:disabled{font-size:15px}.new-lab-scene #new-metrics strong{overflow-wrap:anywhere}@media(max-width:760px){.new-lab-scene #new-play{font-size:15px;min-width:140px}.metrics#new-metrics{grid-template-columns:1fr}.metrics#new-metrics .metric{display:flex;align-items:center;justify-content:space-between;gap:12px}.metrics#new-metrics .metric small{min-height:0}.metrics#new-metrics strong{font-size:25px}}

/* Predictions remain interactive both before and after starting an experiment. */
.prediction-options button[data-predict],.prediction-options button[data-ex-predict],.prediction-options button[data-new-prediction],.projection-options button{cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
.prediction-options button[aria-pressed="true"],.teacher-mode .projection-options button[aria-pressed="true"]{background:#28694f;color:#fffdf3;border-color:#214c3b;box-shadow:0 3px 0 #173d2d}
.prediction-options button[aria-pressed="true"]::before,.projection-options button[aria-pressed="true"]::before{content:'✓ ';font-weight:800}
.prediction-options button:focus-visible,.projection-options button:focus-visible{outline:3px solid #c9932e;outline-offset:4px}
.prediction-options button:hover,.projection-options button:hover{border-color:#28694f}
.prediction-note[role="status"]{font-size:14px;line-height:1.9;color:#315b42;min-height:3.8em}
.teacher-mode .projection-prompt .prediction-live-feedback{grid-column:1/-1;font-size:15px;font-weight:600;color:#315b42}

/* Direct manipulation stays above artwork while simulation frames redraw. */
.canvas-wrap{position:relative}
.scene-drag-layer{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:4}
.scene-drag-layer [data-drag-handle]{pointer-events:all;cursor:grab;touch-action:none;outline:none}
.scene-drag-layer.is-dragging [data-drag-handle]{cursor:grabbing}
.drag-hit{fill:transparent;stroke:none}
.drag-ring{fill:#fffdf524;stroke:#28795b;stroke-width:2.5;stroke-dasharray:5 5}
.drag-arrows{fill:none;stroke:#1f624b;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
[data-drag-handle]:hover .drag-ring,[data-drag-handle]:focus .drag-ring{stroke:#144d37;stroke-width:4;fill:#d7edc440}
.drag-caption{font-family:inherit;font-size:19px;font-weight:750;fill:#20513d;paint-order:stroke;stroke:#fff9eb;stroke-width:6;stroke-linejoin:round;pointer-events:none}
.scene-drag-guide{display:flex;gap:12px;align-items:center;margin:0;padding:13px 20px;background:#edf5e3;border-top:1px solid #c8d7ba;font-size:15px;line-height:1.6;color:#294f3a}
.scene-drag-guide strong{white-space:nowrap;color:#206647}
@media(max-width:760px){.scene-drag-guide{align-items:flex-start;gap:8px;padding:12px;font-size:14px}.drag-caption{font-size:26px}.drag-ring{stroke-width:4}}
.canvas-wrap>.scene-drag-layer{background:transparent}
.scene-drag-layer{touch-action:none}
.cloud-page{max-width:1200px}.cloud-auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:24px 0}.cloud-auth-grid .panel{margin:0}.cloud-page .form-field{font-size:16px;margin-bottom:18px}.cloud-page .form-field input,.cloud-page .form-field select,.cloud-page .form-field textarea{font-size:16px}.cloud-auth-grid .button{margin-top:8px}.cloud-message{padding:16px 20px;background:#eaf2e0;border:1px solid #bbcfaa;color:#294f3a;border-radius:10px;margin:18px 0;line-height:1.8}.cloud-message.error{background:#fff0e3;border-color:#dba57d;color:#854923}.cloud-status{font-weight:700;color:#28664d}.cloud-dev-note{font-size:14px;color:#846737;line-height:1.8}.cloud-inline-form{display:flex;gap:20px;align-items:end;margin:22px 0}.cloud-inline-form .form-field{flex:1;margin:0}.cloud-redeem{border-top:1px dashed #c8d4bb;margin-top:24px;padding-top:20px}.cloud-legal{font-size:16px;line-height:1.9}.cloud-company{display:block;font-size:12px;margin-top:10px}.cloud-page .plan-card li,.cloud-page .panel-note{font-size:15px;line-height:1.8}.cloud-page .price small{font-size:14px}.cloud-page details.panel{margin-top:24px}.cloud-page details summary{font-weight:700;cursor:pointer}.cloud-page .workspace-table{font-size:14px}.cloud-page .form-actions{margin:18px 0}.cloud-page .record-card h3{font-size:20px}.cloud-page .record-card p{font-size:15px}.cloud-page .order-row{font-size:15px}@media(max-width:760px){.cloud-auth-grid{grid-template-columns:1fr;gap:18px}.cloud-inline-form{display:block}.cloud-inline-form .form-field{margin-bottom:16px}.cloud-page h1{font-size:28px}.cloud-page .button{min-height:44px}.cloud-page .form-actions{gap:10px}.cloud-page .workspace-table{font-size:13px}.cloud-page .record-card h3{font-size:18px}}
.cloud-page .consent{font-size:15px;line-height:1.8}.cloud-page .consent input{width:18px;height:18px;flex-shrink:0;margin-top:4px}

.cloud-form-heading{margin-bottom:22px}.cloud-form-heading h3{font-size:25px;margin:12px 0 0}.cloud-auth-tabs{display:flex;gap:6px;border-radius:12px;background:#eef1e7;padding:5px;margin-bottom:24px}.cloud-auth-tabs button{flex:1;border:0;border-radius:9px;background:transparent;padding:12px;font:inherit;font-weight:700;color:#657561;cursor:pointer}.cloud-auth-tabs button[aria-pressed="true"]{background:#fffdf5;color:#215a43;box-shadow:0 2px 6px #294d3515}.cloud-code-row{display:flex;align-items:end;gap:12px}.cloud-code-row .form-field{flex:1;min-width:0;margin-bottom:0}.cloud-code-row .button{flex-shrink:0;min-width:124px;min-height:54px;margin:0}.cloud-sms-status{font-size:13px;line-height:1.7;color:#64755d;margin:8px 0 18px}.cloud-phone{font-size:24px;font-weight:700;letter-spacing:1px}@media(max-width:760px){.cloud-code-row{gap:8px}.cloud-code-row .button{min-width:110px;padding:12px 10px;font-size:14px}.cloud-form-heading h3{font-size:23px}}
.package-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#edf1df;border:1px solid #c6d0b7;padding:22px 26px;border-radius:14px;margin:24px 0}.package-strip strong,.package-strip span{display:block}.package-strip span{font-size:15px;margin-top:7px;color:#597050}.access-badge{background:#e7e6dc!important;color:#5e6855!important;font-weight:750}.access-badge.free{background:#dcecd4!important;color:#245a3e!important}.catalog-art{height:100%;display:grid;place-content:center;text-align:center;color:#296653;background:radial-gradient(circle at 50% 40%,#fff9dc 0 32%,transparent 33%)}.catalog-art>span{font-size:90px;line-height:1.2}.catalog-art small{font-size:15px;font-weight:700;margin-top:10px}.package-offer{display:grid;grid-template-columns:1.15fr 1fr;border:1.5px solid #bccbae;border-radius:22px;overflow:hidden;margin:28px 0;background:#fffdf5}.package-offer-copy{padding:34px}.package-offer-copy h2{font-size:32px;line-height:1.5;margin:20px 0}.package-price{font-size:50px!important;line-height:1.3;font-weight:800;color:#225c43;margin:20px 0}.package-price small{font-size:21px;font-weight:600}.package-offer ul{padding-left:22px;line-height:2.3;font-size:17px}.package-activation{background:#edf2e4;padding:34px;display:flex;flex-direction:column;justify-content:center}.package-activation h3{font-size:24px}.package-redeem{margin:22px 0}.package-redeem p,.package-sales-note{font-size:14px;line-height:1.9;color:#63705b}.package-lock>.panel{max-width:780px;margin-top:25px;padding:32px}.package-lock h2{font-size:27px}@media(max-width:760px){.package-strip{display:block;padding:20px}.package-strip .button{margin-top:16px}.package-offer{grid-template-columns:1fr}.package-offer-copy,.package-activation{padding:24px}.package-offer-copy h2{font-size:27px}.package-price{font-size:43px!important}.package-offer ul{font-size:16px}.package-lock>.panel{padding:23px}.package-lock h2{font-size:23px}}
.package-purchase{padding:20px;margin:18px 0 24px;border:2px solid #bfd7c8;border-radius:18px;background:#eef5ed}.package-purchase h3{margin:0 0 10px}.package-purchase p{line-height:1.8}.package-purchase .button{margin:8px 0}.package-purchase .panel-note{font-size:14px}.code-management-row{margin:16px 0}.code-management-row p{overflow-wrap:anywhere}
.advanced-lab #adv-scene{font-family:'Zhiwu Sans',sans-serif}.advanced-status{padding:10px 20px;margin:0;background:#eef2e9;border-top:1px solid #d0d9cb;color:#405a4b;font-size:15px}.advanced-lab .reflection{margin:15px 0}.advanced-lab .model-details{line-height:1.9}.advanced-lab .practice-feedback p{margin:7px 0!important}.advanced-lab .lab-main{min-width:0}@media(max-width:760px){.advanced-status{font-size:13px;padding:10px 13px}.advanced-lab .metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.advanced-lab .metric strong{font-size:22px}.advanced-lab .metric strong em{display:block;margin:0}.advanced-lab .metric small{font-size:11px}}

/* Shared direct manipulation: a clear direction and an apparatus-sized target. */
.scene-drag-layer.is-dragging .is-held .drag-ring{fill:#d5edba88;stroke:#174f38;stroke-width:5;stroke-dasharray:none}
.scene-drag-layer.is-dragging .is-held .drag-arrows{stroke-width:4}
.scene-drag-guide.is-active{background:#dbeecb;border-color:#6b9768}
