#orbital-scene {
    position: absolute;
    right: 0;
    top: 0;
    width: 57%;
    height: 100%;
    z-index: 0;
    overflow: hidden
}

#orbital-scene canvas {
    display: block;
    width: 100%;
    height: 100%;
    cursor: grab;
    touch-action: pan-y
}

#orbital-scene canvas:active {
    cursor: grabbing
}

.hero-inner {
    pointer-events: none
}

.hero-copy,
.scroll-cue,
.orbit-interface {
    pointer-events: auto
}

.hero-copy {
    position: relative;
    z-index: 1
}

.hero.orbit-ready .earth-image {
    opacity: 0
}

.orbit-interface {
    position: absolute;
    bottom: 35px;
    right: 0;
    width: 460px;
    max-width: 48%;
    z-index: 2;
    color: #e7eef3
}

.orbit-caption {
    display: flex;
    align-items: center;
    gap: 8px;
    font: 8px var(--mono);
    color: #aebdc8;
    margin-bottom: 12px;
    flex-wrap: wrap
}

.orbit-caption .status-dot {
    background: #64e4cf;
    width: 4px;
    height: 4px
}

.orbit-disclaimer {
    font-size: 6px;
    color: #8b9ca9;
    margin-left: auto
}

.orbit-toolbar {
    display: flex;
    align-items: center;
    gap: 5px;
    padding-block: 9px;
    border-block: 1px solid #8da6b32b;
    background: #090b0e88;
    backdrop-filter: blur(8px)
}

.orbit-toolbar select {
    font: 10px var(--font);
    min-width: 0;
    flex: 1;
    color: #e7eef3;
    background: #131c23;
    border: 1px solid #31414d;
    border-radius: 3px;
    padding: 7px 3px;
    max-width: 160px
}

.orbit-toolbar .icon-button {
    color: #aebdc8;
    flex-shrink: 0;
    width: 28px;
    height: 32px
}

.orbit-toolbar .icon-button:hover {
    color: #64e4cf;
    background: #1a292f
}

.orbit-toolbar .icon-button svg {
    width: 15px;
    height: 15px
}

.orbit-speed {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #aebdc8
}

.orbit-speed svg {
    width: 13px;
    height: 13px
}

.orbit-speed input {
    width: 58px;
    accent-color: #64e4cf;
    cursor: pointer
}

.orbit-speed output {
    font: 8px var(--mono);
    width: 26px;
    font-variant-numeric: tabular-nums
}

.scroll-cue,
.orbit-interface,
.hero-copy>* {
    pointer-events: auto
}

.hero-copy {
    pointer-events: none
}

margin-top: 9px;
min-height: 29px
}

.spacecraft-label {
    position: absolute;
    top: 0;
    left: 0;
    font: 8px var(--mono);
    color: #d2e4ed;
    border: 0;
    border-left: 2px solid var(--craft-color, #64e4cf);
    padding: 5px 8px;
    background: #081116c9;
    border-radius: 0;
    white-space: nowrap;
    cursor: pointer;
    will-change: transform
}

.spacecraft-label:hover,
.spacecraft-label[aria-pressed="true"] {
    background: #18323bdd;
    color: #fff
}

#orbit-fallback {
    position: absolute;
    bottom: 110px;
    right: 50px;
    font-size: 11px;
    color: #adbbc6;
    max-width: 240px
}

@media(min-width:1600px) {
    #orbital-scene {
        right: calc((100% - 1520px)/2);
        width: 800px
    }

    .orbit-interface {
        bottom: 30px
    }
}

@media(max-width:1150px) {
    .orbit-interface {
        width: 415px;
        max-width: 47%
    }

    .orbit-speed svg {
        display: none
    }

    .orbit-speed input {
        width: 45px
    }

    .orbit-toolbar {
        gap: 3px
    }

    .orbit-toolbar select {
        font-size: 9px
    }
}

@media(min-width:601px) and (max-width:850px) {
    #orbital-scene {
        width: 55%;
        top: 40px;
        height: 540px
    }

    .orbit-interface {
        max-width: 50%;
        width: 350px;
        bottom: 24px
    }

    .orbit-toolbar {
        flex-wrap: wrap
    }

    .orbit-toolbar select {
        max-width: 140px
    }

    .orbit-toolbar .icon-button {
        width: 26px
    }

    .orbit-speed input {
        width: 42px
    }

    .orbit-disclaimer {
        margin-left: 0
    }
}

@media(max-width:600px) {

    .hero,
    .hero-inner {
        min-height: 990px
    }

    .hero-copy {
        padding-bottom: 420px
    }

    #orbital-scene {
        width: 100%;
        height: 420px;
        top: auto;
        bottom: 122px
    }

    .orbit-interface {
        left: 0;
        right: 0;
        bottom: 46px;
        width: 100%;
        max-width: none
    }

    .orbit-caption {
        margin-bottom: 8px
    }

    .orbit-toolbar {
        gap: 4px
    }

    .orbit-toolbar select {
        max-width: none
    }

    .orbit-toolbar .icon-button {
        width: 27px
    }

    .orbit-speed input {
        width: 48px
    }

    .orbit-disclaimer {
        font-size: 6px
    }

    .spacecraft-label {
        font-size: 7px;
        padding: 4px 5px
    }

    .orbit-description {
        font-size: 8px;
        min-height: 26px
    }

    .scroll-cue {
        bottom: 18px
    }

    .hero-copy>.hero-description {
        max-width: 350px
    }
}

@media(max-width:600px) and (max-height:780px) {

    .hero,
    .hero-inner {
        min-height: 890px
    }

    .hero-copy {
        padding-bottom: 420px
    }

    #orbital-scene {
        height: 385px;
        bottom: 127px
    }
}

@media(max-width:360px) {
    .orbit-toolbar {
        gap: 1px
    }

    .orbit-speed input {
        width: 34px
    }

    .orbit-speed {
        gap: 2px
    }

    .orbit-speed output {
        width: 23px
    }

    .orbit-toolbar .icon-button {
        width: 26px
    }

    .orbit-toolbar select {
        font-size: 8px
    }

    .orbit-caption {
        font-size: 7px
    }

    .orbit-disclaimer {
        font-size: 5px
    }
}