/* --- Layout --- */
.side-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: var(--side-panel-width);
    height: 100vh;
    padding: var(--side-panel-padding);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 100;
}

.content-area {
    margin-left: var(--side-panel-width);
    width: calc(100% - var(--side-panel-width));
    height: 100vh;
    position: relative;
    padding: var(--screen-padding); /* Abstand für den Screen */
}

/* --- Der "Screen" Container --- */
.content-screen-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    background-color: var(--content-bg);
    border-radius: var(--screen-border-radius);
    border: 1px solid rgba(255, 255, 255, 0.15);
    overflow: hidden;
    transition: background-color 0.5s ease; /* Übergang für Verdunkelung */
}

.content-screen-wrapper.is-darkened {
    background-color: #000;
}

/* --- WebGL Hintergrund im Screen --- */
#webgl-canvas {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    transform: translate(-50%, -50%) scale(1.1); /* "Bleed" Effekt */
}

/* --- Fireworks Canvas (NEU) --- */
#fireworks-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3; /* Über Section-Container, aber unter Header-Controls */
    pointer-events: none;
    display: none; /* Standardmäßig ausgeblendet */
}


/* --- Section Container (über der WebGL-Animation) --- */
.section-container {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
}

/* --- Content Sections & Übergänge --- */
.content-section {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 60px;
    overflow-y: auto;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.content-section.is-active {
    visibility: visible;
}

.content-section::-webkit-scrollbar {
    width: 4px;
}

.content-section::-webkit-scrollbar-thumb {
    background-color: var(--border-color);
    border-radius: 2px;
}

/* --- Responsive Design --- */
@media (max-width: 1024px) {
    :root {
        --side-panel-width: 220px;
        --side-panel-padding: 25px;
        --screen-padding: 25px;
    }
}
@media (max-width: 768px) {
    body {
        overflow: auto;
        cursor: auto;
    }

    .side-panel {
        position: relative;
        width: 100%;
        height: auto;
        border-bottom: 1px solid var(--border-color);
        padding: var(--side-panel-padding);
        text-align: center;
    }

    .panel-top {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .panel-bottom {
        text-align: center;
        padding-top: 20px;
    }

    .content-area {
        margin-left: 0;
        width: 100%;
        height: auto;
        padding: 0;
    }

    .content-screen-wrapper {
        border-radius: 0;
        border: none;
        animation: none;
    }

    #webgl-canvas, #fireworks-canvas { /* Auch Fireworks Canvas ausblenden */
        display: none;
    }

    .content-section {
        position: relative;
        height: auto;
        display: none;
        visibility: visible;
        padding: 25px;
    }

    .content-section.is-active {
        display: flex;
    }

    .legal-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .legal-column:last-child {
        border-left: none;
        padding-left: 0;
        border-top: 1px solid var(--border-color);
        padding-top: 2rem;
    }
}