.privacy-text{max-width:520px;text-align:left;}
.privacy-text p{font-size:.92rem;line-height:1.6;margin:0 0 11px;color:var(--ink);}
.privacy-text .pz-warn{font-style:italic;color:var(--ink-soft);font-size:.85rem;background:rgba(154,123,53,.10);border-left:3px solid var(--gold);padding:8px 11px;border-radius:0 4px 4px 0;}
.acct-chip{display:inline-flex;align-items:center;gap:7px;max-width:46vw;font-family:'Fraunces',serif;font-weight:600;font-size:.8rem;line-height:1;padding:6px 13px;border:1px solid var(--line);border-radius:30px;background:var(--card);color:var(--ink);cursor:pointer;transition:border-color .16s,background .16s;}.acct-chip:hover{border-color:var(--gold);}.topbar{position:sticky;top:0;z-index:140;background:var(--paper);border-bottom:1px solid var(--line);padding:0;text-align:left;height:44px;display:flex;align-items:center;}.topbar-in{width:100%;display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;}.topbar-spacer{flex:1;}.topbar-right{position:relative;display:flex;align-items:center;gap:8px;}.tb-btn{display:inline-flex;align-items:center;gap:6px;font-family:'Fraunces',serif;font-weight:600;font-size:.8rem;line-height:1;padding:7px 13px;border:1px solid var(--line);border-radius:30px;background:var(--card);color:var(--ink);cursor:pointer;transition:border-color .16s,background .16s;}.tb-btn:hover{border-color:var(--gold);}.tb-tabs{display:flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:2px;}.tb-tab{font-family:var(--f-ui);font-weight:700;font-size:.74rem;line-height:1;color:var(--ink-soft);background:transparent;border:0;border-radius:999px;padding:7px 10px;cursor:pointer;white-space:nowrap;}.tb-tab:hover{color:var(--ink);}.tb-tab.on{background:var(--ink);color:var(--paper);}.tb-btn svg{width:15px;height:15px;flex:0 0 auto;}.tb-support{color:var(--red-deep);border-color:rgba(124,29,22,.32);}.tb-support:hover{border-color:var(--red);background:rgba(165,42,33,.06);}.tb-icon{padding:0;width:32px;height:32px;justify-content:center;border-radius:50%;}.tb-icon svg{width:17px;height:17px;}.tb-notif{position:relative;}.tb-dot{position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--red);display:none;}.tb-pop{position:absolute;top:calc(100% + 9px);right:0;min-width:232px;max-width:300px;background:var(--card);border:1px solid var(--line);border-radius:11px;box-shadow:0 10px 34px rgba(0,0,0,.2);padding:14px 16px;z-index:160;}.tb-pop[hidden]{display:none;}.tb-pop-h{font-family:'Fraunces',serif;font-weight:600;font-size:.92rem;margin-bottom:7px;color:var(--ink);}.tb-pop-t,.tb-pop-empty{font-family:'Spectral',Georgia,serif;font-size:.86rem;line-height:1.5;color:var(--ink-soft);}.tb-pop-cta{display:inline-block;margin-top:11px;font-family:'Fraunces',serif;font-weight:600;font-size:.82rem;padding:6px 14px;border-radius:30px;background:var(--red);color:#f7f1e2;text-decoration:none;}.tb-pop-cta:hover{background:var(--red-deep);}.tb-search{flex:1;min-width:0;max-width:460px;margin:0 auto;position:relative;display:flex;align-items:center;}.tb-search-ic{position:absolute;left:11px;font-size:.98rem;color:var(--const);pointer-events:none;line-height:1;}#tbSearch{width:100%;height:30px;font-family:var(--f-ui);font-size:.82rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:9px;padding:0 12px 0 30px;outline:none;transition:border-color .16s;}#tbSearch::placeholder{color:var(--const);}#tbSearch:focus{border-color:var(--gold);}.tb-results{position:absolute;top:calc(100% + 7px);left:0;right:0;background:var(--card);border:1px solid var(--line);border-radius:11px;box-shadow:0 12px 36px rgba(0,0,0,.22);padding:6px;z-index:170;max-height:62vh;overflow:auto;}.tb-results[hidden]{display:none;}.tb-res{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:8px 10px;cursor:pointer;font-family:inherit;}.tb-res:hover,.tb-res.active{background:var(--paper-2);}.tb-res-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}.tb-res-t{font-family:'Fraunces',serif;font-weight:600;font-size:.88rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.tb-res-s{font-family:var(--f-ui);font-size:.73rem;color:var(--const);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.tb-res-cat{flex:none;font-family:var(--f-ui);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:2px 8px;}.tb-cat-chapitre{background:rgba(57,89,107,.14);color:#2f4a59;}.tb-cat-concept{background:rgba(165,42,33,.1);color:#7c1d16;}.tb-cat-date{background:rgba(154,123,53,.18);color:#6f5825;}.tb-cat-oeuvre{background:rgba(82,116,47,.16);color:#3c5520;}.sb-toggle{display:inline-flex;align-items:center;background:transparent;border:0;color:var(--ink);font-size:1.15rem;line-height:1;padding:2px 6px;cursor:pointer;}.sidebar{position:fixed;top:44px;left:0;width:208px;bottom:0;overflow-y:auto;background:var(--paper);border-right:1px solid var(--line);padding:12px 8px;z-index:120;}.sb-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;font-family:var(--f-ui);font-size:.82rem;color:var(--ink);background:transparent;border:0;padding:8px 10px;margin:2px 0;border-radius:8px;cursor:pointer;transition:background .12s;}.sb-item:hover{background:var(--paper-2);}.sb-item.on{background:rgba(165,42,33,.1);color:var(--red-deep);font-weight:600;}.sb-h{font-family:var(--f-ui);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--const);margin:14px 10px 6px;}.sb-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:0 0 auto;}.sb-soon{color:var(--const);cursor:default;}.sb-soon:hover{background:transparent;}.sb-soon-tag{margin-left:auto;font-family:var(--f-ui);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase;color:var(--gold-deep);background:rgba(154,123,53,.16);border-radius:999px;padding:1px 7px;}.sb-work{margin-top:4px;border-top:1px solid var(--line-soft);padding-top:2px;}.sb-work .sb-h{margin-top:10px;}.sb-chev{margin-left:auto;font-size:.7rem;color:var(--const);transition:transform .15s ease;}.sb-disc[aria-expanded="true"] .sb-chev{transform:rotate(90deg);}.sb-sub{padding-left:12px;}.sb-sub[hidden]{display:none;}.sb-subitem{font-size:.8rem;}.sidebar{transition:transform .2s ease;}.wrap{transition:margin-left .2s ease;}@media(min-width:861px){body.sb-collapsed .sidebar{transform:translateX(-100%);}body.sb-collapsed .wrap{margin-left:0;}}.sb-backdrop{display:none;}.wrap{margin-left:208px;}@media(max-width:1020px){.tb-tabs{display:none;}}@media(max-width:860px){.sb-toggle{display:inline-flex;align-items:center;}.sidebar{transform:translateX(-100%);transition:transform .2s ease;box-shadow:6px 0 40px rgba(0,0,0,.22);}body.sb-open .sidebar{transform:translateX(0);}.wrap{margin-left:0;}body.sb-open .sb-backdrop{display:block;position:fixed;top:44px;left:0;right:0;bottom:0;background:rgba(20,14,11,.4);z-index:119;}}.tb-empty{padding:12px 10px;font-family:var(--f-ui);font-size:.82rem;color:var(--const);}@media(max-width:680px){.tb-search{max-width:none;}}@media(max-width:480px){.tb-search .tb-search-ic{display:none;}#tbSearch{padding-left:12px;}}.acct-chip{min-width:0;}.chip-name{min-width:0;max-width:130px;}.topbar-right{flex:0 1 auto;min-width:0;}@media(max-width:560px){.topbar-right{gap:6px;}.chip-name{max-width:84px;}}@media(max-width:560px){.tb-support .tb-lbl{display:none;}.tb-support{padding:0;width:30px;height:30px;justify-content:center;border-radius:50%;}.tb-support svg{width:16px;height:16px;}}.brandmark:hover{opacity:.72;}
.acct-chip:hover{border-color:var(--red);}
.acct-chip.guest{background:var(--ink);color:var(--paper);border-color:var(--ink);}
.acct-chip .chip-ava{flex:none;width:24px;height:24px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.82rem;}
.acct-chip .chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.brandmark{font-family:var(--f-ui);font-weight:800;letter-spacing:-.02em;font-size:1.02rem;line-height:1;color:var(--ink);background:transparent;border:0;padding:2px;cursor:pointer;transition:opacity .16s;}
.brandmark:hover{opacity:.62;}
.brandmark .d{color:var(--bright);}
.acct-modal{position:fixed;inset:0;z-index:140;background:rgba(28,20,14,.46);display:flex;align-items:flex-start;justify-content:center;padding:6vh 16px 24px;overflow:auto;}
.acct-modal[hidden]{display:none;}
.acct-modal-box{position:relative;width:100%;max-width:460px;}
.acct-modal-x{position:absolute;top:-12px;right:-12px;z-index:1;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2);}
.acct-modal-x:hover{border-color:var(--red);color:var(--red);}
@media(max-width:560px){.acct-chip{top:10px;right:10px;font-size:.78rem;padding:6px 11px;}.brandmark{top:10px;left:10px;font-size:.92rem;}}
/* ----- Modale Mon compte (ac-*) + avatars — partagé entre toutes les pages ----- */
.ac-card{max-width:440px;margin:0 auto;border:1px solid var(--line);background:var(--card);border-radius:10px;padding:26px 26px 22px;}
.ac-card h3{font-family:'Fraunces',serif;font-size:1.3rem;margin:0 0 16px;}
.ac-card input{display:block;width:100%;box-sizing:border-box;font-family:'Spectral',serif;font-size:1rem;padding:11px 13px;margin-bottom:11px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);}
.ac-card input:focus{outline:none;border-color:var(--red);}
.ac-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:2px;}
.ac-row input{margin-bottom:0;}
.ac-row.ac-end{justify-content:flex-end;margin-top:18px;border-top:1px solid var(--line-soft);padding-top:14px;}
.ac-note{font-size:.84rem;color:var(--ink-soft);font-style:italic;line-height:1.5;margin:12px 0 0;}
.ac-note code{font-style:normal;background:rgba(0,0,0,.05);padding:1px 5px;border-radius:4px;font-size:.85em;}
.ac-p{font-size:.95rem;line-height:1.6;color:var(--ink-soft);}
.ac-p code{background:rgba(0,0,0,.05);padding:1px 5px;border-radius:4px;}
.ac-err{background:rgba(165,42,33,.10);border-left:3px solid var(--red);padding:9px 12px;border-radius:0 4px 4px 0;font-size:.88rem;color:var(--red-deep);margin-bottom:13px;}
.ac-ok{background:rgba(82,116,47,.12);border-left:3px solid var(--ok);padding:9px 12px;border-radius:0 4px 4px 0;font-size:.88rem;margin-bottom:13px;}
.ac-tabs{display:flex;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;overflow:hidden;}
.ac-t{flex:1;padding:10px;font-family:'Fraunces',serif;font-size:.92rem;background:transparent;border:none;cursor:pointer;color:var(--ink-soft);}
.ac-t.on{background:var(--ink);color:var(--paper);}
.ac-lab{display:block;font-size:.74rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);margin:6px 0;}
.ac-id{display:flex;align-items:center;gap:14px;margin-bottom:20px;padding-bottom:18px;border-bottom:1px solid var(--line-soft);}
.ac-ava{flex:none;width:46px;height:46px;border-radius:50%;background:var(--red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:1.3rem;}
.ac-pseudo{font-family:'Fraunces',serif;font-size:1.15rem;}
.ac-mail{font-size:.86rem;color:var(--ink-soft);}
.ac-stat{font-size:.88rem;color:var(--ink-soft);margin-top:16px;}
.ac-del{color:var(--red);margin-left:auto;}
.ac-danger{margin-top:14px;background:rgba(165,42,33,.07);border:1px solid var(--red);border-radius:8px;padding:12px 14px;font-size:.88rem;line-height:1.5;color:var(--ink);}
.ac-danger b{color:var(--red-deep);}
.ac-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line-soft);text-align:center;}
.ac-avarow{display:flex;align-items:center;gap:14px;margin:2px 0 4px;}
.ac-ava-edit{width:56px;height:56px;font-size:1.4rem;flex:0 0 auto;}
.ac-avabtns{display:flex;flex-direction:column;gap:6px;align-items:flex-start;}
.ac-bio{width:100%;box-sizing:border-box;min-height:64px;font-family:'Spectral',serif;font-size:.92rem;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);resize:vertical;}
/* contrainte impérative pour la photo de profil : reste dans le cercle parent quoi qu'il arrive */
.msg-ava,.ac-ava,.chip-ava{position:relative;overflow:hidden;}
.ava-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:100%;max-height:100%;}
.ava-init{position:relative;z-index:1;}
/* boutons-lien dans la modale */
.lk{font-family:var(--f-ui);font-size:.78rem;font-weight:600;padding:5px 12px;border-radius:5px;cursor:pointer;border:1px solid;background:none;transition:all .16s;}

