/* Scoped product visuals; animation never advances a trade phase. */
.builder-action-hub{border:1px solid #4673af;border-radius:18px;background:linear-gradient(120deg,#152b4d,#122138 68%);padding:18px;margin:12px 0 24px;box-shadow:0 10px 32px #060d1926}
.action-hub-heading{display:flex;align-items:center;gap:16px}.action-hub-heading h3{margin:4px 0;font-size:1.3rem}.action-hub-heading p{font-size:.85rem;margin:6px 0;line-height:1.5;color:#bccde4}.action-hub-heading .guide-helper{flex:none;width:82px}.action-hub-heading .guide-helper img{width:82px;height:90px;object-fit:contain}.action-hub-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.action-hub-buttons .btn{min-height:56px;padding:12px 8px;font-size:.85rem;line-height:1.4;justify-content:center;white-space:normal}.action-hub-buttons span{font-size:1.25rem;margin-right:5px}.action-hub-buttons button:disabled{opacity:.58;cursor:not-allowed}.builder-action-hub .hint:empty{display:none}#batchSavedHint{margin:12px 0 0;color:#a7ecc7}
.batch-empty-visual{display:flex;align-items:center;gap:12px;padding:18px 0}.batch-empty-visual .guide-helper{flex:none;width:64px}.batch-empty-visual img{width:64px;height:72px;object-fit:contain}.batch-empty-visual p{font-size:.79rem;line-height:1.6;margin:0}.batch-footer .batch-next-hint{font-size:.72rem;color:var(--muted);margin:0}.batch-title h3 span{background:#1d3e5c;border-radius:10px;padding:3px 7px}.batch-saved-flash{animation:saved-flash .8s ease-out}@keyframes saved-flash{0%{box-shadow:0 0 0 3px #7addb5}100%{box-shadow:0 0 0 0 transparent}}
.guide-helper{display:flex;align-items:center;justify-content:center;gap:12px}.guide-helper img{max-width:100%;object-fit:contain;filter:drop-shadow(0 5px 9px #0004)}.guide-helper p{max-width:240px;color:#cbdbed;font-size:.9rem;line-height:1.6}
.phase-visual{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:144px;border-radius:18px;background:radial-gradient(ellipse at center,#233f60aa,transparent 70%);overflow:hidden;margin:8px 0 16px;color:#8cbdf4}.phase-caption{font-size:.77rem;color:#aebfd6;z-index:1}.phase-visual .guide-helper{height:110px}.phase-visual .guide-helper img{height:100px;width:100px}.phase-waiting .guide-helper{animation:helper-float 3s ease-in-out infinite}.search-eye{width:150px;height:100px;z-index:1}.search-pupil{animation:eye-scan 3.8s ease-in-out infinite}.scan-rings{position:absolute;width:120px;height:120px;border:1px solid #669eddaa;border-radius:50%;animation:scan-wave 2.8s ease-out infinite}.trade-exchange{width:180px;height:90px;display:flex;align-items:center;justify-content:space-between}.trade-exchange span{font-size:2rem}.tiny-ball{display:block;width:40px;height:40px;border:3px solid #101827;border-radius:50%;background:linear-gradient(#f97981 46%,#0c1624 46%,#0c1624 54%,#eff6ff 54%);position:relative;animation:exchange-ball 2.6s ease-in-out infinite}.tiny-ball:after{content:'';position:absolute;background:#fff;border:3px solid #142439;width:11px;height:11px;border-radius:50%;left:9px;top:9px}.tiny-ball:last-child{animation-direction:reverse;animation-delay:-1.3s;background:linear-gradient(#87c8f7 46%,#0c1624 46%,#0c1624 54%,#eff6ff 54%)}.ready-orbit{position:relative;width:78px;height:78px;margin:12px 0 20px;border:1px dashed #799bbe;border-radius:50%;display:grid;place-items:center}.ready-orbit span{font-size:2.8rem;color:#b3e3dc}.ready-orbit i{position:absolute;inset:-1px;animation:ready-orbit 3s linear infinite}.ready-orbit i:after{content:'';display:block;width:10px;height:10px;margin:5px;background:#9be7d7;border-radius:50%;box-shadow:0 0 12px #81bfff}
@keyframes eye-scan{0%,100%{transform:translateX(0)}25%{transform:translateX(-13px)}65%{transform:translateX(13px)}}@keyframes scan-wave{0%{transform:scale(.65);opacity:.7}100%{transform:scale(1.4);opacity:0}}@keyframes helper-float{50%{transform:translateY(-6px)}}@keyframes exchange-ball{50%{transform:translateY(-10px) rotate(25deg)}}@keyframes ready-orbit{to{transform:rotate(360deg)}}
.delivery-celebration{display:flex;gap:14px;padding:18px;background:linear-gradient(120deg,#123d3c,#143144);border:1px solid #5cab91;border-radius:16px;margin:0 0 18px}.delivery-celebration h2{font-size:1.55rem!important;margin:0 0 8px;color:#d2ffe9}.delivery-celebration p{margin:0;color:#b8d8cd;font-size:.85rem;line-height:1.6}.celebration-spark{font-size:2.5rem;color:#f7d887;animation:celebrate-in .65s ease-out both}@keyframes celebrate-in{from{transform:scale(.3) rotate(-50deg);opacity:0}to{transform:scale(1);opacity:1}}
.visual-trade-guide{margin-top:28px;padding-top:24px;border-top:1px solid var(--border)}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.guide-heading h3{font-size:1.15rem;margin:5px 0 15px}.guide-heading .btn{font-size:.7rem;padding:8px;flex:none}.guide-step-list{list-style:none;padding:0;margin:0 0 18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.guide-step-list li{min-width:0}.guide-step-list button{background:#131f35;border:1px solid #33435c;border-radius:10px;color:#b4c4d9;min-height:66px;width:100%;padding:8px 4px;font-size:.72rem;cursor:pointer;line-height:1.4}.guide-step-list button span{display:block;color:#85b7fa;font-weight:800;margin-bottom:3px}.guide-step-list [aria-pressed=true]{border-color:#84b7ff;background:#1d3757;color:white}.guide-step-list [aria-current=step] span:after{content:' •';color:#97ebcc}.guide-current{border:1px solid #384e6a;background:#121f33;border-radius:14px;padding:16px;min-width:0}.guide-step-badge{font-size:.72rem;color:#b6d9ff}.guide-current h4{font-size:1.15rem;margin:8px 0}.guide-current>p{color:#ccdae9;font-size:.88rem;line-height:1.6}.game-guide-frame{position:relative;margin:12px 0 0;overflow:hidden;border-radius:10px;background:#0b1320}.game-guide-frame>img{display:block;width:100%;height:auto}.game-guide-frame svg{position:absolute;top:0;left:0;width:100%;height:auto;fill:none;stroke:#ff3f52;stroke-width:13;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 1px #fff)}.game-guide-frame figcaption{font-size:.7rem;color:#bed0e5;padding:9px;line-height:1.5}.guide-current .guide-helper{padding:14px 0}.guide-current .guide-helper img{width:100px;height:110px}.guide-code-demo{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:22px 10px;border-radius:12px;background:#0c182a}.guide-code-demo span{font-family:monospace;font-size:2rem;letter-spacing:6px;background:#203550;border:1px solid #607a9f;border-radius:10px;padding:10px}.guide-code-demo small{width:100%;text-align:center;color:#a3bad5}.visual-trade-guide>.hint{font-size:.72rem;margin:12px 0 0}
@media(max-width:1050px){.batch-dock{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:#0d172bf5;border-top:1px solid #354762;pointer-events:auto}.batch-dock .btn{max-width:none;min-height:44px;padding:8px 5px;font-size:.76rem;box-shadow:none;width:100%;grid-column:span 2}.batch-dock #openPlzaBatch,.batch-dock #openShowdown{grid-column:span 3;min-height:38px;padding:6px}.has-plza-batch{padding-bottom:calc(122px + env(safe-area-inset-bottom))}html:has(.has-plza-batch){scroll-padding-bottom:136px}.batch-dock button:disabled{opacity:.55}.builder-action-hub{padding:14px}.action-hub-buttons{gap:7px}.action-hub-buttons .btn{font-size:.76rem}}
@media(max-width:760px){.trade-layout>.trade-progress{grid-row:1}.trade-layout:has(#confirmTrade)>.trade-progress{grid-row:auto}.action-hub-heading .guide-helper{width:56px}.action-hub-heading .guide-helper img{width:56px;height:72px}.action-hub-heading{gap:10px}.action-hub-heading h3{font-size:1.13rem}.action-hub-heading p{font-size:.78rem}.action-hub-buttons{grid-template-columns:1fr 1fr}.action-hub-buttons [data-build-action=generate]{grid-column:1/-1}.action-hub-buttons .btn{min-height:48px}.guide-step-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.guide-step-list button{font-size:.65rem;min-height:65px}.guide-current{padding:12px}.guide-heading .btn{width:auto;margin:0}.phase-visual{min-height:124px}.delivery-celebration{padding:14px}.delivery-celebration h2{font-size:1.3rem!important}}
@media(prefers-reduced-motion:reduce){.search-pupil,.scan-rings,.phase-waiting .guide-helper,.tiny-ball,.ready-orbit i,.celebration-spark,.batch-saved-flash{animation:none!important}.scan-rings{opacity:.25}}

#followTradeStep[hidden]{display:none}.trade-progress:has(.delivery-celebration) #tradeStatus{font-size:1rem;color:#b6cadf;line-height:1.6}.batch-footer .btn:disabled{opacity:.55;cursor:not-allowed}
@media(min-width:1051px){.batch-rail:has(.build-text-panel[open]) .batch-tray:not(.batch-collapsed){max-height:52dvh}.batch-rail:has(.batch-tray:not(.batch-collapsed)) .showdown-tray{max-height:34dvh}}

/* SV keeps the compact companion; recorded examples are optional and never autoplay. */
.sv-guide-instruction{font-size:.85rem;line-height:1.6;color:#ccdae9;margin:0 0 12px}
.sv-guide-example{border:1px solid var(--border);border-radius:12px;padding:10px 12px;font-size:.8rem}
.sv-guide-example>summary{cursor:pointer;color:#a3eed4;line-height:1.5}.sv-guide-example>summary:focus-visible{outline:2px solid #a3eed4;outline-offset:4px}
.sv-guide-frame{position:relative;max-width:480px;margin:12px auto 0;overflow:hidden;border-radius:8px;background:#0b1320}
.sv-guide-frame>img,.sv-guide-frame>video{display:block;width:100%;height:auto;aspect-ratio:16/9}
.sv-guide-frame>svg{position:absolute;top:0;left:0;width:100%;height:auto;aspect-ratio:16/9;pointer-events:none;fill:none;stroke:#ff334b;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 2px #fff)}
.sv-guide-frame figcaption{font-size:.7rem;color:#b6c6dc;padding:9px;line-height:1.5}

.build-action-progress{display:flex;align-items:center;gap:.65rem;color:#a3eed4;font-weight:650;margin:12px 0}.build-action-progress[hidden]{display:none}.action-spinner{display:inline-block;flex:none;width:1.15rem;height:1.15rem;border:3px solid #a3eed433;border-top-color:#a3eed4;border-radius:50%;animation:action-spin .8s linear infinite}@keyframes action-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.action-spinner{animation:none;border-right-color:#a3eed4}}
