/* ── Toolbar container ──────────────────────────── */ .editor-toolbar { display: flex; align-items: center; justify-content: space-between; padding: 0 10px; height: 46px; background: #252526; border-bottom: 1px solid #333; flex-shrink: 0; gap: 8px; } /* ── Groups ─────────────────────────────────────── */ .toolbar-group { display: flex; align-items: center; gap: 2px; } .toolbar-group-right { margin-left: auto; gap: 6px; } /* ── Divider ─────────────────────────────────────── */ .tb-divider { width: 1px; height: 20px; background: #3a3a3a; margin: 0 4px; } /* ── Icon buttons ───────────────────────────────── */ .tb-btn { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border: none; border-radius: 5px; cursor: pointer; background: transparent; color: #9d9d9d; transition: background 0.12s, color 0.12s; flex-shrink: 0; } .tb-btn:disabled { opacity: 0.35; cursor: not-allowed; } /* Compile */ .tb-btn-compile { color: #4fc3f7; } .tb-btn-compile:hover:not(:disabled) { background: rgba(79, 195, 247, 0.12); color: #81d4fa; } .tb-btn-compile:active:not(:disabled) { background: rgba(79, 195, 247, 0.2); } /* Run */ .tb-btn-run { color: #4caf50; } .tb-btn-run:hover:not(:disabled) { background: rgba(76, 175, 80, 0.12); color: #66bb6a; } /* Stop */ .tb-btn-stop { color: #ef5350; } .tb-btn-stop:hover:not(:disabled) { background: rgba(239, 83, 80, 0.12); color: #f44336; } /* Reset */ .tb-btn-reset:hover:not(:disabled) { background: #2a2d2e; color: #ccc; } /* Libraries */ .tb-btn-lib { color: #00b8d4; } .tb-btn-lib:hover { background: rgba(0, 184, 212, 0.1); color: #00e5ff; } /* Output Console toggle */ .tb-btn-output { color: #9d9d9d; } .tb-btn-output:hover { background: rgba(255, 255, 255, 0.06); color: #ccc; } .tb-btn-output-active { color: #4fc3f7; background: rgba(79, 195, 247, 0.1); } .tb-btn-output-active:hover { background: rgba(79, 195, 247, 0.18); color: #81d4fa; } /* ── Spin animation (compiling) ─────────────────── */ @keyframes spin { to { transform: rotate(360deg); } } .spin { animation: spin 0.8s linear infinite; } /* ── Status inline message ──────────────────────── */ .tb-status { display: flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 4px; font-size: 12px; max-width: 280px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tb-status-success { color: #4caf50; background: rgba(76, 175, 80, 0.1); } .tb-status-error { color: #ef5350; background: rgba(239, 83, 80, 0.1); } .tb-status-text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* ── Error detail bar (for long compiler errors) ── */ .toolbar-error-detail { background: #1a0000; border-bottom: 1px solid #5a1a1a; color: #f48fb1; font-size: 11px; font-family: 'Cascadia Code', 'Fira Code', 'Consolas', monospace; padding: 4px 12px; max-height: 80px; overflow-y: auto; white-space: pre-wrap; line-height: 1.4; }