.diagnostic-page{max-width:1100px;padding-block:64px 80px}.diagnostic-intro h1{font-size:clamp(2.7rem,5.5vw,5rem);text-wrap:balance}.diagnostic-intro .lead{max-width:680px}.diagnostic-disclaimer{padding:24px;background:#edf0e5;border-left:4px solid var(--ink);border-radius:6px;margin-block:32px}.diagnostic-disclaimer p{margin:10px 0 0;font-size:.9rem}.diagnostic-form{padding:28px;border:1px solid var(--line);border-radius:8px;background:white}.diagnostic-form label{display:block;margin-bottom:12px;font-weight:600}.diagnostic-input-row{display:flex;gap:12px;align-items:stretch}.diagnostic-input-row input{min-width:0;flex:1}.diagnostic-input-row button{flex-shrink:0}.diagnostic-form>p{font-size:.8rem;margin:14px 0 0}.diagnostic-form a{text-decoration:underline;text-underline-offset:3px}#diagnostic-error{color:var(--ink);font-weight:600}#diagnostic-error:empty{display:none}.diagnostic-form button:disabled{opacity:.65;cursor:wait}.diagnostic-progress{margin-block:28px;padding:24px;border:1px solid var(--line);border-radius:8px}.diagnostic-progress ol{padding-left:24px;line-height:1.9}.diagnostic-progress p{font-size:.85rem}.diagnostic-text-button{min-height:44px;padding:10px 14px;border:1px solid var(--ink);border-radius:4px;background:transparent;color:var(--ink);font-size:.85rem}.diagnostic-result-heading{margin-top:60px}.diagnostic-result-heading h2{font-size:clamp(2rem,4vw,3rem)}#result-url{font-size:1.2rem;font-weight:600;color:var(--ink);overflow-wrap:anywhere}#result-meta,#result-redirect,.diagnostic-count-note{font-size:.8rem;overflow-wrap:anywhere}#result-counts{color:var(--ink)}#result-warnings{padding:24px;background:#edf0e5;border-radius:6px;overflow-wrap:anywhere}#result-warnings h3{font-size:1rem}#result-warnings p{font-size:.85rem}#result-nav{display:flex;flex-wrap:wrap;gap:10px;margin-block:28px}#result-nav a{display:flex;align-items:center;min-height:44px;border:1px solid var(--line);border-radius:30px;padding:10px 16px;font-size:.8rem}.diagnostic-category{margin-block:28px;padding:28px;border:1px solid var(--line);border-radius:8px;background:white}.diagnostic-category-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}.diagnostic-category-heading h3{font-size:1.5rem;line-height:1.25;margin:0}.diagnostic-score{display:grid;gap:4px;min-width:125px}.diagnostic-score strong{font-size:1.5rem}.diagnostic-score span,.diagnostic-score-note{font-size:.75rem;color:var(--muted)}.diagnostic-score meter{width:100%;accent-color:var(--ink)}.diagnostic-score meter::-webkit-meter-optimum-value{background:var(--ink)}.diagnostic-score meter::-moz-meter-bar{background:var(--ink)}.diagnostic-summary{font-weight:600;margin-top:24px;color:var(--ink)}.diagnostic-category-limit{font-size:.85rem}.diagnostic-checks{list-style:none;padding:0;margin:24px 0 0}.diagnostic-checks>li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding-block:20px;border-top:1px solid var(--line)}.diagnostic-state{font-size:.75rem;align-self:start;padding:5px 10px;border-radius:4px;line-height:1.6}.state-pass{background:var(--lime)}.state-attention{border:1px solid var(--ink);font-weight:600}.state-unknown{background:#edf0e5;color:var(--muted)}.diagnostic-checks h4{font-size:1rem;margin:3px 0 8px}.diagnostic-checks p{font-size:.9rem;margin:8px 0}.diagnostic-checks summary,.diagnostic-metrics summary{min-height:44px;padding-block:10px;cursor:pointer;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}.diagnostic-detail{overflow-wrap:anywhere}.diagnostic-metrics{border-top:1px solid var(--line);padding-top:12px}.diagnostic-metrics dl{display:grid;grid-template-columns:1fr auto;gap:12px;font-size:.9rem}.diagnostic-metrics dd{margin:0}.diagnostic-metrics>p{font-size:.85rem}.diagnostic-followup{padding:32px;background:var(--lime);border-radius:8px;margin-top:40px}.diagnostic-followup h2{font-size:clamp(2rem,4vw,3rem)}.diagnostic-followup p{max-width:690px;color:var(--ink)}.diagnostic-followup-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}.header.diagnostic-header{position:static;flex-wrap:wrap}.header.diagnostic-header nav{position:static;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:0;border:0;background:transparent}.diagnostic-header nav a{display:flex;align-items:center;min-height:44px;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
@media(max-width:620px){.diagnostic-page{padding-block:36px}.diagnostic-input-row{flex-direction:column}.diagnostic-disclaimer,.diagnostic-form,.diagnostic-category,.diagnostic-followup{padding:22px}.diagnostic-category-heading{align-items:flex-start;flex-direction:column;gap:14px}.diagnostic-score{width:140px}.diagnostic-checks>li{grid-template-columns:1fr;gap:8px}.diagnostic-state{width:fit-content}.diagnostic-metrics dl{grid-template-columns:1fr}.diagnostic-metrics dd{margin-bottom:12px}.diagnostic-header{gap:12px}}
@media print{.diagnostic-header,.site-footer,.diagnostic-form,.diagnostic-progress,#result-nav,.diagnostic-followup-actions,.diagnostic-intro,.skip{display:none!important}.diagnostic-page{padding:0;width:100%;max-width:none}.diagnostic-result-heading{margin-top:20px}.diagnostic-category,.diagnostic-checks>li{break-inside:avoid}.diagnostic-category{padding:16px}.diagnostic-category details{display:block}.diagnostic-followup{background:none}.diagnostic-disclaimer{margin-top:0}}
.diagnostic-check-group{border-top:1px solid var(--line);margin-top:16px}.diagnostic-check-group>summary{min-height:44px;padding:12px 0;font-size:.85rem;cursor:pointer;line-height:1.6}.diagnostic-check-group .diagnostic-checks{margin-top:0}

/* Couleurs sémantiques discrètes, toujours accompagnées de mots. */
.diagnostic-page{--good:#246345;--good-bg:#edf6ef;--moderate:#87530d;--moderate-bg:#fff4e3;--low:#9b3838;--low-bg:#fbeeee}
[data-level=good]{--level-color:var(--good);--level-bg:var(--good-bg)}
[data-level=moderate]{--level-color:var(--moderate);--level-bg:var(--moderate-bg)}
[data-level=low]{--level-color:var(--low);--level-bg:var(--low-bg)}
[data-level=unknown]{--level-color:var(--muted);--level-bg:#f0f2ee}
.diagnostic-category{border-top:3px solid var(--level-color)}
.diagnostic-score{padding:12px 16px;border-radius:6px;background:var(--level-bg);color:var(--level-color)}
.diagnostic-score .diagnostic-score-label{color:var(--level-color);font-weight:700;font-size:.85rem}
.diagnostic-score meter{accent-color:var(--level-color)}
.diagnostic-score meter::-webkit-meter-optimum-value{background:var(--level-color)}
.diagnostic-score meter::-moz-meter-bar{background:var(--level-color)}
#result-nav a{border-color:var(--level-color);background:var(--level-bg);color:var(--level-color)}
.state-pass{color:var(--good);background:var(--good-bg)}
.state-attention{color:var(--moderate);background:var(--moderate-bg);border-color:var(--moderate)}
.diagnostic-legend{font-size:.85rem;max-width:75ch}
.diagnostic-loading{display:flex;align-items:center;gap:14px;margin-bottom:20px;color:var(--ink)}
.diagnostic-loading[hidden]{display:none}
.diagnostic-spinner{display:block;flex-shrink:0;width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--ink);border-radius:50%;animation:diagnostic-spin 1s linear infinite}
@keyframes diagnostic-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.diagnostic-spinner{animation:none}}

/* Les observations précèdent les notes ; ces dernières restent un repère secondaire. */
.diagnostic-topic{font-size:.75rem;margin:0 0 10px;font-weight:600;color:var(--muted)}
.diagnostic-category-heading>div:first-child{max-width:680px;min-width:0}
.diagnostic-category-heading h3{font-size:clamp(1.35rem,3vw,1.8rem)}
.diagnostic-score{flex-shrink:0}.diagnostic-score strong{font-size:1.2rem}
.diagnostic-impact{padding-left:16px;border-left:3px solid var(--line);font-size:.95rem}
.diagnostic-advice summary{cursor:pointer;min-height:44px;padding-block:10px;font-weight:600}
.diagnostic-advice p{font-size:.95rem}
