/* Thème système et préférences de lecture : charger après les autres feuilles. */
@media screen {
  :root { color-scheme:light dark; --comfort-scale:1; --comfort-heading-scale:1; --comfort-panel:#fff; --comfort-field:#f0f4f9; --comfort-text:#173855; --comfort-note:#52697f; --comfort-border:#d5e0eb; --comfort-focus:#285e9f; }
  html[data-comfort-size="large"] { --comfort-scale:1.125; --comfort-heading-scale:1.06; }
  html[data-comfort-size="larger"] { --comfort-scale:1.25; --comfort-heading-scale:1.12; }
  html[data-comfort-measuring] { --comfort-scale:1!important; --comfort-heading-scale:1!important; }
  html:root[data-comfort-size] .comfort-scalable { font-size:calc(var(--comfort-base-font) * var(--comfort-scale))!important; }
  html:root[data-comfort-size] .comfort-scalable.comfort-heading { font-size:calc(var(--comfort-base-font) * var(--comfort-heading-scale))!important; }
  html[data-comfort-spacing="relaxed"] { --comfort-line:1.95; --comfort-letter:.012em; --comfort-word:.045em; }
  html[data-comfort-spacing="wide"] { --comfort-line:2.2; --comfort-letter:.022em; --comfort-word:.08em; }
  html:root[data-comfort-spacing="relaxed"] .comfort-scalable:not(.comfort-heading), html:root[data-comfort-spacing="wide"] .comfort-scalable:not(.comfort-heading) { line-height:var(--comfort-line)!important; letter-spacing:var(--comfort-letter)!important; word-spacing:var(--comfort-word)!important; }
  #site-tools { display:flex; align-items:center; gap:8px; flex-shrink:0; }
  .comfort-open { display:inline-flex; gap:9px; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:10px 12px; border:1px solid var(--comfort-border); border-radius:11px; background:var(--comfort-field); color:var(--comfort-text); font:600 13px/1.45 var(--sans,Arial,sans-serif); white-space:normal; cursor:pointer; }
  .comfort-open:hover { border-color:var(--comfort-focus); box-shadow:0 4px 12px -8px #14395890; }
  .comfort-button-icon { font-family:Georgia,serif; font-size:19px; line-height:1; letter-spacing:-.06em; flex-shrink:0; }
  .comfort-dialog { color:var(--comfort-text); background:var(--comfort-panel); border:1px solid var(--comfort-border); border-radius:25px; padding:29px; width:min(570px,calc(100% - 30px)); max-width:calc(100% - 30px); max-height:calc(100dvh - 40px); overflow-y:auto; overscroll-behavior:contain; box-shadow:0 25px 100px #041a3780; margin:auto; }
  .comfort-dialog::backdrop { background:#061628a6; backdrop-filter:blur(5px); }
  .comfort-dialog:not([open]) { display:none; }
  .comfort-dialog[open] { display:block; }
  .comfort-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:12px; }
  .comfort-dialog h2 { margin:0; font:500 36px/1.15 var(--serif,Georgia,serif); letter-spacing:-.035em; }
  .comfort-dialog p { color:var(--comfort-note); font-size:15px; line-height:1.8; margin:0 0 21px; }
  .comfort-dialog fieldset { border:0; padding:0; margin:26px 0; min-width:0; }
  .comfort-dialog legend { font-size:16px; font-weight:700; padding:0; margin:0 0 12px; }
  .comfort-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
  .comfort-options label { position:relative; display:flex; align-items:center; justify-content:flex-start; gap:9px; font-size:14px; line-height:1.6; border:1px solid var(--comfort-border); border-radius:12px; padding:13px 11px; min-height:50px; background:var(--comfort-field); cursor:pointer; overflow-wrap:anywhere; }
  .comfort-options label:has(input:checked) { border-color:var(--comfort-focus); box-shadow:inset 0 0 0 1px var(--comfort-focus); }
  .comfort-dialog input { accent-color:var(--comfort-focus); width:18px; height:18px; min-width:18px; flex-shrink:0; margin:0; }
  .comfort-motion { display:flex; align-items:flex-start; gap:12px; padding:16px 0; font-size:15px; line-height:1.75; cursor:pointer; }
  .comfort-motion input { margin-top:5px; }
  .comfort-dialog .comfort-system-note { padding:12px 15px; background:var(--comfort-field); border-radius:10px; font-size:14px; }
  .comfort-dialog .comfort-automatic-note { font-size:14px; margin:14px 0 25px; }
  .comfort-dialog-actions { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding-top:21px; border-top:1px solid var(--comfort-border); }
  .comfort-dialog button { min-height:46px; font-size:15px; padding:10px 15px; border:1px solid var(--comfort-border); border-radius:11px; color:var(--comfort-text); background:var(--comfort-field); font-family:var(--sans,Arial,sans-serif); cursor:pointer; }
  .comfort-dialog .comfort-close { display:grid; place-items:center; padding:0; min-width:44px; width:44px; height:44px; font-size:27px; line-height:1; flex-shrink:0; }
  .comfort-dialog .comfort-done { color:#fff; background:#255a90; border-color:#255a90; padding-inline:25px; }
  .comfort-dialog button:hover { filter:brightness(.97); }
  .comfort-open:focus-visible,.comfort-dialog :is(button,input,a):focus-visible { outline:3px solid var(--comfort-focus); outline-offset:4px; }
  html[data-comfort-motion="reduce"] { scroll-behavior:auto!important; }
  html[data-comfort-motion="reduce"] *,html[data-comfort-motion="reduce"] *::before,html[data-comfort-motion="reduce"] *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  html[data-comfort-motion="reduce"] :is(.candidate-card,.hero-photo,.profile-portrait,.method-seal,.voter-grid>a) { transform:none!important; --tilt-x:0deg!important; --tilt-y:0deg!important; --card-lift:0px!important; }
}
@media screen and (max-width:1420px) { .comfort-button-label { display:none; } .comfort-open { width:44px; padding:8px; } }
@media screen and (max-width:680px) {
  .comfort-dialog { padding:23px 19px; border-radius:20px; max-height:calc(100dvh - 28px); }
  .comfort-dialog h2 { font-size:31px; }
  .comfort-options { grid-template-columns:1fr; gap:7px; }
  .comfort-options label { padding:11px 14px; }
  #site-tools { gap:6px; }
  .comfort-open { min-width:44px; min-height:44px; }
  html[data-comfort-size="larger"] :is(.toolbar,.document-controls,.profile-actions,.card-bottom,.portal-filters) { flex-wrap:wrap; }
  html[data-comfort-size]:not([data-comfort-size="normal"]) :is(h1,h2,h3,h4,.profile-description) { overflow-wrap:anywhere; }
}
@media screen and (prefers-color-scheme:dark) {
  :root { color-scheme:dark; --ink:#e4edf7; --cream:#101b2b; --surface:#182a3e; --muted:#bacbdc; --red:#f497a2; --line:#354c64; --comfort-panel:#17283b; --comfort-field:#21374d; --comfort-text:#e5eef7; --comfort-note:#bed0e2; --comfort-border:#415b75; --comfort-focus:#9dcaff; --portal-bg:#101b2b; --portal-card:#182a3e; --portal-muted:#bacbdc; --portal-border:#405b75; --portal-accent:#b4d7ff; --portal-soft:#223c57; --soft-shadow:0 12px 35px -17px #0009; --raised-shadow:0 22px 45px -20px #0009; }
  body { color:#e4edf7; background:radial-gradient(ellipse 85% 700px at 0 100px,#18365788,transparent 75%),radial-gradient(ellipse 50% 600px at 100% 350px,#3c223933,transparent 75%),#101b2b; }
  .header,.ui-scrolled .header { background:#16283def; border-color:#41546c; box-shadow:0 13px 40px -17px #000b,inset 0 1px 0 #69809625; }
  .header nav { background:#16283df7; border-color:#41546c; }
  .header nav a { color:#d7e5f3; }
  .header nav a:hover,.header nav a[aria-current] { color:#fff; background:#2a4665; }
  .header .nav-vote { background:linear-gradient(135deg,#35689f,#264c77); color:#fff; border-color:#5d86b1; }
  .menu-toggle { background:#263d56; color:#e2edfa; border-color:#4b6682; box-shadow:none; }
  .brand-mark,.footer .brand-mark { box-shadow:0 4px 0 #0a1727,0 10px 18px -11px #0009; background:transparent; }
  .hero h1 em,h1 em,h2 em { color:#f497a2; }
  .hero-intro,.hero-footer,.editorial-note p,.section-heading>p,.card-summary,.compare-check,.compare-column>p,.compare-measure p,.compare-disclaimer,.document-row p,.document-row .doc-owner,.voter-grid p,.method-grid>div>p:not(.eyebrow),.method-content p,.profile-detail,.profile-photo-credit,.profile-content .prose p,.bio-timeline p,.measure p,.source-card p,.profile-legal-note,.small-note,.muted,.video-intro,.video-publisher,.video-description,.video-privacy,.video-editorial-note,.video-empty p { color:#bacbdc!important; }
  .hero-footer span,.editorial-note,.toolbar,.document-controls,.candidate-card,.compare-slot,.compare-column,.document-row,.voter-grid>a,.method-content article,.profile-hero,.source-card,.profile-legal-note,.video-card,.video-empty { background:#192b40; border-color:#3d536c; box-shadow:0 10px 25px -18px #000c,inset 0 1px 0 #9ab6d917; }
  .hero-photo { border-color:#3b526c; box-shadow:1px 1px 0 #233e5b,5px 6px 0 #203750,0 30px 55px -17px #000a; }
  .hero-photo figcaption,.hero-photo .hero-year,.hero-photo-top,.photo-caption,.watermark { color:#fff!important; }
  .candidate-card:hover,.document-row:hover,.voter-grid>a:hover { background:#20364e; border-color:#6886a5; box-shadow:0 8px 20px -15px #000c; }
  .candidate-card::after { box-shadow:inset 0 1px 0 #ffffff14; background:radial-gradient(ellipse at var(--pointer-x,50%) var(--pointer-y,0%),#a4caff14,transparent 55%); }
  .candidate-card h3 a:hover { color:#add2ff; }
  .card-party,.profile-party,.eyebrow,.guide-icon,.note-number,.bio-timeline time { color:#f2a1ab; }
  .card-status,.profile-status { background:#1c423c; color:#b2e4cc; border-color:#477e68; }
  .card-status.conditional,.profile-status.conditional { background:#493b25; color:#ffe0a7; border-color:#816837; }
  .card-status.uncertain,.profile-status.uncertain { background:#4c3132; color:#f2c1bd; border-color:#805456; }
  .compare-section,.method-section { background:radial-gradient(ellipse at 100% 0,#452b3b50,transparent 65%),#132236; border-color:#364c65; }
  .search-box,.filter-label,.compare-slot select,.search-box input,select,input[type="search"],input[type="text"],textarea { background:#182c42; color:#e4edf7; border-color:#435c76; }
  input::placeholder,textarea::placeholder { color:#a9bfd4; opacity:1; }
  option { background:#17283b; color:#e4edf7; }
  .search-box>span,.filter-label>span,.results-line,.results-line>span,.filter-label select,.compare-slot select { color:#bfd1e4; }
  .button.primary { color:#fff; background:linear-gradient(135deg,#35689f,#244a76); border-color:#5c83aa; box-shadow:0 4px 0 #0b2038; }
  .button.outline,.theme-row button,.video-close { color:#d9e9fb; background:#213b57; border-color:#4a6988; box-shadow:0 3px 0 #0b2035; }
  .button.outline:hover,.theme-row button:hover,.video-close:hover { background:#2d4e72; color:#fff; }
  .theme-row button.active,.theme-row button[aria-selected="true"],.theme-row button[aria-pressed="true"] { color:#fff; background:#346a9f; border-color:#9bbfe3; }
  .text-link,.source-link,.source-card>a,.video-source,.card-bottom>a,.breadcrumbs a { color:#a9d0ff; }
  .text-link:hover,.source-link:hover,.source-card>a:hover,.video-source:hover { color:#f5b3bc; }
  .doc-icon,.doc-icon::before,.document-row .doc-arrow,.video-platform,.video-empty-icon,.video-program-link,.hero-footer span { background:#263f59; color:#d2e6fc; border-color:#48647f; box-shadow:none; }
  .compare-measure h4,.profile-detail strong,.profile-description,.video-kind { color:#d4e6fb; }
  .compare-column>p:nth-of-type(2) { background:#243f59; border-color:#486581; color:#cee2f8; }
  .comparison-empty,.empty,.program-note { background:#1b3045; color:#d4e3f3; border-color:#48637c; }
  .program-note { border-left-color:#7bb5a2; }
  .profile-tabs { background:#122235; border-color:#405773; box-shadow:inset 0 1px 2px #0005; }
  .profile-tabs button { color:#c3d6e9; }
  .profile-tabs button:hover { color:#fff; background:#2b4562; }
  .profile-tabs button[aria-selected="true"] { color:#fff; background:#315d89; border-color:#7c9dbf; box-shadow:0 3px 0 #091d31; }
  .calendar-section,.date-band { background:linear-gradient(135deg,#203e60,#10253d); color:#fff; border-color:#4a6784; }
  .date-source,.date-source a,.calendar-layout>div>p:not(.eyebrow),.timeline p,.timeline time { color:#c2d5e9!important; }
  .calendar-layout .small-note { color:#bacde1!important; }
  .calendar-layout h2 em,.timeline .major time { color:#f1b5b9; }
  .calendar-layout .text-link { color:#e2efff; }
  .time-dot { background:#152d47; }
  .method-seal { color:#a6c1dd; background:#27445f; box-shadow:0 5px 0 #0c2033; }
  .method-content article>span { color:#f3a6b0; }
  details,details:last-child,.document-list,.measure,.compare-measure,.bio-timeline li { border-color:#3d536c; }
  .footer { color:#dce9f7; background:radial-gradient(ellipse at 30% 0,#214b7777,transparent 75%),#091a2c; border-color:#3b526c; }
  .footer-top p,.footer-bottom { color:#b8cde2; }
  .toast { background:#244d77; color:#fff; border:1px solid #7197bc; }
  .video-error,.noscript { color:#f8d0bd; background:#472e2a; border-color:#926353; }
  #portal-page { color:#e4edf7; }
  #portal-page :is(input,select,textarea,button) { color:#e4edf7; background-color:#213b57; border-color:#496985; }
  #portal-page :is(p,li,dd,dt,figcaption,.muted,.small-note) { color:#bacbdc; }
  #portal-page a { color:#afd4ff; }
  #portal-page :is(article,details,fieldset) { border-color:#3d536c; }
  #portal-page article { background-color:#192b40; }
  #portal-page :is(.portal-card,.portal-panel,.portal-notice,.portal-search-result,.portal-event,.portal-topic,.portal-empty,.portal-essentials,.portal-source,.glossary-entry,.agenda-event,.news-card,.essentials-box,.sponsorship-card) { background:#192b40; border-color:#405b75; color:#e4edf7; box-shadow:0 10px 25px -18px #000b; }
  :is(button,a,input,select,summary,textarea):focus-visible { outline-color:#9dcaff; }
}
@media print { #site-tools,.comfort-dialog { display:none!important; } }

@media screen and (prefers-color-scheme:dark){#portal-page .portal-alphabet button[aria-pressed="true"]{background:#b4d7ff;color:#122b43;border-color:#b4d7ff}}
