.dock{align-items:center;justify-content:space-between;max-width:870px}.held{max-width:270px;min-width:190px}#load-status{font-size:12px;color:#b9d9d0;margin:6px 0 0}.instrument-buttons{display:flex;gap:7px}.instrument-buttons button{font-size:14px;padding:13px 16px}.instrument-buttons button[aria-pressed=true]{background:#a6f2c9;color:#143e36}.dock .primary{align-self:center;font-size:14px}.top-right{max-width:580px;flex-wrap:wrap;justify-content:flex-end}#written-button{color:#c7f7cf;border-color:#9acdb763}.context{bottom:192px;padding:15px;width:250px}.context>p{margin-bottom:8px}#tube-amounts{color:#a6f2c9;font-size:12px}.context-actions button{padding:8px}.context label{margin-top:12px}.mission{max-height:calc(100vh - 270px);overflow-y:auto}.pipette-measure{display:grid;grid-template-columns:160px 1fr;gap:30px;align-items:center}.graduations{display:grid;gap:4px;background:linear-gradient(90deg,#dcefea 0 36%,#a0c8bd 36% 39%,#e4f2ed 39% 62%,#a0c8bd 62% 65%,transparent 65%);padding:12px}.graduations button{border:0;border-bottom:1px solid #8fb8a9;background:#e6efebcf;border-radius:0;padding:7px;font-size:14px}.graduations button[aria-pressed=true]{background:#19644f;color:white}.pipette-measure input{width:100%;margin-bottom:15px}.written-tubes{display:grid;gap:22px}.written-tube{border:1px solid #bad2c5;background:white;border-radius:12px;padding:22px;min-width:0}.written-tube legend{font-size:22px;font-weight:600;padding:0 10px}.evidence{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:10px 0 20px}.evidence h3{font-size:16px;letter-spacing:0}.evidence p{font-size:14px}.evidence .clue{background:#edf5ef;padding:18px;border-radius:8px}.clue .eyebrow{color:#3c7b60;font-size:11px}.answer-fields{display:grid;grid-template-columns:1fr;gap:14px}.written-tube textarea{width:100%;margin:5px 0 0;background:#f7faf8;resize:vertical}.written-tube>label{margin-top:20px}.written-tube select{background:white}.concept-title{margin-top:35px}.concept-question{border:1px solid #bed5c6;padding:18px 22px;margin:18px 0;border-radius:10px;min-width:0}.concept-question legend{font-size:17px;font-weight:600;padding:0 8px;line-height:1.5}.radio-answer{display:flex;gap:12px;align-items:flex-start;padding:12px;margin:2px 0;border-radius:7px;background:#e6eee8;font-size:14px}.radio-answer input{margin:3px 0;accent-color:#19644f;flex-shrink:0}.scores{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.scores>div{background:#193e39;color:#e1f7e9;border-radius:10px;padding:20px}.scores strong{display:block;font-size:35px;color:#a6f2c9}.scores span{display:block;font-size:14px;margin-top:6px}.correction-card{border:1px solid #c1d8c8;border-radius:10px;padding:22px;margin:16px 0;background:white}.correction-card h3{font-size:20px}.correction-card li{padding:5px 0;font-size:14px}.correction-card summary,.evidence summary{cursor:pointer;color:#27654c;font-size:14px}.correction-card details p{padding:10px;background:#eef5ef;border-radius:6px}.report-grid textarea{min-height:100px}#begin-written{margin-top:22px}.object-label[data-object^="sample-"]{font-size:11px;padding:5px 7px}
@media(max-width:1050px){.dock{max-width:800px}.held{min-width:150px}.instrument-buttons button{padding:10px}.mission{max-height:calc(100vh - 285px)}}
@media(max-width:700px){.dock{grid-template-columns:1fr 1fr;bottom:38px;gap:9px}.held{min-width:0;max-width:none}.instrument-buttons{grid-column:1/-1;grid-row:2;justify-content:stretch}.instrument-buttons button{flex:1;padding:9px;font-size:12px}.dock .primary{font-size:12px}#load-status{font-size:10px}.context{width:173px;bottom:220px;padding:11px}.context>p{font-size:11px}.context-actions button{font-size:10px;padding:6px}#tube-amounts{font-size:10px}.mission{max-height:240px;max-width:175px}.top-right{max-width:150px}.top-right button{font-size:10px}.pipette-measure{grid-template-columns:100px 1fr;gap:15px}.pipette-measure p{font-size:12px}.pipette-measure .primary{font-size:12px;padding:10px}.written-tube{padding:13px}.evidence{grid-template-columns:1fr}.scores{gap:10px}.scores>div{padding:14px}.scores span{font-size:12px}.concept-question{padding:12px}.concept-question legend{font-size:15px}.radio-answer{font-size:13px;padding:10px}.report-grid{grid-template-columns:1fr}#written-form p{font-size:14px}}

.object-label.ladybug-link{width:58px;height:46px;padding:0;background:transparent;border:0;box-shadow:none;cursor:pointer}.object-label.ladybug-link:focus-visible{outline:2px solid #ffe59b;outline-offset:3px}

.hydrolysis-model{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;padding:24px}.hydrolysis-products{display:flex;gap:24px}.hydrolysis-products b{padding:15px;border-radius:50%;background:#d6ece1;color:#183f3e;animation:hydrolysis-separate 3s ease-in-out infinite alternate}@keyframes hydrolysis-separate{from{transform:translateX(-5px)}to{transform:translateX(5px)}}@media(prefers-reduced-motion:reduce){.hydrolysis-products b{animation:none}}

.about-project{max-width:760px;margin:0 auto}.about-project p{line-height:1.8;margin:0 0 1.2em}.about-project h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin:0 0 24px}.about-project h2{margin-top:32px}.about-project strong{color:#184b4b}

/* Compact tools keep the workbench visible. */
.dock{width:fit-content;max-width:calc(100% - 32px);padding:8px 12px;gap:14px;bottom:54px;align-items:center;border-radius:10px}.held{min-width:160px;max-width:230px}.held .eyebrow{display:none}.held strong{font-size:13px}.held button{font-size:10px;padding:2px 0}#load-status{font-size:11px;margin:2px 0 0;line-height:1.25}.instrument-buttons{gap:5px}.instrument-buttons button{padding:8px 10px;font-size:12px}.dock .primary{height:34px;padding:7px 12px;font-size:12px;margin:0;align-self:center}.view-controls{align-items:center;z-index:6}.view-controls button{min-width:32px;min-height:30px;font-size:12px}.view-controls output{font-size:11px;min-width:36px;text-align:center;color:#e7f1f1;background:#102b32c9;padding:6px;border-radius:6px}.context{bottom:145px}.mission{max-height:calc(100vh - 245px)}
@media(max-width:700px){.dock{width:calc(100% - 16px);max-width:none;padding:7px 9px;gap:6px;bottom:46px;grid-template-columns:1fr auto}.held{min-width:0;max-width:none}.instrument-buttons{grid-row:2;grid-column:1/-1}.instrument-buttons button{padding:7px 9px;font-size:12px}.dock .primary{height:34px;font-size:11px}.context{bottom:175px}.view-controls{bottom:7px;gap:3px}.view-controls button{padding:5px 8px}.view-controls output{min-width:33px}.mission{max-height:calc(100vh - 290px)}}

/* Keep the ladybug click target invisible, including on hover. */
button.object-label.ladybug-link:hover:not(:disabled),button.object-label.ladybug-link:active,button.object-label.ladybug-link:focus{background:transparent;box-shadow:none}

.dock #release{display:inline-block;background:#ffe29a;color:#173c3c;border:2px solid #ffe29a;font-size:13px;font-weight:700;padding:7px 10px;margin-top:7px;border-radius:7px}.dock #release:hover{background:#fff0c7}

@media(min-width:701px){.mission{max-height:52vh}}

.object-label[data-object^="sample-"]{max-width:125px;white-space:normal;text-align:center;line-height:1.25}.object-label[data-object="bath"]{cursor:grab}

.object-label.shifted-label::after{content:"";position:absolute;left:50%;top:100%;height:var(--tether-height);border-left:1px solid #23444a88;pointer-events:none}

.mobile-nav,#mobile-panel-close,#mobile-reset{display:none}
@media(max-width:700px), (max-width:1000px) and (max-height:500px){
 header{height:58px;padding:6px 10px;gap:6px}.brand{font-size:16px;gap:6px}.brand small{display:none}.logo{font-size:22px;padding:5px 8px}.header-actions{display:flex;gap:4px}.header-actions button{min-height:40px;padding:7px;font-size:12px}#fullscreen-button{display:none}.session-title{display:none}
 #mobile-reset{display:block;min-height:44px;margin-top:16px}#toast{top:112px;max-width:calc(100% - 24px);width:max-content;pointer-events:none}.tube-picker{flex-wrap:wrap}
 .mobile-nav{position:fixed;display:flex;top:64px;left:8px;right:8px;gap:5px;z-index:7}.mobile-nav button{flex:1;min-height:44px;background:#173c43;font-size:14px;padding:8px}.mobile-nav button[aria-expanded=true]{background:#a6f2c9;color:#173c3c}
 #game-ui .mission,#game-ui .context{display:none}.top-right{display:none}
 #game-ui[data-mobile-panel="protocol"] .mission,#game-ui[data-mobile-panel="tube"] .context{display:block;position:fixed;top:160px;bottom:auto;left:12px;right:12px;width:auto;max-width:none;max-height:calc(100dvh - 350px);overflow:auto;padding:16px;z-index:9}
 #game-ui[data-mobile-panel] #mobile-panel-close:not([hidden]){display:block;position:fixed;right:12px;top:112px;min-height:44px;background:#173c43;z-index:10}
 .mission h1{font-size:22px}.mission #protocol-body{font-size:14px}.mission #protocol-body p,.context>p{font-size:14px}.context-actions button,.tube-picker button{font-size:14px;min-height:44px}.context h2{font-size:22px}#tube-amounts{font-size:14px}
 .dock{left:8px;right:8px;transform:none;width:auto;max-width:none;bottom:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;padding:8px;gap:6px}.dock .held{display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px}.held strong{font-size:14px}#load-status{grid-column:1/-1;font-size:12px}.dock #release{grid-row:1;grid-column:2;margin:0;padding:6px;font-size:12px;min-height:40px}.dock .primary{height:auto;min-height:44px;max-width:130px;font-size:13px}.instrument-buttons button{min-height:44px;font-size:14px}.instrument-buttons{grid-row:2}
 .view-controls{bottom:4px}.view-controls button{min-height:44px;min-width:44px;font-size:14px}.interaction-hint{display:none}.object-label{min-width:32px;min-height:32px;padding:7px;font-size:12px}.object-label[data-object^="sample-"]{font-size:12px;max-width:94px}.object-label.ladybug-link{min-width:0;min-height:0}
 dialog{width:calc(100% - 16px);max-width:none;max-height:calc(100dvh - 24px);padding:14px}dialog input,dialog select,dialog textarea{font-size:16px}.dialog-header{position:sticky;top:0;z-index:2;background:#edf5ef}#close-dialog{min-height:44px;min-width:44px}.pipette-measure{grid-template-columns:1fr;gap:12px}.graduations{grid-template-columns:repeat(4,1fr);background:none;padding:0}.graduations button{min-height:44px}.welcome{overflow:auto;padding:85px 20px 30px}.intro h1{font-size:36px}.start-actions{flex-direction:column}.intro-foot{display:none}
}
@media(max-width:1000px) and (max-height:500px){.dock{left:56%;bottom:50px}.mobile-nav{right:40%}#game-ui[data-mobile-panel="protocol"] .mission,#game-ui[data-mobile-panel="tube"] .context{max-height:calc(100dvh - 175px);right:45%}}

@media(max-width:1000px) and (max-height:500px){#game-ui[data-mobile-panel] #mobile-panel-close:not([hidden]){right:auto;left:12px}.dock .held{display:block}.dock #release{margin-top:4px}.welcome{padding-top:70px}.intro h1{font-size:28px}.start-actions{flex-direction:row}.view-controls{left:auto;right:8px;transform:none}}
