@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#edf1df;background:#153a33}*{box-sizing:border-box}body{margin:0;min-height:100svh}button,input,a{font:inherit}button,a.primary{cursor:pointer;border:1px solid #ffffff28;background:#35594b;color:#f2f3e5;border-radius:11px;padding:12px 17px;text-decoration:none}button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;cursor:wait}.primary{background:#d6e9a1!important;color:#253e2e!important;font-weight:700;border:0!important}a{color:inherit}label{display:block;font-size:12px;margin:15px 0 7px;color:#dbe4d4}input{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #ffffff30;border-radius:9px;background:#112d28bb;color:#fff;outline-color:#d6e9a1}input::placeholder{color:#b7c7b4aa}[hidden]{display:none!important}.landscapeArt{position:fixed;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 20% 10%,#587a66,#173e36 75%)}.sun{position:absolute;width:180px;height:180px;border-radius:50%;background:#d9d6a125;left:23%;top:13%;box-shadow:0 0 100px #e6d79a18}.hill{position:absolute;width:150%;height:60%;border-radius:55% 50% 0 0;transform:rotate(-9deg);left:-25%;bottom:-12%;background:#284f42}.hill.h2{background:#1e4339;transform:rotate(13deg);bottom:-25%;left:-30%}.hill.h3{background:#102f29;bottom:-42%;transform:rotate(-8deg)}.menuShell{max-width:1400px;margin:auto;min-height:100svh;display:flex;flex-direction:column;padding:32px 5vw}.menuHeader{display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{font:800 28px Outfit;letter-spacing:3px;text-decoration:none}.wordmark small{display:block;font:8px 'DM Sans';letter-spacing:3px;margin-top:7px;opacity:.65}#accountInfo{display:flex;gap:15px;align-items:center;font-size:12px}.authLayout{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;align-items:center;flex:1;padding:60px 0}.introCopy h1,.menuTitle h1{font:500 clamp(40px,5.2vw,76px)/1.02 Outfit;letter-spacing:-2px;margin:24px 0}.introCopy em{color:#d8e9a1;font-style:normal}.introCopy p{max-width:440px;font-size:15px;line-height:1.8;color:#d4decd}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:700;color:#d4e5a6}.featureRow{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.featureRow span{font-size:10px;border:1px solid #ffffff20;border-radius:20px;padding:7px 12px;background:#fff1}.glassCard{background:#102d28c9;padding:30px;border:1px solid #ffffff22;border-radius:24px;backdrop-filter:blur(15px);box-shadow:0 20px 80px #102d2930}.glassCard h2{font:500 26px Outfit;margin:24px 0 15px}.authTabs{display:flex;gap:4px}.authTabs button{font-size:11px;padding:9px 11px;background:transparent;border:0;white-space:nowrap}.authTabs .selected{background:#d3e3a41a;color:#d6e9a1}.glassCard .primary{width:100%;margin-top:14px}.small{font-size:11px;line-height:1.7;color:#b6c7b5}.menuTitle{margin:45px 0 25px}.menuTitle h1{font-size:48px;margin:14px 0}.menuTitle p{font-size:13px;color:#c7d4c1}.menuTools{display:flex;gap:12px;align-items:center;margin-bottom:20px}.menuTools span{font-size:10px;opacity:.6;margin-left:auto}.saveGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.saveCard{background:#15382fe8;border:1px solid #ffffff24;border-radius:18px;padding:24px}.saveCard h2{font:500 24px Outfit;margin:18px 0 12px}.saveCard .slotNumber{font-size:9px;letter-spacing:2px;color:#d4e7a4}.saveCard p{font-size:12px;line-height:1.8;color:#bccfb7}.saveActions{display:grid;gap:8px;margin-top:24px}.saveActions button{font-size:12px;text-align:left}.saveActions .delete{background:none;border:0;font-size:10px;opacity:.65;padding:9px 0}.saveCard.empty{border-style:dashed;background:#15382f66;min-height:300px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.saveCard.empty button{margin-top:20px}footer{margin-top:auto;padding-top:35px;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.5px;color:#a7bba4}#message{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:15;background:#e5edd0;color:#263d2d;padding:14px 23px;border-radius:12px;font-size:13px;max-width:90%;box-shadow:0 10px 40px #0004}dialog{border:1px solid #a6c59788;border-radius:20px;background:#173b32;color:#edf2df;padding:28px;max-width:560px;width:90%;box-shadow:0 30px 100px #071d1999}dialog::backdrop{background:#091f1cba;backdrop-filter:blur(7px)}dialog h2{font:500 28px Outfit;margin:8px 30px 18px 0}dialog p{font-size:13px;line-height:1.8}.dialogClose{float:right;padding:5px 8px;background:transparent;border:0}#dialogActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.code{display:block;font:600 27px monospace;letter-spacing:3px;background:#0c2d24;padding:16px;border-radius:12px;text-align:center;overflow-wrap:anywhere}.setup{max-width:650px;margin:10vh auto;padding:30px;background:#173d32;border:1px solid #fff3;border-radius:20px}.setup h1{font:500 40px Outfit}.setup p{line-height:1.8}.setup button{margin-top:20px}.error{color:#f6c6b7}@media(max-width:800px){.menuShell{padding:20px 4vw}.authLayout{gap:5%;padding:30px 0}.introCopy h1{font-size:43px}.introCopy p{font-size:12px}.glassCard{padding:20px}.glassCard h2{font-size:21px}.featureRow{gap:7px}.featureRow span{font-size:8px}.saveGrid{gap:10px}.saveCard{padding:16px}.saveCard h2{font-size:20px}.menuTools button{font-size:11px}.menuTools span{display:none}footer{font-size:7px}}@media(max-width:560px) and (orientation:portrait){.authLayout{display:block}.introCopy h1{font-size:45px}.introCopy{margin-bottom:30px}.saveGrid{grid-template-columns:1fr}.menuHeader{align-items:flex-start}.wordmark{font-size:23px}#accountInfo{flex-direction:column;gap:7px}.menuTitle h1{font-size:37px}.menuTools{flex-wrap:wrap}footer{line-height:1.8}.saveCard.empty{min-height:180px}}
/* Accessible account and waiting-room menus. */
body{font-size:16px}button,input{font-size:16px;min-height:48px}button:focus-visible,input:focus-visible{outline:3px solid #f0d678;outline-offset:3px}.small,.slotNumber,.featureRow,footer{font-size:14px;line-height:1.5}dialog{max-height:88dvh;overflow:auto}#dialogBody{font-size:17px;line-height:1.6}#dialogActions{display:flex;flex-wrap:wrap;gap:10px}#dialogActions button{flex:1 1 160px}.dialogClose{min-width:48px}#message{font-size:16px;line-height:1.5}input{max-width:100%}@media(max-height:550px){.menuShell{padding-top:16px}.authLayout{align-items:start}.introCopy h1{font-size:36px}.glassCard{padding:20px}.authTabs button{font-size:15px}.saveCard{padding:20px}.saveCard p{font-size:16px}.saveActions button{font-size:16px}.small{font-size:14px}dialog{width:min(620px,92vw);max-height:90dvh}}

/* Character menu artwork rendered from the game's own models. */
body{isolation:isolate;background:#193d31}.landscapeArt{z-index:-1;background:linear-gradient(90deg,rgba(9,30,23,.12) 0%,rgba(9,30,23,.12) 45%,rgba(9,30,23,.74) 100%),linear-gradient(0deg,rgba(8,26,21,.7),transparent 35%),url('menu-island.png') center center/cover no-repeat}.menuShell{max-width:1500px;padding:26px 5vw}.authLayout{grid-template-columns:1.4fr 1fr;gap:7%;padding:30px 0;align-items:center}.introCopy{align-self:end;padding-bottom:55px;text-shadow:0 3px 20px #082a20}.introCopy h1{font-size:clamp(42px,5.8vw,80px);font-weight:700;letter-spacing:-1px;margin:0 0 12px}.introCopy p{font-size:18px;color:#fff;margin:0}.glassCard{background:#102b24f5;border:1px solid #b9d6b63b;border-radius:16px;box-shadow:0 18px 70px #071b2160;backdrop-filter:none}.glassCard h2{font-size:28px}.authTabs button{font-size:16px}.wordmark small{font-size:12px}.glassCard label{font-size:16px}.saveCard{background:#102d26f5}.saveCard.empty{background:#102d26e8}.saveActions button{font-size:16px}.saveCard p,.menuTitle p{font-size:16px;color:#e4eddf}.saveActions .delete{font-size:14px}.menuTitle h1{font-size:38px;text-shadow:0 2px 15px #102b24}.menuTools{flex-wrap:wrap}footer{font-size:13px;color:#ecf0df}.menuTitle>.eyebrow{font-size:12px}#mainMenu>.small{background:#102d26ee;padding:12px 16px;border-radius:10px;color:#e0ebdc}
@media(max-height:550px){.menuShell{padding:12px 4vw}.authLayout{padding:18px 0;gap:5%;grid-template-columns:1.2fr 1fr}.introCopy{padding-bottom:20px}.introCopy h1{font-size:42px}.introCopy p{font-size:16px}.glassCard{padding:18px 22px}.glassCard h2{font-size:24px;margin:14px 0}.glassCard label{margin-top:10px}.authTabs button{font-size:14px;padding:8px}.glassCard input{padding:10px 12px}.glassCard .small{margin:8px 0}footer{padding-top:12px}.menuTitle{margin:24px 0 18px}}
@media(max-width:560px) and (orientation:portrait){.landscapeArt{background-position:35% center}.introCopy{min-height:180px;padding-top:20px;padding-bottom:10px}.authLayout{display:block}.glassCard{background:#102b24f5}.introCopy h1{font-size:44px}.menuTitle h1{font-size:32px}}

/* Live island menu, with the still retained if WebGL is unavailable. */
.landscapeArt{background-image:url('menu-island.png');background-size:cover;background-position:center}.landscapeArt:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b25160a 20%,#0b251621 48%,#081f18b8 100%),linear-gradient(0deg,#071c16a8,transparent 38%);pointer-events:none}#menuWorld{display:block;width:100%;height:100%;opacity:0;pointer-events:none;transition:opacity .6s}#menuWorld.ready{opacity:1}#sceneToggle{background:#102d26e8;border:1px solid #ffffff40;color:#e7efde;font-size:14px;padding:8px 14px;min-height:44px}.introCopy{pointer-events:none}.introCopy h1{text-shadow:0 3px 24px #0a231a}.glassCard{background:#102b24f2}footer{align-items:center}@media(prefers-reduced-motion:reduce){#menuWorld{transition:none}}

#sceneStatus{font-size:13px;line-height:1.5;color:#eff5df;background:#102b24e8;border-radius:8px;padding:8px 12px;max-width:540px}footer{flex-wrap:wrap}#sceneToggle{flex-shrink:0}
