/* nnaedou — système visuel unifié mobile (accueil, arbre, patrimoine, questions, mémoire) */
@media (max-width:760px){
  #application:has(.page-section.active) .main-content{
    padding-bottom:0!important;
    background:#0c2430!important;
  }

  #application:has(.page-section.active) .topbar{display:none!important}

  #application .page-section.active:not(#page-home):not(#page-profile){
    width:calc(100% + 32px)!important;
    max-width:none!important;
    min-height:calc(100svh - 72px)!important;
    margin:-22px -16px 0!important;
    padding:22px 14px 106px!important;
    background:#0c2430!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile)>.page-heading,
  #application .page-section.active:not(#page-home):not(#page-profile)>.section-heading:first-child{
    position:relative!important;
    margin:0 0 16px!important;
    padding:23px 21px!important;
    overflow:hidden!important;
    border:1px solid rgba(239,218,181,.78)!important;
    border-radius:25px!important;
    background:#f8efdf!important;
    box-shadow:0 14px 28px rgba(0,0,0,.20)!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile)>.page-heading::after{
    position:absolute!important;
    pointer-events:none;
    right:-21px!important;
    bottom:-32px!important;
    width:112px!important;
    height:112px!important;
    border:1px solid rgba(168,111,75,.17)!important;
    border-radius:50%!important;
    content:""!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile)>.page-heading .eyebrow,
  #application .page-section.active:not(#page-home):not(#page-profile)>.section-heading:first-child .eyebrow{
    color:#a56545!important;
    font-size:9px!important;
    letter-spacing:.18em!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile)>.page-heading h1,
  #application .page-section.active:not(#page-home):not(#page-profile)>.section-heading:first-child h1{
    margin:7px 0 9px!important;
    color:#102c35!important;
    font:700 clamp(32px,9vw,42px)/.98 Georgia,'Times New Roman',serif!important;
    letter-spacing:-.04em!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile)>.page-heading .page-intro,
  #application .page-section.active:not(#page-home):not(#page-profile)>.section-heading:first-child .page-intro{
    max-width:305px!important;
    margin:0!important;
    color:#65716d!important;
    font:15px/1.45 Georgia,'Times New Roman',serif!important;
  }

  #application #page-family .content-card,
  #application #page-origins .content-card,
  #application #page-questions .content-card,
  #application #page-memory .content-card,
  #application #page-knowledge .content-card,
  #application #page-family .family-tools,
  #application #page-family .gentle-note,
  #application #page-origins .origins-banner,
  #application #page-questions .proactive-questions,
  #application #page-questions .received-requests,
  #application #page-memory .memory-principle,
  #application #page-memory .testimony-card,
  #application #page-knowledge .knowledge-tabs,
  #application #page-knowledge .knowledge-dossier,
  #application #page-knowledge .identity-match-card{
    border-color:#e7dac4!important;
    border-radius:21px!important;
    background:#fffaf0!important;
    box-shadow:0 10px 23px rgba(0,0,0,.16)!important;
  }

  #application #page-family .family-tools,
  #application #page-origins .origins-banner,
  #application #page-memory .memory-principle{
    padding:18px!important;
  }

  #application #page-family .family-card,
  #application #page-origins .entity-card,
  #application #page-questions .question-row,
  #application #page-memory .testimony-card,
  #application #page-knowledge .knowledge-dossier{
    border:1px solid #eadfcd!important;
    background:#fffdf7!important;
  }

  #application #page-family .family-card,
  #application #page-origins .entity-card,
  #application #page-questions .question-row,
  #application #page-memory .testimony-card{
    border-radius:18px!important;
  }

  #application #page-origins .heritage-spotlight,
  #application #page-questions .question-feature,
  #application #page-memory .knowledge-entry,
  #application #page-family .union-entry,
  #application #page-family .kinship-entry{
    border:0!important;
    border-radius:24px!important;
    background:linear-gradient(135deg,#102c35,#174a45)!important;
    box-shadow:0 14px 28px rgba(0,0,0,.22)!important;
  }

  #application #page-origins .heritage-pillars,
  #application #page-origins .heritage-family-link,
  #application #page-family .person-card,
  #application #page-questions .received-request-card{
    border-color:#e8dcc8!important;
    border-radius:18px!important;
    background:#fffaf0!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile) h2{
    color:#173f35!important;
    font-family:Georgia,'Times New Roman',serif!important;
    letter-spacing:-.02em!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile) .button-primary,
  #application .page-section.active:not(#page-home):not(#page-profile) .button-secondary{
    border:0!important;
    border-radius:16px!important;
    background:#102c35!important;
    color:#fff5e5!important;
    box-shadow:0 8px 18px rgba(9,39,46,.18)!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile) .button-outline{
    border:1px solid #d3a17c!important;
    border-radius:15px!important;
    color:#17443d!important;
    background:#fffaf0!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile) .text-button{
    color:#a55c41!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile) .filter-chip,
  #application .page-section.active:not(#page-home):not(#page-profile) .private-tag,
  #application .page-section.active:not(#page-home):not(#page-profile) .status-pill{
    border:0!important;
    border-radius:999px!important;
    color:#486052!important;
    background:#edf0e6!important;
  }

  #application .page-section.active:not(#page-home):not(#page-profile) input,
  #application .page-section.active:not(#page-home):not(#page-profile) textarea,
  #application .page-section.active:not(#page-home):not(#page-profile) select{
    border-color:#e1d6c2!important;
    border-radius:12px!important;
    background:#fffdf8!important;
  }

  #application:has(.page-section.active) .mobile-nav{
    height:72px!important;
    border-top:1px solid rgba(244,224,169,.16)!important;
    background:#0a202b!important;
    box-shadow:0 -10px 24px rgba(10,37,32,.18)!important;
  }

  #application:has(.page-section.active) .mobile-nav button{color:rgba(240,244,235,.68)!important}
  #application:has(.page-section.active) .mobile-nav button>span{color:rgba(235,242,232,.78)!important}
  /* Mon arbre : chaque action importante devient un bloc autonome, lisible et cliquable. */
  #application #page-family .tree-missing-note{display:grid!important;gap:12px!important;margin:16px 0!important;padding:19px!important;border:1px solid #d9c18f!important;border-radius:21px!important;background:#fff8ea!important;box-shadow:0 10px 20px rgba(7,39,40,.12)!important}
  #application #page-family .tree-missing-note>span{color:#b17940!important;font-size:25px!important}
  #application #page-family .tree-missing-note p{margin:0!important;color:#66706b!important;font-size:14px!important;line-height:1.48!important}
  #application #page-family .tree-missing-note strong{display:block!important;margin-bottom:4px!important;color:#3d5148!important;font-size:16px!important}
  #application #page-family .tree-missing-note .text-button{justify-self:start!important;font-weight:800!important}
  #application #page-family .family-group{margin:18px 0!important;padding:20px!important;border:1px solid #dec9a3!important;border-radius:22px!important;background:#fffdf7!important;box-shadow:0 11px 24px rgba(7,39,40,.14)!important}
  #application #page-family .family-group-heading{margin:0 0 15px!important;padding:0!important;border:0!important}
  #application #page-family .family-group-heading h3{margin:0 0 7px!important;color:#173f35!important;font:700 23px/1.12 Georgia,'Times New Roman',serif!important}
  #application #page-family .family-group-heading p{color:#6e7973!important;font-size:13px!important;line-height:1.48!important}
  #application #page-family .family-group .invitation-row{display:flex!important;align-items:flex-start!important;gap:12px!important;margin-top:11px!important;padding:16px!important;border:1px solid #e4d5bd!important;border-radius:17px!important;background:#fffaf0!important}
  #application #page-family .family-group .invitation-row strong{color:#30483d!important;font-size:14px!important;line-height:1.35!important}
  #application #page-family .family-group .invitation-row small{color:#8a938b!important;font-size:11px!important}
  #application #page-family .family-group .invitation-row .button{margin-left:auto!important;flex:0 0 auto!important;min-height:42px!important;padding:8px 12px!important;font-size:11px!important}
  #application #page-family .gentle-note{margin:20px 0!important;padding:20px!important;border:1px solid #e1cd9f!important;border-radius:22px!important;background:#fff8e9!important;box-shadow:0 10px 22px rgba(7,39,40,.13)!important}
  #application #page-family .gentle-note strong{color:#3b5145!important}
  #application:has(.page-section.active) .mobile-nav button.active,
  #application:has(.page-section.active) .mobile-nav button.active>span{color:#f1cf87!important}
}

