/* Rules IDE - full-viewport three-pane layout (item 9).
   Pane widths are fixed for v1; draggable splitters (persisted to IdePrefs)
   are deliberate polish for later. */

.ide-body {
    height: 100vh;
    margin-bottom: 0; /* override site.css's footer allowance */
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.ide-body header {
    flex: 0 0 auto;
}

.ide-main {
    flex: 1 1 auto;
    min-height: 0; /* allow children to shrink below content size */
    display: flex;
}

.ide-root {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
}

.ide-pane {
    overflow: auto;
    min-height: 0;
}

#file-tree-pane {
    flex: 0 0 20%;
    min-width: 12rem;
}

#editor-pane {
    flex: 1 1 55%;
    min-width: 0; /* Monaco must be allowed to shrink */
    overflow: hidden; /* Monaco manages its own scrolling */
}

#validation-pane {
    flex: 0 0 25%;
    min-width: 14rem;
}

.ide-pane-placeholder {
    padding: 1rem;
}

/* ---- file tree (item 10) ---- */

#file-tree summary {
    cursor: pointer;
    user-select: none;
    padding: 0.1rem 0.25rem;
    border-radius: 0.25rem;
}

#file-tree summary:hover {
    background-color: var(--bs-secondary-bg);
}

#file-tree .tree-file {
    padding: 0.1rem 0.25rem;
    border-radius: 0.25rem;
}

#file-tree .tree-file:hover {
    background-color: var(--bs-secondary-bg);
}

#file-tree .tree-file-link {
    text-decoration: none;
    color: var(--bs-body-color);
}

#file-tree .tree-kebab {
    color: var(--bs-secondary-color);
    text-decoration: none;
    line-height: 1;
    visibility: hidden;
}

#file-tree summary:hover .tree-kebab,
#file-tree .tree-file:hover .tree-kebab,
#file-tree .tree-menu.show .tree-kebab {
    visibility: visible;
}

/* ---- problems panel (item 12) ---- */

#validation-panel [role="button"] {
    cursor: pointer;
}

#validation-panel [role="button"]:hover {
    background-color: var(--bs-secondary-bg);
}

/* ---- read-only file view (pre-Monaco, item 10) ---- */

.ide-file-view {
    overflow: auto;
    font-size: 0.85rem;
    background-color: var(--bs-tertiary-bg);
}
