/* Fixed artwork for the isolated Maison Miaou pilot. All rules stay in home
   content; the shared navigation and game board keep their existing styles. */
.first-welcome{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:36px;max-width:1280px;margin:0 auto;padding:clamp(24px,5vh,64px) 0 28px;min-height:min(500px,65svh)}
.first-welcome-copy{min-width:0}
#hub .first-welcome h1{font-family:var(--house-title);font-size:clamp(38px,4.7vw,64px);letter-spacing:-1.8px;line-height:1.08;font-weight:750;margin:14px 0 22px;color:var(--house-ink);text-wrap:balance}
.first-welcome h1 span{color:var(--house-apricot)}
.first-welcome p{font-size:16px;line-height:1.6;max-width:38ch;color:var(--house-muted)}
.first-welcome .first-welcome-lead{font-size:19px;color:var(--house-ink);margin-bottom:10px}
.first-welcome-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.first-welcome-actions button{min-height:54px;padding:14px 20px;font:inherit;font-weight:650;white-space:normal;line-height:1.35}
.first-welcome-actions .primary{display:inline-flex;align-items:center;justify-content:center;gap:18px}
.first-welcome .first-welcome-feedback{min-height:1.6em;font-size:14px;margin:12px 0 0}
@media(max-width:650px){
 #hub .first-welcome{display:flex;flex-direction:column;gap:20px;min-height:0;padding:12px 0 24px}
 #hub .first-welcome.pilot-home>.first-welcome-art{order:-1;width:min(100%,420px);max-width:100%;aspect-ratio:3/2}
 #hub .first-welcome .pilot-home-scene{aspect-ratio:3/2;height:auto;border-radius:22px}
 #hub .first-welcome h1{font-size:clamp(34px,9vw,46px);margin:10px 0 16px;letter-spacing:-1px}
 #hub .first-welcome p{font-size:15px;margin:8px 0}
 #hub .first-welcome .first-welcome-lead{font-size:17px}
 #hub .first-welcome-copy{width:100%}
 #hub .first-welcome-actions{display:grid;grid-template-columns:1fr;margin-top:20px;gap:10px}
 #hub .first-welcome-actions button{width:100%;min-height:54px}
 body:has(.first-welcome) .mobile-dock{display:none}
 #hub .first-welcome .first-welcome-feedback:empty{display:none}
}
@media(max-width:650px) and (max-height:700px){
 #hub .first-welcome.pilot-home>.first-welcome-art{width:min(100%,225px)}
 #hub .first-welcome{gap:14px;padding-top:2px}
 #hub .first-welcome h1{font-size:33px;margin:7px 0 12px}
 #hub .first-welcome-actions{margin-top:16px}
 #hub .first-welcome-copy>p:not(.first-welcome-lead):not(.first-welcome-feedback){display:none}
}
/* A warm welcome, kept secondary to the level or resume action. */
#hub .desktop-lobby>.hub-title>div{position:relative;padding-left:51px;min-height:40px;display:flex;align-items:center}
#hub .desktop-lobby>.hub-title>div:before{content:'';position:absolute;left:0;top:50%;translate:0 -50%;width:38px;height:38px;border:1px solid var(--house-line);border-radius:14px;background:var(--house-paper) url('icon.svg') center/25px 25px no-repeat;box-shadow:0 3px 0 var(--house-shadow);pointer-events:none}
#hub .desktop-lobby>.hub-title h1{font-family:var(--house-title);font-size:clamp(20px,2vw,25px);font-weight:650;letter-spacing:-.4px;line-height:1.3;color:var(--house-ink)}
#hub .desktop-lobby:is([data-home-state=other],[data-home-state=conflict]) .hero-copy>.tag{display:none}
#hub .pilot-home .pilot-home-art{
 position:relative;display:block;min-width:0;min-height:0;width:100%;
 height:auto;aspect-ratio:3/2;max-width:615px;align-self:center;justify-self:end;
 margin:0;opacity:1;pointer-events:none;isolation:isolate;
}
#hub .pilot-home .pilot-home-scene{
 display:block;width:100%;height:100%;max-width:100%;overflow:hidden;
 border-radius:25px;pointer-events:none;
}
#hub .pilot-home .pilot-home-art .pilot-home-scene>img{
 position:static;inset:auto;display:block;z-index:auto;
 width:100%;max-width:none;height:100%;max-height:none;margin:0;
 object-fit:contain;object-position:50% 50%;border-radius:inherit;
 filter:none;transform:none;animation:none;transition:none;
}
#hub .desktop-lobby.pilot-home .lobby-journey{
 grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;
 min-height:0;padding:8px 0 20px;
}
#hub .desktop-lobby.pilot-home .lobby-journey h2{
 font-size:clamp(36px,4.1vw,56px);line-height:1.08;max-width:560px;
 margin:15px 0;
}
#hub .desktop-lobby.pilot-home .lobby-journey .hero-actions{margin-top:20px}
#hub .desktop-lobby.pilot-home .lobby-choices{margin-top:22px}
#hub .desktop-lobby.pilot-home .pilot-home-scene{height:auto;aspect-ratio:3/2}
#hub .pilot-home :is(button,summary){scroll-margin-block:16px 100px}

