/* Robobo entry: a light, readable launchpad. All overrides stop at the lobby. */
body:has(#lobby:not([hidden])){background:#f6f7fb}
#lobby{--entry-ink:#192337;--entry-muted:#586479;--entry-blue:#3456df;display:block;position:relative;inset:auto;width:100%;height:100dvh;min-height:0;max-width:none;overflow-y:auto;overflow-x:hidden;padding:0 max(28px,env(safe-area-inset-right)) 0 max(28px,env(safe-area-inset-left));background:#f6f7fb;color:var(--entry-ink);overscroll-behavior:contain;touch-action:pan-y}
#lobby[hidden]{display:none}
#lobby .lobby-header{height:82px;width:min(1240px,100%);border-color:#dfe3ec;gap:16px}
#lobby .brand{gap:10px;font-size:1.5rem;letter-spacing:-.055em;font-weight:900}
#lobby .brand-mark{width:36px;height:36px;border-radius:9px;background:none}
#lobby .lobby-header-actions{gap:8px;display:flex}
#lobby .lobby-settings,#lobby .lobby-fullscreen{min-height:44px;padding:0 13px;border:1px solid #d9dfeb;background:transparent;color:#45536a;border-radius:10px;font-size:.875rem;cursor:pointer}
#lobby .lobby-content{width:min(1240px,100%);padding:36px 0 24px;position:relative}
#lobby .lobby-intro{width:calc(100% - 414px);margin:0 0 25px}
#lobby .eyebrow{display:block;color:#536078;font-size:.6875rem;letter-spacing:.12em;margin:0 0 12px;font-weight:750}
#lobby h1{font-size:5.5rem;line-height:1;letter-spacing:-.075em;margin:0;color:#1b2941;max-width:none}
#lobby .title-stop{color:var(--entry-blue)}
#lobby .lobby-copy{color:var(--entry-muted);font-size:1rem;line-height:1.55;margin:13px 0 0;max-width:none}
#lobby .lobby-grid{display:grid;grid-template-columns:minmax(0,1fr) 366px;gap:48px;align-items:start}
#lobby .worlds-panel{display:block;min-width:0;width:auto}
#lobby .world-preview{position:relative;margin:0 0 24px;overflow:hidden;border-radius:20px;background:#b6dcea;aspect-ratio:1.9}
#lobby .world-preview>img{width:100%;height:100%;display:block;object-fit:cover}
#lobby .world-preview figcaption{position:absolute;inset:auto 0 0;padding:55px 24px 22px;background:linear-gradient(transparent,#102325db);color:#fff;display:grid;gap:5px}
#lobby .preview-kicker{font-size:.625rem;font-weight:800;letter-spacing:.12em;color:#dbf2df}
#lobby .world-preview strong{font-size:1.625rem;letter-spacing:-.035em}
#lobby .world-preview figcaption>span:last-child{font-size:.75rem;line-height:1.5;color:#f0f7f5}
#lobby .section-heading{margin:0 0 13px;gap:8px}
#lobby .section-heading h2{font-size:1.125rem;letter-spacing:-.03em}
#lobby .section-heading>span{font-size:.625rem;letter-spacing:.09em;color:#626f82}
#lobby #map-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#lobby #map-options .map-choice{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;min-height:58px;padding:8px;gap:8px;border:1px solid #cbd4e2;background:#fff;color:#45536a;border-radius:12px;overflow:hidden;box-shadow:none}
#lobby #map-options .map-choice[aria-pressed=true]{border-color:var(--entry-blue);background:#edf0ff;box-shadow:inset 0 0 0 1px var(--entry-blue);color:#233ba0}
#lobby .map-image{display:block;flex-shrink:0;width:42px;height:42px;min-height:0;margin:0;border-radius:7px}
#lobby .map-title{padding:0;font-size:.8125rem;font-weight:750;line-height:1.3;align-self:auto}
#lobby .map-description,#lobby .map-check{display:none}
#lobby .public-rooms{margin-top:18px;border:1px solid #d7deea;border-radius:12px;background:#fff}
#lobby .public-rooms summary{font-size:.875rem;min-height:52px;padding:0 16px;color:#36435b}
#lobby .public-rooms summary:hover{background:#edf1fa}
#lobby .rooms-count,#lobby .public-rooms summary::after{color:#536684}
#lobby .public-rooms-content{padding:0 16px 16px;border-color:#dde3ed}
#lobby .rooms-heading p,#lobby #room-list{font-size:.8125rem;color:#586479}
#lobby #refresh-rooms{font-size:.8125rem;color:#294abb;min-height:44px}
#lobby .room-row{background:#f0f3f9;gap:12px}
#lobby .room-row strong{color:#253855;font-size:.875rem}
#lobby .room-row small{color:#53637d;font-size:.75rem}
#lobby .room-row button{font-size:.8125rem;min-height:44px}
#lobby .worlds-note{display:block;color:#626f82;font-size:.8125rem;line-height:1.6;margin:16px 0 0;max-width:64ch}
#lobby .play-panel{margin:-188px 0 0;padding:26px;border:1px solid #dce2ed;border-radius:20px;background:#fff;box-shadow:0 8px 30px #22345a06;color:var(--entry-ink);width:auto}
#lobby .play-panel .section-heading{display:block;margin-bottom:24px}
#lobby .play-panel h2{font-size:1.625rem}
#lobby .entry-label{display:block;margin-top:7px}
#lobby #lobby-form{display:grid;gap:14px}
#lobby .field{gap:8px}
#lobby .field label{font-size:.875rem;font-weight:750}
#lobby .field input{height:50px;border-radius:10px;color:#20324c;font-size:1rem;background:#f9faff;border-color:#c4cede}
#lobby .field input::placeholder{font-size:.875rem;color:#707c8f}
#lobby #customize-lobby{min-height:64px;background:#f6f8fc;border-color:#e0e6ef;padding:8px 12px}
#lobby .avatar-shortcut strong{font-size:.875rem}
#lobby .avatar-shortcut small{font-size:.75rem;color:#586479}
#lobby .button{min-height:48px;font-size:.9375rem;border-radius:10px}
#lobby .play-now{min-height:56px;margin:2px 0 0;font-size:1.125rem;background:var(--entry-blue);border-color:var(--entry-blue)}
#lobby .play-now:hover{background:#2946c2;border-color:#2946c2}
#lobby .play-hint{font-size:.75rem;color:#586479;margin:-5px 0 0;line-height:1.5}
#lobby .entry-friend-actions{display:grid;grid-template-columns:1fr;gap:8px}
#lobby .entry-friend-actions button{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:10px 14px;border:1px solid #cbd5e5;border-radius:10px;background:#fff;color:#314465;text-align:left;font:inherit;font-size:.875rem;font-weight:750;cursor:pointer}
#lobby .entry-friend-actions button[aria-expanded=true]{background:#edf0ff;border-color:#3456df;color:#243cac}
#lobby .entry-friend-actions button:hover{background:#f0f3fa}
#lobby .sandbox-mode-note{order:10;border:0;border-top:1px solid #e3e7ef;padding:13px 0 0;margin:0;background:transparent;color:#59667a;font-size:.75rem;line-height:1.55;text-align:left}
#lobby .sandbox-mode-note strong{font-size:.75rem;color:#45536a}
#lobby .sandbox-mode-note span{display:block;font-size:.75rem;color:#626f82;margin-top:3px}
#lobby .join-options{margin:0;border:0}
#lobby.entry-enhanced #join-options>summary{display:none}
#lobby .join-options-content{padding:14px;background:#f4f6fc;border-radius:12px;gap:12px}
#lobby .join-options-content section{display:grid;gap:12px;min-width:0}
#lobby #close-entry-options{justify-self:start;min-height:44px;padding:0 8px;border:0;background:none;color:#294abb;font-size:.875rem;cursor:pointer}
#lobby .join-options-content h3{font-size:1rem;margin:0}
#lobby .entry-create-help{font-size:.8125rem;line-height:1.5;color:#586479;margin:0}
#lobby .private-option{min-height:48px;font-size:.8125rem;color:#324869}
#lobby .private-option small{font-size:.75rem;color:#596b84}
#lobby .field span{font-size:.75rem;color:#586479}
#lobby .play-footnote{display:block;font-size:.6875rem;color:#647186;margin:16px 0 0}
#lobby .lobby-footer{margin-top:30px;padding-top:20px;border-color:#dfe3ec;font-size:.8125rem;color:#626f82}
#lobby .lobby-footer>span:last-child{display:block;font-weight:850;color:#3456df}
#lobby [hidden],#lobby .join-options-content section[hidden]{display:none!important}
#lobby :is(button,input,summary):focus-visible{outline:3px solid #2548c7;outline-offset:3px}
@media(min-width:1500px){#lobby .lobby-content{padding-top:56px}#lobby .world-preview{aspect-ratio:1.75}}
@media(max-width:1050px){#lobby .lobby-grid{grid-template-columns:minmax(0,1fr) 324px;gap:28px}#lobby .lobby-intro{width:calc(100% - 352px)}#lobby .play-panel{padding:22px}#lobby .map-image{display:none}#lobby .map-title{font-size:.75rem}#lobby #map-options .map-choice{justify-content:center;text-align:center}}
@media(max-width:700px){
 #lobby{padding:0 max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}
 #lobby .lobby-header{height:68px}#lobby .brand{font-size:1.25rem}#lobby .lobby-fullscreen{display:none}
 #lobby .lobby-settings{font-size:.8125rem;padding:0 10px}
 #lobby .lobby-content{padding:24px 0}#lobby .lobby-intro{width:auto;margin:0 0 20px}
 #lobby h1{font-size:3.5rem}#lobby .eyebrow{font-size:.625rem;margin-bottom:10px}#lobby .lobby-copy{font-size:.9375rem;margin-top:10px}
 #lobby .lobby-grid{display:flex;flex-direction:column;gap:24px}
 #lobby .play-panel{order:0;width:100%;margin:0;padding:20px;border-radius:16px}
 #lobby .play-panel .section-heading{display:none}#lobby #lobby-form{gap:12px}
 #lobby #customize-lobby{min-height:52px}#lobby .avatar-shortcut small{display:none}
 #lobby .entry-friend-actions{grid-template-columns:1fr;gap:8px}#lobby .entry-friend-actions button{font-size:.8125rem;padding:10px;min-height:48px}
 #lobby .entry-friend-actions button span{display:none}
 #lobby .worlds-panel{order:1;width:100%;display:block}#lobby .world-preview{aspect-ratio:1.65;margin-bottom:20px}
 #lobby .world-preview figcaption{padding:38px 16px 16px}#lobby .world-preview strong{font-size:1.375rem}#lobby .world-preview figcaption>span:last-child{font-size:.6875rem}
 #lobby #map-options .map-choice{min-height:52px}#lobby .worlds-note{font-size:.8125rem}#lobby .lobby-footer{font-size:.75rem}
}
@media(orientation:landscape) and (max-height:520px) and (min-width:481px){
 #lobby .lobby-header{height:56px}#lobby .lobby-content{padding-top:22px}#lobby h1{font-size:3.5rem}
 #lobby .lobby-grid{grid-template-columns:minmax(0,1fr) 300px;gap:24px}#lobby .lobby-intro{width:calc(100% - 324px)}
 #lobby .play-panel{margin-top:-156px;padding:18px}#lobby .play-panel .section-heading{display:none}
 #lobby .world-preview{aspect-ratio:1.6}#lobby #lobby-form{gap:10px}#lobby .world-preview figcaption{padding:35px 16px 15px}
 #lobby .world-preview strong{font-size:1.375rem}#lobby .preview-kicker{display:none}
 #lobby .lobby-copy{font-size:.875rem}#lobby .eyebrow{font-size:.625rem}
 #lobby .lobby-grid{display:grid}#lobby .worlds-panel{order:0}#lobby .play-panel{order:1}
 #lobby .entry-friend-actions{grid-template-columns:1fr}
}
@media(orientation:landscape) and (max-height:520px) and (max-width:700px){
 #lobby{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 #lobby .lobby-grid{grid-template-columns:minmax(0,1fr) 270px;gap:16px}
 #lobby .lobby-intro{width:calc(100% - 286px)}#lobby h1{font-size:2.75rem}
 #lobby .eyebrow{font-size:.5625rem}#lobby .lobby-copy{font-size:.8125rem}
 #lobby .play-panel{margin-top:-143px;padding:16px}
 #lobby .world-preview{aspect-ratio:1}#lobby .world-preview figcaption>span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){#lobby *{scroll-behavior:auto;transition:none!important}}
