:root{--rarity-common:#c5d4df;--rarity-rare:#78baff;--rarity-epic:#d196ff;--rarity-special:#ffd97d}
.rarity-original{--rarity:#91decb}.rarity-common{--rarity:var(--rarity-common)}.rarity-rare{--rarity:var(--rarity-rare)}.rarity-epic{--rarity:var(--rarity-epic)}.rarity-special{--rarity:var(--rarity-special)}
.gacha-menu-button{border-color:#cda6ed!important;background:linear-gradient(125deg,#35315c,#211b3b)!important}.gacha-menu-button .menu-symbol{color:#d9aaff}.gacha-ticket-count{white-space:nowrap;color:#f5d389;font:14px system-ui}
.gacha-collection-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.gacha-intro,.gacha-how{color:#b8c6dd;font:15px/1.7 system-ui}.gacha-how{max-width:760px;margin:22px auto}.gacha-fine{max-width:760px;color:#8d9bb1;font:12px/1.7 system-ui}.gacha-stage{position:relative;isolation:isolate;min-height:320px;display:grid;place-items:center;overflow:hidden;border:1px solid #68769666;border-radius:24px;background:radial-gradient(ellipse at center,#44345a80,transparent 65%);margin:24px 0}.gacha-orbit{position:absolute;width:170px;height:170px;border-radius:50%;border:1px solid #c6a3ef80;box-shadow:0 0 42px #ae65ef28,inset 0 0 30px #da8cfd18;transition:transform 1s cubic-bezier(.2,.8,.2,1),opacity .6s}.gacha-chest{font:80px Georgia;color:#ead0ff;text-shadow:0 0 25px #c77dfd80;transition:transform .7s,opacity .4s}.gacha-stage.opening .gacha-orbit{animation:gacha-orbit 1.35s cubic-bezier(.2,.8,.2,1) both}.gacha-stage.opening .gacha-chest{animation:gacha-open 1.35s cubic-bezier(.2,.7,.2,1) both}.gacha-stage.revealed .gacha-chest{opacity:0;position:absolute;pointer-events:none}.gacha-stage.revealed .gacha-orbit{transform:scale(1.7);opacity:.18}.gacha-result{position:relative;z-index:1;display:flex;align-items:center;flex-direction:column;gap:12px;padding:24px;text-align:center;animation:gacha-reveal .65s cubic-bezier(.16,1,.3,1) both}.gacha-result[hidden]{display:none}.gacha-result>img{height:130px;max-width:170px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 7px 5px #06051180)}.gacha-result>strong{font-size:14px;line-height:1.6}.gacha-result>small{color:var(--rarity);font:600 14px system-ui}.gacha-result>span{font:13px system-ui;color:#b6c9dd}.gacha-stage[data-rarity=special]{background:radial-gradient(ellipse at center,#c78c3745,transparent 70%)}.gacha-stage[data-rarity=epic]{background:radial-gradient(ellipse at center,#9d4cc94d,transparent 70%)}.gacha-pull{display:block;min-width:230px;margin:0 auto;padding:18px 24px;border:1px solid #c2a0ed;border-radius:14px;color:#f8e9ff;background:linear-gradient(120deg,#5c397d,#302c59);font:inherit;transition:transform .2s,filter .2s,opacity .2s;cursor:pointer}.gacha-pull:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.15)}.gacha-pull:disabled{opacity:.4;cursor:default}.gacha-probabilities{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:24px 0}.gacha-probabilities>span{color:var(--rarity);border:1px solid color-mix(in srgb,var(--rarity),transparent 65%);border-radius:30px;padding:8px 14px;font:14px system-ui}.gacha-filters{display:flex;gap:12px;margin:20px 0}.gacha-filters select{min-width:0;flex:1;padding:12px;border:1px solid #7b89ac;border-radius:10px;color:#e9e5ff;background:#161c35;font:14px system-ui}.gacha-inventory{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:15px}.gacha-owned-card{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:22px 12px;min-height:180px;border:1px solid color-mix(in srgb,var(--rarity),transparent 35%);border-radius:16px;background:linear-gradient(135deg,#27314a,#141a32);color:#e7ecff;cursor:pointer}.gacha-owned-card>img{width:100%;height:85px;object-fit:contain;image-rendering:pixelated}.gacha-owned-card>strong{font-size:10px;line-height:1.7}.gacha-owned-card>small{color:var(--rarity);font:12px system-ui}.skin-collection-actions{display:flex;gap:12px;margin:22px 0}.skin-collection-actions button{padding:12px 16px;border:1px solid #9d80c1;border-radius:10px;background:#26213e;color:#f4ddff;font:12px system-ui;cursor:pointer}.skin-animation-note{font:11px/1.6 system-ui;color:#a5afc0;opacity:.5;margin:8px 0 15px}.skin-saga-label{font:11px system-ui;color:#b0bed4}.special-gallery-card.skin-locked .special-gallery-portrait{filter:grayscale(.85);opacity:.45}.special-gallery-card.skin-locked{border-color:#626a7f;opacity:.72}.special-gallery-filters select[hidden]{display:none}.part-carousel-choice>small{color:var(--rarity,#b9cadb)}
#ticket-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:500;padding:11px 18px;border:1px solid #cfae6955;border-radius:30px;background:#161b2eeb;color:#ffe5a3;font:13px system-ui;pointer-events:none;animation:ticket-enter .35s ease-out;transition:opacity .35s,translate .35s}#ticket-toast.leaving{opacity:0;translate:0 8px}#ticket-toast[hidden]{display:none}
@keyframes gacha-orbit{0%{transform:scale(.9) rotate(0);opacity:.5}55%{transform:scale(1.25) rotate(150deg);opacity:1}85%{transform:scale(.5) rotate(280deg);opacity:1}100%{transform:scale(2.6) rotate(360deg);opacity:0}}@keyframes gacha-open{0%{transform:scale(1);opacity:1}65%{transform:scale(.8) rotate(90deg);opacity:1}100%{transform:scale(1.8) rotate(180deg);opacity:0}}@keyframes gacha-reveal{from{opacity:0;transform:translateY(18px) scale(.92);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes ticket-enter{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.gacha-filters{flex-direction:column}.gacha-stage{min-height:290px}.gacha-inventory{grid-template-columns:repeat(2,minmax(0,1fr))}.gacha-probabilities{gap:7px}.gacha-probabilities>span{font-size:12px;padding:7px 10px}.skin-collection-actions{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.gacha-stage *,.gacha-result,#ticket-toast{animation:none!important;transition:none!important}}

#hp.star-health{display:flex;align-items:center;gap:4px}#hp.star-health img{width:21px;height:18px;image-rendering:pixelated;object-fit:contain}

.gacha-developer-tickets{margin:18px 0;padding:15px 18px;border:1px solid #a68ad55c;border-radius:12px;background:#29253f80}.gacha-developer-tickets>label{display:block;margin-bottom:10px;color:#d8b8f2;font:600 13px system-ui}.gacha-developer-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.gacha-developer-row input{width:120px;min-width:0;box-sizing:border-box;padding:10px 12px;border:1px solid #8d87ac;border-radius:8px;background:#141a2b;color:#ffe1a2;font:16px system-ui}.gacha-developer-row input:focus-visible{outline:2px solid #d0adf0;outline-offset:2px}.gacha-developer-row .secondary{padding:10px 14px;font:13px system-ui;min-height:40px}

.gacha-pull-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.gacha-pull-actions .gacha-pull{margin:0;min-width:210px}.gacha-pull-ten{border-color:#f4d98d;background:linear-gradient(125deg,#66502e,#3a2d51);color:#ffedbe}.gacha-result{width:100%;box-sizing:border-box}.gacha-prize{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.gacha-prize>img{height:130px;max-width:170px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 7px 5px #06051180)}.gacha-prize>small{color:var(--rarity);font:600 13px system-ui}.gacha-prize>strong{font-size:13px;line-height:1.6}.gacha-prize>span{font:12px system-ui;color:#b6c9dd}.gacha-results-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%}.gacha-results-grid .gacha-prize{padding:15px 9px;border:1px solid color-mix(in srgb,var(--rarity) 50%,transparent);border-radius:12px;background:#151a2dbd;animation:prize-arrive .55s cubic-bezier(.16,1,.3,1) var(--prize-delay) both}.gacha-results-grid .gacha-prize>img{height:80px;max-width:90px}.gacha-results-grid .gacha-prize>strong{font:600 12px/1.5 system-ui}.gacha-results-grid .gacha-prize .secondary{padding:8px 12px;font:12px system-ui}.gacha-result>h4{color:#f8e6b7;margin:0 0 12px;font:600 18px system-ui}.gacha-results-grid .rarity-special{box-shadow:0 0 22px #efc46b30,inset 0 0 24px #efc46b10;border-color:#f1cf82}.gacha-stage.special-cinematic{min-height:460px}.special-reveal{position:absolute;inset:0;z-index:5;overflow:hidden;display:grid;place-items:center;border-radius:inherit}.special-veil{position:absolute;inset:0;background:radial-gradient(ellipse,#493515,#0d1020 75%);animation:reveal-veil 3.4s ease both}.special-sunburst{position:absolute;width:850px;height:850px;background:repeating-conic-gradient(from 0deg,#ffd36b40 0deg 5deg,transparent 5deg 20deg);mask-image:radial-gradient(circle,#000,transparent 64%);animation:reveal-rays 3.4s ease both}.special-ring{position:absolute;width:190px;height:190px;border:1px solid #ffe1a5;border-radius:50%;box-shadow:0 0 25px #efc56844,inset 0 0 25px #efc56822;animation:reveal-ring 3.4s cubic-bezier(.2,.8,.2,1) both}.ring-two{width:240px;height:240px;border-style:dashed;animation-delay:.08s;opacity:.7}.ring-three{width:300px;height:300px;border-color:#a68aff80;animation-delay:.16s}.special-shockwave{position:absolute;width:180px;height:180px;border:3px solid #ffecbe;border-radius:50%;animation:reveal-wave 3.4s ease-out both}.special-sparks{position:absolute;left:50%;top:50%;width:0;height:0}.special-sparks i{position:absolute;width:4px;height:9px;left:-2px;top:-4px;background:#ffdfa0;box-shadow:0 0 8px #ffdc7c;animation:reveal-spark 2.35s cubic-bezier(.12,.65,.2,1) calc(.7s + var(--delay)) both}.special-sparks i:nth-child(3n){background:#c3a0ff;width:3px;height:5px}.special-hero{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px;text-align:center;pointer-events:none;animation:reveal-hero 3.4s cubic-bezier(.16,1,.3,1) both}.special-hero>small{font:10px system-ui;letter-spacing:4px;color:#e4c99b}.special-hero-image{height:150px;display:grid;place-items:center}.special-hero-image img{height:150px;width:auto;max-height:150px;max-width:210px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 0 22px #ffd87788);animation:reveal-avatar 3.4s cubic-bezier(.16,1,.3,1) both}.special-hero>strong{font-size:clamp(22px,4vw,42px);letter-spacing:5px;color:#ffebb0;text-shadow:0 2px #714b2c,0 0 28px #f4b54688}.special-hero-name{color:#fff1d1;font:600 18px system-ui}.special-hero-count{color:#cdbd9e;font:12px system-ui}.special-reveal-skip{position:absolute;right:16px;bottom:14px;border:0;background:transparent;color:#d9c59f;font:12px system-ui;cursor:pointer;padding:10px;animation:prize-arrive .5s .9s both}
@keyframes prize-arrive{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes reveal-veil{0%{opacity:0}15%,88%{opacity:1}100%{opacity:0}}
@keyframes reveal-rays{0%,18%{opacity:0;transform:scale(.2) rotate(-40deg)}35%{opacity:1;transform:scale(1) rotate(0deg)}85%{opacity:.8}100%{opacity:0;transform:scale(1.4) rotate(42deg)}}
@keyframes reveal-ring{0%{opacity:0;transform:scale(2) rotate(-100deg)}22%{opacity:.9;transform:scale(.5) rotate(30deg)}38%{opacity:1;transform:scale(1.2) rotate(95deg)}85%{opacity:.35}100%{opacity:0;transform:scale(1.6) rotate(180deg)}}
@keyframes reveal-wave{0%,25%{opacity:0;transform:scale(.2)}28%{opacity:1}60%,100%{opacity:0;transform:scale(4)}}
@keyframes reveal-spark{0%{opacity:0;transform:translate(0,0) scale(0)}10%{opacity:1}80%{opacity:.7}100%{opacity:0;transform:translate(var(--sx),var(--sy)) rotate(var(--turn)) scale(.3)}}
@keyframes reveal-hero{0%,18%{opacity:0;transform:translateY(15px) scale(.88)}38%,85%{opacity:1;transform:translateY(0) scale(1)}100%{opacity:0;transform:translateY(-8px) scale(1.04)}}
@keyframes reveal-avatar{0%,20%{opacity:0;transform:scale(.5) translateY(20px)}45%,85%{opacity:1;transform:scale(1) translateY(0)}100%{opacity:0;transform:scale(1.05) translateY(-5px)}}
@media(max-width:760px){.gacha-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gacha-results-grid .gacha-prize:last-child:nth-child(odd){grid-column:1/-1}.gacha-stage.special-cinematic{min-height:440px}.special-hero>small{letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){.special-reveal *,.gacha-results-grid .gacha-prize{animation:none!important}.special-sparks,.special-sunburst,.special-shockwave,.special-ring{display:none}.special-hero{opacity:1}.special-veil{opacity:1}}

.gacha-redemption{margin:22px 0;padding:20px;border:1px solid #edc77a80;border-radius:16px;background:linear-gradient(120deg,#4b392c66,#32263f80)}.gacha-redemption>div{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:16px}.gacha-redemption strong{font:600 16px system-ui;color:#ffdfa0}.gacha-special-count{font:600 14px system-ui;color:#f5d389;white-space:nowrap}.gacha-redemption p{font:13px/1.7 system-ui;color:#c9bfab;margin:15px 0 0}.gacha-redemption .gacha-pull{border-color:#e8ca83;background:linear-gradient(120deg,#79552e,#453151);min-width:0;max-width:100%}.gacha-fireworks{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}.redemption-reveal .special-hero>strong{font-size:clamp(16px,2.8vw,30px);letter-spacing:2px}.redemption-reveal .special-hero,.redemption-reveal .special-hero-image img,.redemption-reveal .special-ring,.redemption-reveal .special-veil,.redemption-reveal .special-sunburst,.redemption-reveal .special-shockwave{animation-duration:5.4s}.redemption-reveal .special-sunburst{background:repeating-conic-gradient(from 0deg,#ffdb7d60 0deg 4deg,transparent 4deg 16deg)}
@media(max-width:600px){.gacha-redemption>div{align-items:flex-start;flex-direction:column}}

/* Compact pixel interface; the game-wide pixel face is already loaded. */
.sheet-card:has(.gacha-panel){grid-template-columns:minmax(0,1fr);gap:12px;padding:24px;width:min(940px,95vw)}.sheet-card:has(.gacha-panel) .sheet-tabs{grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;border-right:0;padding:0 0 10px;min-height:0;gap:8px}.sheet-card:has(.gacha-panel) .sheet-body{grid-column:1/-1;min-height:0;min-width:0;width:100%}.gacha-panel{min-width:0}.gacha-panel :is(p,small,span,label,input,button,select,strong,h4){font-family:var(--pixel)!important;line-height:1.8}.gacha-panel :is(p,small,span,label,select){font-size:8px}.gacha-panel input{font-size:11px}.gacha-panel button{font-size:9px}.gacha-collection-heading{gap:12px}.gacha-collection-heading h3{margin:5px 0;font-size:12px}.gacha-panel .gacha-intro{margin:6px 0 10px;font-size:8px}.gacha-stage{min-height:210px;margin:12px 0;border-radius:16px}.gacha-result{padding:16px}.gacha-prize>img{height:85px;max-width:120px}.gacha-prize{gap:7px}.gacha-prize>strong{font-size:10px}.gacha-prize>small,.gacha-prize>span{font-size:7px}.gacha-pull-actions{gap:10px}.gacha-pull-actions .gacha-pull{padding:12px 16px;min-width:200px}.gacha-redemption{margin:12px 0;padding:12px 15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 18px}.gacha-redemption>div{margin:0;gap:10px;display:flex;flex-wrap:wrap}.gacha-redemption strong{font-size:10px}.gacha-redemption .gacha-pull{padding:12px 15px;font-size:8px;grid-column:2;grid-row:1/3}.gacha-redemption p{margin:0;font-size:7px}.gacha-probabilities{margin:12px 0 0;gap:8px}.gacha-probabilities>span{padding:6px 9px;font-size:7px}.gacha-developer-tickets{padding:10px 12px;margin:10px 0}.gacha-developer-row .secondary{min-height:34px;padding:8px 10px;font-size:7px}.gacha-developer-tickets>label{font-size:8px}.gacha-developer-row input{padding:7px 9px;font-size:10px}.gacha-results-grid .gacha-prize{padding:12px 7px}.gacha-results-grid .gacha-prize>strong{font-size:7px}.gacha-results-grid .gacha-prize .secondary{font-size:7px}.gacha-results-grid .gacha-prize>img{height:65px;max-width:85px}.gacha-stage.special-cinematic{min-height:440px}.gacha-panel .special-hero>strong{font-size:clamp(20px,3.4vw,36px)}.gacha-panel .redemption-reveal .special-hero>strong{font-size:clamp(15px,2.5vw,27px)}.gacha-panel .special-hero-name{font-size:11px}.gacha-panel .special-hero-count,.gacha-panel .special-reveal-skip{font-size:7px}.gacha-panel .special-hero>small{font-size:7px;letter-spacing:2px}
.sheet-body :is(.setting-row strong,.setting-row small,.setting-row select,.setting-row input[type=number],.notice),.character-combination p span,.skin-animation-note,.skin-saga-label{font-family:var(--pixel)!important}.setting-row strong{font-size:10px!important;line-height:1.9}.setting-row small{font-size:8px!important;line-height:1.9}.setting-row{gap:16px}.skin-saga-label,.skin-animation-note{font-size:7px}
.play-feedback{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}.play-float{position:absolute;pointer-events:none;white-space:nowrap;font:clamp(9px,1.05vw,15px)/1.7 var(--pixel);text-shadow:1px 1px #080b18,-1px -1px #080b18,0 2px #080b18;animation:play-float-rise 1.2s cubic-bezier(.16,.65,.25,1) both;will-change:transform,opacity}.play-float.tickets{color:#ffe49b}.play-float.damage{color:#ff696f;font-size:clamp(11px,1.4vw,20px)}.play-float.damage::before{content:'✦';position:absolute;left:-12px;top:3px;color:#ffb18b;font-size:12px;animation:hit-spark .35s ease-out both}
@keyframes play-float-rise{0%{opacity:0;transform:translateY(5px) scale(.88)}15%{opacity:1;transform:translateY(-2px) scale(1)}65%{opacity:1}100%{opacity:0;transform:translateY(-35px) scale(1)}}@keyframes hit-spark{from{opacity:1;transform:scale(.5) rotate(0)}to{opacity:0;transform:scale(1.5) rotate(80deg)}}
@media(max-width:600px){.sheet-card:has(.gacha-panel){padding:16px}.gacha-redemption{grid-template-columns:1fr}.gacha-redemption .gacha-pull{grid-column:1;grid-row:auto;width:100%}.gacha-pull-actions .gacha-pull{min-width:0;flex:1;font-size:7px;padding:11px 7px}.gacha-collection-heading{flex-wrap:wrap}.gacha-stage{min-height:190px}}
@media(prefers-reduced-motion:reduce){.play-float{animation:play-float-fade .8s ease both}.play-float.damage::before{display:none}}@keyframes play-float-fade{0%,70%{opacity:1}100%{opacity:0}}

.name-color-setting{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:0 0 18px;padding:13px;border:1px solid #879fc066;border-radius:12px;background:#151d354d}.name-color-setting>div:first-child{flex:1;min-width:130px}.name-color-setting h3{font:9px/1.8 var(--pixel);margin:0 0 8px}.name-color-preview{font:10px/1.8 var(--pixel);text-shadow:1px 2px #080b18;overflow-wrap:anywhere}.name-color-setting small{font:7px/1.8 var(--pixel);color:#acbad3}.name-color-setting .secondary{font:7px/1.8 var(--pixel);padding:8px}.name-color-wheel{width:76px;height:76px;border-radius:50%;position:relative;touch-action:none;cursor:crosshair;flex:none;background:radial-gradient(circle,#f9f9ff 0%,#ffffff00 70%),conic-gradient(hsl(0 85% 72%),hsl(60 85% 72%),hsl(120 85% 72%),hsl(180 85% 72%),hsl(240 85% 82%),hsl(300 85% 72%),hsl(360 85% 72%));border:2px solid #c8d7ef;box-shadow:0 3px 0 #080e25}.name-color-wheel i{position:absolute;left:50%;top:10%;width:9px;height:9px;border:2px solid white;outline:1px solid #27314d;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.name-color-wheel:focus-visible{outline:2px solid #ffe49b;outline-offset:4px}

.play-float.tickets{display:inline-flex;align-items:center;gap:7px;padding:5px 8px 5px 5px;border:1px solid #87f2a77a;border-radius:6px;background:linear-gradient(120deg,#143f2bea,#102c23d9);color:#a9ffc0;box-shadow:0 0 13px #74ef8b26,inset 0 1px #c6ffd928;text-shadow:1px 1px #092217;font-size:clamp(8px,.9vw,13px);animation:ticket-acquire 1.65s cubic-bezier(.2,.75,.2,1) both;transform-origin:10px center}.ticket-reward-icon{width:25px;height:19px;flex:none;filter:drop-shadow(0 0 4px #90ffb044);animation:ticket-icon-pop .65s cubic-bezier(.2,.8,.2,1) both}.ticket-reward-halo{position:absolute;left:7px;top:50%;width:26px;height:26px;border:1px solid #bdffb4;border-radius:50%;pointer-events:none;animation:ticket-halo .65s ease-out both}.ticket-reward-spark{position:absolute;left:15px;top:50%;width:3px;height:3px;background:#ceffb6;box-shadow:0 0 5px #8dffae;pointer-events:none;animation:ticket-spark .6s ease-out var(--spark-delay) both}.play-float.tickets>span{position:relative}
@keyframes ticket-acquire{0%{opacity:0;transform:translate(-9px,9px) scale(.55) rotate(-9deg)}15%{opacity:1;transform:translate(1px,-2px) scale(1.1) rotate(3deg)}28%{transform:translate(3px,-5px) scale(.97) rotate(-2deg)}42%{transform:translate(5px,-8px) scale(1) rotate(0)}72%{opacity:1}100%{opacity:0;transform:translate(13px,-42px) scale(.94) rotate(2deg)}}
@keyframes ticket-icon-pop{0%{transform:rotate(-28deg) scale(.5)}45%{transform:rotate(14deg) scale(1.15)}75%{transform:rotate(-6deg) scale(.97)}100%{transform:rotate(0) scale(1)}}
@keyframes ticket-halo{0%{opacity:0;transform:translateY(-50%) scale(.4)}20%{opacity:.9}100%{opacity:0;transform:translateY(-50%) scale(2.5)}}
@keyframes ticket-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--spark-x),var(--spark-y)) scale(.2)}}
@media(prefers-reduced-motion:reduce){.play-float.tickets{animation:play-float-fade 1s ease both}.ticket-reward-icon{animation:none}.ticket-reward-halo,.ticket-reward-spark{display:none}}

/* Results scroll inside a fixed viewport: ten pulls never resize or scroll the sheet. */
.gacha-panel .gacha-stage,.gacha-panel .gacha-stage.special-cinematic{height:260px;min-height:260px;max-height:260px;display:grid;overflow:hidden}.gacha-panel .gacha-result{height:100%;max-height:260px;overflow:auto;min-height:0;align-self:stretch;overscroll-behavior:contain;scrollbar-width:thin}.gacha-panel .gacha-results-grid{align-items:stretch;flex:none}.gacha-panel .gacha-result>h4{flex:none}.gacha-panel .special-hero{gap:6px;padding:12px}.gacha-panel .special-hero-image{height:85px}.gacha-panel .special-hero-image img{height:85px;max-height:85px;max-width:150px}.gacha-panel .special-hero>strong{font-size:24px}.gacha-panel .redemption-reveal .special-hero>strong{font-size:18px}.gacha-panel .special-hero-name{font-size:9px}.gacha-panel .special-hero-count{font-size:6px}.gacha-panel .special-hero>small{font-size:6px}.gacha-panel .special-reveal-skip{bottom:6px;right:10px;padding:6px;font-size:6px}.gacha-balances{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.gacha-balances .gacha-ticket-count{color:#a5f6b7}.gacha-balances .gacha-special-count{color:#f8d88e}
.menu-wallet{display:flex;gap:7px;align-items:center;margin-left:auto;flex:none}.menu-wallet button{display:flex;gap:7px;align-items:center;border:1px solid #8299b866;border-radius:7px;padding:8px 10px;background:#16263bd9;font:9px/1.4 var(--pixel);cursor:pointer;min-height:34px}.menu-wallet svg{width:23px;height:18px;color:#9bf0b4}.menu-wallet .menu-wallet-ticket{color:#b8ffc9}.menu-wallet .menu-wallet-special{color:#ffe49c}.menu-wallet button:hover{border-color:#bbefcf;background:#243b46}.topbar:has(.menu-wallet){flex-wrap:wrap;height:auto;min-height:95px;row-gap:8px}.playing .menu-wallet{display:none}
@media(max-width:1000px){.menu-wallet{order:3;width:100%;justify-content:flex-end}.topbar:has(.menu-wallet){padding-top:12px;padding-bottom:12px}.menu-wallet button{font-size:8px;padding:6px 9px;min-height:28px}}@media(max-width:600px){.gacha-panel .gacha-stage,.gacha-panel .gacha-stage.special-cinematic{height:260px;min-height:260px}.gacha-panel .special-hero>strong{font-size:19px}.gacha-panel .redemption-reveal .special-hero>strong{font-size:13px}.gacha-balances{gap:8px}}

/* Ten prizes share the same fixed stage, with no inner scrollbar. */
.gacha-panel .gacha-result{overflow:hidden;padding:10px;gap:5px}
.gacha-panel .gacha-result>h4{font-size:9px;margin:0 0 3px}
.gacha-panel .gacha-results-grid{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:211px;min-height:0;gap:6px}
.gacha-panel .gacha-results-grid .gacha-prize{min-width:0;min-height:0;padding:5px 4px;gap:3px;overflow:hidden;cursor:pointer}
.gacha-panel .gacha-results-grid .gacha-prize:last-child{grid-column:auto}
.gacha-panel .gacha-results-grid .gacha-prize>img{height:46px;max-width:100%;flex:none}
.gacha-panel .gacha-results-grid .gacha-prize>strong{font-size:6px;line-height:1.6;width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.gacha-panel .gacha-results-grid .gacha-prize>small{font-size:5px;line-height:1.6;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gacha-panel .gacha-results-grid .gacha-prize:focus-visible{outline:2px solid #ffe3a2;outline-offset:-3px}
.gacha-panel .gacha-progress{color:#ffe0a0;font-size:8px}
.gacha-quick-prize{animation:quick-prize .42s cubic-bezier(.2,.8,.2,1) both}
@keyframes quick-prize{0%{opacity:0;transform:translateX(28px) scale(.9)}22%,76%{opacity:1;transform:none}100%{opacity:0;transform:translateX(-18px) scale(.97)}}
@media(max-width:600px){.gacha-panel .gacha-results-grid{gap:3px}.gacha-panel .gacha-results-grid .gacha-prize{padding:5px 2px}.gacha-panel .gacha-results-grid .gacha-prize>strong{font-size:5px}.gacha-panel .gacha-results-grid .gacha-prize>small{font-size:4px}}
@media(prefers-reduced-motion:reduce){.gacha-quick-prize{animation:none}}

/* Rarity glints follow the prize currently being revealed. */
.gacha-prize.rarity-rare{--glint:#78baff}.gacha-prize.rarity-epic{--glint:#d196ff}
.gacha-prize{position:relative;isolation:isolate}
.gacha-result:not(:has(.gacha-results-grid)) .gacha-prize:is(.rarity-rare,.rarity-epic)::before,.gacha-result:not(:has(.gacha-results-grid)) .gacha-prize:is(.rarity-rare,.rarity-epic)::after{content:'';position:absolute;pointer-events:none;z-index:-1;background:var(--glint);box-shadow:0 0 10px var(--glint),-66px 24px 0 -1px var(--glint),70px -18px 0 -1px var(--glint);width:12px;height:12px;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);left:18%;top:25%;animation:rarity-glint .65s ease-out both}
.gacha-result:not(:has(.gacha-results-grid)) .gacha-prize:is(.rarity-rare,.rarity-epic)::after{left:auto;right:12%;top:55%;animation-delay:.06s}
.gacha-result:not(:has(.gacha-results-grid)) .gacha-prize:is(.rarity-rare,.rarity-epic)>img{filter:drop-shadow(0 0 12px var(--glint))}
@keyframes rarity-glint{0%{opacity:0;transform:scale(.2) rotate(-40deg)}35%{opacity:1;transform:scale(1.3) rotate(0)}100%{opacity:0;transform:translateY(-18px) scale(.4) rotate(65deg)}}
@media(prefers-reduced-motion:reduce){.gacha-prize::before,.gacha-prize::after{animation:none!important;display:none}}

.gacha-panel .gacha-prize>.gacha-duplicate{position:absolute;z-index:3;left:50%;top:8px;transform:translateX(-50%);color:#ff686d;background:#28131ced;border:1px solid #ff656b99;border-radius:4px;padding:3px 6px;font:7px/1.7 var(--pixel);white-space:nowrap;text-shadow:1px 1px #410b18;pointer-events:none;animation:duplicate-pop .65s cubic-bezier(.2,.8,.2,1) both}
.gacha-panel .gacha-results-grid .gacha-duplicate{font-size:5px;top:3px;padding:2px 3px}
@keyframes duplicate-pop{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}45%{opacity:1;transform:translate(-50%,-2px) scale(1.1)}100%{opacity:1;transform:translate(-50%,0) scale(1)}}
@media(prefers-reduced-motion:reduce){.gacha-panel .gacha-prize>.gacha-duplicate{animation:none}}

.music-settings{margin-top:24px;padding-top:16px;border-top:1px solid #879fc044}.music-settings #music-track{max-width:55%;font:8px/1.8 var(--pixel)}.music-settings #music-current{font:8px/1.9 var(--pixel);color:#a9d9dd}.music-settings [hidden]{display:none!important}@media(max-width:600px){.music-settings .setting-row{flex-wrap:wrap}.music-settings #music-track{max-width:100%;width:100%}}

.music-beta{display:inline-block;vertical-align:middle;padding:3px 7px;margin-left:8px;border:1px solid #dbbf6f66;border-radius:5px;background:#7c65252e;color:#f4d789;font:7px/1.7 var(--pixel)}

#quick-audio{position:fixed;z-index:200;width:min(280px,calc(100vw - 24px));box-sizing:border-box;padding:15px 16px;border:1px solid #92a5ca;border-radius:12px;background:linear-gradient(140deg,#283353f5,#151c35fa);color:#e8efff;box-shadow:0 10px 30px #02071488,inset 0 1px #c0dbff24;backdrop-filter:blur(12px);font:8px/1.7 var(--pixel);animation:quick-audio-in .16s ease-out both}
#quick-audio[hidden]{display:none}.quick-audio-group+.quick-audio-group{margin-top:12px;padding-top:12px;border-top:1px solid #a1b9df30}.quick-audio-toggle{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.quick-audio-toggle small{font:6px/1.5 var(--pixel);color:#f2d28f;border:1px solid #d9b87266;border-radius:3px;padding:2px 4px;margin-left:4px}.quick-audio-toggle input{width:17px;height:17px;accent-color:#7ee8d5;cursor:pointer}.quick-audio-volume{display:flex;align-items:center;gap:12px;margin-top:9px}.quick-audio-volume input{flex:1;min-width:0;accent-color:#ff86bf;height:16px;margin:0;cursor:pointer}.quick-audio-volume output{min-width:44px;text-align:right;color:#c3e7eb;font:7px/1.7 var(--pixel)}#quick-audio input:focus-visible{outline:2px solid #95eee0;outline-offset:3px}
@keyframes quick-audio-in{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){#quick-audio{animation:none}}

#ticket-toast{left:16px;top:112px;bottom:auto;transform:none;max-width:calc(100vw - 32px);box-sizing:border-box;font:9px/1.8 var(--pixel);color:#b8ffc9;border-color:#87f2a766;border-radius:8px;background:#102c23ed}

.play-float.tickets.ticket-purple,#ticket-toast.ticket-purple{color:#efc5ff;border-color:#cf8bff;background:linear-gradient(120deg,#4b2364ef,#28143be8);box-shadow:0 0 18px #bc60ff55,inset 0 1px #f1c6ff44;text-shadow:1px 1px #23102e}.ticket-purple .ticket-reward-icon{filter:hue-rotate(145deg) drop-shadow(0 0 5px #dca0ff)}.ticket-purple .ticket-reward-halo{border-color:#e5b1ff}.ticket-purple .ticket-reward-spark{background:#e5b1ff;box-shadow:0 0 7px #bb6aff}
.play-float.damage{color:#fff0c4;font-size:clamp(17px,2vw,29px);font-weight:bold;padding:2px 5px;background:#590c2470;border-radius:5px;text-shadow:2px 2px #7b132c,-2px -2px #7b132c,2px -2px #7b132c,-2px 2px #7b132c,0 0 12px #ff593b;animation:damage-impact 1.2s ease-out both}.play-float.damage::before{font-size:28px;color:#ffd379;left:-20px;top:-8px;text-shadow:0 0 12px #ff633d}.play-float.damage::after{content:'';position:absolute;inset:-7px;border:2px solid #ffb76d;border-radius:50%;animation:damage-ring .45s ease-out both}
@keyframes damage-impact{0%{opacity:0;transform:translateY(5px) scale(.5) rotate(-8deg)}12%{opacity:1;transform:translateY(-4px) scale(1.35) rotate(4deg)}26%{transform:translateY(-9px) scale(1) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translateY(-42px) scale(1)}}
@keyframes damage-ring{from{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(1.7)}}
@media(prefers-reduced-motion:reduce){.play-float.damage{animation:play-float-fade 1s ease both}.play-float.damage::after{display:none}}

/* Wallet stays first in the header, including during play. */
.playing .topbar .menu-wallet{display:flex;position:fixed;top:12px;left:12px;z-index:90;order:initial;width:auto;justify-content:flex-start;margin:0;gap:6px}.playing .menu-wallet button{pointer-events:none;min-height:28px;padding:6px 8px;font-size:8px}
#ticket-toast{padding:0;border:0;background:none;box-shadow:none;display:flex;flex-direction:column;align-items:flex-start;gap:7px}
#ticket-toast[hidden]{display:none}
#ticket-toast>div{padding:8px 12px;border:1px solid #87f2a766;border-radius:7px;background:#102c23ed;color:#b8ffc9;animation:ticket-enter .35s ease-out}
#ticket-toast.ticket-purple{background:none;border:0;box-shadow:none}
#ticket-toast.ticket-purple .ticket-normal-notice{color:#efc5ff;border-color:#cf8bff;background:#351a4aee}
#ticket-toast .ticket-special-notice{color:#e2c6ff;border-color:#be89ff;background:#2c1746ef;box-shadow:0 0 14px #ad68ef33;animation:special-ticket-arrive .55s cubic-bezier(.2,.8,.2,1) both}
@keyframes special-ticket-arrive{0%{opacity:0;transform:translateY(-10px) scale(.9)}65%{opacity:1;transform:translateY(2px) scale(1.04)}100%{opacity:1;transform:none}}
.play-float.damage::before,.play-float.damage::after{display:none}
@media(prefers-reduced-motion:reduce){#ticket-toast>div{animation:none}}

.play-float.tickets.ticket-special{font-size:clamp(7px,.7vw,10px);gap:4px;padding:3px 5px;color:#ffe68b;border-color:#e9c75b88;background:#453715d9;box-shadow:0 0 9px #ffdc6433;text-shadow:1px 1px #392706}
.ticket-special .ticket-reward-icon{width:18px;height:14px;filter:sepia(1) saturate(3) hue-rotate(2deg) drop-shadow(0 0 3px #ffda6b66)}
.ticket-special .ticket-reward-halo{width:18px;height:18px;border-color:#ffe49b}
.ticket-special .ticket-reward-spark{width:2px;height:2px;background:#ffe49b;box-shadow:0 0 4px #ffda6b}
#ticket-toast{font-size:7px;line-height:1.6;opacity:.65;gap:4px}
#ticket-toast>div{padding:5px 8px;background:#102c23b3;border-color:#87f2a744}
#ticket-toast.ticket-purple .ticket-normal-notice{background:#351a4ab3;border-color:#cf8bff66}
#ticket-toast .ticket-special-notice{color:#ffe49b;background:#3b3015b3;border-color:#e9c75b66;box-shadow:none}

.play-float.tickets.achievement-reward,#ticket-toast .achievement-notice{color:#ffd5a6;background:#4b2918dc;border-color:#f7a45199;box-shadow:0 0 10px #ff9b4533}
.achievement-reward .ticket-reward-icon{display:none}.achievement-reward>span{border-radius:20px}.achievement-reward .ticket-reward-halo{border-color:#ffad65}

.achievement-medal{position:absolute;top:3%;left:50%;translate:-50% 0;z-index:20;display:flex;flex-direction:column;align-items:center;gap:5px;width:min(270px,70%);pointer-events:none;text-align:center;color:#ffe0b3;font-family:var(--pixel);filter:drop-shadow(0 3px 3px #000b)}
.achievement-medal[hidden]{display:none}.achievement-emblem{position:relative;width:clamp(50px,6vw,78px);height:clamp(50px,6vw,78px)}.achievement-emblem::before,.achievement-emblem::after{content:'';position:absolute;top:47%;width:35px;height:2px;background:linear-gradient(90deg,transparent,#eaa15f);right:100%}.achievement-emblem::after{right:auto;left:100%;rotate:180deg}.achievement-emblem svg{width:100%;height:100%}.achievement-medal strong{font-size:clamp(8px,1vw,13px);line-height:1.7;text-transform:uppercase;text-shadow:1px 2px #21150e}.achievement-medal small{font-size:clamp(7px,.8vw,10px);color:#ffb570;line-height:1.6}
.medal-show{animation:medal-arrive 2.8s ease both}.medal-show .achievement-emblem{animation:medal-stamp .55s cubic-bezier(.2,.85,.3,1.2) both}
@keyframes medal-arrive{0%{opacity:0;transform:translateY(-18px)}12%,80%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-9px)}}@keyframes medal-stamp{0%{transform:scale(1.55) rotate(-14deg)}65%{transform:scale(.95) rotate(2deg)}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.medal-show{animation:play-float-fade 2.8s ease both}.medal-show .achievement-emblem{animation:none}}

.guide-overlay{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}.guide-overlay[hidden]{display:none}.guide-marker{position:absolute;translate:-50% -100%;display:flex;align-items:center;flex-direction:column-reverse;color:#ffe36f;text-shadow:1px 1px #1c1609,-1px -1px #1c1609;max-width:120px;text-align:center}.guide-marker b{font:26px/1 sans-serif;filter:drop-shadow(0 0 4px #ffda5a77);animation:guide-bob 1.3s ease-in-out infinite}.guide-marker span{font:clamp(6px,.65vw,9px)/1.6 var(--pixel);background:#251e10b8;border-radius:4px;padding:3px 5px}.guide-hint{position:absolute;left:50%;bottom:3%;translate:-50% 0;margin:0;width:max-content;max-width:85%;box-sizing:border-box;padding:7px 10px;border:1px solid #e9ca6155;border-radius:6px;background:#201d13d6;color:#ffe49b;text-align:center;font:clamp(6px,.75vw,10px)/1.8 var(--pixel)}@keyframes guide-bob{50%{transform:translateY(3px)}}@media(prefers-reduced-motion:reduce){.guide-marker b{animation:none}}

.guide-single{translate:-50% -50%;width:clamp(46px,5vw,70px);max-width:none;gap:4px;flex-direction:column}.guide-single[hidden]{display:none}.guide-single svg{width:100%;height:auto;overflow:visible;filter:drop-shadow(0 2px 4px #0009);transition:transform .14s linear}.guide-single span{white-space:nowrap}.guide-single b{animation:none}@media(prefers-reduced-motion:reduce){.guide-single svg{transition:none}}

.guide-single svg{transition:none}.guide-single{width:clamp(40px,4.5vw,62px)}

.guide-single{opacity:.48}.guide-single svg{filter:drop-shadow(0 0 5px #ffe458aa) drop-shadow(0 0 12px #ffcf3a66)}.guide-single span{display:none}

.guide-connections{position:absolute;inset:0;pointer-events:none}.guide-connections>svg{position:absolute;inset:0;width:100%;height:100%;overflow:hidden}.guide-connections path{fill:none;stroke-width:.8;stroke-dasharray:2 4;opacity:.28}.guide-link-plate,.guide-link-door{position:absolute;translate:-50% -50%;box-sizing:border-box;border:1px solid var(--link-color);background:color-mix(in srgb,var(--link-color) 10%,transparent);box-shadow:0 0 7px color-mix(in srgb,var(--link-color) 35%,transparent)}.guide-link-plate{width:7%;height:1.8%;border-radius:50%;opacity:.8}.guide-link-door{width:8%;height:26%;border-radius:8px 8px 3px 3px;opacity:.5}.guide-link-door::before{content:'';position:absolute;top:3px;left:50%;translate:-50% 0;width:5px;height:5px;background:var(--link-color);border-radius:50%}

/* Subtle guide marker: one vertical line per linked door. */
.guide-link-door{width:0;height:25%;border:0;border-left:1px solid var(--link-color);border-radius:0;background:none;box-shadow:none;opacity:.25}
.guide-link-door::before{display:none}

.achievement-medal.medal-poison{color:#c7ff65;filter:drop-shadow(0 3px 3px #000b) drop-shadow(0 0 7px #82e62844)}.medal-poison .achievement-emblem svg{filter:hue-rotate(55deg) saturate(1.6)}.medal-poison small{color:#aaff45}.medal-poison .achievement-emblem::before,.medal-poison .achievement-emblem::after{background:linear-gradient(90deg,transparent,#9be844)}

.guide-link-door.guide-door-flash{animation:guide-door-flash .65s ease-out both}
@keyframes guide-door-flash{0%{opacity:.95;box-shadow:0 0 9px 2px var(--link-color)}100%{opacity:.25;box-shadow:0 0 0 0 transparent}}
@media(prefers-reduced-motion:reduce){.guide-link-door.guide-door-flash{animation:none;opacity:.65}}

.guide-link-door{height:30%;transform:none}

.guide-link-door.guide-gate-contour{width:2.2%;height:30%;border:1px solid var(--link-color);border-radius:1px;background:none;box-shadow:none;opacity:.3}
.guide-link-door.guide-gate-contour.guide-door-flash{animation:guide-gate-flash .65s ease-out both}
@keyframes guide-gate-flash{0%{opacity:.9;box-shadow:0 0 6px var(--link-color)}100%{opacity:.3;box-shadow:none}}
@media(prefers-reduced-motion:reduce){.guide-link-door.guide-gate-contour.guide-door-flash{animation:none}}

#hp:not(.star-health){color:#ef6868;text-shadow:0 1px #651e29}

#avatar-swords{max-height:320px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}#avatar-swords .avatar-option{font-size:7px;line-height:1.6;display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px}#avatar-swords .sword-option-image{width:40px;height:40px;object-fit:contain;image-rendering:pixelated}

#ticket-toast .achievement-notice.poison-notice{color:#c7ff65;border-color:#98d94377;background:#26390fbd}

.special-gallery-grid.saga-overview{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px}.special-saga-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:180px;padding:18px 10px;border:1px solid #a2a6b548;border-radius:14px;background:linear-gradient(145deg,#343843,#23262f);color:#eeeef3;font:10px/1.7 var(--pixel);transition:border-color .2s,transform .2s}.special-saga-card img{height:76px;width:90px;object-fit:contain;image-rendering:pixelated}.special-saga-card strong{text-align:center;font-size:9px}.special-saga-card small{font-size:8px;color:#c3c5ce}.special-saga-card:not(:disabled):hover{border-color:#ffe49b88;transform:translateY(-2px)}.special-saga-card.saga-locked{filter:grayscale(1);opacity:.42;cursor:not-allowed}.special-gallery-card.skin-locked{filter:grayscale(1);opacity:.38;cursor:not-allowed;background:#24262d!important}.special-gallery-card:disabled{pointer-events:auto}.special-saga-card:disabled{cursor:not-allowed}

#avatar-swords.weapon-carousel{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;max-height:none;overflow:visible}.weapon-carousel-choice{min-height:152px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;border:1px solid #8999bd55;border-radius:10px;background:#1c263c88;text-align:center}.weapon-carousel-image{width:72px;height:72px;object-fit:contain;image-rendering:pixelated}.weapon-carousel-choice strong{font:8px/1.7 var(--pixel)}.weapon-carousel-choice small{font:7px/1.7 var(--pixel);color:#bfc6db}.character-preview-column .sword-preview{display:none}

.weapon-carousel-choice{min-height:120px;padding:8px;gap:5px}.weapon-carousel-image{width:48px;height:48px}

.special-saga-card:not(:disabled){background:linear-gradient(145deg,#334d69,#34324f 65%,#48345c);border-color:#99bbdf77;color:#fff1c4}.special-saga-card.saga-locked{background:#2d2f36;border-color:#73778044;color:#a6a8af;filter:grayscale(1);opacity:.55}.special-saga-card.saga-locked strong{color:inherit}
/* Compact skin editor with all three selectors visible in one view. */
.sheet-card:has(#skins-appearance:not([hidden])):not(:has(.special-gallery-active)){display:flex;flex-direction:column;width:min(1100px,96vw);max-width:1100px;height:min(690px,95dvh);max-height:95dvh;padding:22px 26px;overflow:hidden;gap:12px}
.sheet-card:has(#skins-appearance:not([hidden])) .sheet-heading{flex:0 0 auto;margin:0;padding-bottom:12px;min-height:40px}
.sheet-card:has(#skins-appearance:not([hidden])) .sheet-heading h2{font-size:17px;margin:0}
.sheet-card:has(#skins-appearance:not([hidden])) .sheet-heading::after{display:none}
.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs{flex:0 0 auto;display:flex;flex-direction:row;gap:8px;padding:0;margin:0;border:0}
.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs button{padding:9px 14px;font-size:8px;min-height:32px}
.sheet-card:has(#skins-appearance:not([hidden])) #sheet-body{flex:1;min-height:0;padding:0;overflow:visible;width:100%}
#skins-appearance:not([hidden]){display:flex;flex-direction:column;gap:12px;height:100%;min-height:0}
.skin-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:0 0 auto}
.skin-tools .skin-collection-actions{margin:0;gap:7px;flex:none}
.skin-tools .skin-collection-actions button{padding:9px 11px;font:8px/1.6 var(--pixel)}
.skin-tools .gacha-ticket-count{font:8px/1.6 var(--pixel)}
.skin-tools .name-color-setting{margin:0;padding:7px 10px;gap:12px;flex-wrap:nowrap;min-width:0}
.skin-tools .name-color-setting>div:first-child{min-width:0}.skin-tools .name-color-setting h3{font-size:7px;margin:0 0 3px}.skin-tools .name-color-preview{font-size:7px;max-width:190px}.skin-tools .name-color-wheel{width:42px;height:42px}.skin-tools .name-color-setting .secondary{font-size:6px;padding:6px}
#skins-appearance .character-customizer{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(160px,.8fr);gap:20px;min-height:0;flex:1;align-items:stretch}
#skins-appearance .character-controls{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:10px;min-height:0}
#skins-appearance .character-control-group{padding:0;margin:0;min-height:0;display:flex;flex-direction:column;gap:5px;border:0}
#skins-appearance .character-control-group>h3,#skins-appearance .character-control-group>legend{font:9px/1.5 var(--pixel);margin:0;padding:0}
#skins-appearance .part-carousel,#skins-appearance #avatar-swords.weapon-carousel{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:8px;flex:1;min-height:0;max-height:none;overflow:visible}
#skins-appearance .part-carousel-stage{min-height:0;height:100%}
#skins-appearance .part-carousel-choice,#skins-appearance .weapon-carousel-choice{min-height:0;height:100%;padding:7px 10px;gap:5px;display:flex;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap}
#skins-appearance .part-carousel-choice .character-part-portrait{height:55px;width:65px;flex:0 0 65px;grid-row:auto}
#skins-appearance .character-part-portrait img{height:50px;max-height:50px;width:auto;max-width:65px;object-fit:contain}
#skins-appearance .character-part-portrait.head img{height:29px;max-height:29px}
#skins-appearance .part-carousel-choice strong,#skins-appearance .weapon-carousel-choice strong{font:8px/1.6 var(--pixel);max-width:56%;overflow-wrap:anywhere}
#skins-appearance .part-carousel-choice small,#skins-appearance .weapon-carousel-choice small{font:6px/1.6 var(--pixel);flex:0 0 100%;text-align:center}
#skins-appearance .part-carousel-arrow{width:30px;min-width:30px;min-height:32px;height:36px;padding:0;align-self:center;font-size:22px}
#skins-appearance .weapon-carousel-image{width:60px;height:42px;flex:0 0 60px;object-fit:contain}
#skins-appearance .character-preview-column{position:static;grid-row:auto;display:flex;flex-direction:column;gap:10px;min-height:0}
#skins-appearance .character-mode-actions{margin:0;gap:7px}#skins-appearance .character-mode-actions button{padding:9px 5px;font-size:7px}
#skins-appearance .avatar-preview{min-height:0;flex:1;padding:12px;display:flex;align-items:center;justify-content:center;max-height:300px}
#skins-appearance .avatar-preview img{height:clamp(100px,24dvh,210px);max-height:100%;max-width:100%;object-fit:contain}
#skins-appearance .character-combination{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0}
#skins-appearance .character-combination p{margin:0;font-size:8px;line-height:1.5;flex:1;min-width:70px}
#skins-appearance .character-combination p strong{font:6px/1.8 var(--pixel);display:block}
#skins-appearance .character-combination p span{font:7px/1.8 var(--pixel)}
@media(max-width:650px){.sheet-card:has(#skins-appearance:not([hidden])):not(:has(.special-gallery-active)){padding:14px;gap:8px;height:97dvh;max-height:97dvh}.skin-tools{flex-wrap:wrap;gap:7px}.skin-tools .skin-collection-actions{width:100%}.skin-tools .skin-collection-actions button{flex:1;padding:7px;font-size:7px}.skin-tools .name-color-setting{width:100%;padding:5px 8px;justify-content:space-between}.skin-tools .name-color-wheel{width:32px;height:32px}.skin-tools .name-color-setting h3{font-size:6px}.skin-tools .name-color-preview{font-size:6px}.skin-tools .name-color-setting .secondary{font-size:5px}#skins-appearance{gap:8px}#skins-appearance .character-customizer{grid-template-columns:minmax(0,1.4fr) minmax(90px,.7fr);gap:10px}#skins-appearance .character-controls{gap:7px}#skins-appearance .part-carousel,#skins-appearance #avatar-swords.weapon-carousel{grid-template-columns:22px minmax(0,1fr) 22px;gap:4px}#skins-appearance .part-carousel-arrow{width:22px;min-width:22px;font-size:18px}#skins-appearance .part-carousel-choice,#skins-appearance .weapon-carousel-choice{padding:5px;gap:4px;flex-direction:column;flex-wrap:nowrap}#skins-appearance .part-carousel-choice .character-part-portrait{width:40px;flex:0 1 40px;height:40px}#skins-appearance .character-part-portrait img{height:36px;max-height:36px}#skins-appearance .character-part-portrait.head img{height:22px;max-height:22px}#skins-appearance .part-carousel-choice strong,#skins-appearance .weapon-carousel-choice strong{font-size:6px;max-width:100%}#skins-appearance .part-carousel-choice small,#skins-appearance .weapon-carousel-choice small{font-size:5px;flex:0 0 auto}#skins-appearance .character-control-group>h3,#skins-appearance .character-control-group>legend{font-size:7px}#skins-appearance .character-mode-actions{grid-template-columns:1fr;gap:5px}#skins-appearance .character-mode-actions button{font-size:6px;padding:7px 3px}#skins-appearance .avatar-preview{padding:6px;max-height:210px}#skins-appearance .avatar-preview img{height:115px}#skins-appearance .character-combination p span{font-size:6px}#skins-appearance .weapon-carousel-image{height:22px;flex:0 1 22px;width:55px}}
@media(max-height:600px){.sheet-card:has(#skins-appearance:not([hidden])):not(:has(.special-gallery-active)){padding:12px 16px;gap:7px}.sheet-card:has(#skins-appearance:not([hidden])) .sheet-heading{padding-bottom:7px;min-height:30px}.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs button{padding:6px 10px;min-height:26px}.skin-tools .name-color-wheel{width:30px;height:30px}.skin-tools .name-color-setting{padding:4px 8px}.skin-tools .skin-collection-actions button{padding:7px}.skin-tools .name-color-setting .secondary{padding:4px}#skins-appearance .character-controls{gap:5px}#skins-appearance .character-control-group{gap:3px}#skins-appearance .part-carousel-choice,#skins-appearance .weapon-carousel-choice{padding:3px 6px;gap:3px}#skins-appearance .character-part-portrait img{max-height:28px;height:28px}#skins-appearance .character-part-portrait.head img{height:18px;max-height:18px}#skins-appearance .part-carousel-choice .character-part-portrait{height:28px;flex-basis:40px;width:40px}#skins-appearance .weapon-carousel-image{height:25px}#skins-appearance .part-carousel-choice strong,#skins-appearance .weapon-carousel-choice strong{font-size:6px}#skins-appearance .part-carousel-choice small,#skins-appearance .weapon-carousel-choice small{font-size:5px}#skins-appearance .avatar-preview img{height:100px}}
.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs{min-height:0;height:34px;align-self:stretch;align-items:stretch;flex-wrap:nowrap}
.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs button{height:34px;flex:0 1 auto}
@media(max-height:600px){.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs,.sheet-card:has(#skins-appearance:not([hidden])) #sheet-tabs button{height:28px}}
.sheet-card:has(#skins-appearance:not([hidden])) .sheet-heading #close-sheet{position:static;margin-left:auto;min-height:30px;padding:7px 12px;flex:none}
#skins-appearance .character-customizer{margin-top:0}
#skins-appearance .character-combination{margin:0}
@media(max-height:600px) and (min-width:651px){#skins-appearance .part-carousel-choice,#skins-appearance .weapon-carousel-choice{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:1fr 1fr;align-items:center;justify-items:center;gap:1px 5px}#skins-appearance .part-carousel-choice .character-part-portrait,#skins-appearance .weapon-carousel-image{grid-row:1/3;grid-column:1}#skins-appearance .part-carousel-choice strong,#skins-appearance .weapon-carousel-choice strong{grid-column:2;max-width:100%}#skins-appearance .part-carousel-choice small,#skins-appearance .weapon-carousel-choice small{grid-column:2;letter-spacing:0}#skins-appearance .character-preview-column{gap:6px}#skins-appearance .character-combination{gap:3px 8px}#skins-appearance .character-mode-actions{gap:5px}#skins-appearance .character-mode-actions button{padding:5px;font-size:6px}}
.boss-reward{position:absolute;z-index:22;pointer-events:none;top:13%;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:9px;padding:18px 25px;max-width:85%;border:1px solid #e6bb6177;border-radius:5px 22px 5px 22px;background:radial-gradient(ellipse at top,#754324c9,#161328ed 75%);box-shadow:0 0 34px #f0a64833;color:#ffe2a0;text-align:center;font:9px/1.6 var(--pixel)}
.boss-emblem{width:60px;height:60px;display:grid;place-items:center;border:2px solid #e4a64c;border-radius:50%;box-shadow:0 0 20px #e9a44355,inset 0 0 15px #e79d2b33;font-size:29px;color:#ffdd83}.boss-reward>strong{font-size:10px;letter-spacing:1px}.boss-reward>span{font-size:8px;color:#d4c1d9}.boss-reward>b{font-size:11px;color:#ebbbff}.boss-reward>b.boss-special{font-size:9px;color:#ffdf6e}.boss-reward.boss-jaffar{border-color:#ffe292bb;background:radial-gradient(ellipse at top,#713d85eb,#211333ef 70%);box-shadow:0 0 40px #e5be5955,0 0 80px #c775f02b;padding:22px 32px}.boss-jaffar .boss-emblem{width:76px;height:76px;border-color:#ffe396;font-size:38px;box-shadow:0 0 28px #ffd06977,inset 0 0 22px #ffe17d33}.boss-sparks{position:absolute;left:50%;top:35%;pointer-events:none;z-index:-1}.boss-sparks i{position:absolute;width:5px;height:5px;background:#ffdd7c;box-shadow:0 0 9px #ffca56;animation:boss-spark 1s ease-out var(--d) both}.boss-jaffar .boss-sparks i:nth-child(even){background:#d09bff;box-shadow:0 0 12px #c070ff}.boss-reward.show{animation:boss-banner 3s ease both}.boss-reward.show.boss-jaffar{animation-duration:3.9s}.boss-reward.show .boss-emblem{animation:boss-emblem .65s cubic-bezier(.18,.9,.3,1.3) both}
@keyframes boss-spark{0%{opacity:0;transform:translate(0,0) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--x),var(--y)) scale(.2)}}@keyframes boss-banner{0%{opacity:0;transform:translate(-50%,-16px) scale(.85)}13%,80%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-10px)}}@keyframes boss-emblem{from{transform:rotate(-30deg) scale(.4)}to{transform:rotate(0) scale(1)}}
@media(max-width:650px){.boss-reward{gap:6px;padding:12px 17px;font-size:7px}.boss-reward>strong{font-size:8px}.boss-reward>b{font-size:9px}.boss-emblem{width:45px;height:45px;font-size:23px}.boss-jaffar .boss-emblem{width:54px;height:54px;font-size:28px}.boss-reward.boss-jaffar{padding:15px 20px}}
@media(prefers-reduced-motion:reduce){.boss-reward.show,.boss-reward.show .boss-emblem,.boss-sparks i{animation:none}.boss-sparks{display:none}}
#skins-appearance .weapon-carousel-choice small{color:var(--rarity,#bfc6db)}
#skins-appearance .weapon-carousel-choice.rarity-rare{border-color:#78baff88}#skins-appearance .weapon-carousel-choice.rarity-epic{border-color:#d196ff88}#skins-appearance .weapon-carousel-choice.rarity-special{border-color:#ffdf7788}
.sheet-body .support-services p{color:#ffe2a0}
.play-float.tickets.ticket-phase{color:#a6f6ff;border-color:#71e9ff99;background:#12394bdc;box-shadow:0 0 14px #53e7ff55;}
.ticket-phase .ticket-reward-icon{filter:hue-rotate(58deg) saturate(1.2) drop-shadow(0 0 5px #52e8ff77);}
.ticket-phase .ticket-reward-halo{border-color:#75efff;}
.ticket-phase .ticket-reward-spark{background:#a0f5ff;box-shadow:0 0 7px #50dfff;}
