@font-face{font-family:CupVogue;src:url('assets/cuphead-ui/CupheadVogue-Bold.ttf')}@font-face{font-family:CupMemphis;src:url('assets/cuphead-ui/CupheadMemphis-Medium.ttf')}@font-face{font-family:CupFelix;src:url('assets/cuphead-ui/CupheadFelix-Regular.ttf')}
:root{--font-en:CupVogue,Georgia,serif;--font-cn:"Microsoft YaHei",sans-serif;--paper:#dfd1ac;--ink:#242222}
body{background:#141414;padding:12px;color:#eee6ce;font-family:CupMemphis,"Microsoft YaHei",serif}.projector{width:min(100%,calc((100dvh - 65px)*16/9),1600px);gap:10px}.stage{padding:0;background:#151515;border-radius:0;box-shadow:0 12px 45px #0008;container-type:inline-size}.stage:before{display:none}.screen{border-radius:0;box-shadow:none}.screen:before,.screen:after{display:none}canvas{filter:none}.keys{font:12px "Microsoft YaHei",sans-serif;color:#aaa;line-height:1.8}.stage-tools{z-index:5;right:1.2%;top:1.2%}.stage-tools button{font:1.3cqw CupVogue;color:#e8dfc7;background:#1a1d21a0;border:1px solid #b5ad9355;box-shadow:none}.stage-tools #settings-open{display:none}body[data-scene=menu] .film-dust{opacity:.18}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.overlay{font-family:CupMemphis,"Microsoft YaHei",serif}.overlay button{font-family:CupVogue,"Microsoft YaHei",sans-serif}.overlay small{font-family:"Microsoft YaHei",sans-serif;font-size:.45em;letter-spacing:.02em;font-weight:normal}.overlay button:focus-visible{outline:2px dashed currentColor;outline-offset:4px}.overlay button:disabled{cursor:default}.overlay.center{background:#182024be;backdrop-filter:blur(2px)}
#menu{background:url('assets/cuphead-ui/title_screen_background.png') center/100% 100%;overflow:hidden}.crossover-title{position:absolute;top:32%;left:0;width:100%;text-align:center;font:2.5cqw CupMemphis;color:#ffe8b3;text-shadow:2px 3px #56130c}.title-actors{position:absolute;left:10%;top:43%;width:23%;transform:rotate(-7deg);filter:drop-shadow(7px 12px 0 #5b151655)}.title-actors img{width:100%;display:block}.title-content{position:absolute;left:43%;top:44%;width:47%;height:auto;padding:0;display:block;text-align:center;transform:none}.title-boss{font:1.7cqw CupMemphis;color:#ffe7ab;letter-spacing:.12em;margin-bottom:1.1cqw}.title-menu{display:flex;flex-direction:column;align-items:center;gap:.25cqw}.title-menu button{position:relative;font:2.7cqw CupVogue!important;color:#f0dfaf;background:transparent!important;padding:.1cqw 1.3cqw;line-height:1.2;text-shadow:2px 3px #43150d;box-shadow:none!important;border:0}.title-menu button small{display:none}.title-menu button:hover,.title-menu button:focus-visible{color:#fff7dc}.title-menu button:focus-visible:before,.menu-list button:focus-visible:before{content:'';position:absolute;left:-3.2cqw;top:20%;width:3.2cqw;height:2.5cqw;background:url('assets/cuphead-ui/hand_cursor_boil_0001.png') center/contain no-repeat}.difficulty{display:flex;justify-content:center;margin:1.1cqw 0 .4cqw;gap:1.4cqw}.difficulty button{border:0;border-radius:0;background:none;color:#e5c7a2;box-shadow:none;clip-path:none;transform:none;width:auto;padding:0 .3cqw;font-size:1.15cqw}.difficulty button[aria-pressed=true]{color:#fff0b8;background:transparent;text-decoration:underline;text-underline-offset:.4cqw;box-shadow:none;transform:none}.difficulty button small{display:block;margin-top:.3cqw;font-size:.66em}.style-switch{font-family:"Microsoft YaHei"!important;font-size:.82cqw!important;background:transparent!important;color:#eddcb7;border:0;padding:.5cqw;margin:0}.load-note{position:absolute;bottom:1.8%;left:0;width:100%;font:1cqw "Microsoft YaHei";text-align:center;color:#f5dfb4}.sound-note{position:absolute;bottom:.4%;left:1%;font:.8cqw "Microsoft YaHei";color:#ffe5bb}
.paper{border:3px solid #242222;border-radius:0;background:#dfd1ad;box-shadow:8px 8px 0 #08080877;transform:rotate(-1deg);padding:3cqw;color:#242222}.paper:before{inset:6px;border:1px solid #242222;border-radius:0}.paper:after{display:none}.paper-title{font:4cqw CupVogue;letter-spacing:.04em;color:#242222;line-height:1;text-shadow:none;-webkit-text-stroke:0;margin:0 0 1.5cqw}.pause-paper{width:40%;max-width:none;padding:3cqw}.menu-list{gap:.45cqw}.menu-list button{position:relative;font:2.2cqw CupVogue;background:transparent;color:#242222;padding:.3cqw;box-shadow:none;text-shadow:none;transform:none}.menu-list button small{display:block;font-size:.4em;padding:.2em}.menu-list button:hover,.menu-list button:focus-visible{color:#b9422c;background:transparent;transform:none}.menu-list button:before{display:none}.menu-nav{font:.85cqw "Microsoft YaHei";margin:2cqw 0 0;color:#5e594c}
.options-card{position:relative;width:94%;height:88%;background:url('assets/cuphead-ui/MAIN%20PANEL-player1.png') center/100% 100% no-repeat;color:#292722;display:grid;grid-template-columns:26.4% 25.2% 48.4%;padding:3% 2.6%;filter:drop-shadow(8px 12px 0 #0004)}.options-card header{padding:0 8%;display:flex;flex-direction:column;align-items:flex-start}.options-card h2{font:4.2cqw CupVogue;margin:2cqw 0 0}.options-card header>p{font:1.25cqw "Microsoft YaHei";line-height:1.8}.options-card #settings-description{font-size:1cqw;margin-top:2cqw}.options-card header button{margin-top:auto;background:none;font:2cqw CupVogue;color:#292722}.option-categories{display:flex;flex-direction:column;padding:5.3cqw 1.2cqw;gap:1.65cqw}.option-categories button{background:none;font:2cqw CupVogue;text-align:left;padding:0;color:#292722}.option-categories button[aria-pressed=true]{color:#a93221}.option-details{padding:0 1.8cqw;overflow:auto;scrollbar-width:thin}.option-page h3{font:2.8cqw CupVogue;margin:.8cqw 0 2.6cqw}.option-page button,.inactive-option{display:flex;justify-content:space-between;align-items:center;background:none;width:100%;color:#292722;font:1.7cqw CupVogue;text-align:left;min-height:4.4cqw;padding:.5cqw 0}.option-page button:hover,.option-page button:focus-visible{color:#ac3625}.option-page small{display:block;font-size:.55em;margin-top:.1cqw}.option-page strong{font:1.5cqw CupMemphis;text-align:right}.inactive-option{opacity:.55}.options-help{position:absolute;bottom:2.2%;right:3%;font:.8cqw "Microsoft YaHei";margin:0}#binding-list button{min-height:2.8cqw;font-size:1.3cqw}#binding-list strong{font-size:1.2cqw}#binding-note{font:.8cqw "Microsoft YaHei";line-height:1.5}#controls-reset{font-size:1.1cqw;min-height:2.7cqw}
.equip-book{height:88%;aspect-ratio:595/668;position:relative;filter:drop-shadow(8px 12px 0 #0005)}.equip-front,.equip-back{position:absolute;inset:0}.equip-art{width:100%;height:100%;display:block}.equip-slots{position:absolute;top:68.6%;left:9.1%;right:10%;height:11.4%;display:grid;grid-template-columns:repeat(5,1fr);gap:4.3%}.equip-slots button{padding:3%;background:none;border-radius:50%;position:relative;min-height:0;width:auto;height:100%;aspect-ratio:1;justify-self:center;justify-content:center}.equip-slots button img[src*="terraria/"]{width:74%;height:74%;image-rendering:pixelated}.equip-slots button img{width:100%;height:100%;object-fit:contain}.equip-slots button:hover,.equip-slots button:focus-visible{outline:3px solid #f5eac2;outline-offset:1px;filter:drop-shadow(1px 2px #342a25)}#equip-front-caption{position:absolute;left:8%;right:8%;bottom:3.8%;text-align:center;color:#272725;font:1.2cqw CupMemphis,"Microsoft YaHei";margin:0}.equip-back{background:#ded0ae url('assets/cuphead-ui/equip_checklist_bg_empty.png') center/100% 100%;padding:6% 7%;color:#252522;border:3px solid #303735;transform:rotate(.5deg)}.equip-back:before{content:'';position:absolute;inset:5px;border:1px solid #373831;pointer-events:none}.equip-back h2{font:3.5cqw CupVogue;margin:0;text-align:center;padding:3% 0 4%;border-bottom:2px solid #39362d}.equip-items{display:grid;grid-template-columns:repeat(4,1fr);gap:5%;min-height:30%;padding:6% 1%}.equip-items button{position:relative;background:none;padding:4%;border:2px solid transparent;aspect-ratio:1}.equip-items button img{width:100%;height:100%;object-fit:contain}.equip-items button:hover,.equip-items button:focus-visible{border-color:#252522;outline:none}.equip-items button[aria-pressed=true]:after{content:'E';position:absolute;right:-6%;top:-8%;font:1.3cqw CupVogue;color:#a82c20;background:#dfd1ad;border:2px solid #a82c20;border-radius:50%;width:1.6cqw;height:1.6cqw;text-align:center;line-height:1.5cqw}.item-description{border-top:2px solid #39362d;margin-top:3%;padding-top:5%;text-align:center;min-height:31%}.item-description h3{font:2.25cqw CupVogue;margin:0 0 .3cqw}.item-description p{font:1.1cqw "Microsoft YaHei";line-height:1.7;margin:.4cqw 0}.item-description #item-cn{font-size:1.25cqw}.item-description span{font:1cqw CupVogue;color:#9f3026}#equip-flip{display:block;margin:6% auto 0;background:none;font:1.5cqw CupVogue;color:#292722}.corner-back{position:absolute;left:3%;bottom:5%;background:none;color:#e9dfc5;font:2cqw CupVogue}.equip-help{position:absolute;bottom:1%;margin:0;font:.9cqw "Microsoft YaHei";color:#eee3ca}
.boss-book{width:82%;height:90%;background:#dfd1ac;color:#282822;padding:2cqw 3cqw;border:3px solid #282822;box-shadow:8px 10px #0005;display:flex;flex-direction:column}.boss-book h2{font:3.3cqw CupVogue;margin:0}.boss-book>p{font:1cqw "Microsoft YaHei";margin:.4cqw 0 1cqw}#boss-list{overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:.4cqw 2cqw;padding:.4cqw;scrollbar-width:thin}#boss-list button{background:none;border-bottom:1px solid #7d7664;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:.7cqw .3cqw;color:#292722;font:1.5cqw CupVogue}#boss-list button small{display:block;font-size:.55em;margin-top:.2cqw}#boss-list button em{font:1cqw "Microsoft YaHei";font-style:normal}#boss-list button[aria-pressed=true]{color:#a73528}#boss-list button:disabled{opacity:.45;cursor:default}#bosses-back{background:none;color:#282822;align-self:flex-end;font:1.5cqw CupVogue;margin-top:.8cqw}
.result-paper{width:48%;max-width:none}.result-kicker{font-family:CupVogue;color:#242222}.result-quote{font-family:CupMemphis,"Microsoft YaHei"}.score-lines{font-family:CupMemphis,"Microsoft YaHei"}.score-lines dt{font-size:1.5cqw}.score-lines dd{font-family:CupMemphis;font-size:2cqw}#grade-stamp{color:#a93528;font-family:CupVogue}.paper-action,.text-button{color:#292722!important;background:none!important;font-family:CupVogue!important;box-shadow:none!important}.progress-track{font-family:"Microsoft YaHei"}.film-dust{pointer-events:none}
@media(prefers-reduced-motion:reduce){.equip-book,.paper{transform:none!important}.screen,.film-dust{animation:none!important}}
.equip-back h2{color:#eee4cc;min-height:6.5cqw;display:flex;align-items:center;justify-content:center;border:0;margin-bottom:1cqw}.title-actors{left:4%;top:42%;width:39%;transform:none;filter:none}.title-actors img{object-fit:contain;max-height:30cqw}.equip-back .item-description{min-height:26%}
.title-actors{aspect-ratio:1096/615}.title-actors img{height:100%}.result-paper:not(.won){background:url('assets/cuphead-ui/death_card_bg.png') center/100% 100%;border:0;padding:4cqw 3cqw}.result-paper:not(.won):before{display:none}
.binding-presets{display:flex;gap:1cqw;margin-bottom:.6cqw}.binding-presets button{font-size:1.3cqw;min-height:3cqw;padding:.4cqw .5cqw;border:1px solid #716857}.binding-presets button[aria-pressed=true]{color:#a93221;border:2px solid #a93221}.binding-presets small{font-size:.65em}#options-page-controls h3{margin-bottom:1cqw}

/* R14g: the equip card is dealt in from below and flips between the card and the slot list, like Cuphead.
   Uses the individual translate/rotate/scale properties because .equip-book has transform:none!important. */
#equipment:not(.hidden){animation:equipFade .22s ease-out}
#equipment:not(.hidden) .equip-book{animation:equipDeal .5s cubic-bezier(.2,1.25,.35,1) both}
.equip-book.flip-in>.equip-front:not(.hidden),.equip-book.flip-in>.equip-back:not(.hidden){animation:equipFlip .28s cubic-bezier(.3,1.4,.5,1) both;transform-origin:50% 50%}
@keyframes equipFade{from{opacity:0}}
@keyframes equipDeal{0%{translate:0 75vh;rotate:-12deg}68%{translate:0 -2.5%;rotate:1.5deg}100%{translate:0 0;rotate:0deg}}
@keyframes equipFlip{0%{scale:0 1;filter:brightness(.7)}55%{scale:1.04 1;filter:none}100%{scale:1 1}}
@media (prefers-reduced-motion:reduce){#equipment:not(.hidden),#equipment:not(.hidden) .equip-book,.equip-book.flip-in>*{animation:none!important}}

/* Terraria accessory slots beside the Cuphead equip card */
.acc-panel{position:absolute;left:calc(100% + 1.6cqw);top:58%;width:9.5cqw;padding:.9cqw .8cqw 1cqw;background:#dfd1ac;border:3px solid #282822;box-shadow:6px 8px 0 #0005;color:#282822;display:flex;flex-direction:column;align-items:center;gap:.7cqw;transform:rotate(-1deg)}
.acc-panel h3{margin:0;font:1.25cqw CupVogue;text-align:center;line-height:1.1}.acc-panel h3 small{display:block;font:.8cqw "Microsoft YaHei"}
.acc-panel button{width:5.2cqw;height:5.2cqw;padding:.5cqw;background:url('assets/terraria/Inventory_Back.png') center/100% 100% no-repeat;border:0;display:grid;place-items:center;image-rendering:pixelated;min-height:0}
.acc-panel button img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}
.acc-panel button:hover,.acc-panel button:focus-visible{outline:3px solid #f5eac2;outline-offset:1px}
.acc-panel button.is-locked{filter:grayscale(1) brightness(.6);position:relative}.acc-panel button.is-locked:after{content:'🔒';position:absolute;font-size:1.6cqw}
#acc-note{margin:0;font:.72cqw/1.45 "Microsoft YaHei";text-align:center}
#equipment .equip-book{margin-right:12cqw}/* leave room for the accessory panel on the right */
