* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background-color: #1a1a1a; color: #e0e0e0; } /* ── App shell ──────────────────────────────────── */ .app { height: 100vh; display: flex; flex-direction: column; overflow: hidden; overscroll-behavior: none; } /* ── Header ─────────────────────────────────────── */ .app-header { background-color: #252526; border-bottom: 1px solid #007acc; padding: 0 16px; height: 44px; flex-shrink: 0; display: flex; align-items: center; } .header-content { display: flex; justify-content: space-between; align-items: center; width: 100%; } .header-brand { display: flex; align-items: center; gap: 10px; } .header-title { font-size: 15px; font-weight: 600; color: #e0e0e0; letter-spacing: 0.2px; } .examples-link { display: flex; align-items: center; gap: 6px; padding: 6px 12px; background: transparent; color: #9d9d9d; text-decoration: none; border-radius: 5px; font-size: 13px; font-weight: 500; border: 1px solid #3a3a3a; transition: all 0.15s; } .examples-link:hover { background: #2a2d2e; color: #fff; border-color: #555; } /* ── Main panels container ──────────────────────── */ .app-container { flex: 1; display: flex; overflow: hidden; position: relative; } .editor-panel { display: flex; flex-direction: row; flex-shrink: 0; overflow: hidden; min-width: 20%; max-width: 80%; } /* Toggle button for the file explorer sidebar */ .explorer-toggle-btn { width: 36px; flex-shrink: 0; background: #252526; border: none; border-right: 1px solid #333; border-bottom: 1px solid #333; color: #7a7a7a; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background 0.1s, color 0.1s; } .explorer-toggle-btn:hover { background: #2a2d2e; color: #ccc; } /* Resize handle for the file explorer sidebar */ .explorer-resize-handle { width: 4px; flex-shrink: 0; cursor: col-resize; background: #2a2a2a; transition: background 0.15s; position: relative; z-index: 5; } .explorer-resize-handle:hover, .explorer-resize-handle:active { background: #007acc; } .editor-wrapper { flex: 1; overflow: hidden; } .simulator-panel { flex: 1; display: flex; flex-direction: column; overflow: hidden; min-width: 20%; } /* ── Resize handle ──────────────────────────────── */ .resize-handle { width: 5px; flex-shrink: 0; background: #2a2a2a; cursor: col-resize; display: flex; align-items: center; justify-content: center; transition: background 0.15s; position: relative; z-index: 10; } .resize-handle:hover, .resize-handle:active { background: #007acc; } .resize-handle-grip { width: 2px; height: 32px; background: #444; border-radius: 2px; transition: background 0.15s; } .resize-handle:hover .resize-handle-grip, .resize-handle:active .resize-handle-grip { background: rgba(255, 255, 255, 0.5); } /* ── Responsive ─────────────────────────────────── */ @media (max-width: 768px) { .app-container { flex-direction: column; } .editor-panel, .simulator-panel { width: 100% !important; min-width: unset; max-width: unset; flex: 1; } .resize-handle { display: none; } } /* ── Mobile tab bar ──────────────────────────────── */ .mobile-tab-bar { display: none; } @media (max-width: 768px) { .mobile-tab-bar { display: flex; flex-shrink: 0; height: 54px; background: #252526; border-top: 1px solid #007acc; z-index: 50; } .mobile-tab-btn { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; background: transparent; border: none; color: #7a7a7a; font-size: 11px; font-weight: 500; cursor: pointer; transition: color 0.15s, background 0.15s; padding: 6px 0; } .mobile-tab-btn--active { color: #007acc; background: rgba(0, 122, 204, 0.08); } .mobile-tab-btn:active { background: rgba(255, 255, 255, 0.06); } } /* ── Header responsive ───────────────────────────── */ @media (max-width: 768px) { .app-header { padding: 0 10px; height: 44px; } .examples-link span, .header-github-text, .header-username-text { display: none; } .examples-link { padding: 6px 8px; } }