/* R10 · Title screen: Cuphead lettering and film over a live Terraria world; Terraria-style panel and menu. */
/* Original Grimm bow frame: show its head rather than shrinking the entire body. */
#selected-boss-head[data-boss="grimm"]{display:block;width:4.5cqw;height:4.5cqw;max-width:4.5cqw;max-height:4.5cqw;object-fit:cover;object-position:center top;image-rendering:auto;clip-path:inset(0)}
#menu{overflow:clip;background:#3f86d8;--outline:#0b0d1c;--terra-yellow:#ffe25a;--panel:rgba(40,52,118,.84);--panel-hi:rgba(92,112,210,.55)}
#title-scene{position:absolute;inset:0;width:100%;height:100%;display:block;animation:none;transform:none;image-rendering:pixelated;filter:sepia(.26) saturate(.95) contrast(1.06)}
.title-rays{position:absolute;left:50%;top:-30%;width:150%;aspect-ratio:1;transform:translateX(-50%);pointer-events:none;opacity:.32;mix-blend-mode:soft-light;
 background:repeating-conic-gradient(from 0deg at 50% 50%,#fff3c8 0 6deg,transparent 6deg 14deg);-webkit-mask:radial-gradient(circle at 50% 50%,#000 0 18%,transparent 52%);mask:radial-gradient(circle at 50% 50%,#000 0 18%,transparent 52%);animation:title-rays 60s linear infinite}
@keyframes title-rays{to{transform:translateX(-50%) rotate(360deg)}}
#menu[data-night=true] .title-rays{opacity:.18}

/* crossover logo */
.title-logo{position:absolute;left:0;right:0;top:4.5%;display:flex;align-items:center;justify-content:center;gap:1.6cqw;pointer-events:none;filter:drop-shadow(.35cqw .45cqw 0 #2b1006cc)}
.cup-logo{font:8cqw/1 CupVogue,Georgia,serif;letter-spacing:.02em;color:transparent;background:linear-gradient(180deg,#fff2c0 0,#f6cf6a 45%,#d28b2a 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:.28cqw #3b1608;transform:rotate(-2deg)}
.logo-x{font:5cqw/1 CupVogue,Georgia,serif;color:#fff4d6;-webkit-text-stroke:.25cqw #3b1608;paint-order:stroke fill;transform:translateY(-.3cqw)}
.terra-logo{height:9.6cqw;width:auto;image-rendering:pixelated;transform:rotate(1.5deg);animation:terra-bob 3.2s ease-in-out infinite}
@keyframes terra-bob{0%,100%{translate:0 0}50%{translate:0 -.35cqw}}
.crossover-title{top:21.5%;font:2cqw CupMemphis,Georgia,serif;color:#fff1cf;text-shadow:0 .14cqw var(--outline),.14cqw 0 var(--outline),0 -.14cqw var(--outline),-.14cqw 0 var(--outline),.2cqw .26cqw 0 var(--outline);letter-spacing:.06em}

/* cups stand on the Terraria ground */
.title-actors{left:1.5%;top:auto;bottom:9.5%;width:37%;transform:none;filter:drop-shadow(.4cqw .5cqw 0 #0b0d1c66)}

/* Terraria UI panel */
.title-content{left:auto;right:3.5%;top:29%;width:37%;padding:1.3cqw 1.6cqw 1.1cqw;text-align:center;background:var(--panel);border:.22cqw solid #12162c;border-radius:1cqw;
 box-shadow:inset 0 0 0 .18cqw rgba(140,160,240,.45),.4cqw .5cqw 0 rgba(8,10,24,.45);backdrop-filter:blur(2px)}
.boss-slot{display:flex;align-items:center;gap:1cqw;padding:0 0 .9cqw;margin-bottom:.6cqw;border-bottom:.12cqw solid rgba(140,160,240,.4);text-align:left}
.inv-slot{flex:none;display:grid;place-items:center;width:5.2cqw;height:5.2cqw;background:url('assets/terraria-menu/Inventory_Back.png') center/100% 100% no-repeat;image-rendering:pixelated}
.inv-slot img{max-width:3.6cqw;max-height:3.6cqw;image-rendering:pixelated;filter:drop-shadow(.1cqw .12cqw 0 #0b0d1c)}
.boss-names{display:flex;flex-direction:column;gap:.15cqw;min-width:0}
.slot-label{font:.75cqw "Microsoft YaHei",sans-serif;letter-spacing:.12em;color:#aab6ec}
.title-boss{font:2.2cqw/1.1 CupVogue,Georgia,serif;color:var(--terra-yellow);letter-spacing:.04em;margin:0;text-shadow:0 .12cqw var(--outline),.12cqw 0 var(--outline),0 -.12cqw var(--outline),-.12cqw 0 var(--outline);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#selected-boss-cn{font:1.05cqw "Microsoft YaHei",sans-serif;color:#e3e8ff}

/* menu items: Terraria outline text that grows and turns yellow, plus Cuphead's hand cursor */
.title-menu{gap:.1cqw}
.title-menu button{font:2.5cqw CupVogue,Georgia,serif!important;color:#f2eee2;padding:.05cqw 1.2cqw;transition:transform .1s,color .1s;
 text-shadow:0 .14cqw var(--outline),.14cqw 0 var(--outline),0 -.14cqw var(--outline),-.14cqw 0 var(--outline),.18cqw .24cqw 0 var(--outline)}
.title-menu button small{display:inline;margin-left:.6em;font:.95cqw "Microsoft YaHei",sans-serif;color:#b9c3ee;text-shadow:0 .1cqw var(--outline),.1cqw 0 var(--outline),0 -.1cqw var(--outline),-.1cqw 0 var(--outline);vertical-align:middle}
.title-menu button:hover,.title-menu button:focus{color:var(--terra-yellow);transform:scale(1.12);outline:none}
.title-menu button:hover small,.title-menu button:focus small{color:#fff3b0}
.title-menu button:focus: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}
.title-menu button:disabled{opacity:.5}

/* difficulty chips with Terraria's world-difficulty icons and colours */
.difficulty{display:grid;grid-template-columns:repeat(3,1fr);gap:.7cqw;margin:1cqw 0 .5cqw}
.difficulty button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25cqw;min-height:5.6cqw;padding:.5cqw .3cqw;font:1.15cqw/1.1 CupVogue,Georgia,serif;background:rgba(14,18,44,.55);border:.15cqw solid #12162c;border-radius:.5cqw;transition:transform .1s,background .1s;
 text-shadow:0 .1cqw var(--outline),.1cqw 0 var(--outline),0 -.1cqw var(--outline),-.1cqw 0 var(--outline)}
.difficulty button img{width:2.3cqw;height:2.3cqw;image-rendering:pixelated}
.difficulty button small{display:block;margin:.1cqw 0 0;font:.85cqw/1.2 "Microsoft YaHei",sans-serif;opacity:.9}
#difficulty-classic{color:#ececec}#difficulty-expert{color:#ffb31a}#difficulty-master{color:#ff5a45}
.difficulty button[aria-pressed=true]{background:var(--panel-hi);border-color:currentColor;transform:scale(1.06);text-decoration:none;box-shadow:inset 0 0 0 .12cqw rgba(255,255,255,.18)}
.difficulty button:hover{background:rgba(92,112,210,.35)}
#difficulty-note{margin:.3cqw 0 .2cqw;font:1cqw "Microsoft YaHei",sans-serif;color:#dfe5ff}
.style-switch{color:#b9c3ee!important;font-size:.85cqw!important;text-decoration:underline dashed;text-underline-offset:.3cqw}
.style-switch:hover,.style-switch:focus{color:var(--terra-yellow)!important}

/* notes sit on the ground strip */
.load-note{bottom:2.2%;color:#fff1cf;text-shadow:0 .1cqw var(--outline),.1cqw 0 var(--outline),0 -.1cqw var(--outline),-.1cqw 0 var(--outline)}
.sound-note{color:#fff1cf;text-shadow:0 .1cqw var(--outline),.1cqw 0 var(--outline)}
@media(prefers-reduced-motion:reduce){.title-rays,.terra-logo{animation:none}}

#title-ground{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;animation:none;transform:none;image-rendering:pixelated;filter:sepia(.26) saturate(.95) contrast(1.06)}
.title-content,.load-note,.sound-note{z-index:2}

/* R11 · one language at a time */
body[data-lang=en] .l-zh{display:none!important}
body[data-lang=zh] .l-en{display:none!important}
body[data-lang=zh] small.l-zh{display:inline!important;font-size:inherit!important;font-family:ZCOOL,"Microsoft YaHei",sans-serif!important;margin:0!important;opacity:1!important;color:inherit!important;letter-spacing:.04em;vertical-align:baseline!important}
body[data-lang=zh] .title-menu button,body[data-lang=zh] .difficulty button{font-family:ZCOOL,"Microsoft YaHei",sans-serif!important}
body[data-lang=zh] .title-boss{font-family:ZCOOL,"Microsoft YaHei",sans-serif}
.title-menu button small.l-zh,.difficulty button small.l-zh{display:none}
#lang-toggle{display:flex;gap:.1cqw;padding:.25cqw .35cqw!important;font:1cqw CupVogue,"Microsoft YaHei",sans-serif!important}
#lang-toggle b{padding:.1cqw .5cqw;border-radius:.3cqw;font-weight:normal;opacity:.55}
#lang-toggle b.on{opacity:1;background:#20160f;color:#f6e8c4}
body[data-scene=playing] #lang-toggle,body[data-scene=intro] #lang-toggle{display:none}

/* R13 · options card: snap text onto the ruled lines baked into MAIN PANEL-player1.png
   (card is 49.5cqw tall; first rule at 20.2% = 10cqw, then every 60.8/1069 of the height = 2.817cqw).
   The card's top padding is 3cqw, so each column starts 3cqw below the card top. */
.options-card{--rule1:10cqw;--pitch:2.817cqw;--top:3cqw}
.option-categories{padding:calc(var(--rule1) - var(--top) - var(--pitch)) 1.2cqw 0!important;gap:0!important}
.option-categories button{height:var(--pitch);display:flex;align-items:flex-end;line-height:1;padding:0 0 .12cqw!important;font-size:1.65cqw!important}
.option-page>h3{height:calc(var(--rule1) - var(--top));margin:0!important;display:flex;align-items:flex-end;line-height:1;padding-bottom:.15cqw;box-sizing:border-box}
.option-page>button,.option-page>.inactive-option,.option-page #binding-list>button{min-height:0!important;height:var(--pitch);padding:0 0 .12cqw!important;font-size:1.45cqw!important;line-height:1;align-items:flex-end!important;box-sizing:border-box}
.option-page>button small,.option-page #binding-list>button small{margin-top:0}
.option-page small[data-lang=detail]{display:inline!important;margin:0 0 0 .6em!important;font-size:.62em!important;opacity:.75}
.option-page>button strong,.option-page #binding-list>button strong{font-size:1.25cqw!important;line-height:1}
/* controls page: the preset pair occupies exactly one ruled cell so the key list stays on the lines */
.option-page .binding-presets{height:var(--pitch);margin:0!important;padding:.18cqw 0!important;box-sizing:border-box;align-items:stretch!important}
.option-page .binding-presets button{height:auto!important;min-height:0!important;padding:0 .8cqw!important;font-size:1.15cqw!important;align-items:center!important;line-height:1}
.option-page .binding-presets button small{font-size:.7em!important}
.option-page #binding-note{margin:.3cqw 0 0}

/* Calamity: kept out of the main list (top-left corner) until it moves into the boss islands. */
#menu .title-corner{position:absolute;left:1.6%;top:3.2%;z-index:4;display:flex;align-items:center;gap:.5cqw;padding:.35cqw .9cqw;font:1.1cqw CupVogue,Georgia,serif;color:#f2eee2;background:rgba(40,52,118,.84);border:.15cqw solid #12162c;border-radius:.5cqw;text-shadow:0 .1cqw #0b0d1c}
#menu .title-corner img{width:1.7cqw;height:1.7cqw;object-fit:contain;image-rendering:pixelated}
#menu .title-corner small{font:.75cqw "Microsoft YaHei",sans-serif;color:#b9c3ee}
#menu .title-corner:hover,#menu .title-corner:focus{color:#ffe25a;outline:none;transform:scale(1.06)}

/* R16 · Calamity boss picker (opens from the CALAMITY corner button) */
#menu .calamity-picker{position:absolute;left:1.6%;top:calc(3.2% + 2.9cqw);z-index:6;display:grid;gap:.35cqw;padding:.55cqw;min-width:21cqw;background:rgba(18,10,22,.94);border:.15cqw solid #12162c;border-radius:.6cqw;box-shadow:0 .5cqw 1.6cqw #0009}
#menu .calamity-picker.hidden{display:none}
#menu .calamity-picker button{display:grid;grid-template-columns:2.2cqw 1fr;grid-template-rows:auto auto;column-gap:.6cqw;align-items:center;text-align:left;padding:.35cqw .6cqw;background:rgba(58,30,46,.75);border:.12cqw solid #3b2a3e;border-radius:.4cqw;color:#f2eee2;cursor:pointer}
#menu .calamity-picker button img{grid-row:1/3;width:2.2cqw;height:2.2cqw;object-fit:contain;image-rendering:pixelated}
#menu .calamity-picker button b{font:1cqw CupVogue,Georgia,serif;letter-spacing:.02em}
#menu .calamity-picker button small{font:.72cqw "Microsoft YaHei",sans-serif;color:#d9b9c8}
#menu .calamity-picker button:hover,#menu .calamity-picker button:focus{background:rgba(120,40,64,.85);border-color:#ffe25a;outline:none}

/* R15e · Character choice: click a cup on the title screen (or press C). The other cup greys out. */
.title-actors .pick-cup{position:absolute;top:0;bottom:0;width:50%;margin:0;padding:0;border:0;background:none;cursor:pointer;box-shadow:none;border-radius:40% 40% 8% 8%;transition:backdrop-filter .2s,-webkit-backdrop-filter .2s}
.title-actors .pick-cup[data-cup=cuphead]{left:0}.title-actors .pick-cup[data-cup=mugman]{left:50%}
.title-actors .pick-cup:not(.is-picked){-webkit-backdrop-filter:grayscale(.85) brightness(.62);backdrop-filter:grayscale(.85) brightness(.62)}
.title-actors .pick-cup:not(.is-picked):hover,.title-actors .pick-cup:not(.is-picked):focus-visible{-webkit-backdrop-filter:grayscale(.3) brightness(.9);backdrop-filter:grayscale(.3) brightness(.9)}
.title-actors .pick-cup:focus-visible{outline:.25cqw dashed #ffe8b3;outline-offset:-.6cqw}
.title-actors .cup-tag{position:absolute;left:50%;top:-1.4cqw;z-index:2;transform:translateX(-50%) rotate(-3deg);font:1.15cqw CupVogue,Georgia,serif;letter-spacing:.08cqw;color:#c9bda0;background:#1b1410d9;border:.12cqw solid #6b5a43;padding:.25cqw .8cqw;border-radius:.3cqw;white-space:nowrap;pointer-events:none;transition:transform .15s}
.title-actors .pick-cup[data-cup=mugman] .cup-tag{transform:translateX(-50%) rotate(3deg)}
.title-actors .pick-cup.is-picked .cup-tag{color:#fff6dc;background:#b8352a;border-color:#2a120d;box-shadow:0 .25cqw 0 #2a120d}
.title-actors .pick-cup.is-picked .cup-tag::before{content:"\2605  ";color:#ffd86b}
.title-actors .pick-cup[data-cup=mugman].is-picked .cup-tag{background:#2f6fa8}

/* R15f · seven menu entries (TROPHIES added) fit the panel: slightly tighter lines */
.title-menu button{line-height:1.02!important}
