/* mobile.css — Стили только для мобильных устройств */

@media (max-width: 768px) {
    
    /* 1. Убираем отступы у body, чтобы терминал был на весь экран */
    body {
        padding: 0;
        align-items: flex-start; /* Прижимаем к верху */
        background: var(--theme-page-background);
    }

    body.achievements-open {
        align-items: flex-start;
        gap: 0;
        height: 100dvh;
        flex-wrap: nowrap;
        overflow: hidden;
        padding: 0;
    }

    /* 2. Превращаем "окошко" в полноценный экран */
    .terminal {
        max-width: 100%;
        min-height: 100vh; /* На всю высоту экрана */
        margin: 0;
        border-radius: 0; /* Убираем скругления */
        border: none;
        box-shadow: none; /* Убираем тень, она не нужна на фуллскрине */
        display: flex;
        flex-direction: column;
        transition: transform 0.34s ease;
        background: var(--theme-terminal-mobile-background);
    }

    body.achievements-open .terminal {
        flex: 1 1 auto;
        max-width: 100%;
        height: 100dvh;
        min-height: 100dvh;
        border-radius: 0;
        overflow: hidden;
        transform: translateX(-18vw);
    }

    /* Убираем эффект парения при наведении (на телефоне нет мышки) */
    .terminal:hover {
        transform: none;
        box-shadow: none;
    }

    /* 3. Хедер (кнопки закрытия) делаем менее заметным или более компактным */
    .terminal-header {
        padding: 15px;
        background: var(--theme-header-mobile-background);
        position: sticky; /* Приклеиваем к верху */
        top: 0;
        z-index: 100;
        border-bottom: 1px solid rgba(74, 246, 38, 0.15);
    }
    
    .terminal-button {
        width: 14px; /* Чуть больше, чтобы было видно */
        height: 14px;
    }

    /* 4. Тело терминала */
    .terminal-body {
        padding: 20px;
        flex-grow: 1; /* Растягиваем на остаток высоты */
        font-size: 16px; /* Увеличиваем шрифт для читаемости */
    }

    /* 5. Заголовок */
    h1 {
        font-size: 1.8em;
        margin: 25px 0;
        text-align: center; /* По центру на телефоне смотрится лучше */
        border-bottom: 1px dashed rgba(74, 246, 38, 0.3);
        padding-bottom: 15px;
    }

    /* 6. Ссылки и контакты - делаем их большими кнопками */
    .links {
        margin-top: 20px;
        padding: 0;
    }

    .links li {
        display: flex;
        flex-direction: column; /* Текст под заголовком */
        align-items: flex-start;
        background: rgba(255, 255, 255, 0.03);
        padding: 15px;
        margin-bottom: 15px;
        border-radius: 4px;
        border-left: 3px solid rgba(74, 246, 38, 0.3);
    }
    
    .links li::before {
        display: none; /* Убираем стрелочку, она мешает */
    }

    .links a {
        font-size: 1.1em;
        margin-top: 5px;
        display: block;
        padding: 5px 0;
        width: 100%;
    }

    /* Комментарии (// пустовато) делаем бледнее и меньше */
    .comment {
        font-size: 0.8em;
        margin-top: 5px;
        opacity: 0.6;
    }

    /* 7. Кнопка "Узнать больше" */
    .more-button {
        width: 100%; /* На всю ширину */
        padding: 15px;
        text-align: center;
        font-size: 1.1em;
        margin: 20px 0;
        background: rgba(74, 246, 38, 0.05); /* Легкий фон */
    }

    .main-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 12px;
        margin: 20px 0;
    }

    .main-actions .more-button {
        height: auto;
        min-height: 48px;
        padding: 15px;
        margin: 0;
    }

    /* 8. Цитаты */
    .quote-container {
        border-left-width: 4px; /* Жирнее линия слева */
        padding-left: 15px;
        margin: 20px 0;
        background: linear-gradient(90deg, rgba(255,255,255,0.03) 0%, transparent 100%);
        padding: 15px;
    }

    .quote-text {
        font-size: 1.05em;
        line-height: 1.6;
    }

    .quote-meta {
        opacity: 1; /* Всегда показывать редкость на телефоне */
        transform: none;
        margin-top: 12px;
        display: flex;
        flex-direction: column;
        gap: 5px;
    }

    .quote-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
        margin: -5px 0 20px;
    }

    .quote-action {
        padding: 12px 8px;
        font-size: 0.9em;
    }

    /* Стек технологий в "О себе" */
    .tech-list li {
        padding: 8px 0;
        border-bottom: 1px solid rgba(255,255,255,0.05);
    }

    .about-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .mini-button {
        width: 100%;
        padding: 13px;
        font-size: 1em;
    }

    .achievements-terminal {
        position: fixed;
        inset: 0;
        z-index: 500;
        isolation: isolate;
        pointer-events: auto;
        width: 100%;
        height: 100dvh;
        margin: 0;
        border: none;
        border-radius: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        touch-action: pan-y;
        animation: mobileAchievementsOpen 0.34s ease-out both;
        will-change: transform;
    }

    body.achievements-open > .achievements-terminal {
        display: block;
    }

    .achievements-terminal.closing {
        animation: mobileAchievementsClose 0.28s ease-in forwards;
    }

    .achievements-terminal.swiping {
        animation: none;
        transition: transform 0.08s linear, opacity 0.08s linear;
    }

    @keyframes mobileAchievementsOpen {
        from { opacity: 0.96; transform: translateX(100%); }
        to { opacity: 1; transform: translateX(0); }
    }

    @keyframes mobileAchievementsClose {
        from { opacity: 1; transform: translateX(0); }
        to { opacity: 0.96; transform: translateX(100%); }
    }

    .achievements-header {
        position: sticky;
        top: 0;
        z-index: 2;
        padding: 13px 12px;
        background: rgba(0, 0, 0, 0.82);
        backdrop-filter: blur(8px);
    }

    .achievements-close {
        padding: 8px 10px;
    }

    .achievements-body {
        padding: 14px;
    }

    .achievements-grid {
        grid-template-columns: 1fr;
    }

    .achievement-item {
        grid-template-columns: auto 1fr;
        position: relative;
        z-index: 1;
        pointer-events: auto;
        touch-action: manipulation;
    }

    .achievement-rank {
        grid-column: 2;
    }

    .achievement-detail {
        min-height: auto;
    }

    .achievement-photo {
        min-height: 110px;
    }

    .achievement-photo img {
        height: auto;
        max-height: 180px;
    }

    .achievement-photo-images img:first-child {
        height: auto;
        max-height: 170px;
    }

    .achievement-photo-images img:not(:first-child) {
        height: auto;
        max-height: 95px;
    }

    .image-viewer {
        padding: 10px;
        gap: 10px;
    }

    .image-viewer-header {
        align-items: flex-start;
        flex-direction: column;
        font-size: 0.78em;
    }

    .image-viewer-actions {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        width: 100%;
        gap: 6px;
        margin-left: 0;
    }

    .image-viewer-action,
    .image-viewer-close {
        padding: 11px 6px;
        font-size: 0.9em;
    }

    .image-viewer-close {
        width: 100%;
    }

    .image-viewer-body img {
        max-height: calc(100vh - 110px);
    }

    body[class*="time-"] .terminal-header {
        border-bottom-color: rgba(var(--time-accent), 0.2);
    }

    body[class*="time-"] h1 {
        border-bottom-color: rgba(var(--time-accent), 0.3);
    }

    body[class*="time-"] .links li {
        border-left-color: rgba(var(--time-accent), 0.36);
    }

    body[class*="time-"] .more-button:not(.doom-button) {
        background: rgba(var(--time-accent), 0.055);
    }
}
