@font-face{font-family:Tiny5;src:url('./Tiny5-Regular.ttf') format('truetype');font-display:swap}
[hidden]{display:none!important}
body:has(#main-menu:not([hidden])) #boot{display:none}
#main-menu{position:fixed;inset:0;z-index:1000;background:#171332;color:#fff0db;font-family:Tiny5,monospace;isolation:isolate;overflow:auto}
.menu-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:30% center;image-rendering:pixelated;z-index:-2}
#main-menu:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 47%,#18143230 62%,#14112b90)}
.menu-shell{box-sizing:border-box;margin-left:63%;width:34%;max-width:560px;min-height:100%;display:flex;flex-direction:column;justify-content:center;padding:38px 24px 32px 0}
.menu-brand{margin:0 0 34px;line-height:.82;font-size:clamp(66px,8.7vw,150px);letter-spacing:-.025em;color:#ffedcf;text-shadow:5px 5px 0 #301233,8px 8px 0 #de4185}
.menu-brand span{color:#ee68ae}
.menu-kicker{font-size:clamp(14px,1.6vw,24px);letter-spacing:.15em;color:#88dbdb;line-height:1.25;margin-top:17px;text-shadow:2px 2px #211332}
.menu-rule{width:64px;height:4px;background:#eb65a3;box-shadow:12px 6px #65cfce;margin-bottom:26px}
.menu-panel{width:100%}
.menu-nav{display:flex;flex-direction:column;gap:5px}
.menu-button{font:inherit;font-size:clamp(24px,2.5vw,40px);text-align:left;text-transform:uppercase;color:#fff0db;background:none;border:0;padding:8px 12px 8px 27px;position:relative;cursor:pointer;line-height:1.15;min-height:44px;text-shadow:2px 2px #26152f;width:100%;box-sizing:border-box}
.menu-button:hover,.menu-button:focus-visible{outline:none;background:#291d46d9;color:#ff8bbd;box-shadow:inset 3px 0 #ff87bb}
.menu-button:hover:before,.menu-button:focus-visible:before{content:'›';position:absolute;left:8px;color:#80e6dc}
.menu-button:disabled{color:#9990ad;cursor:default;text-shadow:none;background:none;box-shadow:none}
.menu-button:disabled:before{content:none}
.menu-footer{font-size:16px;color:#b9aacb;margin-top:30px;letter-spacing:.06em}
.menu-panel h2{font-size:34px;color:#ff89b9;font-weight:400;margin:0 0 20px;text-transform:uppercase}
.menu-panel p{font-size:21px;line-height:1.25;color:#d5c5df}
.menu-panel .small{font-size:20px}
.menu-panel label{display:block;font-size:24px;margin:20px 0 8px}
.menu-panel input[type=range]{width:100%;accent-color:#f77bb5;cursor:pointer;height:32px}
.menu-panel select{font:inherit;font-size:24px;background:#251d43;color:#ffefd8;border:2px solid #9174a4;padding:8px;width:100%}
.menu-status{font-size:19px;line-height:1.2;color:#88e0d9;min-height:24px;margin:12px 0 0}
.save-date{display:block;font-size:18px;color:#bdaacb;text-transform:none;margin-top:4px}
#menu-toggle{position:fixed;right:12px;bottom:12px;z-index:90;font:24px Tiny5;background:#20182ce0;color:#fff0db;border:2px solid #e676aa;padding:8px 15px;cursor:pointer}
body:has(#npc-chat.on) #menu-toggle{display:none}
@media(min-aspect-ratio:21/9){.menu-art{object-fit:contain;object-position:left center;mask-image:linear-gradient(90deg,#000 55%,transparent 77%)}.menu-shell{margin-left:62%}}
@media(max-width:700px) and (orientation:portrait){
 .menu-art{height:54%;object-position:24% center;object-fit:cover}
 #main-menu:after{position:fixed;background:linear-gradient(0deg,#171332 45%,#17133200 68%)}
 .menu-shell{margin:0;padding:0 26px 18px;width:100%;max-width:none;min-height:100%;justify-content:flex-start;padding-top:43vh}
 .menu-brand{font-size:58px;margin-bottom:16px}.menu-kicker{font-size:16px;margin-top:10px}
 .menu-rule{display:none}.menu-nav{gap:0}.menu-button{font-size:27px;padding-top:7px;padding-bottom:7px}
 .menu-footer{font-size:14px;margin-top:14px}.menu-panel h2{font-size:28px;margin-bottom:10px}
}
@media(max-height:600px) and (orientation:landscape){
 .menu-shell{margin-left:60%;width:38%;padding:16px 10px 16px 0}.menu-brand{font-size:58px;margin-bottom:15px}
 .menu-kicker{font-size:14px;margin-top:10px}.menu-rule{display:none}.menu-button{font-size:23px;padding:5px 8px 5px 24px;min-height:36px}
 .menu-nav{gap:0}.menu-footer{font-size:13px;margin-top:12px}.menu-panel h2{font-size:26px;margin-bottom:6px}.menu-panel p{font-size:18px}.menu-panel label{font-size:20px;margin:8px 0 0}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