@media(min-width:651px) and (max-width:1100px){
 #hub .desktop-lobby.pilot-home .lobby-journey{
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:22px;
 }
 #hub .desktop-lobby.pilot-home .lobby-journey h2{font-size:39px}
 #hub .desktop-lobby.pilot-home .pilot-home-art{height:auto;max-width:450px}
}

@media(max-width:650px){
 #hub .app-home.pilot-home{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
 #hub .app-home.pilot-home .app-welcome{margin-bottom:12px}
 #hub .app-home.pilot-home .app-welcome p{
  font-size:14px;line-height:1.5;margin:0 0 4px;overflow-wrap:anywhere;
 }
 #hub .app-home.pilot-home .app-welcome h1{
  font-size:clamp(27px,7.3vw,32px);line-height:1.12;letter-spacing:-.7px;
  max-width:none;margin:0;text-wrap:balance;
 }
 #hub .app-home.pilot-home .app-play-card{
  padding:0;margin-bottom:8px;border:0;border-radius:0;
  background:none;box-shadow:none;overflow:visible;
 }
 #hub .app-home.pilot-home .pilot-home-art{
  --pilot-home-height:clamp(180px,56vw,220px);
  width:100%;max-width:none;height:var(--pilot-home-height);aspect-ratio:auto;margin:0;
 }
 #hub .app-home.pilot-home .pilot-home-scene{border-radius:22px}
 #hub .app-home.pilot-home .pilot-home-scene>img{object-fit:cover}
 #hub .app-home.pilot-home .app-play-label{
  font-size:12px;line-height:1.5;margin:10px 0;
 }
 #hub .app-home.pilot-home .app-play-button{
  min-height:56px;padding:14px 13px;line-height:1.4;
 }
 #hub .app-home.pilot-home .home-save-status.sync-card{margin-top:12px}
 #hub .app-home.pilot-home .app-learn-entry{margin-bottom:12px}
 #hub .app-home.pilot-home .app-mode-choices{gap:12px}
 /* Resolution and account messages take space from the scene, never controls. */
 #hub .app-home.pilot-home:is([data-home-state=loading],[data-home-state=conflict],[data-home-state=other],[data-home-state=unavailable]) .pilot-home-art{
  --pilot-home-height:clamp(130px,40vw,170px);
 }
 #hub .app-home.pilot-home:is([data-home-state=loading],[data-home-state=conflict],[data-home-state=other],[data-home-state=unavailable]) .pilot-home-scene{width:min(100%,calc(var(--pilot-home-height)*1.5));margin-inline:auto}
 #hub .app-home.pilot-home:is([data-home-state=loading],[data-home-state=conflict],[data-home-state=other],[data-home-state=unavailable]) .pilot-home-scene>img{object-fit:contain}
}

@media(min-width:420px) and (max-width:650px){
 #hub .app-home.pilot-home .pilot-home-scene{width:min(100%,calc(var(--pilot-home-height)*1.5));margin-inline:auto}
 #hub .app-home.pilot-home .pilot-home-scene>img{object-fit:contain}
}
@media(max-width:650px) and (max-height:650px){
 #hub .app-home.pilot-home .pilot-home-art{--pilot-home-height:180px}
 #hub .app-home.pilot-home:is([data-home-state=loading],[data-home-state=conflict],[data-home-state=other],[data-home-state=unavailable]) .pilot-home-art{--pilot-home-height:130px}
}
@media(max-width:650px) and (max-height:450px){
 #hub .app-home.pilot-home .pilot-home-art,
 #hub .app-home.pilot-home:is([data-home-state=loading],[data-home-state=conflict],[data-home-state=other],[data-home-state=unavailable]) .pilot-home-art{--pilot-home-height:120px}
 #hub .app-home.pilot-home .pilot-home-scene{width:min(100%,calc(var(--pilot-home-height)*1.5));margin-inline:auto}
 #hub .app-home.pilot-home .pilot-home-scene>img{object-fit:contain}
}

/* A flattened room never floats, even when the player's motion setting is on. */
@media(prefers-reduced-motion:reduce){
 #hub .pilot-home .pilot-home-scene,#hub .pilot-home .pilot-home-scene>img{animation:none!important;transition:none!important;transform:none!important}
}
:root[data-motion=reduced] #hub .pilot-home .pilot-home-scene,
:root[data-motion=reduced] #hub .pilot-home .pilot-home-scene>img{animation:none!important;transition:none!important;transform:none!important}
