/* Title screen stays separate from character and stage selection. */
body.title-screen{background:#03070e}
.title-screen .shell{max-width:none;padding:0}
.title-screen .masthead,.title-screen main>footer{display:none}
.title-home{isolation:isolate;position:relative;display:flex;align-items:center;justify-content:center;min-height:100svh;padding:32px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left));overflow:hidden}
.title-backdrop{position:absolute;z-index:-2;inset:0;background:#070b13 url('menu-night.webp') center center/cover no-repeat}
.title-home:before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#01050b30,#01050b08 35%,#01050b65),radial-gradient(ellipse at center,#03081188,transparent 80%)}
.title-content{width:min(880px,100%);display:grid;justify-items:center;text-align:center;gap:28px;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}
.title-brand{width:100%}.title-kicker{font-size:10px;letter-spacing:.32em;font-weight:800;color:#c8d3df;margin:0 0 18px;text-shadow:0 2px 8px #000}
.title-home .game-title{margin:0;line-height:1}.title-home .title-logo{display:block;width:min(700px,100%);max-height:32svh;height:auto;object-fit:contain;margin:0 auto;filter:drop-shadow(0 8px 18px #000a)}
.title-prompt{color:#d5ff46;font-size:10px;font-weight:800;letter-spacing:.22em;margin:24px 0 0;text-shadow:0 2px 6px #000}
.title-menu{display:grid;gap:8px;width:min(300px,100%)}
.title-choice{position:relative;display:block;width:100%;min-height:48px;border:1px solid transparent;border-radius:3px;background:#07101c9c;color:#e5edf5;font-size:17px;letter-spacing:.12em;font-weight:900;text-align:center;padding:13px 28px;box-shadow:none;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.title-choice.primary{color:#d5ff46;background:#0b1722d9;border-color:#d5ff4655;min-width:0}
.menu-cursor{position:absolute;left:17px;font-size:13px;opacity:0;line-height:22px}
.title-choice.primary .menu-cursor{opacity:1}
.title-choice:hover,.title-choice:focus-visible{color:#d5ff46;background:#17252ce8;border-color:#d5ff46;outline-offset:3px}
.title-choice:hover .menu-cursor,.title-choice:focus-visible .menu-cursor{opacity:1}
.title-bottom{display:grid;gap:15px}.title-bottom .keyhint{font-size:8px;letter-spacing:.13em;color:#b9c6d7;margin:0;text-shadow:0 2px 6px #000}
.title-private{color:#a9b7c7;text-decoration:none;font-size:9px;font-weight:700;letter-spacing:.1em}.title-private span{font-size:7px;opacity:.7;margin-left:7px}
.title-private:hover{color:#fff}
@media(max-width:620px){.title-home{padding-left:22px;padding-right:22px}.title-content{gap:30px}.title-kicker{font-size:8px;letter-spacing:.24em;margin-bottom:24px}.title-prompt{font-size:8px;margin-top:24px}.title-home .title-logo{width:100%;max-height:28svh}.title-choice{font-size:16px;min-height:50px}.title-bottom .keyhint{font-size:7px;letter-spacing:.05em}}
@media(orientation:landscape) and (max-height:600px){.title-home{padding:18px max(22px,env(safe-area-inset-right)) 16px max(22px,env(safe-area-inset-left))}.title-content{width:min(1000px,100%);grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px 28px}.title-home .title-logo{max-height:47svh;width:100%}.title-kicker{font-size:8px;margin-bottom:14px}.title-prompt{font-size:8px;margin-top:14px}.title-menu{gap:6px}.title-choice{min-height:44px;font-size:13px;padding:11px 20px}.menu-cursor{left:10px;line-height:18px;font-size:10px}.title-bottom{grid-column:1/-1;gap:9px}.title-bottom .keyhint{font-size:7px}}
