@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:200 800;font-stretch:100%;font-display:swap;src:url(/assets/bricolage-grotesque-latin-C23fTOVi.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Bricolage Grotesque", "Avenir Next", system-ui, sans-serif;--font-ui:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;font-family:var(--font-ui);color:#17231e;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17231e;--muted:#68746e;--cream:#f4f1e8;--paper:#fffdf7;--line:#dedbd1;--green:#167b49;--green-dark:#0e5f39;--green-soft:#dcecdf;--orange:#ef8a1f;--yellow:#f4c92d;--red:#e25942;--blue:#2a68ff;--shadow:0 18px 50px #1f30271a;background:#f4f1e8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 5% -10%, #f4c92d29, transparent 28rem), var(--cream);min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #2a68ff73}a{color:inherit}.skip-link{z-index:999;color:#fff;background:var(--ink);border-radius:.5rem;padding:.75rem 1rem;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.route-loading{min-height:100vh;color:var(--green-dark);background:radial-gradient(circle at center, #167b491f, transparent 22rem), var(--cream);font-family:var(--font-display);place-items:center;font-size:1.2rem;display:grid}.sr-only,.sr-only:not(:focus):not(:active){clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon{stroke-linecap:round;stroke-linejoin:round;flex:none;width:1.15rem;height:1.15rem}.brand{align-items:center;gap:.72rem;display:inline-flex}.brand-mark{background:var(--yellow);border:1px solid #cfa618;border-radius:.48rem;grid-template-rows:repeat(2,.58rem);grid-template-columns:repeat(2,.58rem);gap:.18rem;padding:.45rem;display:grid;box-shadow:inset 0 -2px #75540026}.brand-mark span{background:#ffe567;border:1px solid #7c560057;border-radius:50%;display:block;box-shadow:inset 0 1px 1px #ffffffbf}.brand-copy{flex-direction:column;line-height:1;display:flex}.brand-copy strong{letter-spacing:-.035em;font-size:1.05rem}.brand-copy small{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;margin-top:.28rem;font-size:.62rem;font-weight:700}.brand--compact .brand-mark{transform:scale(.88)}.brand--compact .brand-copy strong{font-size:.95rem}.brand--inverse .brand-copy strong{color:#fff}.catalog-page{min-height:100vh}.catalog-header{justify-content:space-between;align-items:center;max-width:1260px;margin:0 auto;padding:1.45rem clamp(1.2rem,4vw,3rem);display:flex}.header-nav{align-items:center;gap:clamp(1rem,2.4vw,2rem);font-size:.8rem;font-weight:750;display:flex}.header-nav a{color:#47534d;text-decoration:none}.header-nav a:hover{color:var(--ink)}.header-pill{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;background:#ffffff94;border:1px solid #d8d4c8;border-radius:999px;padding:.42rem .65rem;font-size:.65rem}.hero{grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr);align-items:center;gap:clamp(2rem,6vw,6.5rem);max-width:1260px;margin:0 auto;padding:clamp(3rem,7vw,6.2rem) clamp(1.2rem,4vw,3rem) clamp(4.2rem,8vw,7.5rem);display:grid}.hero-copy{max-width:630px}.eyebrow{color:var(--green-dark);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:.52rem;font-size:.72rem;font-weight:780;display:inline-flex}.eyebrow i{background:var(--green);border-radius:50%;width:.58rem;height:.58rem;box-shadow:0 0 0 5px #167b491f}.hero h1{max-width:680px;font-family:var(--font-display);letter-spacing:-.032em;margin:1.25rem 0 1.3rem;font-size:clamp(3.1rem,5.9vw,5.5rem);font-weight:620;line-height:.95}.hero h1 em{color:var(--green);font-style:normal;font-weight:620}.hero-copy>p{color:#59665f;max-width:580px;margin:0;font-size:clamp(1rem,1.4vw,1.16rem);line-height:1.72}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:2rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:.72rem;justify-content:center;align-items:center;gap:.75rem;min-height:3.1rem;padding:.82rem 1.18rem;font-size:.82rem;font-weight:780;text-decoration:none;transition:all .16s;display:inline-flex}.button--primary{color:#fff;background:var(--green);box-shadow:0 9px 20px #167b493b}.button--primary:hover{background:var(--green-dark);transform:translateY(-2px)}.button--ghost{background:#ffffff8c;border-color:#d3d0c7}.button--ghost:hover{background:#fff}.button--quiet{color:var(--muted);background:0 0}.button--quiet:hover{color:var(--ink)}.hero-metrics{gap:clamp(1.4rem,3.5vw,2.8rem);margin:2.5rem 0 0;display:flex}.hero-metrics div{flex-direction:column;display:flex}.hero-metrics dt{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.hero-metrics dd{color:var(--muted);text-transform:uppercase;letter-spacing:.075em;margin:.2rem 0 0;font-size:.66rem;font-weight:720}.hero-visual{place-items:center;min-height:510px;display:grid;position:relative}.hero-board{aspect-ratio:1/1.04;background:#318d56;border:14px solid #1d6f43;border-radius:1.4rem;width:min(100%,520px);position:relative;overflow:hidden;transform:rotate(1.2deg);box-shadow:0 34px 65px #193c2b33,inset 0 0 0 2px #ffffff24}.hero-studs{opacity:.75;grid-template-rows:repeat(8,1fr);grid-template-columns:repeat(10,1fr);gap:.72rem;display:grid;position:absolute;inset:.65rem}.hero-studs i{background:#3ca061;border:1px solid #236e42;border-radius:50%;place-self:center;width:1rem;height:1rem;box-shadow:inset 2px 2px 2px #fff3,0 2px 2px #0e472747}.hero-pivot{z-index:3;background:#203329;border:.27rem solid #f5c933;border-radius:50%;width:1.25rem;height:1.25rem;margin-left:-.62rem;position:absolute;top:14%;left:50%;box-shadow:0 0 0 .5rem #f5c933e6}.hero-rope{z-index:2;transform-origin:top;background:#e7ece7;border-radius:999px;width:.34rem;height:45%;position:absolute;top:15.5%;left:50%;transform:rotate(-22deg);box-shadow:0 0 0 1px #11251b73}.hero-brick{z-index:4;background:linear-gradient(#ff7d66,#e04d38);border:3px solid #a92f20;border-radius:.65rem;grid-template-columns:repeat(2,1fr);gap:.35rem;width:5.2rem;height:4.35rem;padding:.6rem;display:grid;position:absolute;top:52%;left:28.5%;transform:rotate(-4deg);box-shadow:0 14px 20px #18342540,inset 0 3px #ffffff3b}.hero-brick i{background:#fb725c;border:2px solid #b83425;border-radius:50%;box-shadow:inset 2px 2px #ffffff47}.hero-trace{z-index:1;border:3px solid #0000;border-top:0;border-bottom-color:#f4c92d85;border-radius:0 0 50% 50%;width:49%;height:22%;position:absolute;top:57%;left:26%}.hero-trace--two{opacity:.65;transform:translateY(-10%)scale(.86)}.hero-trace--three{opacity:.35;transform:translateY(-18%)scale(.72)}.hero-stage{aspect-ratio:1/1.02;width:min(100%,520px);position:relative}.hero-scene{opacity:0;pointer-events:none;place-items:center;transition:opacity .62s,transform .62s cubic-bezier(.22,.85,.3,1);display:grid;position:absolute;inset:0;transform:scale(.94)translateY(1.2rem)}.hero-scene.is-active{opacity:1;transform:none}.hero-scene-dots{z-index:7;gap:.45rem;display:flex;position:absolute;bottom:-.4rem;left:50%;transform:translate(-50%)}.hero-scene-dots button{cursor:pointer;background:#fffc;border:1px solid #c4c1b7;border-radius:.18rem;width:.62rem;height:.62rem;padding:0;transition:all .2s}.hero-scene-dots button.is-active{border-color:var(--green-dark);background:var(--green);width:1.5rem}@keyframes hero-brick-drop{0%{opacity:0;transform:translateY(-3.2rem)scale(.86)}60%{opacity:1}to{opacity:1;transform:none}}.hero-scene.is-active .hero-iso__brick{animation:.56s cubic-bezier(.22,1.05,.36,1) backwards hero-brick-drop;animation-delay:calc(var(--i,0) * var(--step,.43s) + .26s)}@keyframes hero-plate-rise{0%{opacity:0;transform:rotateX(58deg)rotate(45deg)scale(.9)}to{opacity:1;transform:rotateX(58deg)rotate(45deg)}}.hero-scene.is-active .hero-iso__plate{animation:.52s backwards hero-plate-rise}@keyframes hero-ball-fall{0%{opacity:0;transform:translateY(-1.6rem)}18%{opacity:1}to{opacity:.9;transform:translateY(2.6rem)}}.hero-scene.is-active .hero-galton-balls i{animation:2.6s ease-in infinite hero-ball-fall;animation-delay:calc(var(--i,0) * .22s)}.hero-swing{transform-origin:top;width:0;height:45%;position:absolute;top:15%;left:50%;transform:rotate(-21deg)}.hero-swing .hero-rope{height:100%;position:absolute;top:0;left:-.17rem;transform:none}.hero-swing .hero-brick{margin:-.5rem 0 0 -2.6rem;position:absolute;top:100%;left:50%}@keyframes hero-swing{0%{transform:rotate(-21deg)}to{transform:rotate(21deg)}}.hero-scene.is-active .hero-swing{animation:2.4s cubic-bezier(.45,0,.55,1) infinite alternate hero-swing}@media (prefers-reduced-motion:reduce){.hero-scene,.hero-scene.is-active .hero-iso__brick,.hero-scene.is-active .hero-iso__plate,.hero-scene.is-active .hero-galton-balls i,.hero-scene.is-active .hero-swing{transition:none;animation:none}}.hero-iso{aspect-ratio:1;place-items:center;width:min(100%,520px);display:grid;position:relative}.hero-iso__plate{aspect-ratio:1;background-color:#237841;background-image:radial-gradient(circle at 50% 42%,#ffffff42 26%,#14512b6b 27%,#0000 58%);background-size:10% 10%;border-radius:.5rem;width:62%;margin:-31% 0 0 -31%;position:absolute;top:50%;left:50%;transform:rotateX(58deg)rotate(45deg);box-shadow:0 0 0 1px #14512b,0 6px #14512b,0 40px 70px #193c2b47}.hero-iso__stack{position:absolute;inset:0;transform:translateY(-6%)}.hero-iso__brick{filter:drop-shadow(0 12px 18px #193c2b2e);position:absolute}@media (max-width:820px){.hero-iso__stack{transform:translateY(-6%)scale(.74)}}@media (max-width:520px){.hero-iso__stack{transform:translateY(-6%)scale(.56)}}.hero-readout{z-index:5;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10271ce6;border:1px solid #ffffff2b;border-radius:.8rem;grid-template-columns:auto 1fr;align-items:baseline;gap:0 .55rem;width:max-content;min-width:8.2rem;max-width:12.5rem;padding:.75rem .9rem;display:grid;position:absolute;bottom:1rem;right:1rem}.hero-readout span{color:#f4c92d;font-family:var(--font-display);font-size:1.1rem}.hero-readout strong{font-size:1rem}.hero-readout small{color:#a8bab0;text-transform:uppercase;letter-spacing:.1em;grid-column:1/-1;margin-top:.22rem;font-size:.56rem}.hero-tag{z-index:6;color:#26322c;background:#ffffffeb;border:1px solid #d9d8cf;border-radius:999px;align-items:center;gap:.42rem;padding:.55rem .75rem;font-size:.66rem;font-weight:800;display:inline-flex;position:absolute;box-shadow:0 12px 28px #20332929}.hero-tag--view{top:5%;right:1%}.hero-tag--sync{bottom:7%;left:-1%}.hero-tag--sync i{background:#2eb66f;border-radius:50%;width:.5rem;height:.5rem;box-shadow:0 0 0 4px #2eb66f24}.hero-board--galton{background:#f4f4f1;border-color:#c9cec9;transform:rotate(.9deg)}.hero-board--galton .hero-studs{opacity:.78}.hero-board--galton .hero-studs i{background:#f7f7f4;border-color:#c4c9c5;box-shadow:inset 2px 2px 2px #ffffffd9,0 2px 3px #343e3933}.hero-galton-pins,.hero-galton-balls{position:absolute;inset:0}.hero-galton-pins i{z-index:3;background:radial-gradient(circle at 32% 25%,#ffb75c,#f58a20 58%,#c9670d);border:1px solid #c6680d;border-radius:50%;width:1rem;height:1rem;margin:-.5rem;position:absolute;box-shadow:0 3px 5px #362d2047}.hero-galton-pins i:after{content:"";background:#f9962f;border:1px solid #ae5105bf;border-radius:50%;position:absolute;inset:24%}.hero-galton-balls i{z-index:4;background:radial-gradient(circle at 30% 25%,#82a5ff,#2f6df6 55%,#194bb7);border:1px solid #1749ac;border-radius:50%;width:.43rem;height:.43rem;margin:-.21rem;position:absolute;box-shadow:0 2px 3px #232d2838}.hero-galton-bins{z-index:3;border-bottom:1rem solid #ec851f;justify-content:space-between;height:21%;display:flex;position:absolute;bottom:6%;left:7%;right:7%}.hero-galton-bins i{background:linear-gradient(90deg,#f89b37,#e77813);border:1px solid #c7670d;border-radius:.25rem .25rem 0 0;width:.9rem;height:100%;box-shadow:inset 2px 0 #ffffff2e}.catalog-section{background:#fffdf8;border-top:1px solid #e3e0d6;border-bottom:1px solid #e3e0d6;padding:clamp(4rem,7vw,6.8rem) max(clamp(1.2rem,4vw,3rem),50vw - 630px + 3rem)}.section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;display:flex}.section-kicker{color:var(--green);text-transform:uppercase;letter-spacing:.13em;font-size:.67rem;font-weight:820}.section-kicker--light{color:#f5ce42}.section-heading h2,.method-copy h2{font-family:var(--font-display);letter-spacing:-.045em;margin:.55rem 0 0;font-size:clamp(2rem,4vw,3.4rem);font-weight:500}.search-field{background:#fff;border:1px solid #d9d6cd;border-radius:.65rem;align-items:center;gap:.55rem;width:min(100%,270px);height:2.8rem;padding:0 .85rem;display:flex}.search-field svg{fill:none;stroke:#7b847f;stroke-width:1.7px;width:1.05rem}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:.78rem}.filter-row{scrollbar-width:thin;gap:.48rem;margin:2.1rem 0 1.7rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.filter-chip{color:#66716b;cursor:pointer;background:#fff;border:1px solid #d8d6cf;border-radius:999px;flex:none;padding:.57rem .82rem;font-size:.7rem;font-weight:730}.filter-chip:hover,.filter-chip.is-active{color:#fff;border-color:var(--green);background:var(--green)}.simulation-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.simulation-card{background:#fff;border:1px solid #dddad1;border-radius:1rem;min-width:0;transition:all .18s;overflow:hidden;box-shadow:0 10px 26px #1f2e260b}.simulation-card:hover{border-color:#c8c5bc;transform:translateY(-4px);box-shadow:0 18px 35px #1f2e2617}.simulation-card--featured{border-color:#167b4966}.simulation-card:before{content:"";background:linear-gradient(90deg, var(--family-color,var(--green)) 0%, var(--family-edge,var(--green-dark)) 100%);height:.28rem;display:block}.simulation-card:hover{border-color:var(--family-color,#c8c5bc)}.card-family{align-items:center;gap:.34rem;display:inline-flex}.card-family i{background:var(--family-color,var(--green));width:.5rem;height:.5rem;box-shadow:inset 0 -.12rem 0 var(--family-edge,var(--green-dark));border-radius:.14rem}.card-visual{background:#e9eee9;border-bottom:1px solid #e3e0d7;height:190px;position:relative;overflow:hidden}.status-badge{z-index:5;color:#445149;text-transform:uppercase;letter-spacing:.055em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe8;border:1px solid #6f7e7545;border-radius:999px;align-items:center;gap:.35rem;padding:.38rem .55rem;font-size:.58rem;font-weight:800;display:inline-flex;position:absolute;top:.75rem;left:.75rem}.status-badge i{background:#8b948f;border-radius:50%;width:.43rem;height:.43rem}.status-badge--available i{background:#24aa68;box-shadow:0 0 0 3px #24aa6821}.status-badge--prototype i{background:var(--orange)}.card-body{padding:1.1rem 1.15rem 1rem}.card-meta{color:#7b847f;text-transform:uppercase;letter-spacing:.07em;justify-content:space-between;gap:.75rem;font-size:.59rem;font-weight:760;display:flex}.card-body h3{font-family:var(--font-display);letter-spacing:-.025em;margin:.65rem 0 .3rem;font-size:1.3rem;font-weight:600}.card-body p{color:#66726b;min-height:2.5rem;margin:0;font-size:.75rem;line-height:1.55}.card-footer{border-top:1px solid #ece9e1;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.85rem;display:flex}.mode-list{gap:.3rem;display:flex}.mode-list span{color:var(--green-dark);background:#e7f2e9;border-radius:.28rem;padding:.24rem .38rem;font-size:.54rem;font-weight:840}.card-open{color:var(--green);cursor:pointer;background:0 0;border:0;padding:.35rem 0;font-size:.68rem;font-weight:820}.card-open:disabled{color:#9aa19d;cursor:not-allowed}.empty-state{text-align:center;color:var(--muted);border:1px dashed #cfcac0;border-radius:1rem;padding:3rem}.card-art{position:absolute;inset:0;overflow:hidden}.card-art--energy-work{background:var(--green)}.card-art--energy-work svg{z-index:1;position:relative}.card-art:before{content:"";opacity:.75;background-image:radial-gradient(circle,#1f6a3f3d 0 4px,#0000 4.5px);background-size:24px 24px;position:absolute;inset:0}.card-art--pendulum{background:#2e8a53}.art-anchor{z-index:2;background:var(--yellow);border:2px solid #b58d0b;border-radius:5px;width:110px;height:18px;position:absolute;top:25px;left:calc(50% - 55px)}.art-rope{z-index:2;transform-origin:top;background:#e7e8e4;width:3px;height:96px;position:absolute;top:40px;left:50%;transform:rotate(19deg)}.art-bob{z-index:3;background:var(--red);border:2px solid #a83424;border-radius:6px;grid-template-columns:repeat(2,1fr);gap:4px;width:46px;height:42px;padding:6px;display:grid;position:absolute;top:121px;left:calc(50% + 9px);transform:rotate(5deg);box-shadow:0 7px 11px #0b392040}.art-bob i{background:#f16d57;border:1px solid #ad3726;border-radius:50%}.art-arc{z-index:1;border-bottom:3px dashed #ffda4abf;border-radius:0 0 50% 50%;width:148px;height:98px;position:absolute;top:76px;left:calc(50% - 74px)}.card-art--galton{background:#2f8653}.galton-funnel{z-index:2;background:#f5f1e7;border:2px solid #cbc7bb;border-radius:5px 5px 50% 50%;width:60px;height:40px;position:absolute;top:18px;left:calc(50% - 30px)}.galton-pegs{z-index:2;flex-wrap:wrap;justify-content:center;gap:7px 11px;width:164px;display:flex;position:absolute;top:63px;left:calc(50% - 82px)}.galton-pegs i{background:#f6c82c;border:1px solid #a9810c;border-radius:50%;width:11px;height:11px}.galton-bins{z-index:2;grid-template-columns:repeat(7,1fr);gap:3px;height:48px;display:grid;position:absolute;bottom:17px;left:calc(50% - 104px);right:calc(50% - 104px)}.galton-bins i{background:linear-gradient(to top, var(--orange) 0 45%, transparent 45%);border:3px solid #efede6;border-top:0}.card-art--atwood,.card-art--oscillators,.card-art--projectile{background:#e8e6df}.card-art--atwood:before,.card-art--oscillators:before,.card-art--projectile:before{background-image:radial-gradient(circle,#d2d2cb 0 4px,#0000 4.5px)}.atwood-track{z-index:2;background:#e0b31a;border:2px solid #a37d06;width:calc(100% - 64px);height:14px;position:absolute;top:112px;left:32px}.atwood-car{z-index:3;background:#315bd6;border:2px solid #173a9a;border-radius:7px 7px 3px 3px;width:75px;height:39px;position:absolute;top:73px;left:23%}.atwood-car i,.osc-cart i{background:#272a29;border:4px solid #4d5250;border-radius:50%;width:20px;height:20px;position:absolute;bottom:-10px}.atwood-car i:first-child,.osc-cart i:first-child{left:8px}.atwood-car i:last-child,.osc-cart i:last-child{right:8px}.atwood-pulley{z-index:3;background:#292d2b;border:10px dotted #6d7470;border-radius:50%;width:48px;height:48px;position:absolute;top:52px;right:17%}.atwood-line{z-index:2;border-top:3px solid #3c4440;border-right:3px solid #3c4440;border-radius:0 16px 0 0;width:90px;height:75px;position:absolute;top:76px;right:calc(17% + 21px)}.atwood-mass{z-index:3;background:var(--orange);border:2px solid #af5d09;border-radius:4px;width:29px;height:35px;position:absolute;top:139px;right:calc(17% + 8px)}.osc-wall{background:repeating-linear-gradient(45deg,#515854 0 4px,#b8b9b4 4px 8px);width:15px;position:absolute;top:45px;bottom:35px;left:8%}.osc-spring{z-index:2;background:repeating-linear-gradient(110deg,#0000 0 6px,#6c7470 7px 10px,#0000 11px 16px);border-top:2px solid #6c7470;border-bottom:2px solid #6c7470;height:17px;position:absolute;top:96px}.osc-spring--one{width:18%;left:calc(8% + 15px)}.osc-spring--two{width:18%;left:40%}.osc-spring--three{left:72%;right:3%}.osc-cart{z-index:3;background:var(--red);border:2px solid #a83223;border-radius:5px;width:62px;height:34px;position:absolute;top:79px}.osc-cart--one{left:26%}.osc-cart--two{background:var(--blue);border-color:#1943ab;left:58%}.projectile-ramp{z-index:2;border-left:14px solid var(--yellow);border-bottom:14px solid var(--yellow);border-radius:0 0 0 100%;width:118px;height:118px;position:absolute;bottom:28px;left:36px;transform:rotate(-8deg)}.projectile-ball{z-index:3;background:var(--red);border:2px solid #9f3022;border-radius:50%;width:18px;height:18px;position:absolute;top:53px;left:108px}.projectile-path i{z-index:3;background:#e75d47;border-radius:50%;width:11px;height:11px;position:absolute}.projectile-path i:first-child{top:31%;left:40%}.projectile-path i:nth-child(2){top:29%;left:48%}.projectile-path i:nth-child(3){top:31%;left:56%}.projectile-path i:nth-child(4){top:36%;left:64%}.projectile-path i:nth-child(5){top:44%;left:72%}.projectile-path i:nth-child(6){top:55%;left:79%}.projectile-path i:nth-child(7){top:68%;left:85%}.projectile-path i:nth-child(8){top:81%;left:90%}.card-art--field{background:radial-gradient(circle,#11382a,#081d16)}.card-art--field:before{opacity:.25;background-image:linear-gradient(#5b9b7c38 1px,#0000 1px),linear-gradient(90deg,#5b9b7c38 1px,#0000 1px);background-size:24px 24px}.field-charge{z-index:3;color:#fff;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.5rem;font-weight:400;display:grid;position:absolute;top:75px;box-shadow:0 0 30px}.field-charge--positive{background:#e6523e;left:27%}.field-charge--negative{background:#3478ed;right:27%}.field-line{z-index:2;border:2px solid #f4d7599e;border-radius:50%;position:absolute;inset:36px 20%}.field-line--two{inset:50px 29%}.field-line--three{inset:68px 38%}.card-art--sampling{background:#f2efe5}.card-art--sampling:before{background-image:radial-gradient(circle,#d1cdc1 0 4px,#0000 4.5px)}.sampling-population{z-index:2;grid-template-columns:repeat(7,1fr);gap:7px;width:43%;display:grid;position:absolute;top:29px;left:7%}.sampling-population i{background:var(--orange);border:1px solid #b35d08;border-radius:50%;width:13px;height:13px}.sampling-chart{z-index:2;border-bottom:2px solid #525b56;border-left:2px solid #525b56;justify-content:center;align-items:flex-end;gap:5px;width:41%;height:105px;display:flex;position:absolute;bottom:28px;right:7%}.sampling-chart i{background:var(--green);border-radius:3px 3px 0 0;width:12px}.method-section{color:#fff;background:radial-gradient(circle at 80% 20%,#36976152,#0000 26rem),#102b20;padding:clamp(4rem,8vw,7.5rem) max(clamp(1.2rem,4vw,3rem),50vw - 630px + 3rem)}.method-copy{max-width:740px}.method-copy h2{font-size:clamp(2.4rem,5vw,4.3rem)}.method-copy p{color:#b8c8bf;max-width:650px;line-height:1.75}.method-cards{background:#ffffff1f;border:1px solid #ffffff1f;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:3.1rem;display:grid}.method-cards article{background:#132f24;padding:clamp(1.3rem,3vw,2.4rem)}.method-index{color:#f2c940;font-family:var(--font-display);font-size:.85rem}.method-cards h3{font-family:var(--font-display);margin:1.8rem 0 .6rem;font-size:1.45rem;font-weight:500}.method-cards p{color:#afc0b6;margin:0;font-size:.8rem;line-height:1.7}.catalog-footer{color:#b8c7bf;background:#0b2118;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.7rem max(clamp(1.2rem,4vw,3rem),50vw - 630px + 3rem);font-size:.65rem;display:flex}.catalog-footer p{margin:0}.catalog-footer a{color:#fff;font-weight:750;text-decoration:none}.simulation-page{background:#f2f0e9;min-height:100vh}.simulation-topbar{z-index:30;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffdf8f0;border-bottom:1px solid #dcd9d0;justify-content:space-between;align-items:center;gap:1rem;min-height:4.65rem;padding:.7rem clamp(.8rem,2vw,1.5rem);display:flex;position:sticky;top:0}.simulation-topbar__left,.simulation-topbar__actions{align-items:center;gap:.85rem;min-width:0;display:flex}.icon-button{color:#3e4a44;cursor:pointer;background:#fff;border:1px solid #d9d6cd;border-radius:.62rem;place-items:center;width:2.5rem;height:2.5rem;display:grid}.icon-button:hover{background:#f2f0e9}.topbar-divider{background:#d8d5cc;width:1px;height:2rem}.simulation-title{flex-direction:column;min-width:0;display:flex}.simulation-title span{color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:.56rem;font-weight:800}.simulation-title strong{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);margin-top:.17rem;font-size:1.04rem;overflow:hidden}.text-button{color:var(--green-dark);cursor:pointer;background:0 0;border:0;font-size:.69rem;font-weight:780}.runtime-badge{color:#526159;background:#f7faf7;border:1px solid #d8ded9;border-radius:999px;align-items:center;gap:.4rem;padding:.43rem .58rem;font-size:.59rem;font-weight:720;display:inline-flex}.runtime-badge i{background:#28ad68;border-radius:50%;width:.42rem;height:.42rem;box-shadow:0 0 0 3px #28ad681f}.workbench{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1rem;width:min(100%,1580px);margin:0 auto;padding:1rem;display:grid}.stage-column{gap:.75rem;min-width:0;display:grid}.stage-toolbar{background:#fffdf9;border:1px solid #dedbd2;border-radius:.85rem;justify-content:space-between;align-items:center;gap:1rem;min-height:3.15rem;padding:.45rem .6rem;display:flex}.segmented-control{background:#eeece5;border-radius:.62rem;gap:.18rem;padding:.2rem;display:flex}.segmented-control button{color:#68736d;cursor:pointer;background:0 0;border:0;border-radius:.48rem;justify-content:center;align-items:center;gap:.37rem;min-width:4.3rem;padding:.45rem .62rem;font-size:.68rem;font-weight:800;display:inline-flex}.segmented-control button.is-active{color:var(--ink);background:#fff;box-shadow:0 2px 6px #1d2d241f}.view-options{align-items:center;gap:1rem;display:flex}.scene-capture-button{color:#405047;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d3d8d3;border-radius:.48rem;justify-content:center;align-items:center;gap:.32rem;min-height:30px;padding:.38rem .58rem;font-size:.55rem;font-weight:800;display:inline-flex}.scene-capture-button:hover{color:#175b38;background:#f2f7f3;border-color:#8fa095}.scene-capture-button .icon{width:.9rem;height:.9rem}.scene-capture-status{color:#23613e;background:#edf5ef;border:1px solid #cfe0d3;border-radius:.48rem;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .62rem;font-size:.56rem;font-weight:750;display:flex}.scene-capture-status button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:.85rem}.view-options label{color:#53605a;cursor:pointer;align-items:center;gap:.4rem;font-size:.66rem;font-weight:720;display:inline-flex}.view-options input{opacity:0;pointer-events:none;position:absolute}.view-options label span{background:#d1d3ce;border-radius:999px;width:1.85rem;height:1.03rem;transition:all .15s;position:relative}.view-options label span:after{content:"";background:#fff;border-radius:50%;width:.7rem;height:.7rem;transition:all .15s;position:absolute;top:.16rem;left:.17rem;box-shadow:0 1px 3px #0000002e}.view-options input:checked+span{background:var(--green)}.view-options input:checked+span:after{transform:translate(.8rem)}.view-options input:focus-visible+span{outline-offset:2px;outline:3px solid #2a68ff6b}.simulation-stage{background:#e8e8e1;border:1px solid #d9d7ce;border-radius:1.05rem;place-items:stretch stretch;min-width:0;height:clamp(420px,100vh - 245px,650px);min-height:420px;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 35px #23322a14}.view-loading{min-height:inherit;color:var(--green-dark);font-family:var(--font-display);background:radial-gradient(circle,#167b491a,#0000 18rem),#f4f1e8;place-items:center;font-size:.95rem;display:grid}.pendulum-2d{background:#287949;width:100%;height:100%;min-height:0;display:block}.svg-measure-label,.svg-angle-label{fill:#37433d;paint-order:stroke;stroke:#f8f6f0;stroke-width:5px;font-size:16px;font-weight:750}.svg-angle-label{fill:#b45f0d}.svg-vector-label{fill:#2a68ff;paint-order:stroke;stroke:#fff;stroke-width:5px;font-size:18px;font-weight:820}.svg-vector-label--orange{fill:#c3670e}.pendulum-3d{background:#f4f1e8;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.three-canvas{cursor:grab;touch-action:pan-y;width:100%;height:100%;display:block}.three-canvas:active{cursor:grabbing}.three-readout{z-index:4;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#122a1fe0;border:1px solid #ffffff26;border-radius:.75rem;flex-direction:column;min-width:9rem;padding:.75rem .85rem;display:flex;position:absolute;top:1rem;left:1rem}.three-readout span{color:#a9bdb3;text-transform:uppercase;letter-spacing:.07em;font-size:.59rem;font-weight:720}.three-readout strong{font-family:var(--font-display);margin-top:.2rem;font-size:1.45rem}.three-readout small{color:#d1dad5;margin-top:.3rem;font-size:.57rem}.three-badge{z-index:4;color:#476057;background:#ffffffe0;border:1px solid #58686033;border-radius:999px;align-items:center;gap:.4rem;padding:.43rem .6rem;font-size:.57rem;font-weight:780;display:inline-flex;position:absolute;top:1rem;right:1rem}.three-badge i{background:#2aad68;border-radius:50%;width:.43rem;height:.43rem}.transport-bar{background:#fffdf9;border:1px solid #dad8d0;border-radius:.85rem;align-items:center;gap:.48rem;min-width:0;padding:.55rem;display:flex}.transport-button{cursor:pointer;border-radius:.58rem;justify-content:center;align-items:center;gap:.4rem;height:2.65rem;font-size:.67rem;font-weight:800;display:inline-flex}.transport-button--primary{color:#fff;border:1px solid var(--green);background:var(--green);min-width:7.8rem;padding:0 .9rem}.transport-button--secondary{color:#46534d;background:#fff;border:1px solid #d8d6cf;width:2.65rem}.transport-button:disabled{opacity:.42;cursor:not-allowed}.transport-readout{color:#727b76;min-width:0;font-family:var(--font-mono);align-items:center;gap:1.1rem;margin-left:auto;font-size:.67rem;display:flex}.transport-readout strong{color:#25322b}.energy-card{background:#fffdf9;border:1px solid #dad8d0;border-radius:.9rem;padding:1rem}.panel-title-row{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.panel-kicker{color:var(--green);text-transform:uppercase;letter-spacing:.09em;font-size:.54rem;font-weight:840}.panel-title-row h3{font-family:var(--font-display);margin:.24rem 0 0;font-size:1.12rem}.panel-title-row>strong{font-family:var(--font-mono);font-size:.73rem}.energy-bar{background:#e7e5de;border-radius:999px;height:.58rem;margin-top:.9rem;display:flex;overflow:hidden}.energy-bar span{min-width:0;transition:width .1s linear}.energy-bar__kinetic{background:var(--blue)}.energy-bar__potential{background:var(--orange)}.energy-legend{color:#68736d;gap:1.2rem;margin-top:.6rem;font-size:.61rem;display:flex}.energy-legend span{align-items:center;gap:.35rem;display:inline-flex}.energy-legend strong{color:#2e3b34;font-family:var(--font-mono)}.legend-dot{border-radius:50%;width:.48rem;height:.48rem}.legend-dot--kinetic{background:var(--blue)}.legend-dot--potential{background:var(--orange)}.mini-trace{color:#8a918d;background-color:#faf9f5;background-image:linear-gradient(#eeece6 1px,#0000 1px),linear-gradient(90deg,#eeece6 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-radius:.62rem;min-height:5.6rem;margin-top:.85rem;font-size:.63rem;position:relative;overflow:hidden}.mini-trace svg{width:100%;height:5.6rem;display:block}.mini-trace__label{z-index:2;color:var(--red);font-family:var(--font-display);font-style:italic;font-weight:700;position:absolute;top:.4rem;left:.5rem}.mini-trace--empty{place-items:center;display:grid}.inspector{background:#fffdf9;border:1px solid #d9d7ce;border-radius:1rem;min-width:0;position:sticky;top:5.65rem;overflow:hidden;box-shadow:0 14px 30px #1d2d2412}.inspector-tabs{background:#f1efe8;border-bottom:1px solid #e4e1d9;grid-template-columns:1fr 1fr;gap:.25rem;padding:.45rem;display:grid}.inspector-tabs button{color:#6b756f;cursor:pointer;background:0 0;border:0;border-radius:.55rem;padding:.62rem .55rem;font-size:.66rem;font-weight:790}.inspector-tabs button.is-active{color:var(--ink);background:#fff;box-shadow:0 2px 7px #1d2c2417}.parameters-panel,.twin-panel{padding:1.15rem}.inspector-heading{border-bottom:1px solid #ece9e1;padding-bottom:1rem}.inspector-heading h2{font-family:var(--font-display);margin:.33rem 0 .42rem;font-size:1.35rem;font-weight:600}.inspector-heading p{color:#727c76;margin:0;font-size:.68rem;line-height:1.55}.range-control{border-bottom:1px solid #ece9e1;padding:.85rem 0;display:block}.range-control__header{justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.69rem;font-weight:720;display:flex}.range-control__header strong{color:var(--green-dark);font-family:var(--font-mono);font-size:.72rem}.range-control__header small{color:#7a847f;font-family:inherit;font-size:.58rem;font-weight:650}.range-control input[type=range],.gravity-control input[type=range]{appearance:none;background:linear-gradient(var(--green), var(--green)) 0 / var(--range-progress,50%) 100% no-repeat, #d8dbd6;cursor:pointer;border-radius:999px;width:100%;height:4px;margin:.72rem 0 0}.range-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--green);border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #1c7b4d,0 2px 5px #13382440}.gravity-control input[type=range]::-webkit-slider-thumb{appearance:none;background:var(--green);border:3px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 0 0 1px #1c7b4d,0 2px 5px #13382440}.range-control input[type=range]::-moz-range-thumb{background:var(--green);border:3px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #1c7b4d}.gravity-control input[type=range]::-moz-range-thumb{background:var(--green);border:3px solid #fff;border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 1px #1c7b4d}.range-control__limits{color:#9ba29e;font-family:var(--font-mono);justify-content:space-between;margin-top:.33rem;display:flex}.gravity-control{background:#f7f5ef;border:1px solid #ddd9cf;border-radius:.72rem;margin:.85rem 0 0;padding:.85rem}.gravity-control legend{padding:0 .32rem;font-size:.68rem;font-weight:760}.gravity-current{align-items:baseline;gap:.25rem;display:flex}.gravity-current strong{font-family:var(--font-display);font-size:1.6rem}.gravity-current span{color:#727d77;font-size:.65rem}.gravity-control input[type=range]{--range-progress:37%;margin-top:.9rem}.preset-row{grid-template-columns:repeat(4,1fr);gap:.28rem;margin-top:.75rem;display:grid}.preset-row button{color:#657069;cursor:pointer;background:#fff;border:1px solid #d5d2c9;border-radius:.4rem;padding:.36rem .2rem;font-size:.54rem;font-weight:740}.preset-row button.is-active{color:#fff;border-color:var(--green);background:var(--green)}.prediction-card{color:#fff;background:#18382a;border-radius:.68rem;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;padding:.8rem;display:flex}.prediction-card div{flex-direction:column;display:flex}.prediction-card span{color:#a9bbb2;text-transform:uppercase;letter-spacing:.06em;font-size:.55rem}.prediction-card strong{font-family:var(--font-display);margin-top:.2rem;font-size:1.25rem}.prediction-card code{color:#f5ce43;font-size:.64rem}.twin-intro{border-bottom:1px solid #e8e5dd;align-items:flex-start;gap:.75rem;padding-bottom:1rem;display:flex}.twin-icon{background:var(--yellow);border:1px solid #cca719;border-radius:.62rem;flex:none;grid-template-columns:1fr 1fr;gap:.22rem;width:2.7rem;height:2.7rem;padding:.48rem;display:grid}.twin-icon i{background:#ffe46c;border:1px solid #80590047;border-radius:50%}.twin-intro h3{font-family:var(--font-display);margin:0;font-size:1.23rem}.twin-intro p{color:#737c77;margin:.35rem 0 0;font-size:.67rem;line-height:1.55}.calibration-box{background:#edf5ee;border:1px solid #d7e4da;border-radius:.65rem;flex-direction:column;margin:.9rem 0;padding:.75rem;display:flex}.calibration-box span{color:#597064;text-transform:uppercase;letter-spacing:.07em;font-size:.54rem;font-weight:800}.calibration-box strong{color:var(--green-dark);margin-top:.18rem;font-size:.82rem}.calibration-box small{color:#6c7d73;margin-top:.2rem;font-size:.59rem}.field-control{border-bottom:1px solid #ece9e1;justify-content:space-between;align-items:center;gap:.75rem;padding:.68rem 0;font-size:.68rem;font-weight:730;display:flex}.field-control span small{color:#8b928e;font-weight:620}.field-control input{width:6rem;color:var(--ink);font-family:var(--font-mono);background:#fff;border:1px solid #d2d0c8;border-radius:.48rem;padding:.45rem .5rem;font-size:.68rem}.comparison-results{grid-template-columns:1fr 1fr;gap:.42rem;margin:.9rem 0 0;display:grid}.comparison-results div{background:#f1efe8;border-radius:.55rem;flex-direction:column;padding:.68rem;display:flex}.comparison-results dt{color:#7d8681;text-transform:uppercase;letter-spacing:.06em;font-size:.52rem;font-weight:790}.comparison-results dd{font-family:var(--font-mono);margin:.2rem 0 0;font-size:.75rem;font-weight:780}.comparison-results .comparison-error{flex-direction:row;grid-column:1/-1;justify-content:space-between;align-items:center}.comparison-error--good{color:#155c37;background:#dff2e5!important}.comparison-error--warn{color:#80520d;background:#fff0cf!important}.comparison-error--bad{color:#922e23;background:#fce1dc!important}.model-note{color:#69736d;border-left:3px solid var(--yellow);background:#f8f6f0;margin:.9rem 0 0;padding:.7rem .75rem;font-size:.62rem;line-height:1.55}@media (max-width:1100px){.hero{grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:2.2rem}.simulation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workbench{grid-template-columns:minmax(0,1fr) 310px}}@media (max-width:900px){.hero{grid-template-columns:1fr;padding-top:2.5rem}.hero-copy{max-width:760px}.hero-visual{min-height:auto}.hero-board{width:min(100%,540px)}.workbench{grid-template-columns:1fr}.inspector{position:static}.parameters-panel{grid-template-columns:1fr 1fr;gap:0 1.1rem;display:grid}.inspector-heading{grid-column:1/-1}.gravity-control,.prediction-card{align-self:start}}@media (max-width:720px){.catalog-header{padding:1rem}.header-nav a{display:none}.hero{padding:2.5rem 1rem 4.5rem}.hero h1{font-size:clamp(3rem,15vw,4.7rem)}.hero-metrics{gap:1.2rem}.hero-metrics dt{font-size:1.1rem}.hero-tag--sync{left:.25rem}.catalog-section,.method-section{padding-left:1rem;padding-right:1rem}.section-heading{flex-direction:column;align-items:stretch}.search-field{width:100%}.simulation-grid{grid-template-columns:1fr}.card-visual{height:205px}.method-cards{grid-template-columns:1fr}.catalog-footer{flex-direction:column;align-items:flex-start}.simulation-topbar{min-height:4rem}.simulation-topbar .brand,.topbar-divider,.runtime-badge{display:none}.simulation-title strong{font-size:.92rem}.workbench{padding:.55rem}.stage-toolbar{flex-direction:column;align-items:stretch}.segmented-control button{flex:1}.view-options{justify-content:center}.simulation-stage,.pendulum-2d,.pendulum-3d{height:430px;min-height:430px}.transport-bar{flex-wrap:wrap}.transport-readout{border-top:1px solid #e6e3da;justify-content:space-between;width:100%;margin:.2rem 0 0;padding:.55rem .3rem .1rem}.parameters-panel{display:block}.energy-legend{flex-direction:column;gap:.35rem}}@media (max-width:430px){.hero-actions .button{width:100%}.hero-metrics{grid-template-columns:repeat(3,1fr);display:grid}.hero-metrics dd{font-size:.5rem}.hero-board{border-width:9px}.hero-studs{gap:.36rem}.hero-studs i{width:.7rem;height:.7rem}.hero-brick{width:4rem;height:3.5rem}.simulation-topbar__actions .text-button{font-size:.6rem}.simulation-stage,.pendulum-2d,.pendulum-3d{height:365px;min-height:365px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.galton-page{background:#ecebe5}.galton-topbar{min-height:4.25rem}.galton-live-counter{color:#637069;background:#fff;border:1px solid #d8dad4;border-radius:.48rem;align-items:center;gap:.34rem;padding:.42rem .6rem;font-size:.62rem;display:inline-flex}.galton-live-counter>span{background:#9ca49f;border-radius:50%;width:.44rem;height:.44rem}.galton-live-counter>span.is-running{background:#27b369;box-shadow:0 0 0 4px #27b3691f}.galton-live-counter strong{color:var(--ink);font-family:var(--font-mono)}.galton-workbench{grid-template-columns:244px minmax(520px,1fr) 310px;align-items:start;gap:.75rem;width:min(100%,1880px);margin:0 auto;padding:.8rem;display:grid}.galton-parts-panel,.galton-inspector{scrollbar-width:thin;background:#fbfaf6;border:1px solid #d6d6cf;border-radius:.9rem;max-height:calc(100vh - 5.85rem);position:sticky;top:5.05rem;overflow:auto;box-shadow:0 12px 28px #1f2c250f}.galton-parts-panel{padding:.9rem}.galton-panel-heading{border-bottom:1px solid #e7e4dc;padding-bottom:.85rem}.galton-panel-heading h2{font-family:var(--font-display);margin:.25rem 0 .35rem;font-size:1.18rem}.galton-panel-heading p{color:#717b75;margin:0;font-size:.64rem;line-height:1.5}.galton-tool-pair{grid-template-columns:1fr .82fr;gap:.38rem;margin:.75rem 0;display:grid}.galton-tool-pair button{color:#55615a;cursor:pointer;background:#fff;border:1px solid #d5d6cf;border-radius:.56rem;justify-content:center;align-items:center;gap:.38rem;min-height:2.65rem;padding:.5rem;font-size:.61rem;font-weight:780;display:flex}.galton-tool-pair button.is-active{color:#fff;background:#126e42;border-color:#126e42;box-shadow:0 5px 12px #126e422e}.tool-ball{background:#2f6df6;border:1px solid #1c4fb5;border-radius:50%;width:.8rem;height:.8rem;box-shadow:inset 2px 2px #86a8ff}.tool-eraser{color:#fff;background:#d85848;border-radius:.2rem;place-items:center;width:.9rem;height:.9rem;display:grid}.parts-group{background:#fff;border:1px solid #deddd6;border-radius:.65rem;overflow:hidden}.parts-group__title{background:#f3f2ed;border-bottom:1px solid #ebe9e2;justify-content:space-between;align-items:center;padding:.55rem .62rem;display:flex}.parts-group__title h3{margin:0;font-size:.65rem}.parts-group__title span{text-align:center;color:#6b756f;background:#fff;border-radius:999px;min-width:1.45rem;padding:.16rem .3rem;font-size:.54rem;font-weight:800}.parts-list{gap:.18rem;padding:.3rem;display:grid}.part-button{color:#29342e;text-align:left;cursor:grab;background:0 0;border:1px solid #0000;border-radius:.48rem;grid-template-columns:3.25rem minmax(0,1fr);align-items:center;gap:.52rem;width:100%;min-height:2.75rem;padding:.35rem .42rem;display:grid}.part-button:hover{background:#f5f4ef}.part-button.is-active{background:#e8f2ea;border-color:#126e426b}.part-button>span:last-child{flex-direction:column;min-width:0;display:flex}.part-button strong{text-overflow:ellipsis;color:#27332d;white-space:nowrap;font-size:.63rem;overflow:hidden}.part-button small{color:#858d88;margin-top:.18rem;font-size:.52rem}.part-swatch{--part-ratio:1;width:calc(.75rem * var(--part-ratio) + .75rem);border:1px solid color-mix(in srgb, var(--part-color) 76%, var(--part-edge));background:var(--part-color);border-radius:.28rem;justify-content:space-around;justify-self:center;align-items:center;max-width:3rem;height:1.45rem;padding:.22rem;display:flex;overflow:hidden;box-shadow:0 2px 4px #222a2621}.part-swatch i{border:1px solid color-mix(in srgb, var(--part-color) 82%, var(--part-edge));background:color-mix(in srgb, var(--part-color) 96%, white);border-radius:50%;flex:none;width:.43rem;height:.43rem;box-shadow:0 1px 1px #222a261a}.part-swatch--round{width:calc(var(--part-columns,1) * .62rem + .93rem);height:calc(var(--part-rows,1) * .62rem + .93rem);grid-template-columns:repeat(var(--part-columns,1), minmax(0, 1fr));grid-template-rows:repeat(var(--part-rows,1), minmax(0, 1fr));border-radius:50%;place-items:center;gap:.08rem;padding:.3rem;display:grid}.part-swatch--round i{width:min(.43rem,76%);height:min(.43rem,76%)}.rotation-control{background:#fff;border:1px solid #dcdbd4;border-radius:.58rem;justify-content:space-between;align-items:center;gap:.65rem;margin-top:.65rem;padding:.62rem;display:flex}.rotation-control>div{flex-direction:column;display:flex}.rotation-control span{color:#818984;font-size:.52rem}.rotation-control strong{font-family:var(--font-mono);margin-top:.14rem;font-size:.67rem}.rotation-control button{color:#4e5a53;cursor:pointer;background:#f6f5f1;border:1px solid #cfcec7;border-radius:.42rem;padding:.42rem .52rem;font-size:.58rem;font-weight:760}.rotation-control button:disabled{opacity:.45;cursor:not-allowed}kbd{font:inherit;background:#fff;border:1px solid #c9c8c1;border-bottom-width:2px;border-radius:.22rem;margin-left:.18rem;padding:.12rem .24rem}.lego-contract{color:#d6e8dd;background:#183a2a;border-radius:.55rem;grid-template-columns:1fr 1fr;gap:.32rem;margin-top:.65rem;padding:.65rem;display:grid}.lego-contract strong{color:#fff;grid-column:1/-1;font-size:.6rem}.lego-contract span{color:#b3c9bc;font-family:var(--font-mono);font-size:.49rem}.galton-stage-column{gap:.65rem;min-width:0;display:grid}.galton-stage-toolbar{flex-direction:column;align-items:stretch;gap:.45rem;min-height:3rem;padding:.5rem}.galton-stage-toolbar__views{align-items:center;gap:.65rem;min-width:0;display:flex}.galton-stage-toolbar .segmented-control button{min-width:7.5rem}.galton-performance-mode{color:#23613e;background:#edf5ef;border:1px solid #cfe0d3;border-radius:.42rem;margin-right:auto;padding:.38rem .55rem;font-size:.54rem;font-weight:800}.galton-stage{aspect-ratio:8/5;background:#d8d8d2;border:0;border-radius:.5rem;width:100%;min-width:0;height:auto;min-height:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #c9cbc5}.galton-2d,.galton-3d{width:100%;height:100%;position:relative;overflow:hidden}.galton-2d canvas{touch-action:none;cursor:crosshair;display:block}.galton-board-badge{z-index:4;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#17251ed9;border:1px solid #ffffff57;border-radius:.58rem;flex-direction:column;min-width:7.6rem;padding:.55rem .65rem;display:flex;position:absolute;top:.8rem;left:.8rem}.galton-board-badge strong{font-family:var(--font-display);font-size:1rem}.galton-board-badge span{color:#c1cec6;font-family:var(--font-mono);margin-top:.12rem;font-size:.49rem}.galton-gravity{z-index:4;color:#26362d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #242f2933;border-radius:.55rem;grid-template-columns:auto 1fr;align-items:center;gap:.12rem .35rem;width:3.4rem;padding:.45rem .3rem;display:grid;position:absolute;top:.8rem;right:.8rem}.galton-gravity span{font-family:var(--font-display);font-size:.75rem;font-style:italic}.galton-gravity i{background:#273b31;justify-self:center;width:1px;height:1.25rem;position:relative}.galton-gravity i:after{content:"";border-bottom:1px solid #273b31;border-right:1px solid #273b31;width:6px;height:6px;position:absolute;bottom:-1px;left:-3px;transform:rotate(45deg)}.galton-gravity strong{text-align:center;color:#66736c;grid-column:1/-1;font-size:.45rem}.galton-coordinate-readout{z-index:5;color:#d2ded7;font-family:var(--font-mono);background:#17251edb;border:1px solid #ffffff4d;border-radius:.45rem;align-items:baseline;gap:.28rem;padding:.45rem .58rem;font-size:.51rem;display:flex;position:absolute;bottom:.75rem;right:.75rem}.galton-coordinate-readout strong{color:#fff}.galton-coordinate-readout span{color:#adc0b5}.galton-toast{z-index:8;color:#fff;background:#134029e8;border:1px solid #ffffff40;border-radius:999px;padding:.58rem .76rem;font-size:.61rem;font-weight:720;position:absolute;bottom:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 20px #142b1f3d}.galton-empty-hint{z-index:3;color:#56635c;pointer-events:none;background:#ffffffe0;border:1px solid #2231291f;border-radius:999px;align-items:center;gap:.35rem;padding:.5rem .72rem;font-size:.55rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 6px 15px #19292014}.galton-empty-hint strong{color:#1b6f45}.galton-3d{background:#e7e5de}.galton-three-readout{min-width:12rem}.galton-three-readout strong{font-size:1.08rem}.galton-toolbar-transport{border-top:1px solid #e5e2da;flex-wrap:wrap;align-items:center;gap:.38rem;min-width:0;padding-top:.45rem;display:flex}.galton-toolbar-transport .transport-button{height:2.25rem}.galton-toolbar-transport .transport-button--primary{min-width:6.8rem}.galton-toolbar-transport .transport-button--secondary{width:2.25rem}.galton-toolbar-transport .playback-rate-control,.galton-toolbar-transport .galton-burst-button,.galton-toolbar-transport .galton-clear-button{min-height:2.25rem}.playback-rate-control{background:#fff;border:1px solid #cfcec7;border-radius:.5rem;align-items:center;gap:.45rem;min-height:2.65rem;padding:.32rem .48rem .32rem .58rem;display:flex}.playback-rate-control span{color:#69736d;font-size:.54rem;font-weight:760}.playback-rate-control select{color:#173828;min-height:1.8rem;font-family:var(--font-mono);cursor:pointer;background:#f5f5f1;border:1px solid #c8c9c3;border-radius:.36rem;padding:0 1.5rem 0 .42rem;font-size:.6rem;font-weight:800}.galton-burst-button,.galton-clear-button{cursor:pointer;border-radius:.56rem;min-height:2.65rem;padding:.4rem .75rem;font-size:.61rem;font-weight:780}.galton-burst-button{color:#fff;background:#2f6df6;border:1px solid #1d58c5;box-shadow:0 5px 12px #2f6df633}.galton-clear-button{color:#5f6a64;background:#fff;border:1px solid #d7d5ce}.galton-distribution-card{background:#fbfaf6;border:1px solid #d7d6cf;border-radius:.82rem;padding:.85rem 1rem .65rem}.galton-distribution-heading{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.galton-distribution-heading h3{font-family:var(--font-display);margin:.2rem 0 0;font-size:1.05rem}.galton-distribution-heading dl{gap:1.25rem;margin:0;display:flex}.galton-distribution-heading dl div{flex-direction:column;align-items:flex-end;display:flex}.galton-distribution-heading dt{color:#7c8580;text-transform:uppercase;letter-spacing:.06em;font-size:.47rem;font-weight:760}.galton-distribution-heading dd{color:#26352d;font-family:var(--font-mono);margin:.16rem 0 0;font-size:.61rem;font-weight:720}.galton-chart-shell{background:#f5f4ef;border:1px solid #e1e0da;border-radius:.55rem;min-height:7.2rem;margin-top:.5rem;position:relative;overflow:hidden}.galton-chart-shell>p{color:#8a928e;place-items:center;font-size:.58rem;display:grid;position:absolute;inset:0}.galton-chart-shell svg{z-index:2;width:100%;height:8rem;display:block;position:relative}.galton-chart-axis{stroke:#aeb4b0;stroke-width:1px}.galton-chart-bar{fill:#2f6df6;opacity:.8}.galton-chart-shell text{fill:#838b87;font-family:var(--font-mono);font-size:8px}.galton-normal-curve{fill:none;stroke:#ef8421;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px #8a4b0e2e)}.galton-diagnostics{background:#f6faf7;border:1px solid #bccdc2;border-radius:.82rem;padding:.9rem 1rem;box-shadow:inset 0 3px #239659}.galton-diagnostics__heading,.galton-diagnostics__footer{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.galton-diagnostics__heading h3{font-family:var(--font-display);margin:.18rem 0 0;font-size:1.05rem}.galton-diagnostics__heading p,.galton-diagnostics__footer p{color:#627069;margin:.22rem 0 0;font-size:.53rem;line-height:1.45}.galton-diagnostics__recording{color:#28563d;max-width:19rem;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #c8d8cd;border-radius:.42rem;flex:none;align-items:center;gap:.35rem;padding:.4rem .55rem;font-size:.48rem;font-weight:760;display:inline-flex;overflow:hidden}.galton-diagnostics__recording i{background:#df3e38;border-radius:50%;flex:none;width:.45rem;height:.45rem;box-shadow:0 0 0 3px #df3e381f}.galton-diagnostics__metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;margin-top:.7rem;display:grid}.galton-diagnostics__metrics>div{background:#fff;border:1px solid #d6e0da;border-radius:.5rem;flex-direction:column;min-width:0;padding:.55rem .6rem;display:flex}.galton-diagnostics__metrics>div.is-warning{background:#fff9ef;border-color:#ebc28e}.galton-diagnostics__metrics span{color:#748078;letter-spacing:.05em;text-transform:uppercase;font-size:.44rem;font-weight:760}.galton-diagnostics__metrics strong{color:#20372a;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:.18rem;font-size:.7rem;overflow:hidden}.galton-diagnostics__metrics small{color:#77837c;text-overflow:ellipsis;white-space:nowrap;margin-top:.12rem;font-size:.43rem;overflow:hidden}.galton-diagnostics__footer{border-top:1px solid #dce5df;align-items:center;margin-top:.65rem;padding-top:.65rem}.galton-diagnostics__footer>div{flex:none;gap:.35rem;display:flex}.galton-diagnostics__footer button{color:#28563d;cursor:pointer;background:#fff;border:1px solid #bdcec3;border-radius:.42rem;padding:.42rem .55rem;font-size:.49rem;font-weight:760}.galton-diagnostics__footer button:hover{background:#edf6f0;border-color:#239659}.galton-inspector{overflow:hidden auto}.galton-inspector-tabs{grid-template-columns:repeat(5,1fr)}.galton-inspector-tabs button{padding-left:.28rem;padding-right:.28rem;font-size:.55rem}.galton-inspector-panel{padding:1rem}.galton-preset-grid{grid-template-columns:1fr 1fr;gap:.38rem;margin-top:.8rem;display:grid}.galton-preset-grid>button{color:#2d3932;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8d6cf;border-radius:.55rem;align-items:center;gap:.5rem;min-width:0;padding:.55rem;display:flex}.galton-preset-grid>button:hover{background:#eef5ef;border-color:#126e427a}.galton-preset-grid>button>span:last-child{flex-direction:column;min-width:0;display:flex}.galton-preset-grid strong{text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;overflow:hidden}.galton-preset-grid small{color:#818a85;margin-top:.12rem;font-size:.47rem}.preset-studs{background:#329152;border:1px solid #237241;border-radius:.3rem;flex:none;grid-template-columns:1fr 1fr;gap:.16rem;width:1.55rem;height:1.55rem;padding:.24rem;display:grid}.preset-studs i{background:#48a668;border:1px solid #21713f;border-radius:50%}.dimension-pair{background:#f5f3ed;border:1px solid #dcd9d1;border-radius:.62rem;grid-template-columns:1fr auto 1fr;align-items:end;gap:.5rem;margin-top:.8rem;padding:.75rem;display:grid}.dimension-pair>span{color:#8a918d;font-family:var(--font-display);padding-bottom:.48rem}.dimension-pair label{min-width:0}.dimension-pair label>span{color:#737d77;font-size:.5rem;font-weight:730}.dimension-pair label>div{grid-template-columns:1.6rem minmax(2.5rem,1fr) 1.6rem;margin-top:.28rem;display:grid}.dimension-pair button,.dimension-pair input{background:#fff;border:1px solid #cfcec7;min-width:0;height:2rem}.dimension-pair button{color:#56625b;cursor:pointer}.dimension-pair button:first-child{border-radius:.4rem 0 0 .4rem}.dimension-pair button:last-child{border-radius:0 .4rem .4rem 0}.dimension-pair input{text-align:center;color:#1b3528;width:100%;font-family:var(--font-mono);border-left:0;border-right:0;font-size:.7rem;font-weight:760}.dimension-note{color:#79827d;text-align:center;margin:.38rem 0 0;font-size:.52rem}.dimension-note strong{color:#31523f;font-family:var(--font-mono)}.galton-range-control{padding:.75rem 0}.pattern-capacity-note{color:#77817b;margin:-.45rem 0 .2rem;font-size:.5rem;line-height:1.45}.galton-color-control{border-bottom:1px solid #ebe8e0;padding:.7rem 0}.galton-color-control>span{color:#45524b;font-size:.61rem;font-weight:720}.galton-color-control>div{flex-wrap:wrap;gap:.34rem;margin-top:.48rem;display:flex}.galton-color-control button{cursor:pointer;border:2px solid #fff;border-radius:50%;width:1.35rem;height:1.35rem;padding:0;box-shadow:0 0 0 1px #c6c6c0,inset 0 1px 2px #ffffff59}.galton-color-control button.is-active{box-shadow:0 0 0 2px #1a7046,inset 0 1px 2px #ffffff59}.empty-board-hint{z-index:4;text-align:center;color:#f2f6f3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;background:#0e2c1cd1;border:1px solid #ffffff29;border-radius:1.1rem;width:min(90vw,27rem);padding:1.5rem 1.7rem 1.7rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 26px 60px #0a201459}.empty-board-hint__art{justify-content:center;align-items:flex-end;margin-bottom:.35rem;display:flex}.empty-board-hint__art svg:first-child{transform:translate(28px,14px)}.empty-board-hint__art svg:nth-child(3){transform:translate(-28px,14px)}.empty-board-hint__art svg:nth-child(2){z-index:2;position:relative}.empty-board-hint strong{font-family:var(--font-display);letter-spacing:.01em;font-size:1.32rem;display:block}.empty-board-hint p{color:#cfe0d5;margin:.55rem 0 0;font-size:.78rem;line-height:1.55}.empty-board-hint b{color:#fff}.empty-board-hint kbd{color:#12301f;font-family:var(--font-mono);background:#f2f6f3;border:1px solid #fff9;border-radius:.3rem;padding:.05rem .36rem;font-size:.72rem;font-weight:700}.empty-board-hint__meta{color:#9fbaa9;margin-top:.5rem;font-size:.7rem}.build-palette-control{border-bottom:1px solid #ebe8e0;padding:.7rem 0 .2rem}.build-palette-control>header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.build-palette-control>header>span{color:#45524b;font-size:.61rem;font-weight:720}.build-palette-control>header button{color:#45524b;cursor:pointer;background:#fff;border:1px solid #d5d2c8;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .5rem;font-size:.56rem;font-weight:700;display:inline-flex}.build-palette-control>header button i{background:#c6c6c0;border-radius:50%;width:.5rem;height:.5rem}.build-palette-control>header button.is-active{color:#125c3a;border-color:#1a7046}.build-palette-control>header button.is-active i{background:linear-gradient(135deg,#c91a09 0%,#f2cd37 35%,#4b9f4a 65%,#0055bf 100%)}.build-palette-control>p{color:#68746e;margin:.4rem 0 0;font-size:.56rem;line-height:1.5}.build-palette-control__sequence{gap:.18rem;margin-top:.45rem;display:flex}.build-palette-control__sequence i{border-radius:.2rem;width:.72rem;height:.72rem;box-shadow:inset 0 1px 2px #fff6}.build-palette-control .galton-color-control{border-bottom:0;padding-bottom:.25rem}.build-palette-control__actions{flex-wrap:wrap;gap:.34rem;padding-bottom:.5rem;display:flex}.build-palette-control__actions button{color:#45524b;cursor:pointer;background:#fbfaf5;border:1px solid #d5d2c8;border-radius:.45rem;padding:.28rem .55rem;font-size:.55rem;font-weight:700}.build-palette-control__actions button:hover{color:#125c3a;border-color:#1a7046}.physical-spec-card{background:#edf4ee;border:1px solid #d8e2da;border-radius:.62rem;align-items:center;gap:.7rem;margin-top:.8rem;padding:.7rem;display:flex}.galton-dynamics-selector{grid-template-columns:1fr 1fr;gap:.42rem;margin-top:.8rem;display:grid}.galton-dynamics-selector button{color:#526159;text-align:left;cursor:pointer;background:#fff;border:1px solid #d7d7d0;border-radius:.62rem;flex-direction:column;align-items:flex-start;gap:.22rem;min-width:0;padding:.65rem;display:flex}.galton-dynamics-selector button:hover{border-color:#8baa97}.galton-dynamics-selector button.is-active{color:#153b29;background:#edf6f0;border-color:#23764c;box-shadow:inset 0 0 0 1px #23764c}.galton-dynamics-selector span{color:#7a847e;text-transform:uppercase;letter-spacing:.055em;font-size:.43rem;font-weight:800}.galton-dynamics-selector span i{background:#198552;border-radius:50%;width:.4rem;height:.4rem;margin-right:.18rem;display:inline-block;box-shadow:0 0 0 2px #1985521f}.galton-dynamics-selector strong{font-size:.61rem}.galton-dynamics-selector small{color:#728078;font-size:.46rem;line-height:1.4}.galton-effective-model{background:#dcdad2;border:1px solid #dcdad2;border-radius:.6rem;grid-template-columns:1fr 1fr;gap:1px;margin-top:.48rem;display:grid;overflow:hidden}.galton-effective-model>div{background:#f8f7f2;flex-direction:column;min-width:0;padding:.55rem .58rem;display:flex}.galton-effective-model span{color:#77827c;text-transform:uppercase;letter-spacing:.045em;font-size:.43rem;font-weight:760}.galton-effective-model strong{color:#243b2f;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:.16rem;font-size:.58rem;overflow:hidden}.galton-effective-model small{color:#87908b;text-overflow:ellipsis;white-space:nowrap;margin-top:.12rem;font-size:.42rem;overflow:hidden}.physical-ball-sample{border:1px solid #14362247;border-radius:50%;flex:none;width:2.35rem;height:2.35rem;box-shadow:inset .4rem .4rem .65rem #ffffff59,0 4px 8px #1c31252e}.physical-spec-card div{flex-direction:column;display:flex}.physical-spec-card strong{font-family:var(--font-display);font-size:.9rem}.physical-spec-card small{color:#68776e;font-family:var(--font-mono);margin-top:.15rem;font-size:.5rem}.twin-dimension-card{color:#fff;background:#183b2a;border-radius:.65rem;flex-direction:column;margin-top:.85rem;padding:.75rem;display:flex}.twin-dimension-card span{color:#aec2b6;text-transform:uppercase;letter-spacing:.06em;font-size:.5rem;font-weight:760}.twin-dimension-card strong{font-family:var(--font-display);margin-top:.28rem;font-size:1.1rem}.twin-dimension-card small{color:#bed0c5;margin-top:.2rem;font-size:.52rem}.twin-calibration-summary{background:#fffdf3;border:1px solid #d9d7cf;border-left:4px solid #f0c514;border-radius:.58rem;flex-direction:column;margin-top:.55rem;padding:.62rem .7rem;display:flex}.twin-calibration-summary span{color:#7b7250;letter-spacing:.05em;text-transform:uppercase;font-size:.47rem;font-weight:760}.twin-calibration-summary strong{color:#333b36;text-overflow:ellipsis;white-space:nowrap;margin-top:.22rem;font-size:.59rem;overflow:hidden}.twin-calibration-summary small{color:#7b817d;font-family:var(--font-mono);margin-top:.14rem;font-size:.46rem}.galton-calibration-panel{display:block}.calibration-progress-card{background:#f7f6f1;border:1px solid #d7d7cf;border-radius:.62rem;margin-top:.8rem;padding:.68rem}.calibration-progress-card>div:first-child{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.calibration-progress-card>div:first-child>strong{color:#1a6440;font-family:var(--font-mono);font-size:.75rem}.calibration-status{color:#6f7772;background:#fff;border:1px solid #d5d5ce;border-radius:.35rem;padding:.25rem .4rem;font-size:.47rem;font-weight:760}.calibration-status.is-in-progress{color:#7c5c0b;background:#fff9e6;border-color:#e4c57e}.calibration-status.is-measured,.calibration-status.is-calibrated{color:#17633b;background:#ecf7ef;border-color:#a9d0b5}.calibration-progress-track{background:#e9e8e2;border:1px solid #d8d7d0;border-radius:99px;height:.42rem;margin-top:.55rem;overflow:hidden}.calibration-progress-track i{border-radius:inherit;background:#239659;height:100%;transition:width .18s ease-out;display:block}.calibration-progress-card>small{color:#737c77;margin-top:.38rem;font-size:.46rem;display:block}.calibration-identity{gap:.42rem;margin-top:.65rem;display:grid}.calibration-identity label,.calibration-context label,.calibration-measurement__body label{flex-direction:column;gap:.25rem;min-width:0;display:flex}.calibration-identity label>span,.calibration-context label>span,.calibration-measurement__body label>span{color:#68736d;font-size:.47rem;font-weight:720}.calibration-identity input,.calibration-context input,.calibration-context select,.calibration-context textarea,.calibration-measurement__body input,.calibration-measurement__body textarea{color:#25332b;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d3d3cc;border-radius:.42rem;padding:.45rem .5rem;font-size:.52rem}.calibration-identity input:focus,.calibration-context input:focus,.calibration-context select:focus,.calibration-context textarea:focus,.calibration-measurement__body input:focus,.calibration-measurement__body textarea:focus{border-color:#239659;outline:2px solid #2396592e}.calibration-context{background:#fff;border:1px solid #dad8d1;border-radius:.55rem;margin-top:.55rem}.calibration-context>summary{color:#3c4a42;cursor:pointer;padding:.55rem .62rem;font-size:.52rem;font-weight:760}.calibration-context__grid{grid-template-columns:1fr 1fr;gap:.45rem;padding:.1rem .62rem .62rem;display:grid}.calibration-notes-field{padding:0 .62rem .62rem}.calibration-notes-field textarea{resize:vertical;min-height:3.5rem}.calibration-series-heading{border-bottom:1px solid #e2e0d9;flex-direction:column;margin-top:.8rem;padding-bottom:.45rem;display:flex}.calibration-series-heading strong{color:#334239;font-size:.61rem}.calibration-series-heading span{color:#808781;margin-top:.16rem;font-size:.45rem}.calibration-series-list{gap:.36rem;margin-top:.45rem;display:grid}.calibration-measurement{background:#fff;border:1px solid #dad8d1;border-radius:.5rem;overflow:hidden}.calibration-measurement.is-complete{border-color:#abd1b6}.calibration-measurement>summary{cursor:pointer;grid-template-columns:1.35rem minmax(0,1fr) auto;align-items:center;gap:.42rem;padding:.48rem .52rem;list-style:none;display:grid}.calibration-measurement>summary::-webkit-details-marker{display:none}.calibration-measurement__state{color:#6e7872;width:1.3rem;height:1.3rem;font-family:var(--font-mono);background:#f2f1ec;border:1px solid #d4d4cd;border-radius:50%;place-items:center;font-size:.46rem;font-weight:780;display:grid}.calibration-measurement.is-complete .calibration-measurement__state{color:#fff;background:#239659;border-color:#239659}.calibration-measurement>summary>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.calibration-measurement>summary strong{color:#35423b;text-overflow:ellipsis;white-space:nowrap;font-size:.53rem;overflow:hidden}.calibration-measurement>summary small{color:#808781;text-overflow:ellipsis;white-space:nowrap;margin-top:.1rem;font-size:.42rem;overflow:hidden}.calibration-measurement>summary em{color:#79817c;font-family:var(--font-mono);font-size:.43rem;font-style:normal}.calibration-measurement__body{background:#faf9f5;border-top:1px solid #e7e5de;padding:.62rem}.calibration-measurement__body>p{color:#535f58;margin:0;font-size:.48rem;line-height:1.45}.calibration-measurement__body>small{color:#7b837e;margin:.26rem 0 .55rem;font-size:.43rem;line-height:1.4;display:block}.calibration-measurement__body textarea{resize:vertical;min-height:4.3rem;font-family:var(--font-mono);line-height:1.45}.calibration-instrument-grid{grid-template-columns:minmax(0,1.4fr) .8fr .8fr;gap:.35rem;margin-top:.48rem;display:grid}.calibration-measurement__body>label:not(:first-of-type){margin-top:.45rem}.calibration-measurement__body>button{color:#1c5e3b;cursor:pointer;background:#edf6f0;border:1px solid #b8cfc0;border-radius:.42rem;width:100%;margin-top:.55rem;padding:.48rem;font-size:.5rem;font-weight:760}.calibration-measurement__error{background:#fff0ee;border:1px solid #ebbbb4;border-radius:.38rem;padding:.42rem;color:#8c3027!important;margin:.45rem 0 0!important}.calibration-application-note{background:#fffbea;border:1px solid #d8d2a3;border-radius:.5rem;align-items:flex-start;gap:.42rem;margin-top:.7rem;padding:.55rem;display:flex}.calibration-application-note>i{color:#fff;background:#b78c08;border-radius:50%;flex:none;place-items:center;width:1.05rem;height:1.05rem;font-size:.48rem;font-style:normal;font-weight:800;display:grid}.calibration-application-note p{color:#74672e;margin:0;font-size:.46rem;line-height:1.45}.calibration-actions{grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.65rem;display:grid}.calibration-actions button{color:#435149;cursor:pointer;background:#fff;border:1px solid #d0d0c9;border-radius:.42rem;min-width:0;padding:.48rem .4rem;font-size:.47rem;font-weight:740}.calibration-actions button.is-primary{color:#fff;background:#167b49;border-color:#197145;grid-column:1/-1}.calibration-actions button.is-danger{color:#8b3d35;background:#fff7f5;border-color:#e2bbb7;grid-column:1/-1}.calibration-actions button:disabled{cursor:not-allowed;opacity:.45}.calibration-message{color:#31533f;background:#edf5ef;border-radius:.4rem;margin:.55rem 0 0;padding:.45rem .5rem;font-size:.47rem;line-height:1.4}.galton-experiment-panel{--experiment-green:#167b49}.experiment-progress-card{background:#f7f8f5;border:1px solid #d8ddd8;border-radius:.62rem;margin-top:.75rem;padding:.65rem}.experiment-progress-card>div:first-child{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.experiment-progress-card>div:first-child>strong{color:#234a35;font-family:var(--font-mono);font-size:.62rem}.experiment-status{color:#6f6843;background:#f5edc9;border-radius:999px;padding:.22rem .38rem;font-size:.43rem;font-weight:800}.experiment-status.is-ready,.experiment-status.is-capturing,.experiment-status.is-captured{color:#17613a;background:#dff1e5}.experiment-progress-track{background:#dfe3de;border-radius:999px;height:.32rem;margin-top:.48rem;overflow:hidden}.experiment-progress-track i{border-radius:inherit;background:var(--experiment-green);height:100%;transition:width .16s;display:block}.experiment-progress-card>small{color:#78827c;margin-top:.36rem;font-size:.43rem;display:block}.experiment-section{background:#fff;border:1px solid #deddd7;border-radius:.58rem;margin-top:.58rem;overflow:hidden}.experiment-section>summary{color:#38473f;cursor:pointer;background:#f4f3ee;padding:.58rem .62rem;font-size:.51rem;font-weight:800}.experiment-section[open]>summary{border-bottom:1px solid #e4e2db}.experiment-section__body{padding:.62rem}.experiment-field-grid{grid-template-columns:1fr 1fr;gap:.42rem;display:grid}.experiment-field-grid label,.experiment-video-metadata label,.experiment-notes-field,.experiment-coordinate-grid label{color:#657169;flex-direction:column;gap:.22rem;min-width:0;font-size:.43rem;font-weight:750;display:flex}.experiment-field-grid input,.experiment-field-grid select,.experiment-video-metadata input,.experiment-coordinate-grid input,.experiment-notes-field textarea{color:#26382e;background:#fff;border:1px solid #d4d4cd;border-radius:.38rem;width:100%;min-width:0;padding:.4rem .42rem;font-family:inherit;font-size:.49rem}.experiment-purpose-note{color:#746329;background:#fff9e6;border-left:3px solid #d19d18;margin:0 .62rem .62rem;padding:.45rem;font-size:.43rem;line-height:1.45}.experiment-purpose-note.is-validation{color:#70402e;background:#fff2ed;border-color:#c5623d}.experiment-checklist{gap:.4rem;display:grid}.experiment-checklist label{cursor:pointer;background:#fbfaf7;border:1px solid #e2e1db;border-radius:.42rem;align-items:flex-start;gap:.42rem;padding:.42rem;display:flex}.experiment-checklist input{accent-color:var(--experiment-green);margin:.08rem 0 0}.experiment-checklist span{flex-direction:column;display:flex}.experiment-checklist strong{color:#35433b;font-size:.48rem}.experiment-checklist small{color:#7b847f;margin-top:.12rem;font-size:.4rem;line-height:1.38}.experiment-video-options{gap:.42rem;display:grid}.experiment-video-picker{color:#28533b;text-align:left;cursor:pointer;background:#f0f7f2;border:1px dashed #97b2a1;border-radius:.52rem;align-items:center;gap:.55rem;width:100%;padding:.75rem;display:flex}.experiment-video-picker>i{color:#fff;background:var(--experiment-green);border-radius:.45rem;flex:none;place-items:center;width:1.7rem;height:1.7rem;font-size:.55rem;font-style:normal;display:grid}.experiment-video-picker>span{flex-direction:column;min-width:0;display:flex}.experiment-video-picker strong{font-size:.52rem}.experiment-video-picker small{color:#718078;margin-top:.14rem;font-size:.4rem}.experiment-demo-actions{background:#fffdf7;border:1px solid #dedbd0;border-radius:.48rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.24rem .38rem;padding:.52rem;display:grid}.experiment-demo-actions button,.experiment-demo-actions a{color:#24513a;min-height:1.75rem;font:inherit;text-align:center;cursor:pointer;background:#f5faf6;border:1px solid #b9cabf;border-radius:.38rem;padding:.38rem .48rem;font-size:.46rem;font-weight:760;text-decoration:none}.experiment-demo-actions button{color:#fff;background:#187a49;border-color:#176b40}.experiment-demo-actions button:disabled{opacity:.65;cursor:progress}.experiment-demo-actions small{color:#737d77;grid-column:1/-1;font-size:.4rem}.experiment-video-stage{background:#17221c;border-radius:.48rem;width:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.experiment-video-stage video,.experiment-video-stage svg{width:100%;height:100%;display:block;position:absolute;inset:0}.experiment-video-stage video{object-fit:contain}.experiment-video-stage svg{cursor:crosshair}.experiment-axis-line{stroke:#ffd33f;stroke-width:3px;stroke-dasharray:9 6;vector-effect:non-scaling-stroke}.experiment-trajectory-line{fill:none;stroke:#4b82ff;stroke-width:2px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.experiment-track-point{fill:#3979ff;stroke:#fff;stroke-width:1.5px;vector-effect:non-scaling-stroke}.experiment-track-point.is-current{fill:#ff5038}.experiment-origin-marker circle,.experiment-axis-marker circle{fill:#147d4947;stroke:#37e38a;stroke-width:2px;vector-effect:non-scaling-stroke}.experiment-axis-marker circle{fill:#ffcb1e40;stroke:#ffd33f}.experiment-origin-marker text,.experiment-axis-marker text{fill:#fff;paint-order:stroke;stroke:#163124;stroke-width:3px;font-size:18px;font-weight:900}.experiment-video-transport{grid-template-columns:auto 1fr auto;gap:.25rem;margin-top:.35rem;display:grid}.experiment-video-transport button,.experiment-replace-video{color:#3d4d44;cursor:pointer;background:#fff;border:1px solid #d2d3cc;border-radius:.36rem;padding:.38rem .34rem;font-size:.42rem;font-weight:740}.experiment-video-transport span{color:#5e6e65;text-align:center;font-family:var(--font-mono);grid-column:1/-1;font-size:.43rem}.experiment-replace-video{width:100%;margin-top:.28rem}.experiment-video-metadata{background:#f8f7f3;border:1px solid #e0ded7;border-radius:.43rem;grid-template-columns:minmax(0,1fr) auto;gap:.14rem .5rem;margin-top:.42rem;padding:.48rem;display:grid}.experiment-video-metadata>span{color:#36453c;text-overflow:ellipsis;white-space:nowrap;font-size:.46rem;font-weight:780;overflow:hidden}.experiment-video-metadata>small{color:#7b8580;font-size:.4rem}.experiment-video-metadata label{grid-column:1/-1;margin-top:.28rem}.experiment-tool-row{grid-template-columns:repeat(3,1fr);gap:.25rem;margin-top:.45rem;display:grid}.experiment-tool-row button{color:#5d6962;cursor:pointer;background:#fff;border:1px solid #d5d5cf;border-radius:.38rem;padding:.42rem .2rem;font-size:.42rem;font-weight:760}.experiment-tool-row button.is-active{color:#fff;border-color:var(--experiment-green);background:var(--experiment-green)}.experiment-tool-row button:disabled{cursor:not-allowed;opacity:.4}.experiment-coordinate-grid{grid-template-columns:repeat(3,1fr);gap:.3rem;margin-top:.42rem;display:grid}.experiment-coordinate-grid label>div{position:relative}.experiment-coordinate-grid input{padding-right:2.2rem}.experiment-coordinate-grid small{color:#8a918c;font-size:.38rem;position:absolute;top:50%;right:.32rem;transform:translateY(-50%)}.experiment-transform{color:#79682d;background:#fff9e6;border:1px solid #e1d7aa;border-radius:.43rem;align-items:center;gap:.42rem;margin-top:.42rem;padding:.48rem;display:flex}.experiment-transform.is-ready{color:#286241;background:#edf7f0;border-color:#bdd8c7}.experiment-transform>i{color:#fff;background:#ad8b19;border-radius:50%;flex:none;place-items:center;width:1.1rem;height:1.1rem;font-size:.48rem;font-style:normal;font-weight:900;display:grid}.experiment-transform.is-ready>i{background:var(--experiment-green)}.experiment-transform>span{flex-direction:column;min-width:0;display:flex}.experiment-transform strong{font-size:.48rem}.experiment-transform small{margin-top:.1rem;font-size:.39rem;line-height:1.35}.experiment-tracking-help{color:#66736b;margin:0 0 .45rem;font-size:.43rem;line-height:1.45}.experiment-observation-summary{color:#fff;background:#193c2b;border-radius:.45rem;grid-template-columns:1fr auto;align-items:baseline;padding:.5rem;display:grid}.experiment-observation-summary span{color:#b7c9bf;font-size:.42rem}.experiment-observation-summary strong{font-family:var(--font-display);font-size:1rem}.experiment-observation-summary small{color:#b7c9bf;font-family:var(--font-mono);grid-column:1/-1;margin-top:.08rem;font-size:.39rem}.experiment-observation-list{border:1px solid #e0ded8;border-radius:.42rem;margin-top:.35rem;overflow:hidden}.experiment-observation-list>p{color:#89908c;text-align:center;margin:0;padding:.52rem;font-size:.42rem}.experiment-observation-list>div{border-bottom:1px solid #eceae4;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.4rem;padding:.38rem .42rem;display:grid}.experiment-observation-list>div:last-child{border-bottom:0}.experiment-observation-list span,.experiment-observation-list code{font-size:.41rem}.experiment-observation-list code{color:#506159;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-observation-list button{color:#9a4239;cursor:pointer;background:#f9e9e6;border:0;border-radius:50%;width:1rem;height:1rem;padding:0}.experiment-clear-observations{color:#8b4038;cursor:pointer;background:#fff6f4;border:1px solid #e0c3bf;border-radius:.38rem;width:100%;margin-top:.35rem;padding:.4rem;font-size:.42rem;font-weight:740}.comparison-intro{margin-bottom:.5rem}.comparison-intro p{color:#66736c;margin:.2rem 0 0;font-size:.43rem;line-height:1.48}.comparison-controls{background:#f8faf8;border:1px solid #d9ded9;border-radius:.48rem;grid-template-columns:minmax(0,1fr) .72fr;gap:.38rem;padding:.5rem;display:grid}.comparison-controls label{flex-direction:column;gap:.18rem;display:flex}.comparison-controls label>span{color:#536259;font-size:.4rem;font-weight:750}.comparison-controls select,.comparison-controls input{color:#33443a;width:100%;min-height:1.65rem;font:inherit;background:#fff;border:1px solid #cfd4cf;border-radius:.34rem;padding:.3rem .36rem;font-size:.42rem}.comparison-controls label>div{position:relative}.comparison-controls label>div input{padding-right:1.15rem}.comparison-controls label>div small{color:#758178;font-size:.38rem;position:absolute;top:50%;right:.38rem;transform:translateY(-50%)}.comparison-controls>button{color:#fff;cursor:pointer;background:#187b49;border:1px solid #176d42;border-radius:.4rem;grid-column:1/-1;min-height:1.85rem;font-size:.45rem;font-weight:780;box-shadow:0 5px 12px #187b4926}.comparison-controls>button:disabled{color:#89918d;cursor:not-allowed;box-shadow:none;background:#eceeec;border-color:#d5d8d6}.comparison-empty,.comparison-error{border-radius:.4rem;margin:.42rem 0 0;padding:.48rem;font-size:.42rem;line-height:1.45}.comparison-empty{color:#6f7772;background:#f2f2ef}.comparison-error{color:#8b3a35;background:#fff4f2;border:1px solid #ecc8c4}.comparison-result{margin-top:.52rem}.comparison-result.is-stale{opacity:.78}.comparison-result__heading{color:#fff;background:#183e2b;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.42rem;padding:.5rem;display:flex}.comparison-result__heading>div{flex-direction:column;min-width:0;display:flex}.comparison-result__heading span{color:#aac5b5;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;font-size:.36rem;overflow:hidden}.comparison-result__heading strong{font-family:var(--font-display);margin-top:.12rem;font-size:.64rem}.comparison-result__heading em{color:#174e31;background:#d9f2e2;border-radius:999px;flex:none;padding:.22rem .3rem;font-size:.34rem;font-style:normal;font-weight:800}.comparison-result.is-stale .comparison-result__heading em{color:#72560d;background:#fae9a9}.comparison-warnings{color:#735819;background:#fff9e8;border-left:3px solid #db9b23;margin:.4rem 0 0;padding:.44rem .48rem .44rem 1.25rem;font-size:.39rem;line-height:1.45}.comparison-warnings li+li{margin-top:.18rem}.comparison-metrics{grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.42rem;display:grid}.comparison-metrics>div{background:#fbfcfa;border:1px solid #dfe2dd;border-radius:.42rem;flex-direction:column;min-width:0;padding:.45rem;display:flex}.comparison-metrics span{color:#78827c;text-transform:uppercase;font-size:.36rem;font-weight:760}.comparison-metrics strong{color:#223f30;font-family:var(--font-display);margin-top:.16rem;font-size:.68rem}.comparison-metrics small{color:#7b8580;margin-top:.14rem;font-size:.35rem;line-height:1.35}.comparison-trajectory,.comparison-residual-chart{background:#fff;border:1px solid #dfe1dc;border-radius:.46rem;margin:.45rem 0 0;padding:.48rem}.comparison-trajectory figcaption,.comparison-residual-chart figcaption{color:#405248;justify-content:space-between;align-items:center;gap:.35rem;margin-bottom:.34rem;font-size:.4rem;font-weight:760;display:flex}.comparison-trajectory figcaption>div{color:#68746d;align-items:center;gap:.22rem;font-size:.32rem;font-weight:650;display:flex}.comparison-trajectory figcaption i{border-radius:999px;width:.48rem;height:.13rem;display:inline-block}.comparison-trajectory figcaption i.is-experimental{background:#275fe8}.comparison-trajectory figcaption i.is-simulated{background:#15915a}.comparison-trajectory svg{border-radius:.3rem;width:100%;max-height:13rem;display:block}.comparison-trajectory svg>rect{fill:#f7f7f2;stroke:#d7d9d2;stroke-width:.2px}.comparison-grid-line,.comparison-apex-line,.comparison-collector-line,.comparison-residual-connector,.comparison-path{vector-effect:non-scaling-stroke}.comparison-grid-line{stroke:#dedfd9;stroke-width:.5px}.comparison-apex-line{stroke:#d98719;stroke-width:1px;stroke-dasharray:3 2}.comparison-collector-line{stroke:#37875d;stroke-width:1px;stroke-dasharray:3 2}.comparison-residual-connector{stroke:#a3524266;stroke-width:.8px}.comparison-path{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.comparison-path.is-experimental{stroke:#275fe8}.comparison-path.is-simulated{stroke:#15915a}.comparison-start-point{fill:#fff;stroke:#172f23;stroke-width:.22px}.comparison-trajectory>small{color:#7a837e;margin-top:.3rem;font-size:.34rem;display:block}.comparison-residual-chart figcaption strong{color:#78827c;font-size:.34rem}.comparison-residual-chart svg{width:100%;display:block}.comparison-residual-chart svg line{stroke:#e0e2de;stroke-width:.8px}.comparison-residual-chart svg polyline{fill:none;stroke:#a24d3e;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.comparison-residual-chart svg text{fill:#7b847e;text-anchor:end;font-size:5px}.comparison-residual-chart svg text.comparison-time-label{text-anchor:start;font-size:5px}.comparison-initial-condition{background:#f2f7f4;border:1px solid #d9e1dc;border-radius:.43rem;flex-direction:column;margin-top:.42rem;padding:.48rem;display:flex}.comparison-initial-condition span,.comparison-segments__heading span{color:#607169;text-transform:uppercase;font-size:.36rem;font-weight:780}.comparison-initial-condition strong{color:#274738;margin-top:.15rem;font-size:.45rem}.comparison-initial-condition small{color:#6d7972;font-family:var(--font-mono);margin-top:.13rem;font-size:.34rem;line-height:1.4}.comparison-segments{border:1px solid #dfe1dc;border-radius:.43rem;margin-top:.42rem;overflow:hidden}.comparison-segments__heading,.comparison-segments>div:not(.comparison-segments__heading){grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.12rem .35rem;padding:.4rem .45rem;display:grid}.comparison-segments__heading{background:#f3f4f1}.comparison-segments__heading small{color:#7d8581;font-size:.33rem}.comparison-segments>div:not(.comparison-segments__heading){border-top:1px solid #ecece8}.comparison-segments>div>span{color:#415149;font-size:.41rem;font-weight:700}.comparison-segments>div>small{color:#838b86;grid-column:1;font-size:.34rem}.comparison-segments>div>strong{color:#274739;grid-area:1/2/3;font-size:.4rem}.comparison-actions{grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.42rem;display:grid}.comparison-actions button{color:#24553a;cursor:pointer;background:#f7fbf8;border:1px solid #b9cbbf;border-radius:.38rem;min-height:1.8rem;padding:.35rem;font-size:.39rem;font-weight:750}.comparison-scope-note{color:#68736d;background:#f3f3f0;border-left:3px solid #7a8980;margin:.42rem 0 0;padding:.45rem;font-size:.37rem;line-height:1.48}.experiment-link-card{background:#f0f6f2;border:1px solid #cddbd1;border-radius:.5rem;justify-content:space-between;align-items:center;gap:.45rem;margin-top:.58rem;padding:.55rem;display:flex}.experiment-link-card>div{flex-direction:column;min-width:0;display:flex}.experiment-link-card span{color:#718078;text-transform:uppercase;font-size:.39rem;font-weight:750}.experiment-link-card strong,.experiment-link-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.experiment-link-card strong{color:#2a4938;margin-top:.12rem;font-size:.46rem}.experiment-link-card small{color:#748179;font-family:var(--font-mono);margin-top:.1rem;font-size:.36rem}.experiment-link-card button{color:#24593a;cursor:pointer;background:#fff;border:1px solid #a9c5b2;border-radius:.38rem;flex:none;padding:.4rem;font-size:.39rem;font-weight:750}.experiment-notes-field{margin-top:.55rem}.experiment-notes-field textarea{resize:vertical;min-height:4rem;line-height:1.4}.experiment-actions{grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.55rem;display:grid}.experiment-actions button{color:#46534c;cursor:pointer;background:#fff;border:1px solid #d2d2cc;border-radius:.4rem;min-width:0;padding:.45rem .3rem;font-size:.42rem;font-weight:750}.experiment-actions button.is-primary{color:#fff;border-color:var(--experiment-green);background:var(--experiment-green);grid-column:1/-1}.experiment-actions button.is-danger{color:#8e3e37;background:#fff7f5;border-color:#e1bbb7}.experiment-message,.experiment-boundary-note{color:#31533f;background:#edf5ef;border-radius:.4rem;margin:.5rem 0 0;padding:.45rem;font-size:.42rem;line-height:1.42}.experiment-boundary-note{color:#6e6a53;background:#faf8ef;border-left:3px solid #d7b840;border-radius:0}.bill-of-materials{background:#fff;border:1px solid #dedcd5;border-radius:.62rem;margin-top:.75rem;overflow:hidden}.bill-heading{background:#f3f2ed;border-bottom:1px solid #e9e6de;justify-content:space-between;padding:.55rem .62rem;display:flex}.bill-heading strong{font-size:.58rem}.bill-heading span{color:#78817c;font-size:.5rem}.bill-row{border-bottom:1px solid #efede7;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.45rem;padding:.48rem .6rem;font-size:.54rem;display:grid}.bill-row:last-child{border-bottom:0}.bill-row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bill-row i{background:#ef8a20;border-radius:50%;width:.42rem;height:.42rem;margin-right:.24rem;display:inline-block}.bill-row small{color:#8a918d;font-size:.46rem}.bill-row strong{font-family:var(--font-mono);font-size:.56rem}.twin-assurance{color:#165b37;background:#e7f4e9;border:1px solid #cde3d3;border-radius:.58rem;align-items:flex-start;gap:.5rem;margin-top:.75rem;padding:.65rem;display:flex}.twin-assurance>i{color:#fff;background:#239659;border-radius:50%;flex:none;place-items:center;width:1.25rem;height:1.25rem;font-size:.58rem;font-style:normal;display:grid}.twin-assurance div{flex-direction:column;display:flex}.twin-assurance strong{font-size:.57rem}.twin-assurance span{color:#4f735f;margin-top:.15rem;font-size:.49rem;line-height:1.4}.twin-export-button{color:#fff;cursor:pointer;background:#167b49;border:1px solid #146d42;border-radius:.55rem;width:100%;margin-top:.7rem;padding:.7rem;font-size:.61rem;font-weight:780;box-shadow:0 6px 14px #167b492e}@media (max-width:1120px){.galton-workbench{grid-template-columns:218px minmax(500px,1fr)}.galton-inspector{grid-column:1/-1;max-height:none;position:static}.galton-inspector-panel{grid-template-columns:repeat(3,1fr);gap:0 1rem;display:grid}.galton-inspector-panel .inspector-heading,.galton-dynamics-selector,.galton-effective-model,.galton-inspector-panel .model-note{grid-column:1/-1}.galton-inspector-panel.galton-calibration-panel,.galton-inspector-panel.galton-experiment-panel{display:block}.galton-calibration-panel .calibration-series-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:900px){.galton-workbench{grid-template-columns:1fr}.galton-parts-panel,.galton-inspector{max-height:none;position:static}.galton-parts-panel{order:2}.galton-stage-column{order:1}.galton-inspector{order:3;grid-column:auto}.parts-list{grid-template-columns:repeat(2,minmax(0,1fr))}.galton-stage{aspect-ratio:8/5;height:auto;min-height:0}.galton-inspector-panel{grid-template-columns:1fr 1fr;display:grid}.galton-inspector-panel.galton-calibration-panel,.galton-inspector-panel.galton-experiment-panel{display:block}.galton-calibration-panel .calibration-series-list{grid-template-columns:repeat(2,minmax(0,1fr))}.galton-distribution-heading{flex-direction:column;align-items:flex-start}.galton-diagnostics__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.galton-topbar .galton-live-counter,.galton-topbar .text-button{display:none}.galton-workbench{padding:.4rem}.galton-calibration-panel .calibration-series-list,.calibration-context__grid,.calibration-instrument-grid,.experiment-field-grid,.experiment-coordinate-grid{grid-template-columns:1fr}.galton-diagnostics__heading,.galton-diagnostics__footer{flex-direction:column}.galton-diagnostics__footer>div{flex-wrap:wrap;width:100%}.galton-stage-toolbar{flex-direction:column;align-items:stretch}.galton-stage-toolbar__views{flex-wrap:wrap;align-items:stretch}.galton-stage-toolbar .segmented-control button{min-width:0}.galton-stage-toolbar__views .view-options{margin-left:auto}.galton-stage{aspect-ratio:1;height:auto;min-height:0}.galton-board-badge,.galton-gravity{transform-origin:0 0;transform:scale(.84)}.galton-gravity{transform-origin:100% 0}.galton-empty-hint{display:none}.galton-toolbar-transport .transport-readout{justify-content:flex-end;width:100%;margin-left:0}.galton-toolbar-transport .galton-burst-button,.galton-toolbar-transport .galton-clear-button{flex:1}.parts-list{grid-template-columns:1fr}.galton-inspector-panel{display:block}.galton-distribution-heading dl{justify-content:space-between;gap:.5rem;width:100%}.galton-distribution-heading dl div{align-items:flex-start}.galton-chart-shell svg{height:7rem}}.projectile-page{color:#18231e;background:#edf0ec}.projectile-topbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffdf8}.projectile-workbench{grid-template-columns:244px minmax(580px,1fr) 286px;align-items:start;gap:.78rem;width:min(100%,1780px);margin:0 auto;padding:.85rem;display:grid}.projectile-stage-column{gap:.72rem;min-width:0;display:grid}.projectile-panel{scrollbar-width:thin;scrollbar-color:#c2c9c3 transparent;background:#fffefb;border:1px solid #d6d9d3;border-radius:.86rem;max-height:calc(100vh - 6.25rem);padding:.9rem;position:sticky;top:5.4rem;overflow:auto;box-shadow:0 8px 22px #23322a0f}.projectile-panel-heading{border-bottom:1px solid #e4e5e0;padding:.15rem 0 .86rem}.projectile-panel-heading>span{color:#16824b;letter-spacing:.09em;text-transform:uppercase;font-size:.55rem;font-weight:830}.projectile-panel-heading h2{font-family:var(--font-display);letter-spacing:-.02em;margin:.28rem 0 0;font-size:1.05rem;font-weight:620}.projectile-panel-heading p{color:#6c756f;margin:.36rem 0 0;font-size:.58rem;line-height:1.45}.projectile-board-options{border:0;margin:.9rem 0 0;padding:0}.projectile-board-options legend,.projectile-gravity-control legend{color:#3f4a45;margin-bottom:.48rem;font-size:.61rem;font-weight:800}.projectile-board-options>div{grid-template-columns:1fr 1fr;gap:.42rem;display:grid}.projectile-board-options button{color:#46514b;cursor:pointer;background:#f7f7f2;border:1px solid #d8dcd6;border-radius:.52rem;flex-direction:column;align-items:flex-start;min-width:0;padding:.5rem .38rem;display:flex}.projectile-board-options button strong{font-size:.63rem}.projectile-board-options button span{color:#7c857f;margin-top:.16rem;font-size:.44rem}.projectile-board-options button.is-active{color:#105e38;background:#e7f3e9;border-color:#2b8a56;box-shadow:inset 0 -2px #126a3e1a}.projectile-range-control{margin-top:.92rem;display:block}.projectile-range-control__header{color:#3f4944;justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.58rem;font-weight:740;display:flex}.projectile-range-control__header strong{color:#16271e;font-family:var(--font-mono);flex:none;font-size:.64rem}.projectile-range-control__header small{color:#758079;font-family:inherit;font-size:.48rem;font-weight:700}.projectile-range-control input,.projectile-gravity-control input{appearance:none;cursor:pointer;background:0 0;width:100%;height:1rem;margin:.38rem 0 0}.projectile-range-control input::-webkit-slider-runnable-track{background:linear-gradient(to right, #16824b 0, #16824b var(--range-progress,55%), #d8ddd8 var(--range-progress,55%), #d8ddd8 100%);border-radius:999px;height:.25rem}.projectile-gravity-control input::-webkit-slider-runnable-track{background:linear-gradient(to right, #16824b 0, #16824b var(--range-progress,55%), #d8ddd8 var(--range-progress,55%), #d8ddd8 100%);border-radius:999px;height:.25rem}.projectile-gravity-control input::-webkit-slider-runnable-track{background:#d8ddd8}.projectile-range-control input::-moz-range-track{background:#d8ddd8;border:0;border-radius:999px;height:.25rem}.projectile-gravity-control input::-moz-range-track{background:#d8ddd8;border:0;border-radius:999px;height:.25rem}.projectile-range-control input::-webkit-slider-thumb{appearance:none;background:#16824b;border:2px solid #fff;border-radius:50%;width:.9rem;height:.9rem;margin-top:-.32rem;box-shadow:0 1px 4px #19392857}.projectile-gravity-control input::-webkit-slider-thumb{appearance:none;background:#16824b;border:2px solid #fff;border-radius:50%;width:.9rem;height:.9rem;margin-top:-.32rem;box-shadow:0 1px 4px #19392857}.projectile-range-control input::-moz-range-thumb{background:#16824b;border:2px solid #fff;border-radius:50%;width:.8rem;height:.8rem;box-shadow:0 1px 4px #19392857}.projectile-gravity-control input::-moz-range-thumb{background:#16824b;border:2px solid #fff;border-radius:50%;width:.8rem;height:.8rem;box-shadow:0 1px 4px #19392857}.projectile-range-control__limits{color:#929994;justify-content:space-between;font-size:.45rem;display:flex}.projectile-range-control em{color:#7b847f;margin-top:.22rem;font-size:.47rem;font-style:normal;line-height:1.35;display:block}.projectile-align-target{color:#674e00;cursor:pointer;background:#f8d445;border:1px solid #d5a000;border-radius:.5rem;width:100%;margin-top:.72rem;padding:.54rem .45rem;font-size:.54rem;font-weight:800;box-shadow:inset 0 -2px #8c620024}.projectile-lego-contract{background:#f1f7f2;border:1px solid #dce5dd;border-left:3px solid #24905a;border-radius:.5rem;gap:.4rem;margin:.9rem 0 0;padding:.65rem;display:grid}.projectile-lego-contract div{justify-content:space-between;gap:.5rem;display:flex}.projectile-lego-contract dt,.projectile-lego-contract dd{margin:0;font-size:.49rem}.projectile-lego-contract dt{color:#52635a}.projectile-lego-contract dd{color:#173d29;font-family:var(--font-mono);font-weight:760}.projectile-stage-toolbar{background:#fffefb;border:1px solid #d6d9d3;border-radius:.82rem;justify-content:space-between;align-items:center;gap:.8rem;min-height:3.35rem;padding:.45rem .55rem;display:flex}.projectile-stage-toolbar__view,.projectile-transport{align-items:center;gap:.65rem;display:flex}.projectile-view-badge{color:#173d29;background:#eef4ee;border:1px solid #d5d9d3;border-radius:.52rem;align-items:center;gap:.38rem;padding:.48rem .62rem;font-size:.62rem;font-weight:820;display:inline-flex}.projectile-stage-toolbar .view-options{gap:.68rem}.projectile-stage-toolbar .view-options label{font-size:.57rem}.projectile-stage-toolbar .view-options label span{width:1.55rem;height:.9rem}.projectile-stage-toolbar .view-options label span:after{width:.62rem;height:.62rem;top:.14rem;left:.15rem}.projectile-stage-toolbar .view-options input:checked+span:after{transform:translate(.63rem)}.projectile-transport .transport-button{height:2.25rem}.projectile-transport .transport-button--secondary{width:2.25rem}.projectile-transport .transport-button--primary{min-width:6.6rem}.projectile-scene{background:#dce2dc;border:1px solid #bfc8c0;border-radius:.9rem;place-items:center;min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:0 12px 28px #1e2f261c}.projectile-board{width:100%;height:auto;max-height:calc(100vh - 10rem);display:block}.projectile-board-outline{fill:none;stroke:#0d4c2773;stroke-width:2px;pointer-events:none}.projectile-grid-lines line{stroke:#effff44d;stroke-width:1px}.projectile-ideal-path,.projectile-measured-path{fill:none;vector-effect:non-scaling-stroke}.projectile-ideal-path{stroke:#fffffff0;stroke-width:2.2px;stroke-dasharray:7 7}.projectile-measured-path{stroke:#153e29;stroke-width:2.5px}.projectile-axis-labels text{fill:#ffffffdb;paint-order:stroke;stroke:#0c4a25bf;stroke-width:2.5px;font-size:9px;font-weight:760}.projectile-landing-guide line{stroke:#fff3a6;stroke-width:2px;stroke-dasharray:4 3}.projectile-landing-guide path{fill:#fff3a6}.projectile-vectors line{stroke:#2467d1;stroke-width:3px}.projectile-vectors text{fill:#114caa;paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:16px;font-style:italic;font-weight:850}.projectile-vectors .projectile-gravity-vector{stroke:#d76619}.projectile-vectors .projectile-gravity-label{fill:#b84e0c}.projectile-phase-badge,.projectile-dimension-badge,.projectile-landing-badge{z-index:3;color:#fff;background:#11301fe6;border:1px solid #ffffff3d;border-radius:.55rem;position:absolute;box-shadow:0 5px 14px #0a25172e}.projectile-phase-badge{white-space:nowrap;align-items:center;gap:.4rem;padding:.43rem .6rem;font-size:.55rem;font-weight:800;display:inline-flex;top:.75rem;left:50%;transform:translate(-50%)}.projectile-phase-badge i{background:#f5ce33;border-radius:50%;width:.43rem;height:.43rem}.projectile-phase-badge.is-landed i{background:#f28a27}.projectile-dimension-badge{flex-direction:column;padding:.5rem .62rem;display:flex;top:.75rem;left:.75rem}.projectile-dimension-badge strong{font-family:var(--font-mono);font-size:.7rem}.projectile-dimension-badge span,.projectile-landing-badge span{color:#bfd0c6;margin-top:.14rem;font-size:.44rem}.projectile-landing-badge{flex-direction:column;align-items:flex-end;padding:.48rem .58rem;display:flex;bottom:.75rem;right:.75rem}.projectile-landing-badge strong{font-family:var(--font-mono);margin-top:.12rem;font-size:.61rem}.projectile-live-strip{background:#fffefb;border:1px solid #d6d9d3;border-radius:.72rem;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;display:grid;overflow:hidden}.projectile-live-strip div{border-right:1px solid #e2e4df;flex-direction:column;min-width:0;padding:.58rem .7rem;display:flex}.projectile-live-strip div:last-child{border-right:0}.projectile-live-strip span{color:#7a837e;letter-spacing:.05em;text-transform:uppercase;font-size:.47rem;font-weight:750}.projectile-live-strip strong{color:#1d3026;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;margin-top:.2rem;font-size:.64rem;overflow:hidden}.projectile-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.72rem;display:grid}.projectile-chart-card{background:#fffefb;border:1px solid #d6d9d3;border-radius:.76rem;min-width:0;padding:.75rem}.projectile-chart-heading{justify-content:space-between;align-items:flex-end;gap:.6rem;display:flex}.projectile-chart-heading>div:first-child{flex-direction:column;display:flex}.projectile-chart-heading span{color:#838b86;letter-spacing:.05em;text-transform:uppercase;font-size:.44rem;font-weight:760}.projectile-chart-heading h3{font-family:var(--font-display);margin:.12rem 0 0;font-size:.85rem;font-weight:620}.projectile-chart-legend{flex-wrap:wrap;justify-content:flex-end;gap:.28rem .52rem;display:flex}.projectile-chart-legend span{letter-spacing:0;text-transform:none;align-items:center;gap:.22rem;font-size:.4rem;display:inline-flex}.projectile-chart-legend i{border-radius:50%;width:.36rem;height:.36rem}.projectile-chart-card svg{width:100%;height:auto;margin-top:.42rem;display:block}.projectile-chart-grid line{stroke:#e4e7e2;stroke-width:1px}.projectile-chart-zero{stroke:#b8c0ba;stroke-width:1.2px}.projectile-chart-labels text{fill:#818a84;font-size:8px}.projectile-chart-card path{stroke-linecap:round;stroke-linejoin:round}.projectile-chart-card path.is-dashed{stroke-dasharray:5 4}.projectile-gravity-control{background:#f8f8f4;border:1px solid #dde1dc;border-radius:.58rem;margin:.9rem 0 0;padding:.72rem}.projectile-gravity-value{align-items:baseline;gap:.28rem;display:flex}.projectile-gravity-value strong{font-family:var(--font-display);font-size:1.45rem;font-weight:620}.projectile-gravity-value span{color:#77817b;font-size:.53rem;font-weight:720}.projectile-preset-row{grid-template-columns:repeat(3,1fr);gap:.3rem;margin-top:.42rem;display:grid}.projectile-preset-row button{color:#66716b;cursor:pointer;background:#fff;border:1px solid #d5dad5;border-radius:.4rem;padding:.37rem .2rem;font-size:.47rem;font-weight:750}.projectile-preset-row button.is-active{color:#fff;background:#1b7d4a;border-color:#1b7d4a}.projectile-prediction-card,.projectile-verification-card,.projectile-model-note{background:#fff;border:1px solid #dce0db;border-radius:.62rem;margin-top:.82rem;overflow:hidden}.projectile-prediction-card header,.projectile-verification-card header{background:#f7f7f2;border-bottom:1px solid #e5e7e3;justify-content:space-between;align-items:center;gap:.45rem;padding:.62rem;display:flex}.projectile-prediction-card header>div,.projectile-verification-card header{min-width:0}.projectile-prediction-card header>div,.projectile-verification-card header>span,.projectile-verification-card header>strong{flex-direction:column;display:flex}.projectile-prediction-card header span,.projectile-verification-card header span{color:#7b847e;letter-spacing:.04em;text-transform:uppercase;font-size:.45rem;font-weight:780}.projectile-prediction-card header strong,.projectile-verification-card header strong{color:#29372f;margin-top:.12rem;font-size:.54rem}.projectile-prediction-card code{color:#126039;font-family:var(--font-display);font-size:.58rem}.projectile-prediction-card dl,.projectile-verification-card dl{margin:0}.projectile-prediction-card dl div,.projectile-verification-card dl div{border-bottom:1px solid #eceeeb;justify-content:space-between;gap:.5rem;padding:.52rem .62rem;display:flex}.projectile-prediction-card dl div:last-child,.projectile-verification-card dl div:last-child{border-bottom:0}.projectile-prediction-card dt,.projectile-prediction-card dd,.projectile-verification-card dt,.projectile-verification-card dd{margin:0;font-size:.49rem}.projectile-prediction-card dt,.projectile-verification-card dt{color:#717b75}.projectile-prediction-card dd,.projectile-verification-card dd{color:#1d3026;font-family:var(--font-mono);font-weight:760}.projectile-verification-card>p{color:#737d77;margin:0;padding:.68rem;font-size:.5rem;line-height:1.45}.projectile-verification-card>p.is-hit,.projectile-verification-card>p.is-miss{color:#185c37;background:#e9f5eb;align-items:center;gap:.42rem;display:flex}.projectile-verification-card>p.is-miss{color:#8b3e25;background:#fff0ea}.projectile-verification-card>p i{color:#fff;background:#25915a;border-radius:50%;flex:none;place-items:center;width:1.05rem;height:1.05rem;font-size:.5rem;font-style:normal;font-weight:850;display:grid}.projectile-verification-card>p.is-miss i{background:#d76a43}.projectile-model-note{background:#fff7eb;border-left:3px solid #ed8c23;padding:.68rem}.projectile-model-note strong{color:#70420f;font-size:.54rem}.projectile-model-note p{color:#856646;margin:.28rem 0 0;font-size:.48rem;line-height:1.48}@media (max-width:1320px){.projectile-workbench{grid-template-columns:224px minmax(540px,1fr)}.projectile-measurement-panel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .8rem;max-height:none;display:grid;position:static}.projectile-measurement-panel .projectile-panel-heading{grid-column:1/-1}}@media (max-width:940px){.projectile-workbench{grid-template-columns:1fr}.projectile-build-panel,.projectile-measurement-panel{max-height:none;position:static}.projectile-build-panel{order:2}.projectile-stage-column{order:1}.projectile-measurement-panel{order:3;grid-column:auto}.projectile-build-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;display:grid}.projectile-build-panel .projectile-panel-heading,.projectile-build-panel .projectile-lego-contract{grid-column:1/-1}}@media (max-width:700px){.projectile-topbar .text-button,.projectile-topbar .runtime-badge,.projectile-topbar .topbar-divider{display:none}.projectile-workbench{padding:.45rem}.projectile-stage-toolbar,.projectile-stage-toolbar__view{flex-direction:column;align-items:stretch}.projectile-stage-toolbar__view .view-options{justify-content:space-between}.projectile-transport{justify-content:center}.projectile-board{min-height:340px}.projectile-phase-badge{top:.4rem}.projectile-dimension-badge{transform-origin:0 0;top:.4rem;left:.4rem;transform:scale(.82)}.projectile-landing-badge{transform-origin:100% 100%;bottom:.4rem;right:.4rem;transform:scale(.84)}.projectile-live-strip{grid-template-columns:repeat(3,1fr)}.projectile-live-strip div:nth-child(3){border-right:0}.projectile-live-strip div:nth-child(n+4){border-top:1px solid #e2e4df}.projectile-charts,.projectile-build-panel,.projectile-measurement-panel{grid-template-columns:1fr;display:grid}.projectile-build-panel .projectile-panel-heading,.projectile-build-panel .projectile-lego-contract,.projectile-measurement-panel .projectile-panel-heading{grid-column:auto}}.projectile-baseplate-scene{width:100%;min-height:0;aspect-ratio:var(--projectile-board-ratio,8 / 5);background:#f4f4f1;border:0;border-radius:.55rem;display:block;box-shadow:0 8px 22px #1e2f2614}.projectile-baseplate-scene canvas{border-radius:inherit;width:100%;height:100%;display:block}.projectile-runtime-badge{z-index:3;color:#fff;background:#183124e0;border:1px solid #ffffff80;border-radius:.48rem;flex-direction:column;align-items:flex-end;padding:.44rem .56rem;display:flex;position:absolute;bottom:.65rem;right:.65rem;box-shadow:0 4px 12px #11251a29}.projectile-runtime-badge span{color:#c7d7ce;font-size:.42rem}.projectile-runtime-badge strong{margin-top:.12rem;font-size:.55rem}.projectile-phase-badge.is-runway i{background:#f3ca27}.projectile-phase-badge.is-flight i{background:#2f73e4}.projectile-phase-badge.is-complete i{background:#ef8121}.projectile-object-selector{border:0;margin:.92rem 0 0;padding:0}.projectile-object-selector legend{color:#3f4a45;margin-bottom:.48rem;font-size:.61rem;font-weight:800}.projectile-object-selector>div{gap:.4rem;display:grid}.projectile-object-selector button{color:#46514b;text-align:left;cursor:pointer;background:#f8f8f4;border:1px solid #d8dcd6;border-radius:.52rem;align-items:center;gap:.52rem;width:100%;padding:.48rem;display:flex}.projectile-object-selector button.is-active{color:#105e38;background:#e9f4eb;border-color:#2b8a56;box-shadow:inset 0 -2px #126a3e14}.projectile-object-selector button>span{flex-direction:column;min-width:0;display:flex}.projectile-object-selector button strong{font-size:.56rem}.projectile-object-selector button small{color:#79827d;margin-top:.12rem;font-size:.43rem}.projectile-object-icon{flex:none;width:2rem;height:1.35rem;display:block;position:relative}.projectile-object-icon.is-car{background:#2f6df6;border:1px solid #194bb7;border-radius:.2rem;height:1rem}.projectile-object-icon.is-car:before,.projectile-object-icon.is-car:after{content:"";background:#242424;border-radius:50%;width:.62rem;height:.62rem;position:absolute;bottom:-.38rem}.projectile-object-icon.is-car:before{left:.2rem}.projectile-object-icon.is-car:after{right:.2rem}.projectile-object-icon.is-ball{background:#2f6df6;border:1px solid #194bb7;border-radius:50%;width:1.35rem;height:1.35rem;margin-left:.3rem;margin-right:.35rem;box-shadow:inset .22rem .2rem #5b8cff}.projectile-bill{background:#fff;border:1px solid #dde1dc;border-radius:.54rem;margin-top:.9rem;overflow:hidden}.projectile-bill header,.projectile-bill>div{border-bottom:1px solid #eceeeb;justify-content:space-between;align-items:center;gap:.5rem;padding:.48rem .56rem;display:flex}.projectile-bill header{background:#f6f7f3}.projectile-bill>div:last-child{border-bottom:0}.projectile-bill span{color:#68736d;font-size:.47rem}.projectile-bill strong{color:#24352c;font-size:.49rem}@media (max-width:700px){.projectile-baseplate-scene{aspect-ratio:auto;min-height:330px}.projectile-runtime-badge{transform-origin:100% 100%;transform:scale(.82)}}.projectile-galton-workbench{grid-template-columns:244px minmax(520px,1fr) 310px}.projectile-galton-stage{background:#f4f4f1}.projectile-2d{width:100%;height:100%}.projectile-2d canvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.projectile-2d canvas.is-hovering-piece{cursor:grab}.projectile-2d canvas.is-dragging-piece{cursor:grabbing}.projectile-apparatus-group{margin-top:12px}.projectile-curved-track-button{width:100%}.projectile-curved-track-swatch{flex:0 0 64px;width:64px;height:42px;overflow:visible}.projectile-track-placement-angle{background:#f7f8f6;border:1px solid #d8ddd9;border-radius:12px;margin-top:8px;padding:10px}.projectile-track-placement-angle>div:first-child,.projectile-track-angle-editor>span{color:#59615d;justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.projectile-track-placement-angle>div:first-child strong,.projectile-track-angle-editor output{color:#27312c;font-size:12px;font-weight:800}.projectile-track-angle-number{color:#27312c;align-items:center;gap:3px;font-size:11px;font-weight:800;display:inline-flex}.projectile-track-angle-number input{color:#27312c;width:58px;min-height:27px;font:inherit;text-align:right;background:#fff;border:1px solid #cbd2ce;border-radius:7px;padding:3px 5px}.projectile-track-placement-angle>input,.projectile-track-angle-editor>input{accent-color:#687277;width:100%;margin:9px 0 7px}.projectile-track-angle-buttons{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.projectile-track-angle-buttons button{color:#46504b;background:#fff;border:1px solid #d0d6d2;border-radius:8px;min-height:28px;font-size:11px;font-weight:750}.projectile-track-angle-buttons button:hover{background:#f0f3f1;border-color:#8c9791}.projectile-track-mirror-toggle{color:#46504b;text-align:left;background:#fff;border:1px solid #d0d6d2;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:100%;min-height:36px;margin-top:7px;padding:7px 9px;font-size:11px;font-weight:750;display:grid}.projectile-track-mirror-toggle:hover{background:#f2f4f2;border-color:#98a19c}.projectile-track-mirror-toggle.is-active{color:#26332d;background:#e8ece9;border-color:#8c9992}.projectile-track-mirror-toggle>span:first-child{font-size:17px;line-height:1}.projectile-track-mirror-toggle>span:nth-child(2){gap:1px;display:grid}.projectile-track-mirror-toggle strong{font-size:11px}.projectile-track-mirror-toggle small{color:#78827d;font-size:9px;font-weight:600}.projectile-track-mirror-toggle kbd{color:#68716c;text-align:center;background:#f7f8f7;border:1px solid #ced4d0;border-radius:5px;min-width:21px;padding:2px 5px;font:700 9px/1.35 ui-monospace,SFMono-Regular,Menlo,monospace}.projectile-track-inspector{background:#f8f9f7;border:1px solid #d5dad7;border-radius:14px;margin-top:14px;padding:13px}.projectile-track-inspector>header{border-bottom:1px solid #dde1de;justify-content:space-between;align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}.projectile-track-inspector>header div{gap:2px;display:grid}.projectile-track-inspector>header span,.projectile-track-inspector>header small,.projectile-track-anchor-readout span{color:#7a837f;font-size:10px}.projectile-track-inspector>header strong{color:#2d3632;font-size:13px}.projectile-track-anchor-readout{background:#e9ecea;border-radius:9px;justify-content:space-between;gap:8px;margin:10px 0;padding:8px 9px;display:flex}.projectile-track-anchor-readout strong{color:#3d4843;font-size:11px}.projectile-track-scale-readout{color:#6e7873;background:#eef1ef;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:7px;padding:7px 9px;font-size:9px;display:flex}.projectile-track-scale-readout strong{color:#3f4a44;font-family:var(--font-mono);font-size:9px}.projectile-track-inspector>.galton-color-control{margin-top:10px}.projectile-track-angle-editor{margin-bottom:7px;display:block}.projectile-track-inspector>.range-control{margin-top:10px}.projectile-track-inspector>p{color:#6a736f;margin:10px 0;font-size:10px;line-height:1.45}.projectile-track-remove{color:#a63d32;background:#fff;border:1px solid #e0b1aa;border-radius:9px;width:100%;min-height:32px;font-size:11px;font-weight:800}.projectile-track-inspector.is-empty{align-items:center;gap:9px;display:flex}.projectile-track-inspector.is-empty .projectile-curved-track-swatch{flex-basis:54px;width:54px;height:36px}.projectile-track-inspector.is-empty>div{gap:3px;display:grid}.projectile-track-inspector.is-empty strong{color:#3b4540;font-size:11px}.projectile-track-inspector.is-empty span{color:#77807c;font-size:10px;line-height:1.4}.projectile-2d canvas.is-hovering-object{cursor:pointer}.projectile-car-controls-layer{z-index:6;pointer-events:none;position:absolute;inset:0}.projectile-car-control-hit{color:#304038;cursor:pointer;pointer-events:auto;background:#f2cb2f;border:1px solid #bd9410;border-radius:50%;place-items:center;padding:0;font-size:clamp(8px,.62rem,13px);line-height:1;transition:transform .12s,background .12s;display:grid;position:absolute;box-shadow:0 2px 5px #272e2a2e,inset 0 1px #ffffff80}.projectile-car-control-hit:hover{background:#ffda3d;transform:translate(-50%,-50%)scale(1.08)!important}.projectile-car-control-hit:focus-visible{outline-offset:2px;outline:2px solid #2f6df6}.projectile-object-tools{grid-template-columns:1fr 1fr;gap:.38rem;margin:.75rem 0 .42rem;display:grid}.projectile-object-tools>button{color:#4e5b54;text-align:left;cursor:pointer;background:#fff;border:1px solid #d5d6cf;border-radius:.56rem;align-items:center;gap:.45rem;min-width:0;min-height:3.25rem;padding:.48rem;display:flex}.projectile-object-tools>button.is-active{color:#174d31;background:#e8f2ea;border-color:#126e428c;box-shadow:inset 0 -2px #126e4214}.projectile-object-tools>button>span:last-child{flex-direction:column;min-width:0;display:flex}.projectile-object-tools strong{text-overflow:ellipsis;white-space:nowrap;font-size:.56rem;overflow:hidden}.projectile-object-tools small{color:#818984;margin-top:.12rem;font-size:.43rem}.projectile-tool-car{background:#2f6df6;border:1px solid #194bb7;border-radius:.2rem;flex:none;width:1.9rem;height:.95rem;position:relative}.projectile-tool-car span{background:#252525;border-radius:50%;width:.58rem;height:.58rem;position:absolute;bottom:-.35rem}.projectile-tool-car span:first-child{left:.16rem}.projectile-tool-car span:last-child{right:.16rem}.projectile-main-tools{grid-template-columns:1fr 1fr;margin-top:.42rem}.projectile-main-tools button{min-height:2.25rem}.projectile-tool-pointer{color:#fff;background:#2f6df6;border-radius:.2rem;place-items:center;width:.9rem;height:.9rem;font-size:.7rem;display:grid}.projectile-car-button-note{color:#69736d;background:#f7f5ee;border-left:3px solid #f2cb2f;margin:.4rem 0 0;padding:.45rem .52rem;font-size:.5rem;line-height:1.45}.projectile-car-button-note strong{color:#24352c}.projectile-performance-summary{white-space:nowrap;align-items:baseline;gap:.38rem;display:flex}.projectile-performance-summary strong{font-size:inherit}.projectile-performance-summary small{color:#63816e;font-family:var(--font-mono);font-size:.42rem}.projectile-boundary-summary{color:#53645b;white-space:nowrap;background:#fff;border:1px solid #d9ddd8;border-radius:999px;align-items:center;gap:.3rem;padding:.3rem .46rem;font-size:.44rem;font-weight:800;display:inline-flex}.projectile-boundary-summary i{border:1px dashed #2c7c51;border-radius:.08rem;width:.42rem;height:.42rem}.projectile-boundary-summary.is-closed{color:#624b1b;background:#fff9df;border-color:#e2d39e}.projectile-boundary-summary.is-closed i{border:2px solid #c09400}.projectile-toolbar-gravity{color:#4f5d55;white-space:nowrap;background:#fff;border:1px solid #d9ddd8;border-radius:.48rem;align-items:center;gap:.28rem;min-height:30px;padding:.24rem .4rem;display:inline-flex}.projectile-toolbar-gravity>span{align-items:baseline;gap:.2rem;font-size:.43rem;font-weight:800;display:inline-flex}.projectile-toolbar-gravity i{color:#26372e;font-family:var(--font-display);font-size:.72rem;font-weight:500}.projectile-toolbar-gravity input{color:#25352d;text-align:right;background:#f8faf8;border:1px solid #ccd3ce;border-radius:.32rem;width:3.25rem;min-height:22px;padding:.16rem .22rem;font:750 .5rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.projectile-toolbar-gravity small{color:#748078;font-size:.4rem;font-weight:700}.projectile-2d.is-boundary-closed:after{content:"";z-index:3;pointer-events:none;border:2px solid #b68b00b8;border-radius:.42rem;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffe4657a}.projectile-boundary-control{background:#fff;border:1px solid #d9ddd7;border-radius:.6rem;margin-top:.72rem;padding:.68rem}.projectile-boundary-control>header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.projectile-boundary-control>header div{flex-direction:column;gap:.08rem;display:flex}.projectile-boundary-control>header span{color:#78847d;text-transform:uppercase;letter-spacing:.055em;font-size:.42rem;font-weight:800}.projectile-boundary-control>header strong{color:#263f31;font-size:.62rem}.projectile-boundary-control>header small{color:#557064;background:#edf3ee;border-radius:999px;padding:.18rem .3rem;font-size:.39rem;font-weight:800}.projectile-boundary-modes,.projectile-open-boundary-policy{grid-template-columns:1fr 1fr;gap:.32rem;margin-top:.52rem;display:grid}.projectile-boundary-modes button,.projectile-open-boundary-policy button{color:#53625a;text-align:left;cursor:pointer;background:#fbfcfa;border:1px solid #d9dcd7;border-radius:.42rem;flex-direction:column;gap:.06rem;min-width:0;padding:.44rem;display:flex}.projectile-boundary-modes button:hover,.projectile-open-boundary-policy button:hover{border-color:#78a088}.projectile-boundary-modes button.is-active,.projectile-open-boundary-policy button.is-active{color:#17482d;background:#edf6f0;border-color:#28744b;box-shadow:inset 3px 0 #28744b}.projectile-boundary-modes strong,.projectile-open-boundary-policy strong{font-size:.51rem}.projectile-boundary-modes small,.projectile-open-boundary-policy small{color:#7b857f;font-size:.4rem}.projectile-open-boundary-policy>span{color:#68756e;grid-column:1/-1;font-size:.43rem;font-weight:750}.projectile-boundary-control>p{color:#737f78;margin:.52rem 0 0;font-size:.44rem;line-height:1.45}.projectile-trail-controls{color:#53625a;background:#fafbf8;border:1px solid #d9ddd8;border-radius:.52rem;flex-wrap:wrap;align-items:center;gap:.7rem;min-height:2rem;padding:.3rem .48rem;display:flex}.projectile-trail-controls>strong{color:#234432;letter-spacing:.02em;text-transform:uppercase;border-right:1px solid #d9ddd8;padding-right:.65rem;font-size:.57rem}.projectile-trail-width-control,.projectile-trail-toggle-control{align-items:center;gap:.42rem;font-size:.56rem;font-weight:760;display:inline-flex}.projectile-trail-width-control input[type=range]{width:clamp(5rem,12vw,8rem);accent-color:var(--green);cursor:ew-resize}.projectile-trail-width-control output{color:#244534;min-width:3.8rem;font-family:var(--font-mono);text-align:center;background:#fff;border:1px solid #d5dad5;border-radius:.32rem;padding:.2rem .34rem;font-size:.53rem}.projectile-trail-toggle-control{cursor:pointer}.projectile-trail-toggle-control input{opacity:0;pointer-events:none;position:absolute}.projectile-trail-toggle-control>span{background:#d1d3ce;border-radius:999px;width:1.72rem;height:.96rem;transition:all .15s;position:relative}.projectile-trail-toggle-control>span:after{content:"";background:#fff;border-radius:50%;width:.68rem;height:.68rem;transition:all .15s;position:absolute;top:.14rem;left:.15rem;box-shadow:0 1px 3px #0000002e}.projectile-trail-toggle-control input:checked+span{background:var(--green)}.projectile-trail-toggle-control input:checked+span:after{transform:translate(.73rem)}.projectile-trail-toggle-control input:focus-visible+span{outline-offset:2px;outline:3px solid #2a68ff6b}.projectile-inspector-tabs{grid-template-columns:repeat(6,1fr)}.projectile-inspector-tabs button{padding-inline:.2rem;font-size:.49rem}.projectile-live-model{grid-template-columns:1fr 1fr}.projectile-page .galton-burst-button:disabled,.projectile-page .view-options input:disabled+span{opacity:.45;cursor:not-allowed}.projectile-page .projectile-charts{margin-top:0}.projectile-page .projectile-chart-card{background:#fbfaf6;border-color:#d7d6cf}.projectile-assembly-message{color:#28513b;background:#eef7f0;border:1px solid #126e4240;border-left:4px solid #167044;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.5rem;margin:.4rem 0 0;padding:.46rem .58rem;font-size:.56rem;font-weight:700;display:flex}.projectile-assembly-message button{color:#466252;cursor:pointer;background:#126e4217;border:0;border-radius:50%;width:1.25rem;height:1.25rem;padding:0}.projectile-object-summary{background:#fbfaf6;border:1px solid #d8d8d1;border-radius:.55rem;grid-template-columns:auto 1fr;align-items:baseline;column-gap:.4rem;padding:.58rem;display:grid}.projectile-object-summary strong{color:#185c39;grid-row:1/3;font-size:1.35rem;line-height:1}.projectile-object-summary span{color:#30443a;font-size:.58rem;font-weight:800}.projectile-object-summary small{color:#7b847f;font-size:.45rem}.projectile-launch-program-button,.projectile-start-program{color:#243d2f;cursor:pointer;background:#f2ca22;border:1px solid #c79f00;font-weight:850;box-shadow:0 3px 8px #785b0024}.projectile-launch-program-button{white-space:nowrap;border-radius:.42rem;min-height:2rem;padding:0 .65rem;font-size:.48rem}.projectile-launch-program{background:#fff;border:1px solid #d8ddd7;border-radius:.58rem;margin-top:.55rem;padding:.62rem}.projectile-launch-program>header{justify-content:space-between;align-items:center;gap:.45rem;display:flex}.projectile-launch-program>header div{flex-direction:column;gap:.08rem;display:flex}.projectile-launch-program>header span{color:#7a847e;text-transform:uppercase;letter-spacing:.055em;font-size:.39rem;font-weight:800}.projectile-launch-program>header strong{color:#263f31;font-size:.62rem}.projectile-launch-program>header em{color:#6b746f;white-space:nowrap;background:#eef0ed;border-radius:999px;padding:.18rem .3rem;font-size:.38rem;font-style:normal;font-weight:850}.projectile-launch-program>header em.is-running{color:#11623a;background:#def2e4}.projectile-launch-program>header em.is-complete{color:#705600;background:#fff2b9}.projectile-launch-presets{grid-template-columns:1fr 1fr;gap:.3rem;margin-top:.5rem;display:grid}.projectile-launch-presets button{color:#3c5246;text-align:left;cursor:pointer;background:#fafbf9;border:1px solid #d8dcd7;border-radius:.4rem;flex-direction:column;gap:.05rem;padding:.38rem .42rem;display:flex}.projectile-launch-presets button:hover{background:#f0f6f1;border-color:#7da18b}.projectile-launch-presets strong{font-size:.48rem}.projectile-launch-presets small{color:#7e8782;font-size:.38rem}.projectile-sequence-control{background:#fafaf7;border:1px solid #e2e4df;border-radius:.4rem;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.32rem;margin-top:.35rem;padding:.4rem;display:grid}.projectile-sequence-control label{color:#68746e;flex-direction:column;gap:.18rem;min-width:0;font-size:.4rem;font-weight:750;display:flex}.projectile-sequence-control label>span:last-child{align-items:center;gap:.2rem;display:flex}.projectile-sequence-control input,.projectile-launch-row__time input{color:#234630;min-width:0;font-family:var(--font-mono);background:#fff;border:1px solid #cfd6d0;border-radius:.3rem;font-weight:800}.projectile-sequence-control input{width:3.2rem;padding:.24rem;font-size:.46rem}.projectile-sequence-control button{color:#27533a;cursor:pointer;background:#fff;border:1px solid #bfcfc4;border-radius:.34rem;padding:.34rem .4rem;font-size:.4rem;font-weight:800}.projectile-launch-schedule{scrollbar-width:thin;gap:.24rem;max-height:8.8rem;margin-top:.42rem;display:grid;overflow:auto}.projectile-launch-row{background:#fbfcfa;border:1px solid #e0e2dd;border-radius:.4rem;grid-template-columns:minmax(0,1fr) auto 4.35rem;align-items:center;gap:.28rem;padding:.32rem .36rem;display:grid}.projectile-launch-row.is-selected{border-color:#75a086;box-shadow:inset 3px 0 #24754a}.projectile-launch-row__object{color:#33473c;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.28rem;min-width:0;padding:0;display:flex}.projectile-launch-row__object>i{background:#2f6df6;border-radius:.12rem;flex:none;width:.72rem;height:.5rem;position:relative;box-shadow:inset 0 -.12rem #194bb7}.projectile-launch-row__object>i:before,.projectile-launch-row__object>i:after{content:"";background:#282c2e;border-radius:50%;width:.22rem;height:.22rem;position:absolute;bottom:-.1rem}.projectile-launch-row__object>i:before{left:.06rem}.projectile-launch-row__object>i:after{right:.06rem}.projectile-launch-row__object span{flex-direction:column;min-width:0;display:flex}.projectile-launch-row__object strong{font-size:.45rem}.projectile-launch-row__object small{color:#818a85;font-size:.36rem}.projectile-launch-row__toggle{color:#68736d;cursor:pointer;align-items:center;gap:.2rem;font-size:.36rem;font-weight:750;display:flex}.projectile-launch-row__toggle input{opacity:0;pointer-events:none;position:absolute}.projectile-launch-row__toggle>span{background:#cfd5d1;border-radius:999px;width:1rem;height:.58rem;position:relative}.projectile-launch-row__toggle>span:after{content:"";background:#fff;border-radius:50%;width:.42rem;height:.42rem;transition:transform .12s;position:absolute;top:.08rem;left:.08rem;box-shadow:0 1px 2px #142d1e33}.projectile-launch-row__toggle input:checked+span{background:#24754a}.projectile-launch-row__toggle input:checked+span:after{transform:translate(.42rem)}.projectile-launch-row__time{color:#728078;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.15rem;font-size:.39rem;font-weight:800;display:grid}.projectile-launch-row__time input{width:100%;padding:.22rem;font-size:.43rem}.projectile-launch-row__time input:disabled{color:#a7ada9;background:#f0f1ee}.projectile-start-program{border-radius:.4rem;width:100%;min-height:1.9rem;margin-top:.45rem;font-size:.48rem}.projectile-start-program:disabled{cursor:not-allowed;opacity:.45}.projectile-launch-program>p{color:#77817b;margin:.42rem 0 0;font-size:.39rem;line-height:1.45}.projectile-object-empty{color:#727d77;background:#fafaf7;border:1px dashed #c9cdc7;border-radius:.55rem;flex-direction:column;gap:.2rem;margin-top:.5rem;padding:.75rem;font-size:.5rem;line-height:1.45;display:flex}.projectile-object-empty strong{color:#3f5148;font-size:.58rem}.projectile-object-list{gap:.32rem;max-height:15rem;margin-top:.5rem;display:grid;overflow:auto}.projectile-object-list>button{color:#34463d;text-align:left;cursor:pointer;background:#fff;border:1px solid #dcddd7;border-radius:.5rem;grid-template-columns:1.45rem minmax(0,1fr) auto;align-items:center;gap:.42rem;width:100%;padding:.48rem .5rem;display:grid}.projectile-object-list>button:hover,.projectile-object-list>button.is-selected{background:#eef6ef;border-color:#14693e7a}.projectile-object-list>button.is-selected{box-shadow:inset 3px 0 #167044}.projectile-object-list i{background:#2f6df6;border-radius:.2rem;width:1.35rem;height:1.05rem;display:block;position:relative;box-shadow:inset 0 -.2rem #194bb7}.projectile-object-list i.is-car:before,.projectile-object-list i.is-car:after{content:"";background:#282c2e;border-radius:50%;width:.42rem;height:.42rem;position:absolute;bottom:-.16rem}.projectile-object-list i.is-car:before{left:.12rem}.projectile-object-list i.is-car:after{right:.12rem}.projectile-object-list i.is-ball{border-radius:50%;width:.9rem;height:.9rem;margin-inline:auto;box-shadow:inset -.12rem -.14rem #194bb7}.projectile-object-list span{flex-direction:column;gap:.08rem;min-width:0;display:flex}.projectile-object-list strong{font-size:.56rem}.projectile-object-list small{color:#78827d;text-overflow:ellipsis;white-space:nowrap;font-size:.44rem;overflow:hidden}.projectile-object-list em{color:#727c76;white-space:nowrap;background:#eef0ed;border-radius:999px;padding:.15rem .28rem;font-size:.39rem;font-style:normal;font-weight:800}.projectile-object-list em.is-active{color:#126c40;background:#dff3e5}.projectile-selected-object-card{background:#fbfaf6;border:1px solid #d7d8d1;border-radius:.58rem;margin-top:.58rem;padding:.6rem}.projectile-selected-object-card header{justify-content:space-between;align-items:start;gap:.4rem;display:flex}.projectile-selected-object-card header div{flex-direction:column;gap:.06rem;display:flex}.projectile-selected-object-card header span,.projectile-selected-object-card header small{color:#7a837e;font-size:.42rem}.projectile-selected-object-card header strong{color:#263d31;font-size:.66rem}.projectile-selected-object-card dl{gap:.25rem;margin:.5rem 0;display:grid}.projectile-selected-object-card dl div{color:#59665f;justify-content:space-between;gap:.5rem;font-size:.48rem;display:flex}.projectile-selected-object-card dt,.projectile-selected-object-card dd{margin:0}.projectile-selected-object-card dd{color:#263d31;font-weight:800}.projectile-object-actions{grid-template-columns:1fr 1fr;gap:.3rem;display:grid}.projectile-object-actions button{color:#415149;cursor:pointer;background:#fff;border:1px solid #d0d3ce;border-radius:.4rem;min-height:1.85rem;padding:.34rem;font-size:.47rem;font-weight:800}.projectile-object-actions button.is-primary{color:#173f2b;background:#f2cb2f;border-color:#d0a900}.projectile-object-actions button.is-danger{color:#9a332b;background:#fff7f5;border-color:#e5c5c1}.projectile-car-physics-editor{border-top:1px solid #ddded8;margin-top:.65rem;padding-top:.62rem}.projectile-car-orientation-editor{background:#f7f9f7;border:1px solid #d8ded9;border-radius:.55rem;margin-top:.65rem;padding:.62rem}.projectile-car-orientation-editor>header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex}.projectile-car-orientation-editor>header div{gap:.08rem;display:grid}.projectile-car-orientation-editor>header span,.projectile-car-orientation-editor>header small{color:#78827c;font-size:.4rem}.projectile-car-orientation-editor>header strong{color:#2f3d35;font-size:.52rem}.projectile-car-orientation-editor>p{color:#6d7871;margin:.45rem 0 0;font-size:.4rem;line-height:1.45}.projectile-car-orientation-editor button:disabled,.projectile-car-orientation-editor input:disabled{cursor:not-allowed;opacity:.45}.projectile-car-physics-editor>header{align-items:center}.projectile-car-physics-editor>header div{min-width:0}.projectile-car-physics-editor>header button{color:#42604f;cursor:pointer;background:#fff;border:1px solid #ced5cf;border-radius:.35rem;padding:.28rem .42rem;font-size:.42rem;font-weight:800}.projectile-current-velocity{background:#f4faf6;border:1px solid #d8e3db;border-radius:.42rem;grid-template-columns:1fr auto auto;align-items:center;gap:.38rem;margin-top:.52rem;padding:.42rem .48rem;display:grid}.projectile-current-velocity span{color:#42604f;font-size:.42rem;font-weight:800}.projectile-current-velocity span small{color:#7a8b81;margin-top:.08rem;font-size:.35rem;font-weight:700;display:block}.projectile-current-velocity strong{color:#1b5335;font-family:var(--font-mono);background:#fff;border-radius:.28rem;padding:.2rem .3rem;font-size:.42rem}.projectile-car-physics-group{background:#fff;border:1px solid #dfe4de;border-radius:.48rem;margin-top:.62rem;padding:.56rem .58rem .1rem}.projectile-car-physics-group>strong{color:#1f6a42;text-transform:uppercase;letter-spacing:.055em;padding-bottom:.18rem;font-size:.47rem;display:block}.projectile-kinematic-axis-note{color:#69766f;margin:.16rem 0 .48rem;font-size:.43rem;line-height:1.4}.projectile-kinematic-axis-note b{color:#1f6a42}.projectile-kinematic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.38rem;display:grid}.projectile-kinematic-control{background:#f9fbf8;border:1px solid #e0e5df;border-radius:.42rem;gap:.27rem;padding:.42rem;display:grid}.projectile-kinematic-control>span:first-child{color:#5c6b63;align-items:center;gap:.28rem;font-size:.4rem;font-weight:750;line-height:1.25;display:flex}.projectile-kinematic-control>span:first-child b{color:#1f6a42;min-width:1.35rem;font-family:var(--font-display);flex:none;font-size:.66rem}.projectile-kinematic-control>span:last-child{align-items:center;gap:.25rem;display:flex}.projectile-kinematic-control input{color:#183e2a;width:100%;min-width:0;font-family:var(--font-mono);text-align:right;background:#fff;border:1px solid #cad4cc;border-radius:.32rem;padding:.3rem .34rem;font-size:.52rem;font-weight:800}.projectile-kinematic-control input:focus{outline-offset:1px;border-color:#25734b;outline:2px solid #25734b24}.projectile-kinematic-control small{color:#748078;flex:none;font-size:.39rem;font-weight:750}.projectile-kinematic-limit{background:#fffbed;border-left:3px solid #efc500;border-radius:.25rem;grid-template-columns:1fr auto;gap:.1rem .45rem;margin:.48rem 0 .45rem;padding:.42rem .48rem;display:grid}.projectile-kinematic-limit span,.projectile-kinematic-limit strong{font-size:.43rem}.projectile-kinematic-limit span{color:#6e6642;font-weight:750}.projectile-kinematic-limit strong{color:#625315}.projectile-kinematic-limit small{color:#897d4e;grid-column:1/-1;font-size:.38rem;line-height:1.35}.projectile-invert-horizontal-button{color:#23583a;cursor:pointer;background:#f3f8f4;border:1px solid #cddbd1;border-radius:.38rem;justify-content:center;align-items:center;gap:.34rem;width:100%;margin-top:.42rem;padding:.42rem .5rem;font-size:.43rem;font-weight:820;display:flex}.projectile-invert-horizontal-button:hover{background:#eaf4ec;border-color:#56906d}.projectile-invert-horizontal-button span{color:#176b40;font-size:.78rem;line-height:1}.projectile-collision-status{background:#f8f9f6;border:1px solid #d8ddd8;border-radius:.48rem;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.7rem;padding:.52rem .58rem;display:flex}.projectile-collision-status>div:first-child{flex-direction:column;gap:.08rem;display:flex}.projectile-collision-status__actions{gap:.28rem;display:flex}.projectile-collision-status span{color:#718078;font-size:.4rem;font-weight:760}.projectile-collision-status strong{color:#183f2a;font-size:.82rem}.projectile-collision-status button{color:#42604f;cursor:pointer;background:#fff;border:1px solid #ced5cf;border-radius:.35rem;padding:.34rem .45rem;font-size:.41rem;font-weight:800}.projectile-collision-status button:disabled{opacity:.45;cursor:not-allowed}.projectile-collision-scenarios{background:#fff;border:1px solid #d8ddd8;border-radius:.5rem;margin-top:.7rem;overflow:hidden}.projectile-collision-scenarios>header{background:#f7f8f4;border-bottom:1px solid #e5e8e4;justify-content:space-between;align-items:center;gap:.4rem;padding:.5rem .56rem;display:flex}.projectile-collision-scenarios>header div{flex-direction:column;gap:.07rem;display:flex}.projectile-collision-scenarios>header span,.projectile-collision-scenarios>header small{color:#78827c;font-size:.38rem;font-weight:740}.projectile-collision-scenarios>header strong{color:#294536;font-size:.5rem}.projectile-collision-scenarios>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.32rem;padding:.45rem;display:grid}.projectile-collision-scenarios>div button{color:#355143;text-align:left;cursor:pointer;background:#fbfcfa;border:1px solid #d9ded9;border-radius:.38rem;flex-direction:column;gap:.08rem;min-width:0;padding:.4rem .42rem;display:flex}.projectile-collision-scenarios>div button:hover{background:#f0f6f1;border-color:#6a987a}.projectile-collision-scenarios>div button strong{text-overflow:ellipsis;white-space:nowrap;font-size:.43rem;overflow:hidden}.projectile-collision-scenarios>div button small{color:#78847d;font-size:.35rem}.projectile-collision-scenarios .projectile-collision-run{color:#3f3510;cursor:pointer;background:#f2ca25;border:1px solid #d1aa00;border-radius:.38rem;width:calc(100% - .9rem);margin:0 .45rem .48rem;padding:.45rem .52rem;font-size:.44rem;font-weight:850}.projectile-collision-scenarios .projectile-collision-run:disabled{opacity:.45;cursor:not-allowed}.projectile-collision-empty{color:#526159;text-align:center;background:#fbfcfa;border:1px dashed #cfd8d1;border-radius:.5rem;flex-direction:column;align-items:center;margin-top:.58rem;padding:.86rem .7rem;display:flex}.projectile-collision-empty__cars{align-items:center;gap:.35rem;margin-bottom:.42rem;display:flex}.projectile-collision-empty__cars i{background:#3272ec;border:1px solid #1d51b9;border-radius:.14rem;width:1.35rem;height:.65rem;display:block;box-shadow:inset 0 -.12rem #0f3a922e}.projectile-collision-empty__cars b{color:#e78318;font-size:.8rem}.projectile-collision-empty>strong{color:#294536;font-size:.52rem}.projectile-collision-empty p{color:#758078;max-width:13rem;margin:.24rem 0 0;font-size:.43rem;line-height:1.45}.projectile-collision-event-card{background:#fff;border:1px solid #d8ddd8;border-radius:.5rem;margin-top:.58rem;overflow:hidden}.projectile-collision-event-card>header{background:#f7f8f4;border-bottom:1px solid #e4e7e2;justify-content:space-between;align-items:center;gap:.45rem;padding:.52rem .58rem;display:flex}.projectile-collision-event-card>header div{flex-direction:column;gap:.09rem;min-width:0;display:flex}.projectile-collision-event-card>header span{color:#77817b;text-transform:uppercase;letter-spacing:.035em;font-size:.39rem;font-weight:760}.projectile-collision-event-card>header strong{color:#233e30;font-size:.54rem}.projectile-collision-event-card time{color:#5c4b17;font-family:var(--font-mono);background:#fff8dc;border:1px solid #e3c979;border-radius:.32rem;padding:.27rem .36rem;font-size:.44rem;font-weight:800}.projectile-collision-analytic-card{background:#fff;border:1px solid #bfcfc3;border-radius:.5rem;margin-top:.48rem;overflow:hidden}.projectile-collision-analytic-card>header{background:#f0f7f2;border-bottom:1px solid #dce6de;justify-content:space-between;align-items:center;gap:.4rem;padding:.5rem .56rem;display:flex}.projectile-collision-analytic-card>header div{flex-direction:column;gap:.08rem;display:flex}.projectile-collision-analytic-card>header span{color:#6f8176;text-transform:uppercase;letter-spacing:.035em;font-size:.37rem;font-weight:760}.projectile-collision-analytic-card>header strong{color:#1d5133;font-size:.48rem}.projectile-collision-analytic-card>header em{color:#1f5a38;font-family:var(--font-mono);background:#fff;border-radius:.27rem;padding:.2rem .3rem;font-size:.42rem;font-style:normal;font-weight:850}.projectile-collision-comparison-table{grid-template-columns:1.28fr repeat(3,minmax(0,.82fr));align-items:center;gap:.34rem .28rem;padding:.5rem .52rem;display:grid}.projectile-collision-comparison-table>strong{color:#728078;text-align:right;text-transform:uppercase;font-size:.36rem}.projectile-collision-comparison-table>span{color:#4d5e54;font-size:.39rem;font-weight:760}.projectile-collision-comparison-table>b{color:#173f29;font-family:var(--font-mono);text-align:right;font-size:.39rem}.projectile-collision-analytic-card>footer{background:#fafcf9;border-top:1px solid #e1e8e2;justify-content:space-between;align-items:center;gap:.4rem;padding:.38rem .54rem;display:flex}.projectile-collision-analytic-card>footer span{color:#617067;font-size:.39rem}.projectile-collision-analytic-card>footer strong{color:#1c5635;font-family:var(--font-mono);font-size:.42rem}.projectile-collision-velocity-table{grid-template-columns:1.25fr 1fr 1fr;align-items:center;gap:.34rem .42rem;padding:.52rem .58rem;display:grid}.projectile-collision-velocity-table>strong{color:#708078;text-align:right;text-transform:uppercase;font-size:.39rem}.projectile-collision-velocity-table>span{color:#4f5e56;font-size:.42rem;font-weight:760}.projectile-collision-velocity-table>b{color:#163d28;font-family:var(--font-mono);text-align:right;font-size:.43rem}.projectile-collision-metrics{gap:.4rem;margin-top:.48rem;display:grid}.projectile-collision-metrics>section,.projectile-collision-restitution{background:#fff;border:1px solid #dce1dc;border-radius:.46rem;padding:.5rem .56rem}.projectile-collision-metrics section>header{justify-content:space-between;align-items:center;gap:.4rem;margin-bottom:.34rem;display:flex}.projectile-collision-metrics section>header strong{color:#294536;font-size:.47rem}.projectile-collision-metrics section>header em{color:#275c3d;background:#edf5ef;border-radius:.25rem;padding:.18rem .28rem;font-size:.38rem;font-style:normal;font-weight:820}.projectile-collision-metrics section>div{border-top:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:.35rem;padding-top:.25rem;display:flex}.projectile-collision-metrics section>div+div{margin-top:.25rem}.projectile-collision-metrics section>div span{color:#748078;font-size:.4rem}.projectile-collision-metrics section>div b{color:#294536;font-family:var(--font-mono);font-size:.42rem}.projectile-collision-restitution{background:#fffdf5;border-left:3px solid #efc500;grid-template-columns:1fr auto;align-items:center;gap:.08rem .4rem;display:grid}.projectile-collision-restitution span{color:#635f48;font-size:.43rem;font-weight:780}.projectile-collision-restitution strong{color:#554911;font-family:var(--font-mono);font-size:.68rem}.projectile-collision-restitution small{color:#857e5d;grid-column:1/-1;font-size:.37rem}.projectile-car-physics-group .galton-range-control{padding:.52rem 0}.projectile-car-physics-group .range-control__header{gap:.35rem;font-size:.55rem}.projectile-car-physics-group .range-control__header strong{font-size:.55rem}.range-control__editable-value{color:var(--green-dark);align-items:center;gap:.2rem;display:inline-flex}.range-control__editable-value input{width:3.25rem;color:var(--green-dark);font-family:var(--font-mono);text-align:right;background:#fff;border:1px solid #ccd5ce;border-radius:.3rem;padding:.2rem .25rem;font-size:.54rem;font-weight:800}.range-control__editable-value input:focus{outline-offset:1px;border-color:#25734b;outline:2px solid #25734b29}.range-control__editable-value small{color:#718078;min-width:1.65rem;font-size:.44rem;font-weight:700}.projectile-car-physics-group .range-control input[type=range]{margin-top:.5rem}.projectile-car-physics-group .range-control__limits{font-size:.42rem}@media (max-width:1260px){.projectile-galton-workbench{grid-template-columns:220px minmax(500px,1fr) 285px}}@media (max-width:1400px){.projectile-performance-summary small{display:none}.projectile-boundary-summary{padding:.3rem;font-size:0}.projectile-toolbar-gravity>span{font-size:0}}@media (max-width:1020px){.projectile-galton-workbench{grid-template-columns:205px minmax(480px,1fr)}.projectile-galton-workbench>.galton-inspector{grid-column:1/-1;max-height:none;position:static}}@media (max-width:760px){.projectile-galton-workbench{grid-template-columns:1fr}.projectile-galton-workbench>.galton-parts-panel,.projectile-galton-workbench>.galton-inspector{grid-column:auto;max-height:none;position:static}}.projectile-fullscreen-page{z-index:0;background:#2f8f4e;width:100vw;height:100dvh;min-height:0;position:fixed;inset:0;overflow:hidden}.projectile-fullscreen-workspace,.projectile-fullscreen-stage{width:100%;min-width:0;height:100%;min-height:0;position:absolute;inset:0}.projectile-fullscreen-workspace{z-index:1}.projectile-fullscreen-stage{box-shadow:none;border:0;border-radius:0;overflow:hidden;aspect-ratio:auto!important}.projectile-fullscreen-page .projectile-2d,.projectile-fullscreen-page .projectile-2d canvas{width:100%;height:100%}.projectile-fullscreen-page .galton-gravity{display:none}.projectile-fixed-gravity{z-index:80;color:#f8fff9;filter:drop-shadow(0 1px 1px #0d2b1b47);min-width:8rem;padding:0;position:fixed;top:.8rem;left:.8rem}.projectile-fixed-gravity label{align-items:baseline;gap:.18rem;font-size:.72rem;font-weight:780;line-height:1;display:flex}.projectile-fixed-gravity label>span{font-weight:800}.projectile-fixed-gravity label i{font-family:var(--font-display);font-size:.9rem;font-weight:500}.projectile-fixed-gravity input{color:#fff;text-align:center;appearance:textfield;background:0 0;border:0;border-bottom:1px solid #0000;border-radius:0;width:2.75rem;padding:0;font:800 .72rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.projectile-fixed-gravity input::-webkit-inner-spin-button{appearance:none;margin:0}.projectile-fixed-gravity input::-webkit-outer-spin-button{appearance:none;margin:0}.projectile-fixed-gravity input:hover,.projectile-fixed-gravity input:focus-visible{border-bottom-color:#fffc;outline:0}.projectile-fixed-gravity small{color:#ffffffeb;font-size:.6rem;font-weight:760}.projectile-fixed-gravity__arrow{fill:#111713;filter:drop-shadow(0 2px 1px #07170e2e);width:2.5rem;height:3.75rem;margin:.45rem 0 0 .75rem;display:block;overflow:visible}.projectile-fixed-hud{z-index:80;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfcf7e6;border:1px solid #14322133;border-radius:1rem;justify-content:flex-end;align-items:center;gap:.5rem;max-width:calc(100vw - 11.5rem);min-height:3.25rem;padding:.38rem;display:flex;position:fixed;top:.72rem;right:.8rem;box-shadow:0 14px 34px #092c192e}.projectile-hud-view{border-right:1px solid #29483524;align-self:stretch;align-items:center;padding-right:.48rem;display:flex;position:relative}.projectile-hud-view__quick{align-items:center;gap:.22rem;display:flex}.projectile-hud-view__quick>button{color:#355442;cursor:pointer;background:#fff;border:1px solid #cbd5ce;border-radius:.58rem;place-content:center;gap:.05rem;width:2.9rem;height:2.45rem;padding:.18rem .22rem;display:grid}.projectile-hud-view__quick>button>span{font:800 .88rem/1 var(--font-display)}.projectile-hud-view__quick>button>small{text-overflow:ellipsis;white-space:nowrap;font-size:.39rem;font-weight:820;line-height:1;overflow:hidden}.projectile-hud-view__quick>button:hover,.projectile-hud-view__quick>button.is-active{color:#fff;background:#202522;border-color:#111512}.projectile-hud-view__quick>button:disabled{opacity:.4;cursor:not-allowed}.projectile-hud-view__more[aria-expanded=true]{color:#fff;background:#202522;border-color:#111512}.projectile-hud-view__popover{z-index:120;color:#26382e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafbf6fa;border:1px solid #193a2747;border-radius:.85rem;width:min(21rem,100vw - 1.6rem);padding:.72rem;position:absolute;top:calc(100% + .65rem);left:0;box-shadow:0 20px 48px #07261542}.projectile-hud-view__popover>header{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.projectile-hud-view__popover>header>div{gap:.08rem;display:grid}.projectile-hud-view__popover>header span{color:#2d7a4e;letter-spacing:.08em;text-transform:uppercase;font-size:.43rem;font-weight:850}.projectile-hud-view__popover>header strong{font:700 1rem/1.1 var(--font-display)}.projectile-hud-view__popover>header>button{color:#496052;cursor:pointer;background:#fff;border:1px solid #cbd5ce;border-radius:50%;width:1.75rem;height:1.75rem;padding:0;font-size:.9rem}.projectile-hud-view__popover .projectile-view-options-panel{margin-top:.65rem}.projectile-hud-dimensions{align-items:flex-end;gap:.3rem;padding:0 .35rem;display:flex}.projectile-hud-dimensions>span{color:#28623f;padding-bottom:.48rem;font-weight:900}.projectile-hud-dimensions label{color:#506259;text-align:center;gap:.14rem;font-size:.46rem;font-weight:800;display:grid}.projectile-hud-dimensions label>div{background:#fff;border:1px solid #cbd4cd;border-radius:.55rem;grid-template-columns:1.55rem 2.4rem 1.55rem;height:2rem;display:grid;overflow:hidden}.projectile-hud-dimensions button,.projectile-hud-dimensions input{color:#20382b;text-align:center;background:0 0;border:0;min-width:0;font-size:.68rem;font-weight:850}.projectile-hud-dimensions button{cursor:pointer}.projectile-hud-dimensions button:hover{background:#e5f0e8}.projectile-hud-dimensions input{appearance:textfield;border-left:1px solid #d8ded9;border-right:1px solid #d8ded9}.projectile-hud-dimensions input::-webkit-inner-spin-button{appearance:none;margin:0}.projectile-hud-dimensions input::-webkit-outer-spin-button{appearance:none;margin:0}.projectile-hud-transport{align-items:center;gap:.3rem;display:flex}.projectile-hud-transport>button{color:#165b37;cursor:pointer;background:#fff;border:1px solid #174c30;border-radius:50%;place-items:center;width:2.55rem;height:2.55rem;padding:0;display:grid;box-shadow:0 3px 9px #0e3e241a}.projectile-hud-transport>button:hover,.projectile-hud-transport>button.is-primary{color:#fff;background:#202522;border-color:#111512}.projectile-hud-transport>button:disabled{opacity:.42;cursor:not-allowed}.projectile-hud-speed{background:#fff;border:1px solid #d2d9d3;border-radius:.58rem;align-content:center;gap:.04rem;height:2.45rem;padding:.2rem .42rem;display:grid}.projectile-hud-speed span{color:#738078;font-size:.42rem;font-weight:800}.projectile-hud-speed select{color:#21412f;cursor:pointer;background:0 0;border:0;padding:0;font:850 .58rem/1 ui-monospace,SFMono-Regular,Menlo,monospace}.projectile-hud-readout{color:#65736b;grid-template-columns:auto 1fr;align-items:center;gap:.06rem .35rem;min-width:7.5rem;padding:0 .45rem;font-size:.47rem;display:grid}.projectile-hud-readout i{background:#9aa49e;border-radius:50%;grid-row:1/3;width:.5rem;height:.5rem}.projectile-hud-readout i.is-running{background:#20a860;box-shadow:0 0 0 4px #20a86024}.projectile-hud-readout strong{color:#183b28;font-family:var(--font-mono)}.projectile-fixed-back{z-index:80;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:pointer;background:#0c3922d6;border:1px solid #ffffff61;border-radius:.75rem;align-items:center;gap:.45rem;padding:.62rem .78rem;font-size:.58rem;font-weight:800;display:flex;position:fixed;bottom:.9rem;left:.8rem;box-shadow:0 12px 28px #08231633}.projectile-fixed-back:hover{background:#082d1af5}.projectile-floating-panel{z-index:45;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafbf6f0;border:1px solid #193a2757;border-radius:1rem;flex-direction:column;transition:transform .22s,box-shadow .22s;display:flex;position:fixed;overflow:visible;box-shadow:0 20px 55px #0726153b}.projectile-floating-panel:hover,.projectile-floating-panel:focus-within,.projectile-floating-panel[data-pinned=true]{z-index:65;transform:translate(0);box-shadow:0 24px 64px #0726154d}.projectile-floating-panel__edge-tab{z-index:2;color:#174c30;letter-spacing:.025em;cursor:pointer;opacity:1;visibility:visible;background:#f8faf4f5;border:1px solid #193a276b;font-size:.56rem;font-weight:850;transition:opacity .12s,visibility linear;position:absolute;box-shadow:0 10px 22px #0726152e}.projectile-floating-panel:hover>.projectile-floating-panel__edge-tab,.projectile-floating-panel[data-pinned=true]>.projectile-floating-panel__edge-tab,.projectile-floating-panel:focus-within>.projectile-floating-panel__edge-tab:not(:focus-visible){opacity:0;visibility:hidden;transition:opacity .12s,visibility 0s linear .22s}.projectile-floating-panel__header{border-bottom:1px solid #2a433324;justify-content:space-between;align-items:center;gap:.7rem;min-height:3.3rem;padding:.65rem .72rem;display:flex}.projectile-floating-panel__header>div{gap:.08rem;min-width:0;display:grid}.projectile-floating-panel__header>div span{color:#6f7d74;letter-spacing:.075em;text-transform:uppercase;font-size:.43rem;font-weight:800}.projectile-floating-panel__header>div strong{color:#173424;font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;overflow:hidden}.projectile-floating-panel__pin{color:#526259;cursor:pointer;background:#fff;border:1px solid #d0d8d1;border-radius:999px;align-items:center;gap:.28rem;padding:.35rem .45rem;font-size:.48rem;font-weight:800;display:inline-flex}.projectile-floating-panel__pin[aria-pressed=true]{color:#fff;background:#176f43;border-color:#176f43}.projectile-floating-panel__body{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow:auto}.projectile-floating-panel--settings{width:min(23rem,100vw - 4rem);min-height:18rem;top:5rem;bottom:15.5rem;right:.75rem}.projectile-floating-panel--settings[data-pinned=false]:not(:hover):not(:focus-within){transform:translate(calc(100% + .85rem))}.projectile-floating-panel--settings .projectile-floating-panel__edge-tab,.projectile-floating-panel--special .projectile-floating-panel__edge-tab,.projectile-floating-panel--bricks .projectile-floating-panel__edge-tab{writing-mode:vertical-rl;border-right:0;border-radius:.72rem 0 0 .72rem;width:2.75rem;min-height:5.5rem;top:1rem;left:-2.7rem;transform:rotate(180deg)}.projectile-floating-panel--special{width:min(19rem,100vw - 4rem);max-height:calc(100dvh - 8.5rem);bottom:7.75rem;right:.75rem}.projectile-floating-panel--special[data-pinned=false]:not(:hover):not(:focus-within){transform:translate(calc(100% + .85rem))}.projectile-floating-panel--special .projectile-floating-panel__edge-tab{top:auto;bottom:7rem}.projectile-floating-panel--bricks{background:#e5f0e4f7;width:min(96rem,100vw - 12.5rem);max-height:7.75rem;bottom:.75rem;right:.75rem}.projectile-floating-panel--bricks[data-pinned=false]:not(:hover):not(:focus-within){transform:translate(calc(100% + .85rem))}.projectile-floating-panel--bricks .projectile-floating-panel__edge-tab{top:auto;bottom:1rem}.projectile-floating-panel--bricks .projectile-floating-panel__header{min-height:2.7rem;padding:.42rem .72rem}.projectile-floating-panel--bricks .projectile-floating-panel__header>div span{display:none}.projectile-floating-panel--bricks .projectile-floating-panel__header>div strong{font-family:inherit;font-size:.88rem}.projectile-floating-panel__intro{color:#65756b;background:#ecf4edb8;border-bottom:1px solid #e0e4de;gap:.12rem;padding:.72rem .82rem;display:grid}.projectile-floating-panel__intro span{color:#187247;letter-spacing:.07em;text-transform:uppercase;font-size:.45rem;font-weight:850}.projectile-floating-panel__intro strong{color:#183b28;font-size:.72rem}.projectile-floating-panel__intro small{font:700 .46rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.projectile-floating-panel--settings .projectile-inspector-tabs{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f9f4f7;grid-template-columns:repeat(4,minmax(0,1fr));position:sticky;top:0}.projectile-floating-panel--settings .galton-inspector-panel{padding:.82rem}.projectile-floating-panel--settings .projectile-charts{grid-template-columns:1fr;padding:0 .82rem .82rem}.projectile-floating-utilities{border-top:1px solid #dde1db;grid-template-columns:1fr 1fr;gap:.4rem;margin:.2rem .82rem .82rem;padding-top:.7rem;display:grid}.projectile-floating-utilities button{color:#27523a;cursor:pointer;background:#fff;border:1px solid #ccd5ce;border-radius:.55rem;min-height:2.2rem;font-size:.5rem;font-weight:800}.projectile-floating-panel--special .projectile-floating-panel__body{padding:.7rem}.projectile-floating-panel--special .projectile-object-tools{margin-top:0}.projectile-floating-panel--special .projectile-car-button-note{margin-bottom:0}.projectile-floating-panel--bricks .projectile-floating-panel__body{padding:.45rem .7rem .65rem;overflow:visible}.projectile-floating-brick-list{white-space:nowrap;justify-content:space-between;align-items:center;gap:clamp(.18rem,.42vw,.5rem);width:100%;padding:0;display:flex;overflow:visible}.projectile-floating-brick-list .part-button{cursor:grab;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-items:center;width:max-content;min-width:0;min-height:3.2rem;padding:.28rem 0;transition:opacity .15s,transform .15s;display:flex}.projectile-floating-brick-list .part-button:hover,.projectile-floating-brick-list .part-button.is-active{background:0 0;transform:translateY(-.12rem)}.projectile-floating-brick-list .part-button:hover .part-swatch,.projectile-floating-brick-list .part-button.is-active .part-swatch{box-shadow:0 0 0 2px #146f4261,0 4px 8px #222a262e}.projectile-floating-brick-list .part-swatch{--dock-stud-pitch:clamp(.56rem, .8vw, .82rem);width:calc(var(--part-columns) * var(--dock-stud-pitch) + .42rem);max-width:none;height:calc(var(--part-rows) * var(--dock-stud-pitch) + .42rem);grid-template-columns:repeat(var(--part-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--part-rows), minmax(0, 1fr));place-items:center;gap:.06rem;max-height:none;padding:.24rem;display:grid}.projectile-floating-brick-list .part-swatch i{width:min(clamp(.4rem,.56vw,.58rem),76%);height:min(clamp(.4rem,.56vw,.58rem),76%)}.projectile-floating-brick-list .part-swatch--round{width:calc(var(--part-columns) * var(--dock-stud-pitch) + .62rem);height:calc(var(--part-rows) * var(--dock-stud-pitch) + .62rem);grid-template-columns:repeat(var(--part-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--part-rows), minmax(0, 1fr));display:grid}.projectile-floating-panel--bricks .projectile-brick-dock-footer{display:none}.projectile-brick-dock-footer{justify-content:space-between;align-items:stretch;gap:.45rem;display:flex}.projectile-brick-dock-footer .rotation-control,.projectile-brick-dock-footer .lego-contract{margin:0}.projectile-brick-dock-footer .rotation-control{min-width:12rem;padding:.42rem .55rem}.projectile-brick-dock-footer .lego-contract{width:min(18rem,45%);padding:.48rem .58rem}.projectile-view-options-panel{grid-template-columns:1fr 1fr;gap:.45rem;margin-top:.72rem;display:grid}.projectile-view-options-panel label{background:#fff;border:1px solid #d7ddd8;border-radius:.55rem;align-items:center;gap:.45rem;min-height:2.35rem;padding:.45rem .55rem;font-size:.53rem;font-weight:760;display:flex}.projectile-view-trail-controls{background:#f7f9f5;border:1px solid #d7ddd8;border-radius:.58rem;gap:.65rem;margin-top:.65rem;padding:.65rem;display:grid}.projectile-view-trail-controls .projectile-trail-width-control{grid-template-columns:auto 1fr auto;display:grid}.projectile-view-trail-controls .projectile-trail-width-control input{width:100%}.projectile-view-trail-controls>small{color:#738078;font-size:.46rem;line-height:1.45}.projectile-view-clear{width:100%;margin-top:.65rem}.projectile-floating-status{z-index:100;position:fixed;bottom:1rem;left:50%;right:auto;transform:translate(-50%)}@media (max-width:1180px){.projectile-hud-readout{display:none}.projectile-hud-view__quick>button{width:2.25rem}.projectile-hud-view__quick>button>small{display:none}.projectile-floating-panel--settings{width:min(21rem,100vw - 4rem);bottom:14rem}.projectile-floating-panel--special{width:min(17rem,100vw - 4rem)}.projectile-floating-panel--bricks{width:calc(100vw - 12.5rem)}}@media (max-width:820px){.projectile-fixed-hud{flex-wrap:wrap;max-width:calc(100vw - 9.75rem)}.projectile-hud-speed,.projectile-hud-view__quick>button:not(.projectile-hud-view__more){display:none}.projectile-hud-view{padding-right:.3rem}.projectile-hud-view__quick>button.projectile-hud-view__more{width:2.35rem}.projectile-floating-panel--settings{top:6.5rem;bottom:5rem}.projectile-floating-panel--special{max-height:calc(100dvh - 8.5rem);bottom:7.75rem}.projectile-floating-panel--bricks{max-height:7.75rem;right:.75rem}.projectile-brick-dock-footer .lego-contract{display:none}}@media (max-width:620px){.projectile-fixed-gravity{min-width:7.4rem;padding:0;top:.45rem;left:.45rem}.projectile-fixed-gravity__arrow{width:2rem;height:3rem;margin-top:.35rem}.projectile-fixed-hud{gap:.25rem;max-width:calc(100vw - 8rem);top:.45rem;right:.45rem}.projectile-hud-dimensions label>span,.projectile-hud-dimensions>span{display:none}.projectile-hud-dimensions label>div{grid-template-columns:1.25rem 2rem 1.25rem}.projectile-hud-transport>button{width:2.15rem;height:2.15rem}.projectile-fixed-back span{display:none}.projectile-fixed-back{place-content:center;width:2.8rem;height:2.8rem;padding:0}.projectile-floating-panel--settings,.projectile-floating-panel--special,.projectile-floating-panel--bricks{right:0}.projectile-floating-panel--settings,.projectile-floating-panel--special{width:calc(100vw - 3.2rem)}.projectile-floating-panel--bricks{width:calc(100vw - 6.5rem)}.projectile-view-options-panel{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.projectile-floating-panel{transition:none}}.rotating-bar-page{--rotating-bar-azure:#39a9cf;--rotating-bar-chassis:#f6f7f3}.rotating-bar-2d{-webkit-user-select:none;user-select:none;touch-action:none;position:absolute;inset:0;overflow:hidden}.rotating-bar-2d canvas{cursor:crosshair;width:100%;height:100%;display:block}.rotating-bar-car-control{z-index:8}.rotating-bar-coordinate-readout{bottom:.75rem;right:.75rem}.rotating-bar-toast{bottom:1rem;left:50%;right:auto;transform:translate(-50%)}.rotating-bar-hud-views{border-right:1px solid #29483524;padding-right:.45rem}.rotating-bar-settings-section{padding:.82rem}.rotating-bar-settings-section>h2,.rotating-bar-measurement>h2,.rotating-bar-twin-panel>h2{color:#193c29;margin:.15rem 0 .35rem;font:650 1.05rem/1.15 Georgia,serif}.rotating-bar-settings-section>p,.rotating-bar-twin-panel>p{color:#6f7b74;margin:0 0 .6rem;font-size:.55rem;line-height:1.45}.rotating-bar-active-part-note{color:#5d6b62;background:#fff;border:1px solid #dce1dc;border-radius:.65rem;gap:.16rem;margin:.65rem 0;padding:.65rem;font-size:.5rem;display:grid}.rotating-bar-active-part-note strong{color:#213c2d;font-size:.68rem}.rotating-bar-color-control{border-top:1px solid #e2e5df;margin-top:.55rem;padding-top:.55rem}.rotating-bar-car-preview{background:#fff;border:1px solid #d9ded8;border-radius:.75rem;align-items:center;gap:.8rem;margin:.65rem 0;padding:.65rem .7rem;display:flex}.rotating-bar-car-preview>div:last-child{gap:.12rem;min-width:0;display:grid}.rotating-bar-car-preview strong{color:#234331;font-size:.62rem}.rotating-bar-car-preview small{color:#7c8780;font-size:.48rem}.rotating-bar-car-swatch{filter:drop-shadow(0 4px 4px #1c28222e);flex:0 0 4.7rem;width:4.7rem;height:2.45rem;position:relative}.rotating-bar-car-swatch i{display:block;position:absolute}.rotating-bar-car-swatch__top,.rotating-bar-car-swatch__body{border:1px solid var(--car-body-edge);background-color:var(--car-body);background-image:radial-gradient(circle, color-mix(in srgb, var(--car-body), #000 10%) 0 2px, transparent 2.2px);background-size:.72rem .72rem;left:50%;transform:translate(-50%)}.rotating-bar-car-swatch__top{border-radius:.15rem .15rem 0 0;width:2.5rem;height:.7rem;top:.08rem}.rotating-bar-car-swatch__body{border-radius:.16rem .16rem 0 0;width:3.75rem;height:.85rem;top:.68rem}.rotating-bar-car-swatch__chassis{border:1px solid var(--car-chassis-edge);background:var(--car-chassis);width:4.45rem;height:.32rem;box-shadow:inset 0 -.08rem 0 color-mix(in srgb, var(--car-chassis), #000 10%);border-radius:.06rem;top:1.46rem;left:.12rem}.rotating-bar-car-swatch__wheel{background:#202421;border:.16rem solid #474c49;border-radius:50%;width:.92rem;height:.92rem;top:1.6rem;box-shadow:inset 0 0 0 .16rem #707672}.rotating-bar-car-swatch__wheel:before,.rotating-bar-car-swatch__wheel:after{content:"";transform-origin:bottom;background:#6b716d;border-radius:999px;width:.12rem;height:.34rem;position:absolute;top:-.32rem}.rotating-bar-car-swatch__wheel:before{left:.2rem;transform:rotate(28deg)}.rotating-bar-car-swatch__wheel:after{right:.2rem;transform:rotate(-28deg)}.rotating-bar-car-swatch__wheel--left{left:.65rem}.rotating-bar-car-swatch__wheel--right{right:.65rem}.rotating-bar-pivot-swatch{background:#e7ece8;border:.22rem solid #343b37;border-radius:50%;flex:0 0 1.55rem;width:1.55rem;height:1.55rem;position:relative;box-shadow:inset 0 0 0 .18rem #aeb8b1}.rotating-bar-pivot-swatch:before,.rotating-bar-pivot-swatch:after{content:"";background:#343b37;border-radius:999px;width:.82rem;height:.14rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.rotating-bar-pivot-swatch:after{transform:translate(-50%,-50%)rotate(90deg)}.rotating-bar-car-actions{grid-template-columns:1fr 1fr;gap:.4rem;margin-top:.75rem;display:grid}.rotating-bar-car-actions .button{min-height:2.35rem;font-size:.55rem}.rotating-bar-measurement,.rotating-bar-twin-panel{padding:.82rem}.rotating-bar-metric-grid{grid-template-columns:1fr 1fr;gap:.42rem;margin-top:.65rem;display:grid}.rotating-bar-metric-grid>div{background:#fff;border:1px solid #dce1dc;border-radius:.65rem;gap:.18rem;min-width:0;padding:.6rem;display:grid}.rotating-bar-metric-grid span{color:#768179;font-size:.43rem}.rotating-bar-metric-grid strong{color:#213c2d;text-overflow:ellipsis;white-space:nowrap;font:750 .58rem/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.rotating-bar-floating-bar{width:min(96rem,100vw - 12.5rem);max-height:7.75rem}.rotating-bar-floating-bar .projectile-floating-panel__body{padding:.48rem .7rem .7rem;overflow:visible}.rotating-bar-dock{grid-template-columns:minmax(14rem,1fr) auto auto;align-items:center;gap:.75rem;min-height:3.1rem;display:grid}.rotating-bar-dock__beam{--bar-color:#f6c900;--bar-edge:#b68c00;border:1px solid var(--bar-edge);background-color:var(--bar-color);background-image:radial-gradient(circle, color-mix(in srgb, var(--bar-color), #000 9%) 0 .22rem, transparent .235rem);background-size:1.1rem 1.1rem;border-radius:.14rem;min-width:13rem;height:2.2rem;position:relative;box-shadow:0 4px 8px #232c272e}.rotating-bar-dock__beam:before{content:none}.rotating-bar-dock__beam:after{content:"";top:50%;left:var(--pivot-percent);background:#edf1ed;border:.16rem solid #313835;border-radius:50%;width:.72rem;height:.72rem;position:absolute;transform:translate(-50%,-50%)}.rotating-bar-dock>div:not(.rotating-bar-dock__beam){gap:.1rem;display:grid}.rotating-bar-dock>div span{color:#748079;font-size:.43rem}.rotating-bar-dock>div strong{color:#244131;font-size:.6rem}.rotating-bar-dock>button{color:#24543a;cursor:pointer;background:#fff;border:1px solid #cbd5cd;border-radius:.55rem;min-height:2.2rem;padding:0 .8rem;font-size:.52rem;font-weight:800}.card-art--rotating-bar{background:#e8e6df}.card-art--rotating-bar:before{background-image:radial-gradient(circle,#d2d2cb 0 4px,#0000 4.5px)}.rotating-bar-art__beam{z-index:2;background-color:#f6c900;background-image:radial-gradient(circle,#ddb300 0 3px,#0000 3.2px);background-size:15px 15px;border:2px solid #b68c00;border-radius:2px;width:calc(100% - 48px);height:22px;position:absolute;top:102px;left:24px;transform:rotate(4deg);box-shadow:0 5px 7px #22272538}.rotating-bar-art__beam:after{content:none}.rotating-bar-brick-library{min-height:3.05rem}.rotating-bar-brick-library .part-swatch{--dock-stud-pitch:clamp(.4rem, .58vw, .66rem);gap:.035rem;padding:.16rem}.rotating-bar-brick-library .part-swatch i{width:min(clamp(.3rem,.42vw,.47rem),76%);height:min(clamp(.3rem,.42vw,.47rem),76%)}.rotating-bar-brick-library .part-button{min-height:2.7rem}.rotating-bar-technic-part{place-items:center;display:inline-grid;position:relative}.rotating-bar-technic-part .rotating-bar-pivot-swatch{border-width:.12rem;width:.82rem;height:.82rem;position:absolute;box-shadow:inset 0 0 0 .08rem #aeb8b1}.rotating-bar-technic-part .rotating-bar-pivot-swatch:before,.rotating-bar-technic-part .rotating-bar-pivot-swatch:after{width:.4rem;height:.07rem}.rotating-bar-brick-library .rotating-bar-pivot-swatch{flex-basis:1.45rem;width:1.45rem;height:1.45rem}.rotating-bar-brick-dock-footer{border-top:1px solid #2a43331f;justify-content:flex-end;align-items:center;gap:.5rem;min-height:2.25rem;margin-top:.2rem;padding-top:.28rem;display:flex}.rotating-bar-brick-dock-footer .rotation-control,.rotating-bar-brick-dock-footer .lego-contract{min-height:2rem;margin:0;padding:.25rem .4rem}.rotating-bar-brick-dock-footer .rotation-control{min-width:8.7rem}.rotating-bar-brick-dock-footer .rotation-control button{padding:.3rem .42rem}.rotating-bar-brick-dock-footer .lego-contract{min-width:8rem}.rotating-bar-brick-dock-footer>p{color:#526259;margin:0 auto 0 0;font-size:.46rem;line-height:1.35}.rotating-bar-page .projectile-floating-panel--special{bottom:7.75rem}.rotating-bar-art__pivot{z-index:5;background:#e9ece9;border:4px solid #2f3532;border-radius:50%;width:15px;height:15px;position:absolute;top:107px;left:50%;transform:translate(-50%,-50%)}.rotating-bar-art__car{z-index:4;width:78px;height:58px;position:absolute;top:51px;right:17%;transform:rotate(4deg)}.rotating-bar-art__car i{display:block;position:absolute}.rotating-bar-art__car-top,.rotating-bar-art__car-body{background:#39a9cf;border:1px solid #197d9f;left:50%;transform:translate(-50%)}.rotating-bar-art__car-top{width:42px;height:13px;top:0}.rotating-bar-art__car-body{width:64px;height:16px;top:12px}.rotating-bar-art__car-chassis{background:#fff;border:1px solid #bcc4bf;width:74px;height:8px;top:27px;left:2px}.rotating-bar-art__wheel{background:#202321;border:5px solid #555b57;border-radius:50%;width:21px;height:21px;top:32px;box-shadow:inset 0 0 0 3px #858c87}.rotating-bar-art__wheel--left{left:9px}.rotating-bar-art__wheel--right{right:9px}@media (max-width:960px){.rotating-bar-hud-views>button:nth-child(n+3){display:none}.rotating-bar-floating-bar{width:calc(100vw - 8.5rem)}.rotating-bar-dock{grid-template-columns:minmax(9rem,1fr) auto}.rotating-bar-dock>div:nth-child(2){display:none}}@media (max-width:620px){.rotating-bar-hud-views{display:none}.rotating-bar-floating-bar{width:calc(100vw - 6.5rem)}.rotating-bar-dock{grid-template-columns:1fr}.rotating-bar-dock>button{display:none}}
