:root{--paper:#F6F7F4;--ink:#17202B;--ink2:#4B5663;--ink3:#78828D;--rule:#DDE1DC;--panel:#FFFFFF;--navy:#1F437C;--navy-h:#17345F;--navy2:#4D78B5;--blue-soft:#EAF0F8;--blue-border:#CAD7E7;--track:#EDF0EB;--good:#277158;--good-soft:#E8F3EE;--bad:#B34838;--bad-soft:#F8EBE8;--warn:#A87924;--warn-soft:#F8F0DF;--btn-ink:#FFFFFF;--field-border:#CDD3D7;--sidebar-bg:rgba(246,247,244,.94);--baseline-grad:linear-gradient(135deg,#F7FAFE,#EDF3FA);--orbit-line:rgba(31,67,124,.22);--shadow:0 18px 55px rgba(21,35,51,.07)}:root.dark{--paper:#16181C;--ink:#ECEDE8;--ink2:#B9BEC6;--ink3:#868D97;--rule:#2C3037;--panel:#1E2126;--navy:#8FA6E6;--navy-h:#A9BCF0;--navy2:#6C8AD0;--blue-soft:#242D3E;--blue-border:#36415A;--track:#2A2E35;--good:#7FC09E;--good-soft:#1C2B24;--bad:#E08C7B;--bad-soft:#33221E;--warn:#E0B27B;--warn-soft:#332918;--btn-ink:#16181C;--field-border:#3B4048;--sidebar-bg:rgba(22,24,28,.94);--baseline-grad:linear-gradient(135deg,#1E2634,#232C3D);--orbit-line:rgba(143,166,230,.28);--shadow:0 18px 55px rgba(0,0,0,.45)}*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;background:radial-gradient(circle at 85% 0%,rgba(31,67,124,.07),transparent 28rem),var(--paper);color:var(--ink);font-family:Public Sans,system-ui,sans-serif;font-size:15px;line-height:1.55}a{color:var(--navy);text-decoration:none}a:hover{color:var(--navy-h)}h1{font-family:Archivo,sans-serif;font-weight:800;font-size:30px;letter-spacing:-.02em;margin:6px 0 4px;text-wrap:balance}h2{font-family:Archivo,sans-serif;font-weight:700;font-size:21px;letter-spacing:-.01em;margin:0 0 8px}.kicker{font-family:IBM Plex Mono,monospace;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin:0 0 6px}.meta{font-family:IBM Plex Mono,monospace;font-size:11.5px;color:var(--ink3)}.card{background:var(--panel);border:1px solid var(--rule);border-radius:14px;padding:22px 24px;box-shadow:0 1px #141e2805}.legend{font-size:12.5px;color:var(--ink3);margin-top:6px}.conf{display:inline-block;font-family:IBM Plex Mono,monospace;font-size:10.5px;letter-spacing:.06em;padding:4px 9px;border:1px solid var(--rule);background:var(--paper);color:var(--ink2)}.btn{font:600 14px Public Sans,system-ui,sans-serif;padding:11px 18px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:var(--btn-ink);cursor:pointer;text-decoration:none;display:inline-block}.btn:hover{background:var(--navy);border-color:var(--navy);color:var(--btn-ink)}.btn.secondary{background:transparent;color:var(--ink)}.btn.secondary:hover{color:var(--navy);background:transparent}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}input,textarea,select{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--field-border);border-radius:8px;padding:10px 12px;width:100%}textarea:focus,select:focus,input:focus{border-color:var(--navy)}label{display:block;font-size:13px;font-weight:600;margin-bottom:4px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.wordmark{font-family:Archivo,sans-serif;font-weight:800;font-size:18px;letter-spacing:.04em;color:var(--ink)}.app-layout{min-height:100vh}.sidebar{position:fixed;left:0;top:0;width:248px;height:100vh;border-right:1px solid var(--rule);background:var(--sidebar-bg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;flex-direction:column;overflow-y:auto;z-index:30}.sidebar-brand{display:flex;align-items:center;gap:10px;position:relative;flex:none;height:64px;padding:0 18px;border-bottom:1px solid var(--rule);overflow:hidden}.sidebar-brand .cdots{width:100%;height:100%}.navlinks{display:flex;flex-direction:column;gap:2px;padding:10px;font-size:14px}.navlink{display:flex;align-items:center;gap:11px;color:var(--ink2);padding:8px 11px;border-radius:8px;font-weight:500}.navlink svg{flex:none;opacity:.7}.navlink:hover{background:var(--track);color:var(--ink)}.navlink.active{color:var(--ink);background:var(--blue-soft);font-weight:600}.navlink.active svg{color:var(--navy);opacity:1}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--rule)}.sidebar-theme{padding:11px 14px;border-top:1px solid var(--rule)}.sidebar-theme .kicker{margin:0 0 6px}.seg.seg-theme{display:flex;width:100%;border-color:var(--rule);border-radius:8px;overflow:hidden}.seg-theme button{flex:1;display:grid;place-items:center;padding:6px 0;color:var(--ink2)}.seg-theme button:hover{background:var(--track);color:var(--ink)}.seg-theme button.on:hover{background:var(--ink);color:var(--btn-ink)}.sidebar-account{padding:12px 14px;border-top:1px solid var(--rule);overflow-wrap:anywhere}.account-row{display:flex;align-items:center;gap:10px}.avatar{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:50%;background:var(--blue-soft);color:var(--navy);font:700 11px IBM Plex Mono,monospace}.account-id{display:flex;flex-direction:column;min-width:0}.account-id strong{font-size:12.5px}.account-id strong,.account-id .meta{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.demo-warning{display:block;margin-bottom:10px;color:var(--bad);border-color:var(--bad);white-space:normal}.sidebar-logout{border:0;background:none;color:var(--ink2);cursor:pointer;padding:9px 0 0;font:600 12px Public Sans,sans-serif}.sidebar-logout:hover{color:var(--navy)}.sidebar-projects{padding:4px 10px 10px;display:flex;flex-direction:column;gap:1px}.sidebar-projects .kicker{margin:0;padding:8px 11px 4px}.sidebar-projects a{padding:6px 11px;border-radius:7px;font-size:12.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-projects a:hover{background:var(--track)}.sidebar-projects a.active{color:var(--navy);font-weight:600}.menu-trigger{display:none;position:fixed;top:13px;left:13px;z-index:40;width:38px;height:38px;place-items:center;border:1px solid var(--rule);border-radius:9px;background:var(--panel);color:var(--ink);cursor:pointer}.drawer-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;background:#00000073}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.app-main{min-width:0;margin-left:248px}.page{max-width:1320px;margin:0 auto;padding:44px 56px 96px;display:flex;flex-direction:column;gap:22px}.auth-page{min-height:100vh;justify-content:center;max-width:520px}.source-text{margin-top:16px;border:1px solid var(--rule);border-radius:10px;background:var(--panel);overflow:hidden}.source-text summary{cursor:pointer;padding:11px 14px;font-weight:600;font-size:13px}.source-text summary span{float:right;color:var(--ink3);font:11px IBM Plex Mono,monospace}.source-text>div{padding:14px;border-top:1px solid var(--rule);white-space:pre-wrap;overflow-wrap:anywhere;max-height:55vh;overflow:auto;color:var(--ink2)}.page-intro{color:var(--ink2);max-width:650px;font-size:16px;margin:0 0 6px}.form-stack{display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow)}.input-count{text-align:right;margin-top:3px}.label-optional{font-weight:400;color:var(--ink3)}.form-submit{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:18px}.baseline-choice,.baseline-strip{display:flex;align-items:center;gap:14px;padding:15px 17px;border:1px solid var(--blue-border);background:var(--baseline-grad);border-radius:11px}.baseline-choice .evidence{margin-left:auto}.baseline-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--navy);color:var(--btn-ink);font:700 11px IBM Plex Mono,monospace;letter-spacing:.08em}.baseline-strip{position:relative;overflow:hidden}.baseline-strip>div:nth-child(2){position:relative}.baseline-proof{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;position:relative}.baseline-orbit{width:42px;height:42px;border:1px solid var(--orbit-line);border-radius:50%;position:relative;flex:none}.baseline-orbit i{position:absolute;width:5px;height:5px;background:var(--navy);border-radius:50%}.baseline-orbit i:nth-child(1){left:18px;top:5px}.baseline-orbit i:nth-child(2){left:7px;top:27px}.baseline-orbit i:nth-child(3){right:5px;top:24px}.evidence{display:inline-flex;align-items:center;width:max-content;padding:4px 8px;border-radius:999px;font:600 10px IBM Plex Mono,monospace;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.evidence-model{color:var(--navy);background:var(--blue-soft)}.evidence-validated{color:var(--good);background:var(--good-soft)}.evidence-direction{color:var(--warn);background:var(--warn-soft)}.evidence-explore{color:var(--ink3);background:var(--track);vertical-align:middle;margin-left:6px}.advanced{border:1px solid var(--rule);border-radius:9px;background:var(--paper)}.advanced>summary{cursor:pointer;padding:11px 13px;font-weight:600;font-size:13px;color:var(--ink2)}.advanced-body{padding:4px 13px 14px;display:flex;flex-direction:column;gap:14px}.section-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.section-heading h2{margin:0}.direction-label{font:800 31px/1.1 Archivo,sans-serif;letter-spacing:-.025em;margin:8px 0 10px}.direction-label.compact{font-size:18px;margin-top:18px}.opinion-split{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-top:18px}.opinion-split>div{background:var(--panel);padding:15px}.opinion-split strong{display:block;font:800 27px Archivo,sans-serif}.opinion-split span{font-size:12px;color:var(--ink2)}.opinion-split .favorable strong{color:var(--good)}.opinion-split .oppose strong{color:var(--bad)}.opinion-split .nsp strong{color:var(--ink3)}.result-note{color:var(--ink2);margin:0;max-width:520px}.result-detail{margin-top:13px;font-size:12px;color:var(--ink3)}.result-detail summary{cursor:pointer}.result-detail .meta{margin-top:6px}.decision-brief{border-color:var(--blue-border);box-shadow:var(--shadow)}.decision-brief h2{font-size:25px;max-width:650px}.decision-alert{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--warn);background:var(--warn-soft);color:var(--ink2);font-size:13px}.decision-alert strong{color:var(--ink)}.decision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:10px;overflow:hidden;margin-top:18px}.decision-grid>div{background:var(--panel);padding:16px}.decision-grid span{display:block;font:10.5px IBM Plex Mono,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:7px}.decision-grid strong{display:block;line-height:1.35}.decision-grid p{font-size:12.5px;color:var(--ink2);margin:8px 0 0}.decision-rule{margin-top:16px;padding-top:14px;border-top:1px solid var(--rule);color:var(--ink2);font-size:13px}.decision-rule strong{color:var(--ink)}.signal-line{display:flex;gap:9px;margin:9px 0;line-height:1.35}.signal-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none}.signal-dot.positive{background:var(--good)}.signal-dot.negative{background:var(--bad)}.stacked-opinion{height:13px;display:flex;background:var(--track);overflow:hidden;border-radius:2px}.stacked-opinion i{background:var(--good)}.stacked-opinion b{background:var(--bad)}.stacked-opinion em{background:#b8bec5}.opinion-values{display:flex;justify-content:flex-end;gap:8px;white-space:nowrap}.opinion-values i{color:var(--good);font-style:normal}.opinion-values b{color:var(--bad);font-weight:400}.opinion-values em{color:var(--ink3);font-style:normal}.opinion-legend{display:flex;gap:15px;font-size:11px;margin-top:14px;color:var(--ink2)}.opinion-legend span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;background:var(--good)}.opinion-legend span:nth-child(2):before{background:var(--bad)}.opinion-legend span:nth-child(3):before{background:#b8bec5}.low-n{display:inline-block;margin-left:6px;padding:1px 4px;border:1px solid var(--warn);color:var(--warn);font:9px IBM Plex Mono,monospace;vertical-align:1px}.reaction-detail{margin-top:6px;font-size:12px;color:var(--ink3)}.reaction-detail summary{cursor:pointer}.reaction-detail p{margin:5px 0}.reaction-detail strong{color:var(--ink2)}.qual-sample{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:9px 24px;align-items:center;padding:17px 20px;border:1px solid var(--blue-border);background:var(--blue-soft);border-radius:11px}.qual-sample>.meta{grid-column:1/-1}.qual-counts{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--ink2)}.qual-counts span{white-space:nowrap}.qual-counts i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.qual-counts .q-fav{background:var(--good)}.qual-counts .q-opp{background:var(--bad)}.qual-counts .q-nsp{background:var(--ink3)}.test-scope{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start}.test-scope p{color:var(--ink2);margin:7px 0 0}.test-scope .scope-limit{font-size:12px;color:var(--ink3);padding-top:7px}.test-scope dl{display:grid;gap:9px;margin:0}.test-scope dl>div{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--rule);padding-bottom:6px}.test-scope dt{color:var(--ink3);font-size:12px}.test-scope dd{margin:0;text-align:right;font-weight:600;font-size:12px}.report-layout{display:grid;grid-template-columns:minmax(0,930px) 210px;gap:34px;align-items:start}.report-content{display:flex;flex-direction:column;gap:22px;min-width:0}.report-content>div[id]{scroll-margin-top:24px}.report-content>div[id]:empty{display:none}.report-content>div[id]>*+*{margin-top:22px}.report-nav{position:sticky;top:30px;border-left:1px solid var(--rule);padding:8px 0 8px 18px;display:flex;flex-direction:column;gap:5px}.report-nav a{padding:6px 0;color:var(--ink2);font-size:12.5px}.report-nav a:hover{color:var(--navy)}.scope-note{margin:18px -24px -22px;padding:11px 24px;border-top:1px solid var(--rule);background:var(--paper);border-radius:0 0 14px 14px;color:var(--ink3);font-size:12px}.exploratory-results{margin-top:18px}.exploratory-results>.advanced-body{background:var(--panel);border-radius:0 0 9px 9px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 16px;color:var(--ink2)}.empty-state strong{color:var(--ink)}.empty-state span{font-size:13px;margin-top:4px}.progress-card{box-shadow:var(--shadow)}.progress-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.progress-head h2{margin:0}.progress-head>strong{font:800 30px Archivo,sans-serif;color:var(--navy)}.progress-track{height:10px;background:var(--track);border-radius:99px;overflow:hidden;margin:18px 0}.progress-track i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--navy),var(--navy2));transition:width .7s ease}.progress-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.progress-steps div{display:flex;align-items:center;gap:7px;color:var(--ink3)}.progress-steps span{display:grid;place-items:center;width:23px;height:23px;border:1px solid var(--rule);border-radius:50%;font:600 10px IBM Plex Mono}.progress-steps small{font-size:11px}.progress-steps .done{color:var(--navy)}.progress-steps .done span{color:var(--btn-ink);background:var(--navy);border-color:var(--navy)}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:8px;overflow:hidden;margin-top:18px}.progress-stats span{background:var(--panel);padding:12px;font-size:11px;color:var(--ink3);display:flex;flex-direction:column}.progress-stats strong{font-size:14px;color:var(--ink)}.variant-card{border:1px solid var(--rule);border-radius:10px;padding:15px;display:flex;flex-direction:column;gap:5px}.variant-card strong{font:700 18px Archivo,sans-serif}.variant-card span{font-size:12px;color:var(--ink2)}.erreur{color:var(--bad);font-size:13px}.tracking-card{padding-bottom:18px}.tracking-controls{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.tracking-picker{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:24px;margin-top:18px;padding:16px;background:var(--paper);border:1px solid var(--rule);border-radius:10px}.entity-chips{display:flex;gap:7px;flex-wrap:wrap}.entity-chips button{display:flex;align-items:center;gap:6px;border:1px solid var(--rule);background:var(--panel);color:var(--ink2);padding:7px 9px;border-radius:99px;cursor:pointer;font:12px Public Sans,sans-serif}.entity-chips button.on{border-color:var(--ink2);color:var(--ink);font-weight:600}.entity-chips i{width:8px;height:8px;border-radius:50%;background:var(--rule)}.entity-chips small{color:var(--ink3)}.source-toggles{display:flex;flex-direction:column;gap:7px}.source-toggles label{font-weight:500}.source-toggles input{width:auto;margin-right:6px}.source-toggles .unavailable{color:var(--ink3)}.tracking-legend{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0 5px;color:var(--ink2);font-size:12px}.tracking-legend span:before{content:"";display:inline-block;width:20px;height:3px;margin:0 7px 3px 0;background:var(--ink2)}.tracking-legend .sensor-key:before,.tracking-legend .corrected-key:before{height:0;border-top:2px dashed var(--ink2);background:none}.tracking-legend .corrected-key:before{border-top-style:dotted}.tracking-chart-wrap{width:100%;overflow:hidden}.tracking-chart{display:block;width:100%;min-height:300px}.tracking-chart text{font:10px IBM Plex Mono,monospace;fill:var(--ink3)}.chart-grid{stroke:var(--rule);stroke-width:1}.chart-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-line.capteur{stroke-dasharray:9 7;stroke-width:2.5}.chart-line.corrige{stroke-dasharray:3 5;stroke-width:3}.chart-dot{stroke:var(--panel);stroke-width:2}.noise-bar{stroke-width:2}.comparison-values{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:9px}.comparison-values>div{display:flex;flex-direction:column;padding:11px 13px;border:1px solid var(--rule);border-top-width:4px;border-radius:8px}.comparison-values strong{margin-bottom:5px}.comparison-values span{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--ink3)}.comparison-values b{color:var(--ink2)}.probe-grid span{font-size:11px;color:var(--ink3)}.probe-grid small{font-size:11px;color:var(--ink2)}.tracking-warning{margin-top:15px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:16px;padding:13px 15px;background:var(--warn-soft);border-left:3px solid var(--warn);font-size:12px;color:var(--ink2)}.tracking-warning strong{color:var(--ink)}.whatif-card{border-style:dashed}.probe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.probe-grid>div{display:flex;flex-direction:column;border:1px solid var(--rule);border-radius:9px;padding:13px}.probe-grid strong{font:700 22px Archivo,sans-serif;margin:4px 0}.limits-inline{display:flex;gap:10px;flex-wrap:wrap}.limits-inline span{padding:7px 10px;background:var(--track);border-radius:7px;font-size:12px;color:var(--ink2)}@keyframes cpulse{0%,to{opacity:.08}12%{opacity:.55}30%{opacity:.12}}.cdots circle{fill:var(--navy);opacity:.08;animation:cpulse 8s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.cdots circle{animation:none}}@media (max-width: 1000px){.report-layout{display:block}.report-nav{display:none}}@media (max-width: 700px){.app-layout{display:block}.sidebar{width:270px;transform:translate(-100%);transition:transform .22s ease;z-index:35}.sidebar.ouvert{transform:none}.app-main{margin-left:0}.menu-trigger{display:grid}.drawer-backdrop{display:block}.page{padding:66px 18px 80px}.grid2,.decision-grid,.opinion-split,.test-scope,.qual-sample,.tracking-metrics,.probe-grid,.tracking-picker{grid-template-columns:1fr}h1{font-size:26px}.card{padding:17px}.baseline-proof{display:none}.scope-note{margin:16px -17px -17px;padding:10px 17px}.progress-steps small{display:none}.progress-stats{grid-template-columns:1fr}.form-submit .btn{width:100%}.source-text summary span{display:none}.opinion-values{display:none}.tracking-controls{flex-direction:column;width:100%}.tracking-warning{grid-template-columns:1fr}.tracking-chart{min-height:220px}}.seg{display:inline-flex;border:1px solid var(--ink)}.seg button{font:600 11px/1 IBM Plex Mono,monospace;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;background:transparent;color:var(--ink);border:0;cursor:pointer}.seg button.on{background:var(--ink);color:var(--btn-ink)}.seg button:focus-visible{outline:2px solid var(--navy);outline-offset:1px}
