/* Progressive controls use the existing Sakura palette. */
.gacha-price-panel{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 23px 10px;border-top:1px solid var(--g-line)}.gacha-price-panel small{display:block;font-size:10px;letter-spacing:.08em;color:var(--g-muted);margin-bottom:6px}.gacha-price-panel strong{font-variant-numeric:tabular-nums;font-size:22px;color:var(--g-text)}.gacha-price-panel .gacha-clock{text-align:right}.gacha-clock strong{font-size:13px}.gacha-price-panel p{flex-basis:100%;margin:2px 0 0;font-size:11px;line-height:1.8;color:var(--g-muted)}.gacha-spin.is-auto-active{background:#f4cfdb;border-color:#c77e98;color:#583347}.gacha-inline-result{display:flex;align-items:center;gap:12px;margin:10px 23px 0;padding:10px 14px;border:1px solid var(--g-line);border-radius:8px;font-size:12px;color:var(--g-text)}.gacha-inline-result .gacha-art{width:36px;height:36px}.gacha-inline-result>span:last-child{margin-left:auto;font-size:11px;color:var(--g-muted)}.ga-progressive{padding:16px;margin:22px 0;border:1px solid var(--g-line);border-radius:10px}.ga-progressive h3{margin-top:0}.ga-progressive .gacha-demo-note{margin:8px 0 14px}.gacha-price-panel~.gacha-controls{padding-top:16px}.gacha-inline-result[hidden]{display:none}.gacha-pool .enchant-glint{animation:none}.gacha-pool .gacha-item:hover .enchant-glint,.gacha-pool .gacha-item:focus-visible .enchant-glint{animation:enchanted-sweep 2s linear 1}@media(max-width:600px){.gacha-price-panel{padding:16px}.gacha-price-panel strong{font-size:20px}.gacha-clock strong{font-size:11px}.gacha-inline-result{margin:8px 16px 0;flex-wrap:wrap}.gacha-controls>.gacha-spin{flex:1 1 130px;width:auto;min-width:0;padding:13px 10px;font-size:12px}}@media(prefers-reduced-motion:reduce){.gacha-pool .enchant-glint{animation:none!important}}

@media(max-width:600px){#gacha-panel .gacha-controls{display:flex;flex-wrap:wrap;gap:10px}#gacha-panel .gacha-controls>.gacha-spin{flex:1 1 125px;width:auto;min-width:0;max-width:none}#gacha-panel .gacha-controls>.gacha-text-button{width:100%;text-align:center}}

.gacha-price-panel{justify-content:flex-end;padding:12px 20px 0;border-top:1px solid var(--g-line)}.gacha-price-panel .gacha-clock{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--g-line);border-radius:999px;background:rgba(255,255,255,.55)}.gacha-clock>span{font-size:20px;line-height:1}.gacha-price-panel .gacha-clock small{margin:0;font-size:11px;letter-spacing:0}.gacha-price-panel .gacha-clock strong{font-size:12px}.gacha-controls #gacha-spin{display:flex;align-items:center;justify-content:center;gap:12px}.gacha-controls #gacha-spin b{font-size:12px;white-space:nowrap}
/* Compact controls and the most recent confirmed reward. */
#gacha-panel .gacha-action-panel{display:flex;align-items:center;gap:20px;padding:16px 20px;border-top:1px solid var(--g-line)}
.gacha-action-main{flex:1;min-width:0}
#gacha-panel .gacha-action-panel .gacha-price-panel{padding:0;border:0;justify-content:space-between;gap:10px}
.gacha-current-price{display:flex;align-items:baseline;gap:10px}.gacha-current-price small{margin:0;font-size:11px;letter-spacing:0}.gacha-current-price strong{font-size:18px}
#gacha-panel .gacha-action-panel .gacha-controls{padding:14px 0 0;gap:10px;justify-content:flex-start}
#gacha-panel .gacha-action-panel .gacha-controls>.gacha-spin{flex:0 1 165px;min-width:0;min-height:48px;padding:10px 14px}
#gacha-panel .gacha-action-panel .gacha-controls>.gacha-text-button{width:auto;margin-left:auto}
#gacha-panel .gacha-inline-result{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin:0;padding:0;border:0;background:none;flex:0 0 116px}
#gacha-panel .gacha-inline-result[hidden]{display:none}
.gacha-last-label{width:100%;font-size:10px;color:var(--g-muted);text-align:center}
#gacha-panel .gacha-inline-result .gacha-item{box-sizing:border-box;width:112px;height:138px;flex:0 0 112px;padding:8px 5px;gap:4px;border-radius:10px}
#gacha-panel .gacha-inline-result .gacha-art{width:44px;height:44px}
#gacha-panel .gacha-inline-result .gacha-art img{width:100%;height:100%}
#gacha-panel .gacha-inline-result .gacha-item strong{font-size:10px;min-height:0}
#gacha-panel .gacha-inline-result .gacha-quantity{top:6px;right:7px;font-size:9px}
#gacha-panel .gacha-inline-result .enchant-empty{display:none}
#gacha-panel .gacha-inline-result .enchant-caption{font-size:8px;min-height:0}
#gacha-panel .gacha-inline-result .gacha-rarity{font-size:8px;padding:3px 5px}
.gacha-machine-top:has(#gacha-status[hidden]):not(:has(button:not([hidden]))){display:none}
@media(max-width:700px){#gacha-panel .gacha-action-panel{gap:12px;padding:14px;flex-wrap:wrap}.gacha-action-main{flex-basis:100%}#gacha-panel .gacha-action-panel .gacha-controls>.gacha-spin{flex:1 1 110px}#gacha-panel .gacha-action-panel .gacha-controls>.gacha-text-button{flex:0 0 auto;padding:8px 0}#gacha-panel .gacha-inline-result{flex-basis:100%;justify-content:flex-start}.gacha-last-label{width:auto;align-self:center;margin-right:4px}#gacha-panel .gacha-inline-result .gacha-item{height:128px;width:104px;flex-basis:104px}.gacha-current-price{flex-direction:column;gap:2px}.gacha-current-price strong{font-size:17px}}
#gacha-panel .gacha-inline-result .gacha-item{min-height:0;max-height:138px}
@media(max-width:700px){#gacha-panel .gacha-inline-result .gacha-item{max-height:128px}}
/* Distinct, tactile shop choices. */
#shop-tabs{display:flex;gap:10px;padding:0;border:0;background:none;box-shadow:none;isolation:isolate}
#shop-tabs:before,#shop-tabs:after{display:none}
#shop-tabs button{position:relative;flex:1;min-height:52px;padding:12px 20px;border:1px solid #d4bdc5;border-radius:12px;background:#fffafc;color:#4c6268;box-shadow:0 4px 0 #dbc9d0,0 5px 10px #47313b0d;font-weight:750;transition:transform .12s,box-shadow .12s,background .15s}
#shop-tabs button:hover:not(:disabled){background:#f9e8ef;transform:translateY(-1px);box-shadow:0 5px 0 #d3acbb,0 7px 12px #47313b14}
#shop-tabs button.selected{background:#a83864;color:#fff;border-color:#8d2e54;box-shadow:0 4px 0 #702342,0 6px 12px #8d2e5424}
#shop-tabs button:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 #8d5268}
#shop-tabs button:focus-visible{outline:3px solid #684294;outline-offset:5px}
#shop-tabs button:disabled{opacity:.55;cursor:not-allowed}
#shop-tabs button.selected:disabled{opacity:.85}
.gacha-clock[hidden],.ga-progressive[hidden]{display:none!important}
@media(max-width:600px){#shop-tabs{width:100%;gap:7px}#shop-tabs button{padding:10px 8px;font-size:11px;white-space:normal;line-height:1.35;min-width:0;min-height:50px}}
@media(prefers-reduced-motion:reduce){#shop-tabs button{transition:none}}
.gacha-price-help{margin:0 0 12px;font-size:11px;color:var(--g-muted);line-height:1.65;max-width:660px}.gacha-price-help[hidden]{display:none}
#gacha-panel .gacha-inline-result .gacha-item{cursor:pointer}#gacha-panel .gacha-inline-result .gacha-item:focus-visible{outline:2px solid var(--g-purple);outline-offset:3px}
#gacha-panel .gacha-inline-result .gacha-item.has-enchants{height:auto;min-height:150px;max-height:none;padding-bottom:10px}#gacha-panel .gacha-inline-result .has-enchants .enchant-caption{font-size:10px;line-height:1.4;overflow:visible;white-space:normal;overflow-wrap:anywhere;flex-shrink:0}
#gacha-detail-enchants{max-height:45vh;overflow:auto;overflow-wrap:anywhere}#gacha-detail-enchants p{white-space:normal}
/* Small explanatory text; compact transaction rows. */
#gacha-price-help{font-size:10px;color:#786383;line-height:1.5;margin-bottom:10px}
#gacha-history{width:min(700px,calc(100vw - 24px));padding:24px;max-height:calc(100dvh - 32px)}
#gacha-history .gacha-kicker,#gacha-history .gh-intro{display:none}
#gacha-history h2{font-size:22px;margin:0 40px 18px 0}
#gacha-history-list{display:flex;flex-direction:column;gap:8px}
#gacha-history .gh-view{padding:7px 9px;font-size:10px;border-radius:7px}
@media(max-width:500px){#gacha-history{padding:18px 12px}}
#gacha-history .gh-day{margin:0 0 18px}#gacha-history .gh-day-title{font-size:13px;margin:0 0 12px;color:var(--g-text);padding-bottom:8px;border-bottom:1px solid var(--g-line)}
.gh-day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#gacha-history .gh-draw{--draw-color:#829293;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;padding:12px 8px;border:1px solid var(--g-line);border-top:3px solid var(--draw-color);border-radius:12px;background:#fffafc;color:var(--g-text);font:inherit;cursor:pointer;box-shadow:0 3px 8px #50304009;transition:transform .15s,box-shadow .15s}
#gacha-history .gh-draw[data-rarity=rare]{--draw-color:#3285b6;background:#f0f8ff}#gacha-history .gh-draw[data-rarity=epic]{--draw-color:#8550b4;background:#f7f0ff}#gacha-history .gh-draw[data-rarity=legendary]{--draw-color:#b98220;background:#fff7dc}
#gacha-history .gh-draw:hover{transform:translateY(-2px);box-shadow:0 5px 14px #50304020}#gacha-history .gh-draw:focus-visible{outline:2px solid #a83864;outline-offset:3px}
.gh-draw .gacha-art{width:54px;height:54px}.gh-draw-kind{font-size:9px;color:var(--g-muted)}.gh-draw-name{font-size:11px;line-height:1.4;text-align:center;overflow-wrap:anywhere}.gh-draw-price{margin-top:auto;font-size:11px;font-weight:700}.gh-draw-state{font-size:9px;color:#317761}.gh-draw-state[data-tone=error]{color:#a52b49}.gh-draw-state[data-tone=warning],.gh-draw-state[data-tone=pending]{color:#8c611e}.gh-draw-enchants,.gh-draw-bonus{font-size:9px;color:#79539b}
@media(max-width:540px){.gh-day-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
.gacha-pool .gacha-item.has-enchants:hover .enchant-glint,.gacha-pool .gacha-item.has-enchants:focus-visible .enchant-glint{animation:enchanted-sweep 1.7s linear infinite;opacity:1}
.gacha-pool .gacha-item.has-enchants:hover .gacha-art img,.gacha-pool .gacha-item.has-enchants:focus-visible .gacha-art img{filter:drop-shadow(0 0 7px #bd7fff) drop-shadow(0 0 3px #e8caff)}
@media(prefers-reduced-motion:reduce){.gacha-pool .gacha-item.has-enchants:hover .enchant-glint{animation:none!important}.gh-draw{transition:none!important}}
/* Always-on Minecraft-style enchant sheen, including idle cards. */
.gacha-pool .gacha-item.has-enchants .enchant-glint,#gacha-inline-result .has-enchants .enchant-glint,.gh-draw .is-enchanted .enchant-glint{animation:enchanted-sweep 3s linear infinite;opacity:1}
.gacha-pool .gacha-item.has-enchants .gacha-art img{filter:drop-shadow(0 0 5px #b887e680)}
#gacha-result:not(.is-batch){width:min(380px,calc(100vw - 24px));padding:20px 22px;max-height:calc(100dvh - 24px);overflow:auto}
#gacha-result .gacha-kicker{margin:4px 0 8px;font-size:9px}#gacha-result h2{font-size:21px;margin:8px 0}
#gacha-result .gacha-large-art{margin:12px auto}#gacha-result .gacha-large-art .gacha-art{width:86px;height:86px}
#gacha-result .gacha-code{padding:12px;gap:6px;margin:14px 0 10px}#gacha-result .gacha-code button{padding:10px}#gacha-result .gacha-code samp{font-size:17px}
#gacha-result .enchant-lines{max-height:130px;overflow:auto;font-size:12px;margin:8px 0;padding-top:8px}
#gacha-result-note{font-size:11px;line-height:1.45;margin:10px 0}
#gacha-result #gacha-again{position:sticky;bottom:0;z-index:2;min-height:46px;margin-top:12px;padding:12px}
@media(prefers-reduced-motion:reduce){.gacha-pool .gacha-item.has-enchants .enchant-glint,#gacha-inline-result .has-enchants .enchant-glint,.gh-draw .is-enchanted .enchant-glint{animation:none!important}}
#gacha-result .gacha-rarity{color:var(--g-text);background:rgba(255,255,255,.65);border-color:var(--g-line)}
/* Small flame field, active only during automatic spins. */
#gacha-spin-five{position:relative;isolation:isolate;overflow:visible}