/* ----- Place publique (.cm-* / #placeFull / .pp-*) — flux agrégé en lecture seule ----- */
/* Page dédiée : oeuvres/place-publique.html (colonne centrée, lisible). */
.pp-head{max-width:680px;margin:36px auto 18px;text-align:center;padding:0 16px;}
.pp-head h1{font-family:'Fraunces',serif;font-weight:900;font-size:clamp(1.8rem,4.5vw,2.6rem);line-height:1.05;letter-spacing:-.02em;margin:8px 0 6px;}
.pp-head .sub{margin-top:4px;}
#placeFull{max-width:680px;margin:0 auto 60px;padding:0 16px;display:flex;flex-direction:column;gap:11px;}
/* Aperçu en colonne droite de la bibliothèque (#placeCommuneFlux). */
.pp-aside{display:flex;flex-direction:column;gap:9px;}
/* États (chargement, indispo, vide) — partagés page et aperçu. */
.cm-state{font-family:var(--f-ui);font-size:.92rem;color:var(--ink-soft);text-align:center;padding:24px 14px;line-height:1.55;}
.cm-retry{font-family:var(--f-ui);font-size:.82rem;font-weight:600;color:var(--red-deep);background:transparent;border:1px solid var(--red);border-radius:6px;padding:4px 11px;margin-left:6px;cursor:pointer;}
.cm-retry:hover{background:var(--red);color:#f7f1e2;}
/* Cartes. */
.cm-card{border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:13px 15px 11px;cursor:pointer;transition:border-color .14s,background .14s,box-shadow .14s;}
.cm-card:hover{border-color:var(--red);background:var(--card);box-shadow:0 4px 14px rgba(124,29,22,.08);}
.cm-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}
.cm-card.cm-card-soon{cursor:default;opacity:.78;}
.cm-card.cm-card-soon:hover{border-color:var(--line);background:var(--paper);box-shadow:none;}
.cm-row{display:flex;align-items:center;gap:9px;margin-bottom:4px;}
.cm-av{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:var(--red);color:#f7f1e2;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:.78rem;}
.cm-name{font-family:'Fraunces',serif;font-weight:600;font-size:.92rem;color:var(--ink);}
.cm-tag{font-family:var(--f-ui);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;background:rgba(154,123,53,.16);color:var(--gold-deep);border-radius:999px;padding:2px 8px;}
.cm-when{margin-left:auto;font-family:var(--f-ui);font-size:.7rem;color:var(--const);}
.cm-work{font-family:var(--f-ui);font-size:.72rem;letter-spacing:.04em;color:var(--ink-soft);margin:2px 0 6px;}
.cm-quote{font-family:'Fraunces',serif;font-style:italic;font-size:.95rem;color:var(--ink);border-left:3px solid var(--red);padding:1px 0 1px 12px;margin:4px 0 6px;line-height:1.45;}
.cm-body{font-family:'Spectral',Georgia,serif;font-size:.92rem;color:var(--ink-soft);line-height:1.5;margin-bottom:6px;}
.cm-foot{display:flex;align-items:baseline;gap:12px;border-top:1px solid var(--line-soft);padding-top:7px;margin-top:6px;}
.cm-rc{font-family:var(--f-ui);font-size:.72rem;color:var(--const);}
.cm-go{margin-left:auto;font-family:'Fraunces',serif;font-weight:600;font-size:.82rem;color:var(--red-deep);}
.cm-card:hover .cm-go{color:var(--red);}
.cm-go-soon{color:var(--const);font-style:italic;font-weight:500;}
/* Lien « Voir toutes les notes → » (mode compact, aperçu accueil). */
.cm-all{display:inline-block;margin-top:6px;font-family:'Fraunces',serif;font-weight:600;font-size:.86rem;color:var(--red-deep);text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s;}
.cm-all:hover{color:var(--red);border-bottom-color:var(--red);}
/* Cartes plus compactes dans l'aperçu de la colonne accueil. */
.pp-aside .cm-card{padding:10px 12px 9px;}
.pp-aside .cm-quote,.pp-aside .cm-body{font-size:.86rem;}
.pp-aside .cm-foot{padding-top:5px;margin-top:4px;}

/* ----- Messagerie privée (SHELL.social) — popover msgBtn + modale Contacts ----- */
/* Pastille de non-lus sur le bouton enveloppe : variante des dots existantes. */
#msgDot{position:absolute;top:5px;right:6px;width:6px;height:6px;border-radius:50%;background:var(--red);display:none;}
.tb-msg{position:relative;}
/* Popover compact accroché au bouton msgBtn — réutilise .tb-pop existant. */
.tb-pop.msg-pop{width:330px;max-width:86vw;padding:12px 14px;}
.msg-pop .msg-list{max-height:300px;}
.msg-pop .msg-thread{height:264px;}
.msg-pop .msg-head{margin-bottom:8px;}
.msg-pop .msg-add{margin-bottom:10px;}
.msg-pop .msg-compose{margin-top:8px;}
.msg-pop .msg-compose textarea{min-height:36px;}
/* Liste de contacts + carte conversation. */
.msg-list{margin:0 -4px;}
.msg-add{display:flex;gap:7px;margin-bottom:12px;}
.msg-add input{flex:1;min-width:0;height:34px;font-family:var(--f-ui);font-size:.85rem;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink);}
.msg-ct{display:flex;align-items:center;gap:11px;width:100%;text-align:left;background:transparent;border:0;border-radius:9px;padding:10px;cursor:pointer;font-family:inherit;}
.msg-ct:hover{background:var(--paper-2);}
.msg-ct.on{background:var(--paper-2);}
.msg-ava{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--red);color:#f7f1e2;font-family:'Fraunces',serif;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.msg-ct-main{flex:1;min-width:0;display:flex;flex-direction:column;}
.msg-ct-name{font-family:'Fraunces',serif;font-weight:600;font-size:.92rem;color:var(--ink);}
.msg-ct-prev{font-family:'Spectral',Georgia,serif;font-size:.8rem;color:var(--const);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.msg-badge{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--red);color:#fff;font-family:var(--f-ui);font-size:.66rem;display:flex;align-items:center;justify-content:center;}
/* Fil de messages : bulles + champ. */
.msg-thread{flex:1;overflow:auto;display:flex;flex-direction:column;gap:7px;padding:6px 2px;}
.msg-b{max-width:78%;padding:7px 11px;border-radius:13px;font-family:'Spectral',Georgia,serif;font-size:.92rem;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;}
.msg-b.me{align-self:flex-end;background:var(--red);color:#f7f1e2;border-bottom-right-radius:4px;}
.msg-b.them{align-self:flex-start;background:var(--paper-2);color:var(--ink);border-bottom-left-radius:4px;}
.msg-b-t{display:block;font-size:.62rem;opacity:.7;margin-top:3px;font-family:var(--f-ui);}
.msg-compose{display:flex;gap:7px;margin-top:10px;}
.msg-compose textarea{flex:1;min-height:40px;max-height:130px;font-family:'Spectral',serif;font-size:.92rem;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);resize:vertical;}
.msg-head{display:flex;align-items:center;gap:9px;margin-bottom:10px;}
.msg-head h3{font-family:'Fraunces',serif;font-size:1.18rem;margin:0;color:var(--ink);}
.msg-back{background:transparent;border:0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink);padding:0 6px;}
.msg-empty,.msg-state{font-family:var(--f-ui);font-size:.85rem;color:var(--const);padding:18px 8px;text-align:center;line-height:1.5;}
.msg-poplink{display:block;width:100%;text-align:center;margin-top:8px;font-family:'Fraunces',serif;font-weight:600;font-size:.8rem;color:var(--red-deep);background:transparent;border:0;border-top:1px solid var(--line-soft);padding-top:9px;cursor:pointer;}
.msg-poplink:hover{color:var(--red);}

