.terminal-app {
    --terminal-bg: #0b1020;
    --terminal-panel: #121a30;
    --terminal-ink: #d9e2f2;
    --terminal-muted: #7d8db0;
    --terminal-accent: #7be0c3;
    display: grid;
    grid-template-rows: auto 1fr;
    min-height: 100%;
    background: var(--terminal-bg);
    color: var(--terminal-ink);
    font-family: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;
    font-size: 13px;
}

.terminal-toolbar {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    background: var(--terminal-panel);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.terminal-tab {
    border: 0;
    border-radius: 7px;
    padding: 6px 14px;
    font-size: 12px;
    font-family: inherit;
    color: var(--terminal-muted);
    background: transparent;
    cursor: pointer;
}
.terminal-tab.is-active {
    color: var(--terminal-ink);
    background: rgba(255, 255, 255, 0.08);
}

.terminal-output {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: 14px 16px;
    line-height: 1.55;
}
.terminal-line--cmd .terminal-prompt { color: var(--terminal-accent); }
.terminal-line--active { display: flex; align-items: baseline; gap: 10px; }
.terminal-line--active .terminal-input { flex: 1; min-width: 0; }
.terminal-block { white-space: pre-wrap; word-break: break-word; }
.terminal-accent { color: var(--terminal-accent); }
.terminal-muted { color: var(--terminal-muted); }

.terminal-input {
    border: 0;
    outline: none;
    background: transparent;
    color: var(--terminal-ink);
    font-family: inherit;
    font-size: inherit;
    caret-color: var(--terminal-accent);
    padding: 0;
}
.terminal-output::-webkit-scrollbar,
.terminal-output { scrollbar-width: thin; scrollbar-color: rgba(255, 255, 255, 0.16) transparent; }
.terminal-output::-webkit-scrollbar-thumb { background: rgba(255, 255, 255, 0.16); border-radius: 4px; }
.terminal-output::-webkit-scrollbar-track { background: transparent; }
