/* A small, touch-friendly laboratory in Mattehopp's existing visual language. */
.workshop-invitation{width:100%;display:flex;align-items:center;gap:23px;text-align:left;background:#f4e8c9;border:1px solid #e4d6b1;border-radius:18px;padding:22px 26px;margin:24px 0 30px;transition:background .2s}
.workshop-invitation:hover{background:#efe0b9}.invitation-icon{font-size:2.8rem;line-height:1;color:#946833}.workshop-invitation>span:nth-child(2){display:grid;gap:3px}.workshop-invitation small{font-size:.63rem;letter-spacing:1.6px;font-weight:800}.workshop-invitation strong{font-size:1.45rem;letter-spacing:-.6px}.workshop-invitation span>span{font-size:.85rem;color:#746746}.workshop-invitation>b{font-size:2rem;margin-left:auto}
.lab-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.lab-heading h1{font-size:clamp(2.4rem,4.6vw,3.5rem);margin-bottom:9px}.lab-heading h1>span{color:#b97c35}.lab-heading p{margin:0;font-size:1rem}.lab-stamp{display:flex;align-items:center;gap:12px;font-size:3.4rem;color:#b67d3f;transform:rotate(5deg)}.lab-stamp small{font-size:.58rem;line-height:1.5;letter-spacing:1.4px;font-weight:900}.lab-tabs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}.lab-tabs>button{display:flex;align-items:center;gap:15px;border:1.5px solid var(--line);border-radius:16px;text-align:left;padding:15px 20px;background:#fff}.lab-tabs>button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 4px 0 #092f28}.lab-tabs strong,.lab-tabs small{display:block}.lab-tabs strong{font-size:1.13rem}.lab-tabs small{font-size:.74rem;margin-top:3px;opacity:.7}.lab-tab-icon{font-family:Georgia,serif;font-size:2.3rem;line-height:1;width:45px;text-align:center}.lab-tabs>button[aria-pressed=true] .lab-tab-icon{color:var(--yellow)}.lab-tab-arrow{font-size:1.5rem;margin-left:auto}.lab-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:stretch}.lab-stage-card{border:1px solid #d7e0ce;border-radius:22px;overflow:hidden;background:#eef2e5;display:flex;flex-direction:column;min-width:0;box-shadow:0 4px 0 #e0e6d8}.lab-stage-top{display:flex;align-items:center;justify-content:space-between;padding:20px 23px 0;gap:10px;z-index:1}.lab-stage-top .pill{background:#dce4d1;color:#4b6453;letter-spacing:1.5px;font-size:.62rem}.lab-stage-top>span:last-child{font-size:.68rem;color:#72806b}.lab-scene{width:100%;height:350px;position:relative;flex:1;min-height:290px;background:radial-gradient(ellipse at 50% 40%,#fafbf3 0%,#eef2e5 70%);overflow:hidden}.lab-scene canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:pan-y}.lab-scene.balance canvas{cursor:grab;touch-action:none}.lab-scene.balance canvas.dragging{cursor:grabbing}.lab-flat-view{position:absolute;inset:0}.lab-flat-view[hidden]{display:none}.lab-flat-view svg{display:block;width:100%;height:100%}.lab-stage-hint{text-align:center;padding:0 16px;margin:8px 0 18px;font-size:.78rem;color:#62715b}.lab-readout{display:flex;align-items:center;justify-content:space-around;gap:10px;background:#fff9;padding:19px 15px;border-top:1px solid #dce4d2}.lab-readout>div{text-align:center;min-width:0}.lab-readout span{display:block;font-size:.59rem;font-weight:900;letter-spacing:1.3px;margin-bottom:3px;color:#667963}.lab-readout strong{font-size:clamp(1.3rem,2.7vw,1.8rem);letter-spacing:-.7px;white-space:nowrap}.lab-readout small{font-size:.76rem;font-weight:400;letter-spacing:0}.lab-equality{font-size:1.8rem;color:#7b8b70}.lab-status{margin:0;text-align:center;font-size:.81rem;font-weight:700;padding:13px 15px;background:#e4eacb;color:#516042;min-height:49px}.lab-status.in-balance{background:#cde7d4;color:#205b42}.lab-controls{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;min-width:0}.lab-control-intro .eyebrow{font-size:.59rem;letter-spacing:1.4px}.lab-control-intro h2{font-size:1.5rem;margin:10px 0}.lab-control-intro p{font-size:.81rem;margin:0 0 21px}.weight-control{border:0;margin:0 0 18px;padding:0;min-width:0}.weight-control legend{font-size:.79rem;font-weight:800;padding:0;margin-bottom:14px;display:flex;align-items:center;gap:8px}.weight-dot{width:11px;height:11px;background:#267f77;border-radius:3px;display:inline-block}.right .weight-dot{background:#c67537}.lab-label{font-size:.71rem;color:var(--muted);font-weight:700;margin:0 0 7px}.lab-segments{display:flex;gap:5px;margin-bottom:17px}.lab-segments button{flex:1;min-width:0;border-radius:8px;background:#f5f6ef;border:1px solid #e5e9df;padding:7px 3px;min-height:40px;font-size:.8rem;font-weight:700}.lab-segments button[aria-pressed=true]{background:#267f77;color:white;border-color:#267f77}.right .lab-segments button[aria-pressed=true],.ramp-controls .lab-segments button[aria-pressed=true]{background:#bc6a30;border-color:#bc6a30}.lab-range-label{font-size:.76rem;display:flex;align-items:center;justify-content:space-between;gap:5px}.lab-range-label strong{font-size:.91rem;color:var(--green)}.lab-controls input[type=range]{width:100%;margin:7px 0 0;accent-color:#267f77;height:32px;cursor:ew-resize;padding:0;box-shadow:none;border:0;touch-action:pan-y}.lab-controls .right input[type=range],#ramp-angle{accent-color:#bc6a30}.range-ends{display:flex;justify-content:space-between;font-size:.61rem;color:#7b8777;margin:-1px 0 11px}.lab-controls fieldset:disabled{opacity:.55}.lab-controls fieldset:disabled input{cursor:default}.lab-locked{font-size:.69rem;margin:0 0 10px}.lab-reset{display:inline-flex;align-items:center;justify-content:center;background:none;padding:9px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:.75rem;color:#637461}.ramp-controls{border:0;padding:0;margin:0;min-width:0}.surface-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 19px}.surface-choices button{background:#f4f5ed;border:1px solid #e5e8dc;border-radius:9px;font-size:.66rem;padding:8px 3px;min-height:66px;line-height:1.3}.surface-choices button[aria-pressed=true]{background:#e4eccf;border-color:#779254;box-shadow:0 1px 0 #779254}.surface-texture{display:block;width:27px;height:17px;margin:0 auto 6px;border-radius:4px;background:#b6d9d6}.surface-1{background:repeating-linear-gradient(0deg,#d9bb82 0px,#d9bb82 3px,#bfa270 3px,#bfa270 4px)}.surface-2{background-color:#9ca185;background-image:radial-gradient(#69715a 1.5px,transparent 1.5px);background-size:5px 5px}.lab-checkbox{display:flex;align-items:center;gap:9px;font-size:.76rem;line-height:1.5;margin:16px 0;cursor:pointer}.lab-checkbox input{width:18px;height:18px;accent-color:var(--green);flex-shrink:0;padding:0}.lab-run-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:18px}.lab-run-actions .primary{font-size:.87rem;padding:12px 17px;flex:1}.lab-mission{background:#fcf5df;border:1px solid #e9ddba;border-radius:20px;padding:26px 29px;margin:27px 0 0}.lab-mission-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:20px;border-bottom:1px solid #e9ddba;margin-bottom:23px}.lab-mission-heading .eyebrow{font-size:.6rem;letter-spacing:1.4px;margin-bottom:8px;color:#8d764b}.lab-mission h2{font-size:1.35rem;margin:0}.mission-choices{display:flex;gap:6px}.mission-choices button{background:transparent;border:1px solid #dacdae;border-radius:9px;font-size:.8rem;min-width:43px;min-height:43px;padding:8px 12px;white-space:nowrap}.mission-choices button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.mission-choices button span{font-size:.63rem}.mission-free{display:flex;gap:23px;align-items:flex-start}.mission-free>span{color:#c3963b;font-size:3.5rem;line-height:1}.mission-free h3{font-size:1.3rem;margin:0 0 9px}.mission-free p{font-size:.89rem;max-width:630px;margin:0}.mission-free .text-button{padding-left:0;font-size:.83rem}.lab-mission #mission-body{display:flex;gap:23px}.mission-number{background:#ecd59a;color:#796133;font-size:1.7rem;min-width:55px;height:55px;border-radius:15px;display:flex;align-items:center;justify-content:center;font-weight:800}.mission-copy{flex:1;min-width:0}.mission-copy h3{font-size:1.3rem;margin:3px 0 10px}.mission-copy>p{font-size:.91rem;max-width:780px;margin-bottom:15px}.mission-copy .mission-feedback{font-weight:800;color:var(--green);font-size:.86rem}.mission-feedback:empty{display:none}.mission-hint{background:#f0e5c4;padding:13px 15px;border-radius:10px}.mission-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px 22px}.mission-actions .primary{font-size:.83rem;padding:12px 17px;min-height:46px}.mission-actions .text-button{font-size:.8rem;padding-inline:0}.mission-explanation{border-left:3px solid #85a86d;padding:0 0 0 16px;margin:20px 0}.mission-explanation>strong{font-size:.85rem}.mission-explanation p{font-size:.89rem;line-height:1.7;margin:6px 0;color:#576347}.mission-instruction{flex-basis:100%;font-size:.79rem;color:#85704c}.lab-notebook{margin-top:28px}.trial-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:#fff}.lab-notebook table{border-collapse:collapse;width:100%;font-size:.87rem;text-align:left;white-space:nowrap}.lab-notebook th{background:#eaf0e3;font-weight:700;font-size:.69rem;text-transform:uppercase;letter-spacing:.9px}.lab-notebook th,.lab-notebook td{padding:12px 20px;border-bottom:1px solid #edf0e7}.lab-notebook tr:last-child td{border:0}.lab-notebook td small{display:block;font-size:.69rem;color:#6e7f65}.lab-theory{margin-top:28px;padding:0 0 10px;border-top:1px solid var(--line)}.lab-theory summary{padding:19px 0;font-size:.9rem;font-weight:800;cursor:pointer}.lab-theory p{max-width:850px;font-size:.88rem}.lab-theory .lab-model-note,.lab-theory a{font-size:.77rem}.lab-theory a{text-underline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.lab-grid{grid-template-columns:minmax(0,1fr) 285px;gap:14px}.lab-controls{padding:20px}.lab-stage-top{padding:17px 16px 0}.lab-stage-top>span:last-child{font-size:.6rem}.lab-scene{height:340px;min-height:270px}.lab-readout strong{font-size:1.4rem}.header nav{gap:17px}.header{gap:18px}}
@media(min-width:701px) and (max-width:810px){.header{padding-inline:18px}.header nav{gap:11px}.header .brand{font-size:1.4rem}.header .brand-symbol{width:35px;height:37px}.header .account{padding-inline:11px;font-size:.76rem}.nav-button{font-size:.76rem}}
@media(max-width:760px){.lab-grid{grid-template-columns:1fr}.lab-scene{height:320px;min-height:0;flex:auto}.lab-controls{padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.lab-control-intro{grid-column:1/-1}.lab-control-intro h2{font-size:1.3rem}.lab-control-intro .eyebrow{display:none}.lab-control-intro p{margin-bottom:18px}.lab-locked,.lab-controls>.lab-reset{grid-column:1/-1}.lab-controls>.lab-reset{justify-content:flex-start;max-width:max-content}.ramp-controls,.lab-run-actions{grid-column:1/-1}.ramp-controls{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.ramp-controls>.lab-range-label,.ramp-controls>input,.ramp-controls>.range-ends,.ramp-controls>.lab-checkbox{grid-column:1/-1}.ramp-controls>.lab-label{grid-column:1/-1}.surface-choices,.ramp-controls>.lab-segments{grid-column:1/-1}.lab-run-actions .primary{flex:0 1 auto}.lab-stage-top>span:last-child{font-size:.66rem}.lab-mission-heading{align-items:flex-start}.lab-stamp{font-size:2.7rem}.lab-stamp small{display:none}.lab-mission{padding:22px}.lab-heading h1{font-size:2.5rem}.lab-notebook th,.lab-notebook td{padding:12px 14px}}
@media(max-width:700px){.header nav{gap:2px}.nav-button{padding-inline:3px;font-size:.77rem}.lab-heading{margin-bottom:23px}.lab-heading p{font-size:.88rem}.lab-heading h1{font-size:2.25rem}.lab-tabs{gap:10px;margin-bottom:19px}.lab-tabs>button{padding:13px 11px;gap:9px;border-radius:13px}.lab-tab-icon{font-size:1.8rem;width:29px}.lab-tabs strong{font-size:.86rem}.lab-tabs small{font-size:.58rem;line-height:1.35}.lab-tab-arrow{display:none}.lab-stage-card{border-radius:17px}.lab-stage-top{padding-top:16px}.lab-stage-top .pill{font-size:.54rem;padding:5px 9px;letter-spacing:1px}.lab-stage-top>span:last-child{font-size:.58rem}.lab-scene{height:275px}.lab-stage-hint{font-size:.69rem;margin:0 0 14px}.lab-readout{padding:14px 9px}.lab-readout strong{font-size:1.45rem}.lab-readout span{font-size:.54rem;letter-spacing:1px}.lab-readout small{font-size:.64rem}.lab-status{font-size:.74rem;padding:13px 10px;min-height:47px}.lab-controls{padding:20px 17px;gap:0 18px;border-radius:17px}.weight-control legend{font-size:.69rem;gap:6px}.lab-label{font-size:.66rem}.lab-segments{gap:4px;margin-bottom:12px}.lab-segments button{font-size:.71rem;min-height:41px;padding:7px 2px}.lab-range-label{font-size:.67rem;align-items:flex-start;flex-direction:column;gap:2px}.lab-range-label strong{font-size:.82rem}.weight-control{margin-bottom:8px}.lab-locked{font-size:.64rem;line-height:1.5}.ramp-controls>.lab-range-label{flex-direction:row}.ramp-controls .lab-label{font-size:.76rem}.ramp-controls .lab-segments button{font-size:.83rem;min-height:44px}.surface-choices button{font-size:.74rem;min-height:63px}.lab-checkbox{font-size:.79rem}.lab-mission{padding:19px 17px;border-radius:17px;margin-top:20px}.lab-mission-heading{flex-direction:column;gap:16px;padding-bottom:18px;margin-bottom:18px}.lab-mission-heading .eyebrow{font-size:.54rem}.lab-mission h2{font-size:1.25rem}.mission-choices{width:100%;gap:7px}.mission-choices button{flex:1;min-height:43px;padding:8px}.mission-choices button:first-child{flex:1.7}.lab-mission #mission-body{gap:11px}.mission-number{min-width:35px;height:35px;border-radius:10px;font-size:1.1rem}.mission-copy h3{font-size:1.1rem}.mission-copy>p{font-size:.85rem;line-height:1.65}.mission-explanation{padding-left:12px;margin:15px 0}.mission-explanation p{font-size:.82rem}.mission-actions{gap:5px 18px}.mission-actions .primary{font-size:.8rem;width:100%;gap:7px;padding-inline:10px}.mission-actions .text-button{font-size:.73rem}.mission-free{gap:13px}.mission-free>span{font-size:2.2rem}.mission-free h3{font-size:1.15rem}.mission-free p{font-size:.83rem}.lab-notebook .section-heading>span{font-size:.69rem}.lab-notebook table{font-size:.74rem}.lab-notebook th{font-size:.59rem;letter-spacing:.4px}.lab-notebook th,.lab-notebook td{padding:11px 10px}.lab-notebook td small{font-size:.6rem}.lab-theory p{font-size:.84rem}.workshop-invitation{padding:18px 19px;gap:14px;margin:20px 0 25px}.invitation-icon{font-size:2rem}.workshop-invitation small{font-size:.51rem;letter-spacing:1px}.workshop-invitation strong{font-size:1.2rem}.workshop-invitation span>span{font-size:.72rem;max-width:220px}.workshop-invitation>b{font-size:1.6rem}}
@media(max-width:360px){.nav-button{font-size:.7rem}.lab-heading h1{font-size:2rem}.lab-controls{gap:0 11px;padding-inline:13px}.lab-label{font-size:.6rem}.lab-segments{gap:2px}.lab-segments button{font-size:.63rem}.weight-control legend{font-size:.62rem}.lab-tabs>button{gap:5px;padding-inline:8px}.lab-tabs strong{font-size:.79rem}.lab-stage-top>span:last-child{font-size:.52rem}.lab-readout strong{font-size:1.25rem}}
.lessons-invitation{width:100%;display:flex;align-items:center;gap:23px;text-align:left;background:#e1e8f8;border:1px solid #c9d4ee;border-radius:18px;padding:22px 26px;margin:-12px 0 30px;transition:background .2s}
.lessons-invitation:hover{background:#d6e0f5}.lessons-invitation .invitation-icon{color:#2a4f9a}.lessons-invitation>span:nth-child(2){display:grid;gap:3px}.lessons-invitation small{font-size:.63rem;letter-spacing:1.6px;font-weight:800}.lessons-invitation strong{font-size:1.45rem;letter-spacing:-.6px}.lessons-invitation span>span{font-size:.85rem;color:#4b5a7a}.lessons-invitation>b{font-size:2rem;margin-left:auto}
@media(max-width:700px){.lessons-invitation{padding:18px;gap:14px}.lessons-invitation strong{font-size:1.15rem}}
.explore-row{margin:30px 0 34px}.explore-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.explore-tile{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;border-radius:20px;padding:0 20px 20px;overflow:hidden;border:1px solid transparent;transition:transform .18s,box-shadow .18s;box-shadow:0 4px 0 #0000000d}
.explore-tile:hover{transform:translateY(-3px);box-shadow:0 8px 0 #00000012}
.explore-tile.lab{background:#f4e8c9;border-color:#e4d6b1}.explore-tile.lessons{background:#e1e8f8;border-color:#c9d4ee}.explore-tile.science{background:#e6efe0;border-color:#cfdec6}
.explore-art{display:block;margin:0 -20px 12px;height:96px}.explore-art svg{display:block;width:100%;height:100%}
.explore-tile.lab .explore-art{background:#16161f}.explore-tile.lessons .explore-art{background:#24356e}.explore-tile.science .explore-art{background:#d5e7cd}
.explore-tile small{font-size:.64rem;letter-spacing:1.4px;font-weight:900;color:#6b6648}.explore-tile.lessons small{color:#3c4f86}.explore-tile.science small{color:#4a6b43}
.explore-tile strong{font-size:1.3rem;letter-spacing:-.5px}.explore-tile>span:not(.explore-art){font-size:.86rem;color:#5b6660;line-height:1.45}
.explore-tile>b{position:absolute;right:16px;bottom:14px;font-size:1.4rem}
@media(max-width:860px){.explore-tiles{grid-template-columns:1fr}.explore-tile{flex-direction:column}.explore-art{height:80px}}
