:root {
    --bg-page: #1e1e1e;
    --bg-window: #252526;
    --bg-title: #2d2d30;
    --bg-tabbar: #2d2d30;
    --bg-tab: #2d2d30;
    --bg-tab-active: #1e1e1e;
    --bg-tab-hover: #37373d;
    --border: #3c3c3c;
    --text: #d4d4d4;
    --text-dim: #cccccc;
    --accent: #007acc;
}

html, body {
    margin: 0;
    width: 100%;
    height: 100%;
    background: var(--bg-page);
    color: var(--text);
    font-family: "Segoe UI", Arial, sans-serif;
    overflow: hidden;
}

.winbox {
    background: var(--border);
    border-radius: 0;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

    .winbox.focus {
        box-shadow: 0 0 0 1px var(--accent), 0 8px 24px rgba(0, 0, 0, 0.55);
    }

.wb-header {
    background: var(--bg-title);
    color: var(--text);
    border-bottom: 1px solid var(--border);
}

.wb-title {
    font-size: 13px;
}

.wb-body {
    background: var(--bg-window);
    color: var(--text);
    overflow: hidden;
}

.app,
.tab-app {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    background: transparent;
    color: var(--text);
}

.app {
    padding: 0;
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}

.tab-app {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}

.tab-bar {
    display: flex;
    flex: 0 0 auto;
    background: var(--bg-tabbar);
    border-bottom: 1px solid var(--border);
}

.tab-button {
    appearance: none;
    border: none;
    border-right: 1px solid var(--border);
    background: var(--bg-tab);
    color: var(--text-dim);
    padding: 10px 16px;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
}

    .tab-button:hover {
        background: var(--bg-tab-hover);
        color: var(--text);
    }

    .tab-button.active {
        background: var(--bg-tab-active);
        color: var(--text);
        position: relative;
    }

        .tab-button.active::before {
            content: "";
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 2px;
            background: var(--accent);
        }

.tab-content {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    background: var(--bg-tab-active);
}

.tab-pane {
    position: absolute;
    inset: 0;
    display: none;
    box-sizing: border-box;
    overflow: auto;
    min-width: 0;
    min-height: 0;
    padding: 14px;
    background: #111;
}

    .tab-pane.active {
        display: block;
    }

/* Explorer inhoud: canvas */
#canvas-pane {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    background: #222;
    border: none;
}

#canvas {
    width: 100%;
    height: 100%;
    display: block;
    background: black;
}

/* Workspace terminal */
#xterm-terminal {
    width: 100%;
    height: 100%;
    background: #111;
    border: 1px solid #444;
    box-sizing: border-box;
    overflow: hidden;
}

#terminal {
    width: 100%;
    height: 100%;
}

h2 {
    margin-top: 0;
    font-size: 18px;
    font-weight: 600;
    color: #ffffff;
}

h3 {
    margin-top: 0;
    font-size: 16px;
    font-weight: 600;
    color: #ffffff;
}

p {
    line-height: 1.45;
    margin: 0 0 10px 0;
}

a:link, a:visited {
    color: var(--text);
}

code {
    background: #1b1b1c;
    border: 1px solid var(--border);
    padding: 2px 5px;
    border-radius: 3px;
    color: #ce9178;
}
