/* Edition 4.5. Shared shapes, surfaces and controls for the entire publication. */
:root {
  --radius-sm:10px; --radius-md:16px; --radius-lg:22px; --radius-xl:28px; --radius-pill:999px;
  --surface-border:#383838; --surface-hover:#292929; --page-gap:40px;
}
html[data-theme=clair] { --surface-border:#d5d0c6; --surface-hover:#e4ded2; }
.publication { background:var(--v-bg); }
.publication button,.publication .button,.publication .button-primary,.publication .ux-primary {
  border-radius:var(--radius-pill); min-height:48px; padding:12px 24px; line-height:1.45;
  white-space:normal; text-decoration:none; max-width:100%;
}
.publication input:not([type=radio]):not([type=checkbox]):not([type=range]),.publication select {
  border-radius:var(--radius-pill); min-height:48px; padding:12px 18px; min-width:0;
}
.publication textarea { border-radius:var(--radius-md); padding:16px; min-height:150px; resize:vertical; }
.publication button:hover,.publication a.branch-card:hover,.publication .theme-tile:hover { background:var(--surface-hover); border-color:var(--v-gold); }
.publication .button-primary:hover,.publication .ux-primary:hover { background:var(--v-gold); color:var(--v-bg); }
.publication button:disabled { opacity:.5; cursor:default; }
.publication button,.publication .theme-toggle,.publication button[type=submit] { border-radius:var(--radius-pill)!important; }
.publication button[aria-pressed=true] { border-color:var(--v-gold); }
.publication :is(.v3-status-panel,.v3-change,.v3-route-context,.v3-notebook,.feedback-form,.visual-card,.lesson-card,.mini-lab,.reasoning-example,.essay-figure,.essay-conclusion,.v3-evidence-card,.v3-concrete,.v3-test,.v3-verdict,.v3-candidates,.v3-salon-copy,.v3-essential,.v3-glossary,.v3-warning,.v3-photo-note,.v3-photo-preview,.v3-unknown,.media-scientifique,.v3-media,.v3-hypothesis) {
  border-radius:var(--radius-lg); border-color:var(--surface-border); box-shadow:none;
}
.publication :is(.visual-card,.lesson-card,.mini-lab,.v3-evidence-card,.v3-concrete,.v3-test,.v3-verdict,.v3-unknown) { padding:24px; }
.publication :is(.photo-grid img,.media-visual img,.v3-image-link img,.real-photo img,.v3-sky) { border-radius:var(--radius-md); }
.publication .v3-sky { overflow:hidden; border-radius:var(--radius-lg); }
.publication .v3-evidence-card { border:1px solid var(--surface-border); margin-block:16px; }
.publication :is(.knowledge-status,.v3-epistemic,.v3-kind,.v3-relation-type,.v3-observation,.read-badge) { border-radius:var(--radius-pill); }
.publication details:not(.library-shelf):not(.question-answer) { border-radius:var(--radius-md); }
.publication :is(.reading-toc,.references,.related-questions,.v3-depth,.personal-position,.private-note,.library-search-panel,.library-discovery,.private-notebook-door) {
  border:1px solid var(--surface-border); padding:8px 20px; background:transparent; margin-block:24px; border-radius:var(--radius-md);
}
.publication summary { line-height:1.5; min-height:48px; padding-block:12px; }
.publication summary:hover { color:var(--v-gold); }
.publication .reading-toc nav a { min-height:44px; display:flex; align-items:center; padding:7px 0; }
.publication .references li { overflow-wrap:anywhere; }
.publication .site-header { gap:24px; padding-block:22px; border-color:var(--surface-border); }
.publication .site-header nav { display:flex; gap:8px; margin:0; align-items:center; }
.publication .site-header nav>a { min-height:44px; padding:9px 15px; border-radius:var(--radius-pill); font-size:.95rem; }
.publication .site-header nav>a[aria-current] { box-shadow:none; color:var(--v-ink); background:var(--v-panel); text-decoration:none; }
.publication .site-header nav>a:hover { background:var(--surface-hover); }
.publication .site-header .theme-toggle { min-height:44px; font-size:.8rem; padding:9px 14px; margin-left:14px; border-color:var(--surface-border); }
.publication .site-footer { border-color:var(--surface-border); margin-top:64px; }
.publication .site-footer nav { gap:2px 30px; }
.publication .site-footer nav a { text-decoration:none; }
.publication .site-footer nav a:hover { text-decoration:underline; }
.publication .brand { min-height:44px; }
.publication :is(.home-cover,.home-question,.home-journal,.home-library) { position:relative; }
.publication .home-cover { padding:66px 0 58px; }
.publication .home-cover>.eyebrow { margin:0 0 30px; }
.publication .home-cover h1 { font-size:clamp(3.1rem,6.2vw,6.4rem); line-height:1.07; letter-spacing:-.05em; margin:0 0 28px; }
.publication .home-cover h1 em { color:var(--v-gold); font-weight:400; }
.publication .home-intro { font-size:1.15rem; line-height:1.75; max-width:64ch; color:var(--v-dim); margin:0 0 28px; }
.publication .home-cover .button-primary { justify-content:center; gap:24px; }
.publication .home-cover .corpus-stats { margin:25px 0 0; color:var(--v-dim); font-size:.9rem; display:flex; gap:9px; flex-wrap:wrap; }
.publication .home-question { background:var(--v-panel); padding:42px 48px; border:1px solid var(--surface-border); border-radius:var(--radius-xl); display:grid; grid-template-columns:1fr 150px; align-items:center; gap:40px; }
.publication .home-question h2 { font-size:clamp(2rem,3.5vw,3.3rem); max-width:23ch; margin:14px 0 20px; }
.publication .home-question p:not(.eyebrow) { max-width:58ch; color:var(--v-dim); }
.publication .question-ornament { font:11rem/1 Georgia,serif; color:var(--v-gold); opacity:.6; justify-self:center; }
.publication .quiet-link { display:inline-flex; gap:16px; align-items:center; min-height:48px; padding-block:10px; font-weight:600; text-decoration:none; color:var(--v-gold); }
.publication .quiet-link:hover { text-decoration:underline; }
.publication .home-journal { padding:62px 0 50px; max-width:800px; }
.publication .home-journal h2 { margin:16px 0; }
.publication .home-journal>p:not(.eyebrow) { max-width:62ch; color:var(--v-dim); }
.publication .home-library { border-top:1px solid var(--surface-border); padding:40px 0 0; }
.publication .home-library h2 { font-size:1.85rem; margin:0 0 14px; }
.publication .home-library p { color:var(--v-dim); margin-bottom:8px; }
.publication .journal-page .journal-feature { padding-top:20px; }
.publication .journal-page .journal-note { margin-top:40px; }
.publication .journal-page .chapter-heading { margin-top:45px; border-top:1px solid var(--surface-border); }
.publication .journal-entry { border:1px solid var(--surface-border); border-radius:var(--radius-lg); padding:24px 28px; margin:20px 0; }
.publication .journal-entry h2 { margin-top:10px; }
.publication .theme-overview { gap:14px; }
.publication .theme-tile { border-radius:var(--radius-lg); border:1px solid var(--surface-border); padding:24px; background:var(--v-panel); }
.publication button.theme-tile { border-radius:var(--radius-lg)!important; }
.publication .theme-tile[aria-pressed=true] { background:var(--surface-hover); border-color:var(--v-gold); box-shadow:none; }
.publication .theme-tile strong { font-size:1.25rem; }
.publication .theme-tile .theme-description { display:block; font-size:.87rem; }
.publication .theme-tile .theme-count { font-size:.8rem; }
.publication .library-secondary { display:flex; flex-wrap:wrap; gap:4px 28px; padding:0 0 24px; font-size:.95rem; }
.publication .library-secondary a { display:flex; align-items:center; min-height:44px; text-decoration:none; }
.publication .library-secondary a:hover { text-decoration:underline; }
.publication .library-tools { border:0; padding:0; margin:0 0 30px; }
.publication .library-search-panel { max-width:800px; margin-bottom:12px; }
.publication .library-discovery { max-width:800px; }
.publication .discovery-links { padding-left:22px; }
.publication .discovery-links a { display:block; min-height:44px; padding:8px 0; }
.publication .library-shelf { border:none; padding:0; }
.publication .book { border:1px solid var(--surface-border); background:var(--v-panel); border-radius:var(--radius-lg); padding:24px; margin:0 0 14px; }
.publication .book>span { display:none; }
.publication .library-group { margin-top:35px; }
.publication .library-shelf>summary { padding-inline:8px; }
.publication .question-answer { border:1px solid var(--surface-border); border-radius:var(--radius-md); padding:4px 16px; margin:12px 0; }
.publication .question-answer:target { border-color:var(--v-gold); padding-left:16px; }
.publication .question-answer>summary { padding-block:14px; }
.publication .question-answer .answer-links a { min-height:44px; display:inline-flex; align-items:center; }
.publication .question-answer .question-copy { font-size:.82rem; min-height:44px; padding:9px 15px; }
.publication .question-branches { border-top:1px solid var(--surface-border); margin-top:24px; padding-top:18px; }
.publication .question-branches>p { margin:0; }
.publication .question-branches ul { padding:0; list-style:none; margin:10px 0; }
.publication .question-branches a { display:block; padding:12px 0; min-height:44px; line-height:1.5; font-size:1rem; text-decoration:none; }
.publication .question-branches a:hover { text-decoration:underline; }
.publication .question-salon { margin:10px 0!important; }
.publication .question-salon a { display:inline-flex; align-items:center; min-height:44px; color:var(--v-gold); font-size:.95rem; }
.publication .reading-branches { display:block; margin:48px 0 30px; padding-top:30px; border-top:1px solid var(--surface-border); }
.publication .reading-branches h2 { font-size:1.85rem; margin:0 0 24px; }
.publication .branch-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.publication a.branch-card { display:flex; flex-direction:column; gap:12px; padding:24px; border:1px solid var(--surface-border); border-radius:var(--radius-lg); background:var(--v-panel); text-decoration:none; }
.publication .branch-card strong { font:400 1.3rem/1.3 Georgia,serif; }
.publication .branch-card span { font:400 .85rem/1.6 QueteSans,sans-serif; color:var(--v-dim); }
.publication .branch-library { display:inline-flex; align-items:center; min-height:44px; margin-top:16px; }
.publication .reading-salon { padding:28px; margin:32px 0; border:1px solid var(--surface-border); border-radius:var(--radius-lg); }
.publication .reading-salon h2 { font-size:1.6rem; margin:10px 0 12px; }
.publication .reading-salon p { font-size:1rem; margin:0 0 12px; }
.publication .reading-salon .eyebrow { font-size:.68rem; }
.publication .private-note { font-size:.9rem; color:var(--v-dim); }
.publication .private-note .reading-note,.publication .private-note .v3-carnet-link { border:0; padding-top:8px; margin:0; }
.publication .private-note a { display:inline-flex; align-items:center; min-height:44px; }
.publication .private-note-archive { margin:24px 0; }
.publication .private-note-archive .v3-salon-copy { display:block; padding:10px 0; background:none; }
.publication .salon-main { max-width:1100px; }
.publication .salon-main .collection-heading { padding-bottom:20px; }
.publication .salon-layout { display:grid; grid-template-columns:minmax(0,700px) minmax(220px,1fr); gap:48px; align-items:start; }
.publication .salon-form { margin:0; max-width:none; padding:32px; }
.publication .salon-form>label:first-of-type { margin-top:0; }
.publication .salon-form label>span { font-weight:400; color:var(--v-dim); font-size:.9rem; }
.publication .salon-form .form-help { font-size:.85rem; color:var(--v-dim); margin:8px 0 20px; line-height:1.6; }
.publication .salon-form .button-primary { background:var(--v-ink); }
.publication .salon-nature { border:0; padding:0; margin:26px 0; min-width:0; }
.publication .salon-nature legend { font-weight:600; margin-bottom:12px; }
.publication .choice-pills { display:flex; flex-wrap:wrap; gap:8px; }
.publication .choice-pills label { display:flex; align-items:center; position:relative; margin:0; }
.publication .choice-pills input { position:absolute; width:1px; height:1px; opacity:0; }
.publication .choice-pills span { display:flex; align-items:center; min-height:48px; padding:10px 18px; border:1px solid var(--v-line); border-radius:var(--radius-pill); cursor:pointer; font-size:.95rem; color:var(--v-ink); }
.publication .choice-pills input:checked+span { border-color:var(--v-gold); background:var(--surface-hover); color:var(--v-gold); }
.publication .choice-pills input:focus-visible+span { outline:3px solid var(--v-focus); outline-offset:3px; }
.publication .salon-aside { padding-top:20px; font-size:.95rem; color:var(--v-dim); }
.publication .salon-aside h2 { font-size:1.8rem; margin:0 0 18px; }
.publication .salon-aside details { padding-inline:16px; }
.publication .salon-aside details a { display:inline-flex; min-height:44px; align-items:center; }
.publication .v3-notebook>select { text-overflow:ellipsis; }
@media(max-width:950px) {
 .publication .site-header { gap:12px; }
 .publication .site-header nav>a { padding-inline:12px; }
 .publication .salon-layout { grid-template-columns:1fr; gap:12px; }
 .publication .salon-aside { max-width:700px; }
 .publication .home-question { padding:32px; grid-template-columns:1fr 95px; gap:20px; }
 .publication .question-ornament { font-size:8rem; }
}
@media(max-width:650px) {
 .publication { --page-gap:22px; }
 .publication .site-header { display:flex; flex-wrap:wrap; padding:16px 22px 12px; gap:12px; }
 .publication .site-header>.brand { width:calc(100% - 80px); }
 .publication .site-header nav { width:100%; display:flex; justify-content:space-between; gap:4px; margin:0; }
 .publication .site-header nav>a { min-height:44px; padding:9px 12px; font-size:.92rem; justify-content:center; }
 .publication .site-header .theme-toggle { position:absolute; right:22px; top:16px; margin:0; min-height:44px; padding-inline:13px; }
 .publication .home-cover { padding:36px 0 34px; }
 .publication .home-cover>.eyebrow { font-size:.61rem; letter-spacing:.1em; max-width:30ch; margin-bottom:24px; }
 .publication .home-cover h1 { font-size:clamp(2.5rem,9.6vw,3.9rem); line-height:1.08; margin-bottom:24px; }
 .publication .home-intro { font-size:1.04rem; line-height:1.7; margin-bottom:24px; }
 .publication .home-cover .corpus-stats { display:block; font-size:.8rem; line-height:1.8; margin-top:22px; }
 .publication .corpus-stats span { padding-inline:3px; }
 .publication .home-question { display:block; padding:24px; border-radius:var(--radius-lg); }
 .publication .home-question h2 { font-size:2rem; margin-block:16px; }
 .publication .question-ornament { display:none; }
 .publication .home-question p { font-size:1rem; }
 .publication .home-question .eyebrow { font-size:.65rem; }
 .publication .home-journal { padding:36px 0 30px; }
 .publication .home-journal h2 { font-size:2rem; }
 .publication .home-library { padding-top:30px; }
 .publication .home-library h2 { font-size:1.75rem; }
 .publication .quiet-link { gap:10px; font-size:.96rem; }
 .publication .theme-overview { grid-template-columns:1fr; }
 .publication .theme-tile { padding:20px; min-height:110px; grid-template-columns:24px 1fr; gap:12px; }
 .publication .theme-tile .theme-count { grid-column:2; margin:0; }
 .publication .theme-tile .theme-description { display:block; margin-top:6px; }
 .publication .theme-tile strong { font-size:1.2rem; }
 .publication .library-secondary { gap:4px 22px; font-size:.87rem; }
 .publication .library-search-panel,.publication .library-discovery { padding:8px 16px; }
 .publication .book { padding:22px; }
 .publication .branch-grid { grid-template-columns:1fr; }
 .publication a.branch-card { padding:22px; }
 .publication .reading-branches h2 { font-size:1.65rem; }
 .publication .reading-salon { padding:22px; }
 .publication :is(.v3-status-panel,.v3-change,.v3-route-context,.v3-notebook,.feedback-form,.visual-card,.lesson-card,.mini-lab,.reasoning-example,.essay-figure,.v3-evidence-card,.v3-concrete,.v3-test,.v3-verdict,.v3-unknown) { padding:20px; }
 .publication .salon-form { padding:20px; }
 .publication .salon-form select { border-radius:var(--radius-md); padding-inline:12px; text-overflow:ellipsis; }
 .publication .choice-pills { display:grid; grid-template-columns:1fr 1fr; }
 .publication .choice-pills label,.publication .choice-pills span { width:100%; }
 .publication .choice-pills span { padding:10px 12px; font-size:.86rem; }
 .publication .salon-form .button-primary { width:100%; padding-inline:18px; }
 .publication .journal-entry { padding:22px; }
 .publication .site-footer { margin-top:42px; }
 .publication .question-answer { padding-inline:12px; }
 .publication .related-questions { padding-inline:0; border-inline:0; border-radius:0; }
 .publication .question-answer:target { padding-left:12px; }
 .publication .question-branches a { font-size:.95rem; }
 .publication .question-salon a { font-size:.9rem; }
 .publication .search-row { flex-wrap:wrap; }
 .publication .search-row input { flex:1 1 160px; }
 .publication .search-row button { padding-inline:18px; }
 .publication :is(.v3-carnet-link,.reading-actions) button { max-width:100%; }
}
@media(prefers-reduced-motion:no-preference) { .publication :is(button,a.branch-card,.theme-tile) { transition:background-color .15s,border-color .15s; } }
@media print { .publication :is(.reading-salon,.private-note,.question-salon,.question-branches,.reading-branches,.salon-aside) { display:none!important; } }

/* 4.5.1 — questions restored without expanding the home into a directory. */
.publication .home-carousel { padding:24px 0 30px; border:0; }
.publication .home-carousel .carousel-heading { align-items:end; gap:20px; margin-bottom:20px; }
.publication .home-carousel h2 { font-size:clamp(1.8rem,3vw,2.4rem); margin:0; }
.publication .home-carousel .carousel-heading p { margin:0 0 12px; }
.publication .home-carousel .carousel-controls { flex-shrink:0; }
.publication .home-carousel .carousel-controls button { padding:8px; width:48px; height:48px; }
.publication .home-carousel .question-track { gap:16px; padding:4px 2px 18px; scroll-padding-inline:2px; }
.publication .home-carousel .question-track li { border:1px solid var(--surface-border); border-radius:var(--radius-lg); background:var(--v-panel); overflow:hidden; }
.publication .home-carousel .question-track a { padding:26px; min-height:245px; gap:24px; border-radius:var(--radius-lg); }
.publication .home-carousel .question-track a:hover { background:var(--surface-hover); }
.publication .home-carousel .question-card-title { font-size:1.6rem; line-height:1.25; }
.publication .home-carousel .question-track a:focus-visible { outline:3px solid var(--v-focus); outline-offset:-4px!important; }
@media(max-width:650px) {
 .publication .home-carousel .carousel-heading { align-items:center; gap:12px; }
 .publication .home-carousel .carousel-controls { gap:6px; }
 .publication .home-carousel .question-track a { min-height:230px; padding:22px; }
 .publication .home-carousel .question-card-title { font-size:1.45rem; }
}
