@font-face {
  font-family: Parkinsans;
  src: url(fonts/parkinsans.ttf) format("truetype");
  font-display: swap;
  font-weight: 300 800;
}
:root {
  --studio-blue: #2735ce;
  --studio-paper: #f7f5ef;
  --studio-ink: #20211e;
}
body:has(.lab-studio), body.studio-shop, body:has(.product-gallery) {
  background:var(--studio-paper); color:var(--studio-ink);
  font-family:Parkinsans, sans-serif;
}
body:has(.lab-studio) header,.studio-shop header,body:has(.product-gallery) header {
  background:var(--studio-paper); border-color:#b8b7ac;
}
body:has(.lab-studio) main,.studio-shop main {max-width:1500px}
.studio-title,.shop-cover {padding-block:clamp(18px,3vw,48px)}
.studio-title h1,.shop-cover h1 {color:var(--studio-ink);font-size:clamp(52px,8vw,116px);letter-spacing:-.075em;line-height:.94;margin:.15em 0}
.studio-title h1 span,.shop-cover h1 span {color:var(--studio-blue)}
.studio-title p,.shop-cover p {color:#494943;font-size:clamp(16px,1.5vw,21px);margin:.8em 0}
.experiment-launch {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.experiment-launch button {position:relative;display:grid;padding:0;text-align:left;border:1px solid #c8c6ba;background:white;color:var(--studio-ink);overflow:hidden;border-radius:12px;transition:border-color .15s}
.experiment-launch img {width:100%;height:clamp(78px,8vw,125px);object-fit:cover}
.experiment-launch button:first-child img {object-fit:contain;background:#fff}
.experiment-launch span {padding:9px 12px;font-weight:650}
.experiment-launch button[aria-pressed=true] {border:2px solid var(--studio-blue);color:var(--studio-blue)}
.lab-toolbar {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 12px}
.lab-toolbar select {max-width:100%;margin:0;border-radius:30px}
.lab-toolbar button {margin-left:auto}
.lab-toolbar button,.flight-controls button,.studio-shop button {min-height:44px}
.lab-studio #coding {margin:0}
.lab-studio #coding>.panel,.lab-studio #coding>section,.flight-sim {margin:0}
.lab-studio #coding output {display:block;font-weight:650}
.flight-sim {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:white;border:1px solid #bcbdb4;border-radius:18px;overflow:hidden}
.airspace {min-height:270px;position:relative;background-color:#e2eaff;background-image:linear-gradient(#6676b81d 1px,transparent 1px),linear-gradient(90deg,#6676b81d 1px,transparent 1px);background-size:28px 28px;border-bottom:8px solid #394256}
.aircraft {position:absolute;bottom:var(--flight-height);left:44%;width:76px;height:76px;object-fit:contain;mix-blend-mode:multiply;transition:bottom .45s ease-out}
.target-line {position:absolute;bottom:var(--target-height);left:20%;width:32%;border-bottom:4px solid #934c16;text-align:left;color:#69350d;font:600 13px monospace;transition:bottom .1s}
.height-reading {position:absolute;top:12px;left:12px;background:white;padding:4px 10px;border-radius:18px;font:600 13px monospace}
.flight-controls {padding:clamp(18px,3vw,40px)}.flight-controls input {width:100%;accent-color:var(--studio-blue)}
.flight-controls label {display:block;margin-top:18px}
.flight-controls button:disabled {opacity:.5}
.flight-controls output {display:block;font-weight:600;margin-top:12px}
.shop-cover {display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:5%;margin:0;border-bottom:1px solid #c7c5ba}
.shop-cover a:has(img) {position:relative;display:block}
.shop-cover img {width:100%;display:block;border-radius:12px}
.shop-cover a>span {position:absolute;bottom:12px;left:12px;background:white;border-radius:20px;padding:6px 12px;color:#20211e;font-weight:600}
.studio-shop .primary,.studio-shop [data-add],.studio-shop #ask-quote,.flight-controls .primary {background:var(--studio-blue);border-color:var(--studio-blue);color:white;border-radius:28px}
.studio-shop #catalog {margin:34px 0 16px}
.studio-shop .catalogform .grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 20px}
.studio-shop .kit {background:transparent;border:0;box-shadow:none;min-width:0;padding:0}
.studio-shop .kit-visual {border-radius:10px}
.studio-shop .filters button {border-radius:24px}.studio-shop .filters [aria-pressed=true]{background:#20211e;color:white}
.studio-shop .kit-caption {padding:10px 0 3px}.studio-shop .kit-caption a {color:var(--studio-ink);font-size:20px;letter-spacing:-.05em}
.studio-shop .kit details {padding:5px 0}.studio-shop .kit summary {color:var(--studio-blue)}
.sale-price {font-size:21px;letter-spacing:-.04em}.studio-shop .sale-state {margin:2px 0 8px;font-size:12px;letter-spacing:0}
.buy-controls {margin-top:auto}.buy-controls [data-add] {width:100%}
.stepper {display:flex;align-items:center;justify-content:space-between;border:1px solid var(--studio-blue);border-radius:24px;color:var(--studio-blue);overflow:hidden}
.stepper button {width:52px;border:0;background:transparent;color:var(--studio-blue);font-size:21px}
.stepper output {font-weight:700}.studio-shop [hidden]{display:none!important}
.studio-shop #request {max-width:760px;padding:clamp(18px,3vw,38px);background:white;border:1px solid #bcbdb4}
#cart-summary {padding-left:18px}
.product-gallery .gallery-image {background:#eeeae1;object-fit:contain}
@media(max-width:720px) {
 .studio-shop .catalogform .grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .experiment-launch {grid-template-columns:repeat(2,minmax(0,1fr))}
 .flight-sim {grid-template-columns:1fr}.airspace {min-height:225px}
 .shop-cover {grid-template-columns:1fr 1fr}.shop-cover h1{font-size:clamp(38px,9vw,60px)}
 .lab-toolbar label {width:100%}.lab-toolbar button {margin-left:0}
}
@media(max-width:480px) {
 .studio-shop .catalogform .grid,.shop-cover {grid-template-columns:1fr}
 .shop-cover {gap:15px}.shop-cover img{max-height:160px;object-fit:cover}
 .lab-toolbar {gap:6px}.lab-toolbar select {flex:1;min-width:0}
}
@media(prefers-reduced-motion:reduce){.aircraft,.target-line,.experiment-launch button {transition:none}}
.signal-test input {width:auto}
.rover-track {height:78px;background:repeating-linear-gradient(90deg,#eef1e7 0 29px,#cbd2c2 30px);border-bottom:4px solid #384734;position:relative;margin:12px 0;border-radius:8px}
.rover-track i {position:absolute;bottom:3px;left:var(--advance);width:53px;height:36px;border-radius:7px;background:#26736c;box-shadow:inset 0 6px #253637,inset 0 -6px #253637;transition:left .1s linear}
.rover-track b {position:absolute;right:0;bottom:0;background:#ae804c;color:#fff;padding:13px 5px;font-size:12px}
.lamp-preview {height:90px;border-radius:9px;margin:10px 0;background:radial-gradient(circle at center,#7b8587 0 10px,#383d43 12px,#252831 80px)}
.lamp-preview.lit {background:radial-gradient(circle at center,#fffcdb 0 10px,#ffd878 12px,#574c31 56px,#292b30 96px)}
.studio-shop .remove-line {background:transparent;color:#353e80;border:0;text-decoration:underline;font-size:13px}
.flight-controls .signal-test input {width:auto}
