@import url('https://cdn-uicons.flaticon.com/3.0.0/uicons-bold-rounded/css/uicons-bold-rounded.css');
@font-face {
    font-family: "VT220";
    src: url("./Glass_TTY_VT220.ttf");
}
body {
    --text-color: #fea429;
    --bg-color-01: #201407;
    --bg-color-02: #3a250f;
    --text-dark-color: #da8522;
    --alternate-text-color: #d0621a;
    --text-block: #d0621a;
    --text-block-end: #fea52988;

    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    /* color: rgba(0, 0, 0, 0); */
    color: var(--text-color);
    unicode-bidi: isolate;
    background: radial-gradient(var(--bg-color-02), var(--bg-color-01));
}
#input input, body {
    font-family: "VT220", monospace;
    font-weight: 400;
    font-style: normal;
    font-size: 20px;
}
#history {
    background: #3a250f50;
    backdrop-filter: blur(10px);
    border: 2px solid var(--text-block);
    padding: 10px;
    box-sizing: border-box;
    width: 40%;
    height: fit-content;
    position: fixed;
    transition: bottom 500ms;
}
div.blur {
    width: 100%;
    height: 100%;
    backdrop-filter: blur(0.1px);
    pointer-events: none;
}
video#vhs {
    width: auto;
    height: 150%;
    top: 0;
    left: -15%;
    opacity: 0.01;
    pointer-events: none;
}
.overlay {
    position: fixed;
    z-index: 10;
}
#overlay {
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 25px var(--bg-color-02);
    pointer-events: none;
}
.gradient {
    overflow: hidden;
}
#terminal {
    padding: 1em;
    height: 90vh;
    text-shadow: 0 0 10px var(--text-dark-color);
    overflow: hidden;
    scroll-behavior: smooth;
}
#terminal pre.title {
    display: block;
    /* width: 100%;  ← убрать */
    letter-spacing: normal;
}
#terminal pre {
    letter-spacing: -1px;
    max-width: 100vw !important;
}
pre.writing {
    width: fit-content !important;
    max-width: 100vw !important;
}
pre.yellow {
    color: var(--alternate-text-color);
    text-shadow: 0 0 10px #d0631a;
}
pre.line {
    font-size: 18px;
}
#terminal b {
    position: fixed;
    animation-name: block_animation;
    animation-iteration-count: 1;
    animation-play-state: running;
    height: 18px;
    width: 10px;
    background-color: var(--text-color);
    box-shadow: 0 0 10px var(--text-color);
}
#input.focused {
    height: 100px;
}
#input {
    height: 40px;
    border-top: 1px solid var(--text-block-end);
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 10px;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 10;
    width: 100vw;
    transition: height 500ms;
    backdrop-filter: blur(10px);
    background: rgba(0, 0, 0, 0.1);
}
#input span {
    width: fit-content;
}
#input input {
    width: 90%;
    background: none;
    outline: none;
    border: none;
    color: var(--text-color);
    animation-name: input_animation;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    font-family: "VT220", monospace;
    caret-shape: block;
}
#input input:disabled {
    color: var(--alternate-text-color);
}
#input input:disabled::placeholder {
    color: var(--alternate-text-color);
    content: "Подождите...";
}
#input input::placeholder {
    color: var(--text-color);
}
#init {
    display: inline-block;
    white-space: pre;
    overflow: hidden;
    /* критично: скрываем текст до старта анимации */
    width: 0;                      /* <<< добавь */
    will-change: width;
    font-size: 15px;
}
.hidden {
    color: transparent;
    text-shadow: none;
}
i {
    color: #d17e1f !important;
}
@keyframes input_animation {
    from {
        margin-left: 0px;
    }
    to {
        margin-left: 50px;
    }
}
@keyframes block_animation {
    0% {
        opacity: 0;
        color: var(--text-block);
    }
    10% {
        opacity: 1;
        color: var(--text-color);
    }
    100% {
        opacity: 0;
        color: var(--text-block);
    }
}
@keyframes gradient_animation {
    from {
        background-position: 0px 0vh;
    }
    to {
        background-position: 0px 50vh;
    }
}