.brothertron-build{max-width:940px;margin:12px auto 30px;text-align:center;--build-gold:#ffdf7c;--build-green:#c5e77d;--build-blue:#91e6f4;--build-pink:#ffb1d4}
.brothertron-build h2{margin:0 0 10px;font-size:clamp(1.6rem,3vw,2.55rem);line-height:1.15}
.build-hint{margin:0;color:#d8e9f7;font-size:1rem;line-height:1.5}
.brothertron-build.is-complete .build-hint{visibility:hidden}
.build-stage{position:relative;aspect-ratio:1000/650;max-width:790px;margin:5px auto 0;isolation:isolate;overflow:hidden;border-radius:35%;background:radial-gradient(ellipse at 50% 57%,#27466b45,transparent 65%)}
.build-formation{position:absolute;inset:0;transform-origin:50% 60%}
.build-orbit{position:absolute;border:1px dashed #87b9e133;border-radius:50%;pointer-events:none}
.build-orbit-one{inset:17% 3% 15%;transform:rotate(-13deg)}
.build-orbit-two{inset:9% 17% 9%;transform:rotate(17deg)}
.build-stars{position:absolute;left:11%;top:14%;color:#ffe294b3;font-size:24px;pointer-events:none}
.build-stars span{position:absolute;left:520px;top:65px;font-size:28px;color:#bde8fa}
.build-stars i{position:absolute;left:10px;top:290px;font-size:16px;font-style:normal;color:#d9bff5}
.build-connectors{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.build-connector{opacity:.15;transition:opacity .22s ease}
.build-connector.is-connected{opacity:1}
.build-connector path{fill:none;stroke-linecap:round}
.build-connector-edge{stroke:#273b4d;stroke-width:60}
.build-connector-tube{stroke:#d5ad64;stroke-width:48}
.build-connector-ribs{stroke:#745d3c;stroke-width:47;stroke-dasharray:3 13}
.build-slot{position:absolute;display:grid;place-items:center;padding:0;background:none!important;border:0!important;box-shadow:none!important;border-radius:45%;transform:translate(-50%,-50%);cursor:pointer;-webkit-tap-highlight-color:transparent}
.build-slot-crusader{left:28%;top:40%;width:53%;z-index:1;--slot-accent:var(--build-green)}
.build-slot-tempest{left:73%;top:44%;width:44%;z-index:2;--slot-accent:var(--build-blue)}
.build-slot-starbubble{left:50%;top:68%;width:39%;z-index:3;--slot-accent:var(--build-pink)}
.build-slot .build-ship-art{width:100%;height:auto;display:block;pointer-events:none;transition:opacity .22s ease,filter .22s ease}
.build-slot.is-empty .build-ship-art{filter:brightness(0) invert(1);opacity:.17}
.build-slot.is-empty:hover .build-ship-art,.build-slot.is-target .build-ship-art{opacity:.36;filter:brightness(0) invert(1) drop-shadow(0 0 8px var(--slot-accent))}
.build-slot.is-connected{opacity:1;cursor:default}
.build-slot.is-connected .build-ship-art{filter:drop-shadow(0 10px 9px #030b2580);animation:build-dock .3s ease-out}
.build-slot:focus-visible{outline:3px solid var(--slot-accent)!important;outline-offset:-8px!important}
.build-slot-name{position:absolute;left:50%;top:62%;transform:translate(-50%,-50%);font-size:clamp(.65rem,1.25vw,1rem);font-weight:800;letter-spacing:.02em;white-space:nowrap;color:var(--slot-accent);background:#081b35d9;border:1px solid #b4d8f766;border-radius:999px;padding:6px 10px;pointer-events:none}
.build-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:610px;margin:-5px auto 0}
.build-part{display:flex;flex-direction:column;align-items:center;border:2px solid transparent;border-radius:24px;background:#1027476b;color:#eff8ff;padding:5px 8px 12px;cursor:pointer;transition:background .15s ease,border-color .15s ease}
.build-part[aria-pressed=true]{border-color:var(--build-gold);background:#24415d}
.build-part:not(:disabled):hover{background:#24415d}
.build-part-picture{position:relative;display:grid;place-items:center;width:100%;height:105px}
.build-part .build-ship-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.build-part strong{font-size:1rem;line-height:1.3}
.build-pilot{font-size:.83rem;margin-top:3px;color:#ccdfef}
.build-part.is-connected{cursor:default;background:transparent}
.build-part.is-connected .build-ship-art{opacity:.25}
.build-part-check{position:absolute;inset:0;display:grid;place-items:center;font-size:2.3rem;color:#c7f18e;text-shadow:0 2px 10px #061020;font-weight:900}
.build-status{min-height:1.6em;line-height:1.5;margin:15px 0 12px;color:#ffe5a6;font-size:1rem;font-weight:700}
.build-actions{display:flex;flex-direction:column;align-items:center;gap:10px}
.build-launch{min-width:164px;min-height:68px;padding:15px 30px;border:3px solid #ffaaa3;border-radius:999px;background:linear-gradient(#e33c37,#bb1c2a);color:#fff;font-family:inherit;font-size:1.32rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;box-shadow:0 7px 0 #8c1724,0 12px 28px #c6254038;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}
.build-launch:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 0 #8c1724,0 14px 30px #c6254055}
.build-launch:not(:disabled):active{transform:translateY(4px);box-shadow:0 3px 0 #8c1724}
.build-launch:disabled{opacity:.35;cursor:default;filter:saturate(.3)}
.build-reset{background:transparent;border:0;color:#c8dcec;font:inherit;font-size:.9rem;min-height:44px;min-width:110px;padding:8px 15px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.build-reset:disabled{opacity:.4;cursor:default}
.brothertron-build.is-launched .build-formation{animation:build-launch 1.45s cubic-bezier(.25,.75,.2,1) both}
.brothertron-build.is-launched .build-status{font-size:clamp(1.1rem,2vw,1.5rem);color:var(--build-gold)}
@keyframes build-dock{from{transform:scale(.88);opacity:.4}to{transform:scale(1);opacity:1}}
@keyframes build-launch{0%{transform:translateY(0) scale(1)}18%{transform:translateY(2%) scale(.98)}58%{transform:translate(2%,-9%) scale(.92)}100%{transform:translateY(-2%) scale(.97)}}
html[data-motion=off] .brothertron-build *, .brothertron-build.no-motion *{animation:none!important;transition:none!important}
html[data-motion=off] .build-launch,.brothertron-build.no-motion .build-launch{transform:none!important}
html[data-contrast=high] .build-part{background:#091629;border-color:#ffffff80;color:#fff}
html[data-contrast=high] .build-part[aria-pressed=true]{border-color:#ffe36e;background:#243850}
html[data-contrast=high] .build-slot.is-empty .build-ship-art{opacity:.4}
html[data-contrast=high] .build-slot-name{background:#081222;border-color:white;color:white}
html[data-contrast=high] .build-launch{background:#b61220;border-color:white;color:white}
@media(prefers-reduced-motion:reduce){.brothertron-build *{animation:none!important;transition:none!important}.build-launch{transform:none!important}}
@media(max-width:650px){
 .brothertron-build{margin-top:8px}
 .build-hint{font-size:.93rem}
 .build-stage{margin:10px -10px 5px;border-radius:25%;max-width:none}
 .build-parts{gap:7px;margin:0 auto}
 .build-part{border-radius:16px;padding:4px 4px 9px}
 .build-part-picture{height:78px}
 .build-part strong{font-size:.84rem}
 .build-pilot{font-size:.75rem}
 .build-slot-name{font-size:.65rem;padding:4px 6px}
 .build-stars span{left:220px;top:25px;font-size:17px}
 .build-stars i{left:0;top:110px}
 .build-status{font-size:.93rem;margin-top:13px}
 .build-launch{min-height:64px;min-width:155px;font-size:1.13rem}
}
