@media (max-width: 840px) {
    :root {
        --system-bar-height: 48px;
        --taskbar-height: 56px;
    }

    .system-message,
    .system-clock,
    .cursor-coordinates {
        display: none;
    }

    .system-route {
        margin-left: auto;
    }

    .desktop-area::before,
    .desktop-readout {
        display: none;
    }

    .desktop-icons {
        position: relative;
        top: auto;
        left: auto;
        grid-template-columns: repeat(3, minmax(86px, 1fr));
        grid-auto-rows: 104px;
        gap: 8px;
        max-width: 520px;
        margin: 0 auto;
        padding: 18px 14px 80px;
    }

    .desktop-icon {
        justify-content: center;
        min-height: 96px;
    }

    .desktop-icon__image {
        width: 50px;
        height: 50px;
    }

    .window-layer {
        position: fixed;
        z-index: 4000;
        top: var(--system-bar-height);
        bottom: var(--taskbar-height);
    }

    .os-window,
    .os-window.is-maximized {
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-width: 0;
        min-height: 0;
        border-width: 0;
        box-shadow: none;
    }

    .os-window.is-opening {
        animation: mobile-window-open var(--speed) steps(3, end);
    }

    @keyframes mobile-window-open {
        from { opacity: 0; transform: translateX(14px); }
    }

    .window-titlebar {
        height: 40px;
    }

    .window-control--maximize,
    .window-control[data-window-action="minimize"] {
        display: none;
    }

    .taskbar-item {
        min-width: 94px;
    }

    .taskbar-status {
        padding: 0 4px;
    }

    .explorer-layout,
    .case-layout {
        grid-template-columns: 1fr;
    }

    .folder-tree {
        display: none;
    }

    .case-files {
        display: flex;
        gap: 3px;
        padding: 6px;
        border-right: 0;
        border-bottom: 2px solid var(--border);
        overflow: auto hidden;
    }

    .case-file {
        width: auto;
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .capability-row {
        grid-template-columns: 120px 1fr;
    }

    .capability-row ul {
        grid-column: 1 / -1;
    }

    .guided-route ol,
    .method-flow {
        grid-template-columns: 1fr;
    }

    .guided-route li,
    .method-flow li {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .guided-route li:last-child,
    .method-flow li:last-child {
        border-bottom: 0;
    }

    .guided-route button,
    .method-flow button {
        min-height: 58px;
    }

    .method-flow li::after {
        display: none;
    }

    .diagnostics-grid,
    .network-inspector,
    .workflow-debugger {
        grid-template-columns: 1fr;
    }

    .service-list,
    .architecture-map,
    .workflow-nodes {
        border-right: 0;
        border-bottom: 2px solid var(--border);
    }
}

@media (max-width: 560px) {
    body { font-size: 13px; }
    .system-bar { padding-inline: 8px; }
    .system-route { padding-inline: 6px 3px; font-size: 9px; }
    .system-route b { display: none; }
    .desktop-icons { grid-template-columns: repeat(3, minmax(76px, 1fr)); }
    .wallpaper-mark { right: 16px; bottom: 30px; }

    .start-button span { display: none; }
    .start-button { width: 42px; justify-content: center; padding: 0; }
    .taskbar { gap: 3px; padding-inline: 4px; }
    .taskbar-status time { display: none; }
    .taskbar-item { min-width: 80px; max-width: 115px; padding-inline: 7px; }

    .readme-grid,
    .file-grid,
    .screenshot-grid {
        grid-template-columns: 1fr;
    }

    .readme-document h1 { margin-top: 22px; }
    .profile-header { align-items: flex-start; }
    .profile-avatar,
    .machine-icon { width: 64px; height: 64px; font-size: 23px; }
    .system-properties div,
    .case-meta div { grid-template-columns: 95px 1fr; }
    .case-header { display: block; }
    .case-type { display: inline-block; margin-top: 14px; }
    .system-info-head { align-items: flex-start; padding: 18px; }
    .capability-list { padding-inline: 14px; }
    .capability-row { grid-template-columns: 1fr; }
    .capability-row ul { grid-column: auto; }
    .contact-details div { grid-template-columns: 85px 1fr; }
    .terminal { padding: 11px; }
    .terminal-form { align-items: flex-start; flex-direction: column; gap: 1px; }
    .terminal-form input { width: 100%; min-height: 28px; }

    .readme-document,
    .approach-document {
        max-width: 100%;
        overflow-wrap: anywhere;
    }

    .approach-document > header .route-counter {
        position: static;
        margin-top: 8px;
    }

    .problem-inbox,
    .loose-files {
        grid-template-columns: 1fr;
    }

    .problem-inbox .meta-label { grid-column: auto; }

    .next-route,
    .workbench-header,
    .tool-intro,
    .proof-links {
        align-items: stretch;
        flex-direction: column;
    }

    .proof-meter {
        width: 100%;
        text-align: left;
    }

    .workbench-panel { padding: 11px; }
    .architecture-map { min-height: 390px; }
    .node-crm { left: 2%; }
    .node-external { right: 2%; }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
    }
}
