.app { display: flex; flex-direction: column; height: 100vh; background: #0c0c0c; } .titlebar { flex: 0 0 auto; display: flex; align-items: center; gap: 12px; padding: 6px 12px; background: #1a1a1a; border-bottom: 1px solid #2a2a2a; font-size: 12px; color: #aaa; user-select: none; } .titlebar .label { font-weight: 600; color: #ddd; } .distros, .presets { display: flex; gap: 4px; align-items: center; } .distro-btn, .preset-btn, .palette-btn { font: inherit; font-family: "Cascadia Mono", "JetBrains Mono", "Consolas", monospace; font-size: 11px; background: #222; color: #aaa; border: 1px solid #333; border-radius: 3px; padding: 2px 8px; cursor: pointer; } .distro-btn:hover, .preset-btn:hover, .palette-btn:hover { background: #2a2a2a; color: #ddd; } .distro-btn.active { background: #1a3a5c; color: #cce6ff; border-color: #2a5a8c; } .palette-btn.bcast-all.on { background: #4a3010; color: #f0c060; border-color: #c98a1f; } .palette-btn.bcast-all.on.partial { background: #2a2010; color: #c98a1f; } .palette-btn.mcp-btn.on { background: #1a3a1a; color: #80e080; border-color: #2a6a2a; } .preset-btn { min-width: 28px; text-align: center; } .muted { color: #666; font-style: italic; } .layout-info { margin-left: auto; font-family: "Cascadia Mono", "JetBrains Mono", "Consolas", monospace; color: #777; font-size: 11px; } .layout-info .idle-info { color: #d96060; } .pane-wrap { flex: 1 1 auto; min-height: 0; position: relative; } /* 2px padding on each leaf slot creates a 4px gap between adjacent panes — so per-pane borders (idle red, active blue, broadcasting orange) read as distinct rectangles instead of merging into a continuous grid pattern. */ .leaf-slot { padding: 2px; box-sizing: border-box; }