:root{
  --bg:#0f172a;
  --header:#0b1326;
  --surface:#111c33;
  --surface2:#17233d;
  --border:#2a3858;
  --text:#eef2ff;
  --muted:#a7b0c3;
  --accent:#38bdf8;
  --accent-soft:rgba(56,189,248,.08);
  --green:#34d399;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit}
.site-header{position:sticky;top:0;z-index:20;background:rgba(11,19,38,.96);border-bottom:1px solid var(--border)}
.nav{max-width:1050px;margin:auto;padding:15px 22px;display:flex;align-items:center;gap:28px}
.brand{margin-right:auto;text-decoration:none;color:var(--accent);font-family:Consolas,"Courier New",monospace;font-weight:700}
.nav-links{display:flex;gap:22px;flex-wrap:wrap}.nav-links a{text-decoration:none;color:var(--muted);font-size:.9rem}.nav-links a:hover{color:var(--text)}
main{max-width:1050px;margin:auto;padding:0 22px 80px}
section{padding:64px 0;border-bottom:1px solid rgba(42,56,88,.65);scroll-margin-top:65px}
.hero{padding-top:72px}
.terminal-label,.project-num{font-family:Consolas,"Courier New",monospace;color:var(--muted);font-size:.82rem;margin:0 0 10px}
.terminal-card{max-width:620px;background:#0a1223;border:1px solid var(--border);border-radius:9px;padding:17px 19px;margin-bottom:34px;font-family:Consolas,"Courier New",monospace;font-size:.91rem}.terminal-card p{margin:3px 0}.prompt{color:var(--green);font-weight:700}.terminal-output{color:#cbd5e1;padding-left:22px}
.eyebrow{color:var(--accent);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase}
h1{font-size:clamp(3rem,9vw,6.4rem);line-height:.9;margin:14px 0 24px;letter-spacing:-.05em}h1 span{color:var(--accent)}
h2{font-size:1.75rem;margin:0}h3{font-size:1.08rem;margin:0 0 9px}p{margin:8px 0}.lead,.section-intro{color:var(--muted);max-width:720px}.lead{font-size:1.05rem}
.section-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-title>span{font-family:Consolas,"Courier New",monospace;color:var(--accent);font-size:.8rem;border:1px solid rgba(56,189,248,.32);padding:3px 7px;border-radius:4px}
.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.btn{display:inline-block;padding:10px 15px;border:1px solid var(--border);border-radius:7px;text-decoration:none;background:var(--surface);color:var(--text);font-size:.92rem}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#07111f;font-weight:700}
.card,.project,.skill-card{background:var(--surface);border:1px solid var(--border);border-radius:10px}.compact{padding:21px}.card p,.project p,.skill-card p{color:var(--muted)}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tags span{font-size:.76rem;padding:3px 8px;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.01)}
.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.skill-card{padding:20px;text-decoration:none;transition:border-color .15s,transform .15s}.skill-card:hover{border-color:rgba(56,189,248,.55);transform:translateY(-1px)}.skill-card strong{display:block;color:var(--accent);font-family:Consolas,"Courier New",monospace;font-size:.78rem;margin-bottom:7px}.skill-card p{margin-bottom:0;font-size:.9rem}
.project{padding:23px;margin-top:16px}.project-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px}.project-head .tags{margin-top:0;justify-content:flex-end}.project>p{max-width:860px}.evidence-note{margin-top:16px;border-left:3px solid var(--accent);background:var(--accent-soft);padding:10px 13px;color:var(--muted);font-size:.88rem}.evidence-note strong{color:var(--text)}
.proof-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.proof-row figure,.single-proof{margin:0}.proof-row img,.single-proof img{display:block;width:100%;height:260px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#fff}.proof-row figcaption,.single-proof figcaption{font-size:.78rem;color:var(--muted);margin-top:6px}.single-proof{margin-top:16px}
.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.synthese-card{display:flex;align-items:center;justify-content:space-between;gap:22px}.synthese-card .btn{flex-shrink:0}
footer{padding:26px 22px;text-align:center;color:var(--muted);font-size:.82rem}
@media(max-width:760px){.nav{align-items:flex-start;gap:12px}.nav-links{display:none}main{padding-left:17px;padding-right:17px}.skills-grid,.two-columns,.proof-row{grid-template-columns:1fr}.project-head,.synthese-card{flex-direction:column}.project-head .tags{justify-content:flex-start}section{padding:48px 0}.hero{padding-top:52px}}

.proof-grid-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.proof-grid-three figure{margin:0}
.proof-grid-three img{display:block;width:100%;height:180px;object-fit:contain;border:1px solid var(--border);border-radius:8px;background:#fff}
.proof-grid-three figcaption{font-size:.78rem;color:var(--muted);margin-top:6px}
.proof-link{display:block;text-decoration:none}
.proof-link img{transition:border-color .15s}
.proof-link:hover img{border-color:var(--accent)}

@media(max-width:760px){.proof-grid-three{grid-template-columns:1fr}.proof-grid-three img{height:auto}}

/* Liens Compétences E5 : cible visible et facile à comprendre */
.skill-link{
  display:block;
  margin-top:12px;
  color:var(--accent);
  font-size:.82rem;
  font-weight:600;
}
.competence-target{
  scroll-margin-top:90px;
  margin:12px 0 16px;
  padding:11px 13px;
  border-left:3px solid var(--accent);
  background:var(--accent-soft);
  border-radius:6px;
}
.competence-target strong{
  display:block;
  color:var(--text);
  margin-bottom:4px;
}
.competence-target span{
  display:block;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.5;
}
.competence-target:target{
  outline:2px solid rgba(56,189,248,.55);
  outline-offset:3px;
}
