body {
    overflow: hidden;
}

.main-menu {
    position: relative;
    display: grid;
    grid-template-rows: auto 1fr auto;
    min-height: 100dvh;
    background-image: linear-gradient(rgba(120,244,208,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(120,244,208,.035) 1px, transparent 1px);
    background-size: 46px 46px;
}

.main-menu__top,
.main-menu__foot {
    position: relative;
    z-index: 5;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 66px;
    margin-inline: clamp(1.2rem,3vw,3.5rem);
    color: var(--sq-muted);
    border-bottom: 1px solid rgba(120,244,208,.09);
    font-size: .66rem;
    letter-spacing: .01em;
    text-transform: uppercase;
}

    .main-menu__top span:first-child {
        display: flex;
        align-items: center;
        gap: .65rem;
    }

    .main-menu__top i {
        display: inline-block;
    }

.main-menu__foot {
    border-top: 1px solid rgba(120,244,208,.09);
    border-bottom: 0;
}

    .main-menu__foot kbd {
        display: inline-grid;
        min-width: 22px;
        height: 22px;
        place-items: center;
        border: 1px solid var(--sq-border);
        color: var(--sq-primary-2);
        background: rgba(120,244,208,.03);
    }

.main-menu__stage {
    width: min(1180px, calc(100% - 4rem));
    margin: auto;
    padding: 2.2rem 0;
}

.main-menu__intro {
    margin-bottom: clamp(2rem,5vh,4rem);
}

    .main-menu__intro h1 {
        margin: 0;
        width: fit-content;
        color: var(--sq-primary);
        font-size: clamp(4rem,9vw,8.2rem);
        line-height: .82;
        letter-spacing: 0;
        text-shadow: 0 0 28px rgba(120,244,208,.10);
    }

    .main-menu__intro p {
        color: #77958d;
        font-size: .82rem;
        line-height: 1.7;
    }

.main-menu__grid {
    display: grid;
    grid-template-columns: minmax(0,1.25fr) minmax(290px,.75fr);
    gap: 1.3rem;
}

.main-menu__panel,
.main-telemetry {
    border: 1px solid var(--sq-border);
    background: var(--sq-panel);
    box-shadow: var(--sq-shadow);
}

.main-menu__panel {
    padding: 1.3rem;
}

.main-menu__panel-head,
.main-telemetry__head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: 1rem;
    color: var(--sq-muted);
    border-bottom: 1px solid rgba(120,244,208,.09);
    font-size: .62rem;
    letter-spacing: .01em;
}

    .main-menu__panel-head strong {
        color: var(--sq-text);
    }

.main-options {
    display: grid;
    gap: .35rem;
    margin-top: 1rem;
}

.main-option {
    display: grid;
    grid-template-columns: 18px 32px 1fr auto;
    align-items: center;
    gap: .65rem;
    min-height: 53px;
    padding: .65rem .8rem;
    border: 1px solid transparent;
    color: #6d8b83;
    transition: .14s ease;
}

    .main-option > span {
        opacity: 0;
        color: var(--sq-accent);
        transform: translateX(-6px);
    }

    .main-option small {
        color: var(--sq-primary-dim);
    }

    .main-option strong {
        font-size: .83rem;
        letter-spacing: .015em;
    }

    .main-option em {
        color: #455f58;
        font-style: normal;
        font-size: .56rem;
        letter-spacing: .055em;
    }

    .main-option:hover,
    .main-option:focus-visible,
    .main-option.is-active {
        color: var(--sq-primary);
        border-color: rgba(120,244,208,.18);
        background: linear-gradient(90deg,rgba(120,244,208,.10),transparent);
        transform: translateX(3px);
    }

        .main-option:hover > span,
        .main-option:focus-visible > span,
        .main-option.is-active > span {
            opacity: 1;
            transform: none;
        }

.main-command {
    margin-top: 1rem;
    padding: .8rem;
    border-top: 1px dashed rgba(120,244,208,.10);
    color: var(--sq-accent);
    font-size: .62rem;
}

    .main-command span {
        color: #638079;
    }

.main-telemetry {
    padding: 1.2rem;
    display: flex;
    flex-direction: column;
}

.main-telemetry__head span {
    color: var(--sq-accent);
}

