html {
    scrollbar-width: none;
}

html::-webkit-scrollbar {
    display: none;
}

:root.is-traveling {
    overflow: hidden;
    touch-action: none;
}

:root.is-traveling .screen {
    visibility: hidden;
}

.boot-story {
    position: relative;
}

.is-resting .term-line[data-cursor="on"]::after,
.is-resting .log-type::after,
.is-resting .thread-dot::before,
.is-resting .tldr-figure::before,
.is-resting .tldr-figure::after,
.is-resting .tldr-smoke i,
.is-resting .about-smoke::before,
.is-resting .about-smoke::after,
.is-resting .about-tip .about-dot::before {
    animation-play-state: paused;
}

.boot-sections {
    position: relative;
    overflow-x: clip;
}

.boot-bar {
    position: fixed;
    z-index: 2;
    top: 0;
    right: 0;
    left: 0;
    height: var(--bar);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    padding: 0 8px;
    border-bottom: 1px solid var(--line);
    background: color-mix(in srgb, var(--rail) 85%, transparent);
    backdrop-filter: blur(8px);
    transition: background .3s;
}

.bar-logo {
    flex: none;
    width: 25px;
    height: 22px;
    margin: 0 auto 0 6px;
    color: var(--fg);
}

.bar-cursor {
    fill: var(--accent-ink);
}

.bar-thread.is-visible {
    opacity: 1;
}

.bar-thread.is-away {
    opacity: 0;
}

.bar-thread {
    --progress: 0;
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 2px;
    opacity: 0;
    transition: opacity .3s;
}

.bar-thread::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--accent);
    transform-origin: left;
    transform: scaleX(var(--progress));
}

.bar-thread::after {
    content: "";
    position: absolute;
    top: -2px;
    left: calc(var(--progress) * 100% - 3px);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    box-shadow: 0 0 0 2px var(--rail);
}

.bar-theme,
.bar-lang {
    flex: none;
    width: 36px;
    height: 36px;
    border: 0;
    border-radius: 6px;
    padding: 0;
    cursor: pointer;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fg);
    transition: background .2s;
}

.bar-theme:hover,
.bar-lang:hover {
    background: var(--item-bg);
}

.bar-theme span {
    width: 14px;
    height: 14px;
    box-sizing: border-box;
    border: 2px solid var(--fg);
    border-radius: 50%;
    background: linear-gradient(90deg, var(--fg) 50%, transparent 50%);
    transform: rotate(-45deg);
}

.bar-lang {
    font-family: var(--font-mono);
    font-weight: 600;
    font-size: 12px;
}

.bar-lang::after {
    content: "EN";
}

:root[lang="en"] .bar-lang::after {
    content: "HU";
}

@media (min-width: 1200px) {
    .boot-bar {
        padding: 0 12px;
    }

    .bar-logo {
        width: 27px;
        height: 24px;
        margin-left: 8px;
    }

    .bar-theme span {
        width: 16px;
        height: 16px;
    }

    .bar-lang {
        font-size: 13px;
        letter-spacing: 0.04em;
    }
}

@media (min-width: 1920px) {
    .boot-bar {
        padding-inline: max(12px, calc(50vw - 948px));
    }
}
