[hidden]{display:none!important}button,input{font:inherit}button:disabled{cursor:not-allowed;opacity:.45}#lobby{position:fixed;inset:0;z-index:9;overflow:auto;background:radial-gradient(ellipse at 85% 20%,#32717bd9,transparent 55%),linear-gradient(120deg,#102e39fa,#163e46eb);color:#fff4dc;font-family:'Baloo 2',sans-serif}#lobby:before{content:'✦';position:fixed;right:-60px;top:8%;font-size:600px;line-height:1;color:#ffffff03;transform:rotate(-12deg);pointer-events:none}.lobby-shell{position:relative;max-width:1150px;margin:auto;padding:28px 44px 22px;min-height:100%;display:flex;flex-direction:column}.lobby-brand{display:flex;align-items:center;gap:12px;font-family:'Lilita One',sans-serif;letter-spacing:1.8px;font-size:21px}.brand-star{font-size:43px;color:#ffcc72}.lobby-brand small{display:block;font:600 9px 'Baloo 2';letter-spacing:3px;color:#a5c6c7;margin-top:1px}.edition{margin-left:auto;font:700 12px 'Baloo 2';letter-spacing:1.5px;border:1px solid #80b2b33b;border-radius:30px;padding:8px 15px;color:#b8d7d3}.lobby-intro{text-align:center;margin:28px 0}.lobby-kicker{font-size:11px;letter-spacing:3px;font-weight:700;color:#9bcac5}.lobby-intro h1{font:400 clamp(40px,6vw,75px)/.96 'Lilita One';margin:18px 0;color:#fff3d6;text-shadow:0 5px 0 #0a242b;transform:rotate(-2deg)}.lobby-intro h1 span{color:#ffcc72}.lobby-intro h1 i{display:block;font:normal 15px 'Baloo 2';letter-spacing:9px;color:#ffcc72;margin-top:15px}.lobby-intro p{font-size:17px;line-height:1.4;color:#b8d2cf;margin:14px 0 0}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:790px;margin:8px auto 0}.mode-card{position:relative;text-align:left;padding:25px 28px;border:2px solid #80b8b145;background:#214c55;border-radius:22px;box-shadow:0 7px 0 #0c252d;transition:transform .18s,border-color .18s;min-height:185px}.mode-card:hover{transform:translateY(-4px);border-color:#ffd085}.mode-card .mode-icon{font-size:38px;display:block}.mode-card h2{font:400 30px 'Lilita One';margin:8px 0;color:#fff4dc}.mode-card p{margin:0;font-size:14px;color:#bcd8d4;max-width:260px;line-height:1.4}.mode-card .arrow{position:absolute;right:24px;top:34px;color:#ffcf75;font-size:30px}.mode-card.coop{background:#f4c577;color:#382e29;border-color:#ffe1a4;box-shadow:0 7px 0 #a47034}.mode-card.coop h2{color:#392f28}.mode-card.coop p{color:#66513d}.mode-card.coop .arrow{color:#66513d}.menu-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.menu-heading h2{font:400 29px 'Lilita One';margin:0}.menu-heading p{font-size:14px;color:#b3ccc9;margin:5px 0}.back-button{border:1px solid #ffffff29;background:#ffffff08;border-radius:12px;padding:8px 15px;font-weight:600}.role-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.role-card{position:relative;text-align:center;padding:20px 10px 15px;border:2px solid #ffffff17;border-radius:18px;background:#234750;min-height:188px;transition:.15s}.role-card:hover:not(:disabled){transform:translateY(-3px);border-color:var(--role-color)}.role-card.selected{border-color:var(--role-color);background:#345660;box-shadow:0 0 0 3px #ffffff08}.role-portrait{height:69px;width:69px;border-radius:24px;margin:0 auto 13px;display:grid;place-items:center;font-size:39px;background:color-mix(in srgb,var(--role-color) 18%,transparent);border:1px solid color-mix(in srgb,var(--role-color) 35%,transparent)}.role-card strong{font:400 20px 'Lilita One';display:block;color:var(--role-color)}.role-card small{font-size:12px;line-height:1.25;display:block;color:#c0d1ce;margin:8px 0}.role-owner{display:block;font-size:12px;color:#ffe3a8;overflow-wrap:anywhere}.role-card.selected:after{content:'✓';position:absolute;right:9px;top:7px;color:var(--role-color)}.selection-detail{display:flex;align-items:center;gap:20px;padding:18px 22px;margin:18px 0 0;border-radius:17px;background:#0c29356e;border:1px solid #ffffff13}.selection-detail p{flex:1;margin:0;color:#bfd6d1;line-height:1.45;font-size:14px}.selection-detail b{color:#ffe0a0}.primary-button{border:1px solid #ffe5ad;border-radius:12px;padding:12px 25px;background:#ffcc72;color:#3a3026;box-shadow:0 4px 0 #a57239;font-weight:800;font-size:17px;white-space:nowrap}.primary-button:hover:not(:disabled){background:#ffda95}.small-note{color:#9fbfb9;font-size:12px;text-align:center;margin:17px 0 0}.lobby-footer{display:flex;justify-content:space-between;gap:12px;color:#82a8a7;font-size:12px;border-top:1px solid #ffffff0c;padding-top:16px;margin-top:auto}#menu-content{padding-bottom:8px}#lobby-error{min-height:22px;color:#ffd09c;text-align:center;font-size:14px;margin:12px 0 20px}.lobby-form{max-width:650px;margin:auto;padding:24px;background:#173842b3;border:1px solid #ffffff18;border-radius:20px}.lobby-form label{display:block;font-size:14px;color:#c6ddd5}.lobby-form input{display:block;width:100%;padding:12px 15px;border:1px solid #79aaa773;border-radius:12px;background:#102e38;color:#fff4dc;font-size:18px;outline:none;margin:5px 0 17px}.lobby-form input:focus{border-color:#ffcc72}.lobby-form input#room-code{text-transform:uppercase;letter-spacing:5px}.form-actions{display:flex;gap:12px;justify-content:space-between;align-items:center}.room-banner{display:flex;align-items:center;justify-content:space-between;border:1px dashed #c6a96c80;border-radius:15px;background:#ffcf710c;padding:12px 20px;margin-bottom:18px}.room-banner small{display:block;font-size:11px;color:#b5ccc4}.room-banner strong{font:400 30px 'Lilita One';letter-spacing:6px;color:#ffcf75}.room-banner button{background:#ffffff0d;border:1px solid #ffffff29;border-radius:9px;padding:7px 12px}.lobby-players{font-size:13px;color:#b5d1c9;margin-top:14px;display:flex;gap:12px;flex-wrap:wrap}.lobby-players span{padding:5px 12px;border:1px solid #ffffff1c;border-radius:10px}.lobby-players .ready-player{color:#b1eaca;border-color:#75bf9870}#session-badge{position:fixed;left:28px;top:149px;z-index:4;padding:6px 12px;background:#132c37e8;color:#b6d5d1;border:1px solid #ffffff25;border-radius:9px;font-size:12px}body.in-menu .hud,body.in-menu .toolbar,body.in-menu #queue-pressure,body.in-menu #touch-controls,body.in-menu #world-labels,body.in-menu #session-badge{visibility:hidden}.task-marker{position:fixed;z-index:2;pointer-events:none;border-radius:9px;padding:5px 10px;background:#ffcc72;color:#332e29;font-weight:700;font-size:12px;box-shadow:0 3px 0 #a27236}
@media(max-width:750px){.lobby-shell{padding:20px}.lobby-intro{margin:24px 0}.role-grid{grid-template-columns:repeat(3,1fr)}.role-card{min-height:155px;padding:12px 8px}.role-card strong{font-size:18px}.role-portrait{height:50px;width:50px;font-size:30px;margin-bottom:9px}.selection-detail{flex-direction:column;align-items:stretch}.selection-detail button{text-align:center}.lobby-intro h1{font-size:53px}.lobby-kicker{font-size:9px;letter-spacing:2px}.menu-heading h2{font-size:24px}.lobby-footer{margin-top:15px}.lobby-brand{font-size:18px}.edition{font-size:10px;padding:6px 10px}.mode-card{padding:20px}.mode-card h2{font-size:25px}.mode-card p{font-size:13px}.mode-grid{gap:12px}#session-badge{left:14px;top:130px}}
@media(max-width:420px){.lobby-shell{padding:17px 14px}.mode-grid{grid-template-columns:1fr}.mode-card{min-height:130px;padding:17px 20px 17px 83px}.mode-card .mode-icon{position:absolute;left:22px;top:30px}.mode-card .arrow{display:none}.mode-card h2{margin:4px 0}.role-grid{grid-template-columns:repeat(2,1fr)}.lobby-brand small{font-size:7px}.lobby-intro h1{font-size:44px}.edition{letter-spacing:.5px}.lobby-footer{font-size:10px}.lobby-intro p{font-size:15px}.room-banner{padding:10px}.menu-heading{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Turkish glyphs keep the same rounded type instead of falling back to serif. */
.role-card strong,.menu-heading h2,.mode-card h2{font-family:'Baloo 2',sans-serif;font-weight:800;line-height:1.1}
