/*! src:assets/css/fonts.css */ @font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../../fonts/inter-400.woff2') format('woff2')}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../../fonts/inter-500.woff2') format('woff2')}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../../fonts/jetbrains-mono-400.woff2') format('woff2')}@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../../fonts/jetbrains-mono-500.woff2') format('woff2')}/*! src:assets/css/spacing.css */:root{--space-section:64px;--space-section-strong:96px;--space-block-pad:28px;--space-block-pad-lg:36px;--space-grid-gap:28px;--space-grid-gap-lg:40px;--space-heading-after:24px;--space-paragraph:16px;--reading-line-height:1.65;--reading-max-width:720px}@media (max-width:760px){:root{--space-section:40px;--space-section-strong:56px;--space-block-pad:20px;--space-block-pad-lg:24px;--space-grid-gap:18px;--space-grid-gap-lg:24px;--space-heading-after:18px}}/*! src:assets/css/fx.css */:root{--fx-reveal-distance:8px;--fx-reveal-duration:400ms;--fx-hover-lift:-4px;--fx-hover-duration:250ms;--fx-keyword-color:#67e8f9;--fx-sep-color:rgba(103,232,249,0.5);--fx-sep-dot-color:#67e8f9;--fx-bignum-opacity:0.08;--fx-bignum-color:#67e8f9}.fx-reveal{opacity:0;transform:translateY(var(--fx-reveal-distance));transition:opacity var(--fx-reveal-duration) ease-out,transform var(--fx-reveal-duration) ease-out;will-change:opacity,transform}.fx-reveal.fx-revealed{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.fx-reveal{opacity:1 !important;transform:none !important;transition:none !important}}html.fx-hover-on .card,html.fx-hover-on .card-pivot,html.fx-hover-on .card-service,html.fx-hover-on .card-project{transition:transform var(--fx-hover-duration) ease-out,border-color var(--fx-hover-duration) ease-out,box-shadow var(--fx-hover-duration) ease-out}html.fx-hover-on .card:hover,html.fx-hover-on .card-pivot:hover,html.fx-hover-on .card-service:hover,html.fx-hover-on .card-project:hover{transform:translateY(var(--fx-hover-lift));border-color:#67e8f9;box-shadow:0 8px 24px -10px rgba(103,232,249,0.25)}html.fx-hover-on .card-case-link{transition:color var(--fx-hover-duration) ease-out,transform var(--fx-hover-duration) ease-out}html.fx-hover-on .card-case-link:hover{color:#67e8f9;transform:translateX(2px)}.fx-counter{font-variant-numeric:tabular-nums}.fx-keyword{color:var(--fx-keyword-color)}.fx-section-sep{position:relative;display:block;height:1px;background:linear-gradient(90deg,transparent,var(--fx-sep-color),transparent);border:0;margin:var(--space-section) 0}.fx-section-sep::before{content:"";position:absolute;top:-3px;left:50%;width:7px;height:7px;background:var(--fx-sep-dot-color);border-radius:50%;transform:translateX(-50%);box-shadow:0 0 10px var(--fx-sep-dot-color);opacity:0.5}.fx-section-sep.fx-revealed::before{animation:fx-sep-pulse 2.4s ease-in-out infinite}@keyframes fx-sep-pulse{0%,100%{opacity:0.4;transform:translateX(-50%) scale(0.85)}50%{opacity:1;transform:translateX(-50%) scale(1.15)}}@media (prefers-reduced-motion:reduce){.fx-section-sep.fx-revealed::before{animation:none}}html.fx-no-sep-pulse .fx-section-sep.fx-revealed::before{animation:none}.fx-stats-band{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-grid-gap);align-items:baseline;padding:var(--space-block-pad-lg) 0;margin:var(--space-section) 0;border-top:1px solid rgba(103,232,249,0.15);border-bottom:1px solid rgba(103,232,249,0.15)}.fx-stat{text-align:center}.fx-stat .fx-num{font:900 clamp(2rem,5vw,3.4rem) / 1 'JetBrains Mono',monospace;color:#67e8f9;letter-spacing:-0.04em;display:block;margin-bottom:8px}.fx-stat .fx-num .fx-counter{font:inherit;color:inherit;letter-spacing:inherit}.fx-stat .fx-label{font-size:0.78rem;color:#94a3b8;text-transform:uppercase;letter-spacing:0.1em}@media (max-width:760px){.fx-stats-band{grid-template-columns:1fr;gap:18px;padding:24px 0}}.view-accueil .card-pivot{position:relative;overflow:hidden}.view-accueil .card-pivot[data-num]::before{content:attr(data-num);position:absolute;top:-10px;right:12px;font:900 5em / 1 'JetBrains Mono',monospace;color:var(--fx-bignum-color);opacity:var(--fx-bignum-opacity);letter-spacing:-0.05em;pointer-events:none;user-select:none;z-index:0}.view-accueil .card-pivot > *{position:relative;z-index:1}/*! src:assets/css/cockpit.css */ *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}dialog{margin:auto}:root{--bg-main:#070a0e;--bg-side:#0b0f15;--bg-panel:#0a0e14;--bg-card:#0e1218;--bg-active:#11161e;--border:#1f2937;--text-1:#f8fafc;--text-2:#94a3b8;--text-3:#7A8898;--accent:#67e8f9;--accent-1:#67e8f9;--accent-2:#4ab8c8;--accent-3:#3a7e8a;--bg-2:var(--bg-side);--bg-3:var(--bg-active);--cyan-d:var(--accent-2);--line-2:color-mix(in srgb,var(--accent-2) 22%,transparent);--line-3:color-mix(in srgb,var(--accent-2) 45%,transparent);--accent-hover:var(--accent);--admin-border:var(--border);--admin-font-mono:var(--mono);--admin-text:var(--text-1);--admin-text-dim:var(--text-2);--border-2:var(--text-3);--cyan:var(--accent);--font-mono:var(--mono);--green:var(--ok);--line:color-mix(in srgb,var(--accent-2) 12%,transparent);--text-main:var(--text-1);--text-muted:var(--text-2);--amber:#e6b35c;--ok:#6ee7b7;--warn:#fbbf24;--shadow-active:0 0 0 1px var(--accent);--mono:'JetBrains Mono',ui-monospace,monospace;--sans:'Inter',system-ui,-apple-system,sans-serif;--modal-overlay-bg:rgba(0,0,0,0.55);--modal-overlay-blur:6px;--modal-card-shadow:0 24px 60px rgba(0,0,0,0.45);--label-mono-color:var(--text-3);--label-mono-tracking:0.14em;--label-mono-size-sm:9px;--label-mono-size-md:10px;--label-mono-size-lg:11px;--glass-blur:3px}.label-mono{font-family:var(--mono);font-size:var(--label-mono-size-md);letter-spacing:var(--label-mono-tracking);text-transform:uppercase;color:var(--label-mono-color)}.label-mono--sm{font-size:var(--label-mono-size-sm)}.label-mono--lg{font-size:var(--label-mono-size-lg)}.label-mono--accent{--label-mono-color:var(--accent-3)}.glass{background:color-mix(in srgb,var(--bg-card) var(--glass-opacity,30%),transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}body.maintenance-mode{margin:0;font-family:var(--sans);background:var(--bg-main);color:var(--text-1);min-height:100vh;min-height:100dvh;overflow:hidden}.maintenance-splash{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(ellipse at top,color-mix(in srgb,var(--accent) 8%,transparent),transparent 60%),var(--bg-main)}.maintenance-inner{max-width:560px;width:100%;text-align:center}.maintenance-tag{display:inline-block;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--accent);margin-bottom:24px;padding:6px 12px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:2px;background:color-mix(in srgb,var(--accent) 8%,transparent)}.maintenance-company{font-size:clamp(32px,6vw,48px);font-weight:500;letter-spacing:-0.02em;color:var(--text-1);margin:0 0 18px;line-height:1.05}.maintenance-message{font-size:16px;line-height:1.6;color:var(--text-2);margin:0 0 36px}.maintenance-actions{display:flex;flex-direction:column;gap:14px;align-items:center}.maintenance-cta{display:inline-flex;align-items:center;gap:10px;padding:12px 28px;font-family:var(--sans);font-size:15px;font-weight:500;color:var(--bg-main);background:var(--accent);border:1px solid var(--accent);border-radius:3px;text-decoration:none;transition:background 0.15s,transform 0.1s}.maintenance-cta:hover{background:var(--accent-2);border-color:var(--accent-2);transform:translateY(-1px)}.maintenance-cta i{font-size:14px}.maintenance-phone{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;font-family:var(--mono);font-size:13px;letter-spacing:0.04em;color:var(--text-2);text-decoration:none;transition:color 0.15s}.maintenance-phone:hover{color:var(--accent)}.maintenance-phone i{font-size:11px;color:var(--accent-3)}.maintenance-admin-toggle{position:fixed;right:18px;bottom:18px;display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--text-3);background:color-mix(in srgb,var(--bg-card) 60%,transparent);border:1px solid var(--border);border-radius:3px;cursor:pointer;text-transform:uppercase;transition:color 0.15s,border-color 0.15s,background 0.15s}.maintenance-admin-toggle:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.maintenance-admin-toggle i{font-size:10px}.maintenance-preview-banner{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 18px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,var(--bg-main));border-bottom:1px solid color-mix(in srgb,var(--accent) 50%,transparent);text-transform:uppercase;text-align:center}.maintenance-preview-banner span{letter-spacing:0.02em;text-transform:none}body.maintenance-preview .maintenance-splash{padding-top:60px}.maintenance-banner{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 16px;font-family:var(--mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--warn);background:color-mix(in srgb,var(--warn) 15%,var(--bg-main));border-bottom:1px solid color-mix(in srgb,var(--warn) 50%,transparent)}body.has-maintenance-banner .cockpit{padding-top:28px}.color-accent-1{color:var(--accent-1)}.color-accent-2{color:var(--accent-2)}.color-accent-3{color:var(--accent-3)}.color-text-1{color:var(--text-1)}.color-text-2{color:var(--text-2)}.color-text-3{color:var(--text-3)}.color-ok{color:var(--ok)}.color-warn{color:var(--warn)}html[data-theme="light"]{--bg-main:#fafaf9;--bg-side:#f5f5f4;--bg-panel:#fafaf9;--bg-card:#ffffff;--bg-active:#ffffff;--border:#e7e5e4;--text-1:#0c0a09;--text-2:#57534e;--text-3:#6E6963;--accent:#1c1917;--accent-1:#1c1917;--accent-2:#44403c;--accent-3:#78716c;--ok:#16a34a;--warn:#b45309;--shadow-active:0 0 0 1px var(--accent)}body{font-family:var(--sans);background:var(--bg-main);color:var(--text-1);font-size:14px;line-height:1.55}.cockpit{display:grid;grid-template-rows:36px 1fr 28px;height:100vh;height:100dvh}.tabbar{background:var(--bg-side);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 12px;gap:4px;font-size:12px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.tabbar::-webkit-scrollbar{display:none}.tabbar-brand{display:flex;align-items:center;gap:8px;height:36px;padding:0 16px;border:0;border-right:1px solid var(--border);background:none;color:var(--text-1);font-family:var(--mono);cursor:pointer;flex-shrink:0;text-decoration:none}.tabbar-brand:hover .tabbar-brand-label{color:var(--accent)}.tabbar-brand-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 8px var(--accent);animation:tbpulse 2.4s ease-in-out infinite}@keyframes tbpulse{0%,100%{opacity:1}50%{opacity:0.45}}.tabbar-brand-label{font-size:11px;font-weight:500;letter-spacing:0.14em;color:var(--text-1);transition:color 0.15s}.tabbar-brand-sub{font-size:10px;letter-spacing:0.06em;color:var(--text-3)}@media (max-width:680px){.tabbar-brand-sub{display:none}.tabbar-brand{padding:0 12px}}.tabbar-tab{height:36px;line-height:36px;padding:0 14px;color:var(--text-2);cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0;transition:color 0.15s ease,background 0.15s ease}.tabbar-tab:hover:not(.active){color:var(--text-1);background:var(--bg-hover,transparent)}.tabbar-tab.active{color:var(--text-1);background:var(--bg-panel);box-shadow:inset 0 2px 0 var(--accent)}.tabbar-tab-dot{display:none;font-size:9px}.tabbar-tab.active .tabbar-tab-dot{display:inline-block;color:var(--accent)}.tabbar-search{margin-left:auto;flex-shrink:0;display:flex;align-items:center;gap:6px;padding:6px 10px;font-family:var(--mono);font-size:11px;color:var(--text-2);border:1px solid var(--border);border-radius:4px;background:var(--bg-panel);cursor:pointer}.tabbar-search kbd{font-family:var(--mono);font-size:10px;color:var(--text-1);background:var(--bg-active);padding:1px 4px;border-radius:2px}.cockpit-body{display:grid;grid-template-columns:220px 1fr;overflow:hidden}.sidebar{background:var(--bg-side);border-right:1px solid var(--border);overflow-y:auto;padding:14px 0;display:flex;flex-direction:column;min-height:100%}.sidebar-footer{margin-top:auto;padding-top:10px;border-top:1px solid var(--border)}.sidebar-item-secondary{font-size:12px;color:var(--text-3);padding-top:6px;padding-bottom:6px}.sidebar-item-secondary .ico{opacity:0.55;font-size:12px}.sidebar-item-secondary:hover{color:var(--text-2)}.sidebar-item-secondary:hover .ico{opacity:0.85}.sidebar-item-secondary.active{color:var(--text-1);background:var(--bg-active);border-left-color:var(--accent-2)}.sidebar-item-secondary.active .ico{opacity:1}.sidebar-group-secondary{font-size:9px;padding-top:8px;opacity:0.7}.sidebar-group{font-family:var(--mono);font-size:var(--label-mono-size-md);color:var(--label-mono-color);letter-spacing:var(--label-mono-tracking);text-transform:uppercase;padding:14px 18px 6px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:8px 18px;color:var(--text-2);font-size:13px;cursor:pointer;border-left:2px solid transparent;background:none;border-top:0;border-right:0;border-bottom:0;width:100%;text-align:left;text-decoration:none;font-family:var(--sans)}.sidebar-item:hover{color:var(--text-1)}.sidebar-item.active{color:var(--text-1);background:var(--bg-active);border-left-color:var(--accent)}.sidebar-item .ico{width:14px;text-align:center;font-size:13px;opacity:0.8}.nav-decode{white-space:nowrap}.main{background:var(--bg-panel);overflow-y:auto;position:relative;display:flex;flex-direction:column;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.main{scroll-behavior:auto}}.main-inner{padding:32px 36px 56px}.breadcrumb{font-family:var(--mono);font-size:11px;color:var(--text-3);margin-bottom:14px;letter-spacing:0.02em}.breadcrumb .sep{color:var(--border);margin:0 8px}.breadcrumb .cur{color:var(--text-2)}.breadcrumb a{color:var(--accent-3);text-decoration:none;transition:color 0.15s}.breadcrumb a:hover{color:var(--accent-2)}h1.view-title{font-size:28px;font-weight:500;letter-spacing:-0.02em;color:var(--text-1);margin-bottom:8px}.view-lead{font-size:14px;color:var(--text-2);margin-bottom:24px}.view{display:none}[data-active-view="accueil"] .view-accueil{display:block}[data-active-view="services"] .view-services{display:block}[data-active-view="approche"] .view-approche{display:block}[data-active-view="projets"] .view-projets{display:block}[data-active-view="ia"] .view-ia{display:block}[data-active-view="pourquoi"] .view-pourquoi{display:block}[data-active-view="contact"] .view-contact{display:block}[data-active-view="equipe"] .view-equipe{display:block}.right{background:var(--bg-side);border-left:1px solid var(--border);padding:18px 16px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.stat{display:flex;flex-direction:column}.stat-label{font-family:var(--mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.stat-value{font-family:var(--mono);font-size:22px;color:var(--text-1)}.stat-value.accent{color:var(--accent)}.stat-value.small{font-size:13px}.stat-value.live{color:var(--ok);font-size:13px}.stat-value.live::before{content:'●';margin-right:6px}.statusbar{background:var(--bg-side);border-top:1px solid var(--border);display:flex;align-items:center;padding:0 14px;gap:18px;font-family:var(--mono);font-size:11px;color:var(--text-3)}.statusbar .spacer{flex:1}.statusbar-btn{background:none;border:0;color:var(--text-2);font-family:var(--mono);font-size:11px;cursor:pointer;padding:0}.statusbar-btn:hover{color:var(--text-1)}.statusbar .live{color:var(--ok)}.statusbar .live::before{content:'●';margin-right:4px}.v8-footer{position:fixed;bottom:28px;left:220px;right:0;z-index:30;background:var(--bg-side);border-top:1px solid var(--border);font-size:13px;color:var(--text-2);box-shadow:0 -8px 24px rgba(0,0,0,0.18)}.v8-footer-expanded{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.32s ease;overflow:hidden}.v8-footer-expanded > .v8-footer-expanded-inner{min-height:0;overflow:hidden}body[data-footer="open"] .v8-footer-expanded > .v8-footer-expanded-inner{max-height:calc(100vh - 36px - 28px - 36px - 16px);overflow-y:auto}body[data-footer="open"] .v8-footer-expanded{grid-template-rows:1fr}body[data-footer="open"] .v8-footer-expanded > .v8-footer-expanded-inner{padding:32px 36px 18px}.v8-footer-expanded[aria-hidden="false"]{}.v8-footer-top{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:28px;margin-bottom:22px;padding-bottom:20px;border-bottom:1px dashed var(--border)}.v8-footer-brand p{font-size:13px;color:var(--text-2);line-height:1.55;margin-top:10px;max-width:280px}.v8-footer-logo{display:inline-block;background:none;border:0;padding:0;font-family:var(--mono);font-size:16px;font-weight:500;letter-spacing:0.04em;color:var(--text-1);cursor:pointer;transition:color 0.15s;text-decoration:none}.v8-footer-logo:hover{color:var(--accent)}.v8-footer-col-title{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-3);margin-bottom:10px}.v8-footer-col ul{list-style:none;display:flex;flex-direction:column;gap:6px}.v8-footer-col li{font-size:13px}.v8-footer-col button,.v8-footer-col a{background:none;border:0;padding:0;font:inherit;color:var(--text-2);text-decoration:none;cursor:pointer;text-align:left;transition:color 0.15s}.v8-footer-col button:hover,.v8-footer-col a:hover{color:var(--accent)}.v8-footer-col-mono ul{font-family:var(--mono);font-size:12px}.v8-footer-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-family:var(--mono);font-size:11px;color:var(--text-3);margin-bottom:8px}.v8-footer-meta .sep{opacity:0.5}.v8-footer-bar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 18px;min-height:36px;border-top:1px solid var(--border);font-family:var(--mono);font-size:11px;color:var(--text-3)}body[data-footer="open"] .v8-footer-bar{border-top:1px solid var(--border)}.v8-footer-bar-spacer{}.v8-footer-bar-center{text-align:center;letter-spacing:0.02em}.v8-footer-bar-right{display:flex;gap:14px;align-items:center;justify-content:flex-end}.v8-footer-bar-right .legal-link{background:none;border:0;padding:0;font:inherit;color:var(--text-2);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px;transition:color 0.15s,text-decoration-color 0.15s}.v8-footer-bar-right .legal-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.v8-footer-toggle{background:none;border:0;padding:4px 10px;color:var(--text-2);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;transition:color 0.15s}.v8-footer-toggle:hover{color:var(--accent)}.v8-footer-toggle:hover .v8-footer-toggle-chevron{animation:none;opacity:1;color:var(--accent)}.v8-footer-toggle-chevron{display:inline-block;font-size:12px;line-height:1;transition:transform 0.25s ease}body:not([data-footer="open"]) .v8-footer-toggle-chevron{animation:footerPulse 1.8s ease-in-out infinite}@keyframes footerPulse{0%,100%{opacity:0.32;color:var(--text-3)}50%{opacity:1;color:var(--accent)}}body[data-footer="open"] .v8-footer-toggle-chevron{transform:rotate(180deg);opacity:1;color:var(--text-2)}@media (prefers-reduced-motion:reduce){body:not([data-footer="open"]) .v8-footer-toggle-chevron{animation:none;opacity:1;color:var(--accent)}}.tabbar-hamburger{display:none}@media (max-width:900px){.cockpit-body{grid-template-columns:1fr;position:relative}.sidebar{position:fixed;top:36px;left:0;bottom:28px;width:240px;z-index:50;transform:translateX(-100%);transition:transform 0.18s ease-out;box-shadow:4px 0 24px rgba(0,0,0,0.4)}body[data-sidebar="open"] .sidebar{transform:translateX(0)}body[data-sidebar="open"]::after{content:'';position:fixed;top:36px;left:240px;right:0;bottom:28px;background:rgba(0,0,0,0.45);z-index:40}.right{display:none}.tabbar-hamburger{display:block !important;background:none;border:0;color:var(--text-1);font-size:18px;padding:0 12px;height:36px;cursor:pointer}.main-inner{padding:24px 20px}.cards-grid-2{grid-template-columns:1fr}.cards-stack{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.engagements{grid-template-columns:1fr}.pourquoi-list{grid-template-columns:1fr}.ia-features{grid-template-columns:1fr}.ia-bullets{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-form{grid-template-columns:1fr}.contact-form .span-2{grid-column:span 1}.v8-footer{padding:0;left:0;right:0}body[data-footer="open"] .v8-footer-expanded > .v8-footer-expanded-inner{padding:22px 18px 14px}.main-inner{padding:24px 20px 56px}.v8-footer-top{grid-template-columns:1fr;gap:22px}.v8-footer-brand p{max-width:none}.v8-footer-col-nav,.v8-footer-col-stack,.v8-footer-col-studio{display:none}.v8-footer-bar{display:flex;flex-direction:column-reverse;align-items:center;padding:8px 14px;min-height:0;gap:6px}.v8-footer-bar-spacer{display:none}.v8-footer-bar-center{text-align:center;font-size:10px;white-space:normal;line-height:1.4}.v8-footer-bar-right{gap:10px;font-size:10px}.dash-cols{grid-template-columns:1fr}}@media (max-width:600px){.kpis{grid-template-columns:1fr}.tabbar-tab{padding:0 10px;font-size:11px}.tabbar-search{font-size:10px;padding:4px 8px}.statusbar{gap:10px;font-size:10px;padding:0 10px}h1.view-title{font-size:22px}}.sidebar-item:focus-visible,.dash-row:focus-visible,.statusbar-btn:focus-visible,.tabbar-search:focus-visible,.captcha-cb:focus-visible,.palette-item:focus-visible,.ia-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.psdcaptcha-badge-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.palette-input:focus{outline:none}.psdcaptcha-badge{position:fixed;right:14px;bottom:80px;z-index:80;font-family:var(--mono);pointer-events:none}.psdcaptcha-badge-link{pointer-events:auto;display:flex;align-items:center;gap:8px;padding:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px 0 0 8px;box-shadow:0 4px 16px rgba(0,0,0,0.18);color:var(--text-2);max-width:42px;overflow:hidden;opacity:0.6;transition:max-width 0.25s ease,opacity 0.2s ease}.psdcaptcha-badge-link:hover,.psdcaptcha-badge-link:focus-visible{max-width:240px;opacity:1}.psdcaptcha-badge-logo{width:32px;height:32px;flex-shrink:0;display:block}.psdcaptcha-badge-text{display:flex;flex-direction:column;white-space:nowrap;line-height:1.2;cursor:context-menu}.psdcaptcha-badge-name{font-size:12px;font-weight:600;letter-spacing:0.02em}.psdcaptcha-badge-name .ppc-psd{color:#0152a7}.psdcaptcha-badge-name .ppc-captcha{color:#0d7c1e}.psdcaptcha-badge-sub{font-size:9px;letter-spacing:0.05em;color:var(--text-3);text-transform:uppercase}@media (max-width:760px){.psdcaptcha-badge{right:8px;bottom:34px}}@media (prefers-reduced-motion:reduce){.psdcaptcha-badge-link{transition:none}}*{scrollbar-width:thin;scrollbar-color:var(--text-3) var(--bg-side)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--bg-side)}*::-webkit-scrollbar-thumb{background:var(--text-3);border-radius:5px;border:2px solid var(--bg-side);transition:background 0.15s}*::-webkit-scrollbar-thumb:hover{background:var(--text-2)}*::-webkit-scrollbar-thumb:active{background:var(--accent)}*::-webkit-scrollbar-corner{background:var(--bg-side)}.palette-results::-webkit-scrollbar,.legal-dialog-body::-webkit-scrollbar{width:8px}@media (max-width:900px){.tabbar-hamburger{min-width:44px;display:inline-flex !important;align-items:center;justify-content:center}.tabbar-tab:not(.active){display:none}.tabbar-tab.active{min-width:0;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar-brand{min-width:0}.tabbar-brand-label{white-space:nowrap}.tabbar-search kbd{display:none}.sidebar-item{min-height:44px;padding:10px 18px;font-size:14px}.sidebar-item .ico{font-size:14px}.sidebar{bottom:calc(28px + env(safe-area-inset-bottom,0px));padding-bottom:12px}body[data-sidebar="open"]::after{cursor:pointer;-webkit-tap-highlight-color:transparent}.statusbar > span:first-child,.statusbar > span.live,.statusbar > span:nth-last-child(1){display:none}.statusbar-btn{min-height:36px}.v8-footer-bar{padding-bottom:env(safe-area-inset-bottom,0px);min-height:calc(40px + env(safe-area-inset-bottom,0px))}.v8-footer-toggle{min-width:36px;min-height:36px}.legal-link{min-height:36px;padding:0 6px}.main-inner{padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}}@media (max-width:600px){.tabbar-brand-label{font-size:12px}.tabbar-tab{max-width:50vw;padding:0 8px;font-size:11px}.statusbar-btn{min-height:36px;padding:0 10px}.statusbar{gap:8px;padding:0 8px}body[data-sidebar="open"]::after{left:220px}.sidebar{width:220px}.main-inner{padding-top:20px;padding-bottom:56px;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}h1.view-title{font-size:20px;line-height:1.2}}@media (max-width:380px){.tabbar-brand-label{display:none}.tabbar-brand-dot{margin-right:0}}@media (max-width:600px){.cockpit{grid-template-rows:36px 1fr}.statusbar{display:none}.v8-footer{bottom:0}.sidebar{bottom:env(safe-area-inset-bottom,0px);padding-bottom:8px}body[data-sidebar="open"]::after{bottom:0}.main-inner{padding-bottom:calc(48px + env(safe-area-inset-bottom,0px))}}@media (max-width:900px){.v8-footer-col li{padding:4px 0}.v8-footer-col button,.v8-footer-col a{display:inline-flex;align-items:center;min-height:32px;padding:4px 0}.v8-footer-col-title{margin-bottom:6px}.v8-footer-meta{flex-wrap:wrap;gap:6px;line-height:1.45}.v8-footer-meta .sep{display:none}}@media (max-width:600px){body[data-footer="open"] .v8-footer-expanded > .v8-footer-expanded-inner{padding:16px 14px 12px;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.v8-footer-brand p{font-size:12.5px;line-height:1.45}.v8-footer-col-title{font-size:11px}.v8-footer-col li{font-size:12.5px}.v8-footer-col-mono ul{font-size:11.5px}.v8-footer-toggle{min-width:40px;min-height:40px;padding:0 8px}}a{color:var(--text-1);text-decoration:none}html{scrollbar-width:thin;scrollbar-color:var(--cyan-d) var(--bg-2)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-2);border-left:1px solid var(--line)}::-webkit-scrollbar-thumb{background:var(--cyan-d);border:2px solid var(--bg-2);border-radius:2px;transition:background 200ms}::-webkit-scrollbar-thumb:hover{background:var(--cyan)}::-webkit-scrollbar-corner{background:var(--bg-2)}.scroll-thin::-webkit-scrollbar{width:6px;height:6px}.scroll-thin::-webkit-scrollbar-track{background:transparent;border:none}.scroll-thin::-webkit-scrollbar-thumb{background:var(--line-3);border:none;border-radius:2px}.scroll-thin::-webkit-scrollbar-thumb:hover{background:var(--cyan)}.scroll-thin{scrollbar-width:thin;scrollbar-color:var(--line-3) transparent}.pp-icon{display:inline-block;width:1em;height:1em;vertical-align:-0.125em;fill:currentColor;flex-shrink:0}.pp-icon-sm{width:0.85em;height:0.85em}.pp-icon-lg{width:1.25em;height:1.25em}.pp-icon-xl{width:1.5em;height:1.5em}.pp-icon-block{display:block;width:1.5em;height:1.5em}.grecaptcha-badge{margin-bottom:70px}li{margin-left:20px !important}.equipe-doctrine li{margin-left:0px !important}.footer-souverainete{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.footer-souverainete .footer-badge{font-family:var(--mono);font-size:9.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);border:1px solid var(--border);border-radius:2px;padding:2px 7px;cursor:default;white-space:nowrap;transition:color 0.15s ease,border-color 0.15s ease}.footer-souverainete .footer-badge:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:720px){.footer-souverainete{}}/*! src:assets/css/views.css */ .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-grid-gap);margin-bottom:var(--space-section)}.kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-label{font-family:var(--mono);font-size:var(--label-mono-size-sm);letter-spacing:var(--label-mono-tracking);text-transform:uppercase;color:var(--label-mono-color)}.kpi-value{font-family:var(--mono);font-size:26px;color:var(--text-1)}.kpi-value.accent{color:var(--accent)}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--space-section)}.chip{font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--border);border-radius:3px;padding:4px 10px}.dash-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dash-col{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:14px 0}.dash-col-head{font-family:var(--mono);font-size:var(--label-mono-size-md);letter-spacing:var(--label-mono-tracking);text-transform:uppercase;color:var(--label-mono-color);padding:0 16px 8px}.dash-row{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:8px 16px;width:100%;background:none;border:0;cursor:pointer;color:var(--text-1);font-family:var(--sans);font-size:13px;text-align:left;border-top:1px solid var(--border)}.dash-row:hover{background:var(--bg-active);color:var(--accent)}.dash-row-num{font-family:var(--mono);font-size:11px;color:var(--text-3)}.dash-row-title{color:inherit}.dash-row-tag{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.04em}.cards-pivots{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-grid-gap-lg);margin-top:var(--space-section);margin-bottom:var(--space-section)}.card-pivot{display:flex;flex-direction:column;gap:12px;padding:var(--space-block-pad-lg);background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);border:1px solid var(--border);border-radius:8px;color:var(--text-1);text-decoration:none;transition:border-color 0.2s ease,transform 0.2s ease;min-height:180px}.card-pivot:hover{border-color:var(--accent);transform:translateY(-2px)}.card-pivot .pivot-icon{font-size:28px;line-height:1;color:var(--accent)}.card-pivot .pivot-title{font-family:var(--sans);font-size:20px;font-weight:600;letter-spacing:-0.01em;margin:0}.card-pivot .pivot-pitch{font-family:var(--sans);font-size:14px;color:var(--text-2);line-height:var(--reading-line-height);margin:0;flex:1}.card-pivot .pivot-arrow{font-family:var(--mono);font-size:14px;color:var(--text-3);align-self:flex-end;transition:color 0.2s ease,transform 0.2s ease}.card-pivot:hover .pivot-arrow{color:var(--accent);transform:translateX(4px)}@media (max-width:760px){.cards-pivots{grid-template-columns:1fr}}.cards-grid{display:grid;gap:var(--space-grid-gap);margin-top:var(--space-section)}.cards-grid-2{grid-template-columns:1fr 1fr}.cards-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:18px 20px}.card-service{padding:var(--space-block-pad)}.card-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.card-num{font-family:var(--mono);font-size:11px;color:var(--accent-3);letter-spacing:0.06em}.card-tag{font-family:var(--mono);font-size:9.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-3)}.card-pills{display:flex;gap:6px;flex-wrap:wrap}.card-pill{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--border);border-radius:2px;padding:3px 7px}.card-title{font-size:17px;font-weight:500;color:var(--text-1);margin-bottom:8px;letter-spacing:-0.01em}.card-body{font-size:13px;color:var(--text-2);line-height:1.55}.card-service{display:grid;grid-template-areas:"head head" "icon title" "body body";grid-template-columns:auto 1fr;column-gap:14px;row-gap:10px;align-items:center}.card-service .card-head{grid-area:head;margin-bottom:0}.card-service .service-icon{grid-area:icon;margin-bottom:0}.card-service .card-title{grid-area:title;margin-bottom:0}.card-service .card-body{grid-area:body}.service-icon{margin-bottom:14px;color:var(--accent);display:inline-flex;font-size:32px;line-height:1}.service-icon svg{width:1em;height:1em;display:block}.home-cta{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0 8px;padding:18px 22px;border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:6px;background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.home-cta-text{min-width:0}.home-cta-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px}.home-cta-line{font-size:14px;color:var(--text-1);margin:0}.home-cta-btn{flex-shrink:0;font-family:var(--mono);font-size:12px;letter-spacing:0.06em;background:var(--accent);color:var(--bg-main);padding:10px 18px;border-radius:4px;text-decoration:none;transition:opacity 0.15s}.home-cta-btn:hover{opacity:0.85}@media (max-width:720px){.home-cta{flex-direction:column;align-items:flex-start;gap:14px}.home-cta-btn{width:100%;text-align:center}}.view-illu{margin:16px 0 26px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--bg-card)}.view-illu img{display:block;width:100%;height:auto}.view-head{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--space-grid-gap-lg);align-items:center;margin-bottom:var(--space-section)}.view-head .view-head-text > .view-title{margin-top:0}.view-head .view-head-text > .view-lead{margin-bottom:0}.view-head .view-illu{margin:0;max-width:100%}@media (max-width:960px){.view-head{grid-template-columns:1fr;gap:16px}.view-head .view-illu{max-width:560px;margin:0 auto}}.card-project{overflow:hidden}.card-media{margin:-18px -20px 14px;aspect-ratio:16 / 9;overflow:hidden;background:var(--bg-main);border-bottom:1px solid var(--border)}.card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}.card-project:hover .card-media img{transform:scale(1.02)}.card-media-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,0.9),rgba(0,0,0,0.9)),repeating-linear-gradient(45deg,transparent 0 14px,rgba(255,255,255,0.05) 14px 15px);font-family:var(--mono);color:var(--text-3);user-select:none}.card-media-empty .card-media-num{font-size:28px;letter-spacing:0.05em;color:var(--text-2)}.card-media-empty .card-media-slug{font-size:11px;letter-spacing:0.18em;text-transform:uppercase;margin-top:6px;color:var(--text-1)}:root[data-theme="light"] .card-media-empty{background:linear-gradient(135deg,rgba(0,0,0,0.04),rgba(0,0,0,0.10)),repeating-linear-gradient(45deg,transparent 0 14px,rgba(0,0,0,0.03) 14px 15px)}.steps{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-grid-gap-lg);margin-bottom:var(--space-section)}.step,.engagement,.pourquoi-row{display:grid;grid-template-columns:48px 1fr;gap:var(--space-grid-gap);background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:var(--space-block-pad)}.step-num,.engagement-num,.pourquoi-num{font-family:var(--mono);font-size:18px;color:var(--accent-3)}.step-title,.engagement-title{font-size:16px;font-weight:500;color:var(--text-1);margin-bottom:4px}.step-body p,.engagement-body p,.pourquoi-body p{font-size:13px;color:var(--text-2)}.engagements{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-grid-gap-lg)}.cards-stack >:last-child:nth-child(odd),.engagements >:last-child:nth-child(odd){grid-column:1 / -1}.sub-title{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-3);margin-top:var(--space-section);margin-bottom:var(--space-heading-after)}.ia-bullets,[data-edit-list-class~="ia-bullets"] > ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-bottom:20px}.ia-bullets li,[data-edit-list-class~="ia-bullets"] > ul > li{font-size:13px;color:var(--text-2);padding-left:16px;position:relative}.ia-bullets li::before,[data-edit-list-class~="ia-bullets"] > ul > li::before{content:'·';position:absolute;left:0;color:var(--accent-3);font-weight:700}.ia-features{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}.ia-feature{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:14px 16px}.ia-feature h4{font-size:14px;font-weight:500;color:var(--text-1);margin-bottom:6px}.ia-feature p{font-size:12px;color:var(--text-2)}.ia-ctas{display:flex;gap:10px;margin-top:16px}.ia-cta{font-family:var(--mono);font-size:11px;text-decoration:none;background:var(--accent);color:var(--bg-main);padding:8px 14px;border-radius:4px;letter-spacing:0.04em}.ia-cta.secondary{background:none;color:var(--text-2);border:1px solid var(--border)}.pourquoi-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-grid-gap-lg);margin-top:var(--space-section)}.pourquoi-list >:last-child:nth-child(odd){grid-column:1 / -1}.pourquoi-row{grid-template-columns:auto 1fr;padding:var(--space-block-pad);align-items:start}.pourquoi-num{font-size:36px;line-height:1;letter-spacing:-0.02em;color:var(--accent)}.pourquoi-body h4{font-size:15px;font-weight:500;color:var(--text-1);margin-bottom:4px}.pourquoi-body p{line-height:var(--reading-line-height);max-width:var(--reading-max-width)}.contact-grid{display:grid;grid-template-columns:310px 1fr;gap:var(--space-grid-gap-lg);align-items:start;margin-top:var(--space-section)}.contact-aside{padding:var(--space-block-pad)}.contact-aside h2{font-size:18px;font-weight:500;color:var(--text-1);margin-bottom:8px;letter-spacing:-0.01em}.contact-aside > p{font-size:13px;color:var(--text-2);margin-bottom:18px;line-height:1.6}.contact-rows{list-style:none;display:flex;flex-direction:column}.contact-rows li{display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:baseline;font-family:var(--mono);font-size:12px;padding:9px 0;border-bottom:1px solid var(--border)}.contact-rows li:last-child{border-bottom:none}.contact-rows .k{color:var(--text-3);font-size:10px;letter-spacing:0.1em;text-transform:uppercase}.contact-rows a,.contact-rows li > span:last-child{color:var(--text-1);text-decoration:none}.contact-rows a:hover{color:var(--accent)}.contact-form-wrap{min-width:0;padding:var(--space-block-pad)}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px;margin-bottom:6px;width:80%;margin-left:auto;margin-right:auto;background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:10px 20px}.contact-form .span-2{grid-column:span 2}.field{position:relative;padding-top:18px;display:block;margin-bottom:var(--space-paragraph)}.field-in{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;padding:8px 0 9px;font-family:var(--sans);font-size:14.5px;color:var(--text-1);outline:none;transition:border-color 0.18s ease}.field-in::placeholder{color:transparent}textarea.field-in{resize:vertical;min-height:84px;line-height:1.55}.field-lbl{position:absolute;left:0;bottom:9px;font-family:var(--sans);font-size:14.5px;color:var(--text-3);pointer-events:none;transform-origin:left bottom;transition:transform 0.2s ease,color 0.18s ease,font-family 0.001s 0.1s;white-space:nowrap}.field-in:focus ~ .field-lbl,.field-in:not(:placeholder-shown) ~ .field-lbl,select.field-in:valid ~ .field-lbl{transform:translateY(-22px) scale(0.7);font-family:var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--text-2)}.field-in:focus ~ .field-lbl{color:var(--accent)}.field-underline{position:absolute;left:50%;right:50%;bottom:0;height:2px;background:var(--accent);transition:left 0.25s ease,right 0.25s ease;pointer-events:none;border-radius:1px}.field:focus-within .field-underline{left:0;right:0}.field-in.select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:26px;background-image:none}.field-in.select option{background:var(--bg-side);color:var(--text-1);font-family:var(--sans)}.field-arrow{position:absolute;right:4px;bottom:11px;color:var(--text-3);font-size:12px;pointer-events:none;transition:color 0.18s ease,transform 0.22s ease}.field:focus-within .field-arrow{color:var(--accent);transform:rotate(-180deg)}.field-chips{padding-top:28px}.field-chips-lbl{position:absolute;left:0;top:0;font-family:var(--mono);font-size:10.5px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-2);transition:color 0.18s ease}.field-chips:focus-within .field-chips-lbl,.field-chips.is-filled .field-chips-lbl{color:var(--accent)}.field-chips.is-invalid .field-chips-lbl{color:var(--warn)}.contact-chips{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0 10px}.contact-chip{font-family:var(--mono);font-size:11.5px;letter-spacing:0.02em;padding:6px 12px;border:1px solid var(--border);background:transparent;color:var(--text-2);border-radius:2px;cursor:pointer;transition:color 0.2s ease,border-color 0.2s ease,background 0.2s ease,box-shadow 0.2s ease,transform 0.15s ease}.contact-chip:hover:not(.is-active){color:var(--text-1);border-color:color-mix(in srgb,var(--accent) 55%,var(--border))}.contact-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-chip.is-active{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--accent) 35%,transparent),inset 0 0 6px color-mix(in srgb,var(--accent) 12%,transparent)}.field-chips.is-invalid .contact-chip{border-color:color-mix(in srgb,var(--warn) 40%,var(--border))}.field:hover .field-underline{left:40%;right:40%;background:var(--text-3)}.field:focus-within .field-underline{background:var(--accent)}.captcha{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:340px}.captcha-box{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--text-2)}.captcha-cb{width:20px;height:20px;border:1.5px solid var(--border);background:var(--bg-panel);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;color:var(--accent);transition:border-color 0.15s;padding:0}.captcha-cb.checked{border-color:var(--accent)}.captcha-cb svg{opacity:0;transition:opacity 0.15s}.captcha-cb.checked svg{opacity:1}.captcha-cb.loading::before{content:'';position:absolute;width:12px;height:12px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:v8spin 0.7s linear infinite}@keyframes v8spin{to{transform:rotate(360deg)}}.captcha-brand{text-align:right;font-family:var(--mono);font-size:8px;color:var(--text-3);line-height:1.3}.captcha-brand .brand{font-weight:600;color:var(--text-2);font-size:9px;display:block}.captcha-brand .legal{opacity:0.7}.contact-submit{width:100%;padding:14px 22px;background:var(--accent);color:var(--bg-main);border:0;border-radius:4px;font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;font-weight:500;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:opacity 0.15s,transform 0.15s,gap 0.22s ease}.contact-submit-arrow{display:inline-block;transition:transform 0.22s ease;font-size:13px}.contact-submit:hover{opacity:0.92;gap:16px}.contact-submit:hover .contact-submit-arrow{transform:translateX(2px)}.contact-submit.disabled,.contact-submit:disabled{opacity:0.32;cursor:not-allowed;pointer-events:none}.contact-submit.disabled .contact-submit-arrow,.contact-submit:disabled .contact-submit-arrow{opacity:0.55}.contact-submit.is-loading{opacity:0.6;cursor:progress}.hp-field{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;clip:rect(0 0 0 0);clip-path:inset(50%)}.hp-field input{width:1px;height:1px}.contact-privacy{font-family:var(--mono);font-size:10.5px;letter-spacing:0.06em;color:var(--text-3);margin:4px 0 0}#contactError{font-family:var(--mono);font-size:12px;color:#fca5a5;background:rgba(252,165,165,0.08);border:1px solid rgba(252,165,165,0.3);border-radius:4px;padding:10px 14px}.contact-success{padding:24px 22px;border:1px solid var(--accent);background:var(--bg-card);border-radius:6px}.contact-success[hidden]{display:none}.cs-label{font-family:var(--mono);font-size:10px;color:var(--accent-3);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px}.cs-label::before{content:'✓ '}.contact-success h3{font-size:18px;font-weight:500;color:var(--text-1);margin-bottom:6px;letter-spacing:-0.01em}.contact-success p{font-size:13px;color:var(--text-2);line-height:1.6}@media (max-width:600px){.field-in{font-size:16px}.field-lbl{font-size:14px}.field-in:focus ~ .field-lbl,.field-in:not(:placeholder-shown) ~ .field-lbl,select.field-in:valid ~ .field-lbl{transform:translateY(-24px) scale(0.7)}.field{padding-top:22px}.field-submit,button.field-in,.contact-submit{min-height:44px}}@media (max-width:900px){.contact-grid{grid-template-columns:1fr;gap:24px}.contact-rows li{grid-template-columns:1fr;gap:2px;padding:10px 0}.contact-rows .k{font-size:9px;letter-spacing:0.14em}.contact-rows li > a,.contact-rows li > span:last-child{font-size:13.5px;word-break:break-word}.contact-form{width:100%;padding:16px 16px;gap:22px 0}.contact-aside h2{font-size:16px}.contact-aside > p{font-size:12.5px;margin-bottom:14px}.contact-chip{min-height:36px;padding:8px 14px;font-size:12px}.field-chips-lbl{font-size:13px}}@media (max-width:600px){.contact-form{padding:12px 14px;gap:18px 0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.contact-rows li{padding:8px 0}.contact-chip{min-height:40px;padding:10px 14px;font-size:12.5px}.contact-aside{margin-bottom:4px}.contact-aside h2{font-size:15px}.contact-submit{width:100%;min-height:48px;font-size:14px;justify-content:center}.contact-privacy{font-size:11.5px;line-height:1.55;text-align:left}}@media (max-width:600px){.kpis,.cards-grid-2,.cards-stack,.steps,.engagements,.ia-bullets,.ia-features,.pourquoi-list,.dash-cols,.about-buildinfo{grid-template-columns:1fr !important}}.card-case-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:6px 0;font-family:var(--mono);font-size:11px;letter-spacing:0.06em;color:var(--accent-2);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.15s,opacity 0.15s;align-self:flex-start}.card-case-link:hover{border-bottom-color:var(--accent-2);opacity:0.85}.card-case-link span{transition:transform 0.15s;display:inline-block}.card-case-link:hover span{transform:translateX(3px)}textarea.field-in{background:color-mix(in srgb,var(--bg-card) 35%,transparent);border:1px solid var(--border);border-radius:4px;padding:12px 14px;transition:border-color 0.18s ease,background 0.18s ease}textarea.field-in:focus{border-color:var(--accent);background:var(--bg-card)}.field:has(textarea.field-in){padding-top:24px}.field:has(textarea.field-in) .field-lbl{left:0;bottom:auto;top:0;font-size:11px;font-family:var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--text-3)}.field:has(textarea.field-in) .field-in:focus ~ .field-lbl,.field:has(textarea.field-in) .field-in:not(:placeholder-shown) ~ .field-lbl{transform:none;color:var(--accent)}.field:has(textarea.field-in) .field-underline{display:none}.contact-chip.is-active{font-weight:500;color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent);border-color:var(--accent);padding-left:28px}.contact-chip.is-active::before{content:"\2713";position:absolute;left:10px;top:50%;transform:translateY(-50%);font-weight:700;font-size:12px;color:var(--accent)}.contact-submit{width:auto;max-width:320px;margin:12px auto 0}.contact-direct{margin-top:var(--space-section);padding:var(--space-block-pad);background:color-mix(in srgb,var(--bg-card) 22%,transparent);border:1px solid var(--border);border-left:2px solid var(--accent);border-radius:4px}.contact-direct-label{font-family:var(--mono);font-size:10px;color:var(--accent-3);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px}.contact-direct-text{font-size:13.5px;color:var(--text-1);line-height:1.55;margin:0 0 8px}.contact-direct-text a{color:var(--accent);font-family:var(--mono);font-size:14px;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent;transition:border-color 0.15s}.contact-direct-text a:hover{border-bottom-color:var(--accent)}.contact-direct-signature{font-size:12px;color:var(--text-3);margin:0;font-style:italic}.contact-direct-signature::before{content:"\2014\00a0";font-style:normal}@media (max-width:600px){.contact-submit{width:100%;max-width:none;margin:12px 0 0}.contact-direct{padding:14px 16px;margin-top:14px}.contact-direct-text{font-size:13px}}[data-active-view="equipe"] .main-inner{padding:0px 0px 56px 0px}[data-active-view="equipe"] .aeo-faq{padding-left:36px;padding-right:36px}@media (max-width:900px){[data-active-view="equipe"] .aeo-faq{padding-left:20px;padding-right:20px}}@media (max-width:600px){[data-active-view="equipe"] .aeo-faq{padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}}.view-equipe{width:100%}.equipe-grid{display:grid;grid-template-columns:clamp(280px,30%,480px) 1fr;min-height:calc(100dvh - 100px)}.equipe-aside{position:sticky;top:0;align-self:start;height:calc(100dvh - 100px);background:var(--bg-side);border-right:1px solid var(--border);overflow:hidden}.equipe-aside-figure{position:absolute;inset:0;margin:0}.equipe-aside-figure img{width:100%;height:100%;object-fit:cover;display:block}.equipe-aside-identity{position:absolute;inset:auto 0 0 0;padding:28px 24px 24px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.72) 60%);color:var(--text-1);text-shadow:0 1px 8px rgba(0,0,0,0.45)}.equipe-aside-tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px}.equipe-aside-name{font-size:28px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin:0 0 4px;color:#ffffff}.equipe-aside-role{font-size:14px;color:rgba(255,255,255,0.92);margin:0 0 4px}.equipe-aside-loc{font-family:var(--mono);font-size:11.5px;color:rgba(255,255,255,0.65);letter-spacing:0.02em;margin:0}.equipe-main{padding:32px 40px 56px;min-width:0}.equipe-main .breadcrumb{margin-bottom:18px}.equipe-lead{font-size:17px;line-height:1.7;color:var(--text-1);margin:0 0 32px;max-width:fit-content}.equipe-section{margin:0 0 36px;backdrop-filter:blur(var(--glass-blur));background:color-mix(in srgb,var(--bg-card) 20%,transparent);border:1px solid var(--border);border-radius:6px;padding:16px 20px}.equipe-section:last-child{margin-bottom:0}.equipe-h2{display:flex;align-items:baseline;gap:14px;font-size:19px;font-weight:500;color:var(--text-1);letter-spacing:-0.01em;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--border)}.equipe-h2-num{font-family:var(--mono);font-size:11px;color:var(--accent-3);letter-spacing:0.1em}.equipe-body{max-width:fit-content}.equipe-body p{font-size:14.5px;line-height:1.7;color:var(--text-2);margin:0 0 12px}.equipe-body p:last-child{margin-bottom:0}.equipe-body-links{font-family:var(--mono);font-size:12.5px;color:var(--text-3);margin-top:16px !important}.equipe-body-links a{color:var(--accent-2);text-decoration:none;border-bottom:1px solid transparent;transition:border-color 0.15s}.equipe-body-links a:hover{border-bottom-color:var(--accent-2)}.equipe-doctrine,[data-edit-list-class~="equipe-doctrine"] > ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px}.equipe-doctrine li,[data-edit-list-class~="equipe-doctrine"] > ul > li{position:relative;padding-left:22px;font-size:14px;line-height:1.6;color:var(--text-2)}.equipe-doctrine li::before,[data-edit-list-class~="equipe-doctrine"] > ul > li::before{content:"·";position:absolute;left:6px;top:0;color:var(--accent-3);font-weight:700;font-size:16px}.equipe-doctrine strong,[data-edit-list-class~="equipe-doctrine"] > ul > li strong{color:var(--text-1);font-weight:500}.equipe-direct{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top:1px solid var(--border);border-bottom:1px solid var(--border);border-left:2px solid var(--accent);margin-bottom:30px}.equipe-direct-inner{padding:28px 40px;max-width:1200px}.equipe-direct-label{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-3);margin-bottom:8px}.equipe-direct-text{font-size:14.5px;line-height:1.6;color:var(--text-1);margin:0 0 8px}.equipe-direct-text a{color:var(--accent-2);font-family:var(--mono);font-size:13.5px;text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent;transition:border-color 0.15s}.equipe-direct-text a:hover{border-bottom-color:var(--accent-2)}.equipe-direct-signature{font-size:12.5px;color:var(--text-3);margin:0;font-style:italic}@media (max-width:900px){.equipe-grid{grid-template-columns:1fr;min-height:0}.equipe-aside{position:relative;height:32vh;min-height:200px;max-height:320px;aspect-ratio:auto;width:100%;border-right:0;border-bottom:1px solid var(--border);overflow:hidden}.equipe-aside-identity{padding:18px 18px 14px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.55) 35%,rgba(0,0,0,0.82) 100%)}.equipe-aside-name{font-size:22px}.equipe-main{padding:24px 20px 40px}.equipe-lead{font-size:16px;margin-bottom:24px}.equipe-section{margin:0 0 28px}.equipe-direct-inner{padding:22px 20px}}@media (max-width:700px){.equipe-doctrine{grid-template-columns:1fr;gap:10px}}@media (max-width:600px){.equipe-aside{height:28vh;min-height:180px;max-height:260px}.equipe-aside-identity{padding:16px 16px 14px}.equipe-aside-name{font-size:22px}.equipe-aside-role{font-size:13px}.equipe-aside-loc{font-size:11px}.equipe-main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.equipe-lead{font-size:15px}.equipe-h2{font-size:17px;gap:10px}.equipe-body p{font-size:14px}.equipe-doctrine li{font-size:13.5px}.equipe-direct-inner{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}}.cta-ladder{margin-top:var(--space-section-strong);padding-top:32px;border-top:1px solid var(--border);background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}[data-active-view="contact"] .cta-ladder,[data-active-view="admin"] .cta-ladder,[data-active-view="projet"] .cta-ladder,[data-active-view="equipe"] .cta-ladder,[data-active-view="admin"] .aeo-faq,[data-active-view="projet"] .aeo-faq{display:none}.cta-ladder-head{margin:0 10px var(--space-section) 20px;max-width:var(--reading-max-width)}.cta-ladder-tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-3);margin-bottom:8px}.cta-ladder-title{font-size:22px;font-weight:500;color:var(--text-1);letter-spacing:-0.01em;margin:0 0 var(--space-heading-after)}.cta-ladder-lead{font-size:13px;color:var(--text-2);margin:0;line-height:1.55}.cta-ladder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-grid-gap-lg)}.cta-ladder-grid[data-cards="2"]{grid-template-columns:repeat(2,1fr)}.cta-ladder-grid[data-cards="1"]{grid-template-columns:1fr;max-width:520px}.cta-ladder-card{display:flex;flex-direction:column;gap:8px;padding:var(--space-block-pad-lg);background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;color:inherit;text-decoration:none;transition:transform 0.18s ease,border-color 0.18s ease,background 0.18s ease,box-shadow 0.18s ease}.cta-ladder-card:hover{transform:translateY(-2px)}.cta-ladder-step{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-3)}.cta-ladder-h3{font-size:17px;font-weight:500;color:var(--text-1);line-height:1.25;letter-spacing:-0.01em;margin:4px 0 4px}.cta-ladder-p{font-size:13px;color:var(--text-2);line-height:1.55;margin:0;flex:1}.cta-ladder-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-family:var(--mono);font-size:12px;letter-spacing:0.04em;color:var(--text-1);border-top:1px solid var(--border);padding-top:12px}.cta-ladder-arrow{display:inline-block;transition:transform 0.18s ease}.cta-ladder-card:hover .cta-ladder-arrow{transform:translateX(3px)}.cta-ladder-l1:hover{border-color:color-mix(in srgb,var(--accent-3) 60%,var(--border));background:color-mix(in srgb,var(--accent-3) 5%,var(--bg-card))}.cta-ladder-l1:hover .cta-ladder-link{color:var(--accent-3)}.cta-ladder-l2{border-color:color-mix(in srgb,var(--accent-2) 28%,var(--border))}.cta-ladder-l2:hover{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 8%,var(--bg-card))}.cta-ladder-l2 .cta-ladder-step{color:var(--accent-2)}.cta-ladder-l2:hover .cta-ladder-link{color:var(--accent-2)}.cta-ladder-l3{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg-card));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.cta-ladder-l3:hover{background:color-mix(in srgb,var(--accent) 14%,var(--bg-card));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 25%,transparent)}.cta-ladder-l3 .cta-ladder-step{color:var(--accent)}.cta-ladder-l3 .cta-ladder-link{color:var(--accent);border-top-color:color-mix(in srgb,var(--accent) 28%,var(--border));font-weight:600}@media (max-width:900px){.cta-ladder{margin:36px 0 0;padding-top:24px}.cta-ladder-grid,.cta-ladder-grid[data-cards="2"]{grid-template-columns:1fr;gap:12px}.cta-ladder-title{font-size:20px}.cta-ladder-card{padding:18px 18px}.cta-ladder-card:hover{transform:none}}@media (max-width:600px){.cta-ladder-card{padding:16px 16px;gap:6px}.cta-ladder-h3{font-size:16px}.cta-ladder-p{font-size:12.5px}}.aeo-faq{margin-top:var(--space-section-strong);padding-top:32px;border-top:1px solid var(--border)}.aeo-faq-head{margin-bottom:var(--space-section);max-width:var(--reading-max-width)}.aeo-faq-tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-3);margin-bottom:8px}.aeo-faq-title{font-size:22px;font-weight:500;color:var(--text-1);letter-spacing:-0.01em;margin:0 0 6px}.aeo-faq-lead{font-size:13px;color:var(--text-2);margin:0;line-height:1.55}.aeo-faq-list{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--bg-card) 16%,transparent)}.aeo-faq-item{background:var(--bg-panel);border-bottom:1px solid var(--border);padding:var(--space-block-pad)}.aeo-faq-item:last-child{border-bottom:none}.aeo-faq-item[open]{background:color-mix(in srgb,var(--bg-card) 40%,transparent)}.aeo-faq-question{list-style:none;cursor:pointer;display:grid;grid-template-columns:36px 1fr 24px;gap:12px;align-items:center;padding:14px 18px;font-size:14.5px;color:var(--text-1);font-weight:500;transition:color 0.15s,background 0.15s;user-select:none}.aeo-faq-question::-webkit-details-marker{display:none}.aeo-faq-question:hover{color:var(--accent-2)}.aeo-faq-item[open] > .aeo-faq-question{color:var(--accent-2);border-bottom:1px solid var(--border)}.aeo-faq-num{font-family:var(--mono);font-size:11px;color:var(--accent-3);letter-spacing:0.06em}.aeo-faq-q-text{line-height:1.4}.aeo-faq-chevron{font-family:var(--mono);font-size:18px;color:var(--text-3);text-align:center;transition:transform 0.18s ease,color 0.15s}.aeo-faq-item[open] .aeo-faq-chevron{transform:rotate(45deg);color:var(--accent-2)}.aeo-faq-answer{padding:14px 18px 18px 66px;font-size:13.5px;line-height:1.65;color:var(--text-2)}.aeo-faq-answer a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px}@media (max-width:900px){.aeo-faq{margin:36px 0 8px;padding-top:24px}.aeo-faq-title{font-size:20px}}@media (max-width:600px){.aeo-faq-question{grid-template-columns:28px 1fr 20px;gap:10px;padding:12px 14px;font-size:13.5px}.aeo-faq-num{font-size:10px}.aeo-faq-chevron{font-size:16px}.aeo-faq-answer{padding:12px 14px 16px 14px;font-size:13px}}.pourquoi-stack-section{margin-top:var(--space-section);padding-top:var(--space-section);border-top:1px dashed var(--border)}.pourquoi-stack-title{font-size:22px;font-weight:500;letter-spacing:-0.01em;color:var(--text-1);margin:0 0 4px 0;display:inline-block}.pourquoi-stack-meta{font-family:var(--mono);font-size:11px;letter-spacing:0.06em;color:var(--text-3);margin-left:12px;vertical-align:middle}.pourquoi-stack-lead{font-size:14.5px;line-height:var(--reading-line-height);color:var(--text-2);margin:16px 0 28px;max-width:var(--reading-max-width)}.pourquoi-stack-grid{margin:0;display:grid;gap:0}.stack-row{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:14px 0;border-bottom:1px dashed color-mix(in srgb,var(--border) 50%,transparent);align-items:baseline}.stack-row:first-of-type{border-top:1px dashed color-mix(in srgb,var(--border) 50%,transparent)}.stack-key{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);font-weight:500;margin:0}.stack-val{font-size:14px;line-height:1.55;color:var(--text-2);margin:0;max-width:var(--reading-max-width)}.stack-val-strong{color:var(--text-1);font-weight:500}.pourquoi-stack-cta{margin-top:28px;padding:16px 20px;background:color-mix(in srgb,var(--accent) 8%,transparent);border-left:2px solid var(--accent);border-radius:4px;font-size:14px;line-height:var(--reading-line-height);color:var(--text-1);max-width:var(--reading-max-width)}@media (max-width:720px){.stack-row{grid-template-columns:1fr;gap:6px;padding:12px 0}.pourquoi-stack-title{font-size:19px}.pourquoi-stack-meta{display:block;margin:4px 0 0 0}}/*! src:assets/css/dialogs.css */ .palette{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:14vh}.palette[hidden]{display:none}.palette-backdrop{position:absolute;inset:0;background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-overlay-blur));-webkit-backdrop-filter:blur(var(--modal-overlay-blur))}.palette-box{position:relative;width:520px;max-width:calc(100vw - 32px);background:var(--bg-side);border:1px solid var(--border);border-radius:8px;overflow:hidden;box-shadow:var(--modal-card-shadow)}.palette-input{width:100%;padding:14px 16px;font-family:var(--sans);font-size:15px;color:var(--text-1);background:var(--bg-panel);border:0;border-bottom:1px solid var(--border);outline:none}.palette-input::placeholder{color:var(--text-3)}.palette-results{max-height:320px;overflow-y:auto;padding:6px 0}.palette-group{font-family:var(--mono);font-size:var(--label-mono-size-sm);letter-spacing:var(--label-mono-tracking);text-transform:uppercase;color:var(--label-mono-color);padding:8px 16px 4px}.palette-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:8px 16px;cursor:pointer;color:var(--text-1);font-size:14px}.palette-item:hover,.palette-item.focused{background:var(--bg-active);color:var(--accent)}.palette-item-desc{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.04em}.palette-empty{padding:18px 16px;text-align:center;color:var(--text-3);font-size:13px}.palette-hint{display:flex;gap:14px;padding:8px 16px;border-top:1px solid var(--border);font-family:var(--mono);font-size:10px;color:var(--text-3)}.palette-hint kbd{background:var(--bg-panel);border:1px solid var(--border);border-radius:2px;padding:1px 5px;margin-right:4px}.legal-dialog{width:80%;max-width:calc(100vw - 48px);max-height:calc(100vh - 96px);padding:0;background:var(--bg-side);color:var(--text-1);border:1px solid var(--border);border-radius:8px;box-shadow:var(--modal-card-shadow)}.legal-dialog::backdrop{background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-overlay-blur));-webkit-backdrop-filter:blur(var(--modal-overlay-blur))}.legal-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.legal-dialog-head h2{font-size:15px;font-weight:500;letter-spacing:-0.005em}.legal-dialog-close{background:none;border:0;color:var(--text-2);font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.legal-dialog-close:hover{color:var(--accent)}.legal-dialog-body{padding:22px 26px 26px;overflow-y:auto;max-height:calc(100vh - 200px);font-size:13.5px;line-height:1.65;color:var(--text-2)}.legal-dialog-body h3{font-size:13px;font-family:var(--mono);letter-spacing:0.08em;text-transform:uppercase;color:var(--text-1);margin:16px 0 6px}.legal-section{margin-bottom:14px}.legal-section:first-child h3{margin-top:0}.legal-section p{margin:0 0 6px}.legal-dialog-body p a{color:var(--accent);text-decoration:none}.legal-dialog-body p a:hover{text-decoration:underline}.legal-dialog-body .legal-todo{font-style:italic;color:var(--text-3);font-size:12.5px}body[data-admin] .legal-section{position:relative;padding-right:34px}body[data-admin] .legal-section .admin-row-del-inline{position:absolute;top:12px;right:0}@media (max-width:900px){.palette{padding-top:8vh}.palette-box{max-width:calc(100vw - 16px)}.palette-input{font-size:16px;padding:16px}.palette-item{padding:12px 16px;min-height:44px;font-size:14px}.palette-hint{gap:10px;flex-wrap:wrap;padding:10px 14px}.legal-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 32px)}.legal-dialog-head{padding:14px 18px}.legal-dialog-close{padding:6px 10px;min-width:36px;min-height:36px}.legal-dialog-body{padding:18px 20px 22px;max-height:calc(100dvh - 110px)}}@media (max-width:600px){.palette{padding-top:0;align-items:stretch}.palette-box{max-width:100vw;width:100vw;height:100dvh;border-radius:0;border-left:0;border-right:0;border-top:0;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}.palette-results{flex:1;max-height:none}.palette-hint{font-size:11px;padding:10px 14px;justify-content:center}.palette-hint{display:none}.legal-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:0;margin:0}.legal-dialog-head{padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top,0px))}.legal-dialog-head h2{font-size:14px}.legal-dialog-body{padding:16px 18px;padding-bottom:max(20px,env(safe-area-inset-bottom,0px));font-size:14px;max-height:none;flex:1}}/*! src:assets/css/about.css */:root{--about-bg-modal:var(--bg-panel);--about-bg-card:var(--bg-card);--about-border:var(--border);--about-accent:var(--accent);--about-accent-muted:color-mix(in srgb,var(--accent) 55%,var(--text-3));--about-text-1:var(--text-1);--about-text-2:var(--text-2);--about-text-3:var(--text-3);--about-success:#10b981}.about-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(2px);z-index:1100;display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity 0.2s ease-out}.about-overlay.is-open{display:flex;opacity:1}.about-modal{background:var(--about-bg-modal);border:1px solid var(--about-border);border-radius:4px;width:580px;max-width:100%;max-height:92vh;overflow:auto;transform:scale(0.96);transition:transform 0.2s ease-out;font-family:var(--sans);color:var(--about-text-1);position:relative}.about-overlay.is-open .about-modal{transform:scale(1)}:root[data-theme="light"] .about-overlay{background:rgba(255,255,255,0.55)}.about-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--about-border);background:var(--about-bg-card)}.about-header-title{font-family:var(--mono);font-size:11px;color:var(--about-accent);letter-spacing:0.05em}.about-streaming-dot{display:none;width:6px;height:6px;background:var(--about-success);border-radius:50%;margin-left:8px;vertical-align:middle;animation:about-pulse 1s infinite}.about-modal[data-streaming="true"] .about-streaming-dot{display:inline-block}@keyframes about-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(0.7)}}.about-close{background:transparent;border:none;color:var(--about-accent-muted);font-family:var(--mono);font-size:16px;cursor:pointer;padding:2px 6px;border-radius:2px;transition:color 0.15s,background 0.15s;line-height:1}.about-close:hover{color:var(--about-accent);background:color-mix(in srgb,var(--about-accent) 8%,transparent)}.about-skip{position:absolute;top:8px;right:56px;background:transparent;border:1px solid var(--about-border);color:var(--about-accent-muted);font-family:var(--mono);font-size:10px;padding:3px 8px;cursor:pointer;border-radius:2px;letter-spacing:0.05em;opacity:0;transition:opacity 0.15s,color 0.15s,border-color 0.15s;pointer-events:none;z-index:1}.about-modal[data-streaming="true"] .about-skip{opacity:1;pointer-events:auto}.about-skip:hover{color:var(--about-accent);border-color:var(--about-accent)}.about-body{padding:22px 26px}.about-stream-block{opacity:1;transform:translateY(0);transition:opacity 0.35s ease-out,transform 0.35s ease-out}.about-modal[data-streaming="true"] .about-stream-block.is-hidden{opacity:0;transform:translateY(8px)}.about-cursor{display:inline-block;width:8px;height:1.1em;background:var(--about-accent);margin-left:2px;vertical-align:text-bottom;animation:about-blink 0.8s infinite}@keyframes about-blink{0%,49%{opacity:1}50%,100%{opacity:0}}.about-identity{margin-bottom:22px}.about-pretitle{font-family:var(--mono);font-size:11px;color:var(--about-accent-muted);letter-spacing:0.12em;text-transform:uppercase;min-height:14px}.about-title{font-size:21px;font-weight:500;margin:4px 0 6px;color:var(--about-text-1);min-height:28px}.about-subtitle{font-size:13px;color:var(--about-text-2);min-height:18px}.about-buildinfo{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--about-border);border-radius:3px;overflow:hidden;margin-bottom:22px}.about-buildinfo-cell{padding:11px 14px;background:var(--about-bg-card);font-family:var(--mono)}.about-buildinfo-label{color:var(--about-accent-muted);text-transform:uppercase;letter-spacing:0.1em;font-size:11px}.about-buildinfo-value{margin-top:4px;font-size:13px;color:var(--about-text-1);min-height:18px}.about-buildinfo-value.accent{color:var(--about-accent)}.about-buildinfo-value.success{color:var(--about-success)}.about-section{margin-bottom:20px}.about-section-label{font-family:var(--mono);font-size:11px;color:var(--about-accent-muted);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:8px;padding-bottom:5px;border-bottom:1px dashed var(--about-border)}.about-credits{display:grid;grid-template-columns:150px 1fr;row-gap:6px;column-gap:10px;font-size:13px}.about-credits-row{display:contents}.about-credits-label{color:var(--about-text-2)}.about-credits-value{color:var(--about-text-1);position:relative;min-height:1.4em}.about-credits .admin-row-del-inline,.about-tag .admin-row-del-inline{margin-left:6px}.about-tags{display:flex;flex-wrap:wrap;gap:6px}.about-tag{font-family:var(--mono);font-size:11px;padding:3px 9px;border:1px solid var(--about-border);background:transparent;color:var(--about-text-2);border-radius:2px;letter-spacing:0.02em;display:inline-flex;align-items:center;gap:4px;transition:opacity 0.2s ease-out,transform 0.45s cubic-bezier(0.2,0.7,0.2,1),color 0.55s ease,border-color 0.55s ease,background 0.55s ease,box-shadow 0.55s ease}.about-tag.is-hidden{opacity:0;transform:translateY(4px) scale(0.92)}.about-tag.is-spawning{color:var(--about-accent);border-color:var(--about-accent);background:color-mix(in srgb,var(--about-accent) 14%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--about-accent) 65%,transparent),0 0 24px color-mix(in srgb,var(--about-accent) 28%,transparent),inset 0 0 6px color-mix(in srgb,var(--about-accent) 18%,transparent);transform:translateY(0) scale(1.06)}.about-text{font-size:13px;color:var(--about-text-1);line-height:1.65;min-height:2.6em}.about-legal{font-family:var(--mono);font-size:12px;color:var(--about-text-2);min-height:1.4em}.about-legal-link{background:transparent;border:none;color:var(--about-accent);font-family:var(--mono);font-size:12px;cursor:pointer;padding:0;text-decoration:none}.about-legal-link:hover{text-decoration:underline}.about-footer{display:flex;align-items:center;justify-content:space-between;padding-top:14px;border-top:1px solid var(--about-border);margin-top:4px}.about-footer-hint{font-family:var(--mono);font-size:11px;color:var(--about-accent-muted)}.about-footer-action{background:transparent;border:1px solid var(--about-accent);color:var(--about-accent);padding:6px 18px;font-family:var(--mono);font-size:11px;cursor:pointer;border-radius:2px;letter-spacing:0.05em;transition:background 0.15s,opacity 0.2s}.about-footer-action:hover{background:color-mix(in srgb,var(--about-accent) 8%,transparent)}.about-modal[data-streaming="true"] .about-footer-action{opacity:0.3;pointer-events:none}.sidebar-item-about .ico{opacity:0.85}@media (max-width:900px){.about-overlay{padding:24px 16px}.about-modal{max-width:calc(100vw - 32px)}.about-body{padding:22px 24px}.about-head{padding:14px 18px}.about-close{min-width:36px;min-height:36px;padding:6px 10px}}@media (max-width:600px){.about-overlay{padding:16px 12px}.about-modal{max-width:100%;max-height:calc(100dvh - 32px)}.about-buildinfo{grid-template-columns:1fr}.about-body{padding:18px 18px;font-size:13.5px}.about-stack-list{gap:4px}.about-credits{grid-template-columns:1fr;row-gap:2px}.about-credits-row{display:block;margin-bottom:8px}.about-credits-label{font-size:11px;text-transform:uppercase;letter-spacing:0.08em}}@media (max-width:479px){.about-overlay{padding:0}.about-modal{width:100%;max-height:100dvh;height:100dvh;border-radius:0;border-left:none;border-right:none}.about-head{padding-top:max(14px,env(safe-area-inset-top,0px))}.about-body{padding-bottom:max(18px,env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion:reduce){.about-cursor{animation:none}.about-streaming-dot{animation:none}.about-stream-block{transition:opacity 0.1s}.about-tag{transition:opacity 0.1s}.about-tag.is-spawning{box-shadow:none;transform:none}.about-overlay,.about-modal{transition:none}}/*! src:assets/css/admin.css */ .equipe-aside-seo-edit{margin-top:10px;padding-top:8px;border-top:1px dashed rgba(255,255,255,0.18);font-family:var(--mono);font-size:10px;letter-spacing:0.04em;color:rgba(255,255,255,0.7)}.equipe-aside-seo-label{text-transform:uppercase;font-size:9px;letter-spacing:0.14em;color:var(--accent-3);margin:0 0 4px}.equipe-aside-seo-row{margin:2px 0;word-break:break-all}.equipe-aside-seo-key{display:inline-block;min-width:62px;color:rgba(255,255,255,0.5)}.admin-toggle{display:inline-flex;align-items:center;gap:6px;padding:0 2px}.admin-toggle-icon{flex-shrink:0;font-size:12px;transition:color 0.18s}.admin-toggle-label{font-family:var(--mono);font-size:11px;letter-spacing:0.04em}body[data-admin] .admin-toggle{color:var(--accent)}body[data-admin] .admin-toggle .admin-toggle-icon{color:var(--accent)}body[data-admin] .admin-toggle .admin-toggle-icon::before{content:"\f3c1"}.admin-dialog{width:380px;max-width:calc(100vw - 48px);padding:0;background:var(--bg-side);color:var(--text-1);border:1px solid var(--border);border-radius:8px;box-shadow:var(--modal-card-shadow)}.admin-dialog::backdrop{background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-overlay-blur));-webkit-backdrop-filter:blur(var(--modal-overlay-blur))}.admin-dialog-form{margin:0}.admin-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--bg-panel)}.admin-dialog-head h2{font-size:14px;font-weight:500;letter-spacing:-0.005em}.admin-dialog-close{background:none;border:0;color:var(--text-2);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;transition:color 0.15s}.admin-dialog-close:hover{color:var(--accent)}.admin-dialog-body{padding:20px 22px 22px}.admin-dialog .admin-dialog-state-in{display:none}.admin-dialog .admin-dialog-state-out{display:revert}body[data-admin] .admin-dialog .admin-dialog-state-in{display:revert}body[data-admin] .admin-dialog .admin-dialog-state-out{display:none}.admin-field{position:relative;display:block;padding-top:18px;margin-bottom:18px}.admin-field[hidden]{display:none}.admin-field input{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);padding:8px 0 9px;font-family:var(--sans);font-size:14.5px;color:var(--text-1);outline:none;transition:border-color 0.18s}.admin-field input:focus{border-color:var(--accent)}.admin-field-lbl{position:absolute;left:0;bottom:9px;font-family:var(--sans);font-size:14.5px;color:var(--text-3);pointer-events:none;transform-origin:left bottom;transition:transform 0.2s ease,color 0.18s ease}.admin-field input:focus ~ .admin-field-lbl,.admin-field input:not(:placeholder-shown) ~ .admin-field-lbl{transform:translateY(-22px) scale(0.7);font-family:var(--mono);letter-spacing:0.14em;text-transform:uppercase;color:var(--text-2)}.admin-field input:focus ~ .admin-field-lbl{color:var(--accent)}.admin-field input::placeholder{color:transparent}.admin-error{font-family:var(--mono);font-size:11px;color:var(--warn);min-height:14px;margin:-6px 0 14px}.admin-error:empty{margin:0 0 6px}.admin-submit{width:100%;padding:12px 18px;background:var(--accent);color:var(--bg-main);border:0;border-radius:4px;font-family:var(--mono);font-size:12px;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;font-weight:500;transition:opacity 0.15s}.admin-submit:hover{opacity:0.92}.admin-submit:disabled{opacity:0.5;cursor:not-allowed}.admin-current{font-size:14px;color:var(--text-2);margin-bottom:14px}.admin-current strong{color:var(--text-1);font-family:var(--mono);font-size:13px;padding:2px 6px;background:var(--bg-active);border-radius:3px}.admin-hint{font-size:12px;color:var(--text-3);line-height:1.55;padding:10px 12px;border:1px dashed var(--border);border-radius:4px;margin-bottom:14px}.admin-hint kbd{font-family:var(--mono);font-size:10px;background:var(--bg-active);border:1px solid var(--border);padding:1px 5px;border-radius:2px}.admin-logout{width:100%;padding:10px 16px;background:none;color:var(--text-2);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;cursor:pointer;transition:color 0.15s,border-color 0.15s}.admin-logout:hover{color:var(--warn);border-color:var(--warn)}.pp-edit{transition:outline-color 0.15s,background 0.15s;white-space:pre-line}body[data-admin] .pp-edit{cursor:text;outline:1px dashed transparent;outline-offset:3px;border-radius:2px}body[data-admin] .pp-edit:hover{outline-color:var(--text-3);background:rgba(103,232,249,0.04)}body[data-admin] .pp-edit.is-editing{outline:2px solid var(--accent);outline-offset:2px;background:rgba(103,232,249,0.08);caret-color:var(--accent)}.pp-edit-toolbar{display:inline-flex;gap:4px;margin-left:8px;vertical-align:middle;white-space:nowrap}.pp-edit-toolbar button{width:24px;height:24px;border:1px solid var(--border);border-radius:3px;background:var(--bg-card);color:var(--text-2);font-size:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--sans);transition:color 0.15s,border-color 0.15s,background 0.15s}.pp-edit-toolbar .pp-edit-save{color:var(--accent);border-color:var(--accent)}.pp-edit-toolbar .pp-edit-save:hover{background:var(--accent);color:var(--bg-main)}.pp-edit-toolbar .pp-edit-cancel:hover{color:var(--warn);border-color:var(--warn)}.pp-edit-toolbar .pp-edit-ai{color:#c084fc;border-color:color-mix(in srgb,#c084fc 50%,var(--border));font-size:13px}.pp-edit-toolbar .pp-edit-ai:hover:not(:disabled){background:color-mix(in srgb,#c084fc 18%,transparent);border-color:#c084fc}.pp-edit-toolbar button:disabled{opacity:0.5;cursor:wait}.pp-edit-toolbar .pp-edit-fmt{color:var(--text-2)}.pp-edit-toolbar .pp-edit-fmt:hover{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 12%,var(--bg-card))}.pp-edit-toolbar .pp-edit-fmt:active{transform:translateY(1px)}.pp-edit-toolbar .pp-edit-effect-select{height:24px;padding:0 6px;background:var(--bg-card);color:var(--text-2);border:1px solid var(--border);border-radius:3px;font-family:var(--mono);font-size:11px;cursor:pointer;max-width:160px;outline:none}.pp-edit-toolbar .pp-edit-effect-select:hover{color:var(--accent-2);border-color:var(--accent-2)}.pp-edit-toolbar .pp-edit-effect-select:focus{border-color:var(--accent);outline:1px solid var(--accent);outline-offset:-1px}.pp-edit-color-panel{position:absolute;top:calc(100% + 6px);left:0;display:flex;gap:4px;padding:6px;background:var(--bg-side);border:1px solid var(--border);border-radius:4px;box-shadow:var(--modal-card-shadow);z-index:11050}.pp-edit-color-panel[hidden]{display:none}.pp-edit-color-swatch{width:20px;height:20px;padding:0;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:3px;cursor:pointer;transition:transform 0.1s,border-color 0.1s}.pp-edit-color-swatch:hover{transform:scale(1.12);border-color:var(--text-2)}.pp-edit-color-reset{background:transparent;color:var(--text-3);font-size:11px;display:inline-flex;align-items:center;justify-content:center}.pp-edit-color-reset:hover{color:var(--warn);border-color:var(--warn)}.pp-edit-color-wrap{position:relative;display:inline-flex}.pp-edit-toolbar-sep{width:1px;height:18px;background:var(--border);margin:0 2px;align-self:center}.pp-edit-toolbar-rich{background:color-mix(in srgb,var(--bg-card) 80%,transparent);padding:2px;border-radius:4px;border:1px solid var(--border)}.pp-edit-popover{position:fixed;display:inline-flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;box-shadow:0 12px 32px rgba(0,0,0,0.55),0 2px 6px rgba(0,0,0,0.4);z-index:10900;margin-left:0;transition:opacity 0.12s ease-out,transform 0.12s ease-out;animation:pp-edit-popover-in 0.12s ease-out}@keyframes pp-edit-popover-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pp-edit-popover button{width:30px;height:30px;font-size:13px;background:transparent;border:1px solid transparent}.pp-edit-popover .pp-edit-fmt{color:var(--text-1)}.pp-edit-popover .pp-edit-fmt:hover{background:color-mix(in srgb,var(--accent-2) 18%,transparent);border-color:color-mix(in srgb,var(--accent-2) 40%,transparent);color:var(--accent-2)}.pp-edit-popover .pp-edit-toolbar-sep{height:22px;background:var(--border);margin:0 4px}.pp-edit-popover .pp-edit-save{background:var(--accent);color:var(--bg-main);border-color:var(--accent)}.pp-edit-popover .pp-edit-save:hover{filter:brightness(1.08)}.pp-edit-popover .pp-edit-cancel{color:var(--text-2);border-color:var(--border)}.pp-edit-popover .pp-edit-cancel:hover{color:var(--warn);border-color:var(--warn);background:color-mix(in srgb,var(--warn) 12%,transparent)}.pp-edit-popover .pp-edit-ai{color:#c084fc;border-color:color-mix(in srgb,#c084fc 35%,transparent)}.pp-edit-popover .pp-edit-ai:hover:not(:disabled){background:color-mix(in srgb,#c084fc 18%,transparent);border-color:#c084fc}.pp-edit-popover-arrow{position:absolute;bottom:-7px;left:50%;margin-left:-7px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid var(--border)}.pp-edit-popover-arrow::after{content:"";position:absolute;top:-8px;left:-6px;width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--bg-panel)}.pp-edit-popover-below .pp-edit-popover-arrow{bottom:auto;top:-7px;border-top:0;border-bottom:7px solid var(--border)}.pp-edit-popover-below .pp-edit-popover-arrow::after{top:2px;border-top:0;border-bottom:6px solid var(--bg-panel)}@media (max-width:600px){.pp-edit-popover{left:8px !important;right:8px;width:auto;max-width:calc(100vw - 16px);justify-content:center;flex-wrap:wrap}.pp-edit-popover-arrow{display:none}}.pp-edit strong{font-weight:600;color:var(--text-1)}.pp-edit em{font-style:italic}.pp-edit a{color:var(--accent-2);text-decoration:none;text-underline-offset:2px}.pp-link-dialog{background:var(--bg-side);border:1px solid var(--border);border-radius:6px;box-shadow:var(--modal-card-shadow);width:480px;max-width:calc(100vw - 48px);padding:0;font-family:var(--sans);color:var(--text-1)}.pp-link-dialog::backdrop{background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-overlay-blur));-webkit-backdrop-filter:blur(var(--modal-overlay-blur))}.pp-link-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);background:var(--bg-card)}.pp-link-dialog-head h2{font-size:14px;font-weight:500;margin:0;letter-spacing:-0.005em}.pp-link-dialog-close{background:none;border:0;color:var(--text-2);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}.pp-link-dialog-close:hover{color:var(--accent)}.pp-link-dialog-body{padding:18px 18px 14px;display:flex;flex-direction:column;gap:14px}.pp-link-dialog-field{display:flex;flex-direction:column;gap:4px}.pp-link-dialog-lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-3)}.pp-link-dialog-field input[type="text"]{width:100%;padding:9px 12px;font-family:var(--sans);font-size:14px;color:var(--text-1);background:var(--bg-main);border:1px solid var(--border);border-radius:3px;outline:none;transition:border-color 0.18s}.pp-link-dialog-field input[type="text"]:focus{border-color:var(--accent-2)}.pp-link-dialog-help{font-size:11px;color:var(--text-3);line-height:1.4}.pp-link-dialog-check{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:3px;background:color-mix(in srgb,var(--bg-card) 50%,transparent);cursor:pointer;font-size:13.5px;color:var(--text-1)}.pp-link-dialog-check em{font-family:var(--mono);font-size:11px;color:var(--text-3);font-style:normal}.pp-link-dialog-check input[type="checkbox"]{margin:0;width:16px;height:16px;accent-color:var(--accent)}.pp-link-dialog-error{font-size:12.5px;color:var(--warn);margin:0;padding:8px 10px;background:color-mix(in srgb,var(--warn) 12%,transparent);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--border));border-radius:3px}.pp-link-dialog-error[hidden]{display:none}.pp-link-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px;border-top:1px solid var(--border);background:var(--bg-card)}.pp-link-dialog-remove{margin-right:auto;background:transparent;color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,var(--border));font-family:var(--sans);font-size:13px;padding:8px 16px;border-radius:3px;cursor:pointer;transition:background 0.15s,color 0.15s,border-color 0.15s}.pp-link-dialog-remove:hover{background:color-mix(in srgb,var(--warn) 14%,transparent);border-color:var(--warn)}.pp-link-dialog-cancel,.pp-link-dialog-ok{font-family:var(--sans);font-size:13px;padding:8px 18px;border-radius:3px;cursor:pointer;transition:opacity 0.15s,background 0.15s}.pp-link-dialog-cancel{background:transparent;color:var(--text-2);border:1px solid var(--border)}.pp-link-dialog-cancel:hover{color:var(--text-1);border-color:var(--text-3)}.pp-link-dialog-ok{background:var(--accent);color:var(--bg-main);border:1px solid var(--accent);font-weight:500}.pp-link-dialog-ok:hover{opacity:0.88}@media (max-width:600px){.pp-link-dialog{width:100%}.pp-link-dialog-body{padding:16px}.pp-link-dialog-foot{padding:12px 16px}.pp-link-dialog-cancel,.pp-link-dialog-ok{flex:1;min-height:44px;text-align:center}}.pp-edit.is-saving{outline-color:var(--warn)}.pp-edit.save-error{outline-color:var(--warn);outline-style:solid}.pp-edit.is-ai-loading{outline-color:#c084fc;animation:pp-edit-ai-pulse 1s ease-in-out infinite}.pp-edit.is-ai-suggested{outline-color:#c084fc;background:color-mix(in srgb,#c084fc 6%,transparent)}@keyframes pp-edit-ai-pulse{0%,100%{background:rgba(192,132,252,0.08)}50%{background:rgba(192,132,252,0.22)}}@media (max-width:600px){.admin-dialog{width:calc(100vw - 32px)}.admin-dialog-head{padding:12px 16px}.admin-dialog-body{padding:16px 18px 18px}.admin-field input,.admin-field-lbl{font-size:16px}.admin-field input:focus ~ .admin-field-lbl,.admin-field input:not(:placeholder-shown) ~ .admin-field-lbl{transform:translateY(-24px) scale(0.65)}.admin-submit,.admin-logout,.admin-dialog-close{min-height:44px}}.admin-row-del,.admin-row-add{display:none}body[data-admin] .admin-row-del,body[data-admin] .admin-row-add{display:inline-flex;align-items:center;justify-content:center}.admin-row-del{position:absolute;top:8px;right:8px;width:22px;height:22px;border:1px solid var(--border);border-radius:50%;background:var(--bg-side);color:var(--text-3);font-size:14px;line-height:1;cursor:pointer;padding:0;transition:color 0.15s,border-color 0.15s,background 0.15s;z-index:2}.admin-row-del:hover{color:var(--bg-main);background:var(--warn);border-color:var(--warn)}body[data-admin] .card,body[data-admin] .step,body[data-admin] .engagement,body[data-admin] .ia-feature,body[data-admin] .pourquoi-row,body[data-admin] .projet-section{position:relative}body[data-admin] .projet-empty-admin{padding:24px;border:1px dashed var(--border);border-radius:6px;background:color-mix(in srgb,var(--bg-card) 18%,transparent);font-size:14px;color:var(--text-2);text-align:center}body[data-admin] .projet-empty-admin p{margin:0 0 12px}body[data-admin] .projet-empty-admin .admin-row-add{margin-top:0}body[data-admin] .ia-bullets li{display:flex;align-items:center;gap:8px}.admin-row-del-inline{position:static;width:20px;height:20px;font-size:12px;border-radius:3px}body[data-admin] .dash-row{grid-template-columns:28px 1fr auto auto}.admin-row-add{width:100%;margin-top:14px;padding:12px 18px;background:none;border:1px dashed var(--border);border-radius:6px;color:var(--text-3);font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:color 0.15s,border-color 0.15s,background 0.15s}.admin-row-add:hover{color:var(--accent);border-color:var(--accent);background:rgba(103,232,249,0.04)}.admin-row-add:disabled{opacity:0.4;cursor:wait;pointer-events:none}.admin-faq-list{list-style:none;padding:0;margin:0 0 20px 0;display:flex;flex-direction:column;gap:20px}.admin-faq-item{padding:18px 20px 16px;border:1px solid var(--border-1);border-left:3px solid var(--accent-3);border-radius:6px;background:color-mix(in srgb,var(--bg-card) 40%,transparent);display:flex;flex-direction:column;gap:14px;position:relative;transition:border-color 0.15s,background 0.15s}.admin-faq-item:hover{border-color:var(--border-2);background:color-mix(in srgb,var(--bg-card) 55%,transparent)}.admin-faq-item-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:6px;border-bottom:1px dashed var(--border-1)}.admin-faq-num{font-family:var(--font-mono);color:var(--accent-3);font-weight:700;font-size:13px;letter-spacing:0.08em}.admin-faq-del{position:static;margin:0}.admin-faq-field{display:flex;flex-direction:column;gap:4px}.admin-faq-label{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);font-weight:600}.admin-faq-q-text{font-size:15px;line-height:1.4;color:var(--text-1);font-weight:500}.admin-faq-a-text{font-size:14px;line-height:1.55;color:var(--text-2)}.admin-faq-field-views{padding-top:4px;border-top:1px dashed var(--border-1);margin-top:2px}.admin-faq-views{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:26px;padding:2px 0}.admin-faq-tag{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:0.04em;padding:3px 9px;border-radius:999px;background:color-mix(in srgb,var(--accent-3) 18%,transparent);color:var(--accent-3);border:1px solid color-mix(in srgb,var(--accent-3) 35%,transparent)}.admin-faq-tag-empty{background:transparent;border:1px dashed var(--border-1);color:var(--text-3);font-style:italic}.admin-faq-tag-removable{cursor:pointer;padding-right:22px;position:relative;transition:background 0.12s,border-color 0.12s}.admin-faq-tag-removable::after{content:'×';position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:14px;line-height:1;opacity:0.7}.admin-faq-tag-removable:hover{background:color-mix(in srgb,var(--warn) 22%,transparent);border-color:color-mix(in srgb,var(--warn) 45%,transparent);color:var(--warn)}.pp-edit-tags-pills{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center}.pp-edit-tags-select{margin-left:6px;font-family:var(--font-mono);font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--border-1);background:var(--bg-card);color:var(--text-2);cursor:pointer}.pp-edit-tags-select:focus{outline:2px solid var(--accent);outline-offset:1px}.pp-edit-tags-select:disabled{opacity:0.4;cursor:not-allowed}body[data-admin] .pp-edit-tags{cursor:pointer;outline:1px dashed transparent;outline-offset:4px;border-radius:3px;transition:outline-color 0.15s,background 0.15s;padding:2px 0}body[data-admin] .pp-edit-tags:hover{outline-color:var(--text-3);background:rgba(103,232,249,0.04)}body[data-admin] .pp-edit-tags.is-editing{outline:2px solid var(--accent);outline-offset:2px;background:rgba(103,232,249,0.08);display:flex;align-items:center;gap:8px}.pp-edit-tags-input{flex:1;min-width:200px;background:var(--bg-panel);border:1px solid var(--accent);padding:6px 10px;font-family:var(--sans);font-size:12px;color:var(--text-1);border-radius:3px;outline:none}.pp-edit-tags-input::placeholder{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.05em}.pp-admin-toast{position:fixed;bottom:24px;right:24px;background:var(--bg-card);color:var(--text-1);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:4px;padding:10px 16px;font-family:var(--mono);font-size:12px;letter-spacing:0.02em;z-index:10000;pointer-events:none;opacity:0;transform:translateY(8px);transition:opacity 0.2s,transform 0.2s;box-shadow:0 4px 20px rgba(0,0,0,0.3);max-width:360px}.pp-admin-toast.is-visible{opacity:1;transform:translateY(0)}.pp-admin-toast[data-type="ok"]{border-left-color:var(--accent)}.pp-admin-toast[data-type="info"]{border-left-color:var(--accent-2)}.pp-admin-toast[data-type="error"]{border-left-color:var(--warn)}body[data-admin] figure[data-illu-key].view-illu-admin-editable{cursor:pointer}body[data-admin] figure[data-illu-key].view-illu-admin-editable:not(.equipe-aside-figure){position:relative}body[data-admin] figure[data-illu-key].view-illu-admin-editable::after{content:"🖼 Changer l'illustration";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:13px;color:#fff;background:rgba(0,0,0,0.55);opacity:0;transition:opacity 0.15s ease;pointer-events:none}body[data-admin] figure[data-illu-key].view-illu-admin-editable:hover::after,body[data-admin] figure[data-illu-key].view-illu-admin-editable:focus-visible::after{opacity:1}/*! src:assets/css/cyber.css */ [data-active-view="cyber"] .view-cyber{display:block}.cyber-module{display:flex;flex-direction:column;gap:18px;margin-top:var(--space-section)}.cyber-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-side);border:1px solid var(--border);border-radius:4px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.08em;color:var(--text-3);margin-bottom:var(--space-section)}.cyber-mid{font-weight:500;color:var(--text-2)}.cyber-meta{display:inline-flex;align-items:center;gap:8px}.cyber-status{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px currentColor;color:var(--ok)}.cyber-status-warn{background:var(--warn);color:var(--warn)}.cyber-status-stale{background:#ef4444;color:#ef4444}.cyber-refresh{display:none}body[data-admin] .cyber-refresh{display:inline-flex;align-items:center;background:none;border:1px solid var(--border);color:var(--text-2);font-family:var(--mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;padding:3px 8px;border-radius:3px;margin-left:8px;cursor:pointer;transition:color 0.15s,border-color 0.15s}body[data-admin] .cyber-refresh:hover{color:var(--accent);border-color:var(--accent)}body[data-admin] .cyber-refresh.running{opacity:0.6;cursor:wait;pointer-events:none}body[data-admin] .cyber-refresh.running::after{content:'';width:8px;height:8px;margin-left:6px;border:1.5px solid var(--accent);border-top-color:transparent;border-radius:50%;display:inline-block;animation:cyber-spin 0.7s linear infinite}@keyframes cyber-spin{to{transform:rotate(360deg)}}.cyber-alert{border-left:3px solid var(--accent);background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:var(--space-block-pad-lg);border-radius:0 4px 4px 0}.cyber-alert[data-tone="tension_marquee"]{border-left-color:var(--warn)}.cyber-alert-tag{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;color:var(--accent);margin-bottom:6px}.cyber-alert[data-tone="tension_marquee"] .cyber-alert-tag{color:var(--warn)}.cyber-alert p{font-size:14px;color:var(--text-1);line-height:1.55;margin:0}.cyber-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.cyber-kpi{position:relative;background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:16px 18px;display:flex;flex-direction:column;gap:4px;overflow:hidden}.cyber-kpi-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;gap:10px}.cyber-kpi-label{font-family:var(--mono);font-size:9.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-3)}.cyber-kpi-source{font-family:var(--mono);font-size:9px;color:var(--text-3);opacity:0.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cyber-kpi-value{font-family:var(--mono);font-size:28px;color:var(--text-1);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;line-height:1.1}.cyber-kpi-unit{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--text-3);text-transform:uppercase}.cyber-kpi-delta{margin-top:6px;font-family:var(--mono);font-size:11px;letter-spacing:0.04em}.cyber-kpi-delta.up{color:var(--warn)}.cyber-kpi-delta.down{color:var(--ok)}.cyber-kpi-delta-suf{color:var(--text-3);margin-left:4px}.cyber-sparkline{width:100%;height:32px;margin-top:10px;overflow:visible}.cyber-sparkline path{fill:none;stroke:var(--accent);stroke-width:1.5}.cyber-sparkline .area{fill:var(--accent);opacity:0.10;stroke:none}.cyber-chart{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:16px 18px 12px}.cyber-chart-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;gap:10px}.cyber-chart-title{font-family:var(--mono);font-size:10.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-2)}.cyber-chart-source{font-family:var(--mono);font-size:9px;color:var(--text-3)}.cyber-curve{width:100%;height:140px;display:block;overflow:visible}.cyber-curve path{fill:none;stroke:var(--accent);stroke-width:1.6}.cyber-curve .area{fill:var(--accent);opacity:0.08;stroke:none}.cyber-curve .grid{stroke:var(--border);stroke-width:1;stroke-dasharray:2 4;opacity:0.6}.cyber-bigcounter{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:var(--space-block-pad-lg);text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.cyber-bigcounter-label{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-3)}.cyber-bigcounter-value{font-family:var(--mono);font-size:clamp(28px,5vw,44px);color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:-0.01em;line-height:1.05}.cyber-bigcounter-source{font-family:var(--mono);font-size:10px;color:var(--text-3)}.cyber-synthese,.cyber-reading,.cyber-refs,.cyber-warnings{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:var(--space-block-pad)}.cyber-block-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.16em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}.cyber-synthese p{font-size:14px;color:var(--text-1);line-height:1.7;margin:0}.cyber-reading p{font-size:13.5px;color:var(--text-2);line-height:1.7;font-style:italic;margin:0}.cyber-refs table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12px}.cyber-refs td{padding:8px 0;border-bottom:1px dashed var(--border);vertical-align:baseline}.cyber-refs tr:last-child td{border-bottom:0}.cyber-ref-label{color:var(--text-2)}.cyber-ref-value{color:var(--text-1);padding:0 16px;white-space:nowrap}.cyber-ref-source{color:var(--text-3);text-align:right;font-size:11px}.cyber-warnings{border-color:var(--warn)}.cyber-warnings .cyber-block-label{color:var(--warn)}.cyber-warnings ul{margin:0;padding-left:18px;color:var(--text-2);font-size:12.5px}.cyber-warnings li{padding:3px 0}.cyber-news-banner{background:var(--bg-side);border:1px solid var(--border);border-radius:4px;overflow:hidden;padding:9px 0;position:relative;margin-bottom:var(--space-section);-webkit-mask-image:linear-gradient(90deg,transparent 0,black 60px,black calc(100% - 60px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,black 60px,black calc(100% - 60px),transparent 100%)}.cyber-news-track{display:flex;align-items:center;width:max-content;animation:cyber-news-scroll 180s linear infinite}.cyber-news-banner:hover .cyber-news-track,.cyber-news-banner:focus-within .cyber-news-track{animation-play-state:paused}.cyber-news-item{display:inline-flex;align-items:center;gap:10px;padding:0 18px;color:var(--text-2);text-decoration:none;font-size:12.5px;font-family:var(--sans);border-right:1px dashed var(--border);transition:color 0.15s;flex-shrink:0}.cyber-news-item:hover{color:var(--accent)}.cyber-news-dot{color:var(--accent);font-size:7px;flex-shrink:0}.cyber-news-title{max-width:480px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cyber-news-source{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.04em}@keyframes cyber-news-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.cyber-news-track{animation:none;flex-wrap:wrap;padding:4px 12px}.cyber-news-banner{mask-image:none;-webkit-mask-image:none}}.cyber-news-synthese{border-left:3px solid var(--accent)}.cyber-news-synthese .cyber-block-label{color:var(--accent)}.cyber-incidents{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:var(--space-block-pad)}.cyber-incidents-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.cyber-incident{background:var(--bg-side);border:1px solid var(--border);border-radius:4px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}.cyber-incident-title{font-size:14px;font-weight:500;color:var(--text-1);line-height:1.4;letter-spacing:-0.005em}.cyber-incident-meta{display:grid;grid-template-columns:64px 1fr;gap:5px 12px;font-size:12px}.cyber-incident-meta > div{display:contents}.cyber-incident-meta dt{font-family:var(--mono);font-size:9px;letter-spacing:0.14em;color:var(--text-3);text-transform:uppercase;align-self:baseline;padding-top:2px}.cyber-incident-meta dd{color:var(--text-1);margin:0;font-size:12.5px;line-height:1.45}.cyber-incident-sources{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px;padding-top:8px;border-top:1px dashed var(--border)}.cyber-incident-sources span,.cyber-incident-sources a{font-family:var(--mono);font-size:9px;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);padding:2px 7px;border:1px solid var(--border);border-radius:2px;text-decoration:none;transition:color 0.15s,border-color 0.15s,background 0.15s}.cyber-incident-sources a:hover{color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent)}.cyber-ref-source a{color:var(--text-2);text-decoration:none;border-bottom:1px dotted var(--text-3);transition:color 0.15s,border-color 0.15s}.cyber-ref-source a:hover{color:var(--accent);border-bottom-color:var(--accent)}.cyber-row{display:flex;flex-direction:column;gap:var(--space-section-strong);margin-bottom:var(--space-section-strong)}.cyber-row > *{width:100%}.cyber-2col{display:grid;grid-template-columns:1fr 3fr;gap:var(--space-grid-gap-lg);align-items:stretch;margin-top:var(--space-section-strong);margin-bottom:var(--space-section-strong)}.cyber-2col > .cyber-2col-left,.cyber-2col > .cyber-2col-right{margin:0}.cyber-2col .cyber-kpi{height:100%;justify-content:center}.cyber-2col .cyber-chart{height:100%;display:flex;flex-direction:column}.cyber-2col .cyber-curve{flex:1;min-height:140px}@media (max-width:700px){.cyber-2col{grid-template-columns:1fr}}.cyber-trends{background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:6px;padding:var(--space-block-pad)}.cyber-trends ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px}.cyber-trends li{font-family:var(--sans);font-size:12.5px;color:var(--text-1);background:var(--bg-side);border:1px solid var(--border);border-radius:3px;padding:6px 12px;line-height:1.4}.cyber-trends li::before{content:'◆ ';color:var(--accent);font-size:9px;margin-right:4px;vertical-align:middle}@media (max-width:600px){.cyber-kpis{grid-template-columns:1fr}.cyber-ref-source{display:none}.cyber-ref-value{padding:0 0 0 12px}.cyber-incidents-grid{grid-template-columns:1fr}.cyber-news-title{max-width:280px}}@media (max-width:900px){.cyber-2col{grid-template-columns:1fr}.cyber-curve{height:110px;min-height:90px}.cyber-news-title{max-width:340px}body[data-admin] .cyber-refresh{min-height:44px;min-width:44px;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center}.cyber-head{flex-wrap:wrap;gap:6px}.cyber-kpis{grid-template-columns:1fr 1fr}}@media (max-width:600px){.cyber-curve{height:80px;min-height:64px}.cyber-kpi-value{font-size:22px}.cyber-bigcounter-value{font-size:clamp(22px,8vw,36px)}.cyber-news-track{animation-duration:300s}.cyber-news-title{max-width:200px}body[data-admin] .cyber-refresh{min-height:44px;min-width:44px;padding:10px 12px;display:inline-flex;align-items:center;justify-content:center}.cyber-head{font-size:9.5px}.cyber-refs td{padding:6px 0;font-size:11px}.cyber-ref-value{padding:0 0 0 8px}.cyber-incident-meta{font-size:11px}.cyber-incident-title{font-size:13px}.cyber-trends li{padding:5px 9px;font-size:12px}.cyber-alert{padding:12px 14px}.cyber-alert p{font-size:13px}.cyber-synthese p,.cyber-reading p{font-size:13px}.cyber-incidents{padding:12px 14px}}/*! src:assets/css/projets-filter.css */ .filter-chip{font-family:var(--mono);font-size:10px;color:var(--text-2);padding:4px 9px;border:1px solid var(--line);border-radius:2px;background:transparent;cursor:pointer;letter-spacing:0.04em;transition:all 150ms}.filter-chip:hover{color:var(--text-1);border-color:var(--line-2)}.filter-chip.is-active{color:var(--accent-2);border-color:var(--cyan-d);background:rgba(92,212,230,0.15)}/*! src:assets/css/projet.css */ [data-active-view="projet"] .main-inner{padding:0}[data-active-view="projet"] .view-projet{display:block}.view-projet{width:100%}.projet-grid{display:grid;grid-template-columns:clamp(280px,30%,480px) 1fr;min-height:calc(100dvh - 36px)}.projet-aside{position:sticky;top:0;align-self:start;height:calc(100dvh - 100px);background:var(--bg-side);border-right:1px solid var(--border);overflow:hidden}.projet-aside-figure{position:absolute;inset:0;margin:0}.projet-aside-figure img{width:100%;height:100%;object-fit:cover;display:block}.projet-aside-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(255,255,255,0.04),rgba(0,0,0,0.4)),repeating-linear-gradient(45deg,transparent 0 14px,rgba(255,255,255,0.04) 14px 15px);font-family:var(--mono);color:var(--text-3);user-select:none}.projet-aside-fallback-num{font-size:56px;letter-spacing:0.04em;color:var(--text-2)}.projet-aside-fallback-slug{font-size:13px;letter-spacing:0.18em;text-transform:uppercase;margin-top:10px;color:var(--text-1)}.projet-aside-identity{position:absolute;inset:auto 0 0 0;padding:28px 24px 24px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.78) 65%);color:var(--text-1);text-shadow:0 1px 8px rgba(0,0,0,0.5)}.projet-aside-tag{display:inline-block;font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent-2);margin-bottom:8px}.projet-aside-name{font-size:28px;font-weight:500;letter-spacing:-0.02em;line-height:1.15;margin:0 0 12px;color:#ffffff}.projet-aside-tags{display:flex;flex-wrap:wrap;gap:6px;text-shadow:none}.projet-aside-chip{display:inline-block;padding:3px 9px;font-family:var(--mono);font-size:10px;letter-spacing:0.06em;color:rgba(255,255,255,0.9);background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.18);border-radius:2px;backdrop-filter:blur(4px)}.projet-main{padding:32px 40px 56px;min-width:0}.projet-main .breadcrumb{margin-bottom:18px}.projet-lead{font-size:17px;line-height:1.7;color:var(--text-1);margin:0 0 28px;max-width:fit-content}.projet-toc{margin:0 0 36px;padding:14px 16px;background:color-mix(in srgb,var(--bg-card) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--border);border-radius:5px;position:sticky;top:0;z-index:5;transition:background 0.18s ease}.projet-toc.is-stuck{background:color-mix(in srgb,var(--bg-card) 90%,transparent)}.projet-toc-label{display:block;font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-3);margin-bottom:10px}.projet-toc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 12px}.projet-toc-list a{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:baseline;padding:6px 8px;border-radius:3px;color:var(--text-2);text-decoration:none;transition:background 0.15s,color 0.15s}.projet-toc-list a:hover{color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 8%,transparent)}.projet-toc-num{font-family:var(--mono);font-size:10px;color:var(--accent-3);letter-spacing:0.06em}.projet-toc-title{font-size:13px;line-height:1.35}.projet-article{display:flex;flex-direction:column;gap:36px}.projet-section{scroll-margin-top:160px;max-width:fit-content;backdrop-filter:blur(var(--glass-blur));background:color-mix(in srgb,var(--bg-card) 20%,transparent);border:1px solid var(--border);border-radius:6px;padding:16px 20px}.projet-section-head{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border)}.projet-section-num{font-family:var(--mono);font-size:11px;letter-spacing:0.1em;color:var(--accent-3);flex-shrink:0}.projet-section-title{font-size:20px;font-weight:500;color:var(--text-1);letter-spacing:-0.01em;margin:0}.projet-section-body{font-size:14.5px;line-height:1.7;color:var(--text-2)}.projet-section-body p{margin:0 0 14px}.projet-section-body p:last-child{margin-bottom:0}.projet-section-body h3{font-size:13px;font-weight:500;color:var(--text-1);margin:22px 0 8px;font-family:var(--mono);letter-spacing:0.04em;text-transform:uppercase}.projet-section-body h4{font-size:14px;font-weight:500;color:var(--text-1);margin:18px 0 8px}.projet-section-body strong{color:var(--text-1);font-weight:500}.projet-section-body em{color:var(--text-1);font-style:italic}.projet-section-body a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}.projet-section-body a:hover{text-decoration-thickness:2px}.md-code-inline{font-family:var(--mono);font-size:13px;padding:1px 5px;border-radius:2px;background:color-mix(in srgb,var(--bg-side) 60%,transparent);color:var(--accent-3)}.md-code{font-family:var(--mono);font-size:12.5px;line-height:1.55;padding:16px 18px;margin:12px 0;background:color-mix(in srgb,var(--bg-side) 50%,transparent);border:1px solid var(--border);border-left:2px solid var(--accent-2);border-radius:3px;overflow-x:auto;white-space:pre;color:var(--text-1)}.md-code code{font:inherit;color:inherit;background:none;padding:0}.md-list{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.md-list li{position:relative;padding-left:18px}.md-list li::before{content:'·';position:absolute;left:4px;color:var(--accent-3);font-weight:700}.md-table{width:100%;border-collapse:collapse;margin:12px 0;font-size:13.5px;border:1px solid var(--border)}.md-table th,.md-table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.md-table th{font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-3);background:color-mix(in srgb,var(--bg-side) 30%,transparent);font-weight:500}.md-table tbody tr:last-child td{border-bottom:none}.md-table tbody tr:hover{background:color-mix(in srgb,var(--accent-2) 4%,transparent)}.projet-empty{padding:24px;background:color-mix(in srgb,var(--bg-card) 30%,transparent);border:1px solid var(--border);border-radius:6px;font-size:14px;color:var(--text-2);max-width:760px}.projet-empty a{color:var(--accent-2)}.projet-cta{background:color-mix(in srgb,var(--bg-card) 28%,transparent);border-top:1px solid var(--border);border-left:2px solid var(--accent)}.projet-cta-inner{padding:28px 40px;max-width:1200px}.projet-cta-title{font-size:22px;font-weight:500;color:var(--text-1);margin:0 0 8px;letter-spacing:-0.01em}.projet-cta-lead{font-size:14px;color:var(--text-2);margin:0 0 18px;line-height:1.6;max-width:720px}.projet-cta-actions{display:flex;flex-wrap:wrap;gap:12px}.projet-cta-btn{display:inline-flex;align-items:center;padding:11px 22px;font-family:var(--sans);font-size:14px;border-radius:3px;text-decoration:none;transition:opacity 0.15s,background 0.15s,border-color 0.15s}.projet-cta-btn-primary{background:var(--accent);color:#0d1117;border:1px solid var(--accent);font-weight:500}.projet-cta-btn-primary:hover{opacity:0.85}.projet-cta-btn-secondary{background:transparent;color:var(--text-2);border:1px solid var(--border)}.projet-cta-btn-secondary:hover{color:var(--text-1);border-color:var(--text-3)}@media (max-width:900px){.projet-grid{grid-template-columns:1fr;min-height:0}.projet-aside{position:relative;height:32vh;min-height:200px;max-height:320px;aspect-ratio:auto;width:100%;border-right:0;border-bottom:1px solid var(--border);overflow:hidden}.projet-aside-identity{padding:18px 18px 14px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,0.55) 35%,rgba(0,0,0,0.82) 100%)}.projet-aside-name{font-size:22px}.projet-main{padding:24px 20px 40px}.projet-lead{font-size:16px;margin-bottom:22px}.projet-toc-list{grid-template-columns:1fr}.projet-article{gap:28px}.projet-section-title{font-size:18px}.projet-cta-inner{padding:22px 20px}.projet-cta-title{font-size:19px}}@media (max-width:600px){.projet-aside{height:28vh;min-height:180px;max-height:260px}.projet-aside-identity{padding:16px 16px 14px}.projet-aside-name{font-size:22px}.projet-main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.projet-lead{font-size:15px}.projet-section-title{font-size:17px}.projet-section-body{font-size:14px}.projet-toc{padding:12px 14px}.md-code{padding:12px 14px;font-size:12px}.md-table{font-size:12.5px}.md-table th,.md-table td{padding:6px 10px}.projet-cta-inner{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.projet-cta-title{font-size:17px}.projet-cta-actions{flex-direction:column}.projet-cta-btn{width:100%;justify-content:center;min-height:44px}}.projet-section-body .pp-edit-block{display:block}.projet-section-body .pp-edit-block > p:first-child{margin-top:0}.projet-section-body .pp-edit-block > p:last-child{margin-bottom:0}.projet-section-body .pp-edit-block > h3:first-child{margin-top:0}.projet-section-body .pp-edit-block > ul:last-child,.projet-section-body .pp-edit-block > ol:last-child{margin-bottom:0}body[data-admin] .projet-section-body .pp-edit-block{white-space:normal}.view-projets .page-stats{display:inline-flex;gap:18px;margin-bottom:40px;padding:8px 14px;border:1px solid var(--border);border-radius:2px;background:var(--bg-side);font-family:var(--mono);font-size:11px;color:var(--text-2);letter-spacing:0.04em}.view-projets .page-stats strong{color:var(--accent-2);font-weight:500}.view-projets .section-header{margin:56px 0 24px;display:flex;align-items:baseline;gap:16px}.view-projets .section-header:first-of-type{margin-top:24px}.view-projets .section-tag{font-family:var(--mono);font-size:10px;color:var(--accent-2);letter-spacing:0.12em;padding:4px 8px;border:1px solid var(--line-3);border-radius:2px;flex-shrink:0}.view-projets .section-title{font-size:20px;font-weight:500;margin:0;color:var(--text-1)}.view-projets .section-rule{flex:1;height:1px;background:linear-gradient(90deg,var(--line-2),transparent);margin-left:8px}.view-projets .section-meta{font-family:var(--mono);font-size:11px;color:var(--text-3)}.flagship-stack{display:flex;flex-direction:column;gap:24px}.flagship{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0;background:var(--bg-card);border:1px solid var(--line-2);border-radius:2px;overflow:hidden;transition:border-color 200ms}.flagship:hover{border-color:var(--line-3)}.flagship-visual{position:relative;background:var(--bg-3);min-height:380px;border-right:1px solid var(--line);overflow:hidden;isolation:isolate}.flagship-visual-bg{position:absolute;inset:0;z-index:1;background-size:cover;background-position:center;filter:saturate(0.7) contrast(1.05)}.flagship-visual::before{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(7,10,14,0.55) 0%,rgba(7,10,14,0.75) 100%),linear-gradient(135deg,rgba(11,16,22,0.4) 0%,rgba(92,212,230,0.08) 50%,rgba(11,16,22,0.4) 100%);pointer-events:none}.flagship-visual::after{content:"";position:absolute;inset:0;z-index:3;background-image:linear-gradient(rgba(92,212,230,0.06) 1px,transparent 1px),linear-gradient(90deg,rgba(92,212,230,0.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;mix-blend-mode:screen}.flagship-diagram{position:relative;z-index:4;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px 24px;font-family:var(--mono);font-size:10px}.flagship-diagram .blk{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-3);background:rgba(7,10,14,0.78);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);padding:9px 14px;border-radius:2px;color:var(--text-1);letter-spacing:0.04em;box-shadow:0 2px 12px rgba(0,0,0,0.4)}.flagship-diagram .blk.cyan{color:var(--accent-2);border-color:var(--accent-2);box-shadow:0 2px 12px rgba(0,0,0,0.4),0 0 16px rgba(92,212,230,0.25)}.flagship-diagram .blk .dot{width:5px;height:5px;border-radius:50%;background:var(--accent-2);box-shadow:0 0 6px var(--accent-2)}.flagship-diagram .arrow{color:var(--accent-2);font-size:12px;opacity:0.7;text-shadow:0 0 6px rgba(92,212,230,0.5)}.flagship-visual .visual-label{position:absolute;top:12px;left:12px;z-index:5;font-family:var(--mono);font-size:9px;letter-spacing:0.15em;color:var(--accent-2);padding:4px 8px;border:1px solid var(--cyan-d);background:rgba(7,10,14,0.85);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:2px}.flagship-content{padding:24px 28px;display:flex;flex-direction:column}.flagship-meta-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}.flagship-id{font-family:var(--mono);font-size:10px;color:var(--accent-2);letter-spacing:0.1em;padding:3px 7px;border:1px solid var(--cyan-d);border-radius:2px}.badge{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;padding:3px 7px;border-radius:2px;border:1px solid}.badge.case-study{color:var(--accent-2);border-color:var(--cyan-d);background:rgba(92,212,230,0.15)}.badge.delivered{color:var(--green);border-color:rgba(108,212,154,0.4);background:rgba(108,212,154,0.08)}.badge.concept{color:var(--amber);border-color:rgba(230,179,92,0.4);background:rgba(230,179,92,0.08)}.badge.open-source{color:var(--green);border-color:rgba(108,212,154,0.4);background:rgba(108,212,154,0.08)}.badge.internal{color:var(--text-3);border-color:var(--line-2)}.flagship-title{font-size:28px;font-weight:500;margin:0 0 6px;color:var(--text-1);letter-spacing:-0.01em}.flagship-subtitle{font-family:var(--mono);font-size:12px;color:var(--text-3);margin-bottom:16px;letter-spacing:0.02em}.flagship-pitch{color:var(--text-1);font-size:14px;line-height:1.6;margin-bottom:20px}.flagship-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.flagship-metrics .metric-label{font-family:var(--mono);font-size:9px;color:var(--text-3);letter-spacing:0.1em;margin-bottom:4px}.flagship-metrics .metric-value{font-family:var(--mono);font-size:13px;color:var(--accent-2)}.flagship-stack-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.stack-pill{font-family:var(--mono);font-size:10px;color:var(--text-2);padding:3px 7px;border:1px solid var(--line);border-radius:2px;letter-spacing:0.02em}.flagship-cta{display:inline-flex;align-items:center;gap:8px;margin-top:auto;align-self:flex-start;padding:9px 14px;font-family:var(--mono);font-size:12px;color:var(--accent-2);text-decoration:none;border:1px solid var(--cyan-d);border-radius:2px;background:rgba(92,212,230,0.15);transition:all 200ms;letter-spacing:0.02em}.flagship-cta:hover{background:rgba(92,212,230,0.22);border-color:var(--accent-2)}.flagship-cta .arrow-r{transition:transform 200ms;font-size:14px}.flagship-cta:hover .arrow-r{transform:translateX(3px)}.flagship-cta-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.flagship-cta-row .flagship-cta{margin-top:0}.flagship-cta-external{color:var(--text-2);background:transparent;border-color:var(--line-3)}.flagship-cta-external:hover{color:var(--accent-2);background:rgba(92,212,230,0.10);border-color:var(--cyan-d)}.flagship-cta-external .arrow-r{font-size:13px}.catalog{background:var(--bg-card);border:1px solid var(--line-2);border-radius:2px;overflow:hidden}.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--bg-2);flex-wrap:wrap}.catalog-id{font-family:var(--mono);font-size:11px;color:var(--accent-2);letter-spacing:0.08em}.catalog-filters{display:flex;gap:6px;flex-wrap:wrap}.catalog-body{display:grid;grid-template-columns:280px 1fr;min-height:520px}.catalog-list{border-right:1px solid var(--line);background:rgba(7,10,14,0.4);overflow-y:auto;max-height:620px}.catalog-group{border-bottom:1px solid var(--line)}.catalog-group:last-child{border-bottom:none}.catalog-group-label{font-family:var(--mono);font-size:9px;letter-spacing:0.1em;color:var(--text-3);text-transform:uppercase;padding:12px 14px 6px;display:flex;align-items:center;gap:6px}.catalog-group-label .count{color:var(--accent-2);font-size:9px}.catalog-item{display:grid;grid-template-columns:32px 1fr 12px;align-items:center;gap:8px;padding:8px 14px;background:transparent;border:none;border-left:2px solid transparent;font-family:var(--mono);font-size:11px;color:var(--text-2);text-align:left;cursor:pointer;width:100%;transition:background 150ms,border-color 150ms,color 150ms}.catalog-item:hover{background:rgba(92,212,230,0.04);color:var(--text-1)}.catalog-item.is-active{background:rgba(92,212,230,0.08);border-left-color:var(--accent-2);color:var(--accent-2)}.catalog-item .item-num{color:var(--text-3);font-size:10px;letter-spacing:0.05em}.catalog-item .item-name{letter-spacing:0.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-item .item-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.catalog-item .item-dot.delivered{background:var(--green)}.catalog-item .item-dot.concept{background:var(--amber)}.catalog-item .item-dot.open-source{background:var(--green)}.catalog-item .item-dot.internal{background:var(--text-3)}.catalog-list-mobile{display:none}.catalog-detail{padding:22px 24px;overflow-y:auto;max-height:620px}.catalog-detail .detail-header{display:flex;align-items:center;gap:10px;margin-bottom:4px;flex-wrap:wrap}.catalog-detail .detail-id{font-family:var(--mono);font-size:10px;color:var(--accent-2);letter-spacing:0.1em;padding:3px 7px;border:1px solid var(--cyan-d);border-radius:2px}.catalog-detail .detail-title{font-size:20px;font-weight:500;margin:0;color:var(--text-1)}.catalog-detail .detail-subtitle{font-family:var(--mono);font-size:11px;color:var(--text-3);margin-bottom:18px;letter-spacing:0.02em}.catalog-detail .detail-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:22px}.catalog-detail .detail-thumb{background:var(--bg-3);border:1px solid var(--line);border-radius:2px;aspect-ratio:16 / 10;overflow:hidden;margin-bottom:14px;display:flex;align-items:center;justify-content:center}.catalog-detail .detail-thumb img{width:100%;height:100%;object-fit:cover;object-position:top center}.catalog-detail .detail-thumb-label{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.08em}.catalog-detail .detail-meta-table{display:flex;flex-direction:column;gap:6px;font-family:var(--mono);font-size:11px}.catalog-detail .detail-meta-row{display:grid;grid-template-columns:90px 1fr;gap:8px;padding:4px 0;border-bottom:1px dashed var(--line)}.catalog-detail .detail-meta-key{color:var(--text-3);letter-spacing:0.06em}.catalog-detail .detail-meta-val{color:var(--text-1)}.catalog-detail .detail-body{color:var(--text-1);font-size:13px;line-height:1.6;margin:0 0 14px}.catalog-detail .detail-stack{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.catalog-detail .detail-actions{display:flex;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);flex-wrap:wrap}.detail-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;font-family:var(--mono);font-size:11px;border:1px solid var(--line-2);border-radius:2px;background:transparent;color:var(--text-2);text-decoration:none;cursor:pointer;transition:all 150ms;letter-spacing:0.02em}.detail-btn:hover{color:var(--accent-2);border-color:var(--cyan-d);background:rgba(92,212,230,0.15)}.detail-btn.primary{color:var(--accent-2);border-color:var(--cyan-d);background:rgba(92,212,230,0.15)}.detail-btn.primary:hover{background:rgba(92,212,230,0.22)}.detail-content{animation:fadeIn 200ms ease}@keyframes fadeIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.view-projets .skip-link{position:absolute;left:-9999px;top:0}.view-projets .skip-link:focus{left:8px;top:8px;z-index:100;background:var(--accent-2);color:#0a0e14;padding:6px 10px;font-family:var(--mono);font-size:11px;border-radius:2px}@media (max-width:980px){.flagship{grid-template-columns:1fr}.flagship-visual{min-height:240px;border-right:none;border-bottom:1px solid var(--line)}.catalog-body{grid-template-columns:1fr}.catalog-list{max-height:280px;border-right:none;border-bottom:1px solid var(--line)}.catalog-detail .detail-grid{grid-template-columns:1fr}}@media (max-width:640px){.flagship-title{font-size:22px}.flagship-metrics{grid-template-columns:1fr 1fr}.catalog-list{display:none}.catalog-list-mobile{display:block;width:100%;margin:0;padding:10px 14px;background:var(--bg-2);border:none;border-bottom:1px solid var(--line);color:var(--text-1);font-family:var(--mono);font-size:12px}}@media (prefers-reduced-motion:reduce){.detail-content{animation:none}*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important}}.flagship-edit-btn{margin-top:12px;align-self:flex-start;background:transparent;border:1px dashed var(--line-2);color:var(--text-3);font-family:var(--mono);font-size:10px;padding:4px 10px;cursor:pointer;letter-spacing:0.04em;border-radius:2px;transition:all 150ms;text-decoration:none}.flagship-edit-btn:hover{color:var(--accent-2);border-color:var(--cyan-d);border-style:solid}.pp-admin-dialog{border:1px solid var(--line-3);background:var(--bg-card);color:var(--text-1);border-radius:4px;padding:0;max-width:640px;width:calc(100vw - 32px);max-height:calc(100vh - 64px);box-shadow:var(--modal-card-shadow);font-family:var(--sans)}.pp-admin-dialog::backdrop{background:var(--modal-overlay-bg);backdrop-filter:blur(var(--modal-overlay-blur));-webkit-backdrop-filter:blur(var(--modal-overlay-blur))}.pp-admin-dialog-form{display:flex;flex-direction:column;max-height:calc(100vh - 64px)}.pp-admin-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line-2)}.pp-admin-dialog-head h2{margin:0;font-family:var(--mono);font-size:14px;letter-spacing:0.04em;color:var(--accent-2);text-transform:uppercase}.pp-admin-dialog-close{background:transparent;border:none;color:var(--text-3);font-size:24px;line-height:1;cursor:pointer;padding:0 6px}.pp-admin-dialog-close:hover{color:var(--text-1)}.pp-admin-dialog-body{padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.pp-admin-dialog-hint{margin:0 0 8px 0;font-size:13px;color:var(--text-3);font-style:italic}.pp-admin-dialog-error{margin:0 20px 12px;padding:8px 12px;background:rgba(248,113,113,0.08);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);border-radius:2px;color:var(--warn);font-size:13px}.pp-admin-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--line-2);background:var(--bg-2)}.pp-admin-dialog-cancel,.pp-admin-dialog-save{font-family:var(--mono);font-size:12px;letter-spacing:0.04em;padding:8px 16px;border-radius:2px;cursor:pointer;transition:all 150ms}.pp-admin-dialog-cancel{background:transparent;border:1px solid var(--line-2);color:var(--text-3)}.pp-admin-dialog-cancel:hover{border-color:var(--line-3);color:var(--text-1)}.pp-admin-dialog-save{background:var(--accent-2);border:1px solid var(--accent-2);color:var(--bg-main);font-weight:600}.pp-admin-dialog-save:hover{background:var(--cyan-d);border-color:var(--cyan-d)}.pp-admin-dialog-save:disabled{opacity:0.5;cursor:wait}.pp-admin-dialog-save.is-danger{background:var(--warn);border-color:var(--warn);color:#fff}.pp-admin-dialog-save.is-danger:hover{background:color-mix(in srgb,var(--warn) 85%,#000);border-color:color-mix(in srgb,var(--warn) 85%,#000)}.pp-admin-dialog-modal{max-width:480px}.pp-admin-dialog-message{margin:0;font-size:14px;line-height:1.55;color:var(--text-1);white-space:pre-line}.pp-admin-dialog-modal.is-error .pp-admin-dialog-head h2{color:var(--warn)}.pp-admin-field-row{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center}.pp-admin-field-row label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-3)}.pp-admin-dialog input[type="text"],.pp-admin-dialog input[type="number"],.pp-admin-dialog input[type="url"],.pp-admin-dialog input[type="email"],.pp-admin-dialog input[type="tel"],.pp-admin-dialog input[type="search"],.pp-admin-dialog select{font-family:var(--sans);font-size:13px;padding:6px 10px;background:var(--bg-active);border:1px solid var(--line-2);border-radius:2px;color:var(--text-1);min-width:0}.pp-admin-dialog input:focus,.pp-admin-dialog select:focus{outline:none;border-color:var(--cyan-d)}.pp-admin-repeater{border:1px dashed var(--line-2);border-radius:3px;padding:10px 12px 12px;margin:0}.pp-admin-repeater legend{padding:0 6px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-3)}.pp-admin-repeater-rows{display:flex;flex-direction:column;gap:6px}.pp-admin-repeater-row{display:flex;gap:6px;align-items:center}.pp-admin-repeater-row input[type="text"],.pp-admin-repeater-row input[type="number"]{flex:1 1 auto;min-width:0}.pp-admin-cb{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--text-3);white-space:nowrap;user-select:none}.pp-admin-repeater-rm{background:transparent;border:1px solid var(--line-2);color:var(--text-3);width:24px;height:24px;border-radius:2px;cursor:pointer;font-size:14px;line-height:1;flex:0 0 auto}.pp-admin-repeater-rm:hover{border-color:var(--warn);color:var(--warn)}.pp-admin-repeater-add{margin-top:8px;background:transparent;border:1px dashed var(--line-2);color:var(--text-3);font-family:var(--mono);font-size:11px;padding:4px 10px;border-radius:2px;cursor:pointer}.pp-admin-repeater-add:hover{border-color:var(--cyan-d);color:var(--accent-2)}.pp-admin-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:var(--bg-active);border:1px solid var(--line-2);border-radius:3px;padding:12px 14px;cursor:pointer;color:var(--text-1);font-family:var(--sans);font-size:14px;transition:all 150ms}.pp-admin-choice:hover{border-color:var(--cyan-d);background:color-mix(in srgb,var(--accent-2) 8%,var(--bg-active))}.pp-admin-choice-meta{font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.04em}.pp-admin-dialog textarea{font-family:var(--sans);font-size:13px;padding:8px 10px;background:var(--bg-active);border:1px solid var(--line-2);border-radius:2px;color:var(--text-1);resize:vertical;min-height:80px;width:100%}.pp-admin-dialog textarea:focus{outline:none;border-color:var(--cyan-d)}.pp-admin-field-hint{display:block;font-family:var(--mono);font-size:10px;color:var(--text-3);margin-top:4px;letter-spacing:0.02em}.flagship.is-hidden{opacity:0.55;filter:grayscale(0.3)}.flagship.is-hidden:hover{opacity:0.85}.catalog-item.is-hidden{opacity:0.5}.catalog-item.is-hidden:hover,.catalog-item.is-hidden.is-active{opacity:0.85}.catalog-item.is-hidden .item-name{text-decoration:line-through;text-decoration-color:var(--text-3)}.detail-content.is-hidden{opacity:0.75;border-left:3px solid var(--warn);padding-left:14px}.badge.hidden{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 50%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent);font-family:var(--mono);font-size:9px;letter-spacing:0.08em;padding:2px 6px;border:1px solid;border-radius:2px;text-transform:uppercase}.pp-admin-image-picker{display:flex;flex-direction:column;gap:8px}.pp-admin-image-preview{width:100%;max-width:280px;aspect-ratio:16 / 10;background:var(--bg-active);border:1px dashed var(--line-2);border-radius:3px;overflow:hidden;display:flex;align-items:center;justify-content:center}.pp-admin-image-preview img{max-width:100%;max-height:100%;object-fit:contain}.pp-admin-image-empty{font-family:var(--mono);font-size:11px;color:var(--text-3);font-style:italic}.pp-admin-image-btns{display:flex;gap:6px}.pp-admin-image-pick,.pp-admin-image-clear{font-family:var(--mono);font-size:11px;padding:6px 12px;border-radius:2px;cursor:pointer;transition:all 150ms;letter-spacing:0.04em}.pp-admin-image-pick{background:transparent;border:1px dashed var(--cyan-d);color:var(--accent-2)}.pp-admin-image-pick:hover{background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-style:solid}.pp-admin-image-clear{background:transparent;border:1px solid var(--line-2);color:var(--text-3)}.pp-admin-image-clear:hover:not(:disabled){border-color:var(--warn);color:var(--warn)}.pp-admin-image-clear:disabled{opacity:0.4;cursor:not-allowed}.catalog-create-btn{margin-left:auto;background:transparent;border:1px dashed var(--cyan-d);color:var(--accent-2);font-family:var(--mono);font-size:11px;padding:6px 12px;border-radius:2px;cursor:pointer;letter-spacing:0.04em;transition:all 150ms}.catalog-create-btn:hover{background:color-mix(in srgb,var(--accent-2) 10%,transparent);border-style:solid}/*! src:assets/css/help.css */ .help-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.7);backdrop-filter:blur(2px);z-index:1100;display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity 0.2s ease-out}.help-overlay.is-open{display:flex;opacity:1}:root[data-theme="light"] .help-overlay{background:rgba(255,255,255,0.55)}.help-modal{background:var(--about-bg-modal);border:1px solid var(--about-border);border-radius:4px;width:1100px;max-width:100%;height:88vh;max-height:88vh;overflow:hidden;display:flex;flex-direction:column;transform:scale(0.96);transition:transform 0.2s ease-out;font-family:var(--sans);color:var(--about-text-1)}.help-overlay.is-open .help-modal{transform:scale(1)}.help-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--about-border);background:var(--about-bg-card)}.help-header-title{font-family:var(--mono);font-size:11px;color:var(--about-accent);letter-spacing:0.05em;display:flex;align-items:center;gap:8px;text-transform:lowercase}.help-close{background:transparent;border:none;color:var(--about-accent-muted);font-family:var(--mono);font-size:14px;cursor:pointer;padding:4px 8px;border-radius:2px;line-height:1;transition:color 0.15s,background 0.15s}.help-close:hover{color:var(--about-accent);background:color-mix(in srgb,var(--accent-2) 10%,transparent)}.help-body{flex:1 1 auto;display:flex;flex-direction:column;padding:18px 22px 22px;gap:14px;min-height:0;overflow:hidden}.help-intro{font-family:var(--sans);flex-shrink:0}.help-intro-lead{font-size:14px;color:var(--text-1);margin:0 0 6px;font-weight:500}.help-intro-text{font-size:12.5px;color:var(--text-2);line-height:1.55;margin:0}.help-intro-text code{font-family:var(--mono);font-size:11.5px;padding:1px 5px;background:color-mix(in srgb,var(--accent-3) 14%,transparent);color:var(--accent-3);border-radius:2px}.help-admin-note{flex-shrink:0;padding:10px 14px;background:color-mix(in srgb,var(--accent-2) 5%,transparent);border:1px dashed color-mix(in srgb,var(--accent-2) 35%,var(--border));border-radius:4px;font-family:var(--sans);font-size:12px;color:var(--text-2);line-height:1.5}.help-admin-note-label{font-family:var(--mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-3);margin-bottom:6px}.help-admin-note p{margin:0 0 4px}.help-admin-note p:last-child{margin-bottom:0}.help-admin-note code{font-family:var(--mono);font-size:11px;padding:1px 5px;background:color-mix(in srgb,var(--accent-3) 14%,transparent);color:var(--accent-3);border-radius:2px}.help-admin-note-stats{font-family:var(--mono);font-size:11px;color:var(--text-3)}.help-terminal{display:flex;flex-direction:column;background:color-mix(in srgb,var(--bg-main) 92%,#000);border:1px solid var(--border);border-radius:6px;overflow:hidden;flex:1 1 auto;min-height:0;font-family:var(--mono);position:relative}.help-terminal-head{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:8px 12px;background:color-mix(in srgb,var(--bg-side) 80%,#000);border-bottom:1px solid var(--border)}.help-terminal-dots{display:inline-flex;gap:6px}.help-terminal-dots > span{width:9px;height:9px;border-radius:50%;background:var(--text-3);opacity:0.6}.help-terminal-dots > span:nth-child(1){background:#ef4444}.help-terminal-dots > span:nth-child(2){background:#eab308}.help-terminal-dots > span:nth-child(3){background:#22c55e}.help-terminal-title{font-size:10.5px;letter-spacing:0.08em;color:var(--text-3);text-transform:lowercase;flex:1 1 auto}.help-terminal-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1px solid color-mix(in srgb,var(--accent-2) 30%,var(--border));color:var(--text-3);font-family:var(--mono);font-size:10px;letter-spacing:0.04em;padding:3px 9px;border-radius:3px;cursor:pointer;text-transform:lowercase;transition:color 0.15s,border-color 0.15s,background 0.15s}.help-terminal-btn:hover{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 12%,transparent)}.help-terminal-btn[aria-expanded="true"]{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 14%,transparent)}.help-terminal-history-count{font-family:var(--mono);font-size:9px;padding:1px 5px;border-radius:8px;background:var(--accent-2);color:var(--bg-main);margin-left:2px;font-weight:600}.help-terminal-history-count[hidden]{display:none}.help-history-panel{position:absolute;top:40px;right:8px;z-index:10;width:380px;max-width:calc(100% - 16px);max-height:60vh;background:color-mix(in srgb,var(--bg-side) 96%,#000);border:1px solid color-mix(in srgb,var(--accent-2) 35%,var(--border));border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,0.45),0 0 0 1px color-mix(in srgb,var(--accent-2) 18%,transparent);display:flex;flex-direction:column;animation:help-sugg-in 120ms ease-out}.help-history-panel[hidden]{display:none}@keyframes help-sugg-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.help-history-head{flex-shrink:0;padding:7px 12px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:10.5px;letter-spacing:0.04em;color:var(--text-3);text-transform:lowercase}.help-history-list{list-style:none;margin:0;padding:4px 0;flex:1 1 auto;overflow-y:auto;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent-2) 30%,transparent) transparent}.help-history-list::-webkit-scrollbar{width:6px}.help-history-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent-2) 30%,transparent);border-radius:3px}.help-history-list[hidden]{display:none}.help-history-item{margin:0;padding:0}.help-history-btn{width:100%;display:flex;align-items:baseline;gap:10px;padding:7px 14px;font-family:var(--sans);font-size:12px;color:var(--text-2);background:transparent;border:0;border-left:2px solid transparent;cursor:pointer;text-align:left;transition:background 0.12s ease,color 0.12s ease,border-color 0.12s ease}.help-history-btn:hover{background:color-mix(in srgb,var(--accent-2) 12%,transparent);color:var(--accent-2);border-left-color:var(--accent-2)}.help-history-num{flex-shrink:0;font-family:var(--mono);font-size:10.5px;color:var(--accent-3);opacity:0.7;min-width:22px}.help-history-btn:hover .help-history-num{opacity:1}.help-history-label{flex:1 1 auto;line-height:1.45}.help-history-empty{padding:14px;font-family:var(--sans);font-size:12px;color:var(--text-3);font-style:italic;text-align:center}.help-history-empty[hidden]{display:none}.help-terminal-body{flex:1 1 auto;overflow-y:auto;padding:18px 20px;font-size:12.5px;color:var(--text-1);line-height:1.55;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent-2) 30%,transparent) transparent}.help-terminal-body::-webkit-scrollbar{width:6px}.help-terminal-body::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent-2) 30%,transparent);border-radius:3px}.help-terminal-transcript{display:flex;flex-direction:column;gap:14px}.help-term-turn{display:flex;flex-direction:column;gap:10px}.help-term-line{font-family:var(--mono);word-wrap:break-word;white-space:pre-wrap;margin:0}.help-term-ai{color:var(--text-1);font-family:var(--sans);font-size:13.5px;line-height:1.6;padding-left:14px;border-left:2px solid color-mix(in srgb,var(--accent-2) 50%,transparent);margin-left:2px}.help-term-user{color:var(--accent-2);font-family:var(--mono);font-size:12px;letter-spacing:0.02em;opacity:0.85;padding:4px 0 0}.help-term-user .help-term-sigil{color:var(--accent-2);font-weight:500;margin-right:4px}.help-term-caret{display:inline-block;color:var(--accent);font-family:var(--mono);margin-left:2px;animation:help-caret-blink 0.85s steps(2) infinite}.help-term-line.is-done .help-term-caret{display:none}@keyframes help-caret-blink{0%,50%{opacity:1}51%,100%{opacity:0}}.help-term-choices{display:flex;flex-direction:column;gap:6px;margin-left:16px;padding-top:4px;animation:help-choices-in 240ms ease-out}.help-term-choices[hidden]{display:none}@keyframes help-choices-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.help-term-choice{display:flex;align-items:center;gap:10px;padding:9px 14px;font-family:var(--mono);font-size:12.5px;color:var(--text-2);background:transparent;border:1px solid var(--border);border-radius:4px;cursor:pointer;text-align:left;width:100%;max-width:720px;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease,transform 0.1s ease}.help-term-choice:hover:not(:disabled){color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 10%,transparent)}.help-term-choice:active:not(:disabled){transform:translateX(2px)}.help-term-choice:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.help-term-choice-arrow{flex-shrink:0;color:var(--accent-2);font-size:14px;width:12px;opacity:0.6;transition:opacity 0.15s ease,transform 0.15s ease}.help-term-choice:hover:not(:disabled) .help-term-choice-arrow{opacity:1;transform:translateX(2px)}.help-term-choice-text{flex:1 1 auto;font-family:var(--sans);font-size:13px;color:inherit;line-height:1.4}.help-term-choice.is-cta{background:color-mix(in srgb,var(--accent) 14%,transparent);border-color:var(--accent);color:var(--accent);font-weight:500}.help-term-choice.is-cta:hover:not(:disabled){background:var(--accent);color:var(--bg-main)}.help-term-choice.is-cta:hover:not(:disabled) .help-term-choice-arrow{color:var(--bg-main)}.help-term-choice.is-secondary{border-style:dashed;border-color:color-mix(in srgb,var(--border) 70%,transparent);color:var(--text-3);font-size:11px;padding:6px 12px}.help-term-choice.is-secondary .help-term-choice-arrow{display:none}.help-term-choice.is-secondary:hover:not(:disabled){color:var(--text-2);border-color:var(--text-3);background:transparent}.help-term-sendform{margin-top:12px;margin-left:16px;padding:14px 16px;background:color-mix(in srgb,var(--accent) 6%,transparent);border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:6px;animation:help-choices-in 240ms ease-out}.help-sendform-intro{font-family:var(--sans);font-size:12.5px;color:var(--text-2);line-height:1.55;margin:0 0 14px}.help-sendform{display:flex;flex-direction:column;gap:10px}.help-sendform-field{display:flex;flex-direction:column;gap:4px}.help-sendform-lbl{font-family:var(--mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3)}.help-sendform-field input,.help-sendform-field textarea{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:3px;padding:8px 10px;font-family:var(--sans);font-size:13px;color:var(--text-1);outline:none;transition:border-color 0.15s,background 0.15s}.help-sendform-field textarea{font-family:var(--sans);resize:vertical;min-height:64px;line-height:1.5}.help-sendform-field input:focus,.help-sendform-field textarea:focus{border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 4%,var(--bg-card))}.help-sendform-field input::placeholder,.help-sendform-field textarea::placeholder{color:var(--text-3);font-style:italic}.help-sendform-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.help-sendform-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-top:4px}.help-sendform-cancel{background:transparent;border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);color:var(--text-3);font-family:var(--mono);font-size:11px;padding:7px 12px;border-radius:3px;cursor:pointer;transition:color 0.15s,border-color 0.15s}.help-sendform-cancel:hover{color:var(--text-2);border-color:var(--text-3)}.help-sendform-submit{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--bg-main);border:1px solid var(--accent);font-family:var(--mono);font-size:12px;letter-spacing:0.02em;padding:8px 16px;border-radius:3px;cursor:pointer;font-weight:500;transition:opacity 0.15s,background 0.15s}.help-sendform-submit:hover:not(:disabled){opacity:0.9}.help-sendform-submit:disabled{opacity:0.55;cursor:wait}.help-sendform-status{font-family:var(--mono);font-size:11px;margin:0;min-height:14px}.help-sendform-status[data-state="loading"]{color:var(--accent-2)}.help-sendform-status[data-state="error"]{color:#ef4444}.help-sendform-status[data-state="ok"]{color:#22c55e}.help-sendform-success{text-align:center;padding:12px 8px}.help-sendform-success-icon{font-size:36px;color:#22c55e;margin-bottom:8px}.help-sendform-success h3{font-family:var(--mono);font-size:14px;letter-spacing:0.05em;color:var(--accent-3);margin:0 0 8px;text-transform:lowercase}.help-sendform-success p{font-family:var(--sans);font-size:13px;color:var(--text-2);line-height:1.55;margin:0 0 16px}.help-sendform-success [data-help-after-send]{margin:0 auto}@media (max-width:720px){.help-overlay{padding:0}.help-modal{width:100%;max-height:100vh;height:100vh;border-radius:0}.help-body{padding:14px 16px}.help-terminal{min-height:0;flex:1 1 auto}.help-term-choices,.help-term-sendform{margin-left:0}}@media (max-width:600px){.help-modal{max-height:100dvh;height:100dvh}.help-head{padding-top:max(12px,env(safe-area-inset-top,0px))}.help-body{padding-bottom:max(14px,env(safe-area-inset-bottom,0px))}.help-term-choice{min-height:44px;padding:10px 14px;font-size:13.5px}.help-sendform input,.help-sendform textarea{font-size:16px}.help-sendform-submit,.help-sendform-cancel{min-height:44px}.help-close{min-width:40px;min-height:40px}.help-head h2{font-size:13px}}/*! src:assets/css/a11y.css */ .sidebar-item:focus,.tabbar-brand:focus,.tabbar-search:focus,.tabbar-hamburger:focus,.tabbar-tab:focus,.home-cta-btn:focus,.ia-cta:focus,.projet-chip:focus,.legal-link:focus,.v8-footer-toggle:focus,.v8-footer-col a:focus,.v8-footer-logo:focus,.captcha-cb:focus,.contact-submit:focus,.admin-toggle:focus,.statusbar-btn:focus,.legal-dialog-close:focus,.admin-dialog-close:focus,.admin-submit:focus,.admin-logout:focus,.admin-row-add:focus{outline:none}.sidebar-item:focus-visible,.tabbar-brand:focus-visible,.tabbar-search:focus-visible,.tabbar-hamburger:focus-visible,.tabbar-tab:focus-visible,.home-cta-btn:focus-visible,.ia-cta:focus-visible,.projet-chip:focus-visible,.legal-link:focus-visible,.v8-footer-toggle:focus-visible,.v8-footer-col a:focus-visible,.v8-footer-logo:focus-visible,.captcha-cb:focus-visible,.contact-submit:focus-visible,.admin-toggle:focus-visible,.statusbar-btn:focus-visible,.legal-dialog-close:focus-visible,.admin-dialog-close:focus-visible,.admin-submit:focus-visible,.admin-logout:focus-visible,.admin-row-add:focus-visible,button[type="button"]:focus-visible,button[type="submit"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.v8-footer-col a:focus-visible{outline-offset:1px}a[href]:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;top:0;left:0;z-index:10000;padding:8px 14px;background:var(--bg-main);color:var(--accent);border:1px solid var(--accent);border-radius:4px;font-family:var(--mono);font-size:12px;text-decoration:none;transform:translateY(-150%);transition:transform 0.15s ease-out}.skip-link:focus,.skip-link:focus-visible{transform:translateY(8px);outline:2px solid var(--accent);outline-offset:2px}/*! src:assets/css/demos.css */ .ia-demos-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px;position:relative}.ia-demo{padding-top:18px;border-top:1px dashed var(--border);min-width:0;transition:opacity 0.4s ease,filter 0.4s ease,transform 0.45s cubic-bezier(0.2,0.7,0.2,1),box-shadow 0.4s ease}.ia-demos-wrap[data-active] .ia-demo.is-active{grid-column:1 / -1;grid-row:1;z-index:2;bbackground:color-mix(in srgb,var(--bg-panel) 20%,transparent);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border-top-color:transparent;border:1px solid var(--accent);border-radius:6px;padding:22px 24px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 20%,transparent),0 16px 60px rgba(0,0,0,0.45)}.ia-demos-wrap[data-active] .ia-demo.is-collapsed{grid-column:1 / -1;grid-row:1;z-index:1;opacity:0.16;filter:blur(3px) saturate(0.5);pointer-events:none;transform:scale(0.97)}.ia-demo-head{display:flex;align-items:baseline;gap:12px;margin-bottom:6px}.ia-demo-anchor{font-family:var(--mono);font-size:10px;letter-spacing:0.12em;color:var(--text-3);text-transform:uppercase;padding:2px 6px;border:1px solid var(--border);border-radius:2px;background:var(--bg-side)}.ia-demo-title{font-size:22px;font-weight:500;margin:0;color:var(--text-1)}.ia-demo-lead{font-size:14px;color:var(--text-2);line-height:1.55;margin:0 0 18px;max-width:760px}.ia-demo[id]{scroll-margin-top:80px}.ia-demo-reduce{display:none;margin-left:auto;background:transparent;border:1px solid var(--border);color:var(--text-2);font-family:var(--mono);font-size:11px;padding:4px 10px;cursor:pointer;border-radius:3px;letter-spacing:0.04em;transition:color 0.15s,border-color 0.15s,background 0.15s}.ia-demo-reduce:hover{color:var(--accent-2);border-color:var(--accent-2);background:color-mix(in srgb,var(--accent-2) 6%,transparent)}.ia-demos-wrap[data-active] .ia-demo.is-active .ia-demo-reduce{display:inline-flex;align-items:center}@media (max-width:767px){.ia-demos-wrap{grid-template-columns:1fr}.ia-demos-wrap[data-active] .ia-demo,.ia-demos-wrap[data-active] .ia-demo.is-active,.ia-demos-wrap[data-active] .ia-demo.is-collapsed{grid-column:auto;grid-row:auto;opacity:1;filter:none;pointer-events:auto;transform:none;z-index:auto;box-shadow:none;border:none;border-top:1px dashed var(--border);padding:18px 0 0;background:transparent}.ia-demos-wrap[data-active] .ia-demo.is-active .ia-demo-reduce{display:none}}@media (prefers-reduced-motion:reduce){.ia-demo{transition:opacity 0.15s,filter 0.15s}}.cadr-module{border:1px solid var(--border);border-radius:4px;background:var(--bg-card);overflow:hidden}.cadr-module-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11px;letter-spacing:0.04em;background:var(--bg-side)}.cadr-id{color:var(--text-1);font-weight:500}.cadr-meta{color:var(--text-3);display:flex;align-items:center;gap:6px}.cadr-dot{display:inline-block;width:6px;height:6px;background:var(--accent-3);border-radius:50%}.cadr-module-body{padding:24px 24px 20px}.cadr-intro{margin-bottom:22px;padding-bottom:18px;border-bottom:1px dashed var(--border)}.cadr-intro p{color:var(--text-2);font-size:13px;line-height:1.65;max-width:640px}.cadr-note{margin-top:12px;font-family:var(--mono);font-size:10.5px;color:var(--text-3);letter-spacing:0.02em;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.cadr-sep{color:var(--border)}.cadr-chat{display:flex;flex-direction:column;gap:16px;margin-bottom:20px;min-height:48px;max-height:clamp(220px,calc(100vh - 600px),720px);overflow-y:auto;scroll-behavior:smooth;padding-right:6px}.cadr-msg{display:flex;gap:12px;animation:cadrMsgIn 0.3s ease both}@keyframes cadrMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.cadr-msg-assistant{flex-direction:row}.cadr-msg-user{flex-direction:row-reverse}.cadr-avatar{flex-shrink:0;width:30px;height:30px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;font-weight:600;border:1px solid var(--border)}.cadr-msg-assistant .cadr-avatar{background:var(--bg-active);color:var(--accent-2);border-color:var(--accent-2)}.cadr-msg-user .cadr-avatar{background:var(--bg-side);color:var(--text-2)}.cadr-bubble{max-width:78%;padding:12px 16px;border-radius:4px;font-size:13px;line-height:1.55;color:var(--text-1);border:1px solid var(--border)}.cadr-msg-assistant .cadr-bubble{background:var(--bg-panel)}.cadr-msg-user .cadr-bubble{background:var(--bg-card);border-color:var(--border)}.cadr-bubble strong{font-weight:600}.cadr-bubble em{font-style:italic;color:var(--text-2)}.cadr-bubble p{margin-bottom:0.6em}.cadr-bubble p:last-child{margin-bottom:0}.cadr-bubble ul,.cadr-bubble ol{margin:0.4em 0 0.6em 1.2em}.cadr-bubble li{margin-bottom:0.2em}.cadr-bubble code{font-family:var(--mono);font-size:0.9em;background:var(--bg-side);padding:1px 5px;border-radius:3px;color:var(--accent-3)}.cadr-bubble h2,.cadr-bubble h3{font-family:var(--sans);font-weight:600;color:var(--text-1);letter-spacing:-0.01em}.cadr-bubble h2{font-size:16px;margin:0.6em 0 0.35em}.cadr-bubble h3{font-size:13.5px;margin:0.5em 0 0.25em}.cadr-bubble hr{border:none;border-top:1px solid var(--border);margin:0.7em 0}.cadr-msg.is-brief .cadr-bubble{max-width:100%;background:var(--bg-card);border-color:var(--accent);border-left-width:3px;padding:20px 22px}.cadr-msg.is-brief .cadr-bubble h2{margin-top:0;color:var(--accent-3);font-family:var(--mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase}.cadr-msg.is-brief .cadr-bubble h2::before{content:'◆ '}.cadr-brief-actions{margin-top:16px;padding-top:12px;border-top:1px dashed var(--border);display:flex;flex-wrap:wrap;gap:8px}.cadr-brief-actions .cadr-btn{padding:7px 14px;font-size:12px;font-weight:500;border-radius:4px;border:1px solid var(--border);color:var(--text-1);background:transparent;transition:all 0.12s;cursor:pointer;display:inline-flex;align-items:center;gap:6px;font-family:var(--sans)}.cadr-brief-actions .cadr-btn-primary{background:var(--accent);color:var(--bg-main);border-color:var(--accent)}.cadr-brief-actions .cadr-btn-primary:hover{opacity:0.85}.cadr-brief-actions .cadr-btn-outline:hover{border-color:var(--accent-2);color:var(--accent-2)}.cadr-typing{display:flex;align-items:center;gap:5px;padding:6px 0}.cadr-typing span{width:5px;height:5px;background:var(--text-3);border-radius:50%;animation:cadrBlink 1.2s ease-in-out infinite both}.cadr-typing span:nth-child(2){animation-delay:0.16s}.cadr-typing span:nth-child(3){animation-delay:0.32s}@keyframes cadrBlink{0%,80%,100%{opacity:0.25;transform:scale(0.8)}40%{opacity:1;transform:scale(1)}}.cadr-compose{position:sticky;bottom:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:6px 8px 6px 12px;display:flex;align-items:flex-end;gap:8px;box-shadow:0 4px 16px -6px rgba(0,0,0,0.3);transition:border-color 0.12s}.cadr-compose:focus-within{border-color:var(--accent-2)}.cadr-compose textarea{flex:1;background:transparent;border:none;outline:none;font-family:var(--sans);font-size:13px;color:var(--text-1);resize:none;min-height:22px;max-height:140px;padding:5px 0;line-height:1.5}.cadr-compose textarea::placeholder{color:var(--text-3)}.cadr-send{padding:7px 14px;background:var(--accent);color:var(--bg-main);font-size:12px;font-weight:500;border-radius:4px;border:none;cursor:pointer;transition:opacity 0.12s;display:inline-flex;align-items:center;gap:5px;letter-spacing:0.02em;font-family:var(--mono);flex-shrink:0}.cadr-send:hover:not(:disabled){opacity:0.85}.cadr-send:disabled{opacity:0.35;cursor:not-allowed}.cadr-kbd{font-family:var(--mono);font-size:9px;opacity:0.7;padding:1px 3px;border:1px solid currentColor;border-radius:2px;margin-left:2px}.cadr-hints{margin-top:8px;font-family:var(--mono);font-size:10px;color:var(--text-3);display:flex;gap:12px;flex-wrap:wrap;letter-spacing:0.02em}.cadr-error-banner{margin:12px 0 0;padding:10px 14px;border:1px solid var(--warn);background:rgba(251,191,36,0.06);color:var(--warn);font-size:12.5px;border-radius:4px;display:flex;justify-content:space-between;gap:12px;align-items:center}.cadr-error-banner button{color:var(--warn);font-size:16px;line-height:1;padding:0 4px;cursor:pointer;background:none;border:none}.xray-state{display:none}.xray-state-active{display:block}.xray-module{border:1px solid var(--border);border-radius:4px;background:var(--bg-card);overflow:hidden;margin-bottom:16px}.xray-module-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11px;letter-spacing:0.04em;background:var(--bg-side)}.xray-id{color:var(--text-1);font-weight:500}.xray-meta{color:var(--text-3)}.xray-module-body{padding:22px 22px}.xray-module-body-flush{padding:0}.xray-module-dark{background:var(--bg-main)}.xray-module-dark .xray-module-header{background:var(--bg-side)}.xray-intro-body{max-width:720px}.xray-intro-title{font-family:var(--sans);font-weight:500;font-size:clamp(20px,3vw,28px);color:var(--text-1);margin-bottom:12px;letter-spacing:-0.02em;line-height:1.15}.xray-intro-title em{font-style:italic;color:var(--accent-2)}.xray-intro-lead{color:var(--text-2);font-size:13px;line-height:1.65;margin-bottom:22px}.xray-url-form{display:flex;gap:8px;margin-bottom:14px}.xray-url-form input{flex:1;background:var(--bg-panel);border:1px solid var(--border);border-radius:4px;padding:10px 14px;font-size:13px;color:var(--text-1);outline:none;font-family:var(--mono);transition:border-color 0.12s}.xray-url-form input::placeholder{color:var(--text-3)}.xray-url-form input:focus{border-color:var(--accent-2)}.xray-url-form button{padding:10px 20px;background:var(--accent);color:var(--bg-main);font-size:13px;font-weight:500;border-radius:4px;border:none;cursor:pointer;transition:opacity 0.12s;display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-family:var(--mono)}.xray-url-form button:hover:not(:disabled){opacity:0.85}.xray-url-form button:disabled{opacity:0.35;cursor:not-allowed}.xray-url-examples{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:11px;color:var(--text-3);letter-spacing:0.02em;align-items:center}.xray-lbl{margin-right:4px}.xray-url-examples button{padding:3px 8px;border:1px solid var(--border);background:var(--bg-side);color:var(--text-2);border-radius:3px;cursor:pointer;font-family:var(--mono);font-size:11px;transition:all 0.12s}.xray-url-examples button:hover{border-color:var(--accent-2);color:var(--accent-2)}.xray-loading-list{list-style:none;display:flex;flex-direction:column;gap:12px;font-family:var(--mono);font-size:13px;max-width:440px;margin:24px 0}.xray-loading-list li{display:flex;align-items:center;gap:12px;color:var(--text-3);transition:color 0.2s}.xray-loading-list li.done{color:var(--text-1)}.xray-loading-list li.active{color:var(--text-1);font-weight:500}.xray-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.xray-loading-list li.done .xray-icon::before{content:'✓';color:var(--ok);font-weight:600}.xray-loading-list li.active .xray-icon{position:relative}.xray-loading-list li.active .xray-icon::before{content:'';width:13px;height:13px;border:2px solid var(--border);border-top-color:var(--accent-2);border-radius:50%;animation:xraySpinStep 0.7s linear infinite;display:block}.xray-loading-list li:not(.done):not(.active) .xray-icon::before{content:'';width:9px;height:9px;border:1.5px solid var(--border);border-radius:50%}@keyframes xraySpinStep{to{transform:rotate(360deg)}}.xray-result-header{padding:14px 20px;background:var(--bg-side);border:1px solid var(--border);border-radius:4px;margin-bottom:16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.xray-result-header .xray-url-info{font-family:var(--mono);font-size:12px;color:var(--text-2)}.xray-result-header .xray-url-info .xray-label{color:var(--text-3);margin-right:5px}.xray-result-header .xray-url-info a{color:var(--accent-2);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:1px;transition:border-color 0.12s}.xray-result-header .xray-url-info a:hover{border-bottom-color:var(--accent-2)}.xray-result-header .xray-url-meta{display:block;color:var(--text-3);font-size:10.5px;margin-top:3px;letter-spacing:0.02em}.xray-btn-reset{padding:7px 14px;border:1px solid var(--border);color:var(--text-1);background:var(--bg-panel);font-size:12px;font-weight:500;border-radius:4px;cursor:pointer;transition:all 0.12s;font-family:var(--mono)}.xray-btn-reset:hover{border-color:var(--accent-2);color:var(--accent-2)}.xray-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--bg-side)}@media (max-width:900px){.xray-compare-grid{grid-template-columns:1fr}}.xray-compare-side{display:flex;flex-direction:column;min-width:0;background:var(--bg-panel)}.xray-compare-side + .xray-compare-side{border-left:1px solid var(--border)}@media (max-width:900px){.xray-compare-side + .xray-compare-side{border-left:none;border-top:1px solid var(--border)}}.xray-compare-head{padding:8px 14px;background:var(--bg-side);border-bottom:1px solid var(--border);font-family:var(--mono);font-size:10.5px;color:var(--text-3);display:flex;justify-content:space-between;align-items:center;letter-spacing:0.05em}.xray-before .xray-compare-head::before{content:'A · ';color:var(--text-3);font-weight:500}.xray-after .xray-compare-head::before{content:'B · ';color:var(--accent-3);font-weight:500}.xray-after .xray-compare-head{color:var(--accent-3)}.xray-badge{font-size:9.5px;padding:2px 6px;background:var(--bg-card);color:var(--text-2);border-radius:2px;letter-spacing:0.04em}.xray-badge-accent{background:var(--bg-active);color:var(--accent-2)}.xray-frame-wrap{position:relative;aspect-ratio:16 / 10;background:#fff;overflow:hidden}.xray-preview-img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain;background:var(--bg-side)}.xray-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;padding:20px;background:var(--bg-side);color:var(--text-3);font-family:var(--mono);font-size:11.5px;line-height:1.6}.xray-fallback[hidden]{display:none}.xray-fallback-em{color:var(--text-1);font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:-0.01em}.xray-fallback a{color:var(--accent-2);border-bottom:1px solid var(--accent-2);text-decoration:none}.xray-summary{margin-bottom:18px;color:var(--text-2);font-size:13px;line-height:1.65}.xray-stack-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.xray-stack-card{border:1px solid var(--border);border-radius:4px;padding:12px 14px;background:var(--bg-side)}.xray-stack-cat{font-family:var(--mono);font-size:9.5px;color:var(--text-3);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:5px}.xray-stack-val{font-family:var(--sans);font-weight:600;font-size:13.5px;color:var(--text-1);margin-bottom:3px}.xray-stack-conf{font-family:var(--mono);font-size:10px;letter-spacing:0.04em}.xray-stack-conf::before{content:'● '}.xray-stack-conf.high{color:var(--ok)}.xray-stack-conf.medium{color:var(--text-2)}.xray-stack-conf.low{color:var(--text-3)}.xray-issues-list{display:flex;flex-direction:column;gap:1px;background:var(--border)}.xray-issue{background:var(--bg-main);padding:16px 20px}.xray-issue-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:6px;flex-wrap:wrap}.xray-issue-title{font-family:var(--sans);font-weight:600;font-size:14px;color:var(--text-1);letter-spacing:-0.01em}.xray-issue-badges{display:flex;gap:5px;font-family:var(--mono);font-size:10px;letter-spacing:0.04em;flex-shrink:0}.xray-issue-cat{padding:2px 7px;background:var(--bg-side);color:var(--text-2);border-radius:2px}.xray-issue-sev{padding:2px 7px;border-radius:2px}.xray-issue-sev.high{background:rgba(239,68,68,0.15);color:#fca5a5}.xray-issue-sev.medium{background:rgba(251,191,36,0.15);color:#fcd34d}.xray-issue-sev.low{background:var(--bg-side);color:var(--text-3)}.xray-issue-body{font-size:12.5px;color:var(--text-2);line-height:1.6}.xray-issue-evidence{display:block;margin-top:5px;font-family:var(--mono);font-size:11px;color:var(--text-3);padding-left:10px;border-left:2px solid var(--border)}.xray-proposal{border:1px solid var(--border);border-radius:4px;padding:16px 20px;margin-bottom:10px;background:var(--bg-card)}.xray-proposal:last-child{margin-bottom:0}.xray-proposal-title{font-family:var(--sans);font-weight:600;font-size:14.5px;color:var(--text-1);margin-bottom:6px;letter-spacing:-0.01em}.xray-proposal-rationale{font-size:13px;color:var(--text-2);line-height:1.65;margin-bottom:10px}.xray-proposal-meta{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--text-3);letter-spacing:0.02em;margin-bottom:7px}.xray-stack-tag{padding:2px 7px;background:var(--bg-side);border:1px solid var(--border);border-radius:2px;color:var(--text-2)}.xray-stack-tag::before{content:'#';color:var(--accent-3);margin-right:1px}.xray-proposal-value{font-size:12.5px;color:var(--text-1);padding-top:9px;border-top:1px dashed var(--border)}.xray-proposal-value::before{content:'→ ';color:var(--accent-3);font-weight:600}.xray-effort{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.xray-effort-badge{width:80px;height:80px;border:2px solid var(--accent);border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:700;font-size:38px;color:var(--accent);letter-spacing:-0.02em;background:var(--bg-active)}.xray-effort-text{flex:1;min-width:200px;font-size:13.5px;color:var(--text-2);line-height:1.65}.xray-effort-label{display:block;font-family:var(--mono);font-size:10px;color:var(--text-3);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:5px}.xray-final-cta{padding:20px 22px;background:var(--bg-active);border:1px solid var(--accent);border-radius:4px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}.xray-cta-msg{font-size:13.5px;color:var(--text-1);max-width:480px;line-height:1.55}.xray-cta-msg strong{font-weight:600}.xray-cta-actions{display:flex;gap:8px;flex-wrap:wrap}.xray-btn{padding:9px 16px;font-size:12.5px;font-weight:500;border-radius:4px;display:inline-flex;align-items:center;gap:5px;transition:all 0.12s;font-family:var(--mono);cursor:pointer;text-decoration:none}.xray-btn-primary{background:var(--accent);color:var(--bg-main);border:none}.xray-btn-primary:hover{opacity:0.85}.xray-btn-outline{border:1px solid var(--border);color:var(--text-1);background:transparent}.xray-btn-outline:hover{border-color:var(--accent-2);color:var(--accent-2)}.xray-error-box{padding:16px 20px;border:1px solid var(--warn);background:rgba(251,191,36,0.06);color:var(--warn);font-size:13px;border-radius:4px;line-height:1.55}.xray-error-box strong{font-weight:600}.xray-overview{display:flex;gap:24px;align-items:flex-start}.xray-overview-text{flex:1;min-width:0}.xray-overview-score{width:140px;flex-shrink:0}.xray-site-summary{font-size:15px;color:var(--text-1);line-height:1.55;margin-bottom:14px}.xray-site-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:0}.xray-site-meta > div{display:flex;flex-direction:column;gap:2px}.xray-site-meta dt{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-3)}.xray-site-meta dd{font-size:13px;color:var(--text-1);margin:0}.xray-global-gauge{width:140px;height:140px;display:block}.xray-gauge-track{fill:none;stroke:var(--border);stroke-width:8}.xray-gauge-fill{fill:none;stroke-width:8;stroke-linecap:round;transform:rotate(-90deg);transform-origin:60px 60px;stroke-dasharray:314.16;stroke-dashoffset:314.16;transition:stroke-dashoffset 1200ms ease-out}.xray-gauge-fill.score-red{stroke:var(--warn)}.xray-gauge-fill.score-amber{stroke:#f59e0b}.xray-gauge-fill.score-green{stroke:var(--ok)}.xray-gauge-num{font-family:var(--mono);font-size:30px;fill:var(--text-1);text-anchor:middle;dominant-baseline:middle}.xray-gauge-lbl{font-family:var(--mono);font-size:7.5px;fill:var(--text-3);text-anchor:middle;letter-spacing:0.12em}.xray-frame-wrap-compact{aspect-ratio:unset;min-height:200px}.xray-bars{display:flex;flex-direction:column;gap:12px}.xray-bar-row{display:grid;grid-template-columns:120px 1fr 40px;gap:12px;align-items:center}.xray-bar-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-2)}.xray-bar-track{background:var(--bg-side);height:10px;border-radius:5px;overflow:hidden}.xray-bar-fill{height:100%;border-radius:5px;width:0;transition:width 800ms cubic-bezier(.4,0,.2,1)}.xray-bar-fill[data-color="red"]{background:var(--warn)}.xray-bar-fill[data-color="amber"]{background:#f59e0b}.xray-bar-fill[data-color="green"]{background:var(--ok)}.xray-bar-value{font-family:var(--mono);font-size:14px;color:var(--text-1);text-align:right}.xray-pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width:700px){.xray-pros-cons{grid-template-columns:1fr}}.xray-pros,.xray-cons{background:var(--bg-card);border:1px solid var(--border);border-radius:6px;padding:16px 20px}.xray-pros h4{color:var(--ok);font-size:13px;font-weight:500;margin:0 0 10px 0}.xray-cons h4{color:var(--warn);font-size:13px;font-weight:500;margin:0 0 10px 0}.xray-pros ul,.xray-cons ul{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:0}.xray-pros li,.xray-cons li{font-size:13px;color:var(--text-1);padding-left:16px;position:relative;line-height:1.5}.xray-pros li::before{content:'+';color:var(--ok);font-weight:500;position:absolute;left:0}.xray-cons li::before{content:'−';color:var(--warn);font-weight:500;position:absolute;left:0}.xray-findings-list{display:flex;flex-direction:column;gap:1px;background:var(--border)}.xray-finding-card{background:var(--bg-main);padding:14px 18px;display:flex;flex-direction:column;gap:6px;border-left:3px solid var(--border)}.xray-finding-card[data-severity="high"]{border-left-color:var(--warn)}.xray-finding-card[data-severity="medium"]{border-left-color:#f59e0b}.xray-finding-card[data-severity="low"]{border-left-color:var(--text-3)}.xray-finding-card[data-severity="info"]{border-left-color:var(--accent-2)}.xray-finding-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.xray-finding-cat{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-3);border:1px solid var(--border);padding:2px 6px;border-radius:2px;flex-shrink:0}.xray-finding-title{font-size:14px;font-weight:500;color:var(--text-1)}.xray-finding-row{font-size:12.5px;color:var(--text-2);line-height:1.6}.xray-finding-row strong{font-family:var(--mono);font-size:9.5px;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-3);margin-right:6px;display:inline-block;min-width:56px;font-weight:500}.xray-design-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.xray-design-stats > div{display:flex;flex-direction:column;gap:3px}.xray-design-stats dt{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-3);margin:0}.xray-design-stats dd{font-size:14px;color:var(--text-1);margin:0}.xray-design-stats dd#xrayDesignWords{font-family:var(--mono)}.xray-design-obs{font-size:14px;line-height:1.65;color:var(--text-2);margin:0}.xray-recos{counter-reset:xrayreco;list-style:none;display:flex;flex-direction:column;gap:10px;margin:0;padding:0}.xray-recos li{counter-increment:xrayreco;font-size:14px;color:var(--text-1);padding-left:30px;position:relative;line-height:1.55}.xray-recos li::before{content:counter(xrayreco) ".";position:absolute;left:0;font-family:var(--mono);color:var(--accent-3);font-weight:500}@media (max-width:640px){.xray-overview{flex-direction:column}.xray-overview-score{width:100%;display:flex;justify-content:center}.xray-site-meta{grid-template-columns:1fr}.xray-design-stats{grid-template-columns:1fr}.xray-bar-row{grid-template-columns:90px 1fr 36px}}.xray-quota-intro{margin-top:14px;text-align:center;font-family:var(--mono);font-size:11px;letter-spacing:0.05em;color:var(--text-3)}.xray-quota-badge{display:inline-block;padding:4px 10px;border:1px solid var(--border);border-radius:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.05em}.xray-quota-ok{color:var(--text-2);border-color:var(--border)}.xray-quota-warn{color:var(--warn);border-color:var(--warn)}.xray-quota-empty{color:var(--warn);border-color:var(--warn);background:rgba(251,146,60,0.08)}.xray-quota-admin{color:var(--accent-2);border-color:var(--accent-2)}@media (max-width:900px){.ia-demos-wrap{grid-template-columns:1fr}.ia-demos-wrap[data-active] .ia-demo,.ia-demos-wrap[data-active] .ia-demo.is-active,.ia-demos-wrap[data-active] .ia-demo.is-collapsed{grid-column:auto;grid-row:auto;opacity:1;filter:none;pointer-events:auto;transform:none;z-index:auto;box-shadow:none;border:none;border-top:1px dashed var(--border);padding:18px 0 0;background:transparent}.ia-demos-wrap[data-active] .ia-demo.is-active .ia-demo-reduce{display:none}.ia-demo-title{font-size:18px}.cadr-module-body{padding:16px 16px 14px}.cadr-bubble{max-width:90%;font-size:12.5px}.cadr-brief-actions{flex-direction:column;align-items:flex-start}.cadr-brief-actions .cadr-btn{width:100%;justify-content:center;min-height:40px}.cadr-send{padding:8px 14px;min-height:40px}.xray-module-body{padding:14px 14px}.xray-global-gauge{width:110px;height:110px}.xray-gauge-fill{transform-origin:55px 55px}.xray-overview{flex-direction:column}.xray-overview-score{width:100%;display:flex;justify-content:center}.xray-bars{gap:10px}.xray-bar-row{grid-template-columns:100px 1fr 36px}.xray-stack-grid{grid-template-columns:repeat(2,1fr)}.xray-site-meta{grid-template-columns:1fr}.xray-design-stats{grid-template-columns:repeat(2,1fr)}.xray-url-form{flex-direction:column}.xray-url-form input,.xray-url-form button{width:100%;min-height:40px}.xray-btn-reset{min-height:40px}.xray-final-cta{flex-direction:column;align-items:flex-start}.xray-cta-actions{width:100%}.xray-cta-actions .xray-btn{flex:1;justify-content:center;min-height:40px}.xray-preview-img{max-height:260px}.xray-frame-wrap-compact{min-height:160px}.xray-pros-cons{grid-template-columns:1fr}.xray-module-header,.cadr-module-header{padding:8px 14px;font-size:10.5px}.xray-result-header{padding:10px 14px}}@media (max-width:600px){.ia-demos-wrap{margin-top:24px;gap:16px}.ia-demo-title{font-size:16px}.ia-demo-lead{font-size:13px;margin-bottom:12px}.cadr-module-body{padding:12px 12px 10px}.cadr-compose textarea{font-size:16px}.cadr-bubble{max-width:94%;font-size:12px;padding:10px 12px}.cadr-avatar{width:26px;height:26px;font-size:9px}.cadr-send{min-height:44px;padding:10px 16px;font-size:11px}.cadr-brief-actions .cadr-btn{min-height:44px;font-size:13px}.cadr-intro p{font-size:12.5px}.cadr-module-header{padding:7px 12px;font-size:10px}.xray-url-form input{font-size:16px;min-height:44px}.xray-url-form button{min-height:44px;font-size:13px}.xray-btn-reset{min-height:44px;font-size:12px}.xray-btn{min-height:44px;padding:10px 14px}.xray-stack-grid{grid-template-columns:1fr}.xray-design-stats{grid-template-columns:1fr}.xray-global-gauge{width:90px;height:90px}.xray-gauge-fill{transform-origin:45px 45px}.xray-gauge-num{font-size:24px}.xray-bar-row{grid-template-columns:80px 1fr 32px;gap:8px}.xray-bar-label{font-size:9px}.xray-bar-value{font-size:12px}.xray-module-body{padding:12px 12px}.xray-module-header{padding:7px 12px;font-size:10px}.xray-result-header{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px}.xray-preview-img{max-height:200px}.xray-frame-wrap-compact{min-height:140px}.xray-cta-actions{flex-direction:column}.xray-cta-actions .xray-btn{width:100%}.xray-issue{padding:12px 14px}.xray-finding-card{padding:10px 12px}.xray-url-examples{gap:4px;font-size:10px}.xray-effort-badge{width:64px;height:64px;font-size:28px}.xray-effort-text{min-width:0}.xray-loading-list{font-size:12px}}.ia-demo .ia-demo-fold{display:none;margin-top:var(--space-section);text-align:left}.ia-demo[data-folded="true"] .ia-demo-fold{display:block}.ia-demo[data-folded="true"] .ia-demo-content{display:none}.ia-demo[data-folded="true"] .ia-demo-reduce{display:none}.ia-demo-test{font-family:var(--mono);font-size:14px;letter-spacing:0.04em;padding:12px 24px;background:transparent;border:1px solid var(--accent);border-radius:6px;color:var(--accent);cursor:pointer;transition:background 0.2s ease,color 0.2s ease}.ia-demo-test:hover{background:var(--accent);color:var(--bg)}.xray-send-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,0.7);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;box-sizing:border-box}.xray-send-modal-overlay[hidden]{display:none}.xray-send-modal{background:#0f172a;border:1px solid rgba(125,211,252,0.25);padding:28px 26px;width:100%;max-width:380px;border-radius:6px;color:#e2e8f0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:0 20px 60px rgba(0,0,0,0.5);animation:xray-modal-in 200ms ease-out}@keyframes xray-modal-in{from{opacity:0;transform:scale(0.95)}to{opacity:1;transform:scale(1)}}.xray-send-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.xray-send-modal-tag{color:#67e8f9;font-family:monospace;font-size:10.5px;letter-spacing:0.08em}.xray-send-modal-close{background:transparent;border:none;color:#64748b;font-family:monospace;font-size:16px;cursor:pointer;line-height:1;padding:4px}.xray-send-modal-close:hover{color:#cbd5e1}.xray-send-modal-title{color:#e2e8f0;font-size:15px;font-weight:600;margin:0 0 6px;letter-spacing:-0.015em}.xray-send-modal-lead{color:#94a3b8;font-size:12px;line-height:1.55;margin:0 0 18px}.xray-send-modal-label{display:block;color:#64748b;font-family:monospace;font-size:10px;letter-spacing:0.08em;margin-bottom:6px}.xray-send-modal-input{display:block;width:100%;background:rgba(15,23,42,0.6);border:1px solid rgba(125,211,252,0.25);color:#e2e8f0;font-family:monospace;font-size:13px;padding:10px 12px;border-radius:3px;box-sizing:border-box;margin-bottom:18px;outline:none}.xray-send-modal-input:focus{border-color:#5eead4;box-shadow:0 0 0 2px rgba(94,234,212,0.15)}.xray-send-modal-actions{display:flex;gap:8px;justify-content:flex-end}.xray-send-modal-btn-secondary,.xray-send-modal-btn-primary{font-family:monospace;font-size:11.5px;padding:9px 14px;cursor:pointer;border-radius:3px;letter-spacing:0.03em}.xray-send-modal-btn-secondary{background:transparent;border:1px solid rgba(125,211,252,0.25);color:#94a3b8}.xray-send-modal-btn-secondary:hover{color:#cbd5e1;border-color:rgba(125,211,252,0.5)}.xray-send-modal-btn-primary{background:#5eead4;border:none;color:#0a0e14;font-weight:600;padding:9px 16px}.xray-send-modal-btn-primary:hover{background:#67e8f9}.xray-send-modal-btn-primary:disabled{opacity:0.5;cursor:not-allowed}.xray-send-modal-foot{margin-top:14px;padding-top:12px;border-top:1px solid rgba(125,211,252,0.1);color:#64748b;font-family:monospace;font-size:9.5px;letter-spacing:0.05em;line-height:1.5}.xray-send-modal-loading{text-align:center;padding:20px 0}.xray-send-modal-loading[hidden]{display:none}.xray-send-loader-spinner{width:36px;height:36px;border:3px solid rgba(94,234,212,0.15);border-top-color:#5eead4;border-radius:50%;animation:xray-spin 800ms linear infinite;margin:0 auto 16px}@keyframes xray-spin{to{transform:rotate(360deg)}}.xray-send-modal-loading-title{color:#e2e8f0;font-size:13px;font-weight:500;margin:0 0 6px}.xray-send-modal-loading-sub{color:#64748b;font-size:11px;margin:0}.xray-send-modal-success{text-align:center;padding:8px 0}.xray-send-modal-success[hidden]{display:none}.xray-send-success-icon{display:inline-block;width:44px;height:44px;line-height:44px;background:rgba(94,234,212,0.15);color:#5eead4;border-radius:50%;font-size:24px;font-weight:700;margin:0 0 12px}.xray-send-success-title{color:#e2e8f0;font-size:14px;font-weight:600;margin:0 0 6px}.xray-send-success-msg{color:#94a3b8;font-size:12px;margin:0 0 18px}.xray-send-modal-error{text-align:center;padding:8px 0}.xray-send-modal-error[hidden]{display:none}.xray-send-error-icon{display:inline-block;width:44px;height:44px;line-height:44px;background:rgba(220,38,38,0.15);color:#fca5a5;border-radius:50%;font-size:24px;font-weight:700;margin:0 0 12px}.xray-send-error-title{color:#e2e8f0;font-size:14px;font-weight:600;margin:0 0 6px}.xray-send-error-msg{color:#fca5a5;font-size:12px;margin:0 0 18px;padding:0 14px;line-height:1.5}.xray-send-modal-form-wrap[hidden]{display:none}@media (max-width:520px){.xray-send-modal{max-width:100%;padding:22px 18px}}/*! src:assets/css/theme-light-overrides.css */:root[data-theme="light"] .tabbar-brand-dot{box-shadow:none}:root[data-theme="light"] .v8-footer{box-shadow:0 -4px 16px rgba(0,0,0,0.06)}:root[data-theme="light"] .cadr-compose{box-shadow:0 4px 16px -6px rgba(0,0,0,0.08)}@media (max-width:900px){:root[data-theme="light"] .sidebar{box-shadow:4px 0 24px rgba(0,0,0,0.12)}}:root[data-theme="light"] .card-media{background:var(--bg-side)}:root[data-theme="light"] .palette-backdrop,:root[data-theme="light"] .legal-dialog::backdrop,:root[data-theme="light"] .admin-dialog::backdrop{background:rgba(0,0,0,0.38)}:root[data-theme="light"] .palette-box{box-shadow:0 24px 60px rgba(0,0,0,0.16)}:root[data-theme="light"] .legal-dialog,:root[data-theme="light"] .admin-dialog{box-shadow:0 24px 60px rgba(0,0,0,0.18)}* background:rgba(103,232,249,0.08) * * En thème clair,on garde un cyan ultra-translucide sur fond * crème:ça reste discret mais ça « jure » par rapport à * l'accent noir. On remplace par un voile noir pour rester * cohérent avec l'encre du thème atelier. * * Note:visible uniquement quand body[data-admin] est posé,* c'est-à-dire pour le user admin connecté → cosmétique. * ------------------------------------------------------------ */:root[data-theme="light"] body[data-admin] .pp-edit:hover{background:rgba(0,0,0,0.03)}:root[data-theme="light"] body[data-admin] .pp-edit.is-editing{background:rgba(0,0,0,0.05)}:root[data-theme="light"] .admin-row-add:hover{background:rgba(0,0,0,0.03)}:root[data-theme="light"] body[data-admin] .pp-edit-tags:hover{background:rgba(0,0,0,0.03)}:root[data-theme="light"] body[data-admin] .pp-edit-tags.is-editing{background:rgba(0,0,0,0.05)}