.fabricator{--fabricator-knob:96px;--fabricator-curve:1px;grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""selector""bay""rack";gap:1.75rem;padding:clamp(1rem,2.6vw,2.5rem);display:grid}@media (width>=640px){.fabricator{--fabricator-knob:120px;--fabricator-curve:2px}}@media (width>=960px){.fabricator{--fabricator-knob:132px;--fabricator-curve:3px;grid-template-columns:minmax(400px,1fr) minmax(0,1.5fr);grid-template-areas:"selector stage""selector bay""rack rack";gap:2rem clamp(2rem,4vw,4rem)}}@media (width>=1280px){.fabricator{--fabricator-knob:164px;--fabricator-curve:4px;grid-template-columns:minmax(400px,1fr) minmax(0,1.75fr)}}.fabricator-selector{grid-area:selector;align-self:start;min-width:0}.fabricator-selector-label{margin:0 0 1rem}.fabricator-selector-body{grid-template-columns:var(--fabricator-knob) minmax(0, 1fr);align-items:center;column-gap:clamp(.75rem,2.4vw,2.4rem);display:grid}.fabricator-dial{width:var(--fabricator-knob);aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;border-radius:50%;position:relative}.fabricator-dial[data-turning]{cursor:grabbing}.fabricator-bezel{background:repeating-conic-gradient(from 0deg, oklch(88% .09 220/.2) 0 .7deg, transparent .7deg 6deg), radial-gradient(circle, oklch(16% .02 258) 60%, oklch(10% .016 262) 100%);border-radius:50%;position:absolute;inset:0;box-shadow:inset 0 0 0 1px oklch(88% .09 220/.16),inset 0 2px 6px oklch(0% 0 0/.6),0 0 0 1px oklch(0% 0 0/.5),0 18px 40px -16px oklch(0% 0 0/.8)}.fabricator-bezel i{width:6px;height:6px;transform:rotate(var(--a)) translateX(calc(var(--fabricator-knob) / 2 - 8px));background:oklch(32% .02 250);border-radius:50%;margin:-3px 0 0 -3px;transition:background-color .3s,box-shadow .3s;position:absolute;top:50%;left:50%}.fabricator-bezel i.is-on{background:var(--world);box-shadow:0 0 8px 1px var(--world)}.fabricator-rotor,.fabricator-pointer{transform:rotate(var(--fabricator-turn,var(--fabricator-rot)));transition:transform .55s var(--ease)}.fabricator-dial[data-turning] .fabricator-rotor,.fabricator-dial[data-turning] .fabricator-pointer{transition-duration:60ms}.fabricator-rotor{background:repeating-conic-gradient(from 0deg, oklch(34% .02 252) 0 2.2deg, oklch(15% .018 260) 2.2deg 4.5deg);border-radius:50%;position:absolute;inset:15%;box-shadow:0 0 0 1px oklch(0% 0 0/.6),0 10px 22px -6px oklch(0% 0 0/.85),inset 0 0 0 1px oklch(100% 0 0/.06)}.fabricator-cap{background:radial-gradient(circle at 36% 28%,oklch(36% .02 248),oklch(19% .02 256) 58%,oklch(12% .02 262));border-radius:50%;position:absolute;inset:23%;box-shadow:inset 0 1px oklch(100% 0 0/.14),inset 0 -6px 12px oklch(0% 0 0/.45),0 0 0 1px oklch(0% 0 0/.55)}.fabricator-pointer{width:calc(var(--fabricator-knob) * .33);transform-origin:0;background:linear-gradient(90deg, transparent 18%, color-mix(in oklch, var(--world) 70%, transparent) 50%, var(--world));height:3px;box-shadow:0 0 10px color-mix(in oklch, var(--world) 70%, transparent);border-radius:3px;margin-top:-1.5px;position:absolute;top:50%;left:50%}.fabricator-pointer:after{content:"";width:7px;height:7px;box-shadow:0 0 10px 2px var(--world);background:oklch(97% .03 200);border-radius:50%;margin-top:-3.5px;position:absolute;top:50%;right:-2px}.fabricator-ray{transform-origin:0;width:200px;height:1px;transform:rotate(var(--fabricator-rot)) translateX(var(--fabricator-r0)) scaleX(var(--fabricator-reach));background:linear-gradient(90deg, color-mix(in oklch, var(--world) 25%, transparent), var(--world));box-shadow:0 0 6px color-mix(in oklch, var(--world) 60%, transparent);pointer-events:none;transition:transform .55s var(--ease);margin-top:-.5px;position:absolute;top:50%;left:50%}.fabricator-options{gap:2px;min-width:0;display:grid}.fabricator-option{width:100%;min-height:48px;color:var(--ink-soft);font:inherit;text-align:left;cursor:pointer;transform:translateX(calc(var(--bend) * var(--fabricator-curve)));background:0 0;border:0;border-radius:10px;align-items:center;gap:.65rem;padding:.4rem .6rem .4rem 1.4rem;font-size:.9375rem;font-weight:600;line-height:1.25;transition:color .25s,background-color .25s;display:flex;position:relative}.fabricator-option:hover{color:var(--ink);background:oklch(88% .09 220/.05)}.fabricator-option[aria-checked=true]{color:var(--ink);background:color-mix(in oklch, var(--world) 11%, transparent)}.fabricator-option:focus-visible{outline:2px solid var(--xenon);outline-offset:2px}.fabricator-option-led{background:oklch(28% .02 252);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;transition:background-color .25s,box-shadow .25s;position:absolute;top:50%;left:6px;box-shadow:inset 0 0 0 1px oklch(88% .09 220/.3)}.fabricator-option[aria-checked=true] .fabricator-option-led{background:var(--world);box-shadow:0 0 9px 1px var(--world)}.fabricator-option-icon{color:var(--ink-faint);flex:none;transition:color .25s}.fabricator-option[aria-checked=true] .fabricator-option-icon{color:var(--world)}.fabricator-option-name{min-width:0}@media (width>=960px){.fabricator-option{gap:.75rem;padding:.4rem .75rem .4rem 1.6rem;font-size:1rem}.fabricator-option-name{text-wrap:balance}}.fabricator-stage{background:radial-gradient(55% 70% at 50% 100%, color-mix(in oklch, var(--world) 13%, transparent), transparent 72%), oklch(7.5% .018 262/.6);border:1px solid oklch(88% .09 220/.14);border-radius:12px;grid-area:stage;place-items:center;height:clamp(210px,24vw,300px);display:grid;position:relative;overflow:hidden}.fabricator-schematic{width:100%;height:100%;display:block}.fabricator-stop-world{stop-color:var(--world)}.fabricator-stop-bright{stop-color:oklch(97% .03 200)}.fabricator-floor line{stroke:var(--world);stroke-opacity:.2;stroke-width:1px;vector-effect:non-scaling-stroke}.fabricator-wire{filter:drop-shadow(0 0 3px color-mix(in oklch, var(--world) 70%, transparent))}.fabricator-edge{stroke:var(--world);stroke-width:1.5px;stroke-linecap:round;vector-effect:non-scaling-stroke;transform-box:view-box}.fabricator-emitter{fill:none;stroke:var(--world);stroke-opacity:.75;stroke-width:1px;vector-effect:non-scaling-stroke}.fabricator-slot polygon{fill:color-mix(in oklch, var(--world) 24%, transparent);stroke:var(--world);stroke-opacity:.85;stroke-width:1px;vector-effect:non-scaling-stroke}.fabricator-slot line{stroke:oklch(97% .03 200);stroke-width:1.6px;stroke-linecap:round;vector-effect:non-scaling-stroke}.fabricator-slot,.fabricator-core,.fabricator-glyph{transform-box:view-box}.fabricator-glyph-icon{color:oklch(96% .04 200);filter:drop-shadow(0 0 5px var(--world))}.fabricator-glyph{animation:5.5s ease-in-out infinite alternate fabricator-bob}.fabricator-scan{opacity:0}.is-fabricating .fabricator-scan{animation:1.15s cubic-bezier(.45,0,.2,1) both fabricator-scan}.is-fabricating .fabricator-edge{animation:fabricator-draw .36s var(--ease) both;animation-delay:calc(80ms + var(--k) * 60ms)}.is-fabricating .fabricator-emitter{animation:.5s .55s both fabricator-fade}.is-fabricating .fabricator-faces{animation:fabricator-fade .6s var(--ease) both .62s}.is-fabricating .fabricator-core{animation:fabricator-rise .7s var(--ease) both .82s}.is-fabricating .fabricator-slot{animation:fabricator-dock .44s var(--ease) both;animation-delay:calc(1s + var(--i) * .11s)}@keyframes fabricator-scan{0%{opacity:0;transform:translateY(0)}12%{opacity:1}80%{opacity:1}to{opacity:0;transform:translateY(310px)}}@keyframes fabricator-draw{0%{opacity:0;transform:scale(0)}20%{opacity:1}to{opacity:1;transform:scale(1)}}@keyframes fabricator-fade{0%{opacity:0}to{opacity:1}}@keyframes fabricator-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fabricator-dock{0%{opacity:0;transform:translate(var(--dx), var(--dy))}55%{opacity:1}to{opacity:1;transform:none}}@keyframes fabricator-bob{0%{transform:translateY(-3px)}to{transform:translateY(3px)}}.fabricator-bay{grid-area:bay;grid-template-columns:minmax(0,1fr);gap:1.6rem;min-width:0;display:grid}@media (width>=1200px){.fabricator-bay{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-areas:"copy build""actions actions";column-gap:2.75rem}.fabricator-copy{grid-area:copy}.fabricator-build{grid-area:build}.fabricator-actions{grid-area:actions}}.fabricator-title{font-family:var(--font-display);letter-spacing:.05em;text-transform:uppercase;color:var(--ink);margin:0;font-size:clamp(1.35rem,1rem + 1.25vw,2.1rem);font-weight:400;line-height:1.12}.fabricator-moment{max-width:54ch;color:var(--ink);margin:.9rem 0 0;font-size:1rem;font-weight:700;line-height:1.55}.fabricator-body{max-width:60ch;color:var(--ink-soft);margin:.7rem 0 0;font-size:1rem;line-height:1.6}.fabricator-build h3{margin:.35rem 0 0}.fabricator-build ul{margin:.75rem 0 0;padding:0;list-style:none}.fabricator-build li{border-bottom:1px solid var(--line);color:var(--ink-soft);align-items:baseline;gap:.8rem;padding:.6rem 0;font-size:1rem;line-height:1.45;display:flex}.fabricator-led{background:var(--world);width:7px;height:7px;box-shadow:0 0 8px var(--world);border-radius:2px;flex:none;transform:translateY(-1px)}.fabricator-actions{flex-wrap:wrap;align-items:center;gap:.75rem 1.6rem;display:flex}.fabricator-course{min-height:48px;box-shadow:inset 0 1px 0 oklch(100% 0 0/.1), inset 0 -2px 0 oklch(0% 0 0/.5), 0 0 0 1px color-mix(in oklch, var(--course,var(--xenon)) 45%, transparent), 0 0 22px -6px var(--course,var(--xenon));padding:0 1.25rem;font-size:1rem}.fabricator-course .course-button-icon{color:var(--course,var(--xenon));filter:drop-shadow(0 0 6px var(--course,var(--xenon)));transition:transform .6s var(--ease)}.fabricator-course:hover .course-button-icon{transform:rotate(90deg)}.fabricator-link{min-height:44px;color:var(--ink);transition:color .2s, gap .35s var(--ease);align-items:center;gap:.45rem;font-size:1rem;font-weight:700;text-decoration:none;display:inline-flex}.fabricator-link:hover{color:var(--xenon);gap:.75rem}.fabricator-link:focus-visible,.fabricator-row summary:focus-visible{outline:2px solid var(--xenon);outline-offset:3px;border-radius:4px}.fabricator-bay.is-fabricating .fabricator-title{animation:fabricator-text .6s var(--ease) both 40ms}.fabricator-bay.is-fabricating .fabricator-moment{animation:fabricator-text .6s var(--ease) both .12s}.fabricator-bay.is-fabricating .fabricator-body{animation:fabricator-text .6s var(--ease) both .2s}.fabricator-bay.is-fabricating .fabricator-build li{animation:fabricator-text .5s var(--ease) both;animation-delay:calc(.26s + var(--i) * 50ms)}.fabricator-bay.is-fabricating .fabricator-led{animation:fabricator-led .4s var(--ease) both;animation-delay:calc(1.12s + var(--i) * .11s)}.fabricator-bay.is-fabricating .fabricator-actions{animation:fabricator-text .6s var(--ease) both .36s}@keyframes fabricator-text{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fabricator-led{0%{opacity:.2;transform:translateY(-1px)scale(.4)}to{opacity:1;transform:translateY(-1px)scale(1)}}.fabricator-rack{border-top:1px solid var(--line);grid-area:rack;padding-top:1.4rem}.fabricator-rack-label{margin:0}.fabricator-rack-columns{grid-template-columns:minmax(0,1fr);align-items:start;column-gap:2.5rem;margin-top:.6rem;display:grid}@media (width>=960px){.fabricator-rack-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}.fabricator-rack-columns>ul{margin:0;padding:0;list-style:none}.fabricator-row summary{border-bottom:1px solid var(--line);min-height:52px;color:var(--ink-soft);cursor:pointer;align-items:center;gap:.75rem;padding:.35rem .25rem;font-weight:600;list-style:none;transition:color .2s;display:flex}.fabricator-row summary::-webkit-details-marker{display:none}.fabricator-row summary:hover,.fabricator-row[open] summary{color:var(--ink)}.fabricator-row-icon{color:var(--ink-faint);flex:none}.fabricator-row[open] .fabricator-row-icon{color:var(--world)}.fabricator-row-name{flex:1;min-width:0}.fabricator-row-chevron{color:var(--ink-faint);transition:transform .4s var(--ease);flex:none}.fabricator-row[open] .fabricator-row-chevron{transform:rotate(180deg)}.fabricator-row-body{border-bottom:1px solid var(--line);padding:.6rem .25rem 1.4rem 2.05rem}.fabricator-row-body .fabricator-moment{margin-top:.4rem}.fabricator-row-list{color:var(--ink-soft);margin:.9rem 0 0;padding:0 0 0 1.1rem;line-height:1.6}.fabricator-row-list li::marker{color:var(--world)}.fabricator-row-links{flex-wrap:wrap;gap:0 1.5rem;margin-top:.6rem;display:flex}@media (prefers-reduced-motion:reduce){.fabricator *,.fabricator :before,.fabricator :after{transition-duration:0s!important;animation:none!important}.fabricator-bay.is-fabricating,.fabricator-schematic.is-fabricating{animation:.2s linear both fabricator-fade!important}}@media (scripting:none){.fabricator{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage""bay""rack"}.fabricator-selector{display:none}}
