/* Local component only. All colours and fonts inherit Kachouri tokens. */
.cv-page{max-width:var(--container);margin-inline:auto;padding-block:clamp(24px,5vw,60px);min-width:0}
.cv-page *{min-width:0}.cv-page [hidden]{display:none}
.cv-hero{max-width:950px;margin-bottom:28px}.cv-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:1.1;letter-spacing:-.045em}.cv-hero h1 span{color:var(--accent-2)}.cv-hero>p:not(.eyebrow){max-width:66ch;font-size:1.05rem;color:var(--muted)}
.cv-hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.9rem}.cv-hero-meta>span,.cv-hero-meta>a{display:inline-flex;align-items:center;gap:8px;line-height:1.45;padding:8px 0}.cv-hero-meta>a{min-height:44px;text-underline-offset:4px}.cv-hero-meta>span{color:var(--muted)}.cv-icon{width:21px;height:21px;flex:0 0 21px;color:var(--accent-2)}
.cv-controls{border:0;padding:0;margin:0;width:100%}.cv-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cv-simple{display:grid;gap:24px}.cv-questions{display:grid;gap:24px}.cv-question{padding:20px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0}.cv-question legend{padding:0 6px;font-weight:750;font-size:1.08rem;line-height:1.45;max-width:100%}.cv-step{color:var(--accent-2);font-family:var(--font-mono);font-size:.9rem}.cv-question p{color:var(--muted);font-size:.94rem;margin:0 0 16px}
.cv-range-label{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;font-weight:650}.cv-range-label output{font-size:1.7rem;font-weight:800;color:var(--accent-2);font-variant-numeric:tabular-nums}.cv-page input[type=range]{width:100%;min-height:44px;accent-color:var(--accent-2);margin:0}.cv-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}.cv-exact{margin-top:12px}.cv-exact summary{cursor:pointer;min-height:44px;display:list-item;padding:8px 0;color:var(--accent-2);font-weight:650}.cv-exact .cv-field{margin-block:10px}
.cv-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cv-choices button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);min-height:78px;padding:12px 8px;text-align:left;cursor:pointer}.cv-choices strong,.cv-choices small{display:block}.cv-choices small{font-size:.8rem;line-height:1.45;color:var(--muted);margin-top:4px}.cv-choices button[aria-pressed=true]{border:2px solid var(--accent-2);padding:11px 7px;background:var(--accent-soft)}.cv-choices button[aria-pressed=true] strong{color:var(--accent-2)}.cv-choices+div{margin-top:14px}
.cv-result{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--accent-2);border-radius:var(--radius);padding:24px 18px;align-self:start}.cv-result h2{font-size:1.35rem;line-height:1.25}.cv-main-number{line-height:1.1;margin:20px 0 6px}.cv-main-number output{display:block;font-size:clamp(2.5rem,9vw,4.4rem);font-weight:800;letter-spacing:-.05em;color:var(--accent-2);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cv-main-number span{display:block;font-size:1rem;margin-top:8px}.cv-month{font-weight:650;margin:0 0 24px;color:var(--muted)}
.cv-results-list{margin:16px 0}.cv-results-list>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;border-bottom:1px solid var(--line);padding:10px 0}.cv-results-list dt{color:var(--muted)}.cv-results-list dd{margin:0;font-weight:750;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cv-assumptions{font-size:.85rem;color:var(--muted);padding-top:4px}.cv-notice{border-left:3px solid var(--accent-2);background:var(--accent-soft);padding:14px;font-size:.92rem}.cv-result .cv-notice{margin-top:16px}.cv-status{font-size:.92rem;color:var(--muted);min-height:1.5em;margin:18px 0}
.cv-advanced-head{margin:30px 0 18px}.cv-advanced-head h2{font-size:clamp(1.5rem,4vw,2rem);margin-bottom:6px}.cv-advanced-head p{color:var(--muted);margin-bottom:0}.cv-detail{border-top:1px solid var(--line);scroll-margin-top:120px}.cv-detail>summary{display:list-item;cursor:pointer;padding:18px 8px 18px 0;font-size:1.02rem;font-weight:750;min-height:56px}.cv-detail[open]>summary{color:var(--accent-2)}.cv-detail-body{padding:4px 0 24px;max-width:100%}.cv-detail-body>p{max-width:80ch}.cv-detail-body h2{font-size:clamp(1.4rem,4vw,2rem)}.cv-detail-body h3{font-size:1.25rem}
.cv-field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.cv-field label{font-size:.94rem;font-weight:650}.cv-page input[type=text],.cv-page textarea{border:1px solid var(--muted);background:var(--surface);color:var(--text);border-radius:10px;padding:10px 12px;min-height:46px;width:100%;max-width:100%}.cv-page textarea{resize:vertical}.cv-field small{color:var(--muted);font-size:.82rem}.cv-error{color:var(--accent-2);font-size:.86rem;font-weight:650;min-height:0}.cv-page [aria-invalid=true]{border:2px solid var(--accent-2)}.cv-fields-grid{display:grid;gap:14px;margin-top:14px}.cv-toggle{display:flex;gap:10px;align-items:flex-start;padding:10px 0;min-height:44px;font-weight:650;cursor:pointer}.cv-toggle input{width:22px;height:22px;flex:0 0 22px;margin-top:3px;accent-color:var(--accent-2)}
.cv-formula{padding:12px 14px;border:1px solid var(--line);background:var(--surface-2);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.88rem;overflow-wrap:anywhere;white-space:normal}.cv-scenarios{display:grid;gap:16px}.cv-scenario{border:1px solid var(--line);border-radius:var(--radius-sm);padding:18px;background:var(--surface)}.cv-scenario h3{border-bottom:2px solid var(--accent-2);padding-bottom:12px}.cv-scenario .cv-results-list{font-size:.9rem}.cv-option+.cv-option{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.cv-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 14px}.cv-page .button{min-height:44px;max-width:100%;white-space:normal;text-align:center;cursor:pointer}.cv-page button:disabled{cursor:not-allowed;opacity:.65}.cv-privacy{font-size:.9rem;color:var(--muted);max-width:80ch}.cv-editorial{margin-top:28px}.cv-evidence{display:grid;gap:16px}.cv-evidence>div{padding:16px;background:var(--surface-2);border-radius:var(--radius-sm)}.cv-evidence dt{font-weight:750;margin-bottom:6px}.cv-evidence dd{margin:0;color:var(--muted)}.cv-source-list{list-style:none;padding:0;display:grid;gap:14px}.cv-source-list li{border-left:2px solid var(--line);padding-left:14px}.cv-source-list span{display:block;color:var(--muted);font-size:.9rem;margin-top:4px}
.cv-page :focus-visible{outline:3px solid var(--accent-2);outline-offset:4px}.cv-page button.button-primary{background:var(--accent-2);color:var(--surface);border-color:var(--accent-2)}html[data-theme=dark] .cv-page button.button-primary{color:var(--bg)}
@media(min-width:640px){.cv-choices{grid-template-columns:repeat(4,minmax(0,1fr))}.cv-question{padding:22px}.cv-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cv-result{padding:28px}}
@media(min-width:960px){.cv-simple{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px}.cv-scenarios{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-hero{margin-bottom:40px}}
@media(prefers-reduced-motion:reduce){.cv-page *{scroll-behavior:auto;animation:none;transition:none}}

/* UX 1.1.0 : repères, saisie directe et résultat mobile sans barre superposée. */
.cv-scale-note{font-size:.82rem!important;margin-top:8px!important}.cv-exact[open] summary{color:var(--text)}.cv-exact .cv-field{margin-bottom:8px}.cv-exact .button{width:100%}
.cv-example-badge{font-size:.85rem;line-height:1.4;font-weight:650;background:var(--accent-soft);color:var(--accent-2);border-radius:8px;padding:9px 12px;margin:0 0 18px}.cv-year{border-block:1px solid var(--line);margin:18px 0}.cv-year summary{min-height:48px;padding:12px 0;cursor:pointer;font-size:.9rem;font-weight:650}.cv-year .cv-field{margin:8px 0 16px}
.cv-result{scroll-margin-top:140px}.cv-result-jump{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 14px;background:var(--accent-soft);border:1px solid var(--accent-2);border-radius:var(--radius-sm);font-weight:750;text-decoration:none}.cv-detail>summary small{display:block;font-size:.87rem;font-weight:400;color:var(--muted);line-height:1.5;margin:5px 0 0 18px}
.cv-actions .button{display:inline-flex;justify-content:center;align-items:center;gap:9px}.cv-actions .button-primary .cv-icon{color:inherit}.cv-export-help{font-size:.9rem;color:var(--muted);margin:0 0 18px;max-width:70ch}.cv-related{font-size:.94rem;color:var(--muted);margin-bottom:24px}
@media(min-width:640px){.cv-exact .cv-field{max-width:100%}.cv-exact .button{width:auto}}
@media(min-width:960px){.cv-result-jump{display:none}}

/* UX 1.1.1 : actions sous le résultat et espace utile, sans barre flottante. */
body.page-cyber-value-lab main.legacy-content{overflow-x:clip;overflow-y:visible}
.cv-page{padding-block:clamp(24px,4vw,44px)}
.cv-hero{margin-bottom:24px}.cv-hero h1{text-wrap:wrap}
.cv-simple,.cv-questions{gap:18px}.cv-question{padding:18px 16px}
.cv-question p{margin-bottom:12px}
.cv-result-column{display:grid;align-content:start;gap:14px}
.cv-export-panel{padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius-sm)}
.cv-export-panel>.cv-actions{margin:0 0 12px;gap:8px}
.cv-export-panel .cv-download{background:var(--accent-soft);color:var(--accent-2);border-color:var(--line);font-size:.9rem;padding-inline:12px}
.cv-export-panel .cv-download .cv-icon{color:inherit}
.cv-export-panel .cv-export-help,.cv-export-panel .cv-privacy{font-size:.84rem;line-height:1.55;margin:0}
.cv-export-panel .cv-privacy{margin-top:10px}
.cv-export-panel .cv-notice{margin-block:12px}
.cv-advanced-head{margin:20px 0 12px}.cv-detail>summary{padding-block:14px}
.cv-detail>summary small{margin-top:3px}.cv-status{margin-block:12px}
.cv-editorial{margin-top:20px}.cv-related{margin-bottom:16px}
@media(max-width:600px){.cv-hero h1{font-size:clamp(1.75rem,7vw,2rem)}}
@media(min-width:640px){.cv-question{padding:18px}}
@media(min-width:960px){.cv-hero{margin-bottom:28px}.cv-simple{gap:22px}.cv-advanced{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;align-items:start}.cv-advanced-head,.cv-advanced>.cv-detail[open]{grid-column:1/-1}}
