/* Styles communs : pages Documents et Calculateur (thème Mathémagique) */
:root{--navy:#0B1E3A;--blue:#0B4F9C;--orange:#E8772E;--orangeD:#C9601B;--paper:#F5F1E8;--line:#DDD4C3;--cream:#F4E6C3;--ink:#16213A;--ink2:#4B566B;--red:#C62828;--green:#2B7F50;--card:#FFFDF8}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:16px}
body{margin:0;font:16px/1.6 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);
  background-image:linear-gradient(rgba(11,79,156,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(11,79,156,.07) 1px,transparent 1px);background-size:22px 22px}
a{color:inherit}
header.tb{background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-bottom:5px solid var(--orange);
  padding:calc(14px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 14px max(16px,env(safe-area-inset-left,0px))}
.bar{max-width:1040px;margin:auto;display:flex;align-items:center;gap:12px}
.bar img{height:44px;filter:invert(1)}
.bar b{font:400 32px/1 "Bebas Neue",Impact,sans-serif;letter-spacing:.5px}
.bar .home{margin-left:auto;color:#fff;text-decoration:none;font-weight:600;font-size:15px;border:1.5px solid rgba(255,255,255,.6);padding:7px 14px;border-radius:999px;white-space:nowrap}
.bar .home:hover{background:rgba(255,255,255,.12)}
.wrap{max-width:1040px;margin:auto;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}
.intro{padding:30px 0 8px}
.kicker{color:var(--orangeD);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
h1{font:400 clamp(48px,8vw,84px)/.95 "Bebas Neue",Impact,sans-serif;color:var(--navy);margin:8px 0 10px;letter-spacing:.02em}
h1 span{color:var(--blue)}
.lead{font-size:17px;color:var(--ink2);max-width:640px;margin:0}
.toc{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 6px;padding:0;list-style:none}
.toc a{display:inline-block;text-decoration:none;font:600 13px/1 Inter,sans-serif;border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 13px;color:var(--navy)}
.toc a:hover{border-color:var(--blue);color:var(--blue)}
section.blk{margin:28px 0;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;box-shadow:0 1px 0 rgba(22,33,58,.04),0 10px 28px -14px rgba(22,33,58,.22)}
.bh{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin-bottom:12px}
.bh .n{font:400 40px/1 "Bebas Neue",Impact,sans-serif;color:var(--orangeD)}
h2{font:400 38px/1 "Bebas Neue",Impact,sans-serif;color:var(--navy);margin:0;letter-spacing:.02em}
.bh p{margin:0;color:var(--ink2);font-size:14px;flex-basis:100%}
h3{font:400 24px/1.05 "Bebas Neue",Impact,sans-serif;color:var(--blue);margin:16px 0 8px;letter-spacing:.03em}
.note{font-size:13px;color:var(--ink2)}
.warn{background:#FFF4E8;border-left:4px solid var(--orange);border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0}
.ok{background:#EAF5EE;border-left:4px solid var(--green);border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0}
.btn{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:600 15px/1 Inter,sans-serif;padding:12px 16px;border-radius:9px;background:var(--navy);color:#fff;border:0;cursor:pointer}
.btn small{font-weight:400;opacity:.75;font-size:12px}
.btn:hover{background:var(--blue)}
.btn.alt{background:#fff;color:var(--navy);border:1.5px solid var(--navy)}
.btn.alt:hover{background:var(--navy);color:#fff}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
table.t{width:100%;border-collapse:collapse;font-size:14.5px}
table.t th{text-align:left;font:600 12px/1.2 Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);border-bottom:2px solid var(--line);padding:8px 8px}
table.t td{border-bottom:1px solid var(--line);padding:9px 8px;vertical-align:top}
table.t td.num{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
footer{margin-top:40px;background:var(--navy);color:var(--cream);text-align:center;padding:18px 16px calc(18px + env(safe-area-inset-bottom,0px));font-size:14px}
footer a{color:var(--orange);text-decoration:none;font-weight:600}
@media (max-width:640px){
  section.blk{padding:16px;border-radius:14px}
  h2{font-size:32px}.bh .n{font-size:32px}
  table.t{font-size:13.5px}
}
[hidden]{display:none!important}
