/* ISNAD dans la famille des kits FSJES / MIAMoot 2027 : nuit, or, vélin ; Cormorant Garamond
   pour les titres, Archivo pour l'information, Amiri pour l'arabe ; angles droits, filets d'encre,
   étiquettes capitales espacées, grands chiffres extra-fins étroits, frise à huit branches. */
@font-face{font-family:Archivo;src:url('/fonts/archivo.woff2') format('woff2');font-weight:100 900;font-stretch:62% 125%;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/fonts/cormorant-italic.woff2') format('woff2');font-style:italic;font-weight:300 700;font-display:swap}
@font-face{font-family:Amiri;src:url('/fonts/amiri-ar-400.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:Amiri;src:url('/fonts/amiri-ar-700.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-08FF,U+FB50-FDFF,U+FE70-FEFF,U+200C-200F}
@font-face{font-family:Amiri;src:url('/fonts/amiri-lat-400.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F}
@font-face{font-family:Amiri;src:url('/fonts/amiri-lat-700.woff2') format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F}

:root{
  --nuit:#10233a;--nuit-2:#0b1a2c;--or:#a8742a;--or-vif:#c28631;--or-clair:#e2c07a;--velin:#f3ece0;--papier:#f7f3ec;
  --encre:#13202f;--or-texte:#8a5a17;--gris:#565b63;--filet:#d6ccbb;
  --serif:'Cormorant Garamond',Georgia,serif;--ui:Archivo,'Segoe UI',system-ui,sans-serif;--arabic:Amiri,'Noto Naskh Arabic',serif;
  --ink:var(--encre);--muted:var(--gris);--line:var(--filet);--canvas:var(--papier);--paper:var(--papier);
  --teal:var(--nuit);--teal-soft:#ece4d4;--focus:var(--or-vif);--night:var(--nuit);
  --frise:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12' viewBox='0 0 36 12'%3E%3Cpath d='M0 6h12M24 6h12' stroke='%23c28631'/%3E%3Crect x='14.5' y='2.5' width='7' height='7' fill='%23c28631'/%3E%3Crect x='14.5' y='2.5' width='7' height='7' fill='%23c28631' transform='rotate(45 18 6)'/%3E%3C/svg%3E");
}
body{background:var(--papier);color:var(--encre);font-family:var(--ui)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--or-vif);outline-offset:3px}

/* Barre latérale : le champ de nuit */
.sidebar{background:var(--nuit);color:var(--velin)}
.isnad-wordmark>span[lang=ar]{font-family:var(--arabic);font-weight:700}
.isnad-latin{font-family:var(--ui);font-weight:600;letter-spacing:.32em;color:var(--or-clair)}
.isnad-mark{background:var(--velin)}
.sidebar-caption,.corpus-eyebrow{font:700 10.5px/1.2 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--or-clair)}
.nav-item{border-radius:0;color:var(--velin);font-family:var(--ui);font-size:13px;white-space:nowrap}
.nav-item.active{background:#ffffff12;box-shadow:inset 3px 0 var(--or-vif)}
.nav-item:hover,.recent-button:hover{background:#ffffff0d}
.nav-dot{background:var(--or-vif);border-radius:0;transform:rotate(45deg)}
.nav-count{color:var(--or-clair);font-variant-numeric:tabular-nums}
.corpus-box{border-color:#ffffff26;border-top:1.5px solid var(--or-vif)}
.corpus-count{font:200 58px/1 var(--ui);font-stretch:62%;letter-spacing:0;color:var(--or-clair);margin-top:12px}
.corpus-box p,.recent-button,.sidebar-footer,.sidebar-footer small,.recent-empty{color:#d8dde5}
.corpus-range{border-radius:0;border-color:#ffffff40;color:var(--velin);font-variant-numeric:tabular-nums}
.local-dot{background:var(--or-vif);border-radius:0;transform:rotate(45deg)}
.sidebar-footer{border-color:#ffffff26}

/* Cormorant : chiffres alignés, lisibles dans les numéros de décision. */
h1,h2,.card-number,.results-heading h2,.reader-top h2{font-variant-numeric:lining-nums tabular-nums}

/* En-tête et champ de recherche */
.topbar{background:var(--papier);border-bottom:1px solid var(--filet)}
.breadcrumb{font-family:var(--ui);letter-spacing:.02em}
.topbar-badge{border-radius:0;background:transparent;border:1.5px solid var(--encre);color:var(--encre);font:600 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase}
.search-area{background:var(--papier);border-bottom:0}
.hero{background:var(--nuit);border-bottom:0;box-shadow:none}
.hero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:12px;background:var(--frise) repeat-x center/36px 12px;opacity:.9;z-index:1}
.hero .eyebrow{color:var(--or-clair);font:700 11px/1.2 var(--ui);letter-spacing:.16em}
.hero h1,h1{font-family:var(--serif);font-weight:600;letter-spacing:0;color:var(--velin)}
.hero h1{font-size:40px;line-height:1.05}
.hero-caption{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--or-clair)}
.hero-index{font-family:var(--ui);color:#c9d0da;letter-spacing:.04em}
.hero-index strong{color:var(--velin)}
.hero-index span+span{border-color:#ffffff30}
.hero-word{font-family:var(--arabic);font-weight:700;color:var(--velin)}
.hero-ar-caption{font-family:var(--arabic);color:var(--or-clair)}
.hero-geometry{opacity:.38}
.hero-geometry path{stroke:var(--or-vif)}
.hero-geometry .hero-rule{stroke:var(--or-clair)}
.hero-point{fill:var(--or-vif)}
.search-box{border-radius:0;border:1.5px solid var(--encre);background:#fff;box-shadow:4px 4px 0 var(--filet)}
.search-box:focus-within{border-color:var(--nuit);box-shadow:4px 4px 0 var(--or-clair)}
.search-box input{font-family:var(--ui)}
.search-box kbd{border-radius:0;border-color:var(--filet);font-family:var(--ui)}
.primary{border-radius:0;background:var(--nuit);font:600 13px var(--ui);letter-spacing:.06em}
.primary:hover{background:var(--nuit-2)}
.search-box .primary svg{color:var(--or-clair)}
.search-explanation{font-family:var(--ui);color:var(--gris)}
.query-example{border-radius:0;background:var(--velin);color:var(--nuit);font-family:var(--arabic)}
.suggestions>span{font:700 10.5px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--or-texte)}
.suggestions button{border-radius:0;border:1px solid var(--filet);background:transparent;color:var(--encre);font-family:var(--ui)}
.suggestions button:hover{background:var(--velin);border-color:var(--or)}
.suggestions button b{font-family:var(--arabic);color:var(--nuit);font-weight:700}
.filter-control label{font:700 10px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.filter-control select,.filter-control input{border-radius:0;border:1px solid var(--filet);background:#fff;color:var(--encre);font-family:var(--ui)}
.text-button{color:var(--or-texte);font-family:var(--ui);font-weight:600}

/* Résultats : fiches de papier, filet d'encre */
.workspace{background:var(--papier)}
.results-heading{border-top:1.5px solid var(--encre);padding-top:12px}
.results-heading h2{font:600 19px/1.1 var(--ui);font-stretch:85%;letter-spacing:.01em;color:var(--encre)}
.results-heading>span{font-family:var(--ui);font-variant-numeric:tabular-nums}
.result-card{border-radius:0;background:#fff;border:1px solid var(--filet);box-shadow:none}
.result-card:hover{transform:none;border-color:var(--or);box-shadow:none}
.result-card.selected{border-color:var(--nuit);box-shadow:inset 4px 0 var(--or-vif)}
.result-open{border-radius:0}
.card-label{font:700 10px var(--ui);letter-spacing:.14em;color:var(--or-texte)}
.card-number{font:500 23px/1.05 var(--ui);font-stretch:75%;letter-spacing:.01em;color:var(--encre)}
.card-date{font-family:var(--ui);color:var(--gris);font-variant-numeric:tabular-nums}
.card-chamber{border-radius:0;background:transparent;border:1px solid var(--nuit);color:var(--nuit);font:600 10px var(--ui);letter-spacing:.08em;text-transform:uppercase;padding:3px 7px}
.card-excerpt{font-family:var(--arabic);color:#2c3744;line-height:1.75}
.card-footer{font-family:var(--ui);border-top:1px solid var(--filet);padding-top:9px}
.card-save{border-radius:0;color:var(--gris)}
.card-save:hover{background:var(--velin)}
.card-save.saved{color:var(--or)}
.saved svg{fill:var(--or-clair)}
.icon-button{border-radius:0;border:1.5px solid var(--encre);background:transparent}
.icon-button:hover{background:var(--velin)}
.pagination>span{font-family:var(--ui);font-variant-numeric:tabular-nums}
.empty-results{border-radius:0;border:1px solid var(--filet);background:#fff}
.empty-results h3{font:600 24px var(--serif)}
.skeleton{border-radius:0;background:linear-gradient(110deg,#efe8db 30%,#f8f4ec 50%,#efe8db 70%);background-size:200% 100%}

/* Aide aux recherches en français */
.fr-help{background:var(--velin);border:1px solid var(--filet);border-top:3px solid var(--or-vif);padding:14px 16px 16px;margin-bottom:12px}
.fr-help-title{margin:0 0 4px;font:600 21px/1.15 var(--serif);color:var(--encre)}
.fr-help-text{margin:0 0 12px;font:400 13.5px/1.5 var(--ui);color:var(--gris)}
.fr-help-text span{color:var(--encre);font-weight:600}
.fr-help-terms{display:flex;flex-wrap:wrap;gap:8px}
.fr-term{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:56px;padding:6px 12px;border:1.5px solid var(--encre);background:#fff;border-radius:0;color:var(--encre);text-align:left}
.fr-term b{font:700 21px/1.25 var(--arabic);color:var(--nuit)}
.fr-term span{font:500 11.5px var(--ui);color:var(--gris)}
.fr-term:hover{background:var(--nuit);color:var(--velin)}
.fr-term:hover b,.fr-term:hover span{color:var(--velin)}

/* Deux façons de chercher ; « Décrire ma situation » */
.mode-tabs{display:flex;gap:0;margin:0 0 12px;border-bottom:1.5px solid var(--encre)}
.mode-tabs button{min-height:44px;padding:0 18px;border:0;background:transparent;color:var(--gris);font:600 13.5px var(--ui);letter-spacing:.02em;border-bottom:4px solid transparent;margin-bottom:-1.5px}
.mode-tabs button[aria-pressed=true]{color:var(--encre);border-bottom-color:var(--or-vif)}
.mode-tabs button:hover{color:var(--encre)}
#story-form{display:grid;gap:10px}
#story-form[hidden]{display:none}
.story-label{font:600 14px var(--ui);color:var(--encre)}
#story{width:100%;min-height:96px;resize:vertical;border:1.5px solid var(--encre);border-radius:0;padding:12px 14px;font:400 16px/1.5 var(--ui);color:var(--encre);background:#fff;box-shadow:4px 4px 0 var(--filet)}
#story:focus{outline:none;box-shadow:4px 4px 0 var(--or-clair)}
.story-actions{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.story-actions .primary{min-height:46px;padding:0 20px}
.story-note{flex:1;min-width:240px;margin:0;font:400 12.5px/1.55 var(--ui);color:var(--gris)}
.situation-notions{background:var(--velin);border:1px solid var(--filet);border-top:3px solid var(--nuit);padding:14px 16px 16px;margin-bottom:12px}
.notion[aria-pressed=false]{background:transparent;border-style:dashed;border-color:var(--gris);opacity:.75}
.notion[aria-pressed=false] b{text-decoration:line-through;text-decoration-color:var(--gris)}
.card-notions{display:block;margin:-2px 0 8px;font:500 12px var(--ui);color:var(--gris)}
.card-notions bdi{font:700 15px var(--arabic);color:var(--nuit)}
@media(max-width:700px){.mode-tabs button{flex:1;padding:0 8px;font-size:13px}.story-actions .primary{width:100%;justify-content:center;font-size:14px}}

/* Lecteur : le vélin du traité */
.reader{border-radius:0;border:1px solid var(--filet);background:var(--velin);box-shadow:0 18px 44px -30px rgba(16,35,58,.55)}
.reader-top{background:var(--velin);border-top:0;border-bottom:1px solid var(--filet);position:relative;padding-top:28px}
.reader-top::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:var(--nuit)}
.reader-eyebrow>span{font:700 10.5px var(--ui);letter-spacing:.14em;color:var(--or-texte)}
.reader-top h2,.reader-placeholder h2{font-family:var(--serif);font-weight:600;letter-spacing:0;color:var(--encre)}
.reader-top h2{font-size:34px;line-height:1.05}
.meta-item{border-top:1px solid var(--filet);padding-top:8px}
.meta-item small{font:700 9.5px var(--ui);letter-spacing:.14em;color:var(--gris)}
.meta-item span,.meta-item bdi{font:500 13.5px var(--ui);font-variant-numeric:tabular-nums}
.reader-tools{background:var(--papier);border-bottom:1px solid var(--filet)}
.tool-button,.font-button{border-radius:0;color:var(--encre);font-family:var(--ui)}
.tool-button:hover,.font-button:hover{background:var(--velin)}
#focus-reading[aria-pressed=true]{background:var(--nuit);color:var(--velin)}
.reader-source{background:#f6e5bf;color:#5e4100;font-family:var(--ui)}
.reader-scroll{background:var(--velin)}
.reader-scroll:focus-visible{outline:2px solid var(--or-vif);outline-offset:-4px}
.decision-text{font-family:var(--arabic);color:#1b2633;line-height:2}
mark{background:#f1d79a;box-shadow:0 2px 0 var(--or-vif)}
.reader-placeholder{background:var(--velin)}
.placeholder-mark{border-radius:0;background:var(--nuit);border:0;color:var(--or-clair)}
.placeholder-line{height:12px;width:108px;background:var(--frise) repeat-x center/36px 12px}
.integrity{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 22px;background:var(--papier);border-bottom:1px solid var(--filet);font:500 11px var(--ui);color:var(--gris)}
.integrity b{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:10px;color:var(--nuit)}
.integrity code{font:500 11px ui-monospace,Consolas,monospace;background:transparent;color:var(--encre);direction:ltr}
.integrity::before{content:'';width:7px;height:7px;background:var(--or-vif);transform:rotate(45deg);flex-shrink:0}
.toast{border-radius:0;background:var(--nuit);color:var(--velin);font-family:var(--ui);box-shadow:4px 4px 0 var(--or-vif)}
.mobile-back{color:var(--nuit);font-family:var(--ui);font-weight:600}

@media(max-width:1150px){.hero h1{font-size:34px}}
@media(max-width:960px){.hero h1{font-size:31px}}
@media(max-width:700px){
  .sidebar{background:var(--nuit)}
  .nav-item{width:44px;height:44px}
  .search-box input,.search-box .primary{min-height:44px}
  .filter-control select,.filter-control input,.text-button{min-height:44px;height:44px}
  .suggestions button,.query-example{min-height:44px}
  .hero h1{font-size:27px}
  .hero-caption{font-size:16px}
  .card-number{font-size:22px}
  .reader-top h2{font-size:28px}
  .search-box{box-shadow:3px 3px 0 var(--filet)}
  .search-box .primary{font-size:0;padding:0 12px}
  .hero-ar-caption{font-size:13px;white-space:nowrap}
  body.has-query .hero{min-height:0;padding-top:16px;padding-bottom:22px}
  body.has-query .hero-caption,body.has-query .hero .eyebrow,body.has-query .hero-ar-caption{display:none}
  body.has-query .hero-word{font-size:52px}
  .results-heading{scroll-margin-top:8px}
}
@media(min-width:701px){body.has-query .hero h1{font-size:32px}}
@media print{.reader,.reader-top,.reader-scroll{background:#fff}.reader-top::before,.integrity{display:none}}
