/*
 * Front end: press-start title, main menu, stage select, warrior select, world and difficulty, options, controls.
 * Built by js/main-menu.js. Fonts are the bundled ones: var(--font-display) (brush headings), var(--font-body) (body), Press Start 2P (prompts).
 */
#main-menu{--gold:#f1ce83;--gold2:#ffe9b8;--cyan:#5de6df;--blue:#4aa8ff;--navy:#050d1b;--panel:#07162add;--line:#5de6df33;
 position:fixed;inset:0;z-index:18;overflow:hidden;color:#e9f6f4;font-family:var(--font-body);font-weight:500;background:var(--navy);
 user-select:none;-webkit-user-select:none}
#main-menu[hidden],#main-menu.hidden{display:none}
#main-menu *{box-sizing:border-box}
#main-menu button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
#main-menu button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ---- backdrop shared by every screen ---- */
#main-menu .mm-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;transform-origin:40% 100%;transform:scale(1.5);animation:mm-drift 38s ease-in-out infinite alternate;filter:saturate(1.1) contrast(1.05)}
#main-menu .mm-shade{position:absolute;inset:0;pointer-events:none;transition:background .6s,opacity .6s;
 background:radial-gradient(ellipse at 50% 42%,#0000 0%,#02060e99 62%,#02060ee6 100%),linear-gradient(180deg,#02060e66,#0000 30%,#02060ecc 100%)}
#main-menu[data-screen=title] .mm-shade{background:radial-gradient(ellipse at 50% 40%,#0000 20%,#02060e88 70%,#02060ecc 100%),linear-gradient(180deg,#0000 55%,#02060eee 100%)}
#main-menu:not([data-screen=title]) .mm-shade{background:linear-gradient(95deg,#02060ef5 0%,#04101dd8 32%,#04101d77 62%,#02060e55 100%),radial-gradient(ellipse at 70% 50%,#0000,#02060eaa 95%)}
#main-menu:not([data-screen=title]) .mm-art{filter:saturate(1) blur(2px) brightness(.8)}
#main-menu .mm-rain{position:absolute;inset:-20% -5% 0;pointer-events:none;opacity:.35;mix-blend-mode:screen;
 background:repeating-linear-gradient(104deg,#0000 0 11px,#9fd6ff55 11px 12px,#0000 12px 29px),repeating-linear-gradient(101deg,#0000 0 23px,#ffffff33 23px 24px,#0000 24px 61px);
 background-size:140px 260px,260px 340px;animation:mm-rain .55s linear infinite}
#main-menu .mm-flash{position:absolute;inset:0;pointer-events:none;background:#cfe6ff;opacity:0;animation:mm-flash 9s infinite}
#main-menu .mm-grain{position:absolute;inset:0;pointer-events:none;opacity:.13;mix-blend-mode:overlay;
 background:repeating-linear-gradient(0deg,#000 0 1px,#0000 1px 3px)}
@keyframes mm-drift{from{transform:scale(1.5) translate(0,0)}to{transform:scale(1.62) translate(-1.2%,0)}}
@keyframes mm-rain{to{background-position:-40px 260px,-70px 340px}}
@keyframes mm-flash{0%,86%,100%{opacity:0}87%{opacity:.5}88%{opacity:.08}89.5%{opacity:.38}92%{opacity:0}}

/* ---- screens ---- */
#main-menu .mm-screen{position:absolute;inset:0;display:flex;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .35s,transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s .45s;transform:translateY(14px)}
#main-menu .mm-screen.on{visibility:visible;opacity:1;pointer-events:auto;transform:none;transition:opacity .35s .05s,transform .5s cubic-bezier(.2,.8,.2,1) .05s,visibility 0s}
#main-menu .mm-screen.leaving{transform:scale(1.04);opacity:0}
#main-menu [data-in]{opacity:0;transform:translateX(-26px)}
#main-menu .mm-screen.on [data-in]{animation:mm-in .55s cubic-bezier(.2,.9,.25,1) both;animation-delay:calc(var(--i,0)*70ms + 120ms)}
#main-menu .mm-screen.on [data-in=up]{animation-name:mm-up}
#main-menu .mm-screen.on [data-in=right]{animation-name:mm-inr}
@keyframes mm-in{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
@keyframes mm-inr{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:none}}
@keyframes mm-up{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

/* ---- title ---- */
#mm-title{flex-direction:column;align-items:center;justify-content:space-between;padding:clamp(18px,4vh,46px) 24px clamp(18px,3vh,34px);text-align:center}
#mm-title .mm-logo{width:min(62vw,82vh,760px);margin-top:min(3vh,26px);filter:drop-shadow(0 0 28px #3a8dff88) drop-shadow(0 8px 24px #000c);animation:mm-float 5.5s ease-in-out infinite,mm-logo-in 1.6s cubic-bezier(.2,.9,.2,1) both}
@keyframes mm-float{50%{transform:translateY(-9px)}}
@keyframes mm-logo-in{from{opacity:0;transform:scale(1.35);filter:blur(14px) drop-shadow(0 0 60px #fff)}to{opacity:1}}
#mm-title .mm-tag{font-family:var(--font-display);letter-spacing:.34em;font-size:clamp(11px,1.5vw,18px);color:#cfe6ff;text-shadow:0 0 14px #4aa8ffaa,0 2px 3px #000;margin-top:-1.2vh;animation:mm-up .9s .9s both}
#mm-title .mm-prompt{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:18px;animation:mm-up .9s 1.3s both}
#mm-title .mm-press{font-family:var(--font-key);font-size:clamp(14px,2.2vw,26px);letter-spacing:.18em;color:#fff;text-shadow:0 0 18px #5de6df,0 0 4px #5de6df,3px 3px 0 #031018;
 display:flex;align-items:center;gap:clamp(14px,3vw,38px);animation:mm-blink 1.25s steps(1) infinite}
#mm-title .mm-press::before,#mm-title .mm-press::after{content:'';width:clamp(40px,12vw,160px);height:3px;background:linear-gradient(90deg,#0000,var(--cyan));box-shadow:0 0 10px var(--cyan)}
#mm-title .mm-press::after{background:linear-gradient(270deg,#0000,var(--cyan))}
#mm-title.loading .mm-press{animation:none;opacity:.5;font-size:clamp(11px,1.4vw,16px)}
@keyframes mm-blink{0%,62%{opacity:1}63%,100%{opacity:.12}}
#mm-title .mm-load{width:min(46vw,420px);height:6px;background:#ffffff1c;border:1px solid #ffffff33;overflow:hidden;clip-path:polygon(6px 0,100% 0,calc(100% - 6px) 100%,0 100%)}
#mm-title .mm-load i{display:block;height:100%;width:40%;background:linear-gradient(90deg,#0000,var(--cyan),#fff);animation:mm-load 1.1s ease-in-out infinite}
#mm-title:not(.loading) .mm-load{display:none}
@keyframes mm-load{from{transform:translateX(-110%)}to{transform:translateX(260%)}}
#mm-title .mm-foot{width:100%;display:flex;justify-content:space-between;font-size:clamp(10px,1vw,13px);letter-spacing:.22em;color:#9fb9c8;text-transform:uppercase;animation:mm-up .9s 1.6s both}

/* ---- shared chrome ---- */
#main-menu .mm-head{position:absolute;left:clamp(22px,4vw,64px);top:clamp(16px,3.4vh,40px);right:clamp(22px,4vw,64px);display:flex;align-items:flex-end;gap:18px;z-index:2}
#main-menu .mm-head h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(24px,3.6vw,46px);letter-spacing:.04em;color:#fff;text-shadow:0 0 22px #4aa8ff88,0 3px 0 #031018}
#main-menu .mm-head h2 small{display:block;font-family:var(--font-key);font-size:clamp(8px,.85vw,11px);letter-spacing:.3em;color:var(--gold);margin-bottom:10px;text-shadow:none}
#main-menu .mm-head .mm-rule{flex:1;height:2px;margin-bottom:14px;background:linear-gradient(90deg,var(--gold),#f1ce8300)}
#main-menu .mm-back{margin-left:auto;font-family:var(--font-key);font-size:10px;letter-spacing:.14em;color:#cfe3ea;padding:10px 14px;border:1px solid #ffffff33;background:#06142099;clip-path:polygon(10px 0,100% 0,100% 100%,0 100%,0 10px);transition:color .15s,border-color .15s,background .15s}
#main-menu .mm-back:hover{color:#fff;border-color:var(--gold);background:#1a2a30cc}
#main-menu .mm-hints{position:absolute;left:0;right:0;bottom:0;display:flex;gap:clamp(14px,2.4vw,34px);align-items:center;justify-content:flex-end;padding:12px clamp(22px,4vw,64px);background:linear-gradient(0deg,#02060ef0,#02060e00);z-index:3;font-size:clamp(11px,1.05vw,14px);letter-spacing:.14em;text-transform:uppercase;color:#aac3cc}
#main-menu .mm-hints span{display:flex;align-items:center;gap:8px}
#main-menu .mm-hints kbd{font-family:var(--font-body);font-weight:700;font-size:13px;letter-spacing:.08em;letter-spacing:0;padding:6px 8px;color:#10262f;background:linear-gradient(180deg,#fff0c8,#d7b676);border-radius:4px;box-shadow:0 2px 0 #7a5d2c}
#main-menu .mm-hints .mm-ver{margin-right:auto;color:#5f7d88}
#main-menu .mm-tick{position:absolute;pointer-events:none;color:#f1ce8399;font-family:var(--font-key);font-size:9px;letter-spacing:.2em}

/* ---- main menu ---- */
#mm-main{align-items:center;padding:0 clamp(22px,5vw,80px)}
#mm-main .mm-side{flex:0 0 clamp(300px,38vw,560px);display:flex;flex-direction:column;gap:clamp(4px,1.1vh,12px);z-index:2}
#mm-main .mm-mark{width:clamp(130px,17vw,230px);margin:0 0 clamp(8px,2vh,22px) -8px;filter:drop-shadow(0 0 18px #3a8dff77) drop-shadow(0 4px 10px #000a)}
#mm-main .mm-item{position:relative;display:flex;align-items:center;gap:16px;width:100%;text-align:left;padding:clamp(9px,1.7vh,17px) 26px clamp(9px,1.7vh,17px) 30px;
 clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px));background:linear-gradient(90deg,#08182a99,#08182a33);border-left:3px solid #ffffff22;transition:transform .22s cubic-bezier(.2,.9,.3,1.2),background .2s,border-color .2s}
#mm-main .mm-item::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#f1ce83,#ffe9b8 55%,#f1ce83);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.2,.9,.3,1);z-index:-1}
#mm-main .mm-item{isolation:isolate}
#mm-main .mm-item .mm-glyph{flex:0 0 38px;height:38px;display:grid;place-items:center;font-family:var(--font-display);font-size:22px;color:var(--gold);border:2px solid #f1ce8366;transform:rotate(45deg);transition:all .25s}
#mm-main .mm-item .mm-glyph b{transform:rotate(-45deg);font-weight:400}
#mm-main .mm-item .mm-txt{display:flex;flex-direction:column;min-width:0}
#mm-main .mm-item strong{font-family:var(--font-display);font-weight:400;font-size:clamp(19px,2.5vw,32px);letter-spacing:.06em;color:#fff;line-height:1.1;text-shadow:0 2px 0 #031018;transition:color .2s}
#mm-main .mm-item small{font-size:clamp(11px,1.15vw,14px);letter-spacing:.16em;color:#9fc0c9;text-transform:uppercase;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
#mm-main .mm-item.focus,#mm-main .mm-item:hover{transform:translateX(18px);border-left-color:var(--gold)}
#mm-main .mm-item.focus::before{transform:scaleX(1)}
#mm-main .mm-item.focus strong{color:#10262f;text-shadow:none}
#mm-main .mm-item.focus small{color:#3a4a44}
#mm-main .mm-item.focus .mm-glyph{border-color:#10262f;color:#10262f;background:#ffffff40;transform:rotate(225deg)}
#mm-main .mm-item.go strong{font-size:clamp(24px,3.2vw,42px)}
#mm-main .mm-item.go:not(.focus) .mm-glyph{box-shadow:0 0 14px #f1ce8388;animation:mm-pulse 1.6s ease-in-out infinite}
#mm-main .mm-item:disabled{opacity:.55;cursor:wait}
@keyframes mm-pulse{50%{box-shadow:0 0 26px #f1ce83cc}}
#mm-main .mm-prev{flex:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:16px;z-index:2;padding-left:3vw}
#mm-main .mm-banner{position:relative;width:min(100%,520px);aspect-ratio:16/9;overflow:hidden;border:2px solid #f1ce8399;clip-path:polygon(0 0,calc(100% - 28px) 0,100% 28px,100% 100%,28px 100%,0 calc(100% - 28px));background:#06101c;box-shadow:0 0 0 1px #000}
#mm-main .mm-banner img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.1)}
#mm-main .mm-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#02060ee6 0%,#0000 55%),repeating-linear-gradient(0deg,#0000 0 2px,#0000002e 2px 3px)}
#mm-main .mm-banner .mm-cap{position:absolute;left:18px;bottom:12px;z-index:2}
#mm-main .mm-banner .mm-cap small{display:block;font-family:var(--font-key);font-size:9px;letter-spacing:.2em;color:var(--gold)}
#mm-main .mm-banner .mm-cap strong{font-family:var(--font-display);font-weight:400;font-size:clamp(18px,2vw,28px);color:#fff;text-shadow:0 2px 0 #000}
#mm-main .mm-row2{display:flex;gap:16px;width:min(100%,520px)}
#mm-main .mm-mini{flex:1;display:flex;align-items:center;gap:14px;padding:12px 16px;background:#07162acc;border:1px solid var(--line);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
#mm-main .mm-mini .mm-sprite{width:62px;height:70px;flex:0 0 62px;image-rendering:pixelated;-webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 45%,#0000 72%);mask-image:radial-gradient(ellipse at 50% 46%,#000 45%,#0000 72%);background-size:cover}
#mm-main .mm-mini small{display:block;font-family:var(--font-key);font-size:8px;letter-spacing:.16em;color:#7fa7b3;margin-bottom:6px}
#mm-main .mm-mini strong{font-size:clamp(15px,1.6vw,20px);letter-spacing:.06em;color:#fff;display:block}
#mm-main .mm-mini span{font-size:12px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
#mm-main .mm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;width:min(100%,520px)}
#mm-main .mm-stat small{font-family:var(--font-key);font-size:7px;letter-spacing:.1em;color:#7fa7b3;display:block;min-height:20px}
#mm-main .mm-stat b{display:block;font-size:20px;color:#fff;letter-spacing:.03em;margin:4px 0}
#mm-main .mm-stat i{display:block;height:4px;background:#ffffff18}
#mm-main .mm-stat i u{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--gold));transition:width .5s}

/* ---- card rows (stage / warrior) ---- */
.mm-cards{position:absolute;left:0;right:0;top:clamp(86px,15vh,150px);bottom:clamp(150px,27vh,260px);display:flex;align-items:center;justify-content:center;gap:clamp(12px,1.8vw,26px);padding:0 clamp(22px,4vw,64px);z-index:2}
.mm-card{position:relative;flex:1 1 0;max-width:340px;height:min(100%,520px);overflow:hidden;text-align:left;background:#06101c;border:2px solid #ffffff2a;
 clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,26px 100%,0 calc(100% - 26px));transition:transform .3s cubic-bezier(.2,.9,.3,1.15),flex-grow .3s,border-color .25s,filter .3s;filter:brightness(.55) saturate(.7)}
.mm-card img.mm-cardart{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s}
.mm-card::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#02060ef2 0%,#02060e66 45%,#0000 75%),repeating-linear-gradient(0deg,#0000 0 2px,#00000024 2px 3px);pointer-events:none}
.mm-card .mm-no{position:absolute;left:14px;top:12px;z-index:2;font-family:var(--font-key);font-size:9px;letter-spacing:.2em;color:var(--gold);text-shadow:0 2px 0 #000}
.mm-card .mm-tagb{position:absolute;right:30px;top:12px;z-index:2;font-family:var(--font-key);font-size:7px;letter-spacing:.14em;padding:5px 7px;background:#10262fcc;color:#9de8da;border:1px solid #9de8da66}
.mm-card .mm-cap{position:absolute;left:16px;right:16px;bottom:16px;z-index:2}
.mm-card .mm-cap strong{display:block;font-family:var(--font-display);font-weight:400;font-size:clamp(17px,1.9vw,26px);color:#fff;text-shadow:0 2px 0 #000;line-height:1.1}
.mm-card .mm-cap small{display:block;margin-top:5px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#a9c4cc}
.mm-card.focus{flex-grow:1.35;transform:translateY(-12px);border-color:var(--gold);filter:none;box-shadow:0 0 0 1px #000,0 0 38px #f1ce8355,0 22px 40px #000a;z-index:3}
.mm-card.focus img.mm-cardart{transform:scale(1.08)}
.mm-card.focus::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff55 50%,#0000 65%);transform:translateX(-120%);animation:mm-shine 2.6s 1 .15s}
.mm-card.chosen .mm-no::after{content:'  ★ SELECTED';color:#fff}
@keyframes mm-shine{to{transform:translateX(120%)}}
.mm-card:hover:not(.focus){filter:brightness(.8) saturate(.9)}

/* hero card art */
.mm-card.hero{max-width:300px;background:radial-gradient(ellipse at 50% 38%,var(--acc,#5de6df) -60%,#0a1626 62%)}
.mm-card.hero .mm-sprite{position:absolute;left:50%;top:6%;width:96%;aspect-ratio:300/340;transform:translateX(-50%);image-rendering:pixelated;background-size:cover;
 -webkit-mask-image:radial-gradient(ellipse at 50% 46%,#000 38%,#0000 70%);mask-image:radial-gradient(ellipse at 50% 46%,#000 38%,#0000 70%);transition:transform .5s}
.mm-card.hero.focus .mm-sprite{transform:translateX(-50%) scale(1.1)}
.mm-card.hero .mm-initial{position:absolute;left:0;right:0;top:12%;text-align:center;font-family:var(--font-display);font-size:min(22vh,180px);line-height:1;color:var(--acc,#5de6df);opacity:.28}

/* ---- detail panel under cards ---- */
.mm-detail{position:absolute;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);bottom:clamp(58px,9vh,86px);height:clamp(86px,17vh,150px);display:flex;gap:clamp(16px,3vw,44px);align-items:center;padding:14px clamp(16px,2vw,28px);z-index:2;
 background:linear-gradient(90deg,#07162af0,#07162aa0);border:1px solid var(--line);border-left:4px solid var(--gold);clip-path:polygon(0 0,calc(100% - 22px) 0,100% 22px,100% 100%,22px 100%,0 calc(100% - 22px))}
.mm-detail h3{margin:0;font-family:var(--font-display);font-weight:400;font-size:clamp(18px,2.4vw,32px);color:var(--gold2);letter-spacing:.04em}
.mm-detail p{margin:6px 0 0;font-size:clamp(13px,1.35vw,17px);line-height:1.35;color:#c4d9de;max-width:62ch}
.mm-detail .mm-meta{margin-left:auto;display:flex;gap:clamp(12px,2vw,28px);flex-wrap:wrap;justify-content:flex-end}
.mm-detail .mm-meta div{font-family:var(--font-key);font-size:7px;letter-spacing:.14em;color:#7fa7b3}
.mm-detail .mm-meta b{display:block;font-family:var(--font-body);font-size:clamp(15px,1.6vw,21px);letter-spacing:.06em;color:#fff;margin-top:7px;text-transform:uppercase}
.mm-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.mm-chip{display:flex;align-items:center;gap:7px;padding:5px 10px 5px 6px;font-size:13px;letter-spacing:.08em;background:#ffffff12;border:1px solid #ffffff22;text-transform:uppercase}
.mm-chip kbd{font-family:var(--font-key);font-size:8px;padding:4px 6px;background:var(--acc,var(--gold));color:#031018;border-radius:3px}

/* ---- world / difficulty ---- */
#mm-world .mm-cards{bottom:clamp(60px,10vh,90px);flex-direction:column;align-items:stretch;gap:clamp(8px,1.6vh,18px);top:clamp(90px,15vh,150px)}
#mm-world .mm-band{flex:1;display:flex;flex-direction:column;gap:8px;min-height:0}
#mm-world .mm-band>small{font-family:var(--font-key);font-size:9px;letter-spacing:.24em;color:var(--gold)}
#mm-world .mm-trio{flex:1;display:flex;gap:clamp(10px,1.6vw,22px);min-height:0}
#mm-world .mm-opt{flex:1;position:relative;text-align:left;padding:clamp(10px,2vh,20px) 22px;background:linear-gradient(135deg,#08182ad9,#0a2238aa);border:2px solid #ffffff22;transition:transform .25s,border-color .25s,background .25s;
 clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));display:flex;flex-direction:column;justify-content:center;gap:5px;filter:brightness(.7)}
#mm-world .mm-opt strong{font-family:var(--font-display);font-weight:400;font-size:clamp(16px,2vw,26px);color:#fff}
#mm-world .mm-opt span{font-size:clamp(12px,1.2vw,15px);line-height:1.35;color:#b0c8cf}
#mm-world .mm-opt em{font-style:normal;font-family:var(--font-key);font-size:8px;letter-spacing:.14em;color:#7fa7b3}
#mm-world .mm-opt.chosen{border-color:#9de8da;background:linear-gradient(135deg,#0d3a44e0,#0a2a3caa);filter:none}
#mm-world .mm-opt.chosen::after{content:'✔';position:absolute;right:26px;top:10px;color:#9de8da;font-size:20px}
#mm-world .mm-opt.focus{border-color:var(--gold);transform:translateY(-5px);filter:none;box-shadow:0 0 28px #f1ce8344}
#mm-world .mm-detail{height:auto;min-height:0;position:static;margin-top:4px}

/* ---- options ---- */
#mm-options .mm-list{position:absolute;left:clamp(22px,4vw,64px);top:clamp(96px,16vh,160px);bottom:clamp(60px,9vh,84px);width:min(760px,calc(100% - 44px));display:flex;flex-direction:column;gap:6px;overflow:auto;padding-right:10px;z-index:2;scrollbar-width:thin;scrollbar-color:#f1ce8388 #0000}
#mm-options .mm-opt2{display:flex;align-items:center;gap:20px;padding:clamp(8px,1.4vh,14px) 24px;background:linear-gradient(90deg,#08182acc,#08182a55);border-left:3px solid #ffffff22;text-align:left;
 clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,0 100%);transition:background .2s,transform .2s,border-color .2s;min-height:clamp(36px,5.3vh,52px)}
#mm-options .mm-opt2.focus{background:linear-gradient(90deg,#f1ce83,#ffe9b8 70%,#f1ce8388);border-left-color:#fff;transform:translateX(12px);color:#10262f}
#mm-options .mm-opt2 strong{flex:0 0 270px;white-space:nowrap;font-family:var(--font-display);font-weight:400;font-size:clamp(14px,1.6vw,20px);letter-spacing:.05em}
#mm-options .mm-opt2 .mm-val{margin-left:auto;display:flex;align-items:center;gap:14px;min-width:230px;justify-content:flex-end;font-family:var(--font-key);font-size:10px;letter-spacing:.1em}
#mm-options .mm-slider{position:relative;width:170px;height:10px;background:#ffffff22;clip-path:polygon(5px 0,100% 0,calc(100% - 5px) 100%,0 100%)}
#mm-options .mm-slider i{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,var(--cyan),var(--gold))}
#mm-options .mm-opt2.focus .mm-slider{background:#10262f44}
#mm-options .mm-opt2.focus .mm-slider i{background:#10262f}
#mm-options .mm-sw{width:54px;height:24px;border-radius:12px;background:#ffffff22;position:relative;transition:background .2s;border:2px solid #ffffff44}
#mm-options .mm-sw::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
#mm-options .mm-sw.on{background:#2fd6a0;border-color:#9fffe0}
#mm-options .mm-sw.on::after{transform:translateX(30px)}
#mm-options .mm-grp{font-family:var(--font-key);font-size:9px;letter-spacing:.24em;color:var(--gold);margin:12px 0 2px 6px}

/* ---- controls ---- */
#mm-controls .mm-keys{position:absolute;left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);top:clamp(96px,16vh,160px);bottom:clamp(60px,9vh,84px);display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;align-content:start;overflow:auto;z-index:2}
#mm-controls .mm-pane{padding:16px 20px;background:#07162ad9;border:1px solid var(--line);border-top:3px solid var(--gold)}
#mm-controls .mm-pane h4{margin:0 0 10px;font-family:var(--font-display);font-weight:400;font-size:18px;color:var(--gold2)}
#mm-controls .mm-pane div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:5px 0;border-bottom:1px solid #ffffff12;font-size:15px;letter-spacing:.05em;color:#cfe3e8}
#mm-controls .mm-pane kbd{font-family:var(--font-key);font-size:9px;padding:6px 8px;background:linear-gradient(180deg,#fff0c8,#d7b676);color:#10262f;border-radius:4px;box-shadow:0 2px 0 #7a5d2c;white-space:nowrap}

/* ---- launch ---- */
#main-menu .mm-wipe{position:absolute;inset:0;pointer-events:none;background:#fff;opacity:0;z-index:9}
#main-menu.launching .mm-wipe{animation:mm-wipe .55s ease-in forwards}
@keyframes mm-wipe{to{opacity:1}}
body.menu-open #start-screen .start-content,body.menu-open #start-screen .start-top,body.menu-open #start-screen .start-utilities,body.menu-open #start-screen .start-footer{display:none!important}

/* ---- small screens ---- */
@media(max-width:900px){
 #mm-main{flex-direction:column;justify-content:center}#mm-main .mm-prev{display:none}#mm-main .mm-side{flex:0 0 auto;width:100%}
 .mm-cards{overflow-x:auto;justify-content:flex-start;scroll-snap-type:x mandatory}.mm-card{flex:0 0 72%;scroll-snap-align:center}
 .mm-detail .mm-meta{display:none}#mm-options .mm-opt2 strong{flex-basis:120px}#mm-options .mm-opt2 .mm-val{min-width:0}#mm-options .mm-slider{width:90px}
 #mm-world .mm-trio{flex-direction:column}
}
@media(max-height:560px){#main-menu .mm-hints{display:none}#mm-main .mm-mark{display:none}}
@media(prefers-reduced-motion:reduce){#main-menu .mm-art,#main-menu .mm-rain,#main-menu .mm-flash,#mm-title .mm-logo,#mm-title .mm-press{animation:none!important}}

/* Stage atlas: compact destinations beside a floating, orbitable diorama. */
#main-menu[data-screen=stage] .mm-art{filter:blur(7px) brightness(.32) saturate(.7)}
#main-menu[data-screen=stage] .mm-rain{opacity:.06}
#main-menu[data-screen=stage] .mm-flash{display:none}
#mm-stage .mm-cards{left:clamp(22px,4vw,64px);right:auto;width:clamp(210px,24vw,330px);top:clamp(96px,15vh,145px);bottom:190px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:6px 10px 12px 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#f1ce8355 transparent;scroll-snap-type:none}
#mm-stage .mm-card{flex:0 0 70px;width:100%;max-width:none;height:70px;min-height:70px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,12px 100%,0 calc(100% - 12px));filter:brightness(.7);transform:none;border-width:1px;transition:border-color .2s,filter .2s}
#mm-stage .mm-card img.mm-cardart{width:98px;opacity:.5;object-position:center}
#mm-stage .mm-card::after{z-index:1;background:linear-gradient(90deg,#02060e22,#06101cd9 37%,#06101cee);inset:0}
#mm-stage .mm-card .mm-no{left:10px;top:9px;font-size:7px}
#mm-stage .mm-card .mm-no::after{font-size:6px}
#mm-stage .mm-card .mm-cap{left:21px;right:10px;bottom:9px}
#mm-stage .mm-card .mm-cap strong{font-size:clamp(16px,1.55vw,22px);line-height:1.1}
#mm-stage .mm-card .mm-cap small{font-size:9px;margin-top:4px;letter-spacing:.12em}
#mm-stage .mm-card.focus{transform:none;flex-grow:0;filter:none;border-color:var(--gold);background:#102633;box-shadow:inset 3px 0 0 var(--gold),0 0 22px #f1ce8318}
#mm-stage .mm-card.focus::before{display:none}
#mm-stage .mm-diorama-panel{position:absolute;left:calc(clamp(22px,4vw,64px) + clamp(210px,24vw,330px) + 16px);right:clamp(22px,4vw,64px);top:clamp(96px,15vh,145px);bottom:190px;z-index:2;overflow:hidden;border:1px solid #89b3c02b;border-radius:6px;background:radial-gradient(ellipse at 50% 48%,#234d6070,#07142155 66%,#071421b0);isolation:isolate}
#mm-stage .mm-diorama-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none;z-index:1}
#mm-stage .mm-diorama-canvas:active{cursor:grabbing}
#mm-stage .mm-diorama-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;filter:saturate(.65);transition:opacity .35s;pointer-events:none}
#mm-stage .mm-diorama-panel[data-live=true] .mm-diorama-fallback{opacity:0}
#mm-stage .mm-diorama-heading{position:absolute;top:18px;left:22px;z-index:2;pointer-events:none;text-shadow:0 2px 8px #000}
#mm-stage .mm-diorama-heading span{display:block;color:#a8c7ce;font-size:10px;letter-spacing:.26em}
#mm-stage .mm-diorama-heading b{display:block;font:clamp(22px,2.2vw,32px) var(--font-display);color:var(--gold2);font-weight:400;margin-top:3px}
#mm-stage .mm-diorama-reset{position:absolute;top:18px;right:18px;z-index:3;padding:7px 10px;color:#c7d5d8;border:1px solid #bcd8dd33;border-radius:3px;font-size:10px;letter-spacing:.1em;background:#07142188}
#mm-stage .mm-diorama-message{position:absolute;bottom:16px;left:20px;right:20px;text-align:center;font-size:12px;letter-spacing:.1em;color:#abc3cc;z-index:2;pointer-events:none}
#mm-stage .mm-detail{height:112px;bottom:62px}
#mm-stage .mm-detail p{max-width:58ch;font-size:15px}
#mm-stage .mm-detail .mm-meta{gap:20px}
#mm-stage .mm-select-stage{white-space:nowrap;margin-left:auto;padding:12px 18px;background:linear-gradient(110deg,var(--gold),var(--gold2));color:#112733;font-weight:700;font-size:15px;letter-spacing:.06em;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
@media(max-width:1000px){#mm-stage .mm-detail .mm-meta{display:none}#mm-stage .mm-diorama-heading b{font-size:21px}#mm-stage .mm-diorama-reset{top:auto;bottom:43px;right:12px}#mm-stage .mm-detail p{font-size:13px}#mm-stage .mm-card .mm-cap strong{font-size:16px}}
@media(max-height:700px){#mm-stage .mm-cards,#mm-stage .mm-diorama-panel{top:95px;bottom:165px}#mm-stage .mm-card{flex-basis:57px;height:57px;min-height:57px}#mm-stage .mm-card .mm-cap strong{font-size:16px}#mm-stage .mm-card .mm-cap small{font-size:8px}#mm-stage .mm-card .mm-no{top:6px}#mm-stage .mm-detail{height:97px;bottom:54px}}
.pad-focus{outline:3px solid #f1ce83!important;outline-offset:3px;box-shadow:0 0 0 2px #0008,0 0 22px #f1ce83aa!important;position:relative;z-index:2}

/* Two-step deployment: map and battle settings, then a warrior. */
#mm-stage .mm-diorama-panel{bottom:294px}
#mm-stage .mm-setup-settings{position:absolute;left:calc(clamp(22px,4vw,64px) + clamp(210px,24vw,330px) + 16px);right:clamp(22px,4vw,64px);bottom:190px;height:94px;display:grid;grid-template-columns:1fr 1fr;gap:14px;z-index:4}
#mm-stage .mm-setup-settings fieldset{margin:0;padding:9px 11px 12px;border:1px solid #8eb7c43b;border-radius:4px;min-width:0;background:#071623e8}
#mm-stage .mm-setup-settings legend{color:#aac5d0;letter-spacing:.16em;font-size:11px;padding:0 5px}
#mm-stage .mm-setup-settings fieldset>div{display:flex;gap:5px;height:100%;align-items:center}
#main-menu #mm-stage [data-setting]{flex:1;padding:9px 5px;border:1px solid #a0c4cf33;border-radius:3px;font-size:clamp(11px,.95vw,14px);background:#17313f70;color:#d2e1e5;white-space:nowrap}
#main-menu #mm-stage [data-setting][aria-pressed=true]{border-color:var(--gold);color:#162b35;background:linear-gradient(100deg,#f1ce83,#ffe9b8);font-weight:700}
#mm-stage .mm-setup-settings .setup-focus{border-color:var(--gold);box-shadow:0 0 0 1px #f1ce8333}
#mm-stage .mm-select-stage.setup-focus{outline:2px solid #fff;outline-offset:3px;filter:brightness(1.15)}
#main-menu .mm-story{padding:8px 12px;margin-bottom:10px;border:1px solid #b1cbd766;border-radius:3px;font-size:12px;color:#c8d9df;letter-spacing:.14em;white-space:nowrap}
#mm-hero .mm-run-summary{position:absolute;top:clamp(86px,12vh,125px);left:clamp(22px,4vw,64px);right:clamp(22px,4vw,64px);margin:0;font-size:17px;color:var(--gold);z-index:3}
#mm-hero .mm-run-summary span{color:#bdd3db;font-size:15px}
#mm-hero .mm-cards{top:clamp(123px,17vh,175px);bottom:222px;overflow-x:auto;justify-content:safe center;scrollbar-width:thin;scrollbar-color:#f1ce8355 transparent;padding-top:10px;padding-bottom:16px}
#mm-hero .mm-card{flex:1 0 170px;min-width:170px;height:100%;max-height:540px}
#mm-hero .mm-detail{bottom:62px;height:143px}
#mm-hero .mm-detail h3{font-size:clamp(21px,2.5vw,32px)}
#mm-hero .mm-select-stage{white-space:nowrap;margin-left:auto;padding:14px 26px;min-width:140px;color:#112733;background:linear-gradient(110deg,var(--gold),var(--gold2));font-weight:700;font-size:18px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
#mm-hero .mm-chips{gap:5px;max-width:700px}
#main-menu.preparing .mm-screen{pointer-events:none}
#mm-launch-status{display:none;position:absolute;inset:0;z-index:30;align-items:center;justify-content:center;pointer-events:none;background:#03101dcc;color:#ffe9b8;font-size:26px;font-family:var(--font-display);text-align:center;padding:40px}
#main-menu.preparing #mm-launch-status{display:flex}
#main-menu:not(.preparing) #mm-launch-status:not(:empty){display:block;inset:auto 4vw 14px;background:#551f20e8;font:16px var(--font-body);padding:10px;pointer-events:none}
@media(max-width:1100px){#mm-hero .mm-detail .mm-meta{display:none}#mm-stage .mm-head h2{font-size:30px}#mm-stage .mm-setup-settings{gap:8px}#mm-stage .mm-setup-settings fieldset{padding:8px 6px}}
@media(max-height:700px){#mm-stage .mm-diorama-panel{bottom:252px}#mm-stage .mm-setup-settings{bottom:165px;height:79px}#mm-stage .mm-setup-settings legend{font-size:9px}#main-menu #mm-stage [data-setting]{padding:7px 2px;font-size:11px}#mm-hero .mm-run-summary{top:96px;font-size:15px}#mm-hero .mm-run-summary span{font-size:13px}#mm-hero .mm-cards{top:125px;bottom:195px}#mm-hero .mm-detail{height:124px;bottom:54px}#mm-hero .mm-card{min-width:155px;flex-basis:155px}#mm-hero .mm-detail h3{font-size:22px}#mm-hero .mm-chips{font-size:11px}}

#main-menu #mm-stage.on [data-in],#main-menu #mm-hero.on [data-in]{animation-delay:calc(var(--i,0)*25ms + 40ms);animation-duration:.3s}

/* Portrait gallery: installed hero definitions remain the source of every move. */
#main-menu[data-screen=hero] .mm-art,#main-menu[data-screen=hero] .mm-rain,#main-menu[data-screen=hero] .mm-flash{display:none}
#main-menu[data-screen=hero] .mm-shade{background:#07080d}
#mm-hero{--acc:#ef438d;background:radial-gradient(ellipse at 18% 56%,color-mix(in srgb,var(--acc) 12%,transparent),transparent 53%)}
#mm-hero .mm-head h2{text-shadow:none;font-size:clamp(25px,3vw,43px)}
#mm-hero .mm-head h2 small{color:var(--acc)}
#mm-hero .mm-head .mm-rule{background:linear-gradient(90deg,var(--acc),transparent)}
#mm-hero .mm-run-summary{top:clamp(94px,12vh,125px);font-size:16px}
#mm-hero .mm-exhibit{position:absolute;inset:clamp(143px,17vh,175px) clamp(22px,4vw,64px) 72px;display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.6fr);gap:clamp(28px,4vw,64px);min-height:0}
#mm-hero .mm-feature{position:relative;min-width:0;min-height:0;display:flex;justify-content:center;align-items:center;padding:0 54px 31px}
#mm-hero .mm-feature-art{position:relative;aspect-ratio:9/16;width:100%;max-height:100%;min-width:0;overflow:hidden;background:transparent;box-shadow:none}
#mm-hero .mm-portrait-art{display:block;width:100%;height:100%;object-fit:contain}
#main-menu #mm-hero .mm-cycle{position:absolute;top:45%;width:42px;height:60px;display:grid;place-items:center;background:#080b12dd;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);color:var(--acc);font:44px/1 Arial,sans-serif;transition:background .15s,transform .15s;z-index:2}
#mm-hero .mm-cycle-prev{left:0}#mm-hero .mm-cycle-next{right:0}
#main-menu #mm-hero .mm-cycle:hover{background:var(--acc);color:#080b12;transform:scale(1.06)}
#mm-hero .mm-feature-index{position:absolute;bottom:0;left:24px;right:24px;display:flex;align-items:baseline;gap:10px;letter-spacing:.18em;font-size:10px;color:#7d8a97}
#mm-hero .mm-feature-index b{font-size:21px;color:var(--acc);font-weight:600}
#mm-hero .mm-roster-side{display:grid;grid-template-rows:minmax(200px,1fr) minmax(180px,1.05fr) 65px;gap:22px;min-width:0;min-height:0}
#mm-hero .mm-dossier{min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--acc) transparent;padding-right:12px}
#mm-hero .mm-warrior-status{display:inline-block;color:var(--acc);font-size:11px;font-weight:700;letter-spacing:.18em;border:1px solid color-mix(in srgb,var(--acc) 35%,transparent);padding:6px 10px;background:color-mix(in srgb,var(--acc) 8%,transparent)}
#mm-hero .mm-warrior-status.preview{color:#b9afcf}
#mm-hero .mm-warrior-role{font-size:12px;letter-spacing:.24em;color:#99a4b3;margin:20px 0 3px}
#mm-hero .mm-dossier h3{font:600 clamp(34px,4.6vw,70px)/1.03 var(--font-body);letter-spacing:.015em;margin:0 0 17px;color:#f4f2f6}
#mm-hero .mm-warrior-bio{max-width:56ch;margin:0 0 19px;line-height:1.5;font-size:clamp(14px,1.3vw,19px);color:#c0bfca}
#mm-hero .mm-moves-label{font-size:10px;letter-spacing:.2em;color:#798596;margin-bottom:8px}
#mm-hero .mm-chips{display:flex;flex-wrap:wrap;gap:6px;max-width:none;font-size:13px}
#mm-hero .mm-chip{color:#c9cbd4;border:1px solid #ffffff18;background:#ffffff04;padding:5px 9px;display:flex;align-items:center;gap:8px}
#mm-hero .mm-chip kbd{color:var(--acc);background:transparent;padding:0;font:700 12px var(--font-body)}
#mm-hero .mm-chip kbd[data-pixel-key]{font-size:0;line-height:0}
#mm-hero .mm-chip kbd .pixel-key-icon{margin-right:0;zoom:.625}
#main-menu #mm-hero .mm-back{display:flex;align-items:center;justify-content:center;line-height:14px;height:42px;min-width:104px;padding:0 8px;border-width:10px 14px 14px;border-image-width:10px 14px 14px;text-align:center}
#mm-hero .mm-back>span{display:block;transform:translateY(3px)}
#mm-hero .mm-preview-note{font-size:14px;line-height:1.5;color:#9c91b3;border-left:2px solid var(--acc);padding-left:12px}
#mm-hero .mm-roster-shelf{min-width:0;min-height:0;display:flex;flex-direction:column;gap:11px}
#mm-hero .mm-roster-heading{display:flex;justify-content:space-between;gap:12px;color:#cad0d9;letter-spacing:.17em;font-size:11px}
#mm-hero .mm-roster-heading span:last-child{color:#7d8799;font-size:10px}
#mm-hero .mm-roster-rail{display:flex;gap:13px;overflow-x:auto;overflow-y:hidden;min-height:0;flex:1;padding:4px 3px 10px;scrollbar-width:thin;scrollbar-color:var(--acc) #ffffff08;scroll-snap-type:x proximity}
#main-menu #mm-hero .mm-roster-card{flex:0 0 auto;width:clamp(105px,11.5vw,177px);max-height:100%;display:flex;flex-direction:column;position:relative;min-height:0;scroll-snap-align:start;text-align:left;opacity:.62;transition:opacity .18s,transform .18s;outline-offset:1px}
#mm-hero .mm-roster-card:hover,#mm-hero .mm-roster-card.focus{opacity:1}
#mm-hero .mm-roster-picture{display:block;min-height:0;flex:1;position:relative;overflow:hidden;background:transparent;aspect-ratio:9/16}
#mm-hero .mm-roster-card.focus .mm-roster-picture{outline:2px solid var(--acc);outline-offset:1px}
#mm-hero .mm-roster-caption{display:flex;flex-direction:column;flex:0 0 40px;justify-content:center;gap:2px;overflow:hidden;padding:7px 2px 0}
#mm-hero .mm-roster-caption strong{font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;letter-spacing:.03em}
#mm-hero .mm-roster-caption small{font-size:9px;letter-spacing:.12em;color:#9bafab}
#mm-hero .preview .mm-roster-caption small{color:#aa9ebc}
#mm-hero .mm-roster-card.focus .mm-roster-caption strong{color:var(--acc)}
#mm-hero .mm-deployment-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ffffff16;padding-top:16px;min-width:0}
#mm-hero #mm-hero-ready{display:flex;flex-direction:column;gap:4px;min-width:0}
#mm-hero #mm-hero-ready b{font-size:10px;letter-spacing:.18em;color:#8b97a6;font-weight:500}
#mm-hero #mm-hero-ready span{font-size:15px;color:#bfc6d0}
#main-menu #mm-hero .mm-deploy-warrior{padding:14px 30px;background:var(--acc);color:#090b12;font-size:18px;font-weight:700;letter-spacing:.12em;white-space:nowrap;min-width:175px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%)}
#main-menu #mm-hero .mm-deploy-warrior:hover:not(:disabled){filter:brightness(1.2)}
#main-menu #mm-hero .mm-deploy-warrior:disabled{background:#272733;color:#8d869a;cursor:default}
#mm-hero .mm-portrait-fallback{height:100%;width:100%;position:relative;overflow:hidden;border:2px solid var(--acc);background:radial-gradient(ellipse at 50% 60%,color-mix(in srgb,var(--acc) 20%,#12151e),#12151e 75%)}
#mm-hero .mm-portrait-fallback>span{position:absolute;top:3%;left:8%;font:700 clamp(50px,14vw,230px)/1 var(--font-body);color:var(--acc);opacity:.12}
#mm-hero .mm-portrait-fallback b{position:absolute;top:7%;left:8%;right:8%;font:600 clamp(15px,2.2vw,34px) var(--font-body);color:var(--acc);text-transform:uppercase;letter-spacing:.12em}
#mm-hero .mm-portrait-fallback .mm-sprite{position:absolute;inset:22% 3% 6%;width:94%;height:72%;background-size:contain;background-position:center bottom;background-repeat:no-repeat;image-rendering:pixelated;filter:none;transform:none;opacity:1}
#mm-hero .mm-roster-picture .mm-portrait-fallback b{font-size:15px}
#mm-hero .mm-roster-picture .mm-portrait-fallback>span{font-size:75px}
@media(max-height:760px){
 #mm-hero .mm-exhibit{top:138px;bottom:60px;gap:28px;grid-template-columns:minmax(250px,1fr) minmax(0,1.5fr)}
 #mm-hero .mm-roster-side{grid-template-rows:minmax(230px,1.4fr) minmax(100px,.6fr) 52px;gap:12px}
 #mm-hero .mm-warrior-role{margin-top:12px;font-size:10px}
 #mm-hero .mm-warrior-status{font-size:9px;padding:4px 8px}
 #mm-hero .mm-dossier h3{font-size:38px;margin-bottom:9px}
 #mm-hero .mm-warrior-bio{font-size:14px;margin-bottom:10px;line-height:1.35}
 #mm-hero .mm-chip{padding:3px 6px;font-size:11px}
 #mm-hero .mm-moves-label{margin-bottom:5px;font-size:9px}
 #main-menu #mm-hero .mm-roster-card{width:160px;flex-direction:row;align-items:center;gap:10px}
 #mm-hero .mm-roster-card .mm-roster-picture{flex:0 0 44px;width:44px;height:78px;max-height:100%}
 #mm-hero .mm-roster-card .mm-roster-caption{flex:1;min-width:0;padding:0;height:auto}
 #mm-hero .mm-roster-card .mm-portrait-fallback b{display:none}
 #mm-hero .mm-roster-shelf{gap:6px}#mm-hero .mm-roster-rail{gap:10px}
 #mm-hero .mm-roster-caption{flex-basis:33px}#mm-hero .mm-roster-caption strong{font-size:12px}
 #mm-hero .mm-deployment-footer{padding-top:9px}#mm-hero #mm-hero-ready span{font-size:13px}
 #main-menu #mm-hero .mm-deploy-warrior{padding:11px 20px;font-size:15px;min-width:150px}
}
@media(max-width:800px){
 #mm-hero .mm-head h2{font-size:23px}#mm-hero .mm-head .mm-rule{display:none}
 #mm-hero .mm-exhibit{grid-template-columns:minmax(140px,.7fr) minmax(0,1fr);gap:15px;left:18px;right:18px}
 #mm-hero .mm-feature{padding-left:38px;padding-right:38px}#main-menu #mm-hero .mm-cycle{width:30px;height:46px;font-size:32px}
 #mm-hero .mm-roster-heading span:last-child,#mm-hero #mm-hero-ready{display:none}
 #mm-hero .mm-deployment-footer{justify-content:flex-end}#mm-hero .mm-dossier h3{font-size:30px}
}