/* Modale Contacts plein écran (#contactsModal) — enfant direct de body, deux panneaux. */
.ct-modal{position:fixed;inset:0;z-index:150;background:rgba(28,20,14,.46);display:flex;align-items:flex-start;justify-content:center;padding:4vh 16px 16px;overflow:auto;}
.ct-modal[hidden]{display:none;}
.ct-modal-box{position:relative;width:100%;max-width:1000px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:22px 24px 18px;box-shadow:0 24px 60px rgba(0,0,0,.25);}
.ct-modal-x{position:absolute;top:-12px;right:-12px;z-index:1;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink);font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.2);}
.ct-modal-x:hover{border-color:var(--red);color:var(--red);}
.ct-modal-body{max-height:84vh;overflow:auto;}
.cv-head{font-family:'Fraunces',serif;font-weight:900;font-size:1.6rem;color:var(--ink);margin:0 0 4px;}
.cv-sub{font-family:'Spectral',Georgia,serif;font-style:italic;color:var(--ink-soft);margin:0 0 16px;}
.cv-grid{display:grid;grid-template-columns:300px 1fr;gap:18px;align-items:start;}
.cv-pane{border:1px solid var(--line);border-radius:13px;background:var(--paper);padding:14px;}
.cv-left{min-height:50vh;}
.cv-right{min-height:50vh;display:flex;flex-direction:column;}
.cv-right .msg-thread{flex:1;min-height:280px;}
.cv-ph{margin:auto;color:var(--const);font-family:var(--f-ui);font-size:.9rem;text-align:center;padding:40px 14px;line-height:1.6;}
.cv-rowbtns{display:flex;gap:9px;align-items:center;margin-bottom:10px;}
.cv-conv-h{margin:0;font-family:'Fraunces',serif;font-size:1.1rem;color:var(--ink);}
@media(max-width:760px){.cv-grid{grid-template-columns:1fr;}.cv-left,.cv-right{min-height:0;}.cv-right .msg-thread{min-height:260px;}.ct-modal{padding:2vh 8px 8px;}.ct-modal-box{padding:18px 14px 12px;}}

