.main-content,.politique-header h1,.theme-btn,.theme-selector label{color:var(--text-primary)}.toc a,section a{text-decoration:none}:root{--max-width:950px;--content-padding:60px 24px;--border-radius:12px;--transition:all 0.2s ease}.back-to-top,.main-content,.theme-btn,.toc a,.toc a::before,.toc li,section a{transition:var(--transition)}body.claire{--text-primary:#111827;--text-secondary:#374151;--accent:#3b82f6;--accent-hover:#2563eb;--border:#d1d5db;--bg-subtle:#f9fafb;--bg-main:linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);--bg-card:#ffffff;--bg-hover:#f3f4f6;--shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1),0 1px 2px 0 rgba(0, 0, 0, 0.06);--shadow-lg:0 4px 6px -1px rgba(0, 0, 0, 0.1),0 2px 4px -1px rgba(0, 0, 0, 0.06);--gradient:linear-gradient(90deg, #3b82f6, #8b5cf6, #ec4899)}body.sombre{--text-primary:#f9fafb;--text-secondary:#d1d5db;--accent:#60a5fa;--accent-hover:#93c5fd;--border:#4b5563;--bg-subtle:#1f2937;--bg-main:linear-gradient(135deg, #111827 0%, #1f2937 100%);--bg-card:#1f2937;--bg-hover:#374151;--shadow:0 1px 3px 0 rgba(0, 0, 0, 0.7),0 1px 2px 0 rgba(0, 0, 0, 0.6);--shadow-lg:0 4px 6px -1px rgba(0, 0, 0, 0.7),0 2px 4px -1px rgba(0, 0, 0, 0.6);--gradient:linear-gradient(90deg, #60a5fa, #a78bfa, #f472b6)}.main-content{margin-top:90px;min-height:auto;padding:0;background:var(--bg-main);line-height:1.8;font-size:16px}.nav-link.active,.toc a:hover{color:var(--accent)}.nav-link.active::after{width:100%;background-color:var(--accent);box-shadow:0 0 10px rgba(59,130,246,.5)}.politique-header{background:var(--bg-card);padding:40px 24px;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.politique-header::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient)}.theme-btn:hover,.toc li:hover{background:var(--bg-hover);border-color:var(--accent)}.politique-header h1{margin:0;font-family:Montserrat,sans-serif;font-size:clamp(2rem, 5vw, 3rem);font-weight:700;letter-spacing:-.02em}.politique-header .subtitle{margin-top:12px;font-size:1.1rem;color:var(--text-secondary);font-weight:500}.politique-container{max-width:var(--max-width);margin:0 auto;padding:var(--content-padding)}.theme-selector,.toc-container{margin-bottom:48px;background:var(--bg-card);box-shadow:var(--shadow)}.theme-selector{display:flex;gap:12px;align-items:center;justify-content:center;padding:24px;border-radius:var(--border-radius);border:1px solid var(--border);flex-wrap:wrap}.toc a,.toc-title{align-items:center}.theme-selector label{font-size:.95rem;font-weight:500;margin-right:16px;line-height:1.3;text-align:center}.theme-btn{padding:10px 20px;border:2px solid var(--border);background:var(--bg-card);border-radius:25px;font-size:.9rem;font-weight:500;cursor:pointer;font-family:inherit;min-width:80px}.theme-btn:hover{color:var(--accent);transform:translateY(-1px)}.theme-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.theme-btn.active:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.toc-container{border-radius:var(--border-radius);padding:32px;border:1px solid var(--border)}.toc-title,section h2{margin:0 0 24px;gap:12px;font-family:Montserrat,sans-serif;font-weight:600;color:var(--text-primary);display:flex}.toc-title{font-size:1.4rem}.toc-title::before{content:"📋";font-size:1.2rem}.toc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px 24px}.toc li{background:var(--bg-subtle);border-radius:8px;border:1px solid transparent}.toc li:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.toc a{color:var(--text-primary);font-weight:500;display:block;padding:16px 20px;border-radius:8px;display:flex;gap:12px}.toc a::before{content:"→";color:var(--accent);font-weight:700}.toc a:hover::before{transform:translateX(4px);color:var(--accent-hover)}section{background:var(--bg-card);border-radius:var(--border-radius);padding:40px;margin-bottom:32px;box-shadow:var(--shadow);border:1px solid var(--border);scroll-margin-top:120px}section h2{font-size:1.75rem;align-items:center;padding-bottom:16px;border-bottom:2px solid var(--bg-subtle)}section h3{font-family:Montserrat,sans-serif;font-size:1.35rem;font-weight:600;margin:32px 0 16px;color:var(--text-primary)}section p{margin:16px 0;text-align:justify;color:var(--text-secondary)}section p strong{color:var(--text-primary);font-weight:600}section ol li,section ul li{margin:8px 0;color:var(--text-secondary)}section ul li::marker{color:var(--accent)}section ol li strong,section ul li strong{color:var(--text-primary)}section a{color:var(--accent);font-weight:500;border-bottom:1px solid transparent}section a:hover{color:var(--accent-hover);border-bottom-color:var(--accent-hover)}.footer-column .contact-info{background:0 0;border-radius:0;padding:0;margin:0;border:none;box-shadow:none}.footer-column .contact-info ul,section .contact-info ul{margin:0;padding:0;list-style:none}.footer-column .contact-info li{padding:0;margin-bottom:15px;display:flex;align-items:flex-start;gap:10px;font-weight:400;color:#555;font-size:inherit}.footer-column .contact-info i{margin-right:10px;color:var(--color-accent);font-size:1.1rem}section .contact-info{background:var(--bg-subtle);border-radius:12px;padding:32px;margin:32px 0;border-left:5px solid var(--accent);border:1px solid var(--border);box-shadow:var(--shadow)}section .contact-info li{padding:12px 0;display:flex;align-items:center;gap:16px;font-weight:500;color:var(--text-primary);font-size:16px}section .contact-info p{color:var(--text-primary);margin:20px 0 0;font-weight:500}#presentation h2::before{content:"🏢"}#content-rights h2::before{content:"©️"}#personnes h2::before{content:"👥"}#code h2::before{content:"💻"}#privacy h2::before{content:"🔒"}#external-links h2::before{content:"🔗"}#disclaimer h2::before{content:"⚠️"}#update h2::before{content:"🔄"}#contact h2::before{content:"📧"}.back-to-top{position:fixed;bottom:32px;right:32px;background:var(--accent);color:#fff;border:none;border-radius:50%;width:56px;height:56px;font-size:1.5rem;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:1000}.back-to-top:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.back-to-top.show{display:flex}@media (max-width:768px){:root{--content-padding:32px 16px}.politique-header{padding:32px 20px}.theme-selector{flex-direction:column;gap:16px;padding:20px;margin-bottom:32px}.theme-selector label{margin:0 0 8px;font-size:.9rem}.toc-container{padding:24px 20px;margin-bottom:32px}.toc{grid-template-columns:1fr;gap:12px}section{padding:24px 20px;margin-bottom:24px;scroll-margin-top:110px}section h2{font-size:1.5rem;flex-direction:column;align-items:flex-start;gap:8px}section h2::before{font-size:1.2rem}section p{text-align:left}.back-to-top{bottom:20px;right:20px;width:48px;height:48px;font-size:1.25rem}.contact-info{padding:20px}.contact-info li{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width:480px){:root{--content-padding:24px 12px}.politique-header{padding:24px 16px}.toc-container,section{border-radius:8px;padding:20px 16px}.politique-header h1{font-size:1.8rem}.politique-header .subtitle{font-size:1rem}section h2{font-size:1.4rem}.toc a{padding:14px 16px;font-size:.95rem}}@media print{body,section a,section h2,section h3,section p{color:#000}.back-to-top,.politique-header::before,.theme-selector,.toc-container{display:none}body{background:#fff}section{box-shadow:none;border:1px solid #ccc;break-inside:avoid}}@media (prefers-reduced-motion:reduce){*{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}@media (prefers-color-scheme:dark){body:not(.claire):not(.sombre){--text-primary:#f9fafb;--text-secondary:#d1d5db;--accent:#60a5fa;--accent-hover:#93c5fd;--border:#4b5563;--bg-subtle:#1f2937;--bg-main:linear-gradient(135deg, #111827 0%, #1f2937 100%);--bg-card:#1f2937;--bg-hover:#374151;--shadow:0 1px 3px 0 rgba(0, 0, 0, 0.7),0 1px 2px 0 rgba(0, 0, 0, 0.6);--shadow-lg:0 4px 6px -1px rgba(0, 0, 0, 0.7),0 2px 4px -1px rgba(0, 0, 0, 0.6);--gradient:linear-gradient(90deg, #60a5fa, #a78bfa, #f472b6)}}