/* ============================================================================
   Farbschemata: Standard (gruen, steht in style.css), Lila, Windows XP.
   Auswahl ueber <html data-theme="..."> – gesetzt von inc/theme.php (Cookie)
   und live umgeschaltet von assets/theme.js. Wird NACH style.css/blog.css
   bzw. error.css eingebunden.
   ============================================================================ */

/* ── Umschalter (alle Themes) ─────────────────────────────────────────────── */
.theme-switch { display: flex; border: 1px solid var(--green-dim); margin-left: .6rem; flex: none; }
.theme-switch button {
    display: inline-flex; align-items: center; gap: .4rem; min-height: 36px; padding: 0 .6rem;
    background: transparent; border: 0; cursor: pointer; color: var(--text);
    font-family: 'Share Tech Mono', monospace; font-size: .68rem; letter-spacing: .06em;
}
.theme-switch button + button { border-left: 1px solid var(--green-dim); }
.theme-switch button:hover { color: var(--green); background: var(--green-faint); }
.theme-switch button[aria-pressed="true"] { background: var(--green); color: var(--bg); }
.theme-switch .sw { width: 10px; height: 10px; flex: none; border: 1px solid rgba(255,255,255,.35); }
.theme-switch .sw-green  { background: #00ff41; }
.theme-switch .sw-purple { background: #b44cff; }
.theme-switch .sw-xp     { background: linear-gradient(180deg, #2a6fd8 55%, #5aa636 55%); }
@media (max-width: 768px) {
    .theme-switch { margin-left: .4rem; }
    .theme-switch button { padding: 0 .5rem; }
    .theme-switch button span:not(.sw) { display: none; }
}
/* Schmale Bildschirme: Header darf nicht ueber den Rand laufen, Umschalter bleibt erreichbar */
header .brand { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
header nav { min-width: 0; }
@media (max-width: 520px) { .nav-status { display: none !important; } }
@media (max-width: 420px) { .brand { font-size: .55rem; letter-spacing: .08em; } .lang-switch a, .theme-switch button { padding: 0 .4rem; } }
.err-theme { position: fixed; top: 1rem; right: 1rem; z-index: 10; }

/* ============================================================================
   LILA – neon violett / magenta (angelehnt an Cyberpunk-Artwork)
   ============================================================================ */
:root[data-theme="purple"] {
    --bg: #07040e;
    --bg2: #0d0818;
    --green: #c264ff;
    --green-dim: #8a3fd1;
    --text: #e2cdff;
    --text-dim: #8b6bb0;
    --border: #2b1846;
    --card: #100a1e;
    --amber: #ff4fd8;
    --red: #ff3b6b;
    --accent-rgb: 194, 100, 255;
    --amber-rgb: 255, 79, 216;
    --bg-rgb: 7, 4, 14;
    --text-rgb: 226, 205, 255;
    --cover-bg: #0b0616;
}
[data-theme="purple"] body {
    background:
        radial-gradient(ellipse 80% 60% at 85% 10%, rgba(140, 60, 255, .14), transparent 70%),
        radial-gradient(ellipse 60% 50% at 5% 90%, rgba(255, 60, 200, .08), transparent 70%),
        var(--bg);
    background-attachment: fixed;
}
[data-theme="purple"] .hero-glow { background: radial-gradient(ellipse, rgba(255, 79, 216, .07) 0%, transparent 70%); }
[data-theme="purple"] .callout-warn { color: #ffb3ee; }
[data-theme="purple"] .cover-auto.scheme-amber { --c-line: #b33a98; }
[data-theme="purple"] .cover-auto.scheme-mono { --c-word: #f0e6ff; --c-glow: rgba(240,230,255,.3); --c-line: #7a6a90; }
[data-theme="purple"] .err-code::after { color: #4fd8ff; }
/* Syntax-Highlighting */
[data-theme="purple"] .code-block pre code.hljs { color: #e2cdff; }
[data-theme="purple"] .hljs-comment, [data-theme="purple"] .hljs-quote { color: #7d62a3; }
[data-theme="purple"] .hljs-keyword, [data-theme="purple"] .hljs-selector-tag, [data-theme="purple"] .hljs-literal,
[data-theme="purple"] .hljs-section, [data-theme="purple"] .hljs-doctag { color: #c264ff; }
[data-theme="purple"] .hljs-built_in, [data-theme="purple"] .hljs-name, [data-theme="purple"] .hljs-tag { color: #4fd8ff; }
[data-theme="purple"] .hljs-string, [data-theme="purple"] .hljs-regexp, [data-theme="purple"] .hljs-addition,
[data-theme="purple"] .hljs-template-tag { color: #ff4fd8; }
[data-theme="purple"] .hljs-title, [data-theme="purple"] .hljs-title.class_, [data-theme="purple"] .hljs-title.function_,
[data-theme="purple"] .hljs-type { color: #ffd1ff; }

/* ============================================================================
   WINDOWS XP (Luna) – Bliss-Desktop, blaue Titelleisten, gruener Start-Button
   ============================================================================ */
:root[data-theme="xp"] {
    --bg: #ffffff;          /* Eingabefelder */
    --bg2: #ece9d8;
    --green: #215dc6;       /* Akzent = Luna-Blau */
    --green-dim: #7a96df;
    --green-glow: transparent;
    --green-faint: rgba(33, 93, 198, .08);
    --text: #000000;
    --text-dim: #555555;
    --border: #aca899;
    --card: #ffffff;
    --amber: #e68b2c;
    --red: #e04343;
    --accent-rgb: 33, 93, 198;
    --amber-rgb: 230, 139, 44;
    --bg-rgb: 236, 233, 216;
    --text-rgb: 0, 0, 0;
    --cover-bg: #245edb;
    --xp-font: Tahoma, 'Segoe UI', Verdana, Geneva, sans-serif;
    --xp-title-font: 'Trebuchet MS', Tahoma, sans-serif;
    --xp-frame: #0054e3;
    --xp-title: linear-gradient(180deg, #0997ff 0%, #0053ee 8%, #0050ee 40%, #0066ff 88%, #0066ff 93%, #005bff 95%, #003dd7 96%, #003dd7 100%);
    --xp-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='21' height='21'%3E%3Crect x='.5' y='.5' width='20' height='20' rx='3' fill='%23e04343' stroke='white'/%3E%3Cpath d='M6.5 6.5l8 8M14.5 6.5l-8 8' stroke='white' stroke-width='2'/%3E%3C/svg%3E");
    --xp-taskbar: linear-gradient(180deg, #3168d5 0%, #4993e6 6%, #2157d7 15%, #2663e0 85%, #1941a5 100%);
    --xp-btn: linear-gradient(180deg, #ffffff 0%, #ecebe6 86%, #d6d0c5 100%);
    --xp-pane: linear-gradient(90deg, #ffffff 30%, #c6d3f7 100%);
    --xp-shadow: 2px 3px 8px rgba(0, 0, 0, .3);
    scroll-behavior: auto;
}
[data-theme="xp"] body {
    color: #000; font-family: var(--xp-font); font-size: 15px; animation: none;
    background:
        radial-gradient(ellipse 150% 45% at 35% 105%, #6cbf3a 0%, #4c9a26 55%, #3d841c 64%, transparent 64.5%),
        radial-gradient(ellipse 35% 7% at 72% 20%, rgba(255,255,255,.75), transparent 70%),
        radial-gradient(ellipse 25% 5% at 22% 32%, rgba(255,255,255,.6), transparent 70%),
        linear-gradient(180deg, #2a6fd8 0%, #5b9cf0 40%, #a6cdf7 68%, #d6ebff 100%);
    background-attachment: fixed;
}
[data-theme="xp"] body::before,
[data-theme="xp"] body::after,
[data-theme="xp"] .hero-glow,
[data-theme="xp"] .section-divider { display: none; }
[data-theme="xp"] * { text-shadow: none !important; }
[data-theme="xp"] :is(.brand, .hero-title, .hero-subtitle, .section-title, .post-title, .stack-name, .form-box-header,
    .btn-primary, .btn-submit, .nav-admin, .blog-feature-title, .blog-card-title, .post-h1, .post-body h2, .post-body h3,
    .related-title, .tag-h1, .post-avatar, .err-code, .cover-word, button, input, textarea, .tag, .filter-tag, .post-tag,
    nav a, .contact-item, .btn-ghost, .lang-switch a, .theme-switch button, .copy-btn) { font-family: var(--xp-font); letter-spacing: 0; }
[data-theme="xp"] :is(.post-body code, .code-block pre code) { font-family: 'Lucida Console', 'Courier New', monospace; }

/* Titelleiste (blau, mit rotem Schliessen-Knopf) */
[data-theme="xp"] :is(.hero-inner, .post-wrap, .tag-wrap)::before,
[data-theme="xp"] :is(.form-box-header, .code-head, .err-term-head, .related-title) {
    display: block; padding: .35rem 2.2rem .35rem .6rem; border-radius: 6px 6px 0 0;
    background: var(--xp-close) right 4px center / 21px 21px no-repeat, var(--xp-title);
    color: #fff; font-family: var(--xp-title-font); font-weight: bold; font-size: .9rem; letter-spacing: 0;
    text-shadow: 1px 1px #0f1089 !important; border: 0;
}
/* Fenster */
[data-theme="xp"] :is(.hero-inner, .post-wrap, .tag-wrap, .form-box, .code-block, .err-term, .related-inner) {
    background: #ece9d8; color: #000; border: 3px solid var(--xp-frame); border-top: 0;
    border-radius: 8px 8px 0 0; box-shadow: var(--xp-shadow); padding: 0;
}
/* Karten (Aufgabenbereich-Stil, weiss) */
[data-theme="xp"] :is(.blog-feature, .blog-card, .stack-item, .post-toc, .contact-info, .table-wrap, .blog-empty) {
    background: #fff; color: #000; border: 1px solid #7a96df; border-radius: 6px; box-shadow: var(--xp-shadow); overflow: hidden;
}
/* Buttons */
[data-theme="xp"] :is(.btn-primary, .btn-secondary, .btn-submit, .filter-tag, .btn-ghost, .copy-btn, .err-actions a,
    .post-tags a, .tag-cloud a, .tag, .post-tag, .post-header-back) {
    background: var(--xp-btn); color: #000; border: 1px solid #003c74 !important; border-radius: 3px;
    box-shadow: none; transition: none; font-weight: normal;
}
[data-theme="xp"] :is(.btn-primary, .btn-secondary, .btn-submit, .filter-tag, .btn-ghost, .copy-btn, .err-actions a,
    .post-tags a, .tag-cloud a, .post-header-back):hover {
    background: var(--xp-btn); color: #000; box-shadow: inset 0 -2px #f8b33b, inset 0 2px #ffe7a2, inset 2px 0 #fbd17a, inset -2px 0 #fbd17a;
}
[data-theme="xp"] :is(.btn-primary, .btn-secondary, .btn-submit, .filter-tag, .btn-ghost, .copy-btn, .err-actions a,
    .post-tags a, .tag-cloud a):active,
[data-theme="xp"] :is(.filter-tag.active, .tag-cloud a.active) {
    background: linear-gradient(180deg, #cdcac3 0%, #e3e2da 10%, #f2f1ea 100%); color: #000; border-color: #003c74;
}
[data-theme="xp"] :is(.btn-primary, .btn-submit, .btn-secondary)::before { display: none; }
[data-theme="xp"] :is(.btn-primary, .btn-secondary, .btn-submit) { font-size: .88rem; padding: .5rem 1.6rem; }
[data-theme="xp"] .btn-primary, [data-theme="xp"] .btn-submit { font-weight: bold; box-shadow: inset 0 0 0 1px #c2d9f7; }
[data-theme="xp"] .form-field :is(input, textarea) { background: #fff; color: #000; border: 1px solid #7f9db9; border-radius: 0; }
[data-theme="xp"] .form-field :is(input, textarea):focus { border-color: #316ac5; box-shadow: 0 0 0 1px #c2d9f7; }

/* Taskleiste oben (Header) mit Start-Button */
[data-theme="xp"] header { background: var(--xp-taskbar); border: 0; box-shadow: 0 1px 4px rgba(0,0,0,.4); backdrop-filter: none; padding: 0 .5rem 0 0; min-height: 40px; }
[data-theme="xp"] .brand {
    display: inline-flex; align-items: center; gap: .5rem; align-self: stretch; padding: 0 1.4rem 0 .8rem;
    background: linear-gradient(180deg, #3c9d3c 0%, #79c979 10%, #3c9d3c 25%, #2f8b2f 85%, #1d6b1d 100%);
    border-radius: 0 14px 14px 0; box-shadow: inset -1px 0 3px rgba(0,0,0,.35), 2px 0 3px rgba(0,0,0,.25);
    color: #fff; font-size: .9rem; font-weight: bold; font-style: italic; text-shadow: 1px 1px 1px rgba(0,0,0,.5) !important;
}
[data-theme="xp"] .brand::before {
    content: ''; width: 18px; height: 16px; flex: none; transform: skewY(-6deg);
    background: conic-gradient(from 90deg at 50% 50%, #7fba00 0 25%, #ffb900 0 50%, #00a4ef 0 75%, #f25022 0);
}
[data-theme="xp"] .brand .slash { color: #d8ffd8; }
[data-theme="xp"] nav a { color: #fff; font-size: .82rem; border: 0; border-radius: 3px; padding: .35rem .8rem; }
[data-theme="xp"] nav a:hover { color: #fff; background: rgba(255,255,255,.18); border: 0; }
[data-theme="xp"] .nav-admin { color: #ffd88a !important; border: 0 !important; font-size: .82rem !important; }
[data-theme="xp"] .nav-admin:hover { color: #fff !important; background: rgba(255,255,255,.18) !important; }
[data-theme="xp"] .nav-status {
    color: #fff; font-size: .78rem; border-left: 1px solid #092e8a; padding: .3rem .7rem;
    background: linear-gradient(180deg, #0c59b9 0%, #139ee9 8%, #0f8ee0 50%, #0c6bd0 100%); box-shadow: inset 1px 0 #19b9f3;
}
[data-theme="xp"] .status-dot { background: #36d136; box-shadow: none; animation: none; }
[data-theme="xp"] .nav-burger { background: #3c81f3; border: 1px solid #1c49a8; border-radius: 3px; color: #fff; }
[data-theme="xp"] :is(.lang-switch, .theme-switch) { border: 0; gap: 3px; }
[data-theme="xp"] :is(.lang-switch a, .theme-switch button) {
    min-height: 30px; font-size: .78rem; color: #fff; background: #3c81f3; border: 1px solid #1c49a8 !important;
    border-radius: 3px; box-shadow: inset 1px 1px rgba(255,255,255,.3);
}
[data-theme="xp"] :is(.lang-switch a, .theme-switch button):hover { background: #5394f7; color: #fff; }
[data-theme="xp"] :is(.lang-switch a.active, .theme-switch button[aria-pressed="true"]) {
    background: #1e52b7; color: #fff; box-shadow: inset 1px 1px 2px rgba(0,0,0,.45);
}
[data-theme="xp"] .theme-switch .sw { border: 1px solid #fff; }
[data-theme="xp"] .post-header-back { margin: 0 .3rem 0 auto; font-size: .82rem; }
@media (max-width: 768px) {
    [data-theme="xp"] .nav-links { background: #fff; border: 2px solid var(--xp-frame); border-radius: 0 0 6px 6px; top: 40px; padding: 4px; box-shadow: var(--xp-shadow); }
    [data-theme="xp"] .nav-links a { color: #000; border-bottom: 0; padding: .5rem .8rem; }
    [data-theme="xp"] .nav-links a:hover { background: #316ac5; color: #fff; }
    [data-theme="xp"] .brand { padding: 0 1rem 0 .6rem; font-size: .75rem; }
}

/* Hero = Willkommens-Fenster */
[data-theme="xp"] #about { min-height: 0; padding: 3.5rem 0; }
[data-theme="xp"] .hero-inner { padding: 0 0 1.8rem; }
[data-theme="xp"] .hero-inner::before { content: 'Willkommen'; margin-bottom: 1.8rem; }
:root[lang="en"][data-theme="xp"] .hero-inner::before { content: 'Welcome'; }
[data-theme="xp"] .hero-inner > * { margin-left: 1.6rem; margin-right: 1.6rem; }
[data-theme="xp"] .hero-pre { color: #555; letter-spacing: .05em; }
[data-theme="xp"] .hero-pre::before { background: #7a96df; }
[data-theme="xp"] .hero-title { color: #215dc6; font-weight: bold; }
[data-theme="xp"] .hero-title .cursor { background: #000; box-shadow: none; }
[data-theme="xp"] .hero-subtitle { color: #000; letter-spacing: .08em; }
[data-theme="xp"] .hero-desc { color: #000; border: 1px solid #7f9db9; background: #fff; padding: .8rem 1rem; }
[data-theme="xp"] .hero-desc .prompt { color: #215dc6; }
[data-theme="xp"] .tag { font-size: .78rem; }

/* Abschnitts-Ueberschriften = Aufgabenbereich-Kasten */
[data-theme="xp"] section { padding: 2.5rem 0; }
[data-theme="xp"] .section-header {
    display: flex; flex-direction: column; margin-bottom: 1.2rem; background: #d6dff7;
    border: 1px solid #fff; border-radius: 6px 6px 0 0; box-shadow: var(--xp-shadow); overflow: hidden;
}
[data-theme="xp"] .section-title { order: 1; background: var(--xp-pane); color: #215dc6; font-size: 1rem; font-weight: bold; padding: .45rem .8rem; }
[data-theme="xp"] .section-label { order: 2; padding: .5rem .8rem 0; color: #215dc6; letter-spacing: .08em; }
[data-theme="xp"] .section-label::after { background: #7a96df; }
[data-theme="xp"] .section-header p { order: 3; color: #000 !important; padding: 0 .8rem .6rem; }

/* Beitragskarten */
[data-theme="xp"] :is(.blog-feature, .blog-card):hover { border-color: #316ac5; box-shadow: var(--xp-shadow), 0 0 0 2px #c2d9f7; }
[data-theme="xp"] .blog-feature:hover .blog-feature-title, [data-theme="xp"] .blog-card:hover .blog-card-title { text-decoration: underline; }
[data-theme="xp"] .cover { border: 0; }
[data-theme="xp"] .cover-feature { border-right: 0; }
[data-theme="xp"] .blog-kicker { color: #e68b2c; font-weight: bold; letter-spacing: .05em; }
[data-theme="xp"] :is(.blog-feature-title, .blog-card-title, .post-title) { color: #215dc6; font-weight: bold; }
[data-theme="xp"] .blog-ex { color: #000; }
[data-theme="xp"] .blog-meta { color: #555; }
[data-theme="xp"] .blog-more { color: #0066cc; text-decoration: underline; }

/* Titelbilder in Luna-Blau */
[data-theme="xp"] .cover-auto {
    background-color: #245edb;
    background-image: linear-gradient(rgba(255,255,255,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.1) 1px, transparent 1px);
    --c-word: #ffffff; --c-glow: transparent; --c-badge-bg: #e68b2c; --c-badge-fg: #fff; --c-line: #c6d3f7;
}
[data-theme="xp"] .cover-auto.scheme-amber { background-color: #3a8d1f; --c-word: #ffffff; --c-badge-bg: #245edb; --c-line: #d8f5c8; }
[data-theme="xp"] .cover-auto.scheme-mono { background-color: #4b4b4b; --c-word: #ffffff; --c-line: #d0d0d0; }
[data-theme="xp"] .cover-brand { color: #e0e8ff; }
[data-theme="xp"] .cover-word { font-weight: bold; text-shadow: 2px 2px 0 rgba(0,0,0,.3) !important; }

/* Stack */
[data-theme="xp"] .stack-item:hover { background: #fff; border-color: #316ac5; }
[data-theme="xp"] .stack-name { color: #215dc6; font-weight: bold; }
[data-theme="xp"] .stack-desc { color: #000; }
[data-theme="xp"] .stack-bar { height: 14px; background: #fff; border: 1px solid #7f9db9; border-radius: 3px; padding: 1px; }
[data-theme="xp"] .stack-bar-fill {
    background: repeating-linear-gradient(90deg, transparent 0 2px, #fff 2px 3px, transparent 3px 9px),
                linear-gradient(180deg, #b5f6b5 0%, #37c837 45%, #2ba52b 100%);
    background-size: 9px 100%, 100% 100%; box-shadow: none;
}

/* Kontakt */
[data-theme="xp"] .contact-info { padding: 1rem; }
[data-theme="xp"] .contact-info-text, [data-theme="xp"] .contact-item { color: #000; }
[data-theme="xp"] .contact-item { border-bottom: 1px solid #d6dff7; }
[data-theme="xp"] .contact-item .label { color: #215dc6; font-weight: bold; }
[data-theme="xp"] .form-box-header { display: flex; }
[data-theme="xp"] .form-box-header .method { color: #fff; opacity: .85; font-weight: normal; }
[data-theme="xp"] .form-field label, [data-theme="xp"] .form-field label .param { color: #000; }
[data-theme="xp"] .form-field label .param { font-weight: bold; }

/* Footer = Taskleiste unten mit Infobereich (Uhr) */
[data-theme="xp"] footer { background: var(--xp-taskbar); border: 0; padding: 0 0 0 .8rem; position: sticky; bottom: 0; z-index: 50; }
[data-theme="xp"] .footer-inner { max-width: none; min-height: 34px; }
[data-theme="xp"] .footer-left, [data-theme="xp"] .footer-left .highlight { color: #fff; font-size: .8rem; }
[data-theme="xp"] .footer-right {
    align-self: stretch; display: flex; align-items: center; padding: 0 .9rem; color: #fff; font-size: .78rem;
    background: linear-gradient(180deg, #0c59b9 0%, #139ee9 8%, #0f8ee0 50%, #0c6bd0 100%);
    border-left: 1px solid #092e8a; box-shadow: inset 1px 0 #19b9f3;
}
[data-theme="xp"] .footer-right a { color: #fff !important; }

/* Beitrags- und Tag-Seite */
[data-theme="xp"] :is(.post-wrap, .tag-wrap) { margin-top: 2rem; margin-bottom: 2rem; max-width: 1180px; }
[data-theme="xp"] .post-wrap { margin-left: auto; margin-right: auto; }
[data-theme="xp"] :is(.post-wrap, .tag-wrap)::before { content: 'frings.net'; }
[data-theme="xp"] :is(.post-head, .post-layout, .tag-head, .tag-cloud, .tag-wrap .blog-grid, .post-cover) { margin-left: 1.5rem; margin-right: 1.5rem; }
[data-theme="xp"] :is(.post-head, .tag-head) { margin-top: 1.5rem; }
[data-theme="xp"] .tag-wrap .blog-grid { padding-bottom: 1.5rem; }
[data-theme="xp"] :is(.post-h1, .tag-h1) { color: #215dc6; font-weight: bold; }
[data-theme="xp"] .tag-hash { color: #e68b2c; }
[data-theme="xp"] :is(.post-lead, .post-body, .post-meta, .post-author, .tag-sub, .post-edited) { color: #000; }
[data-theme="xp"] .badge-cat { color: #fff; background: #e68b2c; border-radius: 3px; }
[data-theme="xp"] .badge-note { color: #000; border-color: #7a96df; border-radius: 3px; }
[data-theme="xp"] .badge-note a { color: #0066cc; }
[data-theme="xp"] .post-avatar { color: #fff; border: 2px solid #fff; border-radius: 4px; background: linear-gradient(135deg, #5b9cf0, #215dc6); font-weight: bold; box-shadow: 0 1px 3px rgba(0,0,0,.4); }
[data-theme="xp"] .post-toc { padding: 0; gap: 0; }
[data-theme="xp"] .post-toc-title { background: var(--xp-pane); color: #215dc6; font-weight: bold; padding: .45rem .8rem; letter-spacing: 0; }
[data-theme="xp"] .post-toc a { color: #0066cc; padding: .3rem .8rem; }
[data-theme="xp"] .post-toc a:hover { color: #0066cc; text-decoration: underline; }
[data-theme="xp"] .post-toc a span { color: #555; }
[data-theme="xp"] .post-body h2 { color: #215dc6; border-bottom: 1px solid #7a96df; font-weight: bold; }
[data-theme="xp"] .post-body h2::before { color: #7a96df; }
[data-theme="xp"] .post-body h3 { color: #000; font-weight: bold; }
[data-theme="xp"] .post-body a { color: #0066cc; }
[data-theme="xp"] .post-body a:visited { color: #800080; }
[data-theme="xp"] .post-body ul li::before { content: '•'; color: #215dc6; }
[data-theme="xp"] .post-body ol li::marker { color: #215dc6; }
[data-theme="xp"] .post-body code { color: #a31515; background: #fff; border: 1px solid #d6dff7; }
[data-theme="xp"] .post-body blockquote { color: #000; border: 1px solid #000; border-radius: 6px; background: #ffffe1; }
[data-theme="xp"] .post-body figure img { border: 1px solid #aca899; box-shadow: var(--xp-shadow); }
[data-theme="xp"] .post-body figcaption { color: #555; }
[data-theme="xp"] .code-head { display: flex; padding-right: 2.4rem; font-size: .8rem; }
[data-theme="xp"] .copy-btn { min-height: 22px; margin: 0 .3rem; padding: 0 .8rem; font-size: .75rem; }
[data-theme="xp"] .code-block pre { background: #fff; margin: 4px; border: 1px solid #7f9db9; }
[data-theme="xp"] .code-block pre code, [data-theme="xp"] .code-block pre code.hljs { color: #000; background: none; }
[data-theme="xp"] .callout { color: #000; background: #ffffe1; border: 1px solid #000; border-radius: 8px; box-shadow: var(--xp-shadow); }
[data-theme="xp"] .callout-icon { color: #fff; background: #215dc6; border-color: #215dc6; }
[data-theme="xp"] .callout-warn { background: #ffffe1; color: #000; border-color: #000; }
[data-theme="xp"] .callout-warn .callout-icon { color: #000; background: #ffd200; border-color: #b08a00; border-radius: 0; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
[data-theme="xp"] .table-wrap th { background: linear-gradient(180deg, #fff, #ebeadb); color: #000; border-bottom: 2px solid #d6d2c2; }
[data-theme="xp"] .table-wrap :is(th, td) { border-bottom-color: #ece9d8; }
[data-theme="xp"] .post-tags { border-top: 1px solid #aca899; }
[data-theme="xp"] .post-tags .lbl, [data-theme="xp"] .tag-cloud a span { color: #555; }
[data-theme="xp"] .related { border: 0; }
[data-theme="xp"] .related-inner { margin: 0 auto 2rem; max-width: 1180px; padding: 0 0 1.5rem; }
[data-theme="xp"] .related-inner .blog-grid { margin: 0 1.2rem; }
/* Syntax-Highlighting im Visual-Studio-Stil */
[data-theme="xp"] .hljs-comment, [data-theme="xp"] .hljs-quote { color: #008000; }
[data-theme="xp"] .hljs-keyword, [data-theme="xp"] .hljs-selector-tag, [data-theme="xp"] .hljs-literal,
[data-theme="xp"] .hljs-section, [data-theme="xp"] .hljs-doctag { color: #0000ff; }
[data-theme="xp"] .hljs-built_in, [data-theme="xp"] .hljs-name, [data-theme="xp"] .hljs-tag { color: #2b91af; }
[data-theme="xp"] .hljs-string, [data-theme="xp"] .hljs-regexp, [data-theme="xp"] .hljs-addition,
[data-theme="xp"] .hljs-template-tag { color: #a31515; }
[data-theme="xp"] .hljs-number, [data-theme="xp"] .hljs-symbol, [data-theme="xp"] .hljs-bullet, [data-theme="xp"] .hljs-link { color: #800080; }
[data-theme="xp"] .hljs-variable, [data-theme="xp"] .hljs-template-variable, [data-theme="xp"] .hljs-attr,
[data-theme="xp"] .hljs-attribute, [data-theme="xp"] .hljs-params { color: #b05a00; }
[data-theme="xp"] .hljs-title, [data-theme="xp"] .hljs-title.class_, [data-theme="xp"] .hljs-title.function_,
[data-theme="xp"] .hljs-type { color: #215dc6; }
[data-theme="xp"] .hljs-meta, [data-theme="xp"] .hljs-meta .hljs-keyword { color: #808080; }

/* Fehlerseiten = Fehlermeldungs-Dialog */
[data-theme="xp"] .err-code { color: #fff; font-weight: bold; text-shadow: 3px 3px 0 rgba(0,0,0,.25) !important; }
[data-theme="xp"] .err-code.err-403 { color: #ffd200; }
[data-theme="xp"] .err-code::before, [data-theme="xp"] .err-code::after { display: none; }
[data-theme="xp"] .err-term-head span { display: none; }
[data-theme="xp"] .err-term-head b { margin-left: 0; color: #fff; font-weight: bold; font-size: .9rem; }
[data-theme="xp"] .err-term-body { color: #000; }
[data-theme="xp"] :is(.err-prompt, .err-sys, .err-label, .err-text) { color: #000; }
[data-theme="xp"] .err-label { font-weight: bold; color: #c00 !important; }
[data-theme="xp"] .err-actions a { padding: .35rem 1.4rem; }
[data-theme="xp"] .err-cursor { background: #000; }
[data-theme="xp"] .err-theme { top: .6rem; right: .6rem; }

@media (max-width: 768px) {
    [data-theme="xp"] .hero-inner > * { margin-left: 1rem; margin-right: 1rem; }
    [data-theme="xp"] :is(.post-head, .post-layout, .tag-head, .tag-cloud, .tag-wrap .blog-grid, .post-cover) { margin-left: .8rem; margin-right: .8rem; }
    [data-theme="xp"] :is(.post-wrap, .tag-wrap) { margin-left: .5rem; margin-right: .5rem; }
    [data-theme="xp"] footer { position: relative; }
}
@media (prefers-reduced-motion: reduce) { [data-theme] body { animation: none; } }