/* Patrimoine : une entrée éditoriale, trois portes et les détails à la demande. */
@media (max-width:760px){
  #application #page-origins .heritage-spotlight{min-height:330px!important;margin:0 0 16px!important;padding:22px!important;background-position:62% center!important}
  #application #page-origins .heritage-spotlight h2{max-width:235px!important;color:#fff8eb!important;font:700 31px/1.02 Georgia,'Times New Roman',serif!important}
  #application #page-origins .heritage-spotlight p{max-width:235px!important;color:rgba(255,248,235,.86)!important;font-size:13px!important;line-height:1.45!important}
  #application #page-origins .heritage-spotlight-actions{width:100%!important;grid-column:1/-1!important}
  #application #page-origins .heritage-spotlight-actions .button{width:100%!important;justify-content:space-between!important;background:#fff8eb!important;color:#9a573c!important}
  #application #page-origins .heritage-pillars{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;margin:0 0 16px!important}
  #application #page-origins .heritage-pillar{display:grid!important;min-height:226px!important;padding:0 0 13px!important;overflow:hidden!important;border:1px solid #e4d5bd!important;border-radius:17px!important;background:#fffaf0!important;box-shadow:0 9px 19px rgba(7,39,40,.12)!important}
  #application #page-origins .heritage-pillar::before{display:block!important;grid-row:1;width:100%!important;height:101px!important;content:"";background:linear-gradient(rgba(11,49,42,.05),rgba(11,49,42,.05)),var(--mgl-heritage-visual) center/cover!important}
  #application #page-origins .heritage-places::before{background-image:linear-gradient(rgba(11,49,42,.04),rgba(11,49,42,.04)),var(--mgl-tree-visual)!important}
  #application #page-origins .heritage-archives::before{background-image:linear-gradient(rgba(58,40,25,.10),rgba(58,40,25,.10)),url('/profile-timeline-triptych.jpg') right/cover!important}
  #application #page-origins .heritage-pillar-icon{position:absolute!important;top:82px!important;left:10px!important;width:35px!important;height:35px!important;margin:0!important;border:3px solid #fffaf0!important;border-radius:50%!important;font-size:16px!important}
  #application #page-origins .heritage-pillar .eyebrow{display:none!important}
  #application #page-origins .heritage-pillar h2{margin:20px 11px 4px!important;color:#153d35!important;font:700 18px/1.03 Georgia,'Times New Roman',serif!important}
  #application #page-origins .heritage-pillar p{min-height:0!important;margin:0 11px!important;color:#6c7771!important;font:12px/1.28 Georgia,'Times New Roman',serif!important}
  #application #page-origins .heritage-pillar .text-button{position:static!important;margin:7px 11px 0!important;color:#9b583e!important;font-size:0!important}
  #application #page-origins .heritage-pillar .text-button::after{content:"›";font-size:26px!important;line-height:1!important}
  #application #page-origins .heritage-memory-summary{display:flex!important;align-items:center!important;gap:13px!important;margin:0 0 16px!important;padding:17px!important;border:1px solid #e1d0af!important;border-radius:20px!important;background:#fff8ea!important;box-shadow:0 10px 21px rgba(7,39,40,.12)!important}
  #application #page-origins .heritage-summary-icon{display:grid!important;width:45px!important;height:45px!important;flex:0 0 auto!important;place-items:center!important;border-radius:50%!important;color:#194a3b!important;background:#e6efdf!important;font-size:22px!important}
  #application #page-origins .heritage-memory-summary div{display:grid!important;gap:4px!important;min-width:0!important;margin-right:auto!important}
  #application #page-origins .heritage-memory-summary strong{color:#244239!important;font:700 17px/1.1 Georgia,'Times New Roman',serif!important}
  #application #page-origins .heritage-memory-summary p{margin:0!important;color:#778078!important;font-size:11px!important;line-height:1.35!important}
  #application #page-origins .heritage-memory-summary .text-button{font-size:11px!important;white-space:nowrap!important}
  #application #page-origins .heritage-details{margin:0!important;border:1px solid #e1d2b9!important;border-radius:19px!important;background:#fffdf7!important;box-shadow:0 9px 20px rgba(7,39,40,.10)!important}
  #application #page-origins .heritage-details>summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:17px!important;cursor:pointer!important;list-style:none!important}
  #application #page-origins .heritage-details>summary::-webkit-details-marker{display:none!important}
  #application #page-origins .heritage-details>summary span{display:grid!important;gap:4px!important}
  #application #page-origins .heritage-details>summary b{color:#183f35!important;font:700 18px/1.1 Georgia,'Times New Roman',serif!important}
  #application #page-origins .heritage-details>summary small{color:#788279!important;font-size:11px!important}
  #application #page-origins .heritage-details>summary i{color:#a55d40!important;font-size:22px!important;font-style:normal!important}
  #application #page-origins .heritage-details[open]>summary{border-bottom:1px solid #eee2d0!important}
  #application #page-origins .heritage-details-content{padding:0 14px 16px!important}
}
/* Patrimoine : panneau ivoire continu et cartes horizontales lisibles. */
@media (max-width:760px){
  #application #page-origins{padding:0 14px 106px!important;background:#0c2430!important}
  #application #page-origins .heritage-panel{overflow:hidden!important;margin:0!important;padding:22px 0!important;border-radius:28px!important;background:#f8efdf!important;box-shadow:0 18px 34px rgba(0,0,0,.20)!important}
  #application #page-origins .heritage-panel>.page-heading{margin:0 18px 16px!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  #application #page-origins .heritage-panel>.page-heading::after{display:none!important}
  #application #page-origins .heritage-heading h1{font-size:40px!important}
  #application #page-origins .heritage-spotlight{min-height:0!important;margin:0 18px 16px!important;padding:20px!important;border:1px solid #e1cba2!important;border-radius:22px!important;background:#fffaf0!important;box-shadow:0 8px 18px rgba(44,41,28,.08)!important}
  #application #page-origins .heritage-spotlight h2{max-width:none!important;color:#173f35!important;font-size:26px!important}
  #application #page-origins .heritage-spotlight p{max-width:none!important;color:#68736c!important;font-size:14px!important}
  #application #page-origins .heritage-spotlight-actions .button{background:#173f35!important;color:#fff8eb!important}
  #application #page-origins .heritage-pillars{display:flex!important;gap:12px!important;overflow-x:auto!important;overscroll-behavior-x:contain!important;margin:0 18px 16px!important;padding:0 0 5px!important;scroll-snap-type:x proximity!important;scrollbar-width:none!important}
  #application #page-origins .heritage-pillars::-webkit-scrollbar{display:none!important}
  #application #page-origins .heritage-pillar{position:relative!important;display:grid!important;grid-template-rows:118px auto 1fr auto!important;flex:0 0 255px!important;min-height:278px!important;padding:0 0 15px!important;scroll-snap-align:start!important;border:1px solid #e1d1b5!important;border-radius:19px!important;background:#fffaf0!important;box-shadow:0 8px 17px rgba(44,41,28,.10)!important}
  #application #page-origins .heritage-pillar::before{height:118px!important}
  #application #page-origins .heritage-pillar-icon{top:96px!important;left:13px!important;width:39px!important;height:39px!important}
  #application #page-origins .heritage-pillar h2{margin:23px 15px 6px!important;font-size:21px!important;line-height:1.06!important}
  #application #page-origins .heritage-pillar p{margin:0 15px!important;font-size:13px!important;line-height:1.35!important}
  #application #page-origins .heritage-pillar .text-button{margin:8px 15px 0!important}
  #application #page-origins .heritage-memory-summary,#application #page-origins .heritage-details{margin-left:18px!important;margin-right:18px!important}
  #application #page-origins .heritage-memory-summary{background:#fffaf0!important;box-shadow:0 8px 17px rgba(44,41,28,.08)!important}
  #application #page-origins .heritage-details{box-shadow:0 8px 17px rgba(44,41,28,.08)!important}
}
/* Programme mission 03 : tokens partagés, lecture et mouvement accessibles. */
:root {
  --mgl-ink: #173f35;
  --mgl-paper: #fff8eb;
  --mgl-muted: #55665e;
  --mgl-radius: 20px;
  --mgl-space: 16px;
  --mgl-motion: 380ms;
}
#application .button, #application .text-button { min-height:44px; border-radius:14px; }
#application button:focus-visible, #application a:focus-visible,
#application input:focus-visible, #application summary:focus-visible {
  outline:3px solid #b56a38; outline-offset:3px;
}
#application .page-section.active { animation:mgl-arrive var(--mgl-motion) ease-out; }
#application .button { transition:transform 160ms ease, box-shadow 220ms ease; }
#application .button:active { transform:translateY(1px); }
@keyframes mgl-arrive { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:none; } }
@media (max-width:760px) {
  #application .page-section.active .page-intro,
  #application .page-section.active .helper,
  #application .page-section.active .muted { font-size:14px!important; line-height:1.5!important; }
  #application .page-section.active .eyebrow { font-size:11px!important; line-height:1.4!important; letter-spacing:.10em!important; }
  #application :is(#page-home,#page-profile,#page-family,#page-origins,#page-heritage-library,#page-questions,#page-memory).active .button { font-size:14px!important; min-height:44px!important; height:auto!important; }
  #application .page-section.active .page-heading { gap:var(--mgl-space); }
  #application .page-section.active .page-heading h1 { line-height:1.1!important; }
  #application .page-section.active .page-heading .page-intro { color:var(--mgl-muted)!important; }
  #application .heritage-pillar p, #application .heritage-memory-summary p { font-size:14px!important; line-height:1.45!important; }
  #application .bottom-nav button { min-height:48px; }
}
@media (prefers-reduced-motion:reduce) {
  #application *, #application *::before, #application *::after {
    animation:none!important; transition:none!important; scroll-behavior:auto!important;
  }
}
#application :is(#page-home,#page-profile,#page-family,#page-origins,#page-heritage-library,#page-questions,#page-memory).active .page-intro {font-size:14px!important;line-height:1.5!important;}
@media (max-width:760px) {
 #application #page-questions.page-section.active:not(#page-home):not(#page-profile) .question-feature h2,
 #application #page-memory.page-section.active:not(#page-home):not(#page-profile) .knowledge-entry h2,
 #application #page-memory.page-section.active:not(#page-home):not(#page-profile) .memory-facts>.section-heading h2,
 #application #page-profile>.page-heading h1,
 #application #page-profile>.page-heading .page-intro {color:#fff8eb!important;}
 #application #page-memory .knowledge-entry p,
 #application #page-memory .memory-facts>.section-heading .helper,
 #application #page-profile>.page-heading .eyebrow {color:#d9e4da!important;}
}
@media (max-width:760px) {
 #application #page-questions .question-feature,
 #application #page-memory .knowledge-entry {background:#173f35!important;}
}

