/* Menu and lobby live in the same viewport as the 3D world. */
.menu-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,#080808e8 0%,#080808a8 24%,#08080816 54%,transparent 70%),linear-gradient(0deg,#08080880,transparent 32%);transition:opacity .5s}
#startCard{position:absolute;left:clamp(28px,6vw,110px);top:50%;bottom:auto;transform:translateY(-50%);z-index:5;width:320px;max-width:43vw;padding:0;border:0;border-radius:0;background:none;box-shadow:none;animation:menu-arrive .7s ease-out both}
.menu-kicker{display:block;color:#dbca8e;font-size:9px;font-weight:800;letter-spacing:3.5px;margin:0 0 17px;text-shadow:0 2px 8px #000}
#startCard h1{position:relative;font-family:var(--display);font-size:clamp(110px,10vw,172px);font-weight:900;line-height:.79;letter-spacing:-3px;margin:0 0 23px;color:#f7f2df;text-shadow:3px 5px 0 #08080870;transform:rotate(-3deg);transform-origin:left}
#startCard h1 span{color:var(--yellow);display:inline-block;transform:rotate(5deg)}
#startCard h1 i{position:absolute;top:7%;right:-10px;font-size:26px;font-style:normal;color:var(--yellow);transform:rotate(9deg)}
#startCard .menu-tagline{font-size:11px;line-height:1.65;color:#b4b1a3;margin:0 0 30px;text-shadow:0 2px 6px #000}
.menu-actions{display:grid;gap:5px;width:278px;max-width:100%}
#startButton{justify-content:flex-start;width:100%;min-height:60px;padding:12px 19px;border-radius:3px;border:0;border-left:3px solid #fff2a6;background:var(--yellow);box-shadow:0 6px 18px #0003;color:#262315;transition:background .15s,transform .15s}
#startButton>span{font-family:var(--display);font-size:32px;line-height:1;font-weight:800;letter-spacing:1.1px;margin:0;border:0;padding:0}
#startButton .ui-icon{width:17px;height:17px;margin-right:4px}
#startButton kbd{margin-left:auto;border-color:#7f712c70;color:#665a27;font-size:7px}
#startButton:hover{background:#ffe77c;transform:translateX(5px)}
.menu-button{display:flex;align-items:center;gap:16px;padding:10px 19px;min-height:43px;width:100%;background:none;border:0;border-left:3px solid transparent;text-align:left;color:#eeebdf;font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:1px;transition:color .15s,background .15s,transform .15s}
.menu-button .ui-icon{width:19px;height:19px;color:#d0c5a0}
.menu-button:hover:not(:disabled){border-left-color:var(--yellow);background:linear-gradient(90deg,#ffdc5413,transparent);color:var(--yellow);transform:translateX(5px)}
.menu-button.login-button{color:#aaa797}
.login-button small{margin-left:auto;padding:4px 5px;border:1px solid #a8a18b40;border-radius:3px;color:#948d74;font-family:var(--body);font-size:6px;font-weight:700;letter-spacing:.7px;white-space:nowrap}
.login-button .ui-icon{color:#9b9480}
.menu-about .ui-icon{width:22px;height:22px;margin-left:-2px;margin-right:-1px}
.social-links{display:flex;align-items:center;gap:10px;margin-top:26px}
.social-button{display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #ffffff22;border-radius:4px;background:#08080840;color:#dedbce;font-size:8px;font-weight:800;letter-spacing:1px}
.social-button .ui-icon{width:16px;height:16px}
.social-button:hover{background:#ffffff0c;border-color:#ffdc5480}
.social-button.pump{color:#b9dda9}
.social-button.pump:hover{border-color:#9ddb9c80;background:#a4d49312}
.summit-overlay{position:absolute;right:clamp(20px,3vw,52px);top:clamp(22px,4vh,42px);width:280px;z-index:5;padding:18px;background:rgba(8,8,8,.8);border:1px solid #ffffff20;border-radius:12px;box-shadow:0 8px 30px #0003;color:#f4eedc;text-shadow:0 2px 7px #0005}
.creator-fees{display:flex;align-items:center;width:100%;gap:13px;margin-bottom:17px;padding:0 0 16px;background:none;border:0;border-bottom:1px solid #ffffff23;text-align:left;transition:color .15s}
.creator-fees>.ui-icon{width:46px;height:46px;flex-shrink:0;padding:6px;border:1px solid #ffffff15;border-radius:10px;background:#161616;filter:drop-shadow(0 2px 4px #0005)}
.creator-fees small{display:block;font-size:8px;font-weight:800;letter-spacing:1.6px;color:#d5c798}
.creator-fees strong{display:block;font-family:var(--display);font-size:40px;line-height:1.1;color:var(--yellow);font-weight:800;letter-spacing:.5px}
.creator-fees em{font-family:var(--body);font-size:13px;font-style:normal;color:#d1c5a0}
.fee-pending{display:block;font-size:7px;color:#b5ad99;letter-spacing:1px;margin-top:3px;white-space:nowrap}
.creator-fees:hover{color:var(--yellow)}
.summit-heading{display:flex;align-items:center;gap:8px}
.summit-heading>.ui-icon{width:22px;height:22px;filter:drop-shadow(0 2px 3px #0006)}
.summit-heading h2,.chat-heading h2{font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:1.2px;line-height:1;margin:0}
.online-pill{display:flex;align-items:center;gap:5px;margin-left:auto;font-size:6px;letter-spacing:.6px;white-space:nowrap;color:#c1c8b2}
.online-pill strong{font-size:10px;color:#d4ebca;font-variant-numeric:tabular-nums}
.board-labels{display:flex;justify-content:space-between;font-size:6px;font-weight:800;letter-spacing:1px;color:#b2ad99;margin:14px 0 5px;opacity:.9}
.board-row{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid #ffffff10;font-size:12px;min-width:0}
.board-row .rank{width:16px;flex-shrink:0;font-family:var(--display);font-size:15px;color:#b2b0a1}
.board-row:first-child .rank{color:var(--yellow)}
.board-avatar{display:none}
.board-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.board-name small{font-size:6px;color:var(--yellow);margin-left:5px}
.board-row>b{font-size:12px;font-variant-numeric:tabular-nums;color:#efebd9}
.board-row>b small{font-size:7px;margin-left:3px;font-weight:500;color:#bfbaa9}
.board-row.is-me .board-name{color:#ffdf6b}
.lobby-status{display:block;color:#b1b09e;font-size:7px;line-height:1.4;margin-top:6px}
.lobby-status:empty{display:none}
.empty-state{display:flex;align-items:center;min-height:28px;font-size:9px;line-height:1.6;color:#c2bead}
.empty-state svg,.empty-state strong{display:none}
.chat-panel{position:absolute;right:clamp(20px,3vw,52px);bottom:26px;width:320px;max-width:34vw;z-index:6;padding:15px;background:rgba(8,8,8,.74);border:1px solid #ffffff20;border-radius:12px;box-shadow:0 8px 30px #0003;text-shadow:0 2px 5px #0005;pointer-events:auto}
.chat-heading{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.chat-heading>.ui-icon{width:21px;height:21px;filter:drop-shadow(0 2px 4px #0007)}
.chat-heading h2{font-size:15px;color:#f0e9de;letter-spacing:1px}
#chatToggle{display:grid;place-items:center;margin-left:auto;width:26px;height:24px;background:#08080830;color:#dbd4c4;border:1px solid #ffffff20;border-radius:3px;font-size:18px;line-height:1;text-shadow:none}
#chatToggle:hover{background:#08080870;border-color:#d3be704f}
.chat-messages{height:154px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#ffffff33 transparent;mask-image:linear-gradient(transparent,#000 9%,#000 100%);padding:8px 3px 0 0}
.chat-message{margin:0 0 9px;font-size:11px;overflow-wrap:anywhere}
.chat-message>div{display:flex;align-items:center;gap:7px}
.chat-message strong{color:#d0b9fa;font-size:10px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:78%}
.chat-message.mine strong{color:#ffe17d}
.chat-message time{margin-left:auto;font-size:7px;color:#b8b0a1}
.chat-message p{margin:3px 0 0;color:#efebdf;line-height:1.5}
.chat-panel form{display:flex;align-items:center;position:relative;margin-top:7px}
.chat-panel input{width:100%;min-width:0;padding:10px 36px 10px 10px;background:#08080842;color:#f5eedc;border:1px solid #ffffff27;border-radius:4px;font-size:10px;text-shadow:none;transition:background .15s,border-color .15s}
.chat-panel input::placeholder{color:#c4bca9}
.chat-panel input:focus{background:#080808c4;border-color:#e9d27280}
.chat-panel form button{display:grid;place-items:center;position:absolute;right:4px;width:27px;height:26px;background:none;border:0;color:#c6a4ef}
.chat-panel form button svg{width:15px;height:15px}
.chat-panel form button:disabled{opacity:.35}
.community-status{font-size:7px;line-height:1.5;color:#b9b3a0;margin:5px 0 0}
.community-status:empty{display:none}
.community-status.error{color:#ffd1b8}
.chat-panel.is-collapsed .chat-messages,.chat-panel.is-collapsed form,.chat-panel.is-collapsed .community-status,.chat-panel[data-collapsed=true] .chat-messages,.chat-panel[data-collapsed=true] form,.chat-panel[data-collapsed=true] .community-status{display:none}
.chat-panel.is-collapsed .chat-heading,.chat-panel[data-collapsed=true] .chat-heading{margin-bottom:0}
.game-frame:not([data-mode=ready]) .main-menu,.game-frame:not([data-mode=ready]) .menu-only,.game-frame:not([data-mode=ready]) .menu-scrim{display:none}
.game-frame[data-mode=ready] .run-hud{display:none}
.game-frame:not([data-mode=ready]):before{content:'';position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(270deg,#08080862,transparent 26%),linear-gradient(0deg,#0808084d,transparent 18%)}
.game-frame[data-chatting=true] .result-card{display:none}
.card-quick-slots{top:auto!important;right:auto!important;bottom:26px;left:50%;transform:translateX(-50%);gap:7px}
.quick-card{width:43px;height:48px;background:#10100ddd;border-color:color-mix(in srgb,var(--card),#211923 45%);box-shadow:0 2px 10px #0003}
#editCards{margin-top:18px;padding:12px 14px;font-size:11px;background:#ffffff06;border-color:#ffffff15;color:#d3c5e5}
#editCards>span:last-child{margin-left:auto;color:#bda8dc}
.game-frame[data-mode=ready] .active-card-hud,.game-frame[data-mode=ready] .return-armed{display:none}
@keyframes menu-arrive{from{opacity:0;translate:-12px 0}to{opacity:1;translate:0 0}}
@media(min-width:1600px){#startCard{width:370px}.menu-actions{width:300px}.menu-button{font-size:23px;min-height:47px}.summit-overlay{width:300px}.chat-panel{width:350px}.chat-messages{height:174px}}
@media(max-height:700px) and (min-width:761px){#startCard{width:280px}.menu-kicker{margin-bottom:12px}#startCard h1{font-size:116px;margin-bottom:18px}#startCard .menu-tagline{margin-bottom:18px}.menu-button{min-height:36px;padding-block:7px;font-size:20px}#startButton{min-height:53px}.social-links{margin-top:18px}.chat-messages{height:122px}.creator-fees{margin-bottom:18px;padding-bottom:14px}}
@media(max-width:900px){#startCard{left:30px;width:265px}#startCard h1{font-size:112px}.summit-overlay{right:22px;width:238px}.chat-panel{right:22px;width:285px;max-width:36vw}.menu-actions{width:255px}.run-hud{gap:10px;left:22px}.card-quick-slots{bottom:83px}.menu-tagline{max-width:220px}}
@media(max-width:600px){#startCard{left:24px;top:28%;transform:none;width:220px;max-width:58vw}#startCard h1{font-size:94px;letter-spacing:-2px;margin-bottom:16px}#startCard h1 i{font-size:20px;right:0}.menu-kicker{font-size:6px;letter-spacing:2.6px;margin-bottom:13px}#startCard .menu-tagline{font-size:9px;margin-bottom:18px}.menu-actions{width:214px;gap:2px}#startButton{min-height:47px;padding:10px 13px}#startButton>span{font-size:27px}#startButton kbd{display:none}.menu-button{font-size:18px;min-height:37px;gap:12px;padding:8px 13px}.menu-button .ui-icon{width:16px;height:16px}.login-button small{font-size:5px;padding:3px;letter-spacing:.4px}.social-links{gap:7px;margin-top:17px}.social-button{font-size:6px;padding:7px 9px;gap:6px}.social-button .ui-icon{width:14px;height:14px}.summit-overlay{top:17px;right:18px;width:210px;padding:12px}.creator-fees{margin-bottom:12px;padding-bottom:10px;gap:7px}.creator-fees>.ui-icon{width:34px;height:34px;padding:4px;border-radius:7px}.creator-fees small{font-size:7px;letter-spacing:1px}.creator-fees strong{font-size:32px}.creator-fees em{font-size:9px}.fee-pending{font-size:6px;letter-spacing:.7px}.summit-heading{gap:6px}.summit-heading>.ui-icon{width:18px;height:18px}.summit-heading h2{font-size:13px;letter-spacing:.7px}.online-pill{gap:3px;font-size:5px}.online-pill strong{font-size:8px}.board-labels{font-size:5px}.board-row{padding:4px 0;font-size:9px;gap:5px}.board-row .rank{font-size:12px;width:12px}.board-row>b{font-size:8px}.board-row>b small{font-size:6px}.lobby-status{font-size:6px;margin-top:4px}.chat-panel{right:18px;bottom:17px;width:244px;max-width:64vw;padding:11px}.chat-heading{margin-bottom:5px;gap:6px}.chat-heading h2{font-size:12px}.chat-heading>.ui-icon{width:18px;height:18px}.chat-messages{height:112px}.chat-message{font-size:10px;margin-bottom:7px}.chat-message strong{font-size:9px}.chat-panel input{font-size:9px;padding-block:9px}.community-status{font-size:6px}.game-frame[data-mode=ready] .chat-messages{height:60px}.game-frame:not([data-mode=ready]) .chat-panel{bottom:192px;max-width:58vw}.card-quick-slots{bottom:17px!important;left:auto;right:18px!important;transform:none;gap:5px}.quick-card{width:33px;height:40px}.run-hud{max-width:calc(100% - 145px)}.course-count{display:none}.menu-scrim{background:linear-gradient(90deg,#080808de,#08080869 49%,#08080810 85%),linear-gradient(0deg,#0808087a,transparent 25%)}.empty-state{font-size:8px;min-height:24px}}
@media(max-width:600px) and (max-height:740px){#startCard{top:232px;width:200px;max-height:calc(100dvh - 382px);overflow-y:auto;scrollbar-width:thin;padding-right:6px}#startCard h1{font-size:64px;margin-bottom:10px}.menu-kicker,#startCard .menu-tagline{display:none}.menu-actions{width:198px}.menu-button{min-height:33px;padding-block:6px;font-size:17px}#startButton{min-height:44px}.social-links{margin-top:12px}.chat-messages{height:60px}.game-frame[data-mode=ready] .chat-messages{height:36px}.chat-panel{width:218px}}
@media(max-height:470px) and (min-width:601px){#startCard{top:17px;transform:none;width:220px;left:26px}.menu-kicker{font-size:6px;margin-bottom:9px}#startCard h1{font-size:80px;margin-bottom:12px}#startCard .menu-tagline{font-size:8px;margin-bottom:9px}.menu-actions{width:220px;gap:1px}#startButton{min-height:37px;padding:7px 13px}#startButton>span{font-size:25px}.menu-button{min-height:29px;padding:5px 13px;font-size:17px}.menu-button .ui-icon{width:15px;height:15px}.social-links{margin-top:10px}.social-button{padding:6px 9px;font-size:6px}.summit-overlay{top:17px;right:20px;width:216px;padding:10px}.creator-fees{padding-bottom:6px;margin-bottom:8px}.creator-fees>.ui-icon{width:36px;height:36px}.creator-fees small{font-size:6px}.creator-fees strong{font-size:30px}.summit-heading h2{font-size:14px}.board-labels{margin:8px 0 3px}.board-row{padding:2px 0}.lobby-status{font-size:6px}.chat-panel{bottom:14px;right:20px;width:240px}.chat-messages{height:61px}.chat-heading{margin-bottom:4px}.chat-heading h2{font-size:12px}.chat-panel input{padding-block:7px;font-size:9px}.community-status{font-size:6px}.run-hud{bottom:16px}.card-quick-slots{bottom:15px!important}.touch-controls{left:20px;right:285px;bottom:90px}}
@media(prefers-reduced-motion:reduce){#startCard{animation:none}.menu-scrim{transition:none}}
