/* Optional purple-qipao costume. Layout and action durations stay shared. */
body.blackfeather{--cup-purple:#bd96df;--cup-ink:#211824;--cup-pearl:#f7e9dd}
.blackfeather .home-art{background:#211824!important;animation:none!important}
.blackfeather .home-art.animated-ready{background:#211824!important}
.blackfeather #home .vignette{background:linear-gradient(#19121da8,transparent 37%,transparent 60%,#211824ed 84%,#17131c)}
.blackfeather .home-art:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,#e1c1ff08 49%,transparent 62%);animation:cup-sheen 9s ease-in-out infinite}
.blackfeather .home-bubble{border-color:#b49aaa}.blackfeather #home .ambient-motes{display:none}
.blackfeather #enter{background:#e5cbb5;border:0;box-shadow:4px 0 #201329,-4px 0 #201329,0 -4px #201329,0 8px #201329,6px 8px #503553}
.blackfeather #enter .start-face{background:linear-gradient(#cb9fea 0 5px,#8452ab 5px 48%,#70428f 48% calc(100% - 9px),#412254 calc(100% - 9px));border-color:#3c204d;box-shadow:inset 3px 0 #b882d5,inset -3px 0 #512968;color:#fff3db}
.blackfeather #enter .start-face b{font-size:28px;text-shadow:2px 3px #3b194e}
.blackfeather #enter .start-face:after{background:#e7bfff55;box-shadow:9px 0 #e7bfff30}
.blackfeather #enter .start-key{background:#f1d9b3;border-color:#24172d;color:#513366;box-shadow:2px 2px #100c16}
.blackfeather #enter .start-play{color:#f9ddb2;text-shadow:2px 3px #452354}
.blackfeather #enter .start-arrow{color:#ebccec;text-shadow:2px 2px #4d2860}
.blackfeather #enter:active{box-shadow:4px 0 #201329,-4px 0 #201329,0 -4px #201329,0 3px #201329}
.blackfeather #enter:focus-visible{outline-color:#ead3ff}
@media(max-height:760px){.blackfeather #enter .start-face b{font-size:25px}}
@media(max-width:350px){.blackfeather #enter .start-face{gap:10px}.blackfeather #enter .start-arrow{right:9px}}
.blackfeather #enemy-hero:not(.evil-joe-v15){background:#211824;border-bottom-color:#b38aba}
.blackfeather #enemy-hero:not(.evil-joe-v15) .enemy-portrait{background:#211824!important;animation:none!important}
.blackfeather #enemy-hero:not(.evil-joe-v15) #speech{background:#f0e4d1;color:#3f3040;border-color:#ad8ca4;box-shadow:1px 2px #211522}
.blackfeather #enemy-hero:not(.evil-joe-v15) .enemy-name small{color:#dbc4eb}
.blackfeather .player-portrait.story-female{background-image:url(assets/chouchou-blackfeather-room-v17.webp)!important;background-size:cover!important;background-position:center 24%!important}
.blackfeather .opponent-portrait:not(.evil-joe-v15),.blackfeather .duel-person.opponent:not(.evil-joe-v15)>i{background-image:url(assets/chouchou-blackfeather-room-v17.webp)!important;background-size:cover!important;background-position:center!important}
.blackfeather #dialog[data-opponent='chouchou'] .result-character{background-image:url(assets/chouchou-blackfeather-stages-v17.webp)!important}
.cup-petals{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}
.cup-petals i{position:absolute;width:7px;height:10px;background:#ac78c5;clip-path:polygon(40% 0,85% 15%,100% 50%,60% 100%,20% 85%,0 45%);left:var(--x);top:-12px;opacity:0;animation:cup-petal 8s linear infinite;animation-delay:var(--delay)}
.cup-fx{position:absolute;pointer-events:none;z-index:4;will-change:transform,opacity}
.cup-fan{width:180px;height:150px;transform-origin:50% 90%;color:#ead7ff}
.cup-fan svg{width:100%;height:100%;overflow:visible}
.cup-fan-petal{width:8px;height:12px;background:#d3a6ec;clip-path:polygon(40% 0,85% 15%,100% 50%,60% 100%,20% 85%,0 45%)}
.cup-fan-wave{width:160px;height:45px;border:2px solid #ddc6ef;border-left-color:transparent;border-radius:50%;box-shadow:0 3px 0 #9360b766}
@keyframes cup-petal{0%{transform:translate(0,-12px) rotate(0deg);opacity:0}10%{opacity:.55}85%{opacity:.25}100%{transform:translate(48px,420px) rotate(210deg);opacity:0}}
@keyframes cup-sheen{0%,65%,100%{opacity:0}30%{opacity:1}}
@media(prefers-reduced-motion:reduce){.cup-petals,.blackfeather .home-art:after{display:none!important}}
.cup-page-hidden .cup-petals i,.cup-page-hidden .home-art:after{animation-play-state:paused!important}

#home>.cup-petals{z-index:-1;inset:22% 0 18%}

/* Six-panel preserved artwork: own asset names, never the Suixin boss art. */
.blackfeather .player-portrait.story-female,.blackfeather .opponent-portrait:not(.evil-joe-v15),.blackfeather .duel-person.opponent:not(.evil-joe-v15)>i{background-size:auto 170%!important;background-position:58% 16%!important;image-rendering:auto}
.blackfeather #dialog[data-opponent='chouchou'] .result-character{background-size:200% 300%!important;background-position:0 0!important;image-rendering:auto}
.blackfeather #dialog[data-opponent='chouchou'][data-result='win'] .result-character{background-position:0 100%!important}
.costume-choice-v16[data-costume-choice='blackfeather'][aria-pressed=true]{border-color:#c7a1ee;box-shadow:0 0 0 2px #ab8ad522}
.costume-choice-v16[data-costume-choice='blackfeather'] .costume-check{background:#d2aceb;color:#35213e}
.blackfeather .cup-petals i{background:#91759f;clip-path:polygon(0 0,80% 30%,100% 100%,20% 70%);height:13px;width:5px}

/* Dedicated continuous pixel scene; no cropped battle sheet on the home screen. */
body.blackfeather #home .home-art{background:#1b1420!important}
body.blackfeather #home .home-art canvas{image-rendering:pixelated}
