/* ── App-specific overrides (Bootstrap handles the rest) ──────────────────── */

body { font-family: monospace; }

/* Console output */
#output {
    height: 300px;
    overflow-y: scroll;
    white-space: pre-wrap;
    font-size: 13px;
    font-family: monospace;
}
.log-error { color: var(--bs-danger); }
.log-info  { color: var(--bs-success); }

/* Canvas fills its card */
canvas { display: block; width: 100%; }

/* ── Case editor forms (generated by foam-dict.js) ────────────────────────── */

.foam-dict-form { padding: 0.5em; }

.foam-dict-row {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 2px 0;
}
.foam-dict-label {
    flex: 0 0 200px;
    font-size: 12px;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: var(--bs-secondary-color);
}

.foam-input {
    font-family: monospace;
    font-size: 12px;
}
.foam-input-number { width: 120px; }
.foam-input-text   { width: 200px; }
.foam-input-raw    { width: 300px; font-size: 11px; resize: vertical; }

.foam-input-vector {
    display: inline-flex;
    gap: 4px;
}
.foam-input-vec-component {
    font-family: monospace;
    font-size: 12px;
    width: 70px;
}

/* ── File tree ────────────────────────────────────────────────────────────── */

.fs-dir-label {
    cursor: pointer;
    padding: 1px 0.3em;
    color: var(--bs-info);
    user-select: none;
}
.fs-dir-label:hover { background: var(--bs-tertiary-bg); }
.fs-dir-label::before {
    content: '\25B6 ';
    font-size: 9px;
    display: inline-block;
    transition: transform 0.1s;
}
.fs-dir.open > .fs-dir-label::before { transform: rotate(90deg); }

.fs-dir-children { display: none; padding-left: 1em; }
.fs-dir.open > .fs-dir-children { display: block; }

.fs-file {
    padding: 1px 0.3em;
    cursor: pointer;
}
.fs-file:hover { background: var(--bs-tertiary-bg); }
.fs-file.active { background: var(--bs-primary-bg-subtle); color: var(--bs-info); }
.fs-file-size { color: var(--bs-secondary-color); font-size: 11px; margin-left: 0.5em; }

/* ── Registry objects ─────────────────────────────────────────────────────── */

.reg-class-header {
    cursor: pointer;
    padding: 2px 0;
    color: var(--bs-info);
    user-select: none;
    font-size: 13px;
}
.reg-class-header:hover { opacity: 0.8; }
.reg-class-header::before {
    content: '\25B6 ';
    font-size: 9px;
    display: inline-block;
    transition: transform 0.1s;
}
.reg-class-group.open > .reg-class-header::before { transform: rotate(90deg); }

.reg-class-objects { display: none; padding-left: 1.5em; }
.reg-class-group.open > .reg-class-objects { display: block; }

.reg-object { font-size: 12px; padding: 1px 0; }
