.purchase-controls{width:100%;min-width:0;margin-top:auto;border-top:1px solid var(--theme-line,#dfeded);padding-top:10px;display:grid;gap:8px}
.purchase-line{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}
.purchase-unit{min-width:0;line-height:1.25}.purchase-unit strong{display:block;font-size:17px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.purchase-unit strong small{font-size:10px;color:var(--theme-muted,#66828b)}.purchase-unit>span{display:block;font-size:10px;color:var(--theme-muted,#66828b);margin-top:3px}
.purchase-quantity{display:grid;grid-template-columns:32px 48px 32px;align-items:center;gap:2px;flex-shrink:0;border:1px solid var(--theme-line,#b8d8d9);border-radius:12px;background:var(--theme-field,#f6faf9);height:44px}
.commerce-page .purchase-quantity button{display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:9px;min-height:42px;width:100%;background:transparent;color:var(--theme-ink,#193b49);font-size:19px;box-shadow:none;cursor:pointer;touch-action:manipulation}
.commerce-page .purchase-quantity button:hover:enabled{background:var(--theme-hover,#dbefec)}.commerce-page .purchase-quantity button:disabled{opacity:.25;cursor:default}
.purchase-wheel{position:relative;height:42px;display:grid;align-content:center;touch-action:none;cursor:ns-resize;overflow:hidden;border-radius:6px}
.purchase-wheel input{width:100%;min-width:0;height:24px;padding:0!important;margin:0!important;border:0!important;border-radius:4px;background:transparent!important;color:var(--theme-ink,#193b49)!important;font-family:inherit;font-size:14px;font-weight:600;line-height:24px;text-align:center;outline-offset:-1px;font-variant-numeric:tabular-nums;touch-action:none;cursor:ns-resize;box-shadow:none!important}
.purchase-wheel input:focus{outline:1px solid var(--theme-accent,#219f9f);cursor:text}
.purchase-wheel input[readonly]{cursor:default;color:var(--theme-muted,#66828b)!important}
.purchase-wheel input[readonly][data-ui-pending="true"]{color:var(--theme-ink,#193b49)!important}
.purchase-wheel>span{position:absolute;left:0;right:0;text-align:center;font-size:8px;line-height:9px;color:var(--theme-muted,#66828b);opacity:.38;pointer-events:none;font-variant-numeric:tabular-nums}
.purchase-wheel>span:first-child{top:0;mask-image:linear-gradient(transparent,#000)}.purchase-wheel>span:last-child{bottom:0;mask-image:linear-gradient(#000,transparent)}
.purchase-wheel>span:before{content:attr(data-text)}
.commerce-page .purchase-confirm{width:100%;min-height:44px;margin:0!important;padding:9px 8px!important;font-size:12px!important;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
.commerce-page .purchase-confirm:disabled{opacity:.46;cursor:default}
:root:not([data-theme="dark"]):not([data-theme="aura"]):not([data-theme="obsidian"]){
 --purchase-fx-card-shadow:0 0 0 1px #b5812a9c,0 7px 24px #78551324;
 --purchase-fx-bloom:#e5b34838;--purchase-fx-tail:#af73094d;--purchase-fx-gold:#b97b18;--purchase-fx-tip:#714409;
 --purchase-fx-pin:#ffe9a4;--purchase-fx-pin-shadow:0 0 0 1px #996010a6,0 0 7px 3px #ffe5a9,0 0 17px 6px #c78e342e;
 --purchase-fx-ring:#a87317;--purchase-fx-ring-shadow:0 1px 3px #8e5a1638,inset 0 1px 2px #fff6cdcc;
 --purchase-fx-star:#a66508;--purchase-fx-spark:#a87213;--purchase-fx-spark-glow:#b97b184d;
}
.commerce-page .commerce-card.is-purchasing{box-shadow:var(--purchase-fx-card-shadow,0 0 0 1px #edc57788,0 0 27px #f0ba4524)}
.commerce-card.is-purchasing .item-showcase>.item-picture,.commerce-card.is-purchasing .item-showcase>img{top:0;transition:none}
.purchase-effect{position:absolute;inset:0;border-radius:23px;pointer-events:none}
.purchase-bloom{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 50% 17%,var(--purchase-fx-bloom,#ffdf8e33),transparent 65%);animation:purchase-bloom 1500ms ease-out both}
.purchase-orbit{position:absolute;left:50%;top:var(--purchase-center);width:150px;height:150px;margin:-75px;border-radius:50%;animation:purchase-orbit 850ms cubic-bezier(.3,.1,.3,1) both}
.purchase-orbit:before{content:'';position:absolute;inset:0;padding:3px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0deg,transparent 225deg,var(--purchase-fx-tail,#d6973733) 265deg,var(--purchase-fx-gold,#ffd47b) 320deg,var(--purchase-fx-tip,#fff9d9) 359deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.purchase-orbit i{position:absolute;top:-1px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--purchase-fx-pin,#fff7d8);box-shadow:var(--purchase-fx-pin-shadow,0 0 7px 3px #ffe5a9,0 0 19px 7px #efb74b88)}
.purchase-complete{position:absolute;left:50%;top:var(--purchase-center);width:148px;height:148px;margin:-74px;border:2px solid var(--purchase-fx-ring,#ffe6a4);border-radius:50%;box-shadow:var(--purchase-fx-ring-shadow,0 0 16px #f6c66744,inset 0 0 13px #f6c66733);animation:purchase-complete 530ms 790ms ease-out both}
.purchase-sparks{position:absolute;inset:-50px;width:calc(100% + 100px);height:calc(100% + 100px)}
.purchase-receipt{position:absolute;top:calc(var(--purchase-center) + 31px);left:7px;right:7px;display:flex;justify-content:center;align-items:center;gap:6px;animation:purchase-receipt 930ms 880ms ease-out both}
.purchase-receipt strong,.purchase-receipt span{border:1px solid #efd68d77;border-radius:8px;padding:6px 9px;background:#342a1af0;color:#ffe8ad;box-shadow:0 4px 14px #111b2844;font:700 12px/1.2 system-ui,sans-serif;font-variant-numeric:tabular-nums}
.purchase-receipt span{font-weight:500;font-size:11px;color:#fff0ce;background:#342a1ade}
@keyframes purchase-orbit{0%{opacity:0;transform:rotate(0deg)}12%{opacity:1}90%{opacity:1}100%{opacity:0;transform:rotate(360deg)}}
@keyframes purchase-complete{0%{opacity:0;transform:scale(1)}20%{opacity:.85}100%{opacity:0;transform:scale(1.25)}}
@keyframes purchase-bloom{0%{opacity:0}40%,62%{opacity:1}100%{opacity:0}}
@keyframes purchase-receipt{0%{opacity:0;translate:0 8px}18%,70%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -12px}}
.purchase-effect.reduced>:not(.purchase-receipt){display:none}.purchase-effect.reduced .purchase-receipt{animation:none;opacity:1}
@media(pointer:coarse){.purchase-quantity{grid-template-columns:42px 48px 42px}}
@media(prefers-reduced-motion:reduce){.purchase-effect>:not(.purchase-receipt){display:none}.purchase-receipt{animation:none;opacity:1}}
