/* Launch, system regions and the spaces landing page share one background. */
html[data-appearance=dark],html[data-appearance=dark] body{background:#07064B;color-scheme:dark}
html[data-appearance=light],html[data-appearance=light] body{background:#fff;color-scheme:light}
body.fh-booting{background:#07064B}
.fh-booting>#fhSplash,.fh-booting>#fhLaunchError{visibility:visible!important}
.fh-first-locked #fhSplash:not([hidden]){display:block!important}
.fh-brand-lockup{display:flex;align-items:center;gap:10px;color:#F7F9FF;position:relative;flex:none}
.fh-brand-lockup img,.fh-brand-lockup .fh-sp-brand{display:block;width:36px;height:36px;border-radius:8px;object-fit:contain;background:#fff}
.fh-brand-lockup span{font-size:21px;font-weight:600;letter-spacing:-.7px}
@keyframes fh-launch-build{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@keyframes fh-launch-reveal{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.fh-sp-main{width:100%;min-height:100dvh;max-width:680px;margin:0 auto;padding:22px 20px 28px}
.fh-sp-top{gap:8px;flex-wrap:wrap}
.fh-sp-top-right{gap:8px}
.fh-sp-device{font-size:9px;letter-spacing:.5px}
.fh-sp-icon-button{min-width:44px;min-height:44px}
.fh-space-context{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#AFBFE1;font-size:12px;margin:10px 0 16px}
.fh-space-context span{overflow-wrap:anywhere}
.fh-space-context button{background:none;border:0;color:#BBD7FF;font:inherit;padding:8px 0 8px 12px;min-height:44px}
.fh-sp-intro{margin:8px 0 22px}
.fh-sp-intro h1{font-size:clamp(28px,7.6vw,38px);line-height:1.15;letter-spacing:-1.2px;max-width:560px}
.fh-sp-intro p{font-size:14px;line-height:1.5}
.fh-demo-project{margin:0}
.fh-sp-project{border-radius:24px;overflow:hidden}
.fh-sp-project .fh-sp-building,.fh-sp-project .fh-sp-wall-left,.fh-sp-project .fh-sp-wall-right,.fh-sp-project .fh-sp-furniture,.fh-sp-project .fh-sp-light{animation:none;transform:none;opacity:1}
.fh-sp-project .fh-sp-scan{display:none}
.fh-sp-project .fh-sp-orbit{animation-duration:16s}
.fh-sp-project .fh-sp-scene-wrap{max-width:480px;margin:0 auto;width:100%;aspect-ratio:1.48}
.fh-sp-project-top{padding-top:20px}
.fh-sp-project-name{font-size:24px}
.fh-sp-project-heading{flex-wrap:wrap;gap:8px}
.fh-sp-project-sub{font-size:12px}
.fh-sp-primary{min-height:54px;font-size:16px;font-weight:500}
.fh-sp-create{min-height:56px;margin-top:14px}
.fh-sp-section-heading h2{font-size:16px}
.fh-sp-room-title{font-size:15px}.fh-sp-room-status{font-size:12px}.fh-sp-room-value{font-size:14px}
.fh-space-actions{margin-top:10px;color:#B8C9E9;font-size:13px}
.fh-space-actions summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center}
.fh-space-actions .fh-onboard-import{color:#BBD7FF;padding:12px}
#fhLaunchError{position:fixed;inset:0;z-index:100000;background:#07064B;color:white;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:auto}
#fhLaunchError p{max-width:500px;overflow-wrap:anywhere;line-height:1.5}
#fhLaunchError button{background:#2457FF;border:0;color:white;border-radius:14px;padding:15px 24px;min-height:48px;font:inherit}
#fhDemoPreview{position:fixed;inset:0;z-index:94000;background:#07064B;color:#F7F9FF;overflow:auto;padding:22px 20px;overscroll-behavior:contain}
#fhDemoPreview header{display:flex;align-items:center;justify-content:space-between;gap:14px}
#fhDemoPreview h1{margin:4px 0 12px;font-size:28px}
#fhDemoPreview p{font-size:14px;line-height:1.5;color:#B8C9E9}
#fhDemoPreview button{background:#172B73;color:#E7F3FF;border:1px solid #6C8BCB66;border-radius:12px;padding:12px;min-height:48px;font:inherit}
.fh-demo-tabs,.fh-demo-orbit{display:flex;gap:10px;margin:18px 0}
.fh-demo-tabs button{flex:1}.fh-demo-tabs [aria-pressed=true]{background:#2457FF!important}
.fh-demo-canvas-wrap{height:clamp(260px,48dvh,540px);border-radius:18px;overflow:hidden;background:#F5F6F8}
.fh-demo-canvas-wrap canvas{display:block;width:100%;height:100%;touch-action:none}
.fh-demo-canvas-wrap canvas[hidden],.fh-demo-orbit[hidden]{display:none}
#fhDemoPlan{pointer-events:none}
.fh-demo-orbit button{flex:1;font-size:14px!important}
@media(max-width:350px){.fh-sp-main{padding:16px}.fh-brand-lockup span{font-size:18px}.fh-brand-lockup img,.fh-brand-lockup .fh-sp-brand{width:30px;height:30px}.fh-sp-device{font-size:8px}.fh-sp-top-right{gap:5px}#fhSplash .fh-sp-splash-brand{margin:8px 0 16px}}
@media(prefers-reduced-motion:reduce){.fh-sp-project *{animation:none!important;transform:none!important}}

html[data-appearance=dark] .fh-app{background:#07064B}

/* Dynamic Type grows labels without fixing card heights or clipping controls. */
.fh-sp-main{--fh-space-scale:var(--fh-a11y-scale,1)}
.fh-sp-main .fh-sp-primary,.fh-sp-main .fh-sp-section-heading h2{font-size:calc(16px * var(--fh-space-scale))}
.fh-sp-main .fh-sp-intro p,.fh-sp-main .fh-sp-room-value{font-size:calc(14px * var(--fh-space-scale))}
.fh-sp-main .fh-sp-room-title{font-size:calc(15px * var(--fh-space-scale))}
.fh-sp-main .fh-sp-room-status,.fh-sp-main .fh-sp-project-sub,.fh-space-context,.fh-space-actions{font-size:calc(12px * var(--fh-a11y-scale,1))}
.fh-sp-main .fh-sp-room{flex-wrap:wrap}
.fh-sp-main .fh-sp-project-name{font-size:calc(24px * var(--fh-space-scale))}
.fh-sp-main .fh-sp-area{font-size:calc(21px * var(--fh-space-scale))}
#fhDemoPreview p,#fhDemoPreview button{font-size:calc(14px * var(--fh-a11y-scale,1))}
#fhDemoPreview header,.fh-demo-orbit{flex-wrap:wrap}

#fhSplash[hidden],#fhDemoPreview[hidden],#fhLaunchError[hidden]{display:none!important}
