.landing main{overflow-x:hidden;overflow-x:clip}.js [data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out) var(--reveal-delay, 0s),transform .9s var(--ease-out) var(--reveal-delay, 0s)}.js [data-reveal].is-visible{opacity:1;transform:none}.hero{position:relative;padding-block:clamp(2rem,5vw,4.5rem) clamp(2.5rem,5vw,4rem);isolation:isolate}.hero-backdrop{--stage-x: 71%;--stage-y: 54%;--stage-w: 40%;--stage-h: 67%;position:absolute;inset:calc(-1 * var(--header-height)) 0 0;z-index:-1;overflow:hidden;background:radial-gradient(60rem 34rem at 78% 72%,rgb(255 132 40 / .16),transparent 62%),radial-gradient(44rem 30rem at 8% 0%,rgb(110 140 255 / .1),transparent 65%)}.hero-backdrop:before{--hole: radial-gradient( calc(var(--stage-w) * 1.15) calc(var(--stage-h) * .62) at var(--stage-x) calc(var(--stage-y) + var(--stage-h) * .18), transparent 60%, #000 );content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgb(255 255 255 / .045) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .045) 1px,transparent 1px);background-size:42px 42px;background-position:center top;-webkit-mask-image:radial-gradient(ellipse 70% 65% at 70% 55%,#000 15%,transparent 72%),var(--hole);-webkit-mask-composite:source-in;mask-image:radial-gradient(ellipse 70% 65% at 70% 55%,#000 15%,transparent 72%),var(--hole);mask-composite:intersect}.hero-backdrop:after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(transparent,var(--bg))}.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem)}.hero-copy{container-type:inline-size}.hero-copy>*{animation:rise .9s var(--ease-out) both}.hero-copy>:nth-child(2){animation-delay:.06s}.hero-copy>:nth-child(3){animation-delay:.14s}.hero-copy>:nth-child(4){animation-delay:.22s}.hero-copy>:nth-child(5){animation-delay:.3s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.hero-release{display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.6rem;padding:.3rem .85rem .3rem .35rem;border:1px solid var(--border-strong);border-radius:999px;background:#ffffff08;color:var(--text-2);font-size:.86rem;font-weight:550;text-decoration:none;transition:border-color .2s,color .2s}@media (pointer: coarse){.hero-release{min-height:44px;padding-inline:1rem .85rem}}.hero-release:after{content:"→";transition:transform .2s var(--ease-out)}.hero-release:hover{border-color:#4a5464;color:var(--text)}.hero-release:hover:after{transform:translate(3px)}.hero-release-version{padding:.12rem .55rem;border-radius:999px;background:#ff983c29;color:var(--orange-hi);font-family:var(--mono);font-size:.78rem;font-weight:650}.hero-title{font-size:clamp(2.2rem,5.4vw,4.6rem);font-weight:820;line-height:.98;letter-spacing:-.045em;text-wrap:initial}.hero-title-line{display:block;white-space:nowrap}.reel{display:inline-grid;vertical-align:baseline}.reel-word{grid-area:1 / 1;padding-bottom:.08em;opacity:0;transform:translateY(.45em);filter:blur(8px);transition:opacity .45s var(--ease-out),transform .7s var(--ease-out),filter .55s var(--ease-out);-webkit-background-clip:text;background-clip:text;color:transparent}.reel-word.is-current{opacity:1;transform:none;filter:none}.reel-word.is-leaving{opacity:0;transform:translateY(-.4em);filter:blur(8px)}.reel-base .reel-word{background-image:linear-gradient(180deg,#ffffff 20%,var(--metal-lo))}.reel-attached .reel-word{background-image:linear-gradient(170deg,var(--orange-hi) 10%,var(--orange) 55%,var(--orange-lo))}.hero-lede{max-width:35em;margin-top:1.6rem;color:var(--text-2);font-size:clamp(1.04rem,1.3vw,1.18rem);line-height:1.65}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2.1rem}.hero-facts{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin:1.6rem 0 0;padding:0;color:var(--text-3);font-size:.88rem;list-style:none}.hero-facts li{display:inline-flex;align-items:center;gap:.5rem}.hero-facts li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px #2ecc71b3}.hero-stage{position:relative;aspect-ratio:1 / .94;min-height:340px;animation:rise 1.1s var(--ease-out) .15s both}.hero-plate{position:absolute;left:50%;bottom:21%;width:78%;aspect-ratio:3.4 / 1;border-radius:50%;background:radial-gradient(closest-side,rgb(255 152 60 / .42),rgb(238 107 39 / .14) 55%,transparent);filter:blur(14px);transform:translate(-50%);animation:plate-breathe 6s ease-in-out infinite}@keyframes plate-breathe{50%{opacity:.7;transform:translate(-50%) scale(.94)}}.hero-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:grab;touch-action:pan-y;transition:opacity 1s var(--ease-out)}.hero-canvas.is-dragging{cursor:grabbing}.hero-stage.is-3d .hero-canvas{opacity:1}.hero-fallback{position:absolute;top:18%;right:6%;bottom:26%;left:6%;display:flex;align-items:center;justify-content:center;gap:1rem;transition:opacity .6s,visibility .6s}.hero-fallback img{width:42%;height:auto;filter:drop-shadow(0 18px 22px rgb(0 0 0 / .6))}.hero-fallback span{color:var(--orange);font-size:2rem;font-weight:300}.hero-stage.is-3d .hero-fallback,.hero-stage.is-loading .hero-fallback{visibility:hidden;opacity:0}.hero-chips{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hero-chip{position:absolute;top:0;left:0;display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .7rem .3rem .55rem;border:1px solid var(--border-strong);border-radius:999px;background:#0d0f12b8;color:var(--text-2);font-family:var(--mono);font-size:.74rem;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .45s var(--ease-out);will-change:transform}.hero-chip:before{content:"";width:8px;height:8px;border-radius:50%}.hero-chip-base:before{background:var(--metal)}.hero-chip-attached:before{background:var(--orange)}.hero-chip.is-shown{opacity:1}.hero-controls{position:absolute;inset:auto 0 0;display:flex;flex-direction:column;align-items:center;gap:.6rem}.hero-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem}.hero-pager button{position:relative;overflow:hidden;padding:.38rem .8rem;border:1px solid var(--border-strong);border-radius:999px;background:#0d0f1299;color:var(--text-3);font-size:.78rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}.hero-pager button:hover{color:var(--text);border-color:#4a5464}.hero-pager button[aria-pressed=true]{border-color:#ff983c8c;background:#ff983c1a;color:var(--orange-hi)}.hero-pager button[aria-pressed=true]:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--orange);transform-origin:left;transform:scaleX(var(--pair-progress, 0))}.hero-hint{color:var(--text-3);font-size:.74rem;letter-spacing:.04em;opacity:0;transition:opacity .6s}.hero-stage.is-3d .hero-hint{opacity:.8}@media (hover: none){.hero-hint{display:none}}@media (max-width: 480px){.hero-stage{margin-bottom:2.25rem}.hero-controls{bottom:-2.25rem}.hero-pager{max-width:18rem;gap:.3rem}.hero-pager button{padding:.32rem .6rem;font-size:.72rem}}@media (pointer: coarse){.hero-pager button{min-height:44px}}@media (pointer: coarse) and (max-width: 480px){.hero-stage{margin-bottom:calc(44px + .65rem)}.hero-controls{bottom:calc(-44px - .65rem)}}@supports (font-size: 1cqi){.hero-title{font-size:clamp(2rem,12.6cqi,5.2rem)}}@media (max-width: 980px){.hero-inner{grid-template-columns:minmax(0,1fr)}.hero-stage{width:100%;max-width:620px;margin-inline:auto}}.systems{padding-block:2.2rem 2.4rem;border-block:1px solid var(--border);background:var(--bg-raised)}.systems-title{color:var(--text-3);font-size:.8rem;font-weight:650;letter-spacing:.14em;text-align:center;text-transform:uppercase}.marquee{display:flex;margin-top:1.3rem;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee-row{display:flex;flex-shrink:0;gap:.7rem;margin:0;padding:0 .7rem 0 0;list-style:none;animation:marquee 55s linear infinite}.marquee:hover .marquee-row{animation-play-state:paused}.marquee-row li{display:inline-flex;align-items:baseline;gap:.55rem;padding:.55rem 1.05rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-weight:650;white-space:nowrap}.marquee-count{color:var(--text-3);font-size:.8rem;font-weight:500}@keyframes marquee{to{transform:translate(-100%)}}@media (prefers-reduced-motion: reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee-row{flex-wrap:wrap;flex-shrink:1;justify-content:center;padding:0 var(--gutter);animation:none}.marquee-row[aria-hidden=true]{display:none}}.section{padding-block:clamp(4.5rem,9vw,8rem)}.section-header{max-width:47rem;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.section-header-center{margin-inline:auto;text-align:center}.section-header h2,.feature-copy h2{font-size:clamp(2rem,4.2vw,3.1rem);font-weight:790;letter-spacing:-.035em}.section-lede{margin-top:1.1rem;color:var(--text-2);font-size:clamp(1.02rem,1.25vw,1.12rem)}.section-lede .badge{vertical-align:.1em}.convention{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;margin:0;padding:0;list-style:none}.convention-step{position:relative;padding:1.6rem 1.6rem 1.8rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--surface),var(--bg-raised))}.convention-step:nth-child(2){--reveal-delay: .1s}.convention-step:nth-child(3){--reveal-delay: .2s}.convention-art{width:100%;max-width:230px;height:auto;margin:0 auto 1.3rem;overflow:visible}.convention-number{position:absolute;top:1.1rem;left:1.2rem;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-strong);border-radius:50%;color:var(--text-3);font-family:var(--mono);font-size:.8rem;font-weight:650}.convention-step h3{font-size:1.2rem;font-weight:720}.convention-step p{margin-top:.55rem;color:var(--text-2);font-size:.97rem}.iso-top{fill:#cdd8de}.iso-left{fill:#8fa3ae}.iso-right{fill:#6a7f8a}.iso-top.iso-orange{fill:var(--orange-hi)}.iso-left.iso-orange{fill:var(--orange)}.iso-right.iso-orange{fill:var(--orange-lo)}.convention-face{fill:none;stroke:var(--orange);stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}.convention-arrow{fill:none;stroke:var(--orange);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;animation:bob 2.2s ease-in-out infinite}@keyframes bob{50%{transform:translateY(3px)}}.convention-slot{fill:var(--green)}.convention-slot-pulse{fill:none;stroke:var(--green);stroke-width:1.5;transform-box:fill-box;transform-origin:center;animation:slot-pulse 2.4s ease-out infinite}@keyframes slot-pulse{0%{opacity:.9;transform:scale(.35)}to{opacity:0;transform:scale(1.15)}}.convention-tag{stroke:var(--green);stroke-width:1.2;stroke-dasharray:2 3}.convention-label{fill:var(--green);font-family:var(--mono);font-size:11px;font-weight:600}.convention-drop{animation:drop 3.4s var(--ease-in-out) infinite}@keyframes drop{0%,12%{transform:translateY(-24px)}42%,86%{transform:none}to{transform:translateY(-24px)}}@media (max-width: 860px){.convention{grid-template-columns:minmax(0,1fr)}.convention-step{--reveal-delay: 0s !important}}.feature{padding-block:clamp(3rem,6.5vw,5.5rem)}.feature-inner{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);align-items:center;gap:clamp(2rem,5.5vw,5rem)}.feature-flip .feature-copy{order:2}.feature-demo{--reveal-delay: .12s}.feature-tab{display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem}.tab-pill{padding:.32rem .85rem;border-radius:6px;background:#24304a;color:#cdd7f5;font-size:.85rem;font-weight:650}.feature-copy>p:not(.feature-tab){margin-top:1.1rem;color:var(--text-2);font-size:1.06rem}.feature-points{display:grid;gap:.6rem;margin:1.5rem 0 1.8rem;padding:0;list-style:none}.feature-points li{position:relative;padding-left:1.75rem;color:var(--text);font-size:.98rem}.feature-points li:before{content:"";position:absolute;top:.32em;left:0;width:1.05em;height:1.05em;border-radius:50%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='m4.5 8.3 2.3 2.2 4.7-5' fill='none' stroke='%23ffbc66' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% no-repeat,#ff983c24}@media (max-width: 980px){.feature-inner{grid-template-columns:minmax(0,1fr)}.feature-flip .feature-copy{order:0}.feature-demo{--reveal-delay: 0s}}.demo{position:relative;margin:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,#171b22,#111419);box-shadow:0 40px 90px -45px #000000e6,inset 0 1px #ffffff0a}.demo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(420px circle at var(--mx, 50%) var(--my, -20%),rgb(255 152 60 / .07),transparent 45%);opacity:0;pointer-events:none;transition:opacity .35s}.demo:hover:after{opacity:1}.demo-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--border)}.demo-title{font-weight:700}.demo-dimensions{color:var(--text-3);font-family:var(--mono);font-size:.76rem;text-align:right}.demo-caption{padding:.7rem 1.1rem;border-top:1px solid var(--border);color:var(--text-3);font-size:.82rem}.resize-stage,.joint-stage,.holes-stage{position:relative;background-color:#14171c;background-image:linear-gradient(rgb(255 255 255 / .035) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .035) 1px,transparent 1px);background-size:24px 24px;background-position:center}.demo-tabs,.joint-tabs,.hole-presets{display:flex;gap:.35rem;padding:.7rem;border-bottom:1px solid var(--border);overflow-x:auto;scrollbar-width:none}.joint-tabs::-webkit-scrollbar,.hole-presets::-webkit-scrollbar{display:none}.joint-tabs button,.hole-presets button{flex-shrink:0;padding:.4rem .85rem;border:1px solid transparent;border-radius:999px;background:none;color:var(--text-3);font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .2s,background-color .2s,border-color .2s}.joint-tabs button:hover,.hole-presets button:hover{background:#ffffff0d;color:var(--text)}.joint-tabs button[aria-checked=true],.hole-presets button[aria-checked=true]{border-color:#ff983c73;background:#ff983c1a;color:var(--orange-hi)}.demo-link-button{padding:.2rem .5rem;border:none;border-radius:6px;background:none;color:var(--orange-hi);font-size:.85rem;font-weight:600;cursor:pointer}.demo-link-button:hover{background:#ff983c1a}@media (pointer: coarse){.joint-tabs button,.hole-presets button,.demo-link-button{min-height:44px}}.resize-stage{aspect-ratio:520 / 330;touch-action:none}.resize-art{width:100%;height:100%}.resize-handle{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;padding:0;border:2px solid #0d0f12;border-radius:4px;background:#fff;box-shadow:0 0 0 2px #ffffff40,0 4px 10px #00000080;cursor:ew-resize;touch-action:none;transition:background-color .15s,transform .15s var(--ease-out),box-shadow .15s}.resize-handle-x{cursor:nwse-resize}.resize-handle-y{cursor:nesw-resize}.resize-handle-z{cursor:ns-resize}.resize-handle:hover,.resize-handle:focus-visible,.resize-handle.is-dragging{background:var(--orange-hi);transform:scale(1.18);box-shadow:0 0 0 4px #ff983c4d,0 4px 10px #00000080}.resize-handle:focus-visible{outline:none}.resize-label{position:absolute;padding:.28rem .6rem;border-radius:6px;background:#08090bdb;color:#fff;font-family:var(--mono);font-size:.74rem;white-space:nowrap;pointer-events:none;transform:translate(-50%,-150%)}.resize-params{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem;padding:.75rem 1.1rem;border-top:1px solid var(--border)}.resize-param{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.85rem}.resize-param>span{margin-right:.25rem;color:var(--text-3)}.resize-param button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--border-strong);border-radius:7px;background:var(--surface-2);color:var(--text);font-size:1rem;line-height:1;cursor:pointer}.resize-param button:hover:not(:disabled){border-color:#4a5464;background:var(--surface-3)}.resize-param button:disabled{opacity:.4;cursor:default}.resize-param output{min-width:2ch;color:var(--text);font-weight:650;text-align:center}@media (pointer: coarse){.resize-handle{width:28px;height:28px;margin:-14px 0 0 -14px}.resize-param button{width:44px;height:44px}}.resize-status{display:inline-flex;align-items:center;gap:.45rem;margin-left:auto;color:var(--text-3);font-size:.8rem}.resize-status.is-rendering:before{content:"";width:12px;height:12px;border:2px solid rgb(255 255 255 / .2);border-top-color:var(--orange);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.resize-floor line{stroke:#ffffff12;stroke-width:1}.resize-shadow{fill:#0000008c}.bin-top{fill:#a7c1ff}.bin-left{fill:#6f95f4}.bin-right{fill:#4b72d8}.bin-foot-top{fill:#8eaefb}.bin-foot-left{fill:#5d82e2}.bin-foot-right{fill:#3f63c2}.resize-solid path{stroke:#0c142d59;stroke-width:.8;stroke-linejoin:round}.bin-cavity{fill:#22335f}.bin-inner-x{fill:#33509a}.bin-inner-y{fill:#4565b8}.resize-solid .bin-rim{fill:none;stroke:#ffffff59;stroke-width:1}.resize-ghost line{stroke:#a9b9ff;stroke-width:1.6;stroke-dasharray:5 4}.j-floor{stroke:#ffffff1f;stroke-width:1.5}.j-base,.j-flange-base{fill:#c6d1d8;stroke:#7d919c;stroke-width:1.2}.j-flange-base{fill:#b3c2ca}.j-attached,.j-flange-attached{fill:var(--orange);stroke:#b8521c;stroke-width:1.2}.j-flange-attached{fill:#f6873a}.j-part-label{fill:#4a5a66;font-family:var(--mono);font-size:11px;font-weight:600}.j-part-label-dark{fill:#6b2c08}.j-hole,.j-hole-pin{fill:#101318}.j-insert{fill:#c99a3a}.j-knurl{stroke:#8a6420;stroke-width:1.2}.j-bolt{fill:#59626e}.j-bolt-head{fill:#3b434d;stroke:#20262d}.j-pin{fill:#e9e3d6;stroke:#8f8676}.j-seam{stroke:#2a1407;stroke-width:2;stroke-dasharray:4 3;transition:opacity .4s .8s}.is-joined .j-seam{opacity:0}.j-outline{fill:none;stroke:var(--orange-hi);stroke-width:2.5;opacity:0;filter:drop-shadow(0 0 6px rgb(255 152 60 / .7));transition:opacity .5s .95s}.is-joined .j-outline{opacity:1}.j-move{transform:translateY(var(--from));transition:transform .85s var(--ease-out) var(--delay)}.is-joined .j-move{transform:none}.j-click{fill:none;stroke:var(--orange-hi);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}.is-joined .j-click{animation:click-ring .6s var(--ease-out) var(--delay) both}@keyframes click-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.3)}}.j-tag{opacity:0;transition:opacity .4s 1.1s}.is-joined .j-tag{opacity:1}.j-tag path{fill:none;stroke:var(--text-3);stroke-dasharray:2 3}.j-tag circle{fill:var(--text-2)}.j-tag text{fill:var(--text-2);font-family:var(--mono);font-size:11px;font-weight:600}.joint-stage{aspect-ratio:520 / 300}.joint-art{width:100%;height:100%}.joint-info{padding:.95rem 1.2rem 1.1rem;border-top:1px solid var(--border)}.joint-bodies{color:var(--orange-hi);font-size:.86rem;font-weight:700}.joint-text{margin-top:.2rem;color:var(--text-2);font-size:.93rem}.holes-stage{aspect-ratio:400 / 300}.holes-art{width:100%;height:100%;cursor:crosshair;touch-action:manipulation}.holes-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3rem;padding:.6rem 1.1rem;border-top:1px solid var(--border);color:var(--text-3);font-size:.86rem}.plate{fill:#c9d4da}.plate-bevel{fill:none;stroke:#ffffff80;stroke-width:1.5}.hole-guides{opacity:0;transition:opacity .25s}.holes-art:hover .hole-guides,.holes-art.is-aiming .hole-guides{opacity:1}.guide-centre,.guide-quarter{stroke:#6c7f8c;stroke-width:1}.guide-quarter{stroke-dasharray:3 4}.guide-point{fill:#6c7f8c}.guide-center{fill:var(--green)}.hole-cursor{opacity:0;pointer-events:none;transition:opacity .15s}.is-aiming .hole-cursor{opacity:1}.hole-cursor-ring{fill:none;stroke:#33414c;stroke-width:1.5}.hole-cursor-cross{stroke:#33414c;stroke-width:1.5;stroke-linecap:round}.hole-cursor.is-snapped .hole-cursor-ring{fill:#2ecc7140;stroke:#1f9d55}.hole-cursor-label{fill:#1d2a33;font-family:var(--mono);font-size:11px;font-weight:700;paint-order:stroke;stroke:#c9d4da;stroke-width:4px;stroke-linejoin:round}.holes-art:focus-visible{outline:none}.holes-art:focus-visible .plate{stroke:var(--orange-hi);stroke-width:3}.hole-shape{transform-box:fill-box;transform-origin:center;animation:drill-in .45s var(--ease-out) both}@keyframes drill-in{0%{opacity:0;transform:scale(.3)}}.hole-pocket{fill:#3b4752}.hole-through{fill:#0f1317}.hole-blind{fill:#1b232b}.hole-cone{fill:url(#hole-cone)}.hole-insert-ring{fill:none;stroke:#c99a3a;stroke-width:2.4;stroke-dasharray:2.4 2}.hole-ripple{fill:none;stroke:var(--orange);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;animation:click-ring .7s var(--ease-out) both}.palette-section{background:radial-gradient(50rem 26rem at 50% 100%,rgb(110 140 255 / .08),transparent 70%),linear-gradient(180deg,transparent,var(--bg-raised) 60%,transparent)}.demo-palette{max-width:660px;margin-inline:auto;border-radius:18px;background:#15181e;box-shadow:0 50px 120px -50px #000000f2,0 0 0 1px #ffffff05,inset 0 1px #ffffff0d}.palette-search{display:flex;align-items:center;gap:.75rem;padding:.95rem 1.15rem;border-bottom:1px solid var(--border);color:var(--text-3);transition:box-shadow .2s}.palette-search:focus-within{box-shadow:inset 0 -2px 0 var(--orange)}.palette-search input{flex:1;min-width:0;padding:0;border:none;background:none;color:var(--text);font-size:1.06rem;outline:none}.palette-search input::placeholder{color:var(--text-3)}.palette-esc{color:var(--text-3);font-size:.72rem}.palette-results{height:330px;margin:0;padding:.45rem;overflow-y:auto;list-style:none;overscroll-behavior:contain;scrollbar-width:thin}.palette-heading{padding:.65rem .75rem .3rem;color:var(--text-3);font-size:.72rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.palette-option{display:flex;align-items:center;gap:.75rem;min-height:44px;padding:.45rem .7rem;border-radius:10px;cursor:pointer}.palette-option[aria-selected=true]{background:#ffffff13}.palette-thumb{flex-shrink:0;width:36px;height:27px;border-radius:5px;background:var(--surface-3) center / cover no-repeat}.palette-glyph{display:grid;flex-shrink:0;place-items:center;width:36px;height:27px;border-radius:6px;background:var(--surface-3);color:var(--text-3);font-size:.78rem;font-weight:700}.palette-option-text{display:grid;min-width:0}.palette-option-title{overflow:hidden;color:var(--text);font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.palette-option-title mark{background:none;color:var(--orange-hi);font-weight:700}.palette-option-sub{color:var(--text-3);font-size:.8rem}.palette-option-keys{display:flex;gap:.25rem;margin-left:auto;padding-left:.5rem}.palette-option-keys kbd{font-size:.72rem}.palette-empty{padding:2.5rem 1rem;color:var(--text-3);text-align:center}.palette-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem 1.2rem;padding:.65rem 1rem;border-top:1px solid var(--border);color:var(--text-3);font-size:.78rem}.palette-footer kbd{font-size:.7rem}[data-touch-only]{display:none}@media (pointer: coarse){[data-keyboard-only],.palette-esc,.palette-footer,.feature-tab kbd{display:none}[data-touch-only]{display:inline}.palette-search input{min-height:44px}}.palette-dialog{width:min(660px,calc(100vw - 2 * var(--gutter)));max-width:none;max-height:none;margin:min(14vh,120px) auto auto;padding:0;overflow:visible;border:none;background:none;color:inherit}.palette-dialog[open]{animation:palette-in .22s var(--ease-out)}.palette-dialog::backdrop{background:#0406099e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:backdrop-in .22s ease-out}.palette-dialog .palette-results{height:min(330px,55vh)}html:has(.palette-dialog[open]){overflow:hidden}@keyframes palette-in{0%{opacity:0;transform:translateY(-10px) scale(.98)}}@keyframes backdrop-in{0%{opacity:0}}.gallery-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.6rem}.filter-chip{display:inline-flex;align-items:center;gap:.45rem;min-height:36px;padding:.35rem .85rem;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-2);font-size:.86rem;font-weight:600;cursor:pointer;transition:color .2s,border-color .2s,background-color .2s}.filter-chip:hover{border-color:var(--border-strong);color:var(--text)}.filter-chip[aria-pressed=true]{border-color:#ff983c80;background:#ff983c1f;color:var(--orange-hi)}.filter-chip-count{color:var(--text-3);font-size:.76rem;font-weight:500}@media (pointer: coarse){.filter-chip{min-height:44px}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));gap:1rem;margin:0;padding:0;list-style:none}.part-card{animation:card-in .5s var(--ease-out) both}@keyframes card-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.part-card>a{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:inherit;text-decoration:none;transition:transform .3s var(--ease-out),border-color .3s,box-shadow .3s}.part-card>a:hover,.part-card>a:focus-visible{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:0 22px 44px -22px #000000e6}.part-card-image{display:grid;place-items:center;aspect-ratio:4 / 3;overflow:hidden;background:radial-gradient(ellipse 60% 55% at 50% 48%,var(--surface-3),var(--surface-2) 60%,var(--surface))}.part-card-image img{width:100%;height:100%;object-fit:cover;filter:drop-shadow(0 14px 16px rgb(0 0 0 / .55));transition:transform .6s var(--ease-out)}.part-card>a:hover img{transform:scale(1.06)}.part-card-initial{color:#9aa3ad;font-size:2.5rem;font-weight:800}.part-card-body{display:grid;gap:.15rem;padding:.85rem 1rem .6rem}.part-card-system{color:var(--text-3);font-size:.7rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.part-card-name{color:var(--text);font-size:1rem;font-weight:650}.part-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.part-card-open{margin-top:auto;padding:.2rem 1rem .9rem;color:var(--orange-hi);font-size:.8rem;font-weight:600;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s var(--ease-out)}.part-card>a:hover .part-card-open,.part-card>a:focus-visible .part-card-open{opacity:1;transform:none}@media (hover: none){.part-card-open{opacity:1;transform:none}}.platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.platform,.download-card{position:relative;display:flex;flex-direction:column;gap:.75rem;padding:1.7rem;border:1px solid var(--border);border-radius:var(--radius-lg);background:linear-gradient(180deg,var(--surface),var(--bg-raised))}.platform:nth-child(2),.download-card:nth-child(2){--reveal-delay: .08s}.platform:nth-child(3),.download-card:nth-child(3){--reveal-delay: .16s}.platform h3,.download-card h3{font-size:1.25rem;font-weight:720}.platform p{color:var(--text-2);font-size:.97rem}.platform .text-link{margin-top:auto;padding-top:.5rem}.platform-icon{width:44px;height:44px;padding:9px;border-radius:12px;background:#ff983c1a;fill:none;stroke:var(--orange-hi);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.mini-window{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#0f1216}.mini-bar{display:flex;align-items:center;gap:.6rem;min-height:30px;padding:.35rem .6rem;border-bottom:1px solid rgb(255 255 255 / .05);background:#171a1f}.mini-dots{display:inline-flex;flex-shrink:0;gap:5px}.mini-dots i{width:9px;height:9px;border-radius:50%;background:#2b313b}.mini-url{flex:1;overflow:hidden;padding:.12rem .55rem;border-radius:6px;background:#0d0f12;color:var(--text-3);font-family:var(--mono);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.mini-tabs{display:flex;gap:.2rem;padding:.35rem .55rem;border-bottom:1px solid rgb(255 255 255 / .05);background:#17181b}.mini-tabs-titlebar{padding:0;border:none;background:none}.mini-tabs span{padding:.1rem .5rem;border-radius:4px;color:#9a9ba0;font-size:.66rem;font-weight:600}.mini-tabs .is-on{background:#24304a;color:#cdd7f5}.mini-stage{position:relative;display:grid;place-items:center;height:86px;background-color:#14171c;background-image:linear-gradient(rgb(255 255 255 / .03) 1px,transparent 1px),linear-gradient(90deg,rgb(255 255 255 / .03) 1px,transparent 1px);background-size:14px 14px}.mini-part{width:96px;height:auto}.mini-chip{position:absolute;right:.55rem;bottom:.5rem;padding:.08rem .5rem;border-radius:999px;background:#2ecc7124;color:#7ee2a8;font-size:.66rem;font-weight:650}.terminal{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:#090b0e}.terminal-bar{display:flex;gap:6px;padding:.55rem .7rem;border-bottom:1px solid rgb(255 255 255 / .05)}.terminal-bar span{width:9px;height:9px;border-radius:50%;background:#2b313b}.terminal-body{min-height:8.8em;margin:0;padding:.85rem 1rem;color:#d7dce4;font-family:var(--mono);font-size:.78rem;line-height:1.65;white-space:pre-wrap;word-break:break-word}.terminal-body.is-stacked{display:grid}.terminal-body.is-stacked>*{grid-area:1 / 1}.terminal-ghost{visibility:hidden;-webkit-user-select:none;user-select:none}.terminal-prompt{color:var(--green)}.terminal-dim{color:var(--text-3)}.terminal-cursor{display:inline-block;width:.55em;height:1.1em;margin-left:1px;background:var(--orange);vertical-align:-.2em;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}@media (max-width: 980px){.platforms{grid-template-columns:minmax(0,1fr)}.platform,.download-card{--reveal-delay: 0s !important}}.download{background:radial-gradient(60rem 28rem at 50% 0%,rgb(255 152 60 / .09),transparent 70%)}.downloads{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.download-card{transition:border-color .3s,box-shadow .3s}.download-card.is-detected{border-color:#ff983c80;box-shadow:0 0 0 1px #ff983c38,0 40px 80px -40px #ff983c59}.download-detected{position:absolute;top:1.2rem;right:1.2rem;padding:.18rem .6rem;border-radius:999px;background:#ff983c24;color:var(--orange-hi);font-size:.72rem;font-weight:700}.download-icon{width:34px;height:34px;fill:currentColor;color:var(--text)}.download-card[data-os=other] .download-icon{fill:none;stroke:currentColor;stroke-width:1.5}.download-sub{color:var(--text-3);font-size:.92rem}.download-buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.download-note{margin-top:auto;padding-top:.6rem;color:var(--text-3);font-size:.82rem}.download-more{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem .9rem;margin-top:2rem;color:var(--text-3)}@media (pointer: coarse){.download-more a{display:inline-flex;align-items:center;min-height:44px;padding-block:.35rem}}@media (max-width: 980px){.downloads{grid-template-columns:minmax(0,1fr)}}.credits-inner{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(2rem,5vw,4.5rem)}.credits-inner .section-header{margin-bottom:0}.credits-inner .text-link{margin-top:1.4rem}.credits-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.6rem;margin:0;padding:0;list-style:none;--reveal-delay: .1s}.credits-list li{display:grid;gap:.1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}.credits-list a{color:var(--text);font-weight:650;text-decoration:none}.credits-list a:hover{color:var(--orange-hi)}.credits-list span{color:var(--text-3);font-size:.83rem}@media (max-width: 980px){.credits-inner{grid-template-columns:minmax(0,1fr)}}@media (max-width: 560px){.credits-list{grid-template-columns:minmax(0,1fr)}}.cta{position:relative;padding-block:clamp(4.5rem,9vw,7.5rem);overflow:hidden;border-top:1px solid var(--border);background:radial-gradient(50rem 24rem at 50% 115%,rgb(255 132 40 / .25),transparent 70%);text-align:center}.cta h2{font-size:clamp(2rem,4.6vw,3.5rem);font-weight:800;letter-spacing:-.04em}.cta p{max-width:34em;margin:1rem auto 0;color:var(--text-2);font-size:1.1rem}.cta .hero-actions{justify-content:center}@media (max-width: 560px){.hero-actions .button{flex:1 1 100%}.demo-toolbar{flex-direction:column;gap:.15rem}.demo-dimensions{text-align:left}}
