.wand-shop{position:absolute;inset:0;overflow:hidden;color:#eee0bf;font-family:Georgia,'Songti SC','STSong',serif;text-shadow:0 2px 4px #090705;background:#080a0e;isolation:isolate}
.wand-shop *{box-sizing:border-box}.wand-shop button{font:inherit;color:inherit;cursor:pointer}.wand-workshop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;image-rendering:pixelated;z-index:-2}.wand-shop-header{position:absolute;inset:6% 6% auto;display:flex;align-items:flex-start;gap:28px}.wand-shop-header p{font-size:9px;letter-spacing:3px;color:#b5a386;margin:0 0 9px}.wand-shop-header h2{font-size:34px;font-weight:400;letter-spacing:8px;margin:0 0 9px}.wand-shop-header>div>span{font-size:11px;letter-spacing:5px;color:#c2b091}.wand-wallet{margin-left:auto;text-align:right;padding-top:6px}.wand-wallet>span{font-size:10px;letter-spacing:2px;color:#b8a78b}.wand-wallet strong{display:block;font-size:27px;font-weight:400;margin-top:7px}.wand-wallet small{font-size:11px}.wand-close{background:none;border:0;font-size:31px!important;padding:0 0 0 20px;line-height:1}.wand-identity{position:absolute;left:6%;top:31%;width:22%;max-width:250px}.wand-identity>p:first-child{font-size:9px;letter-spacing:3px;color:#c3a86e;margin:0 0 20px}.wand-identity h3{font-size:clamp(34px,4.1vw,60px);font-weight:400;letter-spacing:10px;margin:0 0 17px;color:#f1d7a1}.wand-identity>span{font-size:13px;letter-spacing:4px}.wand-lore{font-size:12px;line-height:2.2;color:#c9bba2;margin-top:23px;max-width:205px}.wand-display{position:absolute;left:50%;top:57%;width:min(53%,760px);aspect-ratio:4/3;transform:translate(-50%,-73.6979%);pointer-events:none}.wand-case{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.wand-hero{position:absolute;width:80%;height:auto;left:50%;top:57.3%;transform:translate(-50%,-50%);transform-origin:14% 50%;image-rendering:pixelated;animation:wand-hover 5s ease-in-out infinite}.wand-vfx{position:absolute;left:66%;top:20%;width:48%;height:auto;image-rendering:pixelated;display:none;pointer-events:none}.wand-shop[data-trial=casting] .wand-vfx{display:block}.wand-shop[data-trial=casting] .wand-hero{animation:wand-test .88s ease-in-out both}.wand-arrow{position:absolute;top:37%;background:none;border:0;font-size:48px!important;line-height:1;padding:10px 16px;color:#decaa3!important;opacity:.7}.wand-arrow:hover,.wand-arrow:focus-visible{opacity:1}.wand-prev{left:26%}.wand-next{right:26%}.wand-details{position:absolute;right:6%;top:31%;width:20%;max-width:240px;margin:0}.wand-details>div{margin-bottom:23px}.wand-details dt{font-size:10px;letter-spacing:3px;color:#ad9977;margin-bottom:8px}.wand-details dd{font-size:14px;line-height:1.9;margin:0;color:#e0d1b5}.wand-details .wand-affinity dd{color:#e5c58b;font-size:13px}.wand-fitting{position:absolute;left:28%;right:28%;top:62%;text-align:center}.wand-response{min-height:38px;font-size:12px;line-height:1.8;margin:0 0 12px;color:#deca9f}.wand-fitting-actions{display:flex;justify-content:center;gap:15px}.wand-fitting-actions button{background:#100f10bd;border:11px solid transparent;border-image:url('assets/v4/ui/status-frame.png') 30 fill stretch;padding:8px 16px;min-width:170px;font-size:13px;white-space:nowrap}.wand-fitting-actions button:disabled{cursor:default;opacity:.45}.wand-fitting-actions button:hover:not(:disabled),.wand-fitting-actions button:focus-visible{color:#fff2c9;transform:translateY(-2px)}.wand-boxes{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);display:flex;gap:20px}.wand-mini{position:relative;width:120px;height:100px;padding:0;background:none;border:0;opacity:.55;transition:opacity .18s,transform .18s;text-align:center}.wand-mini[aria-pressed=true],.wand-mini:hover,.wand-mini:focus-visible{opacity:1;transform:translateY(-4px)}.wand-mini-box{position:absolute;width:120px;height:90px;top:-12px;left:0;image-rendering:pixelated}.wand-mini-art{position:absolute;width:58px;height:58px;object-fit:contain;left:31px;top:8px;transform:rotate(0deg);image-rendering:pixelated}.wand-mini span{position:absolute;top:62px;left:0;right:0;font-size:13px;letter-spacing:4px}.wand-mini small{position:absolute;top:84px;left:0;right:0;font-size:9px;color:#c0ad89;letter-spacing:1px}.wand-shop-footer{position:absolute;left:6%;right:6%;bottom:3%;display:flex;align-items:center;gap:22px}.wand-shop-footer button{padding:5px 0;border:0;background:none;font-size:11px;letter-spacing:1px;color:#d3bd92}.wand-shop-footer p{font-size:9px;color:#92856f;letter-spacing:1px;margin:0 auto}.wand-shop-footer #shop-ready{color:#f4dca8}.wand-shop button:focus-visible{outline:1px solid #f1d7a1;outline-offset:5px}
@keyframes wand-hover{0%,100%{transform:translate(-50%,-50%) rotate(0deg)}50%{transform:translate(-50%,-54%) rotate(-1deg)}}
@keyframes wand-test{0%{transform:translate(-50%,-50%) rotate(0deg)}25%{transform:translate(-54%,-65%) rotate(-18deg)}45%{transform:translate(-44%,-56%) rotate(12deg)}75%{transform:translate(-48%,-53%) rotate(1deg)}100%{transform:translate(-50%,-50%) rotate(0deg)}}
#stage[data-motion=reduced] .wand-hero,.wand-shop[data-reduced=true] .wand-hero{animation:none}.wand-shop[data-reduced=true] .wand-mini{transition:none}.wand-shop[data-trial=casting] .wand-hero{will-change:transform}
@media(max-width:800px){.wand-shop-header{inset:5% 5% auto}.wand-shop-header h2{font-size:28px}.wand-shop-header p{font-size:8px;letter-spacing:2px}.wand-identity{left:5%;width:23%}.wand-identity h3{font-size:37px;letter-spacing:6px}.wand-lore{font-size:11px;line-height:1.9}.wand-details{right:5%;width:23%}.wand-details dd{font-size:12px}.wand-fitting{left:22%;right:22%}.wand-fitting-actions button{min-width:135px;padding:6px 8px;font-size:11px}.wand-response{font-size:11px}.wand-boxes{gap:12px;bottom:8%}.wand-shop-footer{left:5%;right:5%;gap:18px}.wand-shop-footer p{display:none}.wand-shop-footer #shop-map{margin-left:auto}}
@media(max-width:560px) and (max-aspect-ratio:1/1){.wand-shop-header{inset:4% 6% auto;gap:15px}.wand-shop-header h2{font-size:28px;letter-spacing:6px}.wand-shop-header>div>span{font-size:10px;letter-spacing:3px}.wand-shop-header p{font-size:6px;letter-spacing:1.5px}.wand-wallet strong{font-size:24px}.wand-wallet>span{font-size:8px}.wand-close{padding-left:4px}.wand-identity{top:19%;left:7%;width:86%;max-width:none;text-align:center}.wand-identity>p:first-child{font-size:8px;margin:0 0 8px}.wand-identity h3{font-size:38px;letter-spacing:9px;margin:0 0 7px}.wand-identity>span{font-size:11px}.wand-lore{margin:12px auto 0;font-size:11px;line-height:1.8;max-width:280px}.wand-display{width:88%;top:55%}.wand-arrow{top:42%;font-size:36px!important;padding:8px}.wand-prev{left:3%}.wand-next{right:3%}.wand-details{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 22px;left:6%;right:6%;top:58%;width:auto;max-width:none;text-align:center}.wand-details>div{margin:0}.wand-details dt{font-size:8px;letter-spacing:1px;margin-bottom:2px}.wand-details dd{font-size:11px;line-height:1.8}.wand-details .wand-affinity{width:100%}.wand-details .wand-affinity dd{font-size:11px}.wand-details .wand-affinity dt{display:none}.wand-fitting{left:6%;right:6%;top:68%}.wand-response{font-size:10px;min-height:30px;line-height:1.7;margin:0 0 7px}.wand-fitting-actions{gap:6px}.wand-fitting-actions button{min-width:0;flex:1;font-size:11px;padding:5px 2px;border-width:9px}.wand-boxes{bottom:6.5%;gap:4px}.wand-mini{width:98px;height:87px}.wand-mini-box{width:98px;height:73.5px;top:-9px}.wand-mini-art{width:48px;height:48px;left:25px;top:7px}.wand-mini span{top:51px;font-size:11px;letter-spacing:3px}.wand-mini small{top:70px;font-size:8px}.wand-shop-footer{left:6%;right:6%;bottom:2.7%;gap:10px}.wand-shop-footer button{font-size:10px}.wand-shop-footer #shop-map{display:none}.wand-shop-footer #shop-ready{margin-left:auto}}
@media(max-height:580px) and (min-aspect-ratio:1/1){.wand-shop-header{top:4%;gap:18px}.wand-shop-header h2{font-size:23px;letter-spacing:5px;margin-bottom:5px}.wand-shop-header p{font-size:7px;margin-bottom:5px}.wand-shop-header>div>span{font-size:9px}.wand-wallet strong{font-size:22px}.wand-identity{top:29%;width:20%}.wand-identity h3{font-size:32px;margin-bottom:10px}.wand-identity>p:first-child{margin-bottom:10px}.wand-lore{font-size:10px;margin-top:12px}.wand-display{width:47%;top:55%}.wand-details{top:29%;width:20%}.wand-details>div{margin-bottom:10px}.wand-details dd{font-size:11px}.wand-details .wand-affinity dd{font-size:10px}.wand-fitting{top:58%;left:24%;right:24%}.wand-response{min-height:22px;font-size:10px;margin-bottom:3px}.wand-fitting-actions button{border-width:8px;padding:3px 8px;min-width:140px;font-size:10px}.wand-boxes{bottom:5%;gap:7px}.wand-mini{width:98px;height:70px}.wand-mini-box{width:98px;height:73.5px;top:-13px}.wand-mini-art{width:47px;height:47px;top:2px;left:25px}.wand-mini span{top:47px;font-size:10px}.wand-mini small{top:62px;font-size:7px}.wand-shop-footer{bottom:2%;gap:12px}.wand-shop-footer button{font-size:9px}}

/* Refined Meowa wands are native horizontal sprites; preserve their slender proportions. */
.wand-mini-art{width:96px;height:auto;left:50%;top:40px;transform:translate(-50%,-50%)}
@media(max-width:560px) and (max-aspect-ratio:1/1){.wand-mini-art{width:78px;height:auto;left:50%;top:33px}}
@media(max-height:580px) and (min-aspect-ratio:1/1){.wand-mini-art{width:78px;height:auto;left:50%;top:29px}}

/* Essential information stays readable over the generated workshop. */
.wand-lore,.wand-response{font-size:13px}
.wand-details dt,.wand-mini small{font-size:11px}
.wand-mini{opacity:.78}.wand-mini[aria-pressed=true]{opacity:1}
.wand-fitting-actions button:disabled{opacity:.72}
.wand-shop-footer button{font-size:13px;min-height:44px}
.wand-close{min-width:44px;min-height:44px}
@media(max-width:560px) and (max-aspect-ratio:1/1){.wand-shop-footer #shop-map{display:block}}
@media(max-width:560px) and (max-aspect-ratio:1/1){.wand-lore{font-size:12px}.wand-details dt{font-size:10px}.wand-details dd,.wand-details .wand-affinity dd{font-size:12px}.wand-response{font-size:12px}.wand-mini span{font-size:12px;letter-spacing:2px}.wand-mini small{font-size:10px}.wand-shop-footer button{font-size:12px;letter-spacing:0}.wand-close{min-width:32px;padding:0}.wand-wallet>span{font-size:10px}}
@media(max-height:580px) and (min-aspect-ratio:1/1){.wand-lore,.wand-response{font-size:11px}.wand-details dt,.wand-mini small{font-size:10px}.wand-shop-footer button{font-size:11px;min-height:30px}.wand-fitting{left:23%;right:23%}}

/* Bleed the generated backdrop slightly beyond the viewport edge. */
.wand-workshop{transform:scale(1.004)}
