@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";.react-flow{direction:ltr}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1;cursor:-webkit-grab;cursor:grab}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{pointer-events:none;overflow:visible}.react-flow__edge-path,.react-flow__connection-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{pointer-events:visibleStroke;cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;-webkit-animation:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;-webkit-animation:dashdraw .5s linear infinite;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:-webkit-grab;cursor:grab}.react-flow__node.dragging{cursor:-webkit-grabbing;cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:-webkit-grab;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background:#1a192b;border:1px solid white;border-radius:100%}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:-4px;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{top:50%;left:-4px;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translate(-50%)}.react-flow__attribution{font-size:10px;background:#ffffff80;padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@-webkit-keyframes dashdraw{0%{stroke-dashoffset:10}}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-input,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:3px;width:150px;font-size:12px;color:#222;text-align:center;border-width:1px;border-style:solid;border-color:#1a192b;background-color:#fff}.react-flow__node-default.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted rgba(0,89,220,.8)}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{border:none;background:#fefefe;border-bottom:1px solid #eee;box-sizing:content-box;display:flex;justify-content:center;align-items:center;width:16px;height:16px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:5px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:4px;height:4px;border:1px solid #fff;border-radius:1px;background-color:#3367d9;transform:translate(-50%,-50%)}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:#3367d9;border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.predation-explorer{margin:0 0 20px;padding:22px;background:#f7f9f4;border:1px solid #dfe8d9;border-radius:16px}.predation-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.predation-kicker{font-size:10px;letter-spacing:.12em;color:#70896e}.predation-top h2{font-size:24px;margin:6px 0;color:#2d4632}.predation-top p,.predation-disclaimer{font-size:12px;color:#73816f;line-height:1.7}.predation-switch{display:flex;gap:5px;background:#edf2e8;padding:4px;border-radius:10px;flex-shrink:0}.predation-switch button{border:0;border-radius:7px;background:transparent;padding:9px 12px;font-size:12px;color:#536b54}.predation-switch button.active{background:#fff;color:#2e5a36;box-shadow:0 1px 5px #263c251a}.predation-pair{display:flex;justify-content:center;align-items:center;gap:18px;margin:18px auto}.predation-pair label{display:flex;flex-direction:column;align-items:center;gap:10px;width:175px;padding:14px;background:#fff;border:1px solid #dce6d7;border-radius:13px}.predation-pair label>span{font-size:11px;color:#657b62}.predation-pair img{width:140px;height:118px;object-fit:contain}.predation-pair select{width:100%;font-size:13px;border:1px solid #d3e0cf;border-radius:7px;background:#fff;padding:8px}.predation-arrow{font-size:35px;color:#5c865e;text-align:center}.predation-arrow small{display:block;font-size:10px;white-space:nowrap;color:#758972}.predation-actions{display:flex;justify-content:center;gap:10px}.predation-actions button{border:1px solid #cbd9c5;background:#fff;border-radius:8px;padding:10px 15px;color:#426443;font-size:12px}.predation-actions .predation-check{background:#426e49;color:#fff}.predation-result{margin-top:15px;padding:13px 16px;border-radius:10px;background:#fff;border:1px solid #d9e5d5}.predation-result.supported{border-color:#b4d1b1;background:#eff7eb}.predation-result.unverified{border-color:#e5d7bb;background:#fbf7ee}.predation-result strong{font-size:13px}.predation-result p{font-size:12px;line-height:1.7;margin:6px 0 0}.predation-disclaimer{margin:15px 0 0}@media(max-width:700px){.predation-top{flex-direction:column}.predation-pair{gap:7px}.predation-pair label{width:40%;padding:8px}.predation-pair img{width:100%;height:85px}.predation-arrow{font-size:22px}.predation-arrow small{font-size:8px}}.predation-result.result-correct{background:#edf8ee;border-color:#9aca9c;color:#286b37}.predation-result.result-wrong{background:#fff0ef;border-color:#e6b2ab;color:#a34d45}.predation-result.result-explore{background:#fff9e9;border-color:#e6d3a1;color:#8a6a2c}.predation-verdict{display:flex;align-items:center;gap:12px}.predation-verdict>div{display:flex;flex-direction:column;gap:4px}.predation-verdict strong{font-size:16px}.predation-verdict span{font-size:12px}.predation-result>p{color:#445247;font-size:13px;line-height:1.8;margin-top:12px}.predation-result .predation-citation{font-size:11px;color:#74816e;margin-top:9px}:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#28352b;background:#f4f6ef;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer}.app-shell{min-height:100vh;background:#f4f6ef}.app-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;background:#fbfcf8;border-bottom:1px solid #e4e9dd;position:sticky;top:0;z-index:5}.brand,.header-right,.brand-mark,.classroom-indicator,.mode-button{display:flex;align-items:center}.brand{gap:12px}.brand-mark{width:38px;height:38px;justify-content:center;border-radius:12px;background:#dce8cf;color:#47724a}.brand strong{display:block;font-size:16px;font-weight:700}.brand span{display:block;font-size:9px;letter-spacing:1.7px;color:#81907b;margin-top:3px}.header-right{gap:18px}.classroom-indicator{gap:7px;font-size:12px;color:#758274}.classroom-indicator>span{width:7px;height:7px;border-radius:50%;background:#64a16c}.mode-button{gap:8px;border:1px solid #dce3d6;border-radius:9px;background:#fff;color:#3d563d;padding:9px 12px;font-size:12px}.switch-note{font-size:10px;color:#8b9788;border-left:1px solid #e1e5df;padding-left:8px}main{max-width:1600px;margin:0 auto;padding:28px 32px 22px}.intro-row{display:flex;align-items:end;justify-content:space-between;margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2.3px;color:#82917a;font-weight:700}.intro-row h1{font-size:clamp(28px,3vw,40px);letter-spacing:-1.5px;margin:8px 0 6px;font-weight:700}.intro-row p{font-size:13px;color:#7b8678;margin:0}.lesson-tag{display:flex;align-items:center;gap:10px;color:#788474;font-size:11px;padding-bottom:4px}.lesson-tag b{font-weight:600;background:#e4ecd9;color:#52704d;border-radius:5px;padding:7px 9px}.task-tabs{display:flex;gap:6px;border-bottom:1px solid #e0e6db;margin-bottom:18px}.task-tabs button{display:flex;align-items:center;gap:8px;padding:13px 17px;border:0;border-bottom:2px solid transparent;background:transparent;color:#788474;font-size:13px}.task-tabs button.active{color:#345d39;border-bottom-color:#5b8c55;font-weight:700}.workspace{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(450px,.92fr);gap:18px;align-items:stretch}.scene-column,.model-column{min-width:0;background:#fbfcf8;border:1px solid #e1e7db;border-radius:15px;padding:16px;box-shadow:0 4px 20px #32452d06}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.panel-heading>div{display:flex;align-items:center;gap:11px}.step{width:30px;height:30px;border-radius:9px;background:#e6efdd;color:#517b48;display:grid;place-items:center;font-weight:700;font-size:11px}.panel-heading h2{margin:0 0 3px;font-size:14px;font-weight:700}.panel-heading p{margin:0;color:#899388;font-size:10px}.small-toggle,.model-toolbar button{display:flex;align-items:center;gap:6px;border:1px solid #e0e6da;border-radius:7px;padding:7px 9px;background:#fff;color:#60715b;font-size:10px;white-space:nowrap}.scene{height:clamp(360px,39vw,530px);position:relative;overflow:hidden;border-radius:10px;background:#cce4ee}.scene-sky{position:absolute;top:0;right:0;bottom:52%;left:0;background:linear-gradient(#b9dce9,#e7f0d9)}.scene-cloud{position:absolute;width:64px;height:18px;background:#ffffff95;border-radius:20px;top:10%;filter:blur(.3px)}.scene-cloud:before,.scene-cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.scene-cloud:before{width:28px;height:26px;left:11px;top:-11px}.scene-cloud:after{width:36px;height:32px;left:28px;top:-15px}.cloud-a{left:37%}.cloud-b{left:68%;top:19%;transform:scale(.7)}.scene-sun{position:absolute;left:10%;top:6%;width:43px;height:43px;border-radius:50%;background:#f6d57e;box-shadow:0 0 0 12px #f6d57e35,0 0 35px #f6d57e70}.scene-hill{position:absolute;left:-15%;width:130%;height:29%;border-radius:50% 50% 0 0}.hill-a{top:25%;background:#9fbd7e;transform:rotate(-4deg)}.hill-b{top:35%;background:#b7cf8b;left:25%;transform:rotate(3deg)}.scene-meadow{position:absolute;left:0;right:0;top:45%;height:13%;background:linear-gradient(#95b96c,#89ab61)}.scene-river{position:absolute;top:35%;right:-2%;height:28%;width:22%;background:#76b9ce;clip-path:polygon(50% 0,100% 0,100% 100%,10% 100%,25% 74%,0 52%,25% 28%);opacity:.9}.scene-soil{position:absolute;left:0;right:0;top:57%;bottom:0;background:repeating-linear-gradient(180deg,#987653,#987653 28%,#896a4c 28%,#896a4c 50%,#795a42 50%,#795a42)}.scene-soil:before{content:"";position:absolute;top:0;left:0;right:0;height:9px;background:#6f9b53}.scene-soil:after{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;background-image:radial-gradient(ellipse,#5d4634 0 2px,transparent 3px),radial-gradient(ellipse,#c2a27b 0 1px,transparent 3px);background-size:38px 29px,53px 31px;opacity:.48}.scene-ground-note{position:absolute;bottom:8px;right:10px;color:#fffbd9;font-size:9px;text-shadow:0 1px 3px #413326}.scene-label{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;align-items:center;gap:5px;border:1px solid #ffffffc9;border-radius:7px;padding:5px 7px;background:#fffffff0;box-shadow:0 2px 7px #32452d18;color:#334333;font-size:11px;white-space:nowrap;transition:box-shadow .15s,transform .15s}.scene-label:hover,.scene-label.picked{box-shadow:0 0 0 2px #588d53,0 3px 12px #20391e18;transform:translate(-50%,-50%) scale(1.04)}.scene-label.abiotic{background:#fff9e9}.scene-label-dot,.chip-dot,.node-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.scene-legend{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding:11px 2px 1px;font-size:10px;color:#818b7d}.scene-legend span{display:flex;align-items:center;gap:6px}.legend-living,.legend-abiotic{width:8px;height:8px;border-radius:50%;background:#72a46a}.legend-abiotic{background:#ddb858}.organism-info{position:relative;display:flex;align-items:start;gap:10px;margin-top:12px;padding:12px;border:1px solid #dfe7d7;border-radius:10px;background:#fff}.info-icon{flex-shrink:0;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:#fff}.info-copy{flex:1;min-width:0}.info-copy>div{display:flex;align-items:center;gap:9px}.info-copy strong{font-size:13px}.info-copy span{font-size:10px;background:#eff3e9;color:#687f5e;padding:4px 6px;border-radius:4px}.info-copy p{font-size:11px;line-height:1.65;color:#798375;margin:7px 0 0}.icon-button{border:0;background:transparent;color:#869080;padding:3px}.add-organism{border:0;background:#466e42;color:#fff;border-radius:7px;padding:9px 10px;font-size:11px;white-space:nowrap}.scene-legend svg{color:#8b9984}.count-pill{border-radius:20px;background:#eef3e8;color:#67805c;padding:6px 9px;font-size:10px;white-space:nowrap}.model-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:#8b9487;font-size:10px;gap:8px}.model-toolbar span{display:flex;align-items:center;gap:6px}.model-canvas{height:clamp(360px,39vw,530px);border:1px solid #dfe6d9;border-radius:10px;background:#fbfcf8;position:relative;overflow:hidden}.react-flow{font-family:inherit}.react-flow__background{background:#fbfcf8}.react-flow__node-default{font-family:inherit}.organism-node{display:flex;align-items:center;gap:7px;color:#354433;font-weight:700;font-size:13px}.organism-node small{display:block;color:#8a9684;font-weight:400;font-size:9px;margin-left:auto}.node-dot{width:9px;height:9px}.empty-model{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#8a9685;pointer-events:none;z-index:1}.empty-model>div{width:55px;height:55px;border:1px dashed #c8d5bf;border-radius:16px;display:grid;place-items:center;color:#82a176;background:#f6f8f1;margin-bottom:14px}.empty-model strong{font-size:13px;color:#687b60}.empty-model p{font-size:11px;line-height:1.8}.empty-model>span{font-size:9px;color:#a4ada0;margin-top:5px}.model-actions{display:flex;justify-content:space-between;gap:8px;margin-top:11px}.secondary-action,.primary-action{display:flex;align-items:center;gap:7px;border-radius:8px;padding:10px 13px;font-size:11px}.secondary-action{border:1px solid #dfe5d9;background:#fff;color:#71806a}.primary-action{border:1px solid #446e40;background:#446e40;color:#fff}.feedback-card{margin-top:12px;border-radius:9px;background:#f1f5eb;padding:12px;color:#6e7f65}.feedback-title{display:flex;align-items:center;gap:7px;font-weight:700;font-size:12px}.feedback-card p,.feedback-card li{font-size:10px;line-height:1.7}.feedback-card ul{padding-left:18px}.organism-tray{background:#fbfcf8;border:1px solid #e2e8dd;border-radius:13px;padding:17px;margin-top:18px}.tray-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.tray-heading h2{font-size:14px;margin:0 0 4px}.tray-heading p{font-size:10px;color:#899488;margin:0}.tray-heading>span{font-size:10px;color:#819078}.organism-list{display:flex;gap:9px;flex-wrap:wrap}.organism-chip{display:flex;align-items:center;gap:8px;padding:10px 11px;background:#fff;border:1px solid #e1e7dd;border-radius:9px;color:#3c5038;font-size:12px}.organism-chip small{font-size:9px;color:#8e988a;background:#f1f4ed;padding:4px 5px;border-radius:4px}.organism-chip.active{border-color:#779a6b;background:#f6f8f0}.chip-add{display:grid;place-items:center;width:18px;height:18px;border-radius:5px;background:#e9f0e1;color:#4d7b43}.toast{position:fixed;z-index:10;bottom:22px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:15px;padding:12px 17px;border-radius:9px;background:#293c2b;color:#fff;font-size:12px;box-shadow:0 6px 25px #0002}.toast button{display:flex;border:0;background:transparent;color:#fff;padding:0}.lesson-footer{display:flex;align-items:center;justify-content:space-between;margin-top:18px;border-top:1px solid #e3e9de;padding-top:15px}.lesson-footer div{display:flex;align-items:center;gap:11px}.lesson-footer strong{font-size:11px}.lesson-footer span{font-size:10px;color:#879283}.lesson-footer button{display:flex;align-items:center;gap:6px;border:0;background:transparent;color:#6e8764;font-size:10px}.teacher-tip{display:flex;gap:10px;align-items:start;padding:12px 14px;margin-top:11px;border:1px solid #e3e9de;border-radius:9px;background:#f8faf4;color:#7b8975}.teacher-tip p{margin:0;font-size:10px;line-height:1.7}.teacher-tip strong{color:#526c4d}footer{display:flex;justify-content:space-between;padding:15px 34px;color:#97a192;font-size:9px;border-top:1px solid #e4e9df}@media(max-width:1050px){main{padding:20px}.workspace{grid-template-columns:1fr}.scene,.model-canvas{height:440px}.model-column{min-height:500px}}@media(max-width:640px){.app-header{padding:0 14px}.classroom-indicator,.switch-note{display:none}main{padding:16px 12px}.intro-row{align-items:start;gap:12px}.lesson-tag{display:none}.task-tabs button{padding:11px 8px;font-size:11px}.scene,.model-canvas{height:360px}.panel-heading p{max-width:180px}.scene-label{font-size:9px;padding:4px 5px}.organism-info{flex-wrap:wrap}.add-organism{margin-left:42px}footer{padding:13px 15px;gap:10px}.teacher-tip{padding:10px}}.scene{aspect-ratio:16/9;height:auto;min-height:390px;background-repeat:no-repeat;background-size:100% 100%!important;background-position:center!important}.scene-label.living{border:0;background:transparent;box-shadow:none;min-width:56px;min-height:65px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0;gap:2px;overflow:visible}.scene-label.living:hover,.scene-label.living.picked{box-shadow:none}.scene-organism-img{display:block;width:clamp(46px,6.8vw,105px);height:clamp(40px,6.4vw,94px);object-fit:contain;filter:drop-shadow(0 2px 2px #27251d44);pointer-events:none;-webkit-user-select:none;user-select:none}.scene-img-grass{width:clamp(52px,8vw,118px);height:clamp(55px,7vw,108px)}.scene-img-grasshopper{width:clamp(40px,5vw,74px);height:clamp(38px,4.5vw,68px)}.scene-img-rabbit{width:clamp(60px,7vw,110px);height:clamp(60px,7vw,110px)}.scene-img-field-mouse{width:clamp(43px,5vw,77px);height:clamp(42px,5vw,70px)}.scene-img-insectivorous-bird{width:clamp(52px,6vw,90px);height:clamp(52px,6vw,90px)}.scene-img-hawk{width:clamp(82px,9vw,145px);height:clamp(75px,8vw,128px)}.scene-img-snake{width:clamp(70px,8vw,120px);height:clamp(56px,6vw,94px)}.scene-img-earthworm{width:clamp(46px,5vw,80px);height:clamp(40px,4.5vw,70px)}.scene-img-fungi{width:clamp(62px,7vw,110px);height:clamp(52px,6vw,95px)}.scene-label.living .scene-label-text{font-size:11px;font-weight:700;line-height:1.2;background:#fffdf0ee;border:1px solid #ffffffd9;border-radius:7px;padding:4px 7px;box-shadow:0 2px 6px #0002;color:#273d27}.scene-label.living.picked .scene-label-text,.scene-label.living:hover .scene-label-text{outline:2px solid #5d995a}.scene-label.abiotic{z-index:3}@media(max-width:1050px){.scene{min-height:340px}}@media(max-width:640px){.scene{min-height:240px}.scene-organism-img{width:55px;height:55px}.scene-label.living{min-height:48px}.scene-label.living .scene-label-text{font-size:9px}}.react-flow__node-organism{background:transparent;border:0;min-width:154px}.flow-organism{position:relative;background:#fffef8;border:1px solid #c6d5bc;border-radius:13px;box-shadow:0 5px 14px #273f2619;padding:10px 13px;min-height:64px}.flow-organism.is-selected{outline:3px solid #7fac76}.flow-organism-main{display:flex;align-items:center;gap:10px}.flow-organism-main img{width:42px;height:42px;object-fit:contain}.flow-organism-main strong{font-size:14px;display:block;white-space:nowrap;color:#2c452f}.flow-organism-main small{font-size:10px;display:block;color:#82927b;margin-top:3px}.react-flow__handle.flow-handle{width:16px;height:16px;border:3px solid white;background:#54834f;box-shadow:0 0 0 1px #54834f}.react-flow__handle.flow-handle:hover{transform:translateY(-50%) scale(1.25)}.react-flow__edge-path{stroke-width:2.5}.model-toolbar-actions{display:flex;align-items:center;gap:7px}.model-toolbar-actions button{white-space:nowrap}.model-toolbar-actions .link-active{background:#466e42;color:#fff;border-color:#466e42}.link-help{background:#e9f1e3;border-radius:7px;color:#466e42;font-size:11px;padding:9px 11px;margin-bottom:8px}.scene-label:focus-visible,.organism-chip:focus-visible,.task-tabs button:focus-visible{outline:3px solid #275e3b;outline-offset:3px}.scene-label.living{touch-action:none}.model-canvas{min-height:400px}@media(min-width:1200px){.app-shell:has(.mode-button) .model-toolbar{font-size:11px}}@media(max-width:640px){.model-toolbar{align-items:flex-start;flex-wrap:wrap}.model-toolbar-actions{width:100%;justify-content:flex-end}}.scene-controls{display:flex;align-items:center;gap:7px;margin:0 0 10px;color:#778574;font-size:11px}.scene-controls>span{margin-right:4px}.scene-controls button{background:#fff;border:1px solid #dce5d7;border-radius:18px;padding:6px 12px;font-size:11px;color:#587052;transition:background .15s,border-color .15s}.scene-controls button.active{background:#3f7149;color:#fff;border-color:#3f7149}.scene-controls button:focus-visible{outline:3px solid #2e6841;outline-offset:2px}.scene-label.dimmed{opacity:.28;filter:grayscale(.6);transition:opacity .2s}.scene-label.dimmed:hover,.scene-label.dimmed:focus-visible{opacity:1;filter:none}.scene-label.living .scene-organism-img{transition:transform .16s,filter .16s}.scene-label.living:hover .scene-organism-img,.scene-label.living.picked .scene-organism-img{transform:translateY(-3px) scale(1.07);filter:drop-shadow(0 5px 4px #273e2b55)}.scene-label.abiotic{min-width:45px;justify-content:center}.scene-label.abiotic .scene-label-text{font-weight:600}.scene{aspect-ratio:16/9;min-height:0!important;height:auto!important}.scene-ground-note{pointer-events:none}@media(max-width:640px){.scene-controls{flex-wrap:wrap}.scene-controls button{padding:6px 10px}}.lesson-guide{background:#f8faf5;border:1px solid #dce7d7;border-radius:16px;padding:20px 23px;margin-bottom:20px}.lesson-guide-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.lesson-guide-heading h2{font-size:19px;margin:6px 0 7px;color:#243d2a}.lesson-guide-heading p{font-size:13px;line-height:1.7;color:#60705f;margin:0}.lesson-kicker{font-size:11px;letter-spacing:.08em;color:#6c8a65}.lesson-source{font-size:11px;color:#71826d;white-space:nowrap;background:#edf3e9;padding:7px 11px;border-radius:16px}.role-exercise,.example-panel{margin-top:17px;padding-top:17px;border-top:1px solid #e0e8da}.role-exercise-heading{display:flex;gap:14px;align-items:baseline;margin-bottom:12px}.role-exercise-heading strong,.example-panel strong{font-size:14px;color:#344d35}.role-exercise-heading span,.example-panel p,.role-note{font-size:11px;color:#7b8977;line-height:1.6}.role-exercise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-exercise-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e2e9df;border-radius:9px;padding:9px 10px;font-size:12px}.role-exercise-item>span{font-weight:600;min-width:32px}.role-exercise-item select{min-width:0;flex:1;border:1px solid #d6e2d1;border-radius:6px;padding:7px 5px;background:#fff;color:#39503a;font-size:11px}.role-exercise-item small{font-size:10px}.answer-correct{color:#28713b}.answer-review{color:#a46a2d}.role-exercise-actions,.example-controls{display:flex;gap:9px;margin-top:13px}.role-exercise-actions button,.example-controls button,.example-panel>button{border:1px solid #cadac6;background:#fff;border-radius:8px;padding:8px 13px;font-size:12px;color:#3d6140}.role-exercise-actions button:first-child{background:#416e46;color:#fff}.example-panel>button{margin-top:10px}.example-body{background:#fff;border:1px solid #e0e9dc;border-radius:10px;padding:17px;margin-top:13px}.example-chain{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.example-chain span{display:flex;align-items:center;gap:6px}.example-chain b{color:#548455;font-size:20px}.example-chain em{font-style:normal;font-weight:600;font-size:13px;border:1px solid #d6e5d0;border-radius:8px;padding:10px 13px;background:#f6faf3}.example-controls button:disabled{opacity:.4;cursor:not-allowed}@media(max-width:800px){.role-exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.lesson-guide{padding:14px}.lesson-guide-heading{flex-direction:column}.role-exercise-grid{grid-template-columns:1fr}}.react-flow__node-organism{background:transparent!important;border:0!important;box-shadow:none!important;width:142px!important;min-width:142px}.illustrated-node{position:relative;width:142px;min-height:154px;display:flex;align-items:center;flex-direction:column;justify-content:flex-end;padding:6px 8px 8px;border:2px solid transparent;border-radius:22px;transition:background .15s,border-color .15s}.illustrated-art{width:126px;height:112px;display:flex;align-items:center;justify-content:center;transition:transform .16s}.illustrated-art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #22341f2b);pointer-events:none;-webkit-user-select:none;user-select:none}.illustrated-name{background:#fffffff0;border:1px solid #d8e4d2;border-radius:999px;color:#28482c;font-size:14px;font-weight:700;padding:5px 15px;box-shadow:0 2px 7px #172b181a;white-space:nowrap}.illustrated-node:hover{background:#edf5e780;border-color:#b7d1ac}.illustrated-node:hover .illustrated-art{transform:translateY(-3px) scale(1.04)}.illustrated-node.is-selected{background:#e9f4e8b0;border-color:#6a9b68}.react-flow__handle.illustrated-handle{width:17px;height:17px;border:3px solid #fff;background:#54834f;box-shadow:0 0 0 1px #54834f;opacity:.32;transition:opacity .15s,transform .15s}.illustrated-node:hover .illustrated-handle,.illustrated-node.is-selected .illustrated-handle{opacity:1}.illustrated-in{left:-10px!important;top:52%!important}.illustrated-out{right:-10px!important;top:52%!important}@media(hover:none){.react-flow__handle.illustrated-handle{opacity:1;width:20px;height:20px}}.workspace-expanded{grid-template-columns:minmax(230px,.32fr) minmax(0,1fr)}.workspace-expanded .scene{min-height:0}.workspace-expanded .model-canvas{height:650px;max-height:78vh}.species-investigation{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#f8faf5;border:1px solid #dce7d7;border-radius:13px;padding:15px 18px;margin-top:18px}.species-investigation>div{flex:1;min-width:220px}.species-investigation strong{font-size:14px;color:#35583c}.species-investigation p{font-size:11px;color:#768875;margin:5px 0 0}.species-investigation select{font:inherit;font-size:12px;background:#fff;border:1px solid #c9d9c3;border-radius:8px;padding:9px 13px;min-width:155px}.model-toolbar-actions button:disabled{opacity:.35;cursor:not-allowed}@media(max-width:1050px){.workspace-expanded{grid-template-columns:1fr}.workspace-expanded .model-canvas{height:540px}}.example-organism{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:82px;min-height:105px!important;padding:8px!important}.example-organism img{width:70px;height:65px;object-fit:contain}.example-chain{gap:7px;flex-wrap:wrap}.example-chain span{gap:7px}.soil-entry{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f2f5ec;border:1px solid #dfe7d7;border-radius:11px;padding:11px 14px;margin-top:13px}.soil-entry button{border:1px solid #b8ceb0;border-radius:8px;background:#fff;padding:9px 12px;color:#365b39;font-size:12px;font-weight:650;white-space:nowrap}.soil-entry p{font-size:11px;color:#687b64;margin:0}.soil-lab{border:1px solid #d7e3cf;background:#f9fbf6;border-radius:13px;padding:16px;margin-top:11px}.soil-lab-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:12px}.soil-lab-heading strong{font-size:15px;color:#34553a}.soil-lab-heading span{font-size:10px;color:#899785}.soil-lab-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.soil-lab-items button{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border:1px solid #e0e8d9;border-radius:10px;padding:9px;color:#496348;font-size:12px}.soil-lab-items button.active{border:2px solid #6d986b;background:#edf5e9}.soil-lab-items img{height:92px;width:100%;object-fit:contain}.soil-lab-detail{padding:12px 4px 7px}.soil-lab-detail strong{font-size:13px}.soil-lab-detail p{font-size:12px;line-height:1.7;color:#657763}.soil-lab-extra{display:flex;align-items:center;gap:12px;border-top:1px solid #e2eadb;padding-top:10px}.soil-lab-extra span{font-size:11px;color:#7b8b77}.soil-lab-extra img{width:54px;height:54px;object-fit:contain}@media(max-width:650px){.soil-entry{align-items:flex-start;flex-direction:column}.soil-lab-items img{height:65px}.example-organism{min-width:65px}}.model-review-summary{border-top:1px solid #dce8d8;border-bottom:1px solid #dce8d8;padding:12px 0;margin:12px 0}.model-review-summary strong{display:block;font-size:13px;color:#35583c;margin:8px 0 5px}.model-review-summary p{font-size:12px;line-height:1.7;color:#60725e;margin:0 0 7px}.teacher-console{margin:0 0 15px;padding:12px 15px;background:#f1f5ec;border:1px solid #d7e5d1;border-radius:12px}.teacher-console button{border:1px solid #bfcfb9;border-radius:8px;background:#fff;color:#375d3d;padding:9px 13px;font-size:12px}.teacher-console-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.teacher-console p{font-size:12px;color:#496d4b;margin:11px 0 0}.task-overview{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:7px 2px 13px}.task-overview-kicker{font-size:10px;letter-spacing:.11em;color:#779175}.task-overview h2{font-size:clamp(19px,2vw,27px);color:#29432f;margin:6px 0 5px}.task-overview p{font-size:12px;color:#768474;margin:0;line-height:1.7}.task-overview-actions{display:flex;gap:9px;flex-shrink:0}.task-overview-actions button{background:#fff;border:1px solid #cfdcca;border-radius:9px;padding:10px 14px;color:#426449;font-size:12px}.workspace-observe{display:block;max-width:1250px;margin:auto}.workspace-observe .scene-column{padding:22px}.workspace-observe .scene{width:100%;max-height:none;min-height:0}.workspace-chain,.workspace-web{grid-template-columns:minmax(310px,2fr) minmax(0,3fr);gap:16px;align-items:start}.workspace-chain .scene-column,.workspace-web .scene-column{padding:13px}.workspace-chain .scene,.workspace-web .scene{width:100%;height:auto;min-height:0}.workspace-chain .model-canvas{min-height:500px;height:58vh}.workspace-web .model-canvas{min-height:570px;height:65vh}.workspace-web.workspace-expanded{grid-template-columns:minmax(240px,1fr) minmax(0,4fr)}.workspace .model-column{min-width:0}.task-tabs,.lesson-guide{margin-bottom:15px}@media(max-width:980px){.workspace-chain,.workspace-web,.workspace-web.workspace-expanded{grid-template-columns:1fr}.workspace-chain .scene,.workspace-web .scene{max-height:440px}.task-overview{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.task-overview-actions{flex-wrap:wrap}.workspace-observe .scene-column{padding:12px}.workspace-chain .model-canvas,.workspace-web .model-canvas{height:470px}}.scene-label.living{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;flex-direction:column;gap:2px}.scene-label.living:hover,.scene-label.living.picked{box-shadow:none!important}.scene-label.living .scene-label-dot{display:none}.scene-label.living .scene-label-text{font-size:clamp(10px,1vw,13px);background:#fffdf1ee;border:1px solid #f6f1df;border-radius:999px;padding:4px 10px;box-shadow:0 2px 5px #18291b26}.scene-label.abiotic{border:1px dashed #e8c978!important;background:#fff7dccc!important;border-radius:999px!important;padding:6px 10px!important;color:#795f31!important;box-shadow:none!important;gap:5px}.scene-label.abiotic .scene-label-dot{width:6px;height:6px}.scene-label.abiotic .scene-label-text{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;font-size:11px;color:#795f31}.scene-popover{position:absolute;z-index:12;width:min(270px,45%);max-height:75%;overflow:auto;transform:translate(12px,-48%);background:#fffffff7;border:1px solid #d8e4d2;border-radius:14px;box-shadow:0 12px 35px #233c2b35;padding:14px 15px;text-align:left}.scene-popover.popover-left{transform:translate(calc(-100% - 14px),-48%)}.scene-popover.popover-up{transform:translate(12px,-88%)}.scene-popover.popover-left.popover-up{transform:translate(calc(-100% - 14px),-88%)}.scene-popover-heading{display:flex;align-items:center;gap:9px}.scene-popover-heading strong{font-size:16px;color:#28472f}.scene-popover-heading span{font-size:10px;color:#69816a;background:#eaf3e7;border-radius:20px;padding:4px 8px}.scene-popover-heading button{margin-left:auto;border:0;background:transparent;color:#687f69;padding:4px}.scene-popover p{font-size:12px;line-height:1.75;color:#506450;margin:10px 0}.scene-popover-add{width:100%;border:0;background:#44764b;color:#fff;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:650}@media(max-width:650px){.scene-popover{width:53%;padding:10px;max-height:65%}.scene-popover-heading strong{font-size:13px}.scene-popover p{font-size:10px}.scene-label.living .scene-label-text{font-size:9px;padding:3px 6px}}.chain-sorter{display:flex;align-items:center;gap:8px;overflow-x:auto;min-height:205px;padding:22px 16px;background:#f7faf4;border:1px solid #e0e9dc;border-radius:14px;margin-bottom:12px}.chain-sort-item{display:flex;align-items:center;gap:8px;flex-shrink:0}.chain-sort-item button{width:125px;min-height:153px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed transparent;background:transparent;border-radius:14px;color:#35583b;cursor:grab}.chain-sort-item button:hover,.chain-sort-item button:focus-visible{background:#edf5e8;border-color:#aac7a4}.chain-sort-item img{width:110px;height:105px;object-fit:contain;pointer-events:none}.chain-sort-item strong{font-size:13px;background:#fff;padding:5px 13px;border-radius:999px}.chain-sort-item>span{font-size:26px;color:#56815a}.react-flow__node-organism .illustrated-node,.react-flow__node-organism .illustrated-node.is-selected{background:transparent;border-color:transparent}.react-flow__node-organism{border:0!important;background:transparent!important;box-shadow:none!important}.react-flow__node-organism .illustrated-node,.react-flow__node-organism .illustrated-node.is-selected{border-color:transparent!important;background:transparent!important}.react-flow__node-organism.is-link-origin .illustrated-art img{filter:drop-shadow(0 0 9px #68a26a99)}.react-flow__node-organism.is-link-origin .illustrated-name{box-shadow:0 0 0 2px #74a976}.react-flow__node-organism .illustrated-handle{opacity:0!important;pointer-events:none!important}.model-canvas{min-height:540px}.scene-label.labels-hidden .scene-label-text,.scene-label.labels-hidden .scene-label-dot{display:none!important}.scene-label.abiotic.labels-hidden{border:0!important;background:transparent!important;box-shadow:none!important;min-width:25px;min-height:25px;padding:0!important}.scene-label.abiotic.labels-hidden:focus-visible{outline:2px solid #6d9767}.scene-label.living .scene-organism-img{filter:drop-shadow(0 3px 4px #1e2b1e65) drop-shadow(0 0 1px #fff9ee);transition:filter .16s,transform .16s}.scene-label.living:hover .scene-organism-img,.scene-label.living.picked .scene-organism-img{filter:drop-shadow(0 5px 5px #1e2b1e7a) drop-shadow(0 0 3px #f9fff5)}.scene-label.living .scene-label-text{margin-top:-2px}.react-flow__node-organism .illustrated-art img{filter:drop-shadow(0 3px 3px #1e2b1e45)}.react-flow__node-organism.is-link-origin .illustrated-art{outline:3px solid #438b53;outline-offset:3px;border-radius:14px;background:#cde9d34d}.react-flow__node-organism.is-link-origin .illustrated-name{outline:2px solid #438b53;outline-offset:2px}.selected-edge-toolbar{display:flex;gap:9px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:#fff9ec;border:1px solid #e9d7b3;border-radius:9px;margin-top:10px;font-size:12px;color:#815b28}.selected-edge-toolbar button{border:1px solid #e0c69b;background:#fff;color:#755323;padding:7px 10px;border-radius:7px}.toast{position:fixed!important;left:auto!important;right:20px!important;bottom:20px!important;transform:none!important;max-width:min(380px,calc(100vw - 40px));z-index:100;pointer-events:auto;font-size:11px;box-shadow:0 5px 20px #0002}.link-help{min-height:34px;box-sizing:border-box}.teacher-console{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:8px 12px;margin-bottom:10px}.teacher-console-actions{display:flex;gap:7px;margin:0}.teacher-console p{width:100%;margin:3px 0;font-size:11px}.task-overview-actions button{font-weight:650;border-color:#adc5a7;background:#f0f6eb;color:#2f623c}.task-overview-actions button:hover{background:#e1eddb}.intro-row{display:none}@media(max-width:700px){.toast{right:10px!important;bottom:10px!important;max-width:calc(100vw - 20px)}.teacher-console{align-items:flex-start}}.header-teacher-button{border:1px solid #c9d9c3;background:#f7faf5;border-radius:8px;padding:9px 13px;color:#385e3d;font-size:12px;cursor:pointer}.scene-role-dialog{position:absolute;z-index:18;left:8px;top:8px;right:auto;bottom:auto;transform:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fffffff5;border:1px solid #b7cfae;border-radius:11px;padding:11px 14px;box-shadow:0 5px 22px #203a2733;max-width:calc(100% - 24px)}.scene-role-dialog strong{font-size:13px;color:#315739;white-space:nowrap}.scene-role-dialog select{border:1px solid #c6d9bf;border-radius:7px;padding:7px;background:#fff;font-size:12px}.scene-role-dialog button,.scene-quiz-buttons button{background:#436f48;color:#fff;border:0;border-radius:8px;padding:9px 13px;font-size:12px}.scene-quiz-buttons button:disabled{opacity:.4;cursor:not-allowed}.scene-quiz-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px;padding:13px 15px;border:1px solid #d6e5d1;border-radius:11px;background:#f6faf3}.scene-quiz-footer strong{font-size:13px;color:#315739}.scene-quiz-footer p{font-size:12px;color:#71836c;margin:4px 0 0}.scene-quiz-buttons{display:flex;gap:8px;flex-wrap:wrap}.role-score{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-top:9px}.role-score span{padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #e0e7db;font-size:11px}.role-score .role-right{color:#347b48}.role-score .role-wrong{color:#bc514b}.link-help{display:flex;align-items:center;min-height:34px;height:34px;box-sizing:border-box;margin:6px 0;padding:6px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.link-help-idle{background:transparent!important;border-color:transparent!important;color:#748674!important}.toast{bottom:16px!important;right:16px!important;left:auto!important;max-width:300px!important;opacity:.96}.scene-label.living.picked .scene-organism-img{filter:drop-shadow(0 0 5px #548c57)!important}@media(max-width:650px){.scene-role-dialog{max-width:calc(100% - 16px)}.scene-quiz-footer{align-items:flex-start}}.scene-label .scene-answer-badge{position:absolute;z-index:4;top:-11px;right:-12px;white-space:nowrap;pointer-events:none;font-size:10px;font-weight:700;line-height:1.2;padding:4px 6px;border-radius:20px;border:1px solid #b4d2b8;box-shadow:0 1px 5px #1c3b2733;background:#fff;color:#2d7246}.scene-label .scene-answer-badge.is-wrong{background:#fff4f2;border-color:#e4a5a1;color:#aa403c}.scene-label .scene-answer-badge.is-correct{background:#eaf7e8;color:#2b773e}.scene-label .scene-answer-badge.is-answered{background:#eaf4ee;color:#2c6942}.scene-label.abiotic .scene-answer-badge{top:-10px;right:-8px}.task-tabs{display:flex;flex-wrap:wrap;gap:8px}.task-tabs button{min-height:44px}.task-overview-actions{flex-wrap:wrap}.scene-role-dialog{box-sizing:border-box;width:max-content;max-width:calc(100% - 24px)}.scene-role-dialog select{min-height:40px;max-width:100%}.scene-quiz-buttons button{min-height:40px}.scene-label:focus-visible,.task-tabs button:focus-visible,.model-toolbar button:focus-visible,.scene-quiz-buttons button:focus-visible{outline:3px solid #397a51;outline-offset:3px}@media(max-width:700px){.task-tabs button{flex:1 1 145px;justify-content:center}.task-overview-actions{width:100%}.task-overview-actions button{flex:1 1 155px}.model-toolbar{flex-wrap:wrap;gap:8px}.model-toolbar-actions{display:flex;flex-wrap:wrap;gap:6px}.link-help{height:auto;min-height:38px;white-space:normal;line-height:1.5}.scene-role-dialog{width:calc(100% - 16px);max-width:none}.scene-role-dialog strong{white-space:normal}.scene-quiz-buttons{width:100%}.scene-quiz-buttons button{flex:1 1 140px}}@media(prefers-reduced-motion:reduce){.scene-label.living .scene-organism-img{transition:none}}.scene-label .scene-answer-badge{position:absolute;z-index:4;top:-5px;right:-5px;width:13px;height:13px;min-width:13px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0;border:2px solid #fff;border-radius:50%;background:#5c9870;color:transparent;font-size:0;line-height:1;box-shadow:0 1px 3px #18392355;pointer-events:none}.scene-label .scene-answer-badge.is-answered{background:#5c9870;color:transparent;border-color:#fff}.scene-label .scene-answer-badge.is-correct{width:19px;height:19px;background:#3f8653;color:#fff;font-size:13px;font-weight:800;border:2px solid #fff}.scene-label .scene-answer-badge.is-wrong{width:19px;height:19px;background:#b9554f;color:#fff;font-size:13px;font-weight:800;border:2px solid #fff}.scene-label.abiotic .scene-answer-badge{top:-6px;right:-7px}.scene-label.living.answer-selected .scene-label-text,.scene-label.living.answer-correct .scene-label-text{background:#347b50!important;border:1px solid #28603d!important;color:#fff!important;box-shadow:0 2px 8px #143e2a45!important}.scene-label.living.answer-wrong .scene-label-text{background:#b74f46!important;border:1px solid #933e37!important;color:#fff!important;box-shadow:0 2px 8px #4b171733!important}.scene-label.abiotic.answer-selected,.scene-label.abiotic.answer-correct{background:#347b50!important;border:1px solid #28603d!important;color:#fff!important;box-shadow:0 2px 8px #143e2a45!important}.scene-label.abiotic.answer-wrong{background:#b74f46!important;border:1px solid #933e37!important;color:#fff!important;box-shadow:0 2px 8px #4b171733!important}.scene-label.abiotic.answer-selected .scene-label-text,.scene-label.abiotic.answer-correct .scene-label-text,.scene-label.abiotic.answer-wrong .scene-label-text{background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important}.scene-label.abiotic.answer-selected .scene-label-dot,.scene-label.abiotic.answer-correct .scene-label-dot,.scene-label.abiotic.answer-wrong .scene-label-dot{background:#fff!important}.scene-label.living.extracted .scene-organism-img{opacity:.38;filter:grayscale(.3)!important}.scene-label.living.extracted .scene-label-text{opacity:.7}.selected-edge-toolbar{align-items:flex-start}.selected-edge-toolbar>span{flex:1 1 250px;line-height:1.5}.selected-edge-toolbar>span strong{display:block;font-size:13px}.selected-edge-toolbar>span p{margin:5px 0 0;max-width:760px;line-height:1.6}.scene-popover{left:auto;top:auto}.scene-popover.popover-left,.scene-popover.popover-up,.scene-popover.popover-left.popover-up{transform:none}.scene-popover{transform:none!important;left:50%!important;top:50%!important;width:min(340px,calc(100% - 24px));max-height:65%;translate:-50% -50%}.workspace-chain,.workspace-web,.workspace-web.workspace-expanded{display:flex!important;flex-direction:column!important;gap:18px!important;align-items:stretch!important}.workspace-chain>.scene-column,.workspace-web>.scene-column,.workspace-chain>.model-column,.workspace-web>.model-column{width:100%!important;max-width:none!important;min-width:0!important}.workspace-chain .scene,.workspace-web .scene{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:16/7!important}.workspace-chain .scene-organism-img,.workspace-web .scene-organism-img{max-height:100%}.workspace-chain .model-canvas,.workspace-web .model-canvas{height:clamp(540px,65vh,780px)!important;min-height:540px!important}.workspace-chain .scene-column,.workspace-web .scene-column{padding:18px!important}.feedback-card{font-size:13px;line-height:1.6}@media(max-width:700px){.workspace-chain .scene,.workspace-web .scene{aspect-ratio:16/9!important}.workspace-chain .model-canvas,.workspace-web .model-canvas{min-height:460px!important;height:520px!important}}.chain-discovery,.ecosystem-experiment{margin:22px 0 16px;background:#fbfcf8;border:1px solid #dfe8d9;border-radius:18px;padding:24px;box-shadow:0 4px 22px #314c3009}.discovery-heading,.experiment-heading{margin-bottom:19px}.discovery-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.discovery-kicker{font-size:10px;letter-spacing:.14em;font-weight:700;color:#6e9069}.discovery-heading h2,.experiment-heading h2{font-size:24px;line-height:1.35;color:#284b32;margin:8px 0}.discovery-heading p,.experiment-heading p{font-size:13px;color:#728171;line-height:1.7;margin:0}.discovery-heading>strong{white-space:nowrap;background:#e8f1e3;border-radius:20px;padding:8px 13px;color:#3b6f48;font-size:12px}.discovery-cards{display:grid;gap:11px}.discovery-card{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid #dce7d5;background:#f4f8f0;border-radius:13px;flex-wrap:wrap}.discovery-index{font-size:12px;color:#739274;font-weight:700}.discovery-card>div{display:flex;flex-wrap:wrap;align-items:center;gap:9px;flex:1;color:#305a3a;font-size:14px;font-weight:700}.discovery-card>div span{display:inline-flex;align-items:center;gap:9px}.discovery-card>div b{color:#74a27a}.discovery-card small{color:#648269}.discovery-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:160px;border:1px dashed #c9dac4;border-radius:13px;color:#69856a;gap:7px;text-align:center}.discovery-empty strong{font-size:14px;color:#3d6746}.discovery-empty p{font-size:12px;margin:0 12px}.discovery-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:17px;flex-wrap:wrap}.discovery-bottom button,.experiment-reflection button{border:1px solid #bed1b7;background:#fff;color:#3e6d46;border-radius:9px;padding:11px 15px;font-size:12px;font-weight:650}.discovery-bottom .discovery-next{background:#3f7148;color:#fff;border-color:#3f7148}.reference-chains{margin-top:15px;border-top:1px solid #dfe8d9;padding-top:15px;color:#456347}.reference-chains strong{font-size:13px}.reference-chains p{font-size:13px;margin:8px 0}.reference-chains small{font-size:11px;color:#748373}.ecosystem-experiment{background:#f7f9f3}.scenario-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.scenario-tabs button{padding:11px 16px;background:#fff;border:1px solid #cfdcca;border-radius:999px;color:#547159;font-size:13px}.scenario-tabs button.active{background:#3c7049;color:#fff;border-color:#3c7049}.experiment-landscape{position:relative;aspect-ratio:16/7;min-height:320px;max-height:560px;border-radius:14px;overflow:hidden;background-size:100% 100%;background-position:center;background-repeat:no-repeat}.experiment-landscape-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 45%,#799a4c0d 68%,transparent 75%);pointer-events:none}.experiment-species{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.experiment-animal{position:absolute;width:12%;height:22%;transition:opacity 1.2s ease;top:39%}.experiment-animal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #263c2d50)}.experiment-animal.animal-rabbit{left:29%}.experiment-animal.animal-fox{left:71%}.experiment-vegetation{position:absolute;left:0;right:0;top:58%;height:8%;pointer-events:none}.experiment-vegetation span{position:absolute;bottom:0;width:3px;border-radius:100% 100% 0 0;background:linear-gradient(#93b34b,#517e35);transform-origin:bottom;animation:grass-grow .9s ease both;opacity:.7}.experiment-vegetation span:nth-child(3n){transform:rotate(9deg);background:#7f9b41}.experiment-vegetation span:nth-child(4n){transform:rotate(-12deg);background:#c0ae5d}@keyframes grass-grow{0%{scale:1 .15;opacity:0}to{scale:1 1;opacity:.75}}.experiment-label{position:absolute;right:14px;bottom:12px;background:#fffef0dc;border-radius:6px;padding:5px 9px;font-size:10px;color:#50604d}.experiment-timeline{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;padding:17px;color:#6b8269;font-size:12px}.experiment-explanation{border:1px solid #d9e6d1;background:#fff;border-radius:13px;padding:18px 20px}.experiment-explanation strong{color:#315d3c;font-size:15px}.experiment-explanation p{font-size:13px;line-height:1.8;color:#49624d}.experiment-explanation small{font-size:11px;color:#84907c}.experiment-reflection{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:15px;flex-wrap:wrap;color:#375a3d;font-size:13px}@media(max-width:700px){.chain-discovery,.ecosystem-experiment{padding:16px}.discovery-heading{flex-wrap:wrap}.experiment-landscape{min-height:220px;aspect-ratio:16/9}.experiment-timeline{gap:7px;font-size:11px}}@media(prefers-reduced-motion:reduce){.experiment-vegetation span{animation:none}.experiment-animal{transition:none}}.experiment-vegetation{position:absolute;right:0;bottom:0;left:0;top:0;height:100%;pointer-events:none;overflow:hidden}.experiment-vegetation .experiment-grass{position:absolute;top:auto;bottom:30%;max-height:23%;object-fit:contain;object-position:center bottom;transform-origin:center bottom;animation:grass-asset-grow 1.25s ease-out both;filter:drop-shadow(0 2px 2px #253c2330)}.experiment-vegetation .experiment-grass:nth-child(3n){bottom:32%;filter:brightness(.9)}.experiment-vegetation .experiment-grass:nth-child(4n){bottom:28%;filter:brightness(1.07)}.experiment-landscape.experiment-rabbit .experiment-grass{max-height:30%}.experiment-landscape.experiment-fox .experiment-grass{max-height:14%;opacity:.7}@keyframes grass-asset-grow{0%{transform:scaleY(.22);opacity:.1}to{transform:scaleY(1);opacity:1}}@media(prefers-reduced-motion:reduce){.experiment-vegetation .experiment-grass{animation:none}}@media(min-width:980px){.workspace-chain,.workspace-web,.workspace-web.workspace-expanded{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr)!important;align-items:start!important;gap:18px!important}.workspace-chain>.scene-column,.workspace-web>.scene-column{position:sticky;top:84px}.workspace-chain .scene,.workspace-web .scene{height:auto!important;aspect-ratio:16/10!important}.workspace-chain .model-canvas,.workspace-web .model-canvas{height:clamp(520px,68vh,760px)!important;min-height:520px!important}}@media(min-width:980px)and (max-height:760px){.workspace-chain>.scene-column,.workspace-web>.scene-column{position:static}}.experiment-vegetation .experiment-grass{bottom:30%!important;max-height:18%!important;width:auto}.experiment-vegetation .experiment-grass:nth-child(3n){bottom:31%!important}.experiment-vegetation .experiment-grass:nth-child(4n){bottom:29%!important}.experiment-landscape.experiment-fox .experiment-grass{max-height:13%!important}.experiment-landscape{isolation:isolate;background:none!important}.experiment-background{position:absolute;top:0;right:0;bottom:0;left:0;background-size:100% 100%;background-position:center;background-repeat:no-repeat;transition:opacity 1.15s ease-in-out;pointer-events:none}.experiment-background-original{opacity:1;z-index:0}.experiment-background-simulation{opacity:0;z-index:1}.experiment-landscape-overlay{z-index:2}.experiment-species{z-index:4;opacity:0;transition:opacity 1s ease .45s}.experiment-landscape:not(.experiment-normal) .experiment-species{opacity:1}.experiment-vegetation{z-index:3;opacity:0;transition:opacity .8s ease .5s}.experiment-landscape:not(.experiment-normal) .experiment-vegetation{opacity:1}.experiment-vegetation .experiment-grass,.experiment-vegetation .experiment-grass:nth-child(3n),.experiment-vegetation .experiment-grass:nth-child(4n){bottom:36.5%!important}.experiment-vegetation .experiment-grass:nth-child(3n){bottom:37.2%!important}.experiment-vegetation .experiment-grass:nth-child(4n){bottom:35.8%!important}.experiment-landscape.experiment-rabbit .experiment-grass{max-height:21%!important}.experiment-landscape.experiment-fox .experiment-grass{max-height:11%!important}.experiment-landscape .experiment-grass{transition:max-height 1.6s ease,opacity 1s ease;animation:grass-asset-grow 1.25s ease-out both}.experiment-landscape.experiment-normal .experiment-grass{animation:none}.experiment-label{z-index:6}@media(prefers-reduced-motion:reduce){.experiment-background,.experiment-species,.experiment-vegetation,.experiment-landscape .experiment-grass{transition:none!important;animation:none!important}}@media(min-width:980px){.workspace-chain>.scene-column,.workspace-web>.scene-column{position:static!important;top:auto!important;align-self:start!important}}.experiment-background{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important;display:block!important;object-fit:fill!important;max-width:none!important;opacity:1;transition:opacity 1.15s ease-in-out;pointer-events:none}.experiment-background-original{z-index:0;opacity:1}.experiment-background-simulation{z-index:1;opacity:0}.experiment-landscape:not(.experiment-normal) .experiment-background-original{opacity:0}.experiment-landscape:not(.experiment-normal) .experiment-background-simulation{opacity:1}.reference-top{margin:0 0 16px;padding:18px 22px;background:#f6f9f0;border:1px solid #d7e5d1;border-radius:14px}.reference-top p{margin:8px 0;font-size:14px;line-height:1.7;color:#38573e}.reference-top small{display:block;line-height:1.6}.inquiry-heading{padding:14px 18px;margin-bottom:12px;border:1px solid #dce6d5;border-radius:12px;background:#f5f8f1}.inquiry-heading strong{font-size:14px;color:#345d3d}.inquiry-heading p{font-size:12px;color:#69816d;margin:7px 0 0}.experiment-reflection>div{display:flex;gap:8px;flex-wrap:wrap}.reflection-answer{margin-top:12px;border:1px solid #d4e2ce;border-radius:12px;background:#fff;padding:18px 20px;color:#3a5d41}.reflection-answer p{font-size:13px;line-height:1.85}.reflection-answer small{font-size:11px;color:#778675;line-height:1.6}.reference-visual-chain{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin:17px 0;padding:16px 8px;background:#fff;border:1px solid #e1e9dc;border-radius:12px}.reference-visual-step{display:flex;align-items:center;gap:12px}.reference-visual-organism{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:100px}.reference-visual-organism img{width:88px;height:85px;object-fit:contain}.reference-visual-organism strong{font-size:13px;color:#31553a}.reference-visual-arrow{font-size:25px;font-weight:700;color:#4b895a}@media(max-width:650px){.reference-visual-chain,.reference-visual-step{gap:6px}.reference-visual-organism{min-width:64px}.reference-visual-organism img{width:55px;height:58px}.reference-visual-arrow{font-size:17px}}.intro-challenge{padding:22px 24px}.intro-header{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.intro-header h2{font-size:22px;margin:7px 0;color:#2c4f35}.intro-header>button,.intro-footer>button{border:1px solid #cbdcc5;background:#fff;border-radius:9px;padding:10px 14px;color:#527457;font-size:12px}.intro-stages{display:flex;gap:8px;margin:16px 0}.intro-stages button{flex:1;padding:12px 15px;border:1px solid #d5e2ce;border-radius:10px;background:#fff;color:#58735b;font-weight:650}.intro-stages button.active{background:#3e714b;border-color:#3e714b;color:#fff}.intro-example{text-align:center}.intro-example>p{font-size:13px;color:#4e6b50}.intro-next{background:#3e714b!important;color:#fff!important;border:1px solid #3e714b!important;border-radius:9px;padding:11px 17px;font-weight:650}.intro-footer{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px}.intro-try .predation-explorer{margin:0;border:0;box-shadow:none;background:transparent;padding:12px 0}@media(max-width:650px){.intro-challenge{padding:15px}.intro-stages button{padding:10px 6px;font-size:12px}}.intro-compact{margin:0 0 18px;padding:22px 26px;background:#f8faf4;border:1px solid #dce8d5;border-radius:16px}.intro-compact-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:13px}.intro-compact-header h2{font-size:20px;font-weight:700;color:#2c4d35;margin:5px 0 0}.intro-compact button{cursor:pointer;font-family:inherit}.intro-compact .intro-close{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d8e4d1;border-radius:50%;background:#fff;color:#68806a;padding:0;flex-shrink:0}.intro-compact .intro-close:hover{background:#edf3e9;color:#305a3b}.intro-compact .reference-visual-chain{margin:0;padding:12px 8px;background:#fff;min-height:130px}.intro-compact .reference-visual-organism img{width:78px;height:78px}.intro-compact-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px;flex-wrap:wrap}.intro-compact-bottom>span{font-size:13px;color:#647a65}.intro-compact .intro-next{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#3e714b!important;color:#fff!important;border:1px solid #3e714b!important;border-radius:9px;padding:10px 17px;font-size:13px;font-weight:650}.intro-compact .intro-back{border:0;background:transparent;color:#537459;padding:10px 4px;font-size:13px}.intro-compact .intro-try .predation-explorer{margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}.intro-compact .intro-try .predation-top{display:none}.intro-compact .intro-try .predation-pair{margin:8px auto 15px}.intro-compact .intro-try .predation-disclaimer{font-size:11px}@media(max-width:650px){.intro-compact{padding:16px}.intro-compact-header h2{font-size:18px}.intro-compact .reference-visual-organism img{width:58px;height:58px}}@media(min-width:1051px){.workspace-observe{max-width:none!important;width:100%!important;margin:0!important}.workspace-observe .scene-column,.workspace-observe .scene{width:100%!important;max-width:none!important}.classroom-shell .workspace-observe .scene{aspect-ratio:16/7!important;height:auto!important}.classroom-shell .workspace-observe .scene-column{padding:14px 20px!important}.classroom-shell .workspace-observe .panel-heading{margin-bottom:10px}.classroom-shell .workspace-chain,.classroom-shell .workspace-web{align-items:start}.classroom-shell .workspace-chain .model-canvas,.classroom-shell .workspace-web .model-canvas{height:clamp(410px,56vh,650px)!important;min-height:410px!important}.classroom-shell .task-overview{margin-bottom:16px}.classroom-shell .intro-compact{padding:14px 20px;margin-bottom:12px}.classroom-shell .intro-compact .reference-visual-chain{min-height:105px;padding:6px}.classroom-shell .intro-compact .reference-visual-organism img{height:62px;width:72px}.classroom-shell .intro-compact-header{margin-bottom:7px}.classroom-shell .intro-compact-header h2{font-size:17px}.classroom-shell .intro-compact-bottom{margin-top:7px}}.ecosystem-experiment{padding:18px 22px!important}.experiment-heading{margin-bottom:12px!important}.experiment-heading h2{font-size:21px!important;margin:5px 0!important}.experiment-heading p{font-size:12px!important}.scenario-tabs{margin-bottom:12px!important}.scenario-tabs button{padding:9px 13px!important}.experiment-landscape{aspect-ratio:16/6.5!important;min-height:0!important;max-height:440px!important}.experiment-species{z-index:4!important}.experiment-animal{top:48%!important;width:11%!important;height:18%!important}.experiment-animal.animal-rabbit{left:28%!important}.experiment-animal.animal-fox{left:72%!important}.experiment-vegetation .experiment-grass{bottom:32%!important;max-height:18%!important}.experiment-vegetation .experiment-grass:nth-child(3n){bottom:33%!important}.experiment-vegetation .experiment-grass:nth-child(4n){bottom:31%!important}.experiment-landscape.experiment-fox .experiment-grass{max-height:9%!important;opacity:.55!important}.experiment-landscape.experiment-rabbit .experiment-grass{max-height:24%!important}.experiment-timeline{padding:10px!important}.experiment-explanation{padding:12px 16px!important}.experiment-explanation p{margin:5px 0!important}@media(min-width:1051px)and (min-height:750px){.classroom-shell .experiment-landscape{max-height:390px!important}}@media(max-width:700px){.experiment-landscape{aspect-ratio:16/9!important;min-height:200px!important}.ecosystem-experiment{padding:13px!important}}@media(min-width:1051px){.workspace-chain,.workspace-web,.workspace-web.workspace-expanded{display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.35fr)!important;align-items:stretch!important;gap:18px!important}.workspace-chain>.scene-column,.workspace-web>.scene-column,.workspace-chain>.model-column,.workspace-web>.model-column{align-self:stretch!important;height:100%!important;min-height:0!important}.workspace-chain>.model-column,.workspace-web>.model-column{display:flex!important;flex-direction:column!important}.workspace-chain .model-canvas,.workspace-web .model-canvas,.classroom-shell .workspace-chain .model-canvas,.classroom-shell .workspace-web .model-canvas{flex:1 1 auto!important;height:auto!important;min-height:510px!important;max-height:none!important}.workspace-chain .model-column>.react-flow,.workspace-web .model-column>.react-flow{flex:1 1 auto}}.saved-chain-panel{margin-top:12px;border:1px solid #dce8d6;border-radius:12px;background:#f7faf4;padding:13px 15px}.saved-chain-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#315b3c;font-size:13px}.saved-chain-heading span{border-radius:20px;background:#e4efe0;padding:4px 10px;font-size:11px;font-weight:700}.saved-chain-panel>p{font-size:12px;color:#81907e;margin:10px 0 0}.saved-chain-list{display:flex;flex-direction:column;gap:7px;margin-top:11px;max-height:170px;overflow-y:auto}.saved-chain-row{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#fff;border:1px solid #e1e9dc;border-radius:8px;color:#355d3e;font-size:12px}.saved-chain-row>span{font-size:11px;color:#7e9b80}.saved-chain-row strong{font-weight:650}.saved-chain-row em{margin-left:auto;font-style:normal;white-space:nowrap;font-size:10px;color:#6b886c;background:#eef5ea;border-radius:999px;padding:4px 8px}.saved-chain-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid #dce8d6}.saved-chain-actions span{font-size:12px;color:#66826b}.saved-chain-actions button{background:#3e714b;color:#fff;border:1px solid #3e714b;border-radius:9px;padding:10px 15px;font-size:13px;font-weight:650;cursor:pointer}.saved-chain-actions button:disabled{background:#e6ece3;color:#8fa18e;border-color:#dce5d8;cursor:not-allowed}.experiment-landscape.experiment-normal .experiment-species{opacity:1!important}.experiment-landscape .experiment-species{z-index:5!important}.experiment-landscape .experiment-animal{z-index:1}.web-learning-guide{margin:0 0 16px;padding:16px 20px;border:1px solid #dbe8d6;background:#f7faf4;border-radius:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.web-learning-guide h3{margin:5px 0 7px;color:#30533b;font-size:18px}.web-learning-guide p{margin:0;color:#627a64;font-size:12px;line-height:1.65;max-width:800px}.web-guide-stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.web-guide-stats span{padding:5px 9px;border-radius:7px;background:#e8f1e4;color:#477050;font-size:11px}.web-learning-guide>button{border:1px solid #b9d0b8;background:#fff;color:#3e714b;padding:10px 13px;border-radius:9px;font-size:12px;cursor:pointer}.web-learning-guide .web-guide-answer{flex-basis:100%;max-width:none;padding-top:10px;border-top:1px solid #dce8d6}.chain-to-web-guide{margin-top:12px;padding:11px 13px;background:#edf4e9;border-radius:10px;border:1px solid #dce9d5}.chain-to-web-guide>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.chain-to-web-guide strong{font-size:12px;color:#355c40}.chain-to-web-guide button{border:0;background:transparent;color:#3e714b;font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}.chain-to-web-guide p{margin:9px 0 0;font-size:12px;line-height:1.65;color:#5b745e}.web-transition{margin:12px 0 18px;padding:18px 22px;background:#f7faf4;border:1px solid #dbe7d4;border-radius:16px}.web-transition-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.web-transition-heading h3{margin:5px 0 0;color:#30553a;font-size:19px}.web-transition-close{width:30px;height:30px;border:1px solid #d7e4d1;background:#fff;border-radius:50%;color:#5d775e;font-size:20px;cursor:pointer}.web-transition-progress{display:flex;gap:8px;margin:13px 0}.web-transition-progress span{flex:1;text-align:center;padding:8px 5px;border-radius:8px;background:#eaf0e6;color:#708570;font-size:11px}.web-transition-progress span.active{background:#3e714b;color:#fff;font-weight:700}.web-transition-stage{min-height:180px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e0e9db;border-radius:12px;padding:15px;overflow:hidden}.web-transition-chains{display:flex;flex-direction:column;gap:12px;width:100%;align-items:center}.web-transition-chain{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;animation:webChainIn .45s ease both}.web-transition-chain:nth-child(2){animation-delay:.18s}.web-transition-organism{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:74px;padding:6px 10px;border-radius:11px;border:1px solid #e1e8dc;background:#fff;color:#355b3d;font-size:12px}.web-transition-organism img{height:44px;width:60px;object-fit:contain}.web-transition-organism.shared{border-color:#76a674;background:#e4f1dc;box-shadow:0 0 0 3px #d5e9ce}.web-transition-arrow{font-size:21px;color:#5d8a62}.web-transition-merged{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;max-width:750px}.web-transition-organism.merged{animation:webNodeMerge .65s ease both}.web-transition-caption{font-size:12px;color:#607963;line-height:1.6;margin:12px 0}.web-transition-controls{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.web-transition-controls button{padding:9px 14px;border:1px solid #cbdcc6;background:#fff;color:#446c4b;border-radius:8px;cursor:pointer;font-size:12px}.web-transition-controls button:disabled{opacity:.4;cursor:not-allowed}.web-transition-controls .web-transition-primary{background:#3e714b;color:#fff;border-color:#3e714b;font-weight:650}@keyframes webChainIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes webNodeMerge{0%{opacity:0;transform:translate(20px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}@media(prefers-reduced-motion:reduce){.web-transition *{animation:none!important;transition:none!important}}@media(max-width:700px){.web-transition{padding:13px}.web-transition-organism{min-width:54px;padding:5px}.web-transition-organism img{width:43px;height:35px}}section.web-transition{display:block!important;max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}section.web-transition .web-transition-stage{height:260px!important;min-height:0!important;max-height:260px!important;overflow:hidden!important}section.web-transition .web-transition-chains{height:100%!important;overflow:hidden!important}section.web-transition .web-transition-chain{max-width:100%!important;min-height:0!important}section.web-transition .web-transition-organism{flex:0 0 auto!important;max-width:100px!important;max-height:90px!important;overflow:hidden!important}section.web-transition .web-transition-organism img{display:block!important;width:64px!important;height:52px!important;max-width:64px!important;max-height:52px!important;object-fit:contain!important}section.web-transition .web-transition-merged{max-height:240px!important;overflow:auto!important}.web-transition-network{width:100%;max-width:850px;height:230px;display:flex;align-items:center;justify-content:center;overflow:hidden}.web-transition-network svg{display:block;width:100%;height:100%;max-height:230px}.web-network-node{animation:webNetworkAppear .55s ease both;transform-box:fill-box}.web-network-edge{stroke-dasharray:900;stroke-dashoffset:900;animation:webNetworkDraw 1.1s ease forwards}@keyframes webNetworkAppear{0%{opacity:0}to{opacity:1}}@keyframes webNetworkDraw{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.web-network-node,.web-network-edge{animation:none!important;stroke-dashoffset:0!important}}.workspace-web{scroll-margin-top:88px}.web-transition{scroll-margin-top:90px}.web-replay-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 14px;padding:11px 15px;background:#edf4e9;border:1px solid #dbe7d4;border-radius:11px;color:#4d7054;font-size:12px}.web-replay-bar button{border:1px solid #a8c4a6;border-radius:8px;background:#fff;color:#3c6d46;font-weight:650;padding:8px 12px;cursor:pointer}.web-library{margin-top:12px;border:1px solid #d9e7d5;border-radius:12px;background:#f8faf6;overflow:hidden}.web-library-toggle{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:13px 15px;border:0;background:transparent;cursor:pointer;color:#355c40}.web-library-toggle>span:first-child{display:flex;flex-direction:column;gap:4px}.web-library-toggle strong{font-size:13px;font-weight:700}.web-library-toggle small{font-size:11px;color:#789078;font-weight:400}.web-library-toggle-right{display:flex;align-items:center;gap:7px;white-space:nowrap;font-size:12px;font-weight:650;color:#47794f}.web-library-toggle-right span{font-size:17px}.web-library-content{padding:0 12px 12px;display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto}.web-library-row{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 11px;background:#fff;border:1px solid #e1e9de;border-radius:8px}.web-library-index{font-size:11px;color:#89a18a}.web-library-row strong{font-size:12px;color:#365b3f;font-weight:650;flex:1;min-width:0;overflow-wrap:anywhere}.web-library-type{font-size:10px;color:#64846a;background:#eef5e9;padding:4px 7px;border-radius:20px;white-space:nowrap}.web-library-empty{font-size:12px;color:#758a75;margin:6px 4px}@media(max-width:650px){.web-library-row{flex-wrap:wrap}.web-library-type{margin-left:auto}}.web-transition-subtitle{margin:6px 0 0;font-size:12px;line-height:1.5;color:#728a72}section.web-transition .web-transition-stage{height:auto!important;min-height:240px!important;max-height:440px!important;overflow:auto!important;align-items:flex-start!important}section.web-transition .web-transition-chains{height:auto!important;max-height:none!important;gap:9px!important;padding:8px 0}section.web-transition .web-transition-chain{flex-wrap:nowrap!important;gap:6px!important}section.web-transition .web-transition-organism{min-width:55px!important;max-width:74px!important;max-height:75px!important;padding:4px!important;font-size:11px!important}section.web-transition .web-transition-organism img{width:48px!important;height:40px!important;max-width:48px!important;max-height:40px!important}section.web-transition .web-transition-network{height:360px!important;max-height:360px!important;overflow:hidden!important}section.web-transition .web-transition-network svg{height:360px!important;max-height:360px!important}.experiment-visual-row{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(240px,.85fr);gap:16px;align-items:stretch;margin-top:12px}.experiment-visual-row .experiment-landscape{width:100%;min-width:0;margin:0;aspect-ratio:16/9;max-height:none}.experiment-visual-row .experiment-explanation{display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;margin:0;padding:24px!important;border:1px solid #dce7d5;border-radius:13px;background:#fff}.experiment-visual-row .experiment-explanation strong{font-size:17px;line-height:1.5;color:#31553a}.experiment-visual-row .experiment-explanation p{font-size:14px;line-height:1.85;margin:0!important}.experiment-visual-row .experiment-explanation small{font-size:11px;line-height:1.7;color:#829081}@media(max-width:850px){.experiment-visual-row{grid-template-columns:1fr}.experiment-visual-row .experiment-explanation{padding:16px!important;gap:8px}.experiment-visual-row .experiment-landscape{aspect-ratio:16/9}}.app-shell>.teacher-console{position:sticky;top:70px;z-index:6;margin:0;padding:10px max(24px,calc((100vw - 1480px)/2));border-radius:0;border-left:0;border-right:0;box-shadow:0 5px 16px #26422a12;background:#f1f5ec}.app-shell>.teacher-console .teacher-console-actions{display:inline-flex;vertical-align:middle;margin:0 0 0 10px;gap:8px}.app-shell>.teacher-console>button{vertical-align:middle}.app-shell>.teacher-console p{margin:8px 0 0}@media(max-width:760px){.app-shell>.teacher-console{padding:8px 14px}.app-shell>.teacher-console .teacher-console-actions{display:flex;margin:8px 0 0}}
