.build-hud{display:flex;justify-content:space-between;align-items:center;margin:15px 0 10px;font-size:.875rem}.build-hud strong{color:#8fece6}.build-clock{font-variant-numeric:tabular-nums}
.build-stage{position:relative;isolation:isolate;height:280px;overflow:hidden;border:1px solid #4c9ea570;border-radius:14px;background:linear-gradient(180deg,#102e45e8,#082533fa),url('assets/service-structure.png') center/cover;touch-action:manipulation}
.build-stage:focus-visible{outline:3px solid #36c7d5;outline-offset:3px}.build-lanes{display:grid;grid-template-columns:repeat(3,1fr);position:absolute;inset:0}.build-lanes span{border-right:1px dashed #75d9e530;background:linear-gradient(0deg,#56c4d010,transparent)}.build-lanes span:last-child{border-right:0}
.build-player{position:absolute;height:160px;width:106px;object-fit:contain;bottom:4px;left:50%;transform:translateX(-50%);z-index:2;filter:drop-shadow(0 4px 10px #0008);transition:left .12s ease;pointer-events:none;user-select:none}
.cart-payment-summary{align-self:start}
.build-material{position:absolute;top:-8%;transform:translateX(-50%);font-size:29px;line-height:1;filter:drop-shadow(0 0 7px #ffc75c60)}
.build-overlay{position:absolute;inset:0 0 auto;z-index:3;padding:20px 10px;text-align:center;color:#fff;background:linear-gradient(#102633ed,#10263300);pointer-events:none}.build-overlay strong{display:block;font-size:1.125rem}.build-overlay span{display:block;font-size:.8125rem;margin-top:5px;color:#c6e2eb}
.build-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:10px}.build-controls button,.build-pause{min-height:44px;border:1px solid #609cad80;border-radius:9px;background:#36708218;color:var(--ink);font-size:.8125rem;font-weight:700;padding:8px 4px}.build-controls button[aria-pressed=true]{background:#167c8a;color:#fff;border-color:#61d4df}.build-controls button:active{transform:scale(.97)}.build-actions{display:flex;gap:8px;margin-top:10px}.build-actions .game-start{margin:0;background:linear-gradient(110deg,#176e83,#4461be);color:white;border:0}.build-pause{width:100%}.build-relaxed{display:flex;align-items:center;gap:8px;font-size:.8125rem;margin-top:12px;color:var(--muted)}.build-relaxed input{width:18px;height:18px;accent-color:#178597}.cart-game .game-status{min-height:40px}
[data-theme=light] .build-hud strong{color:#12677a}[data-theme=light] .cart-game{background:linear-gradient(145deg,#f3fcfc,#f5f4ff)}
@media(prefers-reduced-motion:reduce){.build-player{transition:none}.build-controls button:active{transform:none}}
/* Perspective stage with a raster character, not a rotatable 3D mesh. */
.build-player.build-player-reference{overflow:visible;border:0;background:none;border-radius:0;filter:drop-shadow(0 4px 4px #0007)}
.builder-part{position:absolute;inset:0;pointer-events:none;transform-origin:50% 50%}
.builder-part img{position:absolute;max-width:none;width:440%;height:auto;left:-328%;top:-5%;user-select:none;pointer-events:none}
.builder-part.torso{clip-path:polygon(38% 1%,61% 1%,65% 6%,64% 13%,58% 16%,60% 21%,70% 24%,72% 40%,70% 54%,32% 54%,31% 40%,34% 24%,43% 20%,43% 16%,37% 12%,36% 7%)}
.builder-part.arm-left{clip-path:polygon(34% 23%,40% 27%,34% 38%,29% 47%,29% 56%,22% 57%,18% 52%,22% 40%,25% 31%);transform-origin:34% 25%}
.builder-part.arm-right{clip-path:polygon(65% 24%,72% 23%,78% 31%,82% 40%,86% 51%,82% 57%,74% 56%,72% 47%,68% 37%);transform-origin:69% 25%}
.builder-part.leg-left{clip-path:polygon(33% 50%,52% 50%,51% 67%,47% 79%,45% 92%,47% 97%,24% 97%,25% 91%,31% 77%,31% 64%);transform-origin:42% 52%}
.builder-part.leg-right{clip-path:polygon(51% 50%,70% 50%,72% 65%,70% 79%,76% 92%,80% 97%,55% 97%,54% 92%,53% 78%,49% 67%);transform-origin:60% 52%}
.is-running .arm-left,.is-running .leg-right{animation:limb-run .35s ease-in-out infinite alternate}
.is-running .arm-right,.is-running .leg-left{animation:limb-run .35s ease-in-out infinite alternate-reverse}
@keyframes limb-run{from{rotate:-9deg;translate:0 -1px}to{rotate:9deg;translate:0 2px}}
.build-hearts{color:#ff8b9a;white-space:nowrap;font-size:.875rem;letter-spacing:2px}.build-hud{gap:10px;flex-wrap:wrap}.build-hazard{filter:drop-shadow(0 0 9px #ff6259)!important}
@media(prefers-reduced-motion:reduce){.is-running .builder-part{animation:none!important}}
.build-player-reference{overflow:hidden;border-radius:14px;width:120px!important;height:180px!important;background:#586575;border:1px solid #a6d6e855}
.build-player-reference>img{position:absolute;max-width:none;width:440%;height:auto;left:-328%;top:-5%;pointer-events:none;user-select:none}
.build-stage{height:330px;perspective:600px;background:linear-gradient(180deg,#173854a8,#092437e8 58%,#15364c),url('assets/service-structure.png') center/cover}
.build-lanes{inset:28% -35% -25%;transform-origin:50% 100%;transform:rotateX(52deg);background:repeating-linear-gradient(0deg,transparent 0 54px,#8acbe01c 55px 56px);border-top:1px solid #9fe3f94d}
.build-lanes span{border-color:#87d2e84d;background:linear-gradient(0deg,#58d7ed17,transparent)}
.build-player{height:180px;width:120px;bottom:10px;transition:left .24s cubic-bezier(.2,.8,.3,1);transform-origin:50% 95%}
.build-shadow{position:absolute;bottom:8px;left:50%;width:70px;height:13px;border-radius:50%;background:#0009;filter:blur(5px);transform:translateX(-50%);transition:left .24s;pointer-events:none;z-index:1}
.build-stage.is-running .build-player{animation:builder-stride .44s ease-in-out infinite alternate}
@keyframes builder-stride{from{transform:translateX(-50%) translateY(0) rotate(-1deg)}to{transform:translateX(-50%) translateY(-3px) rotate(1deg)}}
.build-jump{grid-column:1/-1;background:linear-gradient(100deg,#32799e,#566fc4)!important;color:#fff!important;border-color:#84c3e2!important}
.build-controls button{font-size:.875rem}.build-stage .build-material{z-index:3}
@media(prefers-reduced-motion:reduce){.build-stage.is-running .build-player{animation:none}.build-player,.build-shadow{transition:none}}