@media(max-width:760px){#application #page-memory.page-section.active:not(#page-home):not(#page-profile) .empty-state strong{color:#fff8eb!important;}}
/* Mission 04 : espace de classement partagé avec la bibliothèque. */
#application #archive-workspace {display:grid;gap:14px;padding:18px;border:1px solid #e1d1b5;border-radius:20px;background:#fff8eb;}
#application #archive-workspace h2 {margin:0;font-family:Georgia,serif;}
#application #archive-workspace label {display:grid;gap:8px;font-size:14px;line-height:1.5;}
#application #archive-location {display:block;font:700 20px/1.3 Georgia,serif;color:#173f35;}
#application #archive-root {justify-self:start;}
#application #archive-folders {display:flex;flex-wrap:wrap;gap:10px;margin:0;}
#application #archive-workspace details>summary {min-height:44px;padding:10px 0;cursor:pointer;}
#application #archive-items article {display:grid;gap:8px;padding:14px;border:1px solid #e1d1b5;border-radius:14px;}
#application #archive-items label {display:flex;align-items:center;gap:10px;}

#application #memory-chat-panel {display:grid;gap:14px;background:#fff8eb;color:#173f35;border-radius:20px;padding:18px;}
#application #memory-chat-answer {white-space:pre-line;line-height:1.6;overflow-wrap:anywhere;}
#application #memory-chat-sources {padding-left:20px;font-size:14px;line-height:1.5;}

#application #memory-collect-panel summary{min-height:44px;padding:12px 0;cursor:pointer;}
#application #memory-collect-panel .heritage-note {background:#fff8eb;color:#173f35;border:1px solid #e1d1b5;padding:14px;margin:14px 0;border-radius:14px;}

/* Conversation familiale : sources et collecte conservent leurs droits. */
#application .memory-chat-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
#application .memory-chat-heading h2 {margin:0;}
#application .memory-chat-context {display:grid;gap:6px;font-weight:600;}
#application .memory-chat-context select {width:100%;min-height:44px;font-size:16px;}
#application .memory-chat-prompts {display:flex;flex-wrap:wrap;gap:8px;}
#application .memory-chat-prompts button {min-height:44px;padding:10px 14px;}
#application .memory-chat-user {background:#e1eee5;border-radius:16px 16px 4px 16px;padding:12px 16px;margin:0 0 0 18px;white-space:pre-wrap;overflow-wrap:anywhere;}
#application #memory-chat-history {display:grid;gap:18px;}
#application #memory-chat-history:empty {display:none;}
#application .memory-chat-turn {display:grid;gap:10px;border-bottom:1px solid #d6ded6;padding-bottom:12px;white-space:pre-line;overflow-wrap:anywhere;}
#application .memory-chat-turn p {margin-top:0;margin-bottom:0;}
#application #memory-chat-next {display:grid;gap:10px;}
#application #memory-chat-next .heritage-note {min-width:0;overflow-wrap:anywhere;}
#application #memory-chat-panel button {white-space:normal;min-height:44px;}
#application #page-home .home-memory-chat {display:flex;width:100%;min-height:44px;justify-content:space-between;margin-top:12px;}
