body.finalflux-shell, body.finalflux-page { background: var(--bg-glow), var(--bg); color: var(--text); font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .finalflux-shell { min-height: 100vh; display: grid; grid-template-columns: 320px minmax(0, 1fr); } .finalflux-sidebar { background: var(--surface); border-right: 1px solid var(--border-accent); padding: 1.5rem; overflow-y: auto; } .finalflux-sidebar h1, .finalflux-main h2, .finalflux-main h3, .finalflux-page h1, .finalflux-page h2, .finalflux-page h3 { color: var(--accent); } .finalflux-sidebar p, .finalflux-main p, .finalflux-page p, .finalflux-page li { line-height: 1.65; } .finalflux-back, .finalflux-page .back-link { display: inline-block; margin-bottom: 1rem; padding: 0.65rem 1rem; background: var(--accent); color: var(--accent-ink); border-radius: 8px; font-weight: 700; text-decoration: none; } .finalflux-nav section { margin-top: 1.5rem; } .finalflux-nav h2 { color: var(--accent-2); font-size: 1rem; margin-bottom: 0.7rem; } .finalflux-nav a { display: block; color: var(--muted); text-decoration: none; padding: 0.42rem 0.6rem; border-radius: 6px; } .finalflux-nav a:hover { background: var(--surface-2); color: var(--accent); } .finalflux-main { /* display/width/margin explizit, um das generische `main {}` aus style.css (display:flex; width:90%; margin:0 auto) zu neutralisieren -> sonst Überlappung/Fehllayout im Hub. */ display: block; width: auto; margin: 0; padding: 2rem; max-width: 1100px; } .finalflux-hero, .finalflux-panel, .finalflux-page section { background: var(--surface); border-left: 4px solid var(--accent); border-radius: 8px; padding: 1.25rem; margin-bottom: 1.5rem; } .finalflux-page .merksatz { margin: 1rem 0 0; padding: 0.85rem 1rem; background: var(--surface-2); border-left: 4px solid var(--accent-2); border-radius: 8px; } .finalflux-page .merksatz strong { color: var(--accent-2); } /* ---- Topologie-Diagramme (Inline-SVG, theme-adaptiv) ---- */ .topo-grid { display: flex; flex-wrap: wrap; gap: 1rem; margin: 1.1rem 0 0.2rem; } .topo-figure { flex: 1 1 240px; margin: 0; text-align: center; background: var(--surface-2); border: 1px solid var(--border); border-radius: 12px; padding: 0.9rem 0.9rem 0.7rem; } .topo-figure svg { width: 100%; max-width: 320px; height: auto; display: block; margin: 0 auto; } .topo-figure figcaption { color: var(--muted); font-size: 0.82rem; margin-top: 0.5rem; line-height: 1.4; } .topo .link { stroke: var(--border-accent); stroke-width: 2; fill: none; } .topo .bus { stroke: var(--accent); stroke-width: 4; stroke-linecap: round; } .topo .node { fill: var(--surface); stroke: var(--accent); stroke-width: 2; } .topo .hub { fill: var(--accent); stroke: none; } .topo .term { fill: var(--muted); } .topo .hlbl { fill: var(--accent-ink); font: 700 9px 'Segoe UI', Tahoma, sans-serif; text-anchor: middle; dominant-baseline: central; } .finalflux-page table { width: 100%; border-collapse: collapse; margin: 1rem 0; font-size: 0.95rem; } .finalflux-page th, .finalflux-page td { text-align: left; padding: 0.55rem 0.7rem; border-bottom: 1px solid var(--border); } .finalflux-page th { color: var(--heading); font-weight: 700; } .finalflux-hero h2 { font-size: 2rem; margin: 0.4rem 0 1rem; } .eyebrow { color: var(--accent-2); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; } .finalflux-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; margin-bottom: 1.5rem; } .finalflux-grid article, .fluxcheck { background: var(--surface); border: 1px solid var(--border-accent); border-radius: 8px; padding: 1rem; } .finalflux-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; } .finalflux-actions a, .fluxcheck button { background: var(--accent); color: var(--accent-ink); border: 0; border-radius: 8px; cursor: pointer; font-weight: 700; padding: 0.65rem 1rem; text-decoration: none; } .finalflux-page { padding: 2rem; } .finalflux-page main { display: block; max-width: 980px; margin: 0 auto; padding: 0; } .finalflux-page code { background: var(--surface-2); border-radius: 4px; color: var(--accent-2); padding: 0.15rem 0.35rem; } .key-list { padding-left: 1.2rem; } .fluxcheck label { display: block; margin: 0.5rem 0; } .fluxcheck-result { font-weight: 700; margin-top: 0.8rem; } .fluxcheck-result.correct { color: var(--success); } .fluxcheck-result.correct::before { content: "\2713 "; font-weight: 800; } .fluxcheck-result.wrong { color: var(--danger); } .fluxcheck-result.wrong::before { content: "\2717 "; font-weight: 800; } .finalflux-test { background: var(--surface); border-left: 4px solid var(--accent); border-radius: 8px; padding: 1.25rem; margin-bottom: 1.5rem; } .test-meta { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: space-between; color: var(--accent-2); font-weight: 700; margin-bottom: 1rem; } .category-block { background: var(--surface-2); border: 1px solid var(--border-accent); border-radius: 8px; padding: 1rem; margin-bottom: 1rem; } .category-block h2 { margin: 0.2rem 0 0.5rem; } .question-card { background: var(--bg); border-radius: 8px; padding: 1rem; } .answer-options { display: grid; gap: 0.65rem; margin: 1rem 0; } .answer-options label { align-items: flex-start; background: var(--surface); border: 1px solid var(--border-accent); border-radius: 8px; cursor: pointer; display: flex; gap: 0.65rem; padding: 0.75rem; } .answer-options label:hover { border-color: var(--accent); } .test-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin-top: 1rem; } .test-actions button, [data-restart-test] { background: var(--accent); border: 0; border-radius: 8px; color: var(--accent-ink); cursor: pointer; font-weight: 700; padding: 0.65rem 1rem; } .test-actions button.secondary { background: var(--surface-2); border: 1px solid var(--border-accent); color: var(--text); } .test-actions button:disabled { cursor: not-allowed; opacity: 0.45; } @media (max-width: 820px) { /* Block statt Grid -> Sidebar (Themen-Menü) und Inhalt stapeln sauber, keine Überlappung, volle Höhe scrollbar. */ .finalflux-shell { display: block; min-height: 100dvh; } .finalflux-sidebar { overflow: visible; height: auto; border-right: 0; border-bottom: 1px solid var(--border-accent); } .finalflux-main, .finalflux-page { padding: 1rem; } } /* Prüfungszentrale: ruhige Gold-/Indigo-Konstellation statt Spielhallen-Optik. */ body.finalflux-shell,body.finalflux-page { --accent:var(--ff-accent); --accent-2:var(--ff-secondary); --glow-s:var(--ff-glow); --glow-w:color-mix(in srgb,var(--ff-accent) 14%,transparent); background:radial-gradient(circle at 17% 13%,color-mix(in srgb,var(--ff-secondary) 17%,transparent),transparent 30%),radial-gradient(circle at 82% 8%,color-mix(in srgb,var(--ff-accent) 13%,transparent),transparent 28%),#0b0d1b; } body.finalflux-shell::before,body.finalflux-page::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.28; background-image:radial-gradient(circle,var(--ff-accent) 0 1px,transparent 1.5px),radial-gradient(circle,var(--ff-secondary) 0 1px,transparent 1.5px); background-size:91px 91px,137px 137px; background-position:14px 22px,47px 65px; }.finalflux-sidebar,.finalflux-main,.finalflux-page { position:relative; z-index:1; }.finalflux-hero,.finalflux-panel,.finalflux-page section { border-left-color:var(--ff-secondary); box-shadow:0 10px 28px color-mix(in srgb,var(--ff-secondary) 9%,transparent); }