@font-face{font-family:"Geist";src:url("/static/fonts/Geist-Variable.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root{
  --bg:#f7f6fa; --panel:#ffffff; --line:#e3e0ea; --ink:#1b1a20; --ink-2:#55515f; --mute:#8a8695;
  --accent:#7a3ae2; --a-faire-bg:#fff4d6; --a-faire-ink:#6b4b00;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#0e0d11; --panel:#141318; --line:#2d2b34; --ink:#e7e5ee; --ink-2:#a7a3b3; --mute:#6e6b79;
    --accent:#b98cff; --a-faire-bg:#3a2e0c; --a-faire-ink:#ffd98a;
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --bg:#0e0d11; --panel:#141318; --line:#2d2b34; --ink:#e7e5ee; --ink-2:#a7a3b3; --mute:#6e6b79;
  --accent:#b98cff; --a-faire-bg:#3a2e0c; --a-faire-ink:#ffd98a;
  color-scheme:dark;
}
*{box-sizing:border-box}
body{margin:0; background:var(--bg); color:var(--ink); font:15px/1.65 "Geist",system-ui,sans-serif; -webkit-font-smoothing:antialiased}
main{max-width:760px; margin:0 auto; padding:40px 16px 64px}
nav{display:flex; flex-wrap:wrap; gap:6px 18px; margin-bottom:28px; font-size:14px}
nav a{color:var(--ink-2); text-decoration:none}
nav a[aria-current="page"]{color:var(--ink); font-weight:600}
nav a:hover{color:var(--accent)}
.marque{display:flex; align-items:center; gap:10px; font-weight:600; font-size:17px; letter-spacing:-.03em; margin-bottom:18px; color:var(--ink); text-decoration:none}
.marque i{width:26px; height:26px; background:url('/static/favicon.svg') center/contain no-repeat}
h1{font-size:30px; line-height:1.15; letter-spacing:-.03em; margin:0 0 6px}
.maj{color:var(--mute); font-size:13px; margin:0 0 28px}
h2{font-size:19px; letter-spacing:-.02em; margin:36px 0 10px; padding-top:18px; border-top:1px solid var(--line)}
h3{font-size:15px; margin:22px 0 6px}
p,li{color:var(--ink-2)}
strong{color:var(--ink)}
a{color:var(--accent)}
ul{padding-left:20px}
li{margin:4px 0}
.resume{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:16px 20px; margin:0 0 8px}
.resume ul{margin:6px 0 0}
table{width:100%; border-collapse:collapse; font-size:14px; margin:10px 0; display:block; overflow-x:auto}
th,td{text-align:left; vertical-align:top; padding:8px 10px; border-bottom:1px solid var(--line); color:var(--ink-2)}
th{color:var(--ink); font-weight:600; white-space:nowrap}
.a-faire{background:var(--a-faire-bg); color:var(--a-faire-ink); border-radius:5px; padding:0 5px; font-weight:500}
footer{margin-top:48px; color:var(--mute); font-size:13px}
