/* Shared accessible color roles. Brand colors and image content stay intact. */
:root :is(.site-header,.site-footer,.top-strip),:root .portal-body .primary-nav{background:var(--brand-blue);color:#ffffff}
:root :is(.brand-tagline,.footer-top p,.footer-bottom,.footer-links a,.top-strip,.theme-summary){color:#ffffff}
:root .top-dot{background:#ffffff}
:root .site-header .primary-nav a{color:#ffffff}
:root .site-header :is(.primary-nav a.active,.primary-nav a:hover,.primary-nav a:focus-visible){background:#ffffff;color:var(--brand-blue)}
:root{--brand-blue:#014a9c;color-scheme:light;--theme-bg:#fafbfe;--theme-surface:#ffffff;--theme-raised:#edf3f8;--theme-text:#34465b;--theme-heading:#1a3b7d;--theme-muted:#53677e;--theme-accent:#004f9a;--theme-line:#72859b;--theme-focus:#004f9a}
:root[data-theme=dark]{color-scheme:dark;--theme-bg:#002366;--theme-surface:#082e70;--theme-raised:#123c7c;--theme-text:#d8e3f5;--theme-heading:#ffffff;--theme-muted:#b7cbe9;--theme-accent:#ffffff;--theme-line:#7897c6;--theme-focus:#ffffff;--paper:var(--theme-bg);--ink:var(--theme-text);--muted:var(--theme-muted);--line:var(--theme-line)}
.theme-toolbar{display:flex;justify-content:flex-end;padding-block:0 8px;color:#e2eaf6}
.theme-settings{position:relative}
.theme-summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 6px;cursor:pointer;list-style:none;font:500 11px var(--body);letter-spacing:.2px}
.theme-summary::-webkit-details-marker{display:none}
.theme-summary:hover,.theme-settings[open] .theme-summary{color:#fff;text-decoration:underline;text-underline-offset:4px}
.theme-summary:focus-visible{outline:3px solid #fff;outline-offset:2px}
.theme-panel{position:absolute;bottom:calc(100% + 4px);right:0;z-index:10;display:grid;gap:9px;min-width:180px;padding:16px;background:var(--theme-surface);color:var(--theme-text);border:1px solid var(--theme-line);border-radius:4px;box-shadow:0 8px 24px #00173830}
.theme-toolbar label{font:700 10px var(--body);letter-spacing:1px;color:var(--theme-muted)}
.theme-toolbar select{width:100%;min-height:44px;padding:8px 10px;border:1px solid var(--theme-line);border-radius:2px;color:var(--theme-text);background:var(--theme-raised);font:500 12px var(--body);cursor:pointer}
.theme-toolbar select:focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}
/* Secondary copy also meets normal-text contrast in the light theme. */
:root .card-date,:root .card-excerpt,:root .section-heading p,:root .article-deck,:root .article-byline,:root .news-article .article-label span,:root .field small,:root .metric>span,:root .manager-item p,:root .manager-empty,:root .backup-tools p,:root .article-media figcaption{color:var(--theme-muted)}
:root input::placeholder,:root textarea::placeholder{color:var(--theme-muted);opacity:1}
:root .news-search input{color:var(--theme-text)}
:root[data-theme=dark] body{background:var(--theme-bg);color:var(--theme-text)}
:root[data-theme=dark] :is(h1,h2,h3,h4,h5,h6){color:var(--theme-heading)}
:root[data-theme=dark] :is(.site-header,.site-footer,.top-strip){background:var(--brand-blue);color:var(--theme-text);border-color:var(--theme-line)}
:root[data-theme=dark] :is(.brand-tagline,.primary-nav a,.menu-toggle,.footer-links a){color:var(--theme-heading)}
:root[data-theme=dark] :is(.primary-nav a.active,.primary-nav a:hover,.primary-nav a:focus-visible){background:var(--theme-raised);color:var(--theme-heading)}
:root[data-theme=dark] .primary-nav.is-open{background:var(--brand-blue)}
:root[data-theme=dark] :is(.theme-toolbar select,.instagram-link,.admin-link,.logout-button){background:var(--theme-raised);color:var(--theme-text);border-color:var(--theme-line)}
:root[data-theme=dark] :is(.theme-toolbar label,.footer-top p,.footer-bottom){color:var(--theme-muted)}
:root[data-theme=dark] :is(.filter-tab,.news-search input,.button-outline,.login-panel,.metric,.editor-panel,.article-manager,.article-preview-dialog,.preview-article,.media-dialog,.media-tile,.writing-preview,.skip-link,.empty-state,.sidebar-feature){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-line)}
:root[data-theme=dark] :is(.field input,.field textarea,.field select,.login-form input,.media-dialog input:not([type=file]),.media-dialog select){background:var(--theme-bg);color:var(--theme-text);border-color:var(--theme-line);accent-color:var(--theme-accent)}
:root[data-theme=dark] :is(.field input:focus,.field textarea:focus,.field select:focus){background:var(--theme-surface)}
:root[data-theme=dark] :is(.filter-tab.selected,.button-primary){background:#ffffff;color:#002366;border-color:#ffffff}
:root[data-theme=dark] :is(.filter-tab:hover,.button-outline:hover,.button-primary:hover,.manager-actions button:hover,.manager-actions a:hover,.format-toolbar button:hover){background:var(--theme-raised);color:var(--theme-heading)}
:root[data-theme=dark] :is(.article-body,.portal-body .news-article .article-body,.article-byline,.article-deck,.news-article .article-deck,.preview-dialog-footer span,.media-details p,.media-details small,.media-empty,.media-empty p,.media-dropzone p,.media-tile small,.login-panel p,.admin-intro>p){color:var(--theme-text)}
:root[data-theme=dark] :is(.article-body strong,.article-byline strong,.media-empty strong,.login-form label,.field label){color:var(--theme-heading)}
:root[data-theme=dark] :is(.eyebrow,.section-kicker,.article-label,.news-article .article-label,.back-link,.text-link,.card-footer,.image-credit,.manager-category,.metric strong,.admin-intro h1 em,.field label b,.login-form .reset-link,.media-status,.media-nav a,.media-nav button,.media-tabs button,.media-cover-summary button,.edit-preview-media,.article-end a,.article-end .share-btn){color:var(--theme-accent)}
:root[data-theme=dark] :is(.article-end .share-btn,.edit-preview-media){background:var(--theme-surface);border-color:var(--theme-line)}
:root[data-theme=dark] :is(.backup-tools,.format-toolbar,.media-demo-notice,.media-dropzone,.media-nav span,.preview-dialog-footer,.notice-info,.preview-banner,.news-ticker){background:var(--theme-raised);color:var(--theme-text);border-color:var(--theme-line)}
:root[data-theme=dark] :is(.format-toolbar button,.manager-actions button,.manager-actions a,.preview-close-button){background:var(--theme-surface);color:var(--theme-accent);border-color:var(--theme-line)}
:root[data-theme=dark] :is(.writing-preview-label,.writing-placeholder,.preview-end-note,.preview-dialog-footer span){color:var(--theme-muted)}
:root[data-theme=dark] :is(.error-message,.notice-error,.media-details .media-delete-warning){background:#472c40;color:#ffbdc3;border-color:#d18599}
:root[data-theme=dark] :is(.manager-actions button.delete,.media-delete,.media-unavailable,.form-feedback.error){color:#ffbdc3}
:root[data-theme=dark] .form-feedback{color:#9de2c1}
:root[data-theme=dark] .status-pill{background:#123e40;color:#9de2c1}
:root[data-theme=dark] .status-pill.draft{background:#423b29;color:#f3d598}
:root[data-theme=dark] .skeleton-block{background:linear-gradient(100deg,var(--theme-surface),var(--theme-raised),var(--theme-surface));background-size:200% 100%}
:root[data-theme=dark] .login-symbol img{filter:brightness(0) invert(1)}
:root[data-theme=dark] .category-art-heading img{filter:brightness(0) invert(1)}
:root[data-theme=dark] .section-heading h2 span{color:var(--theme-accent)!important}
:root[data-theme=dark] :where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--theme-focus);outline-offset:3px}
:root .stage-arrows button{background:#0b2b52d9}
:root .stage-story::before{background:linear-gradient(0deg,rgba(8,32,65,.97),rgba(8,32,65,.8) 50%,rgba(8,32,65,.08) 85%)}
:root .stage-dots{background:#0b2b52d9;border-radius:4px;padding-inline:5px}
@media(forced-colors:active){.theme-toolbar select{border:1px solid ButtonText}.stage-dots button[aria-current=true]{outline:2px solid Highlight}}
:root[data-theme=dark] :is(.card-label,.card-visual .card-label){background:var(--theme-raised);color:var(--theme-heading)}
:root[data-theme=dark] :is(.media-tile img,.media-details>img){background:var(--theme-bg)}
:root[data-theme=dark] :is(.ticker-text,.ticker-text b,.sidebar-link,.latest-cat){color:var(--theme-accent)}

/* Königsblau from the supplied swatch, with white accents. */
:root[data-theme=dark] :is(.stage-frame,.stage-art,.stage-story){background:var(--theme-bg)}
:root[data-theme=dark] :is(.stage-arrows button,.stage-dots){background:#002366e6}
:root[data-theme=dark] .stage-story::before{background:linear-gradient(0deg,rgba(0,35,102,.97),rgba(0,35,102,.8) 50%,rgba(0,35,102,.08) 85%)}
:root[data-theme=dark] :is(.card-visual,.stage-fallback){background-color:var(--theme-bg)}
:root[data-theme=dark] .card-visual{background-image:linear-gradient(135deg,var(--theme-bg),var(--theme-raised))}

:root[data-theme=dark] .preview-dialog-header{background:#002366;color:#ffffff}
:root[data-theme=dark] .blue-line{background:#ffffff}
:root[data-theme=dark] .news-search svg{stroke:var(--theme-text)}

/* White reading surfaces balance the royal-blue magazine background. */
:root[data-theme=dark] .portal-body :is(.card-body,.news-search){--theme-text:#34465b;--theme-heading:#002366;--theme-muted:#53677e;--theme-accent:#002366;--theme-focus:#002366;background:#ffffff;color:var(--theme-text)}
:root[data-theme=dark] .portal-body .card-body{padding:22px 20px 20px;border-bottom:3px solid #ffffff}
:root[data-theme=dark] .portal-body .news-search{border-radius:2px}
:root[data-theme=dark] .portal-body .news-search input{background:#ffffff;color:var(--theme-text);border-color:#ffffff}
:root[data-theme=dark] .portal-body .news-search input:focus-visible{outline-offset:-4px}
:root[data-theme=dark] .portal-body :is(.primary-nav a.active,.primary-nav a:hover,.primary-nav a:focus-visible){background:#ffffff;color:#002366}
:root[data-theme=dark] .portal-body .filter-tab{border-color:#ffffff}
:root[data-theme=dark] .portal-body .filter-tab.selected{box-shadow:0 3px 0 #ffffff;transform:translateY(-2px)}

/* The supplied royal blue also defines article typography in light mode. */
:root:not([data-theme=dark]) :is(.article-body,.portal-body .news-article .article-body,.article-headline,.article-body h2,.article-body h3,.article-body h4,.article-body h5,.article-body h6,.article-body strong,.article-deck,.news-article .article-deck,.article-byline,.article-byline strong,.article-label,.news-article .article-label,.news-article .article-label span,.article-media figcaption){color:#002366}
:root:not([data-theme=dark]) .article-body li::marker{color:#002366}

/* Article copy stays white on the blue dark-mode reading surface. */
:root[data-theme=dark] :is(.article-body,.portal-body .news-article .article-body,.article-deck,.news-article .article-deck,.article-byline,.news-article .article-label span,.article-media figcaption){color:#ffffff}
:root[data-theme=dark] .article-body li::marker{color:#ffffff}