.main-radar {
    position: relative;
    width: 170px;
    aspect-ratio: 1;
    margin: 1.3rem auto;
    overflow: hidden;
    border: 1px solid rgba(120,244,208,.18);
    border-radius: 50%;
    background: radial-gradient(circle at center,transparent 31%,rgba(120,244,208,.09) 31.5%,transparent 32%), radial-gradient(circle at center,transparent 60%,rgba(120,244,208,.09) 60.5%,transparent 61%), rgba(0,0,0,.25);
}

    .main-radar::before,
    .main-radar::after {
        content: "";
        position: absolute;
        background: rgba(120,244,208,.10);
    }

    .main-radar::before {
        top: 50%;
        left: 8%;
        width: 84%;
        height: 1px;
    }

    .main-radar::after {
        top: 8%;
        left: 50%;
        width: 1px;
        height: 84%;
    }

    .main-radar b {
        position: absolute;
        top: 50%;
        left: 50%;
        width: 47%;
        height: 1px;
        transform-origin: left;
        background: linear-gradient(90deg,var(--sq-primary),transparent);
        animation: sweep 5s linear infinite;
    }

    .main-radar i {
        position: absolute;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: var(--sq-accent);
        box-shadow: 0 0 7px var(--sq-accent);
    }

        .main-radar i:nth-child(1) {
            top: 31%;
            left: 64%;
        }

        .main-radar i:nth-child(2) {
            top: 67%;
            left: 34%;
        }

        .main-radar i:nth-child(3) {
            top: 72%;
            left: 69%;
        }

.main-readout {
    display: grid;
    gap: .5rem;
    margin-bottom: 1rem;
}

    .main-readout span {
        display: flex;
        justify-content: space-between;
        color: #4f6c64;
        font-size: .56rem;
        letter-spacing: .045em;
    }

    .main-readout b {
        color: #8db3a8;
        font-weight: 500;
    }

.boot-screen {
    position: fixed;
    z-index: 200;
    inset: 0;
    display: grid;
    place-items: center;
    background: #010303;
    opacity: 1;
    visibility: visible;
    transition: opacity .65s ease, visibility .65s ease;
}

    .boot-screen::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: repeating-linear-gradient( to bottom, rgba(120,244,208,.018) 0, rgba(120,244,208,.018) 1px, transparent 1px, transparent 4px );
        opacity: .45;
    }

    .boot-screen.is-done {
        opacity: 0;
        visibility: hidden;
    }

.boot-screen__terminal {
    position: relative;
    z-index: 1;
    display: grid;
    gap: .45rem;
    width: min(520px,calc(100% - 3rem));
    color: #52766d;
    font-size: .72rem;
    line-height: 1.5;
}

.boot-line {
    min-height: 1.5em;
    opacity: 0;
    visibility: hidden;
    white-space: pre-wrap;
}

    .boot-line.is-visible {
        opacity: 1;
        visibility: visible;
    }

    .boot-line.is-typing::after {
        content: "█";
        display: inline-block;
        margin-left: .18rem;
        color: var(--sq-primary);
        animation: boot-cursor .55s steps(1,end) infinite;
    }

.boot-line--ready {
    color: var(--sq-primary);
    margin-top: .7rem;
}

    .boot-line--ready.has-cursor::after {
        content: "█";
        display: inline-block;
        margin-left: .2rem;
        color: var(--sq-primary);
        animation: boot-cursor .72s steps(1,end) infinite;
    }

@keyframes sweep {
    to {
        transform: rotate(360deg);
    }
}

@keyframes boot-cursor {
    50% {
        opacity: 0;
    }
}

@media(max-width:850px) {
    body {
        overflow: auto;
    }

    .main-menu__stage {
        width: min(100% - 1.5rem,720px);
    }

    .main-menu__grid {
        grid-template-columns: 1fr;
    }
}

@media(max-width:560px) {
    .main-menu__top, .main-menu__foot {
        margin-inline: 1rem;
    }

        .main-menu__top span:last-child, .main-menu__foot span:last-child {
            display: none;
        }

    .main-menu__intro h1 {
        font-size: clamp(3rem,17vw,5rem);
    }

    .main-option {
        grid-template-columns: 16px 28px 1fr;
    }

        .main-option em {
            display: none;
        }
}


/* Bounty Board navigation */
.main-option--bounty {
    border-color: rgba(255,195,107,.10);
    background: linear-gradient(90deg, rgba(255,195,107,.025), transparent);
}

    .main-option--bounty small,
    .main-option--bounty em {
        color: #816a48;
    }

    .main-option--bounty:hover,
    .main-option--bounty:focus-visible,
    .main-option--bounty.is-active {
        color: var(--sq-accent);
        border-color: rgba(255,195,107,.26);
        background: linear-gradient(90deg, rgba(255,195,107,.09), transparent);
    }

        .main-option--bounty:hover > span,
        .main-option--bounty:focus-visible > span,
        .main-option--bounty.is-active > span {
            color: var(--sq-accent);
        }