/* Notifications (popover notifBtn) — rendu des éléments .nt-* (item, top,
   who/kind/when, snippet, meta). Avant 6c, ce CSS vivait inline dans
   capital-1.html ; il appartient désormais à shell.css puisque SHELL.social
   le génère sur toutes les pages. */
.nt-list{max-height:58vh;overflow:auto;margin:2px -6px -4px;}
.nt-item{display:block;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--line-soft);padding:10px 8px;cursor:pointer;font-family:inherit;}
.nt-item:first-child{border-top:0;}
.nt-item:hover{background:var(--paper-2);}
.nt-item.unseen{background:rgba(165,42,33,.06);}
.nt-top{display:flex;gap:7px;align-items:baseline;}
.nt-who{font-family:'Fraunces',serif;font-weight:600;font-size:.86rem;color:var(--ink);}
.nt-kind{font-family:var(--f-ui);font-size:.62rem;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:1px 7px;}
.nt-k-reply{background:rgba(57,89,107,.16);color:#2f4a59;}
.nt-k-mention{background:rgba(165,42,33,.12);color:#7c1d16;}
.nt-when{margin-left:auto;font-family:var(--f-ui);font-size:.68rem;color:var(--const);}
.nt-snip{font-family:'Spectral',Georgia,serif;font-size:.84rem;color:var(--ink-soft);margin-top:3px;line-height:1.45;}
.nt-meta{font-family:var(--f-ui);font-size:.7rem;letter-spacing:.02em;color:var(--gold-deep);margin-top:4px;}

/* Toast flottant (créé par SHELL.social._toast). */
.lm-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,12px);background:var(--ink);color:var(--paper);font-family:var(--f-ui);font-size:.86rem;padding:10px 16px;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.28);z-index:200;opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease;}
.lm-toast.on{opacity:1;transform:translate(-50%,0);}

