/* The room is the navigation: objects first, supporting text second. */
html{scroll-behavior:smooth;scroll-padding-top:24px}body{background:var(--sky)}a{color:inherit}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:5px}h2{font:500 clamp(26px,3vw,38px)/1.2 Fredoka, sans-serif;letter-spacing:-.5px;margin:0}p{line-height:1.7}main.workshop-main,main.lab-main{display:block;min-height:0;max-width:1280px;padding:0 40px;margin:auto}header.site-header{max-width:1440px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:28px 40px;font-size:14px;gap:20px}.site-header>a:not(.wordmark){text-decoration:none;border-bottom:1px solid #18304455;padding:8px 0}.wordmark{font:500 27px Fredoka,sans-serif;letter-spacing:-1px;text-decoration:none}.wordmark span{color:var(--blue)}.room-intro{text-align:center;padding:34px 0 0}.room-intro .eyebrow{margin-bottom:16px}.room-intro h1{font-size:clamp(40px,5vw,64px);line-height:1.04;letter-spacing:-1.8px}.room-intro h1 span{color:var(--blue)}.room-intro>p:last-child{font-size:15px;margin:18px 0 0;color:#35556a}.room{height:775px;position:relative;margin:0 auto;max-width:1150px}.room:after{content:"";position:absolute;bottom:42px;left:0;right:0;height:100px;border-top:2px solid #1830442b;background:repeating-linear-gradient(165deg,transparent 0 85px,#1830440a 86px 88px);z-index:-1}.room-window{position:absolute;left:5%;top:43px;width:185px;opacity:.9}.room-object{position:absolute;text-decoration:none;text-align:center;width:190px;z-index:2;border-radius:18px}.object-art{width:100%;height:180px;display:block;transition:transform .2s}.object-label{display:block;font:500 17px Fredoka,sans-serif;padding:7px 6px;background:#ffffffd9;border:1px solid #18304430;border-radius:8px}.object-label>span{margin-left:3px;color:var(--blue)}.room-object small{display:block;font-size:11px;margin-top:7px;color:#35556a}.room-object:hover .object-art,.room-object:focus-visible .object-art{transform:translateY(-6px) rotate(-3deg)}.room-object:active .object-art{transform:translateY(1px)}.jar-object{right:7%;top:17px}.jar-object:after{content:"";position:absolute;left:-20px;right:-20px;top:177px;height:12px;background:var(--blue);border:2px solid var(--ink);z-index:-1;border-radius:3px}.plant-object{left:5%;top:115px}.rocket-object{right:2%;top:348px;width:200px}.notebook-object{left:0;top:366px;width:185px}.notebook-object .object-art{height:160px}.machine-station{position:absolute;left:50%;top:92px;transform:translateX(-50%);width:480px;text-align:center;z-index:3}.machine-note{font:400 16px Fredoka,sans-serif;transform:rotate(-4deg);margin:0 0 2px;color:#35556a}.machine-station .machine{width:100%}.machine-station .controls{position:relative;margin-top:-5px}.machine-station .readout{margin:0 0 9px;min-height:22px}.machine-station .push-button{font-size:19px;min-height:52px;padding:12px 20px;gap:20px;border-radius:13px}.result-slot{height:32px;padding-top:11px;font-size:14px;font-weight:600}.machine-station .reset-button{min-height:36px;margin-top:2px;padding:6px;font-size:12px}.workbench{position:absolute;top:459px;left:22%;right:22%;height:181px;border:3px solid var(--ink);border-radius:10px 10px 0 0;background:#ffffff60}.workbench:before{content:"";position:absolute;top:-12px;left:-18px;right:-18px;height:19px;border:3px solid var(--ink);border-radius:6px;background:var(--yellow)}.workbench:after{content:"";position:absolute;bottom:-34px;left:8%;right:8%;height:31px;border-left:12px solid var(--ink);border-right:12px solid var(--ink)}.secret{position:absolute;top:643px;left:50%;transform:translateX(-50%);z-index:4;text-align:center}.star-handle{border:0;background:transparent;font-size:37px;line-height:1;color:var(--blue);width:48px;height:48px;border-radius:50%}.star-handle:hover{transform:rotate(20deg)}#secret-drawer{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);width:250px;background:var(--yellow);border:2px solid var(--ink);border-radius:12px;box-shadow:5px 6px 0 var(--ink);padding:12px;display:flex;align-items:center;gap:7px}#secret-drawer p{font-size:12px;line-height:1.5}.dancing-bolt{width:64px;flex-shrink:0;animation:bolt-dance .7s ease-in-out infinite alternate}@keyframes bolt-dance{from{transform:rotate(-12deg) translateY(2px)}to{transform:rotate(12deg) translateY(-5px)}}.explore-section{padding:30px 0 65px;border-top:1px solid #18304430}.explore-section .eyebrow{justify-content:flex-start;margin-bottom:12px}.explore-links{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}.explore-links a{text-decoration:none;position:relative;padding:20px 36px 20px 0;border-top:2px solid var(--ink)}.explore-links span{font:500 22px Fredoka,sans-serif;display:block}.explore-links small{display:block;margin-top:8px;color:#35556a}.explore-links b{position:absolute;right:5px;top:20px;color:var(--blue);font-size:24px}.explore-links a:hover span{text-decoration:underline}.about-section{border-top:1px solid #18304430;display:grid;grid-template-columns:1fr 1.6fr;gap:60px;padding:56px 0 70px}.about-section .eyebrow{justify-content:flex-start;margin:0 0 15px}.about-section p{margin:0 0 20px;font-size:16px;max-width:640px}.contact-link{font-size:16px;text-underline-offset:5px}footer.site-footer{max-width:1360px;margin:auto;padding:24px 40px 32px;display:flex;justify-content:space-between;gap:20px;font-size:12px;border-top:1px solid #18304420;color:#35556a}footer.site-footer span:first-child{display:block}.lab-intro{text-align:center;padding:40px 0 32px}.lab-intro .eyebrow{margin-bottom:16px}.lab-intro h1{font-size:clamp(34px,5vw,54px)}.lab-intro>p:last-child{margin:16px 0 0;color:#35556a}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:28px;align-items:start}.stage{border:2px solid var(--ink);border-radius:24px;background:#ffffff70;overflow:hidden;position:relative;min-width:0}.stage canvas,.stage>svg{display:block;width:100%;height:auto;aspect-ratio:10/7}.stage canvas{touch-action:none}.stage-caption{display:block;text-align:center;font-size:12px;padding:0 16px 18px;color:#35556a}.lab-controls{background:#fff9;border:1px solid #18304435;border-radius:20px;padding:23px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font:500 22px Fredoka,sans-serif;padding:0;margin-bottom:23px}.lab-controls label{display:flex;justify-content:space-between;gap:8px;font-size:14px;font-weight:600;margin:20px 0 12px}.lab-controls label:first-of-type{margin-top:0}.lab-controls output{font-weight:400;font-size:12px}.lab-controls input[type=range]{width:100%;accent-color:var(--blue);height:30px;margin:0;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font-size:11px;color:#35556a;margin-bottom:22px}.lab-controls select{width:100%;border:1px solid var(--ink);background:white;border-radius:8px;padding:12px;margin-bottom:12px}.primary,.secondary{display:block;width:100%;min-height:45px;border:2px solid var(--ink);border-radius:10px;padding:10px 12px;margin-top:12px;font:500 16px Fredoka,sans-serif;background:white}.primary{background:var(--coral);box-shadow:0 3px 0 var(--ink);margin-bottom:17px}.secondary:hover:not(:disabled){background:var(--yellow)}.primary:hover:not(:disabled){background:#ff8e7d}.primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}.lab-status{font-size:12px;margin:20px 0 0;min-height:40px;color:#35556a}#ball-count{font-size:13px}.experiment-note{max-width:720px;margin:24px 0;font-size:13px;color:#35556a}.lab-nav{display:flex;flex-wrap:wrap;gap:24px;padding:22px 0 45px;font-size:14px}.lab-nav a[aria-current=page]{font-weight:700;text-decoration:none}.flight-stats{padding:0 22px 20px;display:flex;gap:24px;align-items:center;flex-wrap:wrap}.flight-stats span{font-size:11px;flex:1}.flight-stats output{display:block;font:500 26px Fredoka,sans-serif;margin-top:5px}.flight-stats small{font-size:11px;color:#35556a}
.notebook-object{top:402px}.machine-station .controls{max-width:none}
@media(min-width:1400px){.room{margin-top:10px}}
@media(max-width:1150px) and (min-width:761px){.machine-station{width:390px;top:155px}.room-object{width:150px}.object-art{height:150px}.jar-object{right:2%;top:50px}.jar-object:after{top:148px}.plant-object{left:1%;top:120px}.room-window{left:1%;width:150px;top:57px}.rocket-object{right:0;width:155px;top:380px}.notebook-object{left:0;width:145px;top:395px}.object-label{font-size:14px}.room-object small{font-size:10px}.workbench{top:452px;left:22%;right:22%}.machine-note{font-size:14px}.lab-layout{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.lab-controls{padding:18px}}
@media(max-width:760px){header.site-header{padding:20px;gap:12px;font-size:12px}.wordmark{font-size:24px}main.workshop-main,main.lab-main{padding:0 20px}.room-intro{padding:25px 0 10px}.room-intro h1{font-size:44px}.room-intro>p:last-child{font-size:14px}.room{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:28px 14px;padding:25px 0 35px;margin:0}.room:after,.room-window,.workbench{display:none}.machine-station{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;grid-row:1;width:100%;max-width:450px;margin:auto}.machine-station .machine{width:100%;max-width:390px;margin:auto}.machine-station .machine-note{font-size:14px}.machine-station .readout{font-size:12px;padding:0 5px}.machine-station .push-button{width:auto;min-width:245px;min-height:50px;justify-content:space-between}.machine-station .controls{max-width:none;margin:0}.machine-station .reset-button{margin:6px 0 0}.room-object{position:relative;inset:auto;width:100%;align-self:end;min-width:0}.object-art,.notebook-object .object-art{height:150px}.object-label{font-size:14px;padding:9px 4px}.room-object small{font-size:10px;line-height:1.5;min-height:30px;padding:0 4px}.jar-object:after{top:148px;left:0;right:0}.secret{position:relative;top:auto;left:auto;transform:none;grid-column:1/-1;margin-top:-14px}.explore-section{padding:30px 0 40px}.explore-links{grid-template-columns:1fr;gap:0;margin-top:23px}.explore-links a{padding:18px 36px 18px 0}.explore-links span{font-size:21px}.about-section{grid-template-columns:1fr;gap:22px;padding:35px 0 45px}.about-section p{font-size:15px}.contact-link{font-size:15px}footer.site-footer{padding:20px;flex-direction:column;align-items:flex-start;font-size:11px;gap:8px;text-align:left}.lab-intro{padding:27px 0}.lab-intro .eyebrow{font-size:9px;letter-spacing:1px}.lab-intro>p:last-child{font-size:14px}.lab-layout{grid-template-columns:1fr;gap:20px}.lab-controls{padding:22px}.lab-controls fieldset{display:grid;grid-template-columns:1fr}.lab-status{min-height:0}.stage-caption{font-size:10px;padding-bottom:12px}.flight-stats{gap:16px;padding:0 16px 15px}.lab-nav{gap:19px;font-size:13px}.experiment-note{font-size:12px}.room-intro .eyebrow{font-size:9px;letter-spacing:1.4px}}
@media(max-width:1150px) and (min-width:761px){.machine-station{width:340px}.machine-station .controls{padding-top:18px}.jar-object{right:0}.workbench{top:430px;height:203px}}
.stage-caption{display:flex;align-items:center;justify-content:center;min-height:48px;text-align:center;line-height:1.5;padding:14px 16px}
@media(max-width:760px){.stage-caption{font-size:11px;padding:12px 16px}}
.plant-save{margin:18px 0 6px;font-size:13px}.plant-save summary{cursor:pointer;padding:10px 0;text-underline-offset:4px}.plant-save summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
/* Shelves belong to the illustration; labels stay in normal flow below it. */
.jar-object::after{content:none}
.object-label{display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;margin-top:12px;padding:9px 6px;line-height:1.25}
.object-label>span{flex:none;margin:0}
@media(max-width:1150px){.object-label{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.room-object:hover .object-art,.room-object:focus-visible .object-art{transform:none}}
