.builder{background:var(--blue);color:var(--white);padding-top:90px;padding-bottom:90px}
.builder-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:40px}.builder h2{color:var(--white);font-size:clamp(40px,5vw,72px)}.builder-heading p{max-width:350px;font-size:15px;line-height:1.7;margin:0}
.builder-workspace{display:grid;grid-template-columns:330px 1fr;background:var(--paper);color:var(--ink);border:8px solid var(--paper);gap:8px}
.builder-tools{padding:25px 20px;background:var(--white)}.builder-tools h3{font-size:23px;letter-spacing:-1px;margin-bottom:5px}.builder-tools>p{font-size:12px;color:var(--muted);line-height:1.6}
.parts-tray{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0}.part-choice{border:2px solid transparent;background:var(--mint);padding:7px 3px;font-size:10px;color:var(--ink);cursor:grab;min-height:80px}.part-choice[aria-pressed=true]{border-color:var(--blue);background:var(--character-yellow)}.part-preview{display:block;height:52px}.part-preview svg{height:100%;width:100%}
.builder-tools fieldset{border:0;padding:0;margin:22px 0}.builder-tools legend{font-size:11px;font-weight:800;margin-bottom:12px}.builder-colors{display:flex;gap:10px}.color-choice{width:38px;height:38px;background:var(--swatch);border:3px solid transparent;box-shadow:inset 0 0 0 1px #22345e30}.color-choice[aria-pressed=true]{border-color:var(--ink);outline:2px solid var(--white);outline-offset:-5px}.builder-variants{display:flex;gap:8px}.builder-variants button{padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:12px;min-height:44px}.builder-variants button[aria-pressed=true]{background:var(--blue);color:var(--white)}
.builder-stage{background:var(--soft-sky);background-image:radial-gradient(var(--mint) 2px,transparent 2px);background-size:22px 22px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;position:relative}
.builder-stage-top{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:10px;font-weight:800;letter-spacing:1px}.builder-stage-top span:first-child{color:var(--blue)}
.robot-board{position:relative;width:310px;height:360px;margin:20px 0 10px}.robot-slot{position:absolute;background:#ffffff70;border:2px dashed #3953a34d;color:var(--blue);padding:0;display:grid;place-content:center;min-width:48px;min-height:48px}.robot-slot>span{font-size:24px}.robot-slot small{font-size:9px}.robot-slot.target{border-color:var(--blue);background:#fceb0530}.robot-slot.filled{border-color:transparent;background:none}.robot-slot svg{width:100%;height:100%;display:block}.robot-slot.filled{display:block}.slot-head{width:120px;height:97px;left:95px;top:5px}.slot-body{width:132px;height:112px;left:89px;top:111px}.slot-leftArm,.slot-rightArm{width:72px;height:104px;top:116px}.slot-leftArm{left:6px;transform-origin:90% 15%}.slot-rightArm{right:6px;transform-origin:10% 15%}.slot-leftLeg,.slot-rightLeg{width:84px;height:106px;top:235px}.slot-leftLeg{left:63px}.slot-rightLeg{right:63px}
.builder-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.builder-actions .button{font-size:13px;padding:15px 28px 15px 20px;color:var(--white)}.builder-actions>button:not(.button){border:0;background:none;color:var(--blue);text-decoration:underline;text-underline-offset:4px;font-size:12px;min-height:44px;padding:8px}.builder button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.builder-guide{display:flex;align-items:center;gap:22px;margin-top:28px}.builder-guide img{width:55px;height:70px;object-fit:contain}.builder-guide p{margin:0;font-size:14px;line-height:1.6}.builder button:focus-visible{outline:3px solid var(--character-orange);outline-offset:3px}
.robot-board.alive{animation:robot-hop .65s ease-in-out 4}.alive .slot-rightArm{animation:robot-wave .45s ease-in-out 5}.alive .slot-head{animation:robot-nod .65s ease-in-out 4}
@keyframes robot-hop{50%{translate:0 -12px}}@keyframes robot-wave{50%{rotate:-35deg}}@keyframes robot-nod{50%{rotate:7deg}}
@media(max-width:760px){.builder{padding-top:65px;padding-bottom:65px}.builder-heading{display:block;margin-bottom:25px}.builder-heading p{margin-top:20px;font-size:13px}.builder-workspace{grid-template-columns:1fr;border-width:5px}.builder-tools{padding:18px 13px}.parts-tray{grid-template-columns:repeat(3,1fr);margin:15px 0}.part-choice{min-height:66px}.part-preview{height:38px}.builder-tools fieldset{margin:15px 0 0}.builder-stage{padding:18px 5px}.builder-stage-top{padding:0 12px;font-size:8px}.robot-board{width:270px;height:330px;max-width:100%}.slot-head{left:calc(50% - 52px);width:104px;height:85px}.slot-body{left:calc(50% - 56px);width:112px;height:96px;top:102px}.slot-leftArm,.slot-rightArm{width:60px;height:90px;top:105px}.slot-leftArm{left:2px}.slot-rightArm{right:2px}.slot-leftLeg,.slot-rightLeg{width:75px;height:100px;top:211px}.slot-leftLeg{left:calc(50% - 82px)}.slot-rightLeg{right:calc(50% - 82px)}.builder-guide{gap:15px}.builder-guide p{font-size:12px}.builder-actions{gap:6px}.builder-actions .button{font-size:12px}.builder-tools>p{margin-bottom:0}}
@media(prefers-reduced-motion:reduce){.robot-board.alive,.alive .robot-slot{animation:none}}
.robot-board.complete:before{content:'';position:absolute;left:calc(50% - 8px);top:83px;width:16px;height:165px;background:var(--blue)}
.robot-board.complete:after{content:'';position:absolute;left:40px;right:40px;top:145px;height:14px;background:var(--blue)}
.robot-slot{z-index:1}
@media(min-width:761px) and (max-width:1000px){.header nav{gap:10px;font-size:10px}.header .nav-cta{font-size:10px}.header{gap:12px}.builder-workspace{grid-template-columns:280px 1fr}}
@media(max-width:760px){.robot-board.complete:after{top:135px;left:30px;right:30px}.robot-board.complete:before{height:150px;top:70px}}

.builder-drag-ghost{position:fixed;width:80px;height:70px;pointer-events:none;z-index:100;filter:drop-shadow(0 8px 8px #22345e30)}.builder-drag-ghost svg{width:100%;height:100%}
/* Original SHARP artwork, split into its own colour shapes. */
.character-picker{display:flex;gap:12px;margin:0 0 24px}.character-picker button{display:flex;align-items:center;gap:14px;border:2px solid transparent;background:var(--white);color:var(--blue);padding:10px 22px;font-weight:800;min-width:145px}.character-picker img{width:34px;height:45px;object-fit:contain}.character-picker button[aria-pressed=true]{background:var(--character-yellow);border-color:var(--ink)}
.builder .robot-board{width:280px;height:auto;max-width:90%;margin:30px 0;flex:none}
.builder .original-slot{min-width:0;min-height:0;display:block;padding:0;border:0;background:none;border-radius:0;transform:none;opacity:.14;z-index:1;transition:opacity .2s,filter .2s}
.builder .original-slot svg{width:100%;height:100%;overflow:visible}.builder .original-slot.target{opacity:.4;filter:drop-shadow(0 0 2px var(--blue));z-index:2}.builder .original-slot.filled{opacity:1;filter:none;z-index:3}.builder .original-slot:focus-visible{outline:2px dashed var(--blue)}
.builder .robot-board.complete:before,.builder .robot-board.complete:after{display:none}.puzzle-finished{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none;z-index:4}.complete .puzzle-finished{opacity:1}.complete .original-slot{opacity:0!important}
.builder .part-choice{min-height:110px;font-size:10px}.builder .part-preview{height:70px;padding:5px}.builder .part-preview svg{width:100%;height:100%;object-fit:contain}.part-choice.used{opacity:.45}.puzzle-reference{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.puzzle-reference span{font-size:9px;line-height:1.6;letter-spacing:1px;max-width:115px}.puzzle-reference img{width:85px;height:110px;object-fit:contain}
.builder .robot-board.alive{animation:character-celebrate .8s ease-in-out 3}@keyframes character-celebrate{25%{transform:translateY(-12px) rotate(-4deg)}75%{transform:translateY(-5px) rotate(4deg)}}
@media(max-width:760px){.character-picker{gap:7px}.character-picker button{padding:9px 7px;min-width:0;flex:1;gap:6px;font-size:11px}.character-picker img{width:25px;height:36px}.builder .part-choice{min-height:88px}.builder .part-preview{height:51px}.builder .robot-board{width:240px;margin:25px 0}.puzzle-reference{padding-top:12px;margin-top:12px}.puzzle-reference img{height:70px;width:55px}}
@media(prefers-reduced-motion:reduce){.builder .robot-board.alive{animation:none}}
.builder .original-slot.filled{pointer-events:none}

.builder .original-slot.target:not(.filled){z-index:5}
.picker-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-size:10px;font-weight:800;letter-spacing:1px}.picker-heading b{margin-left:14px;color:var(--character-yellow)}.picker-heading>div{display:flex;gap:8px}.picker-heading button{width:44px;height:44px;border:1px solid var(--white);background:transparent;color:var(--white);font-size:23px}.picker-heading button:hover{background:var(--character-yellow);color:var(--blue)}.character-picker{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-color:var(--character-yellow) var(--blue);padding-bottom:12px;margin-bottom:8px}.character-picker button{flex:0 0 170px;scroll-snap-align:start;position:relative;text-align:left;white-space:normal}.character-picker button.solved:after{content:'✓';position:absolute;right:5px;top:3px;font-size:12px;color:var(--blue)}.picker-hint{font-size:11px;opacity:.85;margin:0 0 25px}.character-picker button span{line-height:1.25}.builder .robot-board{max-height:none}
@media(max-width:760px){.character-picker button{flex:0 0 132px;padding:10px;min-height:64px}.picker-heading{font-size:9px}.picker-hint{font-size:10px;line-height:1.6}.character-picker{gap:8px}.builder .robot-board{width:220px}}