/* ----- Annotations privées (SHELL.annotations + SHELL.reader.attach) ----- */
/* Surlignage des passages annotés (mark.anno) — couleurs paire-empaire. */
mark.anno{color:inherit;border-radius:2px;padding:.02em 0;cursor:pointer;transition:box-shadow .15s;}
mark.anno.c-gold{background:rgba(154,123,53,.34);}
mark.anno.c-red{background:rgba(165,42,33,.26);}
mark.anno.c-blue{background:rgba(57,89,107,.30);}
mark.anno.c-green{background:rgba(82,116,47,.30);}
mark.anno.has-note{box-shadow:inset 0 -2px 0 0 var(--ink);}
mark.anno.flashmk{box-shadow:0 0 0 3px var(--red);}
/* Barre de sélection : flotte au-dessus du texte sélectionné. */
.anno-bar{position:absolute;z-index:80;display:none;align-items:center;gap:8px;background:var(--ink);color:var(--paper);padding:7px 11px;border-radius:9px;box-shadow:0 8px 22px rgba(0,0,0,.32);}
.anno-bar-l{font-family:'Fraunces',serif;font-size:.78rem;letter-spacing:.04em;}
.anno-sw{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.55);cursor:pointer;padding:0;}
.anno-sw.on{border-color:#fff;box-shadow:0 0 0 2px var(--ink),0 0 0 4px #fff;}
.anno-sw.c-gold{background:#9a7b35;}
.anno-sw.c-red{background:#a52a21;}
.anno-sw.c-blue{background:#39596b;}
.anno-sw.c-green{background:#52742f;}
/* Popover de note attaché à un surlignage. */
.anno-pop{position:absolute;z-index:100;width:300px;max-width:92vw;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 14px 34px -10px rgba(0,0,0,.4);}
.anno-pop-q{font-style:italic;color:var(--ink-soft);font-size:.9rem;line-height:1.4;margin-bottom:10px;}
.anno-pop-sw{display:flex;gap:8px;margin-bottom:10px;}
.anno-pop-t{width:100%;min-height:78px;font-family:'Spectral',serif;font-size:.95rem;padding:9px 11px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);resize:vertical;box-sizing:border-box;}
.anno-pop-act{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
/* Panneau « Mes notes » flottant + bouton flottant déclencheur. */
.notes-panel{position:fixed;right:18px;bottom:78px;top:auto;left:auto;margin:0;width:min(380px,calc(100vw - 32px));max-height:min(72vh,580px);overflow:auto;z-index:96;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:16px 18px;box-shadow:0 18px 50px -12px rgba(0,0,0,.45);}
.notes-panel[hidden]{display:none;}
.notes-panel .np-head{position:sticky;top:-16px;background:var(--card);margin:-16px -18px 10px;padding:14px 18px 10px;z-index:1;}
.np-head{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line-soft);padding-bottom:10px;margin-bottom:10px;flex-wrap:wrap;}
.np-head b{font-family:'Fraunces',serif;font-size:1.05rem;}
.np-sec{font-family:'Spectral',Georgia,serif;font-style:italic;font-size:.86rem;color:var(--ink-soft);}
.np-n{background:var(--ink);color:var(--paper);font-family:'Fraunces',serif;font-size:.74rem;padding:1px 9px;border-radius:20px;}
.np-tools{margin-left:auto;display:flex;gap:8px;}
.np-warn{background:rgba(165,42,33,.08);border-left:3px solid var(--red);padding:9px 12px;border-radius:0 4px 4px 0;font-size:.85rem;color:var(--ink-soft);margin-bottom:10px;}
.np-empty,.np-empty2{color:var(--ink-soft);font-style:italic;font-size:.9rem;}
.np-list{list-style:none;margin:0;padding:0;}
.np-list li{display:flex;align-items:flex-start;gap:10px;padding:11px 0;border-top:1px solid var(--line-soft);}
.np-list li:first-child{border-top:none;}
.np-dot{flex:none;width:12px;height:12px;border-radius:3px;margin-top:4px;}
.np-dot.c-gold{background:#9a7b35;}
.np-dot.c-red{background:#a52a21;}
.np-dot.c-blue{background:#39596b;}
.np-dot.c-green{background:#52742f;}
.np-body{flex:1;min-width:0;}
.np-q{font-style:italic;color:var(--ink-soft);font-size:.9rem;line-height:1.4;}
.np-note{font-size:.95rem;color:var(--ink);margin-top:3px;}
.np-act{display:flex;gap:6px;flex:none;}
/* Boutons flottants « Mes notes » + « Notes partagées » (empilés). */
.notes-fab{position:fixed;right:18px;bottom:18px;z-index:95;font-family:var(--f-ui);font-weight:600;font-size:.84rem;color:var(--paper);background:var(--ink);border:0;border-radius:30px;padding:10px 16px;cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.32);transition:background .15s,transform .15s;}
.notes-fab:hover{background:var(--red);transform:translateY(-1px);}
.notes-fab.notes-fab-pub{bottom:64px;background:var(--red-deep);}
.notes-fab.notes-fab-pub:hover{background:var(--red);}
@media(max-width:560px){.notes-panel{right:8px;left:8px;bottom:70px;width:auto;}.notes-fab{right:12px;bottom:12px;font-size:.8rem;padding:9px 14px;}.notes-fab.notes-fab-pub{bottom:56px;}}

/* ----- Forum public par passage (.pub-* + .pub-compose + .pub-flash) ----- */
.notes-panel.pub-panel{bottom:78px;}
.pub-hint{font-size:.82rem;color:var(--ink-soft);font-style:italic;margin:0 0 10px;}
.pub-empty{color:var(--ink-soft);font-style:italic;font-size:.9rem;}
.pub-note{padding:12px 0;border-top:1px solid var(--line-soft);}
.pub-note:first-of-type{border-top:none;}
.pub-meta{display:flex;align-items:baseline;gap:8px;margin-bottom:3px;}
.pub-author{font-family:'Fraunces',serif;font-weight:600;font-size:.9rem;color:var(--red-deep);}
.pub-date{font-size:.74rem;color:var(--ink-soft);}
.pub-q{font-style:italic;color:var(--ink-soft);font-size:.84rem;border-left:2px solid var(--line);padding-left:8px;margin:3px 0;cursor:pointer;}
.pub-q:hover{color:var(--ink);}
.pub-body{font-size:.95rem;line-height:1.5;margin:3px 0;white-space:pre-wrap;}
.pub-acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:3px;}
.pub-replies{margin:8px 0 0 6px;padding-left:12px;border-left:2px solid var(--line-soft);}
.pub-reply{padding:6px 0;}
.pub-replybox{margin-top:8px;}
.pub-replybox textarea,.pub-compose textarea{width:100%;box-sizing:border-box;min-height:58px;font-family:'Spectral',serif;font-size:.92rem;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);resize:vertical;}
.pub-compose{position:absolute;z-index:100;width:330px;max-width:92vw;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px;box-shadow:0 14px 34px -10px rgba(0,0,0,.4);}
.pub-compose-act{display:flex;align-items:center;justify-content:space-between;margin-top:10px;}
/* Bouton « Partager » dans l'anno-bar (à droite des couleurs). */
.anno-bar .share-btn{font-family:'Fraunces',serif;font-size:.76rem;color:var(--paper);background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.45);border-radius:6px;padding:4px 10px;cursor:pointer;margin-left:2px;}
.anno-bar .share-btn:hover{background:rgba(255,255,255,.3);}
/* Mise en évidence d'un passage après arrivée par deep-link / clic forum. */
.pub-flash{background:rgba(154,123,53,.30);border-radius:3px;transition:background .5s;}
/* Petit pictogramme du statut compte dans l'entête du panneau forum. */
.notes-panel .np-acct{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.85rem;color:var(--ink-soft);margin:-2px 0 12px;padding-bottom:11px;border-bottom:1px solid var(--line-soft);}
.notes-panel .np-acct .dot{width:8px;height:8px;border-radius:50%;background:var(--ink-soft);flex:none;}
.notes-panel .np-acct.on .dot{background:var(--ok);}
.notes-panel .np-acct b{color:var(--ink);font-weight:600;font-style:normal;}
