/* Charte éditoriale commune avec l’accueil Veille Antifragile. */
:root{--orange:#ae4900;--orange-2:#f57c00;--orange-ink:#ae4900;--navy:#17364b;--blue:#3e5f7c;--gold:#e4ba52;--ink:#152d40;--muted:#56636d;--line:#d5dce0;--paper:#f8f8fa;--shadow:none;--shadow-soft:none;--radius:6px;--radius-sm:4px;--max:1240px}
html{scroll-padding-top:100px}body{line-height:1.55}a,button,input{touch-action:manipulation}:focus-visible{outline:3px solid #0875aa;outline-offset:4px}a{text-decoration:none}.app-shell{min-height:65vh}.wrap{width:min(var(--max),calc(100% - 80px));margin-inline:auto}.skip-link{position:fixed;top:-100px;left:12px;z-index:150;background:#fff;color:var(--navy);padding:12px}.skip-link:focus{top:12px}
.topbar{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.nav-wrap{height:84px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:900;letter-spacing:-.04em;color:var(--navy)}.brand-picto{width:48px;height:48px;flex:0 0 48px;object-fit:contain}.nav{margin-left:auto;display:flex;align-items:center;gap:30px;font-size:14px;font-weight:750;color:var(--ink)}.nav a:hover{color:var(--orange)}.nav-cta{background:var(--navy);color:#fff!important;padding:12px 18px;border-radius:4px}.menu-btn{display:none;margin-left:auto;border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:4px;color:var(--navy);font-size:20px;flex-shrink:0}
.container,.footer-inner{max-width:1320px;padding-inline:40px}.diagnostic-context{background:#eaf0f3;border-bottom:1px solid var(--line)}.diagnostic-context-inner{width:min(var(--max),calc(100% - 80px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.diagnostic-title{font-size:14px;font-weight:650}.brand-meta{font-size:12px}.level-chip,.xp-chip{border:1px solid #c9d4dc;border-radius:4px;background:#fff;color:var(--navy);padding:6px 10px}.xp-chip{color:var(--orange)}
h1{font-weight:650;letter-spacing:-.065em;line-height:1.06;font-size:clamp(44px,5.1vw,70px)}h1 span{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-style:italic;color:var(--orange);font-size:.94em}h2{font-weight:600;letter-spacing:-.045em;line-height:1.1}h3{font-weight:600;line-height:1.25}.eyebrow{font-weight:750;letter-spacing:.14em}.lead{font-size:18px;line-height:1.7;color:var(--muted)}.hero{min-height:auto;padding:68px 0}.hero:before,.hero:after{display:none}.hero-grid{grid-template-columns:1.1fr 1fr;gap:48px}.hero-art-card{padding:0;border:0;border-radius:0;transform:none;background:transparent;box-shadow:none}.hero-art-card img{aspect-ratio:auto;mix-blend-mode:multiply}.hero-badge{position:static;transform:none;background:transparent;border-radius:0;border-top:1px solid #bfc9cf;color:var(--muted);max-width:none;padding:16px 0;margin-top:22px;font-size:13px;display:flex;gap:12px;align-items:center}.hero-badge strong{color:var(--orange);font-family:Georgia,serif;font-weight:400;font-size:32px}.pill{border-radius:4px;font-size:13px;background:#eaf0f3;color:var(--navy)}.hero-points{gap:8px;margin-bottom:24px}.start-box{border-color:var(--line);border-radius:4px;padding:18px;grid-template-columns:1fr;margin-top:20px}.start-box .btn{justify-self:start}.name-field label{font-size:12px}.name-field input{outline:revert;border-bottom:1px solid var(--line);padding:8px 0}.privacy-note{font-size:13px;line-height:1.6}.btn{border-radius:4px;font-weight:700;font-size:14px;box-shadow:none}.btn-primary{background:var(--navy)}.btn-primary:hover{background:#294f67}.btn:hover{transform:none}.btn-secondary,.btn-ghost{border-color:#a6b0b8}.card{border-color:var(--line);box-shadow:none}.game-principles{background:#fff;border-top:1px solid var(--line);padding:64px 0}.principle-grid{gap:0;border-block:1px solid var(--line);margin-top:28px}.principle-card{border-radius:0;border:0;border-right:1px solid var(--line);padding:25px}.principle-card:last-child{border-right:0}.principle-card .num{font-family:Georgia,serif;font-weight:400;color:#dbe2e6}.principle-icon{border-radius:50%;background:#eaf0f3;color:var(--navy)}.principle-card p{font-size:15px}
.game-wrap{max-width:1320px;padding:32px 40px 80px;gap:28px;grid-template-columns:270px minmax(0,1fr)}.game-sidebar{top:108px}.mission-list{max-height:calc(100vh - 325px)}.progress-label,.mission-item{font-size:13px}.progress-track,.dim-bar-track{background:#e5ebef}.progress-fill{background:var(--navy)}.mission-item{border-radius:4px;color:var(--muted)}.mission-item.active{background:#eaf0f3;color:var(--navy)}.mission-item.active .mission-dot{background:var(--navy)}.mission-dot,.server-icon{border-radius:4px}.sidebar-note{background:#f0f4f6;border-radius:4px}.mission-card{border-radius:6px}.mission-emblem{background:var(--navy);border-radius:6px;box-shadow:none}.question-card{border-color:var(--line);border-radius:4px}.question-card.answered{border-color:#93aab9;background:#f6f9fa}.question-num{font-size:12px}.question-text{font-size:17px;font-weight:600}.scale-btn{border-radius:4px;border-color:#b9c5cd;padding:12px 6px;min-height:72px;color:var(--muted)}.scale-btn span{font-size:12px;line-height:1.3}.scale-btn:hover{background:#eaf0f3;border-color:var(--navy)}.scale-btn.active{background:var(--navy);border-color:var(--navy);box-shadow:none;color:#fff}.answer-counter{font-size:14px}.modal{border-radius:6px;max-height:calc(100dvh - 36px);overflow:auto}.badge-big{border-radius:50%;background:#eaf0f3;color:var(--navy)}.feedback-tip{border-radius:4px;background:#f0f4f6;color:var(--muted)}.challenge-emblem{background:var(--navy);box-shadow:none;border-radius:6px}.choice-btn{border-radius:4px;border-color:var(--line);color:var(--ink);font-size:16px}.choice-btn:hover{background:#eaf0f3;border-color:var(--navy)}.choice-btn.selected{background:#eaf0f3}.scenario-prompt{color:var(--muted)}.scenario-feedback{border-radius:4px;background:#f0f4f6;font-size:16px}.score-card{background:#fff}.score-card:after{display:none}.profile-name{font-weight:600}.metric,.list-clean li,.action-item,.action-step{border-radius:4px}.metric span{font-size:12px}.list-clean li{background:#f0f4f6}.action-item p,.list-clean small{font-size:14px}.legend-note,.disclaimer{font-size:13px;color:var(--muted)}.dim-bar-fill{background:var(--navy)}.site-footer{background:#132e42;color:#dfe8ee;border:0;font-size:13px;padding:32px 0}.footer-brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:16px}.footer-brand img{flex-shrink:0}
@media(max-width:1050px){.wrap,.diagnostic-context-inner{width:calc(100% - 48px)}.container,.footer-inner{padding-inline:24px}.nav{gap:18px}.hero-grid{gap:28px}.hero h1{font-size:52px}.game-wrap{padding-inline:24px}}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}.hero-copy{max-width:720px}.hero-visual{max-width:470px;width:100%}.principle-grid{grid-template-columns:repeat(2,1fr)}.principle-card{border-bottom:1px solid var(--line)}.game-wrap{grid-template-columns:minmax(0,1fr)}.game-sidebar{position:static;min-width:0}.mission-list{max-height:none}.mission-item{min-width:175px}.results-hero,.results-grid,.priority-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:780px){.nav-wrap{height:70px}.menu-btn{display:block}.nav{display:none;position:absolute;top:69px;left:16px;right:16px;background:#fff;border:1px solid var(--line);border-radius:4px;padding:12px;flex-direction:column;align-items:stretch;gap:8px}.nav.open{display:flex}.nav a{padding:10px 12px}.diagnostic-context-inner{align-items:flex-start;flex-direction:column;gap:8px;padding-block:12px}.brand-meta .level-chip{display:inline-flex}.hero{padding:40px 0}.hero h1{font-size:clamp(40px,7vw,56px)}.game-wrap{padding-top:22px}.mission-card{padding:24px}.game-principles{padding:48px 0}}
@media(max-width:560px){.wrap,.diagnostic-context-inner{width:calc(100% - 36px)}.container,.footer-inner{padding-inline:18px}.brand{font-size:16px}.brand-picto{width:42px;height:42px;flex-basis:42px}.hero h1{font-size:43px}.lead{font-size:17px}.start-box .btn{width:100%}.principle-grid{grid-template-columns:1fr}.principle-card{border-right:0}.game-wrap{padding:18px 12px 50px}.mission-card{padding:20px 14px}.mission-head{grid-template-columns:44px minmax(0,1fr);gap:12px}.mission-emblem{width:44px;height:44px;font-size:22px}.mission-head h2{font-size:29px}.question-card{padding:16px 12px}.scale-options{grid-template-columns:1fr;gap:7px}.scale-btn{min-height:44px;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 14px}.scale-btn b{font-size:16px;min-width:16px}.scale-btn span{font-size:14px;text-align:left}.question-text{font-size:16px}.radar-wrap{min-height:0}.footer-inner{align-items:flex-start;flex-direction:column}.results-hero,.results-grid,.priority-grid{min-width:0}.brand-meta{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.topbar,.diagnostic-context,.skip-link,.site-footer{display:none!important}.container{padding:0;max-width:none}.results-hero,.priority-grid{grid-template-columns:1fr 1fr}.results-grid{grid-template-columns:1fr}.game-wrap{padding:0}.print-cover:before{background:var(--navy)}}

/* Pied de page identique à l’accueil, permanent hors des écrans du diagnostic. */
.footer{background:#132e42;color:#dfe8ee;padding:42px 0}.footer-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr;gap:40px;align-items:start}.footer-logo{width:110px;margin-bottom:10px}.footer p{font-size:14px;color:#b9c7d1;margin-bottom:6px}.footer-links,.footer-legal{display:grid;gap:8px;font-size:14px}.footer a:hover{color:var(--gold)}
@media(max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:560px){.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}}
@media print{.footer{display:none!important}}

/* Identité du bilan imprimé et mention éditoriale finale. */
.print-publisher{display:none}
@media print{
  .print-cover:before{background:#fff;border-bottom:1px solid var(--line)}
  .print-cover-brand{display:flex;align-items:center;gap:3mm;color:var(--navy);font-size:15pt;font-weight:800;letter-spacing:-.04em}
  .print-cover-brand img{width:13mm;height:13mm;object-fit:contain}
  .print-cover-kicker{color:var(--navy);font-size:9pt}
  .print-publisher{display:flex;align-items:center;gap:7mm;margin-top:9mm;padding:7mm 8mm;background:#132e42;color:#fff;border:0;border-radius:2mm;break-inside:avoid;page-break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-publisher img{width:30mm;height:auto;flex-shrink:0}
  .print-publisher p{margin:0;color:#fff;font-size:9.5pt;line-height:1.55}
}

/* A4 : largeurs bornées et marges indépendantes de la taille de l’écran. */
@media print{
  @page{size:A4 portrait;margin:15mm}
  html,body{width:auto!important;min-width:0!important;margin:0!important;padding:0!important}
  .app-shell,.results,.results-content{width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  .app-shell{min-height:0}
  .results *{box-sizing:border-box;min-width:0}
  .results .card,.print-cover,.print-publisher{max-width:100%;overflow-wrap:anywhere}
  .results-hero,.priority-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6mm}
  .results-grid{grid-template-columns:minmax(0,1fr)!important}
  .score-card,.calibration-card,.radar-card,.dimensions-card,.priority-card,.action-card{padding:6mm}
  .metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:2mm}
  .metric{padding:3mm 2mm}.metric span{font-size:8pt;letter-spacing:.03em}
  .print-cover{min-height:266mm}
  .print-cover-top{padding-inline:6mm}
  .print-cover-body{padding-inline:8mm}
  .print-cover-copy{width:100%;max-width:100%}
  .print-cover-copy h1{font-size:28pt}
  .print-cover-brand{flex-shrink:0}
  .radar-wrap{display:block;width:100%;min-height:0}
  #radarCanvas{display:block;width:100%!important;max-width:140mm!important;height:auto!important;aspect-ratio:1;margin-inline:auto}
  .dimension-bars{display:grid;grid-template-columns:minmax(0,1fr);columns:auto;gap:3mm}
  .dimension-bars>div{margin:0}
  .dim-bar-head{font-size:9pt}.dim-bar-head strong{flex-shrink:0}
  .action-item{grid-template-columns:10mm minmax(0,1fr)}
  .list-clean li>div,.print-publisher p{min-width:0;flex:1}
  .print-publisher{width:100%;padding:6mm;gap:6mm}
  .print-publisher img{width:28mm}
  .results p,.results li{orphans:3;widows:3}
}

/* Pagination explicite : empêcher la fragmentation des cadres entre les pages. */
@media print{
  .results-content{display:block!important}
  .results-content>.results-hero,
  .results-content>.results-grid,
  .results-content>.dimensions-full,
  .results-content>.priority-grid,
  .results-content>.action-card{
    break-before:page;page-break-before:always;
    break-inside:avoid-page;page-break-inside:avoid;
    margin-top:0!important;margin-bottom:0!important;
  }
  .results-content>.results-grid{display:block!important}
  .results-content .card{break-inside:avoid-page;page-break-inside:avoid;overflow:visible;box-decoration-break:clone;-webkit-box-decoration-break:clone}
  .results-content h2{font-size:18pt;line-height:1.2}
  .results-content h3{font-size:14pt;line-height:1.25}
  .results-content p{font-size:10pt;line-height:1.5}
  .results-content .list-clean small{font-size:9.5pt}
  .results-content .list-clean strong{font-size:10pt}
  .print-publisher p{font-size:9.5pt}
}

/* Contours PDF : trait suffisamment contrasté pour rester continu à l’affichage. */
@media print{
  .results-content .card{
    border:1pt solid #899ba8!important;
    border-radius:0!important;
    background-clip:padding-box;
  }
  .results-content .metric,.results-content .action-item{
    border:0.75pt solid #aab8c2;
    border-radius:0;
  }
}

/* Un contour intérieur évite le rognage du bord droit lors de la rastérisation PDF. */
@media print{
  .results-content .card{
    border:0!important;
    outline:1.25pt solid #899ba8!important;
    outline-offset:-1.25pt;
    background-clip:border-box;
  }
  .results-content .metric,.results-content .action-item{
    border:0!important;
    outline:1pt solid #aab8c2;
    outline-offset:-1pt;
  }
}

@media print{
  .results-content .card,.results-content .metric,.results-content .action-item{
    border:0!important;outline:none!important;
    --print-frame:#899ba8;
    background-image:linear-gradient(var(--print-frame),var(--print-frame)),linear-gradient(var(--print-frame),var(--print-frame)),linear-gradient(var(--print-frame),var(--print-frame)),linear-gradient(var(--print-frame),var(--print-frame))!important;
    background-position:left top,left bottom,left top,right top!important;
    background-size:100% 1.5pt,100% 1.5pt,1.5pt 100%,1.5pt 100%!important;
    background-repeat:no-repeat!important;
    background-origin:border-box!important;background-clip:border-box!important;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  .results-content .metric,.results-content .action-item{--print-frame:#aab8c2}
}
@media print{
  .results-content .card,.results-content .metric,.results-content .action-item{
    background-position:left 1pt top 1pt,left 1pt bottom 1pt,left 1pt top 1pt,right 1pt top 1pt!important;
    background-size:calc(100% - 2pt) 1.5pt,calc(100% - 2pt) 1.5pt,1.5pt calc(100% - 2pt),1.5pt calc(100% - 2pt)!important;
  }
}

/* Couverture PDF : ramener le fond presque blanc du visuel au blanc du papier. */
@media print{
  .print-cover-visual{background:#fff;border:0;box-shadow:none}
  .print-cover-visual img{filter:brightness(1.03)}
}

/* Bilan à l’écran : radar et détail des scores côte à côte. */
@media screen and (min-width:981px){
  .results-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}
  .results-content>*{grid-column:1 / -1;min-width:0}
  .results-content>.results-grid{grid-column:1;display:block}
  .results-content>.dimensions-full{grid-column:2}
  .results-content>.results-grid>.radar-card{height:100%}
  .results-content .radar-wrap{min-height:0;margin-block:24px}
}
