.public-site { background:#fff; font-size:16px; }
.public-site .workspace { display:block; }
.public-site .workspace { display:grid; grid-template-columns:minmax(0,1fr) auto; }
.public-site .main-shell { display:contents; }
.public-site .sidebar { grid-column:1; grid-row:1; flex-wrap:nowrap; min-width:0; }
.public-site .topbar { grid-column:2; grid-row:1; border-bottom:1px solid var(--line); }
.public-site main,.public-site .site-footer { grid-column:1 / -1; width:100%; }
.public-site main { justify-self:center; }
.language-flags { display:flex; align-items:center; gap:4px; padding:4px; border:1px solid var(--line); border-radius:32px; flex-shrink:0; }
.language-flags a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; border:2px solid transparent; border-radius:50%; }
.language-flags a[aria-current] { border-color:#e0a000; background:white; box-shadow:0 0 0 2px #e0a00020; }
.language-flags img { display:block; object-fit:cover; border-radius:2px; }
.reading-menu summary { list-style:none; width:36px; height:40px; display:flex; align-items:center; justify-content:center; }
.reading-menu summary::-webkit-details-marker { display:none; }
.reading-menu summary i { font-size:24px; }
.live-toolbar,.active-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.active-summary { padding:16px; background:#eaf5ee; border:1px solid #a9d5b8; border-radius:8px; }
.active-summary p,.live-toolbar p { margin:0; }
.live-events p { overflow-wrap:anywhere; }
.error-page { padding:40px 0; }
.error-page > strong { font-size:72px; }
.public-site .sidebar { padding:20px 32px; display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:20px; border-right:0; border-bottom:1px solid var(--line); }
.public-site .brand-row { padding:0; }
.public-site .navigation { display:flex !important; gap:10px; padding:0; }
.public-site .nav-label,.public-site .sidebar-bottom { display:none; }
.public-site .nav-item { margin:0; }
.public-site .topbar { justify-content:flex-end; padding:12px 32px; min-height:64px; }
.public-site main { max-width:1120px; padding:40px 32px; }
.public-site h1 { font-size:36px; }
.public-site h2 { font-size:24px; }
.public-site h3 { font-size:26px; }
.home-intro { display:flex; gap:30px; justify-content:space-between; align-items:center; padding-bottom:28px; margin-bottom:28px; border-bottom:1px solid var(--line); }
.public-search { display:flex; gap:8px; width:100%; max-width:460px; }
.public-search .form-control { min-width:0; }
.public-search .icon-button { width:42px; height:42px; flex:0 0 42px; }
.news-feature { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:36px; padding:24px 0 40px; align-items:center; }
.news-feature img { width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
.news-feature p { line-height:1.7; }
.article-body { max-width:850px; margin:auto; }
.article-image { width:100%; height:auto; margin-bottom:28px; }
.search-result { padding:24px 0; border-bottom:1px solid var(--line); }
.language-selector { display:flex; align-items:center; gap:4px; max-width:200px; }
.language-selector select { max-width:150px; }
.reading-menu { position:relative; color:var(--ink); }
.reading-menu summary { cursor:pointer; font-size:15px; }
.reading-panel { position:absolute; top:34px; right:0; width:330px; max-width:calc(100vw - 40px); padding:22px; border:1px solid var(--line); border-radius:8px; background:#fff; z-index:20; box-shadow:0 8px 30px #202b2818; }
.reading-panel h2 { font-size:18px; }
.reading-panel fieldset { margin-bottom:18px; }
.reading-panel legend { font-size:14px; }
.reading-options { display:flex; }
.reading-options label { flex:1; position:relative; cursor:pointer; }
.reading-options input { position:absolute; opacity:0; }
.reading-options span { display:block; text-align:center; border:1px solid #aab5bd; padding:7px 3px; font-size:14px; }
.reading-options input:checked + span { background:#233541; color:#fff; }
.reading-options input:focus-visible + span { outline:3px solid #218a75; }
.public-site[data-reading-size="large"] .reading-content { font-size:19px; }
.public-site[data-reading-size="largest"] .reading-content { font-size:22px; }
.public-site[data-reading-font="serif"] .reading-content { font-family:Georgia,"Times New Roman",serif; }
.public-site[data-reading-font="sans"] .reading-content { font-family:Arial,Helvetica,sans-serif; }
.public-site[data-reading-line="wide"] .reading-content p { line-height:2; }
.reading-content { overflow-wrap:anywhere; }
.public-site { --reading-font:inherit; --reading-size:16px; --reading-leading:1.7; --theme-bg:#fff; --theme-accent:#18715a; background:var(--theme-bg); }
.public-site[data-reading-size="large"] { --reading-size:19px; }
.public-site[data-reading-size="largest"] { --reading-size:22px; }
.public-site[data-reading-font="serif"] { --reading-font:Georgia,"Times New Roman",serif; }
.public-site[data-reading-font="sans"] { --reading-font:Arial,Helvetica,sans-serif; }
.public-site[data-reading-line="wide"] { --reading-leading:2; }
.public-site .reading-content { font-size:var(--reading-size); font-family:var(--reading-font); }
.public-site .reading-content :is(p,h2,h3,a) { font-family:inherit; }
.public-site .reading-content p { line-height:var(--reading-leading); }
.public-site .reading-content h2 { font-size:1.5em; }
.public-site .reading-content h3 { font-size:1.625em; }
.public-site main { font-family:var(--reading-font); }
.public-site[data-theme="classic"] { --theme-bg:#f3f5fc; --theme-accent:#2463c5; --theme-secondary:#6741a5; --ink:#202b45; --theme-band:#2463c5; --theme-band-ink:#fff; }
.public-site[data-theme="forest"] { --theme-bg:#eef3e4; --theme-accent:#24583f; --theme-secondary:#78864d; --ink:#243729; --theme-band:#24583f; --theme-band-ink:#fff; }
.public-site[data-theme="ocean"] { --theme-bg:#e7f5fa; --theme-accent:#075b80; --theme-secondary:#087b83; --ink:#173d4b; --theme-band:#075b80; --theme-band-ink:#fff; }
.public-site[data-theme="rose"] { --theme-bg:#fff1f4; --theme-accent:#983953; --theme-secondary:#b18132; --ink:#482733; --theme-band:#983953; --theme-band-ink:#fff; }
.public-site[data-theme="christmas"] { --theme-bg:#f8f5e8; --theme-accent:#8e2030; --theme-secondary:#276345; --ink:#293b2f; --theme-band:#8e2030; --theme-band-ink:#fff; }
.public-site[data-theme="easter"] { --theme-bg:#f5f0fa; --theme-accent:#68449a; --theme-secondary:#4c8177; --ink:#3f3351; --theme-band:#68449a; --theme-band-ink:#fff; }
.public-site .btn-primary { --bs-btn-bg:var(--theme-accent); --bs-btn-border-color:var(--theme-accent); --bs-btn-hover-bg:var(--theme-accent); --bs-btn-hover-border-color:var(--theme-accent); }
.public-site main a:not(.btn) { color:var(--theme-accent); }
.season-layer { position:fixed; inset:0; pointer-events:none; z-index:5; overflow:hidden; }
.season-layer[hidden] { display:none !important; }
.season-particle { position:absolute; top:-35px; width:var(--particle-size); height:var(--particle-size); background:var(--particle-color); border-radius:50%; opacity:0.65; animation:season-fall linear infinite; }
.season-particle::after { content:""; position:absolute; top:45%; left:20%; width:60%; height:2px; background:#fff9; }
.public-site[data-theme="christmas"] .season-particle::before { content:""; position:absolute; top:-4px; left:35%; width:30%; height:5px; background:#bc9436; }
.public-site[data-theme="easter"] .season-particle { height:calc(var(--particle-size)*1.4); border-radius:50% 50% 46% 46%; }
@keyframes season-fall { from { transform:translate(0,-35px) rotate(0deg); } to { transform:translate(16px,calc(100vh + 70px)) rotate(160deg); } }
@media(prefers-reduced-motion:reduce) { .season-particle { animation-play-state:paused; } }
.season-layer[data-motion-override] .season-particle { animation-play-state:running; }
.season-layer.season-paused .season-particle { animation-play-state:paused; }
.mobile-language-flags { display:none; }
body[data-theme] { --theme-band:#fff; --theme-band-ink:#202b28; }
body[data-theme="forest"] { --theme-bg:#e9f4ec; --theme-accent:#236337; --theme-band:#236337; --theme-band-ink:#fff; --ink:#173822; }
body[data-theme="ocean"] { --theme-bg:#e6f4fa; --theme-accent:#08748a; --theme-band:#08748a; --theme-band-ink:#fff; --ink:#17424b; }
body[data-theme="rose"] { --theme-bg:#fff0f5; --theme-accent:#a6305b; --theme-band:#a6305b; --theme-band-ink:#fff; --ink:#542538; }
body[data-theme="christmas"] { --theme-bg:#edf6ef; --theme-accent:#ad2635; --theme-band:#8e2030; --theme-band-ink:#fff; --ink:#23432c; }
body[data-theme="easter"] { --theme-bg:#f5fae9; --theme-accent:#567630; --theme-band:#617f35; --theme-band-ink:#fff; --ink:#384d26; }
.public-site[data-theme] { background:var(--theme-bg,#fff); }
.admin-site[data-theme] { background:var(--theme-bg,var(--paper)); }
body[data-theme]:not([data-theme="classic"]) .sidebar,body[data-theme]:not([data-theme="classic"]) .topbar { background:var(--theme-band); color:var(--theme-band-ink); }
body[data-theme]:not([data-theme="classic"]) :is(.brand,.nav-item,.nav-label,.version-label,.reading-menu,.topbar > a,.menu-toggle) { color:var(--theme-band-ink); }
body[data-theme]:not([data-theme="classic"]) .nav-item.active,body[data-theme]:not([data-theme="classic"]) .nav-item:hover { color:var(--theme-band-ink); background:#ffffff24; }
body[data-theme]:not([data-theme="classic"]) .reading-panel { color:var(--ink); }
body[data-theme]:not([data-theme="classic"]) .btn-primary { --bs-btn-bg:var(--theme-accent); --bs-btn-border-color:var(--theme-accent); }
body[data-theme]:not([data-theme="classic"]) .site-footer { background:var(--theme-band); color:var(--theme-band-ink); }
body[data-theme]:not([data-theme="classic"]) .site-footer a { color:var(--theme-band-ink); }
body[data-theme]:not([data-theme="classic"]) .topbar .btn-outline-secondary { --bs-btn-color:#fff; --bs-btn-border-color:#ffffff90; }
@media(max-width:720px) { .public-site[data-theme]:not([data-theme="classic"]) .navigation { background:var(--theme-band); } }
.reading-content .lead { font-size:1.2em; }
.live-events { background:#1d252b; color:#d7eef4; padding:16px; max-height:500px; overflow:auto; }
.live-events:empty { display:none; }
.live-event { --event-color:#23c7e4; padding:16px; margin-bottom:8px; border-left:5px solid var(--event-color); border-radius:8px; background:#25313a; font-family:monospace; overflow-wrap:anywhere; }
.live-event:last-child { margin-bottom:0; }
.live-event-search { --event-color:#efc653; }
.live-event-attachment { --event-color:#68d89d; }
.live-event-other { --event-color:#b8bec6; }
.live-event-reading { --event-color:#f19d6e; }
.live-event-heading { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; }
.live-event-badge { color:var(--event-color); background:#ffffff0d; padding:3px 9px; border-radius:20px; font-weight:700; }
.live-event p { margin:8px 0 0; color:#b9d4e3; }
.newsletter-consent { display:flex; gap:12px; align-items:flex-start; padding:16px; border:1px solid #a9b9b0; background:#edf5f0; border-radius:8px; }
.newsletter-consent .form-check-input { float:none; margin:3px 0 0; width:22px; height:22px; flex:0 0 22px; border:2px solid #54685e; }
.live-toolbar > .d-flex { flex-wrap:wrap; }
.newsletter-preview { width:100%; min-height:700px; border:1px solid var(--line); background:white; }
.metrics-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.period-chart { display:flex; align-items:flex-end; height:180px; gap:2px; width:100%; margin:20px 0; border-bottom:1px solid var(--line); }
.period-bar { flex:1; min-width:0; height:100%; display:flex; align-items:flex-end; }
.period-bar span { width:100%; background:#b3503f; min-height:1px; }
@media(max-width:720px) {
 .admin-site .topbar { flex-wrap:wrap; gap:8px; }
 .public-site .sidebar { padding:12px 8px 12px 12px; display:flex; position:relative; }
 .public-site .brand-row { display:flex; }
 .public-site .navigation:not(.show) { display:none !important; }
 .public-site .navigation { position:absolute; top:100%; left:0; width:100vw; background:white; z-index:15; padding:12px; flex-wrap:wrap; border-bottom:1px solid var(--line); }
 .public-site .topbar { padding:12px 8px 12px 0; flex-wrap:nowrap; gap:4px; }
 .public-site .topbar > .language-flags { display:none; }
 .public-site .navigation .mobile-language-flags { display:flex; width:max-content; max-width:100%; margin:8px 0; }
 .public-site .topbar .menu-toggle { order:10; margin-left:8px; }
 .public-site .brand { gap:6px; font-size:16px; }
 .public-site .brand { white-space:nowrap; flex-shrink:0; overflow-wrap:normal; }
 .public-site .brand-row { gap:4px; min-width:max-content; }
 .public-site .brand-mark,.public-site .brand-mark img { width:28px; height:28px; }
 .language-flags { gap:0; padding:2px; }
 .language-flags a { width:30px; height:34px; }
 .language-flags img { width:22px; height:16px; }
 .reading-menu summary { width:28px; }
 .public-site main { padding:28px 20px; }
 .public-site h1 { font-size:30px; }
 .home-intro { display:block; }
 .news-feature { grid-template-columns:1fr; gap:20px; }
 .metrics-four { grid-template-columns:1fr; }
 .reading-panel { position:fixed; top:72px; right:20px; left:auto; }
}
.theme-choice { background:#fff; height:100%; cursor:pointer; }
.live-event-http_404 { border-left-color:#ff627b; }
.live-event-http_403 { border-left-color:#f7b955; }
.live-event-http_404 .live-event-badge { color:#ff9cac; background:#ff627b22; }
.live-event-http_403 .live-event-badge { color:#f7ca78; background:#f7b95522; }
.public-site .site-footer { flex-wrap:wrap; }
.theme-choice:has(input:checked) { border-color:#2463c5 !important; box-shadow:0 0 0 2px #2463c5; }
.theme-choice:focus-within { outline:2px solid #2463c5; outline-offset:3px; }
.public-site[data-theme] { --accent:var(--theme-accent); --bs-link-color:var(--theme-accent); --bs-link-hover-color:var(--theme-secondary); }
.public-site[data-theme] :is(.sidebar,.topbar) { background:var(--theme-band); color:var(--theme-band-ink); }
.public-site[data-theme] :is(.brand,.nav-item,.nav-label,.version-label,.reading-menu,.topbar > a,.menu-toggle) { color:var(--theme-band-ink); }
.public-site[data-theme] :is(.nav-item.active,.nav-item:hover) { color:#fff; background:#ffffff24; }
.public-site[data-theme] .reading-panel { color:var(--ink); }
.public-site[data-theme] .btn-primary { --bs-btn-bg:var(--theme-accent); --bs-btn-border-color:var(--theme-accent); --bs-btn-hover-bg:var(--theme-secondary); --bs-btn-hover-border-color:var(--theme-secondary); --bs-btn-active-bg:var(--theme-secondary); --bs-btn-active-border-color:var(--theme-secondary); }
body.public-site[data-theme] .site-footer { background:var(--theme-secondary); color:#fff; border-top:4px solid var(--theme-accent); }
.public-site[data-theme] .site-footer a { color:#fff; }
.public-site[data-theme] h2 { color:var(--theme-secondary); }
.public-site[data-theme] .topbar .btn-outline-secondary { --bs-btn-color:#fff; --bs-btn-border-color:#ffffff90; }
