:root{
 --primary:#183153;--secondary:#365a7c;--accent:#b68413;--bg:#f6f4ef;--surface:#fff;
 --text:#20242a;--muted:#56616c;--border:#d7d9dc;--ok:#2f6f4e;--warn:#8a5b00;
 --danger:#9a3030;--surface-soft:#eef2f6;--focus:#50769b;--radius:12px;--shadow:0 6px 20px rgba(24,49,83,.065);
 --space-1:.35rem;--space-2:.65rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.25rem;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:17px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--secondary)}button,input,select,textarea{font:inherit}.wrap{width:min(1200px,92vw);margin:auto}
.site-header{background:#234563;color:#fff;padding:1.22rem 0 1rem;position:sticky;top:0;z-index:10;box-shadow:var(--shadow)}.header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem}.brand{color:#fff;text-decoration:none}.brand-name{font-family:Georgia,"Times New Roman",Times,serif;font-size:1.92rem;line-height:1;font-weight:700;letter-spacing:.005em}.brand small{display:block;color:#eef4f8;margin-top:.28rem}
.site-header nav{display:flex;justify-content:flex-end;gap:.3rem;flex-wrap:wrap;padding-top:.12rem}.site-header nav a{color:#fff;text-decoration:none;padding:.54rem .7rem;border-radius:8px}.site-header nav a:hover,.site-header nav a.active{background:rgba(255,255,255,.17)}.site-header nav a.active{box-shadow:inset 0 -2px 0 rgba(255,255,255,.72)}.site-header nav a.nav-guide{border:1px solid rgba(255,255,255,.24)}main{padding:2.25rem 0 4rem}
.panel,.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:1.5rem}.card{padding:1.15rem}.hero{display:grid;grid-template-columns:1.55fr 1fr;gap:1.5rem}.logo-display{font-family:Georgia,"Times New Roman",Times,serif;font-size:clamp(2.45rem,5.2vw,4.45rem);font-weight:700;line-height:1;color:var(--primary);letter-spacing:.003em;margin:.4rem 0 1rem}.eyebrow{color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}h1,h2,h3{line-height:1.18;color:var(--primary)}h1{font-size:clamp(2rem,4vw,3.25rem);margin:.35rem 0 1rem}h2{margin-top:0}.lead{font-size:1.15rem;color:var(--muted)}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat strong{display:block;font-size:2rem;color:var(--primary)}.source-badge{display:inline-flex;align-items:center;gap:.45rem;background:#e8f4ed;color:var(--ok);border-radius:999px;padding:.35rem .7rem;font-size:.85rem;font-weight:700}.source-badge.static{background:#fff2d6;color:var(--warn)}
.toolbar{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.75rem;margin-bottom:1rem}input,select,textarea{width:100%;padding:.72rem .8rem;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--text)}input::placeholder,textarea::placeholder{color:#929aa3;font-style:italic;opacity:1}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;line-height:1.5}button,.button{border:1px solid transparent;border-radius:9px;padding:.7rem 1rem;cursor:pointer;background:var(--primary);color:#fff;text-decoration:none;display:inline-block;transition:background-color .16s ease,border-color .16s ease,transform .16s ease}button:hover,.button:hover{transform:translateY(-1px)}button.secondary,.button.secondary{background:var(--secondary)}button.light,.button.light{background:#e8edf2;color:var(--primary);border-color:#cbd6e0}button.light:hover,.button.light:hover{background:#dfe7ee;border-color:#b9c8d5}button.danger{background:var(--danger)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.doc-card{display:flex;flex-direction:column;gap:.55rem}.doc-card h3{margin:0}.meta{font-size:.88rem;color:var(--muted)}.badges{display:flex;gap:.4rem;flex-wrap:wrap}.badge{background:#edf1f5;color:var(--primary);border-radius:999px;padding:.18rem .5rem;font-size:.78rem;text-decoration:none}.status{font-weight:700}.status.Publié,.status.Adopté{color:var(--ok)}.status.En-cours,.status.En-expérimentation,.status.Brouillon{color:var(--warn)}.empty{padding:2rem;text-align:center;color:var(--muted)}
.doc-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(270px,1fr);gap:1.25rem}.markdown-body{font-family:Georgia,"Times New Roman",Times,serif;font-size:1.08rem}.markdown-body h1{font-size:2.4rem}.markdown-body h2{margin-top:2.2rem;border-bottom:1px solid var(--border);padding-bottom:.3rem}.markdown-body pre{background:#172231;color:#f4f7fa;padding:1rem;border-radius:10px;overflow:auto;font:15px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-body code{background:#edf1f5;padding:.12rem .3rem;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.markdown-body pre code{background:transparent;padding:0}.markdown-body blockquote{border-left:4px solid var(--accent);margin:1.4rem 0;padding:.5rem 1rem;background:#fff8e4}.markdown-body li{margin:.28rem 0}.relations ul{padding-left:1.2rem}.kv{display:grid;grid-template-columns:125px 1fr;gap:.4rem .8rem;font-size:.92rem}.kv dt{font-weight:700;color:var(--primary)}.kv dd{margin:0;overflow-wrap:anywhere}.section-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:2rem 0 1rem}.context-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.context-grid .full{grid-column:1/-1}.glossary-item{margin-bottom:1rem}.journal{border-left:3px solid var(--accent);padding-left:1.2rem}
.modal{position:fixed;inset:0;background:rgba(10,20,30,.58);display:none;place-items:center;padding:1rem;z-index:30}.modal.open{display:grid}.modal-card{background:#fff;width:min(860px,97vw);max-height:92vh;overflow:auto;padding:1.3rem;border-radius:12px}.source-modal{width:min(1000px,97vw)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.full{grid-column:1/-1}.actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem}.notice{border-left:4px solid var(--accent);background:#fff8e4;padding:1rem;margin:1rem 0}.ok-box{border-left:4px solid var(--ok);background:#edf8f1;padding:1rem}.error-box{border-left:4px solid var(--danger);background:#fff0f0;padding:1rem}.admin-actions{display:flex;gap:.6rem;flex-wrap:wrap}.source-code{white-space:pre;overflow:auto;background:#172231;color:#f4f7fa;padding:1rem;border-radius:10px;max-height:65vh;font:14px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}footer{border-top:1px solid var(--border);padding:2rem 0;color:var(--muted)}
@media(max-width:900px){.hero,.doc-layout{grid-template-columns:1fr}.grid{grid-template-columns:1fr 1fr}.toolbar{grid-template-columns:1fr 1fr}.header-row{align-items:flex-start;flex-direction:column}.site-header{position:static}.context-grid{grid-template-columns:1fr}.context-grid .full{grid-column:auto}}
@media(max-width:580px){.grid,.stats,.toolbar,.form-grid,.livrable-index{grid-template-columns:1fr}.kv{grid-template-columns:1fr}.wrap{width:min(94vw,1200px)}}

/* 0.3.1 — Orientation documentaire */
.breadcrumbs{margin:0 0 1.2rem}.breadcrumbs ol{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;list-style:none;padding:0;margin:0;font-size:.88rem;color:var(--muted)}.breadcrumbs li{display:flex;align-items:center;gap:.45rem}.breadcrumbs li:not(:last-child)::after{content:"›";color:#9aa2aa}.breadcrumbs a{text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs [aria-current="page"]{font-weight:700;color:var(--primary)}
.page-intro{color:var(--muted);max-width:68ch}.collection-hero{margin-bottom:1.25rem}.collection-hero p{max-width:78ch}.collection-grid{margin-top:1rem}
.founder-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.founder-list{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}.founder-card{display:grid;grid-template-columns:72px 1fr;gap:1rem;align-items:start;position:relative;overflow:hidden}.founder-number{font-family:Georgia,"Times New Roman",Times,serif;font-size:2.7rem;line-height:1;color:var(--accent);font-weight:700;text-align:center;padding-top:.15rem}.founder-card h3{font-size:1.35rem;margin:.2rem 0 .55rem}.founder-card h3 a{text-decoration:none}.founder-card h3 a:hover{text-decoration:underline}.card-role{color:var(--muted);margin:.2rem 0 .8rem}.text-link{font-weight:700;text-decoration:none}.technical-id{font: .72rem/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--muted);white-space:nowrap}
.document-heading{align-items:flex-start}.document-actions{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}.document-role{max-width:75ch;border-left:4px solid var(--accent);padding:.65rem .9rem;margin:1rem 0 0;background:#fff8e4;color:var(--text);font-size:1.05rem}.context-nav{background:var(--surface-soft);border:1px solid #cfd8e1;border-radius:var(--radius);padding:.9rem 1rem;margin:0 0 1.25rem}.context-nav a{color:var(--primary)}.context-back{display:inline-flex;align-items:center;gap:.3rem;font-weight:750;text-decoration:none;margin-bottom:.7rem}.context-back:hover{text-decoration:underline;text-underline-offset:.18em}.context-sequence{display:grid;grid-template-columns:1fr 1fr;gap:1rem;border-top:1px solid #d2dbe4;padding-top:.7rem}.context-sequence a{color:var(--primary);text-decoration:none;display:flex;flex-direction:column;padding:.25rem 0}.context-sequence a:hover strong{text-decoration:underline;text-underline-offset:.18em}.context-sequence a:last-child{text-align:right}.context-sequence small{color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.context-sequence strong{font-size:.92rem;line-height:1.35}.relation-group+.relation-group{border-top:1px solid var(--border);margin-top:.85rem;padding-top:.7rem}.relation-group h3{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .35rem}.relation-group ul{margin:.2rem 0}
.doc-card .eyebrow a{color:inherit;text-decoration:none}.doc-card .eyebrow a:hover{text-decoration:underline}
@media(max-width:900px){.founder-grid{grid-template-columns:1fr}.document-heading{flex-direction:column}.document-actions{justify-content:flex-start}.context-sequence{grid-template-columns:1fr}.context-sequence a:last-child{text-align:left}}
@media(max-width:580px){.founder-card{grid-template-columns:52px 1fr}.founder-number{font-size:2rem}.breadcrumbs ol{gap:.3rem}.context-nav{padding:.75rem}.document-actions button{width:100%}}


/* 0.3.2 — Révision graphique de précision */
a{ text-underline-offset:.16em; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(80,118,155,.32);outline-offset:3px}
.breadcrumbs a{color:var(--secondary);font-weight:650}.breadcrumbs a:hover{color:var(--primary)}
.hero>.panel:first-child{padding:clamp(1.35rem,2.8vw,1.9rem)}
.hero .lead{max-width:63ch}
.panel,.card{transition:border-color .16s ease,box-shadow .16s ease}
.card:hover{border-color:#c7d0d9;box-shadow:0 8px 22px rgba(24,49,83,.085)}
.founder-number{opacity:.88}
.text-link{color:var(--secondary)}.text-link:hover{color:var(--primary);text-decoration:underline}
@media(max-width:580px){.logo-display{font-size:2.55rem}.brand-name{font-size:1.75rem}}


/* 0.4.0 — SQLite Knowledge Index */
.section-title.compact{margin:0;align-items:flex-start}
.system-summary{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1rem;border:1px solid var(--border)}
.system-summary strong{font-size:1.08rem}.system-ok{background:#edf8f1;border-color:#b8d9c5;color:var(--ok)}.system-warning{background:#fff3df;border-color:#e3c48e;color:var(--warn)}
.system-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.system-grid .panel{min-height:100%}
#searchInfo{min-height:1.5rem;margin:-.25rem 0 .8rem}
@media(max-width:900px){.system-grid{grid-template-columns:1fr}.system-summary{align-items:flex-start;flex-direction:column}}


/* 0.5.0 — Guided Discovery & Citations */
.page-intro,.meta,footer,.breadcrumbs{color:var(--muted)}
.guided-callout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(250px,.75fr);gap:1.25rem;align-items:center;margin:1.5rem 0}
.guided-callout .guide-mark{font-family:Georgia,"Times New Roman",Times,serif;font-size:clamp(3rem,7vw,5.4rem);line-height:1;color:var(--accent);text-align:center}
.guide-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.guide-step-card{display:flex;gap:1rem;align-items:flex-start}
.step-number{flex:0 0 3rem;width:3rem;height:3rem;display:grid;place-items:center;border-radius:50%;background:var(--primary);color:#fff;font-weight:800}
.guide-step-card h3{margin:.05rem 0 .5rem}.guide-step-card p{margin:.2rem 0 .75rem}
.guide-progress{height:.45rem;background:#dce4eb;border-radius:999px;overflow:hidden;margin:1rem 0 1.5rem}.guide-progress span{display:block;height:100%;background:var(--accent)}
.guide-actions{display:flex;justify-content:space-between;gap:1rem;align-items:stretch;margin:1.25rem 0;flex-wrap:wrap}
.guide-actions>a{flex:1;min-width:210px}.guide-actions .guide-center{text-align:center;align-self:center;flex:0 0 auto}
.action-box{border:1px solid #cbd6e0;background:var(--surface-soft);padding:1.15rem;border-radius:var(--radius);margin:1.25rem 0}.action-box h2{margin-bottom:.45rem}
.citation-toolbar{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin:1rem 0 1.25rem}.citation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.citation-card{position:relative;padding:1.4rem 1.4rem 1.2rem}.citation-card::before{content:"“";position:absolute;right:1rem;top:.2rem;font-family:Georgia,serif;font-size:5rem;line-height:1;color:rgba(182,132,19,.18)}
.citation-text{font-family:Georgia,"Times New Roman",Times,serif;font-size:1.22rem;line-height:1.5;color:var(--primary);margin:.5rem 0 1rem}.citation-author{font-weight:700}.citation-source{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}
.random-citation{margin:1rem 0 1.5rem;border-left:4px solid var(--accent);background:#fff8e4;padding:1.25rem;border-radius:0 var(--radius) var(--radius) 0}.random-citation blockquote{font-family:Georgia,serif;font-size:1.35rem;margin:0 0 .65rem;color:var(--primary)}
.graph-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}.graph-controls .button.active{background:var(--accent);color:#1f2c38}
@media(max-width:1050px){.header-row{flex-direction:column}.site-header nav{justify-content:flex-start}.guided-callout{grid-template-columns:1fr}.guided-callout .guide-mark{text-align:left}.guide-overview{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.guide-overview,.citation-grid,.citation-toolbar{grid-template-columns:1fr}.guide-actions{display:grid}.guide-actions>a{min-width:0}.site-header{position:static}}


/* 0.5.0 — Parcours pédagogiques navigables */
.learning-intro{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.75fr);gap:1.2rem;align-items:center;margin-bottom:1.3rem}
.learning-symbol{font-family:Georgia,"Times New Roman",Times,serif;font-size:clamp(3rem,7vw,5rem);color:var(--accent);text-align:center;line-height:1}
.path-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.path-card{display:flex;flex-direction:column;gap:.75rem;min-height:100%}.path-card h2{font-size:1.45rem;margin:.1rem 0}.path-card .path-meta{display:flex;gap:.5rem;flex-wrap:wrap}.path-card .path-actions{margin-top:auto;display:flex;gap:.55rem;flex-wrap:wrap}
.path-level,.path-duration{display:inline-flex;background:var(--surface-soft);border:1px solid #cfd8e1;color:var(--primary);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;font-weight:700}
.path-progress{display:grid;grid-template-columns:1fr auto;gap:.65rem;align-items:center}.path-progress-bar{height:.55rem;background:#dbe3ea;border-radius:999px;overflow:hidden}.path-progress-bar span{height:100%;display:block;background:var(--ok)}
.path-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,.8fr);gap:1.2rem}.path-sidebar{display:flex;flex-direction:column;gap:1rem}.path-sidebar .card{box-shadow:none}
.objective-list,.prerequisite-list{padding-left:1.25rem}.objective-list li,.prerequisite-list li{margin:.42rem 0}
.module-block{margin:1rem 0;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius);overflow:hidden}.module-header{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;align-items:center;background:var(--surface-soft);padding:1rem}.module-index{width:48px;height:48px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:800}.module-header h2{font-size:1.25rem;margin:0}.module-header p{margin:.25rem 0 0;color:var(--muted)}
.unit-list{list-style:none;margin:0;padding:0}.unit-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:.75rem;align-items:center;padding:.85rem 1rem;border-top:1px solid var(--border)}.unit-row:hover{background:#fbfcfd}.unit-row a{text-decoration:none;font-weight:700}.unit-row a:hover{text-decoration:underline}.unit-kind{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.unit-duration{font-size:.82rem;color:var(--muted);white-space:nowrap}.completion-dot{width:24px;height:24px;border-radius:50%;border:2px solid #9aabb9;display:grid;place-items:center;color:#fff;font-size:.75rem}.completion-dot.done{background:var(--ok);border-color:var(--ok)}
.learning-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.learning-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.learning-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}.complete-button.done{background:var(--ok)}
.learning-nav{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:stretch;margin:1.25rem 0}.learning-nav>a{display:flex;flex-direction:column;justify-content:center;text-decoration:none}.learning-nav>a:last-child{text-align:right}.learning-nav .outline-link{text-align:center;align-self:center;font-weight:700}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.resource-card{border:1px solid var(--border);border-radius:10px;padding:.85rem;background:var(--surface-soft)}.resource-card a{font-weight:700;text-decoration:none}.resource-card a:hover{text-decoration:underline}
.progress-summary{background:#edf8f1;border:1px solid #b8d9c5;border-radius:var(--radius);padding:1rem}.progress-summary strong{color:var(--ok);font-size:1.1rem}.reset-progress{background:transparent;color:var(--danger);border-color:#d9b9b9}
.learning-note{font-size:.88rem;color:var(--muted)}
@media(max-width:980px){.learning-intro,.path-layout{grid-template-columns:1fr}.path-grid{grid-template-columns:1fr}.learning-symbol{text-align:left}.module-header{grid-template-columns:54px 1fr}.module-header>.path-duration{grid-column:2}.unit-row{grid-template-columns:30px 1fr auto}.unit-duration{display:none}.learning-heading{flex-direction:column}.learning-actions{justify-content:flex-start}.learning-nav{grid-template-columns:1fr}.learning-nav>a:last-child{text-align:left}.resource-grid{grid-template-columns:1fr}}
@media(max-width:580px){.module-header{grid-template-columns:1fr}.module-index{width:40px;height:40px}.module-header>.path-duration{grid-column:auto}.unit-row{grid-template-columns:28px 1fr}.unit-kind{grid-column:2}.learning-actions button,.learning-actions .button{width:100%}}

.step-number.done{background:var(--ok)}


/* 0.5.1 — Affinage de l’accueil et hiérarchie de découverte */
.hero-actions,.guided-actions{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center}
.guided-callout{
  position:relative;
  overflow:hidden;
  grid-template-columns:minmax(0,1.55fr) minmax(255px,.72fr);
  gap:clamp(1.2rem,3vw,2.4rem);
  padding:clamp(1.55rem,3vw,2.25rem);
  margin:1.8rem 0 2rem;
  border-color:#d8bf86;
  border-left:6px solid var(--accent);
  background:linear-gradient(135deg,#fff9ec 0%,#fffdf8 44%,#fff 100%);
  box-shadow:0 12px 30px rgba(24,49,83,.095);
}
.guided-callout::after{
  content:"";
  position:absolute;
  width:240px;height:240px;
  right:-120px;bottom:-155px;
  border-radius:50%;
  background:rgba(182,132,19,.055);
  pointer-events:none;
}
.guided-callout .guided-content{position:relative;z-index:1;max-width:760px}
.guided-callout .eyebrow{font-size:.82rem;letter-spacing:.105em}
.guided-callout h2{font-size:clamp(1.85rem,3.2vw,2.55rem);margin:.22rem 0 .72rem}
.guided-callout .lead{max-width:67ch;margin-bottom:.65rem}
.guided-recommendation{margin:.35rem 0 1.15rem;color:var(--primary);font-weight:720}
.guided-primary{box-shadow:0 7px 16px rgba(24,49,83,.16)}
.guide-mark-wrap{position:relative;z-index:1;text-align:center;border-left:1px solid rgba(182,132,19,.28);padding-left:clamp(1rem,2.5vw,2rem)}
.guided-callout .guide-mark{font-size:clamp(3.8rem,7.5vw,6.2rem);letter-spacing:-.035em;white-space:nowrap}
.guide-mark-caption{margin-top:.65rem;color:var(--primary);font-size:.82rem;font-weight:750;text-transform:uppercase;letter-spacing:.075em}
@media(max-width:1050px){
  .guided-callout{grid-template-columns:1fr}
  .guide-mark-wrap{border-left:0;border-top:1px solid rgba(182,132,19,.28);padding:1rem 0 0;text-align:left}
  .guided-callout .guide-mark{text-align:left}
}
@media(max-width:580px){
  .hero-actions,.guided-actions{display:grid;grid-template-columns:1fr}
  .hero-actions .button,.guided-actions .button{text-align:center;width:100%}
  .guided-callout{border-left-width:4px;padding:1.25rem}
  .guided-callout .guide-mark{font-size:3.35rem}
}


/* 0.5.2 — Cartographic Readability & Scale */
.graph-provenance{border-left-color:var(--secondary);background:#f2f7fb}
.graph-view-label{background:var(--accent);color:#1f2c38;cursor:default}
.graph-toolbar{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr) auto minmax(170px,.75fr);gap:1rem;align-items:end;margin:1rem 0;padding:1rem}
.graph-toolbar label>span,.graph-toolbar .field-label,.graph-zoom>span{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.graph-zoom>div{display:flex;gap:.35rem}.graph-zoom button{padding:.62rem .78rem;min-width:42px}
.graph-search-info{margin:.45rem 0}.graph-search-results{display:flex;gap:.45rem;flex-wrap:wrap;margin:0 0 .8rem}.graph-search-results:empty{display:none}.graph-search-results button{display:flex;gap:.45rem;align-items:center;background:var(--surface-soft);color:var(--primary);border:1px solid var(--border);padding:.42rem .6rem}.graph-search-results button:hover{background:#dfe9f1}.graph-search-results button span{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.graph-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(285px,.8fr);gap:1rem;align-items:start}.graph-stage{overflow:auto;padding:.5rem;min-height:660px;background:radial-gradient(circle at center,#fff 0%,#fbfcfd 67%,#f2f5f7 100%)}
.knowledge-graph{display:block;min-width:760px;min-height:620px;transition:view-box .2s ease}.graph-edge{stroke:#aab4bf;stroke-width:1.5;opacity:.62;transition:opacity .16s,stroke .16s,stroke-width .16s}.graph-edge.selected{stroke:var(--accent);stroke-width:3;opacity:1}.graph-edge.dimmed{opacity:.08}
.graph-node{cursor:pointer;outline:none}.graph-node circle{stroke:#fff;stroke-width:3;filter:drop-shadow(0 3px 4px rgba(24,49,83,.18));transition:transform .15s,stroke .15s,stroke-width .15s,opacity .15s;transform-box:fill-box;transform-origin:center}.graph-node:hover circle,.graph-node:focus circle,.graph-node.selected circle{stroke:var(--accent);stroke-width:6;transform:scale(1.12)}.graph-node.search-match circle{stroke:#d7a718;stroke-width:7}.graph-node.dimmed{opacity:.14}.graph-node-id{fill:#fff;font-size:12px;font-weight:800;pointer-events:none}.graph-node-title{fill:var(--primary);font-size:12px;font-weight:720;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round;pointer-events:none}
.graph-detail{position:sticky;top:118px;min-height:330px}.graph-detail h2{font-size:1.4rem}.graph-detail-actions{display:grid;gap:.5rem;margin:1rem 0}.graph-detail-actions>*{text-align:center}.graph-kv{grid-template-columns:115px 1fr}.graph-related{border-top:1px solid var(--border);margin-top:1rem;padding-top:.8rem}.graph-related h3{font-size:1rem}.graph-related ul{list-style:none;padding:0;margin:0}.graph-related li+li{margin-top:.35rem}.graph-related button{width:100%;display:grid;grid-template-columns:auto 1fr;gap:.5rem;text-align:left;background:var(--surface-soft);color:var(--primary);border:1px solid transparent;padding:.45rem .55rem}.graph-related button:hover{border-color:var(--secondary);background:#e8f0f6}.graph-detail-empty{color:var(--muted)}
.graph-tooltip{position:fixed;z-index:1000;width:min(310px,calc(100vw - 24px));background:#122a45;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:10px;padding:.7rem .8rem;box-shadow:0 12px 30px rgba(0,0,0,.28);pointer-events:none}.graph-tooltip strong,.graph-tooltip span,.graph-tooltip small{display:block}.graph-tooltip strong{color:#f2c45e;font-size:.8rem;letter-spacing:.06em}.graph-tooltip span{font-family:Georgia,"Times New Roman",serif;font-size:1.05rem;line-height:1.28;margin:.18rem 0}.graph-tooltip small{color:#d8e4ee;line-height:1.35}
.graph-legend{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1rem 0;padding:.85rem 1rem}.graph-legend span{display:inline-flex;align-items:center;gap:.38rem;color:var(--muted);font-size:.86rem}.graph-legend i{width:12px;height:12px;border-radius:50%;background:var(--legend-color);box-shadow:0 0 0 2px #fff,0 0 0 3px var(--border)}.graph-scale-note{background:#fff9eb}
@media(max-width:1100px){.graph-toolbar{grid-template-columns:1fr 1fr}.graph-layout{grid-template-columns:1fr}.graph-detail{position:static;min-height:0}.graph-stage{min-height:560px}}
@media(max-width:680px){.graph-toolbar{grid-template-columns:1fr}.graph-stage{min-height:480px;padding:.2rem}.knowledge-graph{min-width:680px;min-height:540px}.graph-controls .button{width:100%;text-align:center}.graph-legend{align-items:flex-start;flex-direction:column}.graph-tooltip{font-size:.92rem}}


/* 0.5.3 — Cartographic History & Technical Foundations */
.graph-history-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.72rem 1rem;margin:1rem 0}.graph-history-bar>div{display:flex;gap:.45rem;flex-wrap:wrap}.graph-history-bar button:disabled{opacity:.42;cursor:not-allowed}.graph-toolbar{grid-template-columns:minmax(210px,1.25fr) minmax(200px,1fr) minmax(155px,.7fr) auto minmax(160px,.72fr)}
.graph-node-title.is-hidden{display:none}.context-back-group{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.context-back.graph-return{border:1px solid #b8c8d6;background:#e8f0f6;color:var(--primary);padding:.42rem .66rem}.context-back.graph-return:hover{background:#dce8f1}
.technical-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.75fr);gap:1.4rem;align-items:center}.technical-chain{display:flex;gap:.45rem;align-items:center;justify-content:center;flex-wrap:wrap;padding:1.2rem;border-radius:12px;background:#eff8f6;border:1px solid #b9d9d4}.technical-chain span{background:#fff;border:1px solid #a7cbc5;border-radius:999px;padding:.45rem .7rem;color:#185e59;font-weight:800}.technical-chain b{color:var(--accent)}
.technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.technical-card{display:grid;grid-template-columns:58px 1fr;gap:1rem}.technical-number{width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:#18706a;color:#fff;font-weight:850}.technical-card h2{font-size:1.28rem;margin:.15rem 0 .55rem}
.self-documentation-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;margin:1.7rem 0;background:linear-gradient(135deg,#eff8f6,#fff);border-left:5px solid #18706a}.self-documentation-callout h2{font-size:clamp(1.55rem,2.8vw,2.15rem)}.self-doc-mark{font-family:Georgia,"Times New Roman",serif;font-size:3rem;font-weight:800;line-height:.8;color:#18706a;text-align:center}.self-doc-mark span{font-family:system-ui,sans-serif;font-size:.72rem;letter-spacing:.08em}
@media(max-width:1050px){.graph-toolbar{grid-template-columns:1fr 1fr}.technical-hero{grid-template-columns:1fr}.technical-grid{grid-template-columns:1fr}}
@media(max-width:680px){.graph-history-bar{align-items:flex-start;flex-direction:column}.graph-history-bar>div{display:grid;width:100%;grid-template-columns:1fr}.graph-history-bar button,.graph-history-bar a{text-align:center}.technical-card{grid-template-columns:1fr}.self-documentation-callout{grid-template-columns:1fr}.self-doc-mark{text-align:left}}


/* 0.6.0 — Cartographic Polish & Diagnostics */
.graph-node-title{transition:opacity .16s ease}
.graph-node-title.is-hidden{display:none}
.system-diagnostic-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap;margin:1rem 0}
.system-copy-status{color:var(--muted);font-size:.9rem}
.system-equation{font-weight:800;color:var(--primary);background:#eef4f8;border:1px solid #c9d8e3;border-radius:10px;padding:.7rem .9rem}


/* 0.6.0 — Media Asset Pipeline */
.media-home-callout{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;margin:1.2rem 0;background:linear-gradient(135deg,#eef6fb,#fff);border-left:5px solid var(--secondary)}
.media-home-callout h2{margin:.2rem 0 .45rem;font-size:clamp(1.35rem,2.5vw,1.85rem)}
.media-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;margin:1rem 0}.media-stats .stat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem}.media-stats strong{display:block;font-size:1.75rem;color:var(--primary)}
.media-toolbar{grid-template-columns:2fr 1fr}.media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.document-media{grid-template-columns:1fr}.media-owner-block{display:grid;gap:.55rem}.media-owner{display:flex;gap:.5rem;align-items:center;font-size:.9rem}
.media-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin:0}.media-card img{display:block;width:100%;max-height:430px;object-fit:contain;background:#f3f5f7}.media-card figcaption{display:grid;gap:.2rem;padding:.85rem 1rem}.media-card figcaption span,.media-card small{color:var(--muted)}
.media-file{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1rem}.media-kind{width:58px;height:58px;display:grid;place-items:center;border-radius:12px;background:#eaf1f6;color:var(--primary);font-weight:850}.media-file audio{width:100%;margin:.65rem 0}.media-actions{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.65rem}.media-actions a,.media-actions button{font-size:.86rem;padding:.45rem .65rem}
.media-code{grid-column:1/-1}.media-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--border)}.media-card-head>div:first-child{display:grid;gap:.15rem}.media-kind-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:850}.media-code pre{margin:0;border:0;border-radius:0;max-height:460px;overflow:auto;background:#101c2a;color:#e8eef4;padding:1rem}.media-code code{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem}.media-embed{margin:1.25rem 0}.media-embed .media-card{margin:0}.media-card.compact img{max-height:300px}
.media-integrity{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem;word-break:break-all;color:var(--muted)}
@media(max-width:900px){.media-stats{grid-template-columns:repeat(2,1fr)}.media-grid{grid-template-columns:1fr}.media-home-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.media-stats{grid-template-columns:1fr}.media-toolbar{grid-template-columns:1fr}.media-file{grid-template-columns:1fr}.media-card-head{flex-direction:column}.media-actions{display:grid}.media-actions>*{width:100%;text-align:center}}

.media-pdf-preview{display:block;width:100%;height:460px;border:0;border-top:1px solid var(--border);background:#f3f5f7}.media-caption{padding:.75rem 1rem}.media-integrity{margin-top:.55rem}.media-integrity summary{cursor:pointer;font-family:system-ui,sans-serif;font-size:.78rem;color:var(--secondary);font-weight:700}.media-integrity code{display:block;margin-top:.35rem;white-space:normal;word-break:break-all;color:var(--muted);font-size:.72rem}
@media(max-width:680px){.media-pdf-preview{height:320px}}

.media-admin{grid-column:1/-1}.media-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:1rem 0}.media-admin-form .full{grid-column:1/-1}@media(max-width:680px){.media-admin-form{grid-template-columns:1fr}.media-admin-form .full{grid-column:auto}}

/* 0.6.1 — Editorial Administration & Guided Architecture */
.document-heading h1{font-size:clamp(1.85rem,3vw,2.75rem);max-width:22ch}
.external-link::after{content:" ↗";font-size:.78em;white-space:nowrap}
.media-manage-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem;padding-top:.75rem;border-top:1px solid var(--border)}
.media-manage-actions button{padding:.48rem .68rem;font-size:.82rem}
.media-manage-actions .danger{background:#fff0f0;color:var(--danger);border-color:#d9b9b9}
.media-manage-actions .danger:hover{background:#f9dddd}
@media(max-width:700px){.document-heading h1{font-size:clamp(1.7rem,8vw,2.2rem)}}


/* 0.7.0 — Automatic Relations & Link Discovery — base */


/* 0.7.0-A4 — Relation Provenance Model */
.relation-evidence {
  margin-top: .45rem;
  font-size: .88rem;
}

.relation-evidence summary {
  cursor: pointer;
  font-weight: 600;
}

.relation-evidence ul {
  margin: .45rem 0 .15rem 1.1rem;
  padding: 0;
}

.relation-evidence li {
  margin: .2rem 0;
}

.relations .relation-group > ul > li {
  margin-bottom: .65rem;
}

/* 0.7.0-B4 — Semantic Relation UI */
.relation-semantics {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
  margin-top: .35rem;
}

.relation-semantic {
  display: inline-flex;
  align-items: center;
  border: 1px solid #cfd8e1;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--primary);
  padding: .1rem .45rem;
  font-size: .76rem;
  font-weight: 650;
  line-height: 1.35;
}


/* 0.7.0-C3.1 — ADMIN Candidate Review UI */
.candidate-admin-callout{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;margin:1rem 0 1.6rem;border-left:5px solid var(--accent);background:linear-gradient(135deg,#fff8e4,#fff)}
.candidate-admin-callout h2{margin:.2rem 0 .45rem}
.candidate-title{align-items:flex-start;margin-top:.4rem}
.candidate-title h1{margin-top:0}
.candidate-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1rem 0}
.candidate-stats .stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;box-shadow:var(--shadow)}
.candidate-stats .stat strong{display:block;font-size:1.8rem;color:var(--primary)}
.candidate-readonly{border-left-color:var(--secondary);background:#eef5fa}
.candidate-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(160px,.55fr) minmax(180px,.6fr);gap:1rem;align-items:end;margin:1rem 0}
.candidate-toolbar .field-label{display:block;margin-bottom:.35rem;color:var(--muted);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.candidate-card{display:flex;flex-direction:column;gap:1rem}
.candidate-card[hidden]{display:none}
.candidate-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.candidate-tier,.candidate-state{display:inline-flex;align-items:center;border-radius:999px;padding:.2rem .55rem;font-size:.76rem;font-weight:800}
.candidate-tier{background:#edf1f5;color:var(--primary);border:1px solid #cfd8e1}
.candidate-tier.tier-a{background:#fff3cf;border-color:#dfc16d;color:#765400}
.candidate-tier.tier-b{background:#eaf1f6;border-color:#bfd0dd;color:#234563}
.candidate-tier.tier-c{background:#f0f2f4;border-color:#d7dadd;color:#56616c}
.candidate-state{background:#edf8f1;color:var(--ok);border:1px solid #bdd9c8}
.candidate-score{font-size:1.65rem;line-height:1;color:var(--primary);white-space:nowrap}
.candidate-score small{font-size:.78rem;color:var(--muted);font-weight:700}
.candidate-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.75rem;align-items:center}
.candidate-pair>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.candidate-pair strong{line-height:1.28;color:var(--primary)}
.candidate-pair small{color:var(--muted);line-height:1.35}
.candidate-link-mark,.candidate-detail-link{font-family:Georgia,"Times New Roman",serif;color:var(--accent);font-size:1.8rem;font-weight:800}
.candidate-reason-summary{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.candidate-reason-summary li{display:flex;justify-content:space-between;gap:1rem;padding:.38rem 0;border-bottom:1px solid #edf0f2;font-size:.88rem}
.candidate-reason-summary strong{color:var(--secondary)}
.candidate-card>.button{align-self:flex-start;margin-top:auto}
.candidate-detail-score{display:flex;align-items:baseline;gap:.25rem;white-space:nowrap;background:var(--primary);color:#fff;border-radius:var(--radius);padding:.8rem 1rem}
.candidate-detail-score strong{font-size:2rem;line-height:1}
.candidate-detail-score span{font-size:.85rem;color:#dfe9f1}
.candidate-object-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center;margin:1rem 0}
.candidate-object h2{margin:.25rem 0 .45rem}.candidate-object p{margin:0;color:var(--muted)}
.candidate-detail-link{text-align:center;font-size:2.4rem}
.candidate-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;margin:1rem 0}
.candidate-score-total{display:flex;justify-content:space-between;align-items:center;background:var(--surface-soft);border:1px solid #cfd8e1;border-radius:10px;padding:.65rem .8rem;margin:.75rem 0}
.candidate-score-total strong{font-size:1.2rem;color:var(--primary)}
.candidate-reason-table{width:100%;border-collapse:collapse;font-size:.9rem}
.candidate-reason-table th,.candidate-reason-table td{text-align:left;padding:.55rem .45rem;border-bottom:1px solid var(--border);vertical-align:top}
.candidate-reason-table th{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.055em}
.candidate-reason-table .candidate-points{text-align:right;font-weight:850;color:var(--secondary)}
.candidate-context-links{display:flex;flex-wrap:wrap;gap:.4rem;margin:.35rem 0 1rem}
.candidate-context-kv{margin-top:1rem;grid-template-columns:150px 1fr}
.candidate-context-kv code{word-break:break-all;font-size:.78rem}
.candidate-detail-actions{margin-top:1rem}
@media(max-width:900px){.candidate-stats{grid-template-columns:repeat(2,1fr)}.candidate-grid,.candidate-detail-layout{grid-template-columns:1fr}.candidate-toolbar{grid-template-columns:1fr 1fr}.candidate-admin-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.candidate-stats,.candidate-toolbar{grid-template-columns:1fr}.candidate-pair,.candidate-object-grid{grid-template-columns:1fr}.candidate-link-mark,.candidate-detail-link{transform:rotate(90deg);justify-self:center}.candidate-title{flex-direction:column}.candidate-detail-score{align-self:flex-start}.candidate-card>.button{width:100%;text-align:center}}

/* 0.7.0-C3.2 — Human Decision Memory UI */
.candidate-memory-active{border-left-color:var(--accent);background:#fff8e4}
.candidate-current-state{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;border-left-color:var(--secondary);background:#eef5fa}
.candidate-state.state-deferred{background:#fff7df;color:#765400;border-color:#e3c977}
.candidate-state.state-rejected{background:#fff0f0;color:var(--danger);border-color:#d9b9b9}
.candidate-state.state-accepted{background:#edf8f1;color:var(--ok);border-color:#bdd9c8}
.candidate-human-memory{margin:1rem 0;border-left:5px solid var(--secondary)}
.candidate-human-memory h2{margin:.25rem 0 .5rem}
.candidate-human-memory textarea{font-family:inherit;margin-top:.35rem;resize:vertical}
.candidate-decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.candidate-decision-choice{border:1px solid var(--border);border-radius:10px;padding:1rem;background:var(--surface-soft)}
.candidate-decision-choice h3{margin-top:0}
.candidate-decision-choice select{margin:.35rem 0 .75rem}
.candidate-decision-status{min-height:1.4em;margin:.5rem 0;font-weight:750;color:var(--secondary)}
.candidate-accept-locked{margin-top:1rem;border-left-color:var(--muted);background:#f4f5f6}
.candidate-human-memory-recorded{border-left-color:var(--accent)}
.candidate-decision-kv{grid-template-columns:160px 1fr;margin-top:1rem}
.candidate-decision-kv code{word-break:break-all;font-size:.78rem}
.candidate-expired-decision{border-left:3px solid var(--accent);padding-left:.7rem}
.candidate-toolbar{grid-template-columns:minmax(260px,1.5fr) minmax(150px,.5fr) minmax(170px,.55fr)}
@media(max-width:900px){.candidate-decision-grid{grid-template-columns:1fr}}

/* 0.7.0-C3.3 — Decision History & Review Ergonomics */
.candidate-journal-history{margin:1rem 0;border-left:5px solid var(--secondary)}
.candidate-journal-history>summary{cursor:pointer;font-weight:800;color:var(--primary)}
.candidate-journal-history>summary::marker{color:var(--accent)}
.candidate-history-panel{margin:1rem 0;border-left:5px solid var(--secondary)}
.candidate-history-list{display:grid;gap:.75rem;margin-top:1rem}
.candidate-history-list.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.candidate-history-event{border:1px solid var(--border);border-radius:10px;padding:.85rem;background:var(--surface-soft)}
.candidate-history-event.status-active{border-left:4px solid var(--ok)}
.candidate-history-event.status-expired{border-left:4px solid var(--accent)}
.candidate-history-event.status-historical_context,.candidate-history-event.status-candidate_absent,.candidate-history-event.status-superseded{border-left:4px solid var(--muted)}
.candidate-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.candidate-history-head time{font-size:.78rem;color:var(--muted);white-space:nowrap}
.candidate-history-status{font-size:.76rem;font-weight:750;color:var(--muted)}
.candidate-history-pair{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin:.65rem 0;color:var(--primary)}
.candidate-history-pair span{color:var(--accent);font-weight:800}
.candidate-history-note{margin:.55rem 0;white-space:pre-wrap}
.candidate-history-kv{grid-template-columns:150px 1fr;margin-top:.75rem}
.candidate-history-kv code{word-break:break-all;font-size:.76rem}
.candidate-card-memory{padding:.65rem .75rem;border-left:3px solid var(--accent);background:#fff9e9;font-size:.82rem;line-height:1.45}
.candidate-card-memory span{color:var(--muted)}
.candidate-expired-decision{border-left-color:var(--accent);background:#fff8e4}
@media(max-width:900px){.candidate-history-list.compact{grid-template-columns:1fr}}
@media(max-width:640px){.candidate-history-head{flex-direction:column}.candidate-history-head time{white-space:normal}}

/* 0.7.0-C4.3 — promotion transactionnelle des relations candidates */
.candidate-promotion-zone{margin-top:1.2rem;padding:1rem;border:1px solid #d8c27a;border-left:5px solid var(--accent);border-radius:10px;background:#fffaf0}
.candidate-promotion-zone h3{margin:.25rem 0 .55rem}
.candidate-promotion-zone select,.candidate-promotion-zone textarea{margin-top:.35rem}
.candidate-promotion-confirm{display:flex;gap:.65rem;align-items:flex-start;margin:1rem 0;padding:.8rem;border:1px solid #dfc985;border-radius:8px;background:#fff}
.candidate-promotion-confirm input{width:auto;margin-top:.2rem}
.candidate-promotion-receipt{margin-top:1rem;border-left:5px solid var(--ok)}
.candidate-promotion-kv{grid-template-columns:170px 1fr;margin-top:1rem}
.candidate-promotion-kv code{word-break:break-all;font-size:.78rem}
.candidate-history-promotion{margin:.55rem 0;color:var(--primary)}

/* 0.7.0-C4.5 — révocation transactionnelle des relations patrimoniales */
.relation-revocation-zone{margin-top:1rem;border-left:5px solid #a33b32}
.relation-revocation-form{margin-top:1.25rem;padding:1rem;border:1px solid #e2b8b4;border-radius:10px;background:#fff8f7}
.relation-revocation-form select,.relation-revocation-form textarea{margin-top:.35rem}
.relation-revocation-receipt{margin-top:1rem;border-left:5px solid var(--ok)}
.candidate-history-revocation{margin:.55rem 0;color:#8f2f28}
.candidate-history-actions{margin-top:.75rem}
.relation-revocation-candidate{border-left-color:var(--accent)}

/* DEMO-15-IE — global Point de retour; graph-return styles above remain untouched. */
.return-point-bar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;margin-top:.8rem;padding:.7rem .8rem;border-top:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);border-radius:9px}
.return-point-copy{display:flex;align-items:baseline;gap:.65rem;min-width:0}.return-point-copy strong{white-space:nowrap}.return-point-copy span{font-size:.84rem;color:rgba(255,255,255,.82);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.return-point-actions{display:flex;gap:.45rem;flex:0 0 auto}.return-point-actions button{padding:.48rem .68rem;border-radius:8px}.return-point-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.return-point-bar{align-items:stretch;flex-direction:column}.return-point-copy{align-items:flex-start;flex-direction:column;gap:.2rem}.return-point-copy span{white-space:normal}.return-point-actions{display:grid;grid-template-columns:1fr 1fr}.return-point-actions button{width:100%}}
/* DEMO-15-RS — COMPACT EDITORIAL LANDING */
.home-hero-compact{grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:1rem;margin-bottom:1.45rem}
.home-hero-compact .panel{padding:1.45rem}
.home-logo-display{font-size:clamp(2.75rem,5vw,4.15rem);line-height:.95;margin:.25rem 0 .75rem}
.home-hero-compact .lead{font-size:1.2rem;margin:.4rem 0 .75rem}
.home-positioning{color:var(--muted);margin:.7rem 0}
.home-proof-panel{display:flex;flex-direction:column;justify-content:center}
.home-proof-panel p{margin:.5rem 0}
.home-proof-numbers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:.8rem 0}
.home-proof-number{border:1px solid var(--border);border-radius:10px;padding:.8rem}
.home-proof-number strong{display:block;color:var(--primary);font-size:2rem;line-height:1}
.home-proof-number span{display:block;color:var(--muted);font-size:.88rem;margin-top:.3rem}
.home-three{margin-top:.35rem}
.home-three .card{min-height:0}
.home-guided-compact{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin:1.45rem 0;padding:1.3rem}
.home-guided-compact h2{margin:.2rem 0 .35rem}
.home-guided-compact p{margin:0;color:var(--muted)}
.home-explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.home-entry-card{display:flex;flex-direction:column;gap:.45rem}
.home-entry-card h3,.home-entry-card p{margin:0}
.home-entry-card .text-link{margin-top:auto;padding-top:.4rem}
@media(max-width:900px){.home-hero-compact{grid-template-columns:1fr}.home-guided-compact{align-items:flex-start;flex-direction:column}}
@media(max-width:580px){.home-logo-display{font-size:2.65rem}.home-explore-grid{grid-template-columns:1fr}.home-proof-numbers{grid-template-columns:1fr 1fr}}
/* DEMO-15-RV — MICRO-POLISH UX */
.home-logo-display{font-size:clamp(2.35rem,4vw,3.25rem);line-height:.96;margin:.2rem 0 .6rem}
.home-hero-compact .panel{padding:1.15rem}
.home-hero-compact .lead{margin:.3rem 0 .6rem}
.home-three .section-title{margin:1.45rem 0 .75rem}
.home-three .card{padding:1.05rem 1.15rem}
.home-guided-compact{margin:1.1rem 0;padding:1rem 1.15rem}
section[aria-labelledby="home-explore-title"] .section-title{margin:1.45rem 0 .75rem}
.home-entry-card{padding:1.05rem 1.15rem}
#returnPointControl{margin-top:.55rem;padding:.5rem .7rem;gap:.65rem;background:#365a7c;border:1px solid rgba(255,255,255,.18);border-radius:10px}
#returnPointControl .return-point-copy{display:flex;align-items:center;gap:.6rem;min-width:0;flex:1}
#returnPointControl .return-point-copy strong{white-space:nowrap}
#returnPointStatus{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:15rem}
#returnPointControl .return-point-help{font-size:.78rem;line-height:1.25;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:10rem}
#returnPointControl .return-point-actions{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}
#returnPointControl .return-point-actions button{padding:.38rem .68rem;min-height:0;border-radius:8px;font-size:.9rem}
@media(max-width:900px){#returnPointControl{align-items:flex-start}#returnPointControl .return-point-copy{flex-wrap:wrap}#returnPointControl .return-point-help{flex-basis:100%}}
@media(max-width:580px){.home-logo-display{font-size:2.35rem}#returnPointControl{padding:.5rem .6rem}#returnPointStatus{max-width:10rem}}

