/* Phone/tablet-only composition. No width-only selectors: desktop stays intact. */
html.orbit-mobile{--shell:min(560px,calc(100% - 36px));scroll-padding-top:18px}
html.orbit-mobile .nav-wrap{position:relative;padding-top:8px}
html.orbit-mobile .nav{padding:8px 0;min-height:52px;border:0;border-radius:0;background:none;backdrop-filter:none}
html.orbit-mobile .brand{font-size:20px;gap:8px}
html.orbit-mobile .nav-links>a:not(.nav-download),html.orbit-mobile #motion-toggle{display:none!important}
html.orbit-mobile .nav-download{padding:9px 16px;min-height:44px;border-radius:12px;font-size:13px}
html.orbit-mobile .hero-fold{min-height:0}
html.orbit-mobile .hero-fold>.shell{display:block}
html.orbit-mobile .hero{display:block;min-height:0;padding:22px 0 12px;width:100%}
html.orbit-mobile .hero-copy{min-width:0}
html.orbit-mobile .hero .kicker{font-size:9px;letter-spacing:.16em;margin-bottom:12px}
html.orbit-mobile .hero h1{font-size:clamp(32px,9vw,48px);font-weight:640;line-height:1.04;letter-spacing:-.055em;margin:0 0 14px}
html.orbit-mobile .hero h1 span{display:inline}
html.orbit-mobile .hero h1 span::after{content:' '}
html.orbit-mobile .hero-copy>p:not(.hero-note){font-size:14px;line-height:1.5;margin:0 0 20px;max-width:none;letter-spacing:-.015em}
html.orbit-mobile .hero-playground,html.orbit-mobile .hero-note,html.orbit-mobile #mobile-desktop-reminder,html.orbit-mobile .reading-progress,html.orbit-mobile .cursor-aura{display:none!important}
html.orbit-mobile.mobile-ready #demo{display:none!important}
html.orbit-mobile .hero-copy .video-frame{position:relative;width:100%;max-width:none;margin:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#eeeef1;box-shadow:0 12px 36px -25px rgba(21,21,26,.24)}
html.orbit-mobile .hero-copy .video-top,html.orbit-mobile .hero-copy .video-caption{display:none}
html.orbit-mobile .hero-copy .demo-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transform:none;filter:none;max-width:100%}
html.orbit-mobile .hero-copy .video-fallback{padding:12px;font-size:12px}
html.orbit-mobile .hero-copy .actions{display:flex;gap:8px;margin-top:16px}
html.orbit-mobile .hero-copy .actions>.magnet:first-child{flex:1;min-width:0}
html.orbit-mobile .hero-copy .actions>.magnet:nth-child(2){display:none}
html.orbit-mobile .hero-copy .actions .btn{width:100%;min-height:50px;border-radius:14px;font-size:14px;transform:none!important}
html.orbit-mobile .download-info{margin-top:9px;text-align:center}
html.orbit-mobile .dl-meta{font-size:11px;line-height:1.5}
html.orbit-mobile .mobile-video-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:9px;font-size:11px;color:var(--muted)}
html.orbit-mobile .mobile-video-caption a{min-height:32px;display:inline-flex;align-items:center;text-underline-offset:3px;color:var(--ink)}
html.orbit-mobile .mobile-device-details{margin:16px 0 0;font-size:11px;line-height:1.55;color:var(--muted)}
html.orbit-mobile .mobile-device-details summary{cursor:pointer;min-height:32px}
html.orbit-mobile .mobile-device-details p{margin:4px 0 0}
html.orbit-mobile footer{padding:18px 0 24px;margin-top:10px;border-top:1px solid var(--line)}
html.orbit-mobile .footer-inner{display:block;font-size:10px}
html.orbit-mobile .footer-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:6px}
html.orbit-mobile .footer-links a{min-height:36px;display:inline-flex;align-items:center}
html.orbit-mobile .footer-links a[href^='https://github.com']{display:none}
/* CSS exposes the email field on first paint, even while deferred JS loads. */
html.orbit-mobile.orbit-mobile-pending body{overflow:hidden}
html.orbit-mobile.orbit-mobile-pending #mobile-handoff-modal[hidden]{display:grid!important;opacity:1;pointer-events:auto}
html.orbit-mobile .mobile-handoff-modal{display:grid;place-items:end center;padding:0;inset:0;top:var(--orbit-vv-top,0px);bottom:auto;height:var(--orbit-vv-height,100dvh);width:100%;transition:opacity .15s ease}
html.orbit-mobile .mobile-handoff-modal.is-open{display:grid!important;opacity:1;pointer-events:auto}
html.orbit-mobile .mobile-handoff-modal[hidden]:not(.is-open){display:none!important}
html.orbit-mobile .mobile-handoff-backdrop{background:rgba(21,21,26,.18);backdrop-filter:none}
html.orbit-mobile .mobile-handoff-dialog{width:min(100%,560px);max-height:calc(100% - 12px);overflow-y:auto;overscroll-behavior:contain;border:1px solid var(--line);border-bottom:0;border-radius:26px 26px 0 0;padding:19px 22px max(16px,env(safe-area-inset-bottom));background:#fafaf7;box-shadow:0 -10px 42px -22px rgba(21,21,26,.25);transform:none;transition:none}
html.orbit-mobile .mobile-handoff-dialog:focus{outline:none}
html.orbit-mobile .mobile-handoff-close{top:10px;right:10px;width:44px;height:44px;border:0;background:none;font-size:26px;color:var(--muted)}
html.orbit-mobile .mobile-handoff-kicker{display:none}
html.orbit-mobile .mobile-sheet-brand{display:flex;align-items:center;gap:7px;margin:0 44px 14px 0;font-size:16px;font-weight:650;letter-spacing:-.02em}
html.orbit-mobile .mobile-sheet-brand .orbit-mark{width:25px;height:25px}
html.orbit-mobile .mobile-handoff-dialog h2{font-size:clamp(24px,6.6vw,30px);line-height:1.1;font-weight:630;letter-spacing:-.045em;margin:0 20px 8px 0}
html.orbit-mobile .mobile-handoff-form-state>p{font-size:13px;line-height:1.5;margin:0 0 14px;color:var(--muted)}
html.orbit-mobile .mobile-handoff-field{margin-top:0;gap:0}
html.orbit-mobile .mobile-handoff-field>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html.orbit-mobile .mobile-handoff-field input{height:48px;font-size:16px;border-radius:12px;background:#fff}
html.orbit-mobile .mobile-handoff-submit{margin-top:9px;min-height:48px;border-radius:12px;font-size:14px;justify-content:center;gap:12px}
html.orbit-mobile .mobile-handoff-fine{font-size:10px!important;line-height:1.4;margin:8px 0 0!important;color:var(--muted)!important}
html.orbit-mobile .mobile-copy-before{display:block;min-height:40px;margin:4px auto 0;padding:8px 12px;border:0;background:none;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:3px}
html.orbit-mobile .mobile-copy-backup{display:block;width:100%;min-height:44px;font-size:12px;border:1px solid var(--line);border-radius:8px;background:white;padding:8px;margin-top:8px}
html.orbit-mobile .mobile-copy-status{font-size:11px;line-height:1.4;color:var(--muted);margin:0;text-align:center;overflow-wrap:anywhere}
html.orbit-mobile .mobile-handoff-success{padding:8px 0 0;animation:none;text-align:left}
html.orbit-mobile .mobile-handoff-check{width:36px;height:36px;margin:0 0 14px;font-size:18px}
html.orbit-mobile .mobile-handoff-success p{font-size:13px;line-height:1.5;margin:0;max-width:none;overflow-wrap:anywhere}
html.orbit-mobile .mobile-handoff-success h2{margin-bottom:10px;font-size:28px}
html.orbit-mobile .mobile-handoff-copy{display:block;min-height:46px;width:100%;margin-top:18px;border-radius:12px;font-size:13px}
html.orbit-mobile .mobile-handoff-again{min-height:40px;margin:6px auto 0;font-size:12px}
@media(max-height:500px){html.orbit-mobile .mobile-sheet-brand{display:none}html.orbit-mobile .mobile-handoff-dialog{padding-top:16px}html.orbit-mobile .mobile-handoff-dialog h2{font-size:23px;margin-right:34px}}
@media(prefers-reduced-motion:reduce){html.orbit-mobile .mobile-handoff-modal{transition:none}}

/* Restored phone workflow: keep the tallest chapter in flow so text is never cropped. */
@media(max-width:760px){
 html.orbit-mobile .story-scene{display:grid}
 html.orbit-mobile .scene-layer{position:relative;inset:auto;grid-area:1/1;min-width:0;align-self:start}
}
