@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@600;700;800;900&display=swap');

/* Charte commune : fond ocre léger, couleurs mates et courbes douces. */
:root {
  color-scheme:light;
  --ink:#211d59; --text:#211d59; --muted:#74718d;
  --paper:#faf7ef; --bg:#faf7ef; --bg-soft:#f1eadb;
  --card:#fffdf8; --card2:#fffdf8; --wash:#f1eadb;
  --line:#e2d9c5; --teal:#208373; --cobalt:#5e70bd;
  --coral:#8656ce; --saffron:#c4dce7; --lime:#d7ebed;
  --accent:#14747e; --accent-strong:#16596a; --accent-soft:rgb(20 116 126 / 12%);
  --shadow:0 8px 22px rgb(56 81 113 / 10%); --radius:20px;
  --font-sans:"Nunito Sans",system-ui,-apple-system,sans-serif;
}
html {background:var(--paper);}
body {
  isolation:isolate; min-width:320px; min-height:100vh; color:var(--ink) !important;
  background:radial-gradient(ellipse at 10% 0%,#f0e5ce,transparent 48%),radial-gradient(ellipse at 100% 100%,#f3ead8,transparent 48%),#faf7ef !important;
  font:16px/1.6 var(--font-sans) !important;-webkit-font-smoothing:antialiased;
}
body::before,body::after {position:fixed;z-index:-1;pointer-events:none;content:"";}
body::before {
  top:-130px;left:-170px;width:420px;height:440px;border-radius:45% 55% 58% 42%;
  background:linear-gradient(135deg,#ebddbe,#e8d7b4 45%,#eddfc4);
  box-shadow:30px 12px 0 #eee3cb,60px 8px 0 #f3ecdd;
}
body::after {
  right:-200px;bottom:-180px;width:440px;height:480px;border-radius:55% 45% 35% 50%;
  background:linear-gradient(135deg,#e9d9b8,#eddfc5,#f2e9d5);
}
h1,h2,h3,.title,.value {font-family:var(--font-sans) !important;color:var(--ink) !important;font-weight:850 !important;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere;}
h1 {max-width:100%;font-size:clamp(1.8rem,4vw,2.6rem) !important;}
h2 {font-size:clamp(1.3rem,2.6vw,1.8rem) !important;}
h3 {font-size:1.1rem !important;}
h1::after {display:block;width:88px;height:7px;margin-top:16px;border-radius:99px;background:linear-gradient(90deg,#5f82ad,#69a3b7,#95c4c8);content:"";}
a {color:#14747e !important;text-decoration-color:#96bbc8 !important;}
a:hover {color:#5e49a9 !important;}
.nav {
  gap:4px !important;padding:5px !important;border:1px solid var(--line) !important;
  border-radius:18px !important;background:#fffdf8 !important;box-shadow:0 5px 14px rgb(56 81 113 / 8%) !important;
  backdrop-filter:none;
}
.nav-link {
  border:0 !important;border-radius:13px !important;font:800 .85rem/1.25 var(--font-sans) !important;
  letter-spacing:0;text-transform:none;color:#16596a !important;gap:7px;min-width:0;
}
.nav-link:hover,.nav-link:focus-visible {background:#d7ebed !important;color:#16596a !important;transform:translateY(-1px) !important;}
.nav-link.is-active,.nav-link.is-active:hover {color:#fff !important;background:linear-gradient(135deg,#208373,#14747e) !important;}
.nav-link .nav-icon {display:inline-block !important;width:16px !important;height:16px !important;flex-shrink:0;}
.back {font:700 .85rem var(--font-sans);}
.search,.card,.block,.panel,.empty,.work,details {
  border:1px solid var(--line) !important;border-radius:22px !important;
  background:#fffdf8 !important;box-shadow:var(--shadow) !important;
}
.search,.block,.panel,.empty {border-top:1px solid var(--line) !important;border-left:1px solid var(--line) !important;}
.card:nth-child(n),.work:nth-child(n) {border-top:1px solid var(--line) !important;}
.search {gap:12px;}
.search input,input[type="text"],input[type="search"],input:not([type]),select,textarea {
  color:var(--ink) !important;background:#fff !important;border:1px solid #c7c3df !important;
  border-radius:12px !important;font-family:var(--font-sans) !important;
  box-shadow:0 3px 9px rgb(64 57 116 / 5%) !important;
}
input::placeholder {color:#8c91a5 !important;}
.search input:focus,input[type="text"]:focus,input[type="search"]:focus,input:not([type]):focus,select:focus,textarea:focus {
  border-color:#8650ed !important;outline:none;box-shadow:0 0 0 3px rgb(136 80 237 / 15%) !important;
}
input[type="checkbox"] {accent-color:#208373;}
.button,button,a.btn,.modal__btn {
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  border:0 !important;border-radius:14px !important;color:#fff !important;
  background:linear-gradient(135deg,#8656ce,#6842b9) !important;
  box-shadow:0 5px 12px rgb(68 50 112 / 13%) !important;
  font:800 .85rem/1.3 var(--font-sans) !important;text-transform:none;letter-spacing:0;
  transition:transform .18s ease,box-shadow .18s ease;
}
.button:hover,button:hover,a.btn:hover,.modal__btn:hover {color:#fff !important;border-color:transparent !important;transform:translateY(-2px);box-shadow:0 8px 16px rgb(68 50 112 / 18%) !important;}
.button.secondary,a.btn.secondary {color:#16596a !important;background:#d7ebed !important;border:1px solid #85bfc3 !important;box-shadow:none !important;}
.button.secondary:hover,a.btn.secondary:hover {color:#16596a !important;background:#c9e3e7 !important;}
.quick-action {font-weight:800 !important;}
a:focus-visible,button:focus-visible {outline:3px solid #6841d9;outline-offset:4px;}
.fields {color:var(--ink);}
.card img,.work img,.thumb,.art,.hero {border-radius:14px !important;background:#f1eadb !important;}
.work {overflow:hidden;}
.work img {border-bottom-left-radius:0 !important;border-bottom-right-radius:0 !important;}
.card .body {line-height:1.6;}
.description,.facts > div {overflow-wrap:anywhere;min-width:0;}
.summary,.meta,.label,.muted,.note,.tags,.small,.rank {color:var(--muted) !important;}
.value {color:#14747e !important;font-size:clamp(1.8rem,4vw,2.8rem) !important;}
table {background:transparent !important;}
th {color:#536b7d !important;background:#f1eadb !important;font-family:var(--font-sans) !important;letter-spacing:.025em;}
th,td {border-color:var(--line) !important;}
tr:hover td {background:#eef3f8 !important;}
.block,.vocabulary details {overflow-x:auto;}
.progress {background:#dce8ef !important;border-radius:99px !important;}
.progress span {background:linear-gradient(90deg,#208373,#14747e) !important;}
details[open] {border-left:3px solid #69a3b7 !important;}
.pagination {flex-wrap:wrap;}
.pagination a,.pagination span {border:1px solid #85bfc3 !important;border-radius:12px !important;color:#16596a !important;background:#d7ebed !important;}
.pagination .active,.pagination .current {color:#fff !important;background:#5e70bd !important;border-color:#5e70bd !important;}
@media(max-width:650px) {
 .nav {gap:2px !important;}
 .nav-link {padding:.65rem .4rem !important;font-size:clamp(.68rem,2.7vw,.8rem) !important;gap:5px;}
 .nav-link .nav-icon {width:14px !important;height:14px !important;}
 .card,.panel,.block,.search,.empty,details {border-radius:18px !important;}
 h1 {font-size:clamp(1.65rem,6vw,2rem) !important;}
}
@media(max-width:380px) {.facts {grid-template-columns:minmax(90px,35%) minmax(0,1fr) !important;}}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {transition:none !important;scroll-behavior:auto !important;}}

/* Les anciens index de dossiers utilisent aussi la charte partagée. */
body.archive-page {margin:0;padding:clamp(20px,5vw,60px);}
.archive-page > h2,.archive-page > .list,.archive-page > .foot {max-width:1120px;margin-inline:auto;}
.archive-page > h2 {margin-bottom:22px;}
.archive-page > .list {padding:18px;border:1px solid var(--line);border-radius:22px;background:#fffdf8;box-shadow:var(--shadow);overflow-x:auto;}
.archive-page table {width:100%;margin:0;border-collapse:collapse;}
.archive-page td,.archive-page th {padding:10px 12px;font:14px/1.5 var(--font-sans);text-align:left;white-space:nowrap;}
.archive-page td.n,.archive-page th.n {min-width:160px;white-space:normal;overflow-wrap:anywhere;}
.archive-page .foot {padding-top:12px;color:var(--muted);font:12px var(--font-sans);}
.archive-page th a {cursor:pointer;}
