.desktop { --rail-width: 64px; --nav-width: 240px; display: grid; grid-template-columns: var(--rail-width) var(--nav-width) minmax(260px, 1fr) 6px clamp(320px, var(--files-width, 36%), calc(100% - var(--rail-width) - var(--nav-width) - 266px)); grid-template-rows: auto minmax(0, 1fr); height: 100vh; height: 100dvh; } .desktop > header { grid-column: 1 / -1; border-bottom: 1px solid var(--line); } .rail, .navigation, .center, .files, .mobileContent { display: flex; flex-direction: column; min-width: 0; min-height: 0; } .rail { overflow-y: auto; background: var(--bg); } .navigation { overflow-y: auto; border-right: 1px solid var(--line); background: var(--bg); } @media (width >= 900px) { .navigation { padding-bottom: 80px; } } .files { border-left: 1px solid var(--line); } .resize { background: var(--line); cursor: col-resize; touch-action: none; } .resize:hover, .resize:focus-visible { background: var(--busy); } .mobile { display: flex; flex-direction: column; height: 100vh; height: 100dvh; padding-inline: env(safe-area-inset-left) env(safe-area-inset-right); } .mobile .navigation { max-height: 30dvh; flex-shrink: 0; border-right: 0; } .mobileContent { flex: 1; overflow: hidden; } .tabs { display: flex; flex-shrink: 0; border-bottom: 1px solid var(--line); } .tabs button { flex: 1; min-height: 44px; border: 0; background: var(--surface); color: var(--text-dim); font: inherit; cursor: pointer; } .tabs button[aria-pressed="true"] { border-bottom: 2px solid var(--accent); color: var(--text); } .pendingCatalog { padding: var(--space-2) var(--space-3); border-top: 1px solid var(--line); color: var(--text-dim); font-size: 12px; } .drop { position: fixed; inset: var(--space-4); z-index: 40; display: grid; place-items: center; border: 2px dashed var(--line-strong); border-radius: var(--radius-lg); background: var(--scrim); color: var(--on-accent); font-size: 18px; pointer-events: none; } .error { position: fixed; top: var(--bar-h); left: var(--space-4); right: var(--space-4); z-index: 20; padding: var(--space-3); background: var(--surface); color: var(--danger); border: 1px solid var(--danger); } @media (width >= 900px) and (width <= 1100px) { .desktop { --nav-width: 220px; } }