/* ===== RESPONSIVE ===== */
@media (max-width: 800px) {
    /* Wide DOS glyphs: 232px is the minimum that fits /LOAD DATABASE at 11px. */
    .menu-panel { width: 232px; }
    .menu-item { padding: 0 10px; gap: 8px; font-size: 11px; }
    .header-info { display: none; }
}
@media (max-width: 600px) {
    .menu-panel { width: 176px; }
    .menu-item { padding: 0 8px; font-size: 10px; }
}
@media (max-width: 700px) {
    .screen-content { padding: 8px; }
    .header-bar { height: 72px; margin-bottom: 8px; }
    .main-container { flex-direction: column; gap: 8px; }
    .menu-panel { width: 100%; max-height: min(240px, 38vh); }
    .menu-title { padding: 6px 10px; }
    .menu-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2px;
        padding: 4px;
        overflow: hidden;
    }
    .menu-separator { display: none; }
    .menu-item {
        height: clamp(32px, 7.2vh, 40px);
        min-height: clamp(32px, 7.2vh, 40px);
        padding: 0 8px;
        gap: 7px;
        font-size: clamp(10px, 2.6vw, 12px);
    }
    .menu-item .icon { width: 14px; }
    .menu-footer { display: none; }
    .admin-badge { padding: 5px; }
    .admin-badge.active { display: none; }
    .content-toolbar, .input-area { padding: 8px 10px; }
    .content-area { padding: 8px 10px; }
    .boot-screen { padding: 12px; gap: 10px; }
    .boot-output { font-size: 12px; line-height: 1.22; }
    .boot-left { min-height: 0; padding-inline: 0; }
    .boot-status { margin-left: 0.45ch; }
    .boot-logo-inline { font-size: clamp(6px, 1.9vw, 11px); padding-top: 5vh; }
    .boot-skip {
        right: 12px;
        bottom: 12px;
        right: max(12px, env(safe-area-inset-right));
        bottom: max(12px, env(safe-area-inset-bottom));
    }
}

@media (update: slow), (pointer: coarse) {
    .glow {
        text-shadow: 0 0 1px currentColor;
    }
}

@media (min-width: 1400px) {
    :root {
        --font-size-base: 15px;
        --font-size-title: 19px;
        --font-size-small: 12px;
        --font-size-tiny: 11px;
    }
}
@media (min-width: 1900px) {
    :root {
        --font-size-base: 16px;
        --font-size-title: 20px;
        --font-size-small: 13px;
        --font-size-tiny: 12px;
    }
}

@media (prefers-contrast: more) {
    :root {
        --phosphor: #39ff14;
        --phosphor-dim: #176d12;
        --amber: #ffd15c;
        --cyan: #40f7d0;
    }

    .glow,
    .system-title,
    .page-indicator,
    .prompt,
    .t-amber,
    .t-red,
    .t-cyan,
    .t-magenta,
    .t-bright {
        text-shadow: none;
    }
}

@media (forced-colors: active) {
    *,
    *::before,
    *::after {
        box-shadow: none !important;
        text-shadow: none !important;
    }

    .crt-monitor::after {
        display: none;
    }

    .menu-item.selected,
    .menu-item:focus-visible,
    .dialog-btn:focus-visible,
    .diagnostic-close:focus-visible,
    .facility-close:focus-visible,
    .boot-skip:focus-visible,
    #commandInput:focus-visible {
        outline: 2px solid Highlight;
        outline-offset: 2px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .screen-content,
    .admin-badge,
    .cursor-block,
    .terminal-typewriter-active::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }

    .boot-logo,
    .boot-screen,
    .boot-line,
    .menu-item,
    .menu-item::after,
    .dialog-btn,
    .nav-hint {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

