/* Les styles de Pinup (pinup.html), sortis de la page tels quels en v940 (étape 3 du plan).
   Quatorze blocs, dans leur ordre d'origine : l'ordre compte, une règle plus bas gagne à égalité.
   Le petit bloc de la couleur du mot Hub reste dans la page. */

:root{--hov:#F7F4EF;--sel:#EDE7DE;--wash:#F7F4EF;--bg:#EFEBE4;--card:#fff;--ink:#1E2322;--ink2:#5B6563;--ink3:#8E9794;--line:#DFD8CE;
 --atelier:#db8c65;--design:var(--acc,#3a7c88);--maison:#345c72;--crayon:#bf6d62;--acc:#3a7c88}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--ink);font:14px/1.5 "IBM Plex Sans",system-ui,sans-serif;-webkit-font-smoothing:antialiased}
/* L'en-tête est collant, donc il ouvre un plan à lui : tout ce qu'il contient,
   y compris le menu du compte et le menu ☰ posés à 45, reste enfermé dans le
   plan de l'en-tête. À 5, la trousse à crayons, qui est à 40 dans le plan de la
   page, passait donc PAR-DESSUS les menus. L'en-tête monte au-dessus de tout le
   mobilier de la planche. */
header{display:flex;align-items:center;gap:12px;position:relative;padding:9px 18px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:60}
.wordmark{font-weight:700;font-size:18px;letter-spacing:-.02em}
.wordmark small{font-weight:500;color:var(--ink3);font-size:12px;margin-left:8px}
.avbtn{width:30px;height:30px;border-radius:50%;overflow:hidden;border:1px solid var(--line);padding:0;background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.spacer{flex:1}
.who{font-size:12.5px;color:var(--ink2)}
main{max-width:1020px;margin:0 auto;padding:20px 18px 60px;display:grid;grid-template-columns:minmax(300px,380px) 1fr;gap:18px}
@media(max-width:760px){main{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;overflow:hidden}
.hd{display:flex;align-items:baseline;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line)}
.hd h2{font-size:13.5px;font-weight:600}
.hd .sub{font-size:11.5px;color:var(--ink3)}
.pad{padding:14px 16px}
.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:7px 13px;font:inherit;font-size:13px;cursor:pointer}
.btn:hover{border-color:#cfc9c0}
.btn.pri{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.sm{padding:4px 9px;font-size:12px}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:baseline}
label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:12px 0 4px}
input,select,textarea{width:100%;font:inherit;font-size:13.5px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
select,::picker(select){appearance:base-select}
select{white-space:nowrap}
::picker(select){border-radius:10px;border:1px solid var(--line);background:var(--card);box-shadow:0 14px 40px rgba(0,0,0,.14);padding:4px;margin-top:4px}
select option{padding:6px 10px;border-radius:6px;cursor:pointer}
select option{background:var(--card);color:var(--ink)}
select option:hover,select option:focus{background:var(--hov)}
select option:checked{background:var(--sel);font-weight:600}
input:focus,select:focus,textarea:focus{outline:2px solid #d8d2c8;border-color:#cfc9c0}
.entrow{display:flex;gap:8px;flex-wrap:wrap}
.entbtn{flex:1;min-width:100px;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:9px 6px;font:inherit;font-size:12.5px;cursor:pointer;text-align:center}
.entbtn.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);font-weight:600}
.qrow{display:flex;gap:8px}
.qbtn{flex:1;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:8px 4px;font:inherit;cursor:pointer;text-align:center}
.qbtn b{display:block;font-size:14px}
.qbtn small{color:var(--ink3);font-size:11px}
.qbtn.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.cal{width:100%;border-collapse:collapse;table-layout:fixed}
.cal th{font-size:10.5px;color:var(--ink3);font-weight:500;padding:4px 0;text-transform:uppercase}
.cal td{text-align:center;padding:2px;height:52px;vertical-align:top}
.day{width:100%;height:100%;border:1px solid transparent;border-radius:9px;background:none;font:inherit;color:var(--ink);cursor:pointer;padding:4px 2px}
.day:hover{border-color:var(--line)}
.day.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.day.today .num{font-weight:700;text-decoration:underline}
.day .num{font-size:12.5px}
.day .hh{display:block;font-size:10.5px;color:var(--bg);background:var(--ink);border-radius:6px;margin-top:3px;padding:0 2px}
.day.off{opacity:.45}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px 16px}
.stat{border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.stat .l{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3)}
.stat .v{font-size:19px;font-weight:700;margin-top:2px}
.stat .s{font-size:11.5px;color:var(--ink3)}
table.hist{width:100%;border-collapse:collapse}
table.hist td{padding:8px 16px;border-top:1px solid var(--line);font-size:13px}
table.hist td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.empty{padding:22px 16px;color:var(--ink3);font-size:13px;text-align:center}
.chips{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 14px}
.chip{font-size:12px;border:1px solid var(--line);border-radius:99px;padding:3px 10px;color:var(--ink2)}
#login{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:50}
#login .box{width:min(360px,92vw);background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px}
#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:9px;font-size:13px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:60}
.mnav{display:flex;align-items:center;gap:8px}
.mnav b{font-size:13.5px;min-width:130px;text-align:center;text-transform:capitalize}
.menuwrap{position:relative}
.menu{position:absolute;top:calc(100% + 6px);right:0;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.12);display:none;min-width:210px;z-index:45;overflow:hidden}
#appmenu{min-width:274px}
#appmenu a{white-space:nowrap}
.menu .grp,.chmenu .grp{margin-top:11px}
.menu a{display:block;padding:10px 14px;color:var(--ink);text-decoration:none;font-size:13px}
.menu a:hover{background:var(--hov)}
.menu a.here{font-weight:600;background:var(--sel)}
.menu .grp{padding:8px 14px 2px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3)}

.del{color:#9c3f3f;cursor:pointer;font-size:12px;background:none;border:none;font-family:inherit}

/* ===== Style « Aethos », même charte que le Hub, bascule partagée ===== */
body.aethos{--bg:#EFEBE4;--card:#ffffff;--ink:#1E2322;--ink2:#5B6563;--ink3:#8E9794;--line:#DFD8CE}
body.aethos header{background:#1E2322;border-bottom:none;color:#fff}
body.aethos .wordmark{color:#fff}
/* En Classique l'en-tete est noir, le petit nom s'ecrit donc en blanc. Epure et
   Studio portent aussi la classe « aethos » mais ont un en-tete clair : la regle
   y rendait le nom de l'application blanc sur blanc, donc invisible. */
body.aethos:not(.t-epure):not(.t-studio) .wordmark small{color:rgba(255,255,255,.55)}
body.aethos .who{color:rgba(255,255,255,.7)}
body.aethos header .btn{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
body.aethos header .btn:hover{background:rgba(255,255,255,.12)}
body.aethos header .avbtn{border-color:rgba(255,255,255,.45);background:transparent;color:#fff}
body.aethos .card{border:none;border-radius:18px;box-shadow:0 2px 12px rgba(42,46,48,.08)}
body.aethos .btn{border-radius:999px}
/* v1094 : le survol seulement là où il existe : sur un téléphone il restait après un toucher, texte clair sur fond clair */
@media (hover:hover){body.aethos .btn:hover{border-color:var(--acc,#3a7c88);background:#fdefe8}}
body.aethos .btn.pri{background:var(--acc,#3a7c88);border-color:var(--acc,#3a7c88);color:#fff;font-weight:600}
body.aethos .btn.pri:hover{background:#e05a28}
body.aethos .entbtn,body.aethos .qbtn{border-radius:12px}
body.aethos .entbtn.on,body.aethos .qbtn.on{border-color:var(--acc,#3a7c88);box-shadow:inset 0 0 0 1px var(--acc,#3a7c88)}
body.aethos .day{border-radius:11px}
body.aethos .day.sel{border-color:var(--acc,#3a7c88);box-shadow:inset 0 0 0 1px var(--acc,#3a7c88)}
body.aethos .day .hh{background:var(--acc,#3a7c88)}


/* ===== Thèmes supplémentaires ===== */
body.t-nuit{--hov:#2c2f31;--sel:#3a3f43;--wash:#26292c;--bg:#191b1d;--card:#232628;--ink:#eceae5;--ink2:#c2bfb8;--ink3:#9b988f;--line:#34383b;--line2:#2c2f31;--ok:#5abf8a;--okbg:#1e3228;--warn:#d9a75a;--warnbg:#372e1c;--neut:#9a958d;--neutbg:#2c2f31}
body.t-nuit header{background:#101214}
body.t-nuit input,body.t-nuit select{background:#2b2e31;color:var(--ink);border-color:#3d4144}
body.t-nuit .card{box-shadow:0 2px 14px rgba(0,0,0,.5)}
body.t-nuit .btn.pri{background:var(--acc,#3a7c88);border-color:var(--acc,#3a7c88);color:#fff}
body.t-nuit label{color:var(--ink2)}
body.t-nuit ::placeholder{color:#918e86}
body.t-nuit .qbtn small{color:var(--ink2)}
body.t-nuit .qbtn{border-color:#41454a}
body.t-nuit .entbtn{border-color:#41454a}
body.t-nuit .qbtn:hover,body.t-nuit .entbtn:hover{background:var(--hov)}
body.t-nuit input::-webkit-calendar-picker-indicator{filter:invert(.8)}

/* ---------- Épuré : la clarté des sites Apple et Pixel. Beaucoup de blanc, des angles très arrondis,
   pas de traits durs, une seule couleur d'action, une typographie serrée et sombre. ---------- */
body.t-epure{--bg:#f5f5f7;--card:#ffffff;--ink:#1d1d1f;--ink2:#424245;--ink3:#86868b;
 --line:#e5e5ea;--line2:#f1f1f4;--acc:#3a7c88;--hov:#f0f0f3;--wash:#fafafb;--sel:#E4EEF0;--rad:14px;
 font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
 letter-spacing:-.011em}

/* ---------- Studio : l'entre-deux. Ni le noir de Classique, ni le blanc froid d'Épuré.
   Un gris chaud de papier, des encres profondes mais pas noires, des traits doux.
   Il reprend les formes d'Épuré (angles arrondis, chrome léger) et n'en change
   que la palette : le corps porte donc les deux classes. ---------- */
body.t-studio{--bg:#F1F0EC;--card:#FFFFFF;--ink:#262A2C;--ink2:#565E61;--ink3:#8D9499;
 --line:#E1DFD9;--line2:#EDEBE5;--acc:#3a7c88;--hov:#EDEBE6;--wash:#FAF9F6;--sel:#E4EEF0;--rad:12px;
 letter-spacing:-.005em}
body.t-studio .card{box-shadow:0 1px 2px rgba(38,42,44,.04),0 8px 22px -18px rgba(38,42,44,.30)}

body.t-epure h1,body.t-epure h2,body.t-epure h3,body.t-epure h4{letter-spacing:-.022em;font-weight:600}
body.t-epure .card,body.t-epure .hcard,body.t-epure .gc{border:0;border-radius:18px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
body.t-epure .kpi{border:0;border-radius:16px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 6px 18px rgba(0,0,0,.045)}
body.t-epure .modal{border:0;border-radius:20px;box-shadow:0 24px 64px rgba(0,0,0,.18)}
body.t-epure .btn,body.t-epure .rbtn{border-radius:980px;border-color:var(--line);font-weight:500}
body.t-epure .btn:hover,body.t-epure .rbtn:hover{background:var(--hov);border-color:#dcdce1}
body.t-epure .btn.pri{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:500}
body.t-epure .btn.pri:hover{background:#2f6a76;border-color:#2f6a76}
body.t-epure input,body.t-epure select,body.t-epure textarea{border-radius:12px;border-color:var(--line);background:var(--card)}
body.t-epure input:focus,body.t-epure select:focus,body.t-epure textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px rgba(65,123,116,.18);outline:0}
body.t-epure .seg{border-radius:980px;background:var(--hov);border:0;padding:2px}
body.t-epure .seg button{border-radius:980px;border:0;font-weight:500;background:transparent;padding:5px 11px;line-height:1.5}
body.t-epure .seg button.on{background:var(--acc);color:#fff;font-weight:600;box-shadow:none}
/* Le survol du segment posait var(--line2) sur une piste var(--hov) : deux gris
   voisins, donc rien de visible. Sur ce thème la piste est grise, la pastille
   survolée passe en blanc. */
body.t-epure .seg button:hover:not(.on){background:var(--card);color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.06)}
body.t-epure .seg button.on:hover{background:#2f6a76}
body.t-epure .pill,body.t-epure .tag,body.t-epure .oc-tag,body.t-epure .chip,body.t-epure .st,body.t-epure .ct{border-radius:980px}
body.t-epure table th{background:transparent;border-bottom:1px solid var(--line);color:var(--ink3);font-weight:500;text-transform:none;letter-spacing:0}
body.t-epure table tr.tot td,body.t-epure table tr.tot th{background:transparent;border-top:1px solid var(--line)}
body.t-epure .hd{border-bottom:1px solid var(--line2)}
body.t-epure .sub{color:var(--ink3)}
body.t-epure .ico{border-radius:980px}
body.t-epure .swrow .sw i,body.t-epure .sw i{border-radius:980px}
body.t-epure table td{border-bottom:1px solid var(--line2)}
body.t-epure table td,body.t-epure table th{border-left:0;border-right:0}
body.t-epure .hint,body.t-epure .empty{border-radius:12px;color:var(--ink3)}
body.t-epure .menu,body.t-epure .ctx,body.t-epure .chmenu,body.t-epure .pjmenu{border-radius:14px;border:0;box-shadow:0 12px 40px rgba(0,0,0,.16)}
body.t-epure a{color:var(--ink)}
body.t-epure .rowlink{color:var(--ink)}
body.t-epure a:hover{color:var(--ink)}
body.t-epure header{background:rgba(255,255,255,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line);color:var(--ink)}
body.t-epure .wordmark,body.t-epure .who,body.t-epure .logo{color:var(--ink);font-weight:600;letter-spacing:-.022em}
body.t-epure header .btn,body.t-epure header .avbtn,body.t-epure header select{color:var(--ink);border-color:var(--line);background:var(--card)}
body.t-epure header .btn:hover{background:var(--hov)}

body.t-calque{--bg:#f7f5f0;--card:#fdfcf9;--ink:#26241f;--ink2:#565248;--ink3:#8f8a7f;--line:#d8d2c4;--line2:#eae5da}
body.t-calque header{background:var(--bg);border-bottom:1px solid var(--ink);color:var(--ink)}
body.t-calque .wordmark,body.t-calque .who{color:var(--ink)}
body.t-calque header .btn,body.t-calque header .avbtn{color:var(--ink);border-color:rgba(38,36,31,.35);background:transparent}
body.t-calque .card{border:1px solid var(--line);border-radius:4px;box-shadow:none}
body.t-calque .btn{border-radius:3px}
body.t-calque .btn.pri{background:#35635E;border-color:#35635E;color:#fff}
body.t-beton{--bg:#e6e6e3;--card:#f2f2ef;--ink:#141414;--ink2:#3b3b39;--ink3:#6f6f6c;--line:#bdbdb7;--line2:#d8d8d3}
body.t-beton header{background:#141414}
body.t-beton .card{border:1.5px solid #141414;border-radius:0;box-shadow:5px 5px 0 rgba(20,20,20,.85)}
body.t-beton .btn,body.t-beton input,body.t-beton select{border-radius:0}
body.t-beton .btn.pri{background:#ff4f00;border-color:#141414;color:#141414;font-weight:700}
body.t-riviera{--bg:#f6f2e8;--card:#fffdf8;--ink:#2c3226;--ink2:#535a48;--ink3:#8b9080;--line:#e0dac6;--line2:#eee9da}
body.t-riviera header{background:#3d4a33}
body.t-riviera .btn.pri{background:#c4562e;border-color:#c4562e;color:#fff}

/* ===== Thème Affiche ===== */
body.t-affiche{--bg:#efede7;--card:#ffffff;--ink:#101010;--ink2:#33322e;--ink3:#6f6d66;--line:#101010;--line2:#e2dfd6}
body.t-affiche header{background:#101010}
body.t-affiche .card{border:2px solid #101010;border-radius:14px;box-shadow:6px 6px 0 #101010}
body.t-affiche .btn{border:2px solid #101010;color:#101010;font-weight:700}
body.t-affiche header .btn{background:transparent;border-color:rgba(255,255,255,.45);color:#fff}
body.t-affiche .btn.pri{background:#e8262d;border-color:#101010;color:#fff}
body.t-affiche input,body.t-affiche select{border:1.5px solid #101010;background:#fff}
body.aethos header select{background:transparent;border:1px solid rgba(255,255,255,.4);color:#fff;border-radius:8px;padding:6px 9px;font-size:12.5px}
body.t-calque header select{color:var(--ink);border-color:rgba(38,36,31,.35);background:transparent;border-radius:3px}



/* ce que le module apporte en propre : fenêtres, actions, petits boutons, attente */
/* v930 : les images d'un site (js/pinup/liens.js) */
.lnkgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;max-height:64vh;overflow:auto}
.lnkc{position:relative;padding:0;border:2px solid var(--line,#ddd);border-radius:8px;background:var(--bg2,#f4f4f4);aspect-ratio:1;overflow:hidden;cursor:pointer}
.lnkc img{width:100%;height:100%;object-fit:contain;display:block}
.lnkc.on{border-color:var(--acc,#2a6);box-shadow:0 0 0 2px var(--acc,#2a6)}
.lnkc.ko{opacity:.35}
.lnkc i{position:absolute;left:6px;top:6px;font:600 10px/1 system-ui;font-style:normal;background:rgba(0,0,0,.6);color:#fff;padding:3px 6px;border-radius:4px}
.modal-bg{position:fixed;inset:0;background:rgba(20,22,24,.42);display:flex;align-items:center;justify-content:center;z-index:80;padding:18px}
.modal{background:var(--card);border-radius:14px;padding:18px 20px;max-width:560px;width:100%;max-height:86vh;overflow:auto;box-shadow:0 20px 60px rgba(0,0,0,.28)}
.modal h2{font-size:15px;font-weight:600;margin-bottom:10px}
.modal label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);margin:10px 0 4px}
.modal input,.modal select,.modal textarea{width:100%}
.mact{display:flex;gap:8px;align-items:center;justify-content:flex-end;margin-top:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
@media(max-width:560px){.grid2{grid-template-columns:1fr}}
.ico{border:1px solid transparent;background:transparent;color:var(--ink2);border-radius:8px;width:26px;height:26px;font-size:13px;cursor:pointer;line-height:1;padding:0}
.murside .sh .sbtn{width:30px;height:30px;border-color:var(--line);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;margin-left:4px}.murside .sh .sbtn:hover{background:var(--hov,#EDE7DE)}
.ico:hover{background:var(--hov);color:var(--ink)}
.sub{font-size:11.5px;color:var(--ink3)}
.hint{font-size:12px;color:var(--ink3);line-height:1.5;margin:6px 0}
textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font:inherit;font-size:13px;background:var(--card);color:var(--ink)}
#busy{position:fixed;inset:0;background:rgba(250,248,245,.72);display:none;align-items:center;justify-content:center;z-index:90}
#busy .bx{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 22px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.12)}
#busy .bx b{display:block;font-size:13.5px}
#busy .bx span{display:block;font-size:12px;color:var(--ink3);margin-top:3px}
/* ---------- mur ---------- */
html,body{height:100%}
body{overflow:hidden}
main{max-width:none;margin:0;padding:0;display:flex;height:calc(100vh - var(--hdrh,60px));min-height:0}
body.acc .murside{display:none}
.accw{flex:1;overflow:auto;padding:34px 34px 60px}
.acch h1{font-size:22px;font-weight:600;letter-spacing:-.02em;margin:0 0 4px}
.acch p{margin:0 0 22px;color:var(--ink3);font-size:13px;max-width:640px}
.acct{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin:26px 0 10px}
.pjg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.pjc{display:flex;flex-direction:column;text-align:left;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--rad,12px);background:var(--card);cursor:pointer;font:inherit;color:var(--ink)}
.pjc:hover{border-color:var(--ink3);box-shadow:0 8px 22px rgba(0,0,0,.08)}
.pjc .ph{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;background:var(--wash,#f2f1ee) center/cover no-repeat;border-bottom:1px solid var(--line2)}
.pjc .ph i{font-style:normal;font-size:26px;font-weight:700;letter-spacing:.04em;color:var(--ink3);opacity:.6}
.pjc .ph.on i{display:none}
.pjc .tx{display:flex;flex-direction:column;gap:3px;padding:12px 14px 13px;min-height:82px}
.pjc b{font-size:14px;font-weight:600;letter-spacing:-.01em}
.pjc .ad{font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pjc .nb{font-size:12px;color:var(--ink2);margin-top:auto}
.pjc .dt{font-size:11px;color:var(--ink3)}
/* l'accueil des planches : barre de recherche et de filtres, vignettes ou liste */
.acctb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}
#accres.accdrop{outline:2px dashed var(--acc,#3a7c88);outline-offset:6px;border-radius:12px}
.acctb input[type=search]{flex:1 1 240px;min-width:0;max-width:380px}.acctb select{width:auto;max-width:240px}
.accseg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;background:var(--card)}
.accseg button{border:0;background:transparent;font:inherit;font-size:12.5px;color:var(--ink2);padding:4px 11px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center}
.accseg button.on{background:var(--acc);color:#fff}.accseg.vue button{padding:4px 8px}
.accn{font-size:12px;color:var(--ink3)}.acclien{color:var(--acc);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pjg.bdg{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}.bdg .pjc .ph{aspect-ratio:16/10}.bdg .pjc .tx{padding:10px 12px 11px}.bdg .pjc b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bdg .pjc .tx{min-height:0}.pjc.arch,.bdl.arch{opacity:.62}
.bdlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--rad,12px);overflow:hidden;background:var(--card)}
.bdl{display:grid;grid-template-columns:64px minmax(0,2fr) minmax(0,1.3fr) minmax(0,1fr) auto;gap:14px;align-items:center;padding:8px 14px;border:0;border-bottom:1px solid var(--line2);background:transparent;font:inherit;color:var(--ink);text-align:left;cursor:pointer}
.bdl:last-child{border-bottom:0}.bdl:hover{background:var(--hov,var(--wash))}
.bdl .ph{width:64px;height:40px;border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--wash,#f2f1ee) center/cover no-repeat}.bdl .ph i{font-style:normal;font-weight:700;color:var(--ink3);opacity:.6}.bdl .ph.on i{display:none}
.bdl b{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bdl .pj,.bdl .fo,.bdl .dt{font-size:12px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){.pjg.bdg{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bdg .pjc .tx{padding:8px 10px 9px}.bdg .pjc .ad,.bdg .pjc .dt{font-size:11px}.accw{padding:18px 14px 50px}.acctb input[type=search]{flex-basis:100%;max-width:none}.bdl{grid-template-columns:56px minmax(0,1fr) auto}.bdl .fo,.bdl .pj{display:none}.bdl .ph{width:56px;height:36px}}
/* La liste des planches passait sous la trousse pour la même raison : elle n'a
   pas de plan à elle, la trousse est à 40. Elle se place au-dessus des crayons,
   et reste sous l'en-tête et sa languette. */
.murside{width:232px;flex:none;border-right:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;min-height:0;position:relative;z-index:44}
.murside .sh{padding:12px 14px 8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);display:flex;align-items:center;gap:8px}
.murside .sh .spacer{flex:1}
.murlist{flex:1;overflow:auto;padding:0 8px 10px}
.murlist a{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:9px;font-size:13px;color:var(--ink);cursor:pointer;text-decoration:none}
.murlist a:hover{background:var(--hov)}
.murlist a.on{background:var(--sel);font-weight:600}
.murlist a .n{margin-left:auto;font-size:11px;color:var(--ink3)}
.murmain{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0;position:relative}
.murbar{display:flex;align-items:center;gap:6px;padding:5px 12px;border-bottom:1px solid var(--line);background:var(--card);flex-wrap:wrap}
/* les commandes secondaires vivent sous « Plus », toujours : la barre reste courte */
.bdmorewrap{display:inline-block;position:relative}.bdplus{display:inline-block}
.bdmore{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:80;flex-direction:column;align-items:stretch;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 14px 40px rgba(0,0,0,.14);min-width:180px}
.bdmorewrap.open .bdmore{display:flex}.bdmore .btn{text-align:left;justify-content:flex-start}
/* l'en-tête de l'application se replie d'un clic : la planche prend la hauteur */
body.hdrhide header{display:none}
:root{--hdrh:60px}body.hdrhide{--hdrh:0px}
.bdhdrtog{width:26px;height:26px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--ink3);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}
.bdhdrtog:hover{color:var(--ink)}
.bdzoomw{display:inline-flex;align-items:center;gap:2px;margin-left:4px}.bdzoomw .bdz{font-size:11.5px;color:var(--ink3);font-variant-numeric:tabular-nums;min-width:38px;text-align:right}
/* tablette, ou écran peu haut : barres serrées, commandes secondaires sous « Plus », trousse plus petite */
@media (max-width:1400px),(max-height:820px){
  header{padding:7px 14px;gap:8px}
  header .wordmark{font-size:16px}
  .murbar{padding:4px 10px;gap:5px}
  .murbar h1{font-size:14px;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .murbar .sub[title="version déployée"]{display:none}
  .bdmore{box-shadow:0 14px 40px rgba(0,0,0,.14);min-width:160px}
  .bdmorewrap.open .bdmore{display:flex}
  .bdmore .btn{text-align:left;justify-content:flex-start}
  .bdtools{padding:4px 5px;gap:3px}
  .bdt{width:32px;height:30px;font-size:13px}
  .bdt svg{width:16px;height:16px}
  .bddock{gap:5px;padding:9px 5px;left:8px;border-radius:14px}   /* v1433 : un peu d'air entre les crayons (Eric, 15/10 : « squished vertically ») */
  .bddock .u{width:32px;height:32px;font-size:14px}
  .bddock .u svg{width:17px;height:17px}
  .bddock .fav{width:34px;height:30px}
  .bddock .fav .u svg{width:15px;height:15px}
  .bddock .sep{margin:4px 3px}
  .bddock .fold,body.compact .bddock .pencil{width:32px;height:26px}
}
label.btn{text-transform:none;letter-spacing:normal}
.murbar h1{font-size:15px;font-weight:600;letter-spacing:-.01em}
.bdwrap{flex:1;height:auto;min-height:0}
@media(max-width:820px){.murside{display:none}main{height:calc(100vh - 56px)}}
/* mur d'épingles */
.bdcard{display:flex;flex-direction:column}
.bdcard .hd label.btn{text-transform:none;letter-spacing:normal}
.bdtools{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:45;display:flex;align-items:center;gap:4px;padding:5px 6px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--card) 94%,transparent);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(0,0,0,.10);flex-wrap:nowrap;max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
.bdt{border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:10px;width:38px;height:34px;font-size:14px;cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center}
.bdt svg{display:block}
.bdt:hover{background:var(--hov,#EDE7DE)}
.bdt.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.bdsep{width:1px;height:20px;background:var(--line);margin:0 4px}
.bdc{width:20px;height:20px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 0 0 1px var(--line) inset}
.bdc.sq{border-radius:5px}
.bdc.on{border-color:var(--ink3);box-shadow:0 0 0 1px var(--card) inset}
.bdz{font-size:11.5px;color:var(--ink3);min-width:48px;text-align:right}
.bdwrap{position:relative;overflow:hidden;height:min(72vh,760px);background:var(--card);
 background-image:radial-gradient(circle,var(--line) 1px,transparent 1px);background-size:24px 24px;touch-action:none;cursor:default;user-select:none}
/* mode présentation : tout le mobilier s'efface, la planche prend l'écran */
body.pres header,body.pres .murbar,body.pres .bdtools,body.pres .burger,
body.pres .side,body.pres .sidefold,body.pres .bdselbar,body.pres .bdh,
body.pres .bdgap,body.pres .bdstickbox,body.pres .bdfmtbox,body.pres #sutabs{display:none !important}
body.pres{padding-bottom:0 !important}
body.pres main{padding:0;max-width:none;display:block}
body.pres .bdwrap{position:fixed;inset:0;height:100vh;width:100vw;border-radius:0;border:0;z-index:60}
body.pres .bdpresout{display:flex}
body.pres .bdwrap{background-image:none !important}
body.pres .bdpresfull{display:flex;right:auto;left:auto}
body.pres .bdprestop{display:flex;position:fixed;right:14px;top:14px;z-index:70;gap:8px}
body.pres .bdprestop .bdpresout{position:static}
.bdprestop{display:none}
.bi.forme .biform{position:absolute;inset:0}
.bi.forme .bilab.in{position:absolute;inset:0;bottom:auto;top:0;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;padding:6% 8%;box-sizing:border-box;overflow:hidden;white-space:normal;max-width:none;pointer-events:none}
.bi.forme .bilab.in .bitxt{pointer-events:auto;line-height:1.2}
.bi.repere .bilab.in{padding:0}
.icosec .igrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;padding:6px 10px 14px}
.icosec.s-s .igrid{grid-template-columns:repeat(auto-fill,minmax(36px,1fr));gap:2px}.icosec.s-s .ic{padding:6px 0}
.icosec.s-m .igrid{grid-template-columns:repeat(auto-fill,minmax(54px,1fr))}.icosec.s-m .ic{padding:10px 0}
.icosec.s-l .igrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px}.icosec.s-l .ic{padding:14px 0}
.icosec.s-s .igrid.noun .ic img{width:24px;height:24px}.icosec.s-m .igrid.noun .ic img{width:36px;height:36px}.icosec.s-l .igrid.noun .ic img{width:56px;height:56px}
.icosec .mrow .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;gap:2px;flex:none}
.icosec .mrow .seg button{border:0;background:none;font:inherit;font-size:10px;padding:3px 7px;border-radius:999px;color:var(--ink3);cursor:pointer;min-width:22px}
.icosec .mrow .seg button.on{background:var(--ink);color:var(--card)}
.icosec .ic{border:1px solid transparent;background:transparent;border-radius:8px;padding:8px 0;cursor:grab;color:var(--ink2);display:flex;align-items:center;justify-content:center}
.icosec .ic:hover{background:var(--hov,#F7F4EF);border-color:var(--line);color:var(--ink)}
.icosec .mplus{grid-column:1/-1}
.icosec .mrow{display:flex;gap:6px;align-items:center;padding:0 10px}
.icosec .nounsec{border-bottom:1px solid var(--line);margin-bottom:4px}
.icosec .igrid.noun .ic img{width:30px;height:30px;object-fit:contain;display:block;pointer-events:none}
body.nuit .icosec .igrid.noun .ic img{filter:invert(1)}
.icosec .ic.busy{opacity:.4;cursor:progress}
.bdfmtbox.bdformes,.bdfmtbox.bdfleches{min-width:0;max-width:none;width:max-content}.bdformes .grille{display:grid;grid-template-columns:repeat(5,auto);gap:4px}
.bdfmtbox.bdfleches{max-width:330px}.bdfleches .ends{display:flex;gap:4px;flex-wrap:wrap;padding:0 2px}.bdfmtbox.bdfleches .ends .end{width:auto;flex:none;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:3px 2px;cursor:pointer;color:var(--ink2);display:inline-flex;align-items:center;justify-content:center}.bdfmtbox.bdfleches .ends .end.on{border-color:var(--ink);color:var(--ink);background:var(--card)}.bdfmtbox.bdfleches .ends .end:hover{background:var(--hov,#F7F4EF)}.bdfmtbox.bdfleches .row button{width:auto;flex:1;justify-content:center;align-items:center}
.bdformes .grille button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:4px;cursor:pointer;color:var(--ink2);display:flex;align-items:center;justify-content:center}
.bdformes .grille button:hover{background:var(--hov,#F7F4EF)}.bdformes .grille button.on{border-color:var(--ink);color:var(--ink)}
.bdformes .row,.bdfleches .row{display:flex;gap:4px}
#bdwrap[data-tool="marker"]{cursor:crosshair}
/* la pellicule du mode Présentation */
.bdfilm{position:absolute;left:16px;right:16px;bottom:0;height:98px;display:flex;align-items:center;gap:8px;padding:8px 12px;overflow-x:auto;overflow-y:hidden;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-bottom:0;border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(0,0,0,.06);z-index:45;scrollbar-width:thin}
.bdfilm .fs{position:relative;flex:none;height:78px;border:2px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0}
.bdfilm .fs .th{display:block;height:100%;background:#fff}.bdfilm .fs .th img{height:100%;width:100%;object-fit:contain;display:block}
.bdfilm .fs .n{position:absolute;left:4px;top:3px;font-size:10px;font-weight:700;color:var(--ink3);background:rgba(255,255,255,.8);border-radius:4px;padding:0 4px;z-index:1}
.bdfilm .fs.cur{border-color:var(--acc,#3a7c88);box-shadow:0 0 0 2px color-mix(in srgb,var(--acc,#3a7c88) 30%,transparent)}
.bdfilm .fs.bsel{border:3px solid var(--acc,#3a7c88);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc,#3a7c88) 25%,transparent)}
.bdfilm .fs.bsel .n{background:var(--acc,#3a7c88);color:#fff}
.bdfilm .fs.fsel{outline:2.5px solid var(--acc,#3a7c88);outline-offset:2px}
.bdfilm .fs.fsel::after{content:"✓";position:absolute;right:3px;bottom:3px;width:16px;height:16px;border-radius:50%;background:var(--acc,#3a7c88);color:#fff;font-size:10px;line-height:16px;text-align:center}
/* l'onglet Drive (js/pinup/drive.js) */
.drvp{padding:8px 10px 14px}.drvv{padding:4px 2px 8px;line-height:1.45}
.drvbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.drvbar .btn.on{border-color:var(--acc,#3a7c88);color:var(--acc,#3a7c88)}
.drvq{width:100%;margin-bottom:6px}
.drvfil{font-size:11.5px;color:var(--ink3);margin:2px 2px 8px;line-height:1.5}.drvfil a{cursor:pointer;color:var(--ink2)}.drvfil a:hover{text-decoration:underline}.drvsep{margin:0 4px;opacity:.6}
.drvproj{margin:0 0 8px}.drvproj .btn.on{border-color:var(--acc,#3a7c88);color:var(--acc,#3a7c88)}
.drvg{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.drvg .drvv{grid-column:1/-1}
.drvf{display:flex;flex-direction:column;gap:3px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;min-width:0}
.drvf:hover{border-color:var(--acc,#3a7c88)}.drvf.autre{opacity:.6}.drvf.pos:active{cursor:grabbing}
.drvth{display:flex;align-items:center;justify-content:center;height:70px;background:#f3f1ed;border-radius:6px;overflow:hidden;color:var(--ink3)}
.drvth img{width:100%;height:100%;object-fit:cover}.drvf.dos .drvth{height:44px}.drvico{font-size:18px;opacity:.6}
.drvn{font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* l'onglet Modèles (js/pinup/modeles.js) */
.tplp{padding:8px 10px 14px}.tplcpt{padding:2px 2px 10px;line-height:1.45}
.tplr{margin-bottom:12px}.tplrh{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin:0 2px 6px}
.tplg{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}.tplv{grid-column:1/-1;padding:0 2px}
.tplc{display:flex;flex-direction:column;gap:3px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:pointer;min-width:0}
.tplc:hover{border-color:var(--acc,#3a7c88)}.tplc:active{cursor:grabbing}
.tplth{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:#f3f1ed;border-radius:6px;overflow:hidden;color:var(--ink3)}
.tplth img{width:100%;height:100%;object-fit:contain}.tplth svg{width:70%}
.tpln{font-size:12px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tpls{font-size:10.5px;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tplray{display:flex;flex-direction:column;gap:6px;margin-top:4px}.tplray label{display:flex;gap:8px;align-items:center;font-size:13px;margin:0;text-transform:none;letter-spacing:0;color:var(--ink)}.tplray input{width:auto}
.bdfilm .fs.over{border-color:var(--ink)}.bdfilm .fs.drag{opacity:.4}.bdfilm .fs.cache{opacity:.45}
.bdpour{display:flex;align-items:center;gap:8px;padding:6px 2px 8px;border-bottom:1px solid var(--line2);font-size:12px}
.bdpour .lab{color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px}
.bdpour .av{width:20px;height:20px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex:none}
.bdpour select{flex:1;min-width:0;width:auto}
/* v1194 : une épingle pour plusieurs personnes ou groupes */
.bdpour{position:relative}.bdpour .av+.av{margin-left:-6px;box-shadow:0 0 0 2px var(--card)}
.bdpour .avn{font-size:10px;color:var(--ink3);margin-left:2px}
.bdpourbtn{flex:1;min-width:0;display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:8px;background:var(--card);padding:6px 10px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer;text-align:left}
.bdpourbtn .t{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.bdpourbtn i{font-style:normal;color:var(--ink3);font-size:10px}
.bdpourpop{position:absolute;left:0;right:0;top:100%;z-index:5;margin-top:4px;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:8px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.bdpourpop .tit{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:6px 4px 2px}
.bdpourpop label{display:flex!important;align-items:center;gap:8px;margin:0!important;padding:5px 6px;border-radius:6px;font-size:13px;color:var(--ink);text-transform:none;letter-spacing:0;cursor:pointer}
.bdpourpop label:hover{background:var(--bg2,#f3f2ef)}.bdpourpop input{width:auto;margin:0;flex:none}
.bdpourpop .nm{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.bdpourpop .n,.bdpourpop .soc{font-size:11px;color:var(--ink3)}.bdpourpop .pp.inc{opacity:.6}
.bdpourpop .bt{display:flex;justify-content:flex-end;gap:6px;margin-top:6px;position:sticky;bottom:-8px;background:var(--card);padding:6px 0 2px}
.biwho.pour{outline:2px solid var(--card);outline-offset:0;border:2px solid #1d1d1f;box-sizing:content-box;width:18px;height:18px;line-height:18px}
.bdcropghost{position:absolute;opacity:.32;pointer-events:none;user-select:none;object-fit:fill}
.bdlogos .lg{width:76px;height:52px;border:1px solid var(--line);border-radius:8px;background:#fff;display:inline-flex;align-items:center;justify-content:center;margin:0 6px 6px 0;cursor:pointer;padding:4px;overflow:hidden}
.bdlogos .lg img{max-width:100%;max-height:100%;object-fit:contain}
.bdlogos .lg.on{outline:2px solid var(--acc,#3a7c88);outline-offset:1px}
.mqlgs{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px}
.mqlg{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px}
.mqlg .mqlgv{flex:none;width:96px;height:56px;border-radius:8px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:11px;color:var(--ink3)}
.mqlg .mqlgv img{max-width:100%;max-height:100%;object-fit:contain}
.mqlg .mqlgi{flex:1;min-width:0;font-size:12.5px}.mqlg .mqlgi .tmeta{margin:2px 0 6px}
.mqlg .mqlga{display:flex;gap:6px;flex-wrap:wrap}
.bitxt.champ{text-decoration:underline dotted rgba(58,124,136,.7);text-underline-offset:3px}
.bimc{position:absolute;box-sizing:border-box;pointer-events:none}
.bimc.binum{display:flex;align-items:flex-end;justify-content:flex-end;padding:2.2% 2.6%;font-family:inherit;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.bimasq{position:absolute;left:10px;top:-22px;font-size:10px;letter-spacing:.12em;font-weight:700;color:#fff;background:#3a7c88;border-radius:6px;padding:2px 7px}
.bimasq.skip{background:#8d9499}
/* v1251 : une feuille hors présentation n'est plus pâlie (Eric, 07/10 : « why is the sheet showing grey », « i don't want that
   difference in sheet color » : depuis v1217 toute feuille posée sur le mur entre hors présentation) ; sur le mur, l'onglet numéroté
   dit qui en est, l'étiquette ne sort qu'en diapositives */
body:not(.prez) .bimasq.skip{display:none}
/* v970 : une diapositive masquée ou cachée se voit de loin : grisée, hachurée, l'œil barré toujours visible */
.bdfilm .fs.skip,.bdfilm .fs.cache{opacity:1;border-style:dashed}
.bdfilm .fs.skip .th,.bdfilm .fs.cache .th{opacity:.35;filter:grayscale(1)}
.bdfilm .fs.skip::before,.bdfilm .fs.cache::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(0,0,0,.07) 6px 7px);pointer-events:none;z-index:1}
.bdfilm .fs .fsoeil,.apv-c .fsoeil{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.95);border:1px solid var(--line);color:var(--ink2);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;opacity:0;z-index:3;transition:opacity .12s}
.bdfilm .fs:hover .fsoeil,.apv-c:hover .fsoeil,.bdfilm .fs .fsoeil.off,.apv-c .fsoeil.off{opacity:1}
.fsoeil.off{background:#2b2b2b;border-color:#2b2b2b;color:#fff}.fsoeil.mur{background:#8a3b3b;border-color:#8a3b3b}
.fsoeil:hover{transform:scale(1.08)}
@media (hover:none){.bdfilm .fs .fsoeil,.apv-c .fsoeil{opacity:1}}
/* la vue d'ensemble */
.bdapercu{position:fixed;inset:0;z-index:9000;background:color-mix(in srgb,var(--bg,#f4f3ef) 97%,transparent);backdrop-filter:blur(6px);display:flex;flex-direction:column}
.apv-hd{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--card)}
.apv-hd b{font-size:15px}.apv-n{font-size:12.5px;color:var(--ink3)}.apv-aide{font-size:12px;color:var(--ink3)}
.apv-grille{flex:1;overflow:auto;display:grid;gap:22px 18px;padding:22px;align-content:start}
.apv-t{display:inline-flex;align-items:center;gap:7px;color:var(--ink3);margin:0 6px}.apv-t input{width:150px;accent-color:var(--acc,#3a7c88)}
body.apv-open .modal-bg,body.apv-open .bdmenu{z-index:9100}
.apv-c{position:relative;cursor:pointer;user-select:none}
.apv-th{position:relative;background:#fff;border:2px solid var(--line);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.apv-th img{width:100%;height:100%;object-fit:contain;display:block}.apv-th>span{font-size:12px;color:var(--ink3);padding:8px;text-align:center}
.apv-num{position:absolute;left:6px;top:5px;font-style:normal;font-size:11px;font-weight:700;color:var(--ink2);background:rgba(255,255,255,.9);border-radius:4px;padding:0 5px;z-index:2}
.apv-th em{position:absolute;left:6px;bottom:6px;font-style:normal;font-size:10.5px;font-weight:600;color:#fff;background:#2b2b2b;border-radius:4px;padding:1px 6px;z-index:2}
.apv-c.mur .apv-th em{background:#8a3b3b}
.apv-c.skip .apv-th,.apv-c.mur .apv-th{border-style:dashed}.apv-c.skip .apv-th img,.apv-c.mur .apv-th img{opacity:.35;filter:grayscale(1)}
.apv-c.skip .apv-th::after,.apv-c.mur .apv-th::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(0,0,0,.06) 8px 9px);pointer-events:none}
.apv-c.on .apv-th{border-color:var(--acc,#3a7c88);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc,#3a7c88) 35%,transparent)}
.apv-c.masque .apv-th{outline:2px solid #3a7c88;outline-offset:-2px}
.apv-c.drag{opacity:.35}
.apv-c.ins-g::before,.apv-c.ins-d::before{content:"";position:absolute;top:0;bottom:22px;width:4px;border-radius:2px;background:var(--acc,#3a7c88);z-index:4}
.apv-c.ins-g::before{left:-11px}.apv-c.ins-d::before{right:-11px}
.apv-nom{font-size:12px;color:var(--ink2);margin-top:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdfilm .fs.masque{outline:2px solid #3a7c88;outline-offset:-2px}
.bdfilm .fs .fsnote{position:absolute;left:6px;bottom:5px;width:7px;height:7px;border-radius:50%;background:#c77800}
.bdfilm .fstr{flex:none;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink3);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;align-self:center;opacity:.55}
.bdfilm .fstr:hover,.bdfilm .fstr.own{opacity:1;color:var(--ink);border-color:var(--ink3)}
.bdfilm .fstr.all{width:26px;height:26px;opacity:.9;color:var(--acc,#3a7c88);border-color:var(--acc,#3a7c88);margin-right:4px}
.bdfilm .fstrs{flex:none;display:flex;flex-direction:column;gap:5px;align-self:center;margin-right:4px}.bdfilm .fstrs .fstr.all{margin:0}
.bdmep{position:fixed;z-index:120;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.16);min-width:300px;max-width:420px}
.bdmeph{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);padding:10px 12px 4px}
.bdmepg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:6px 8px 10px}
.bdmepg button{border:1px solid transparent;background:transparent;border-radius:10px;padding:8px 4px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;color:var(--ink2);font:inherit;font-size:11px}
.bdmepg button:hover{background:var(--hov,#F7F4EF);border-color:var(--line);color:var(--ink)}
.bdmepl{display:flex;flex-direction:column;gap:2px;padding:4px 8px 8px}
.bdmepl button{border:1px solid transparent;background:transparent;border-radius:8px;padding:7px 10px;text-align:left;cursor:pointer;color:var(--ink2);font:inherit;font-size:12.5px}
.bdmepl button:hover{background:var(--hov,#F7F4EF);border-color:var(--line);color:var(--ink)}
.bdmepl button.on{background:var(--ink);color:var(--card)}
.bdfilm .fs.add{width:58px;font-size:22px;color:var(--ink3);border-style:dashed;background:transparent}.bdfilm .fs.add:hover{color:var(--ink);border-color:var(--ink3)}
body.prez.dockprez .bddock{display:flex}
/* v1150 : en présentant depuis les diapositives, la trousse (crayon) ne reste pas à l'écran : plein écran seul (Eric, 04/10) */
body.pres .bddock{display:none!important}
body.prez .bdhint{bottom:110px}
.bdpresout.bddiapo{display:none;cursor:default;padding:5px 8px;gap:6px}
body.diapo #bdstage .bislab,body.diapo .bdhint{display:none!important}
body.pres.diapo .bdpresout.bddiapo{display:flex;opacity:.85}
/* en présentation libre, le compteur de diapositives n'a rien à dire : pas de pastille vide ; et le film des pages reste au montage */
body.pres:not(.diapo) .bdpresout.bddiapo{display:none}
.bdpresbasc{cursor:pointer}
body.pres .bdfilm{display:none!important}
/* diaporama : une page sur fond noir, comme un projecteur ; le reste de la planche n'existe plus à l'écran */
body.pres.diapo .bdwrap{background:#000!important}
body.pres.diapo #bdstage .bi:not(.dcur){visibility:hidden!important}
body.pres.diapo #bdstage .bi.dcur[data-kind="sheet"]{box-shadow:0 0 0 1px rgba(255,255,255,.08)}
body.pres.diapo #bdstage .bi.dcur .biwho,body.pres.diapo #bdstage .bi.dcur .bipinbadge{display:none!important}
/* plein écran : les pastilles s'effacent ; elles reviennent quand la souris monte en haut de l'écran */
body.pres.fullpres .bdprestop{opacity:0;pointer-events:none;transition:opacity .25s}
body.pres.fullpres.pilltop .bdprestop{opacity:1;pointer-events:auto}
.bddiapo b{font-weight:600;font-size:13px}.bddiapo span{font-size:12px;opacity:.8;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bddiapo .ico{color:#fff;border:0;background:rgba(255,255,255,.12);width:26px;height:26px;border-radius:50%;font-size:17px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.bddiapo .ico:disabled{opacity:.3;cursor:default}
/* la trousse repliée : une pastille avec un crayon, en bas à gauche */
.bddock .fold{width:40px;height:26px;border:0;background:none;color:var(--ink3);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px}
.bddock .fold:hover{background:var(--hov,#EDE7DE);color:var(--ink)}
.bddock.mini{top:auto;bottom:18px;left:18px;transform:none;padding:0;border-radius:50%;width:52px;height:52px;gap:0;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.bddock.mini>:not(.pencil){display:none!important}
.bddock.mini>.pencil{display:flex;width:52px;height:52px;border-radius:50%;border:0;background:none;color:var(--ink);align-items:center;justify-content:center;cursor:pointer;padding:0}
.bddock:not(.mini)>.pencil{display:none}
body.pres .bddock{left:18px;top:auto;bottom:18px;transform:none;opacity:.92}
body.pres .bdhint,.bddock.mini~.bdhint{left:84px;bottom:28px}
body.pres .bddock:not(.mini){max-height:calc(100vh - 36px);overflow-y:auto;scrollbar-width:none}
.bdpresout{display:none;position:fixed;right:14px;top:14px;z-index:70;gap:8px;
 align-items:center;background:rgba(20,22,21,.72);color:#fff;border:0;border-radius:999px;
 padding:8px 14px;font:inherit;font-size:13px;cursor:pointer;opacity:.25;transition:opacity .18s}
.bdpresout:hover{opacity:1}
/* v915 : le pointeur de présentation, un point lumineux avec une courte traînée (Eric, 30/09) ; v930 : bleu-vert, le rouge était trop vif */
.bdlaser{position:absolute;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;
 background:radial-gradient(circle,#fff 0 12%,#417b74 24%,rgba(65,123,116,.55) 46%,rgba(65,123,116,0) 72%);
 box-shadow:0 0 10px 4px rgba(65,123,116,.55),0 0 26px 10px rgba(65,123,116,.25);pointer-events:none;z-index:66;opacity:0;transition:opacity .15s}
.bdlasertr{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:65}
body.pres .bdwrap{cursor:none!important}
.bdgap.bdgdiv{z-index:75;width:18px;height:18px;margin:-9px 0 0 -9px;background:var(--card);border:2px solid var(--acc,#3a7c88);opacity:.9}
.bdgap.bdgmove{z-index:75;width:26px;height:26px;margin:0;display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--acc,#3a7c88);border:2px solid var(--acc,#3a7c88);border-radius:8px;opacity:.95}
.bdgap.bdgmove:hover{opacity:1;background:var(--acc,#3a7c88);color:#fff}
.bdgap.bdgdiv:hover{opacity:1;transform:scale(1.15)}
.bdgmpm{position:absolute;z-index:74;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--acc,#3a7c88);box-sizing:border-box;color:var(--acc,#3a7c88);box-shadow:0 1px 3px rgba(0,0,0,.12);cursor:pointer;user-select:none;opacity:.85}
.bdgmpm svg{display:block}
.bdgmpm:hover{opacity:1;background:var(--acc,#3a7c88);color:#fff;transform:scale(1.2)}
.bdgap{position:absolute;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:999px;
 background:var(--card);border:1px solid var(--line);box-shadow:0 2px 8px rgba(0,0,0,.14);
 z-index:12;display:flex;align-items:center;justify-content:center}
.bdgap::before{content:"";width:12px;height:2px;background:var(--acc);border-radius:2px}
.bdgap::after{content:"";position:absolute;width:12px;height:2px;background:var(--acc);border-radius:2px;opacity:.45}
.bdgap.gx::before{transform:translateY(-3px)}
.bdgap.gx::after{transform:translateY(3px)}
.bdgap.gy::before{transform:rotate(90deg) translateY(-3px)}
.bdgap.gy::after{transform:rotate(90deg) translateY(3px)}
@media (pointer:coarse){.bdgap{width:32px;height:32px;margin:-16px 0 0 -16px}}
.bdstickbox{position:absolute;z-index:45;width:268px;max-width:calc(100% - 20px);
 background:var(--card);border:1px solid var(--line);border-radius:14px;
 box-shadow:0 14px 40px rgba(0,0,0,.18);overflow:hidden}
.bdstickhd{display:flex;align-items:center;gap:8px;padding:9px 10px 8px;cursor:grab;
 background:var(--card2,#F7F4EF);border-bottom:1px solid var(--line2);touch-action:none}
.bdstickhd:active{cursor:grabbing}
.bdstickhd b{flex:1;font-family:"Barlow Semi Condensed","Arial Narrow",sans-serif;
 font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.bdstickhd .x{border:0;background:transparent;color:var(--ink3);cursor:pointer;font-size:14px;line-height:1;padding:2px 4px}
.bdstickbody{padding:8px}
.bdstickbody .fams{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}
.bdstickbody .fams button{border:1px solid var(--line);background:transparent;color:var(--ink2);
 border-radius:999px;padding:4px 9px;font:inherit;font-size:11.5px;cursor:pointer}
.bdstickbody .fams button.on{background:var(--ink);border-color:var(--ink);color:var(--card)}
.bdstickbody .bdstickgrid button{font-size:19px;height:40px}
.bdstickbody .bdstickgrid button.armed,.bdstickbody .bdstamps button.armed{
 outline:2px solid var(--acc);outline-offset:1px}
.bdstickbody .hint{font-size:11px;color:var(--ink3);line-height:1.4;padding:6px 2px 2px}
.bdfmtbox{position:absolute;z-index:40;background:var(--card);border:1px solid var(--line);
 border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:6px;min-width:200px;max-width:230px}
.bdfmtbox .tit{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink3);padding:5px 8px 6px}
.bdfmtbox button{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;
 border:0;background:transparent;text-align:left;padding:7px 8px;border-radius:8px;cursor:pointer;
 font:inherit;font-size:13.5px;color:var(--ink)}
.bdfmtbox button span{font-size:11px;color:var(--ink3);font-variant-numeric:tabular-nums}
.bdfmtbox button:hover{background:var(--hov,#F7F4EF)}
.bdfmtbox button.on{background:var(--acc);color:#fff}
.bdfmtbox button.on span{color:rgba(255,255,255,.75)}
.bdwrap.nogrid,body.t-epure .bdwrap.nogrid,body.t-nuit .bdwrap.nogrid{background-image:none!important}
.bdwrap[data-tool="hand"],.bdwrap[data-pan]{cursor:grab}
.bdwrap[data-tool="pen"],.bdwrap[data-tool="rect"],.bdwrap[data-tool="arrow"],.bdwrap[data-tool="task"]{cursor:crosshair}
.bdwrap[data-tool="note"],.bdwrap[data-tool="text"]{cursor:cell}
.bdwrap[data-tool="arrange"]{cursor:crosshair}
.bdwrap.drop{outline:2px dashed var(--acc,#c8622c);outline-offset:-6px}
/* v1090 : gardé en permanence, will-change laisse le dessin de la planche à l'échelle d'avant (flou en zoomant).
   v1095 : sans lui, tout ce qui passe au-dessus (la liste « Plus ») redessinait la planche entière, images comprises : le téléphone
   se figeait (Eric, 02/10). La planche reste une couche à part ; après un geste, bdnet l'enlève deux images, et elle se redessine
   nette à sa nouvelle échelle. */
.bdstage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}.bdstage.bdnet,.bdstage.bdzk{will-change:auto}
/* v995 : hors de l'écran, retiré du rendu ; pendant un zoom, pas d'ombres à recalculer */
.bdstage > .bi.bdhv{display:none!important}
.bdzoome .bi[data-kind="image"] img{box-shadow:none}
/* v1156 : le rendu GPU (essai) : le calque WebGL sous la planche ; un nœud dessiné par le calque (classe gpu) cache son image,
   le fond de sa feuille ou son tracé ; cadre, barre, poignées, pastilles et noms restent dessinés par la page */
.bdgl{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none}
.bdwrap.gpu .bi.gpu[data-kind="image"] > img{visibility:hidden}
.bdwrap.gpu .bi.gpu[data-kind="sheet"] > .bisheet{visibility:hidden}
.bdwrap.gpu .bi.gpu > .birect{visibility:hidden}
.bdwrap.gpu .bi.gpu > svg.biink{visibility:hidden}
/* v996 : le repère de la fiche du carnet liée à l'image (dans la planche et les exports) */
.bifin{position:absolute;left:6px;top:6px;z-index:3;font:700 13px/1 var(--font,system-ui),sans-serif;letter-spacing:.02em;padding:4px 7px;border-radius:5px;background:#1f2a2c;color:#fff;pointer-events:auto;white-space:nowrap}
.bifin.attente{opacity:.35;padding:4px 6px}
.bifin.perdu{background:#b3261e}
.finl{display:flex;flex-direction:column;gap:2px;max-height:56vh;overflow:auto;margin-top:10px}
.finr{display:grid;grid-template-columns:40px 70px 1fr;align-items:center;gap:10px;text-align:left;border:0;background:none;padding:5px 6px;border-radius:8px;cursor:pointer;font:inherit;color:inherit}
.finr:hover{background:var(--line)}
.finr img,.finr .finv{width:40px;height:40px;object-fit:cover;border-radius:5px;background:var(--line)}
/* v1000 : comparer des options côte à côte */
.bdcomp{position:fixed;inset:0;z-index:125;background:#1c1f20;color:#f2f2f0;display:flex;flex-direction:column}
.bdcomph{display:flex;align-items:center;gap:8px;padding:12px 18px;font-size:14px}
.bdcomph .btn{background:#2c3133;color:#f2f2f0;border-color:#40474a}
.bdcomph .cpmarq{background:#f3c969;color:#3d2c00;border-color:#f3c969}
.bdcompx{color:#f2f2f0;font-size:16px}
.bdcompg{flex:1;display:grid;gap:14px;padding:0 18px 18px;min-height:0}
.bdcompc{display:flex;flex-direction:column;min-height:0;border-radius:12px;background:#262a2c;overflow:hidden;border:2px solid transparent}
.bdcompc.ok{border-color:#2f7d55}.bdcompc.non{opacity:.55}
.bdcompc .cpimg{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:12px}
.bdcompc .cpimg img{max-width:100%;max-height:100%;object-fit:contain;background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.35)}
.bdcompc .cpatt{color:#9aa3a6;font-size:13px}
.bdcompc .cppied{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid #33393b;font-size:13px}
.bdcompc .cpn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f2f2f0;color:#1c1f20;font-weight:700;font-size:12px}
.bdcompc .cpe{font-size:12px;padding:3px 8px;border-radius:999px}.cpe.ok{background:#2f7d55}.cpe.non{background:#b3261e}.cpe.at{background:#f3c969;color:#3d2c00}
@media (max-width:700px){.bdcompg{grid-template-columns:1fr!important;overflow:auto}.bdcompc{min-height:60vh}}
.bdcompb{margin-left:6px}
#bdcompslot,#bdprixslot,#bdchgslot,#bdvisslot{display:contents}
/* v1001 : le dossier de remise */
.bdrem{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-top:1px solid var(--line);cursor:pointer}
.bdrem span{display:flex;flex-direction:column;gap:2px}.bdrem b{font-size:13px}.bdrem i{font-style:normal;font-size:12px;color:var(--ink3)}
.bdrem.dis{opacity:.5;cursor:default}
/* v1002 : suggestions de mise en page */
.bdsugg{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.bdsugc{display:flex;flex-direction:column;gap:5px;border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--bg2,#fafaf8)}
.bdsugc .sgv{aspect-ratio:1.414;display:flex;align-items:center;justify-content:center;background:#ecebe6;border-radius:6px;overflow:hidden}
.bdsugc .sgv svg{width:100%;height:100%;display:block}
.bdsugc b{font-size:13px}.bdsugc i{font-style:normal;font-size:12px;color:var(--ink3);flex:1}.bdsugc .btn{align-self:flex-start}
.bdsugatt{padding:40px 10px;text-align:center;color:var(--ink3);font-size:13px;display:flex;gap:10px;align-items:center;justify-content:center}
.bdsugatt.err{color:#9c3f3f}
.bdsugatt .spin{width:16px;height:16px;border:2px solid var(--line);border-top-color:var(--ink3);border-radius:50%;animation:bdsugr .8s linear infinite}
@keyframes bdsugr{to{transform:rotate(360deg)}}
/* v1003 : finitions semblables */
.bdsemg{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;max-height:62vh;overflow:auto;padding:2px}
.bdsemc{display:flex;flex-direction:column;gap:3px;border:1px solid var(--line);border-radius:10px;padding:8px;background:var(--bg2,#fafaf8)}
.bdsemc.ia{border-color:#417b74;box-shadow:0 0 0 1px #417b74 inset}
.bdsemc .im{aspect-ratio:1;border-radius:6px;background:#ecebe6 center/cover no-repeat}
.bdsemc b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bdsemc i{font-style:normal;font-size:11.5px;color:var(--ink3);min-height:2.4em}
.bdsemc .src{font-size:11px;color:var(--ink3)}.bdsemc .pq{font-size:11.5px;color:#2f5f59}.bdsemc .btn{align-self:flex-start;margin-top:2px}
.biprix{position:absolute;left:8px;bottom:8px;z-index:6;font:600 calc(12px*var(--k,1))/1.2 system-ui,sans-serif;background:#fff;color:#2c2b28;border:1px solid #d8d4cc;border-radius:999px;padding:3px 9px;cursor:pointer;white-space:nowrap}
.biprix i{font-style:normal;font-weight:400;color:#777}.biprix b{font-weight:500;color:#9c6b12;margin-left:4px}
.biprix.ambre{background:#fff4dc;border-color:#e3b55c}.biprix.rouge{background:#fde7e4;border-color:#d27a6c;color:#8a2a1c}.biprix.ok{border-color:#9fc7b8}
body.diapo .biprix,body.pres .biprix{display:none}
.bdprixtot{font-size:12px;padding:3px 9px;border-radius:999px;background:#f1efe9;color:#2c2b28;white-space:nowrap;margin-left:6px}
.bdprixtot.ambre{background:#fff4dc}.bdprixtot.rouge{background:#fde7e4;color:#8a2a1c}
.cpprix{font-size:12px;color:#cfd8d4;margin-left:8px}
.bifin.chg{background:#f3c25a;color:#3b2a06}.bifin.chg i{font-style:normal;color:#b34a00;margin-left:2px;font-size:.8em}
.bdchgb{background:#fff4dc;border-color:#e3b55c}
.bdchgl{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}
.bdchgr{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:8px}
.bdchgr .im{width:64px;height:64px;flex:none;border-radius:6px;background:#ecebe6 center/cover no-repeat}
.bdchgr .tx{flex:1;min-width:0;font-size:12.5px}.bdchgr .t{font-weight:600;margin-bottom:3px}
.bdchgr .cgl{display:flex;gap:6px;align-items:baseline;flex-wrap:wrap}.bdchgr .cgl span{color:var(--ink3);min-width:78px}.bdchgr .cgl s{color:#9a8f86}.bdchgr .cgl em{font-style:normal;color:#9c6b12}
.bdchgr .ac{display:flex;flex-direction:column;gap:4px;align-items:stretch}
.bdpalg{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin:6px 0}
.bdpalc{display:flex;flex-direction:column;gap:2px;font-size:12.5px}.bdpalc .sw{height:80px;border-radius:10px;border:1px solid rgba(0,0,0,.08)}
.bdpalc code{font-size:12px;color:var(--ink2,#444)}.bdpalc i{font-style:normal;font-size:11.5px;color:var(--ink3)}
.bddiffm{position:absolute;z-index:60;border:3px solid;border-radius:10px;pointer-events:none;box-sizing:border-box}
.bddiffm span{position:absolute;left:-3px;top:-24px;font:600 calc(12px*var(--k,1))/1 system-ui,sans-serif;color:#fff;padding:4px 7px;border-radius:6px;white-space:nowrap}
.bddiffm.ajout{border-color:#2e7d32}.bddiffm.ajout span{background:#2e7d32}.bddiffm.modif{border-color:#c77800}.bddiffm.modif span{background:#c77800}
.bddiffm.place{border-color:#3a6fb0}.bddiffm.place span{background:#3a6fb0}.bddiffm.retrait{border-color:#b3261e;border-style:dashed;background:rgba(179,38,30,.06)}.bddiffm.retrait span{background:#b3261e}
.bddiffp{position:fixed;right:16px;top:90px;z-index:120;width:290px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.14);padding:12px;font-size:12.5px}
.bddiffp .dh{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.bddiffp .dc{display:flex;flex-wrap:wrap;gap:6px 10px;margin-bottom:8px}
.bddiffp .dk{display:inline-flex;align-items:center;gap:5px}.bddiffp i{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}
.bddiffp .ajout i{background:#2e7d32}.bddiffp .modif i{background:#c77800}.bddiffp .place i{background:#3a6fb0}.bddiffp .retrait i{background:#b3261e}
.bddiffp .df,.bddiffp .dl{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.bddiffp .df button,.bddiffp .dl button{display:flex;gap:6px;align-items:center;text-align:left;background:none;border:0;padding:4px 6px;border-radius:6px;cursor:pointer;font:inherit}
.bddiffp .df button:hover,.bddiffp .dl button:hover{background:#f1efe9}.bddiffp .df b{margin-left:auto}.bddiffp .dv{color:var(--ink3);margin:6px 0}
.bddiffsel{display:flex;gap:12px;flex-wrap:wrap;margin:8px 0}.bddiffsel label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink3);flex:1}
@media print{.bddiffm,.bddiffp{display:none}}
.bdtelqr{width:240px;height:240px;margin:8px auto}.bdtelqr svg{width:100%;height:100%}
body.telmode header,body.telmode .murbar,body.telmode .side,body.telmode .sidefold,body.telmode #sutabs{display:none !important}
.bdtel{min-height:100vh;box-sizing:border-box;padding:18px 16px;display:flex;flex-direction:column;gap:14px;background:#141516;color:#eee;font:15px/1.45 system-ui,sans-serif}
.bdtel .tt{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.bdtel .tt b{font-size:18px;color:#fff}.bdtel .tt span{color:#9fd3c7;font-variant-numeric:tabular-nums}
.bdtel .tnote{flex:1;white-space:pre-wrap;font-size:19px;line-height:1.5;background:#1f2022;border-radius:12px;padding:14px;overflow:auto;min-height:30vh}
.bdtel .tnext{color:#aaa;font-size:13px;min-height:1.2em}
.bdtel .tbtn{display:grid;grid-template-columns:1fr 2fr;gap:10px}.bdtel .tbtn2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bdtel button{font:inherit;font-size:17px;padding:18px 10px;border-radius:14px;border:1px solid #444;background:#2a2b2d;color:#fff}
.bdtel button.pri{background:#417b74;border-color:#417b74;font-size:20px}.bdtel button.on{background:#fff;color:#111}
.bdtel .tcode{text-align:center;color:#666;letter-spacing:.2em;font-size:12px}
.bdechov{position:absolute;inset:0;z-index:90;cursor:crosshair}.bdechov svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.bdechov .eh{position:absolute;left:50%;top:12px;transform:translateX(-50%);background:rgba(20,22,21,.86);color:#fff;border-radius:999px;padding:6px 14px;font-size:12.5px;white-space:nowrap;pointer-events:none}.bdechov .eh span{opacity:.6;margin-left:8px}
.bdbriefl{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;max-height:62vh;overflow:auto}
.bdbrieff{border:1px solid var(--line);border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:6px;font-size:12.5px}.bdbrieff.off{opacity:.45}
.bdbrieff .hd{display:flex;gap:6px;align-items:center}.bdbrieff .hd b{font-size:13.5px}.bdbrieff .in{color:var(--ink2,#444)}
.bdbrieff .mo{display:flex;flex-wrap:wrap;gap:4px}.bdbrieff .mo span{background:#f1efe9;border-radius:999px;padding:2px 8px;font-size:11.5px}
.bdbrieff .fi{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.bdbrieff .fi label{display:flex;flex-direction:column;gap:2px;font-size:10.5px;cursor:pointer;position:relative}
.bdbrieff .fi input{position:absolute;left:3px;top:3px}.bdbrieff .fi .im{aspect-ratio:1;border-radius:6px;background:#ecebe6 center/cover no-repeat}.bdbrieff .fi i{font-style:normal;color:var(--ink3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdbrieff .vi{color:var(--ink3);font-size:11.5px}
.bdnoir{position:fixed;inset:0;background:#000;z-index:99990;cursor:pointer}
.bdhl{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:8px;padding:6px 14px;border-radius:999px;background:#2c2b28;color:#f4f1ea;font-size:12.5px;box-shadow:0 4px 18px rgba(0,0,0,.18);pointer-events:none}
.bdhl.on{background:#7a5b1e}.bdhl i{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.6}
.bdsemsw{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid var(--line)}
body.bdcompon .modal-bg{z-index:140}
/* v999 : l'historique des gestes et la carte des raccourcis */
.bdhistm{max-height:min(70vh,560px);overflow:auto;min-width:280px}
.bdhistm .bdhist{display:flex;justify-content:space-between;gap:12px}
.bdhistm .bdhist.refaire{color:var(--ink3)}
.bdhistm .bdhist.ici{padding:6px 12px;font-size:12px;font-weight:600;color:var(--acc,#3a7c88);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bdraccg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px 22px;margin-top:10px}
.bdraccg h3{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:0 0 6px}
.bdraccg .r{display:flex;align-items:baseline;gap:10px;font-size:12.5px;padding:3px 0}
.bdraccg kbd{font:600 11px/1.4 ui-monospace,monospace;background:var(--line);border-radius:5px;padding:1px 6px;white-space:nowrap}
/* v998 : une option à faire valider par le client : sa pastille en bas à droite, sa petite fenêtre */
.biavis{position:absolute;right:6px;bottom:6px;z-index:4;font:600 12px/1 var(--font,system-ui),sans-serif;padding:5px 8px;border-radius:999px;border:0;cursor:pointer;background:#f3c969;color:#3d2c00;box-shadow:0 1px 4px rgba(0,0,0,.18);white-space:nowrap}
.biavis.ok{background:#2f7d55;color:#fff}.biavis.non{background:#b3261e;color:#fff}
.bdavispop{position:fixed;z-index:130;width:260px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:12px;display:flex;flex-direction:column;gap:8px;font-size:13px}
.bdavispop .avh{font-weight:600}.bdavispop .avs{font-size:12.5px;color:var(--ink2,var(--ink))}.bdavispop .avs.ok b{color:#2f7d55}.bdavispop .avs.non b{color:#b3261e}
.bdavispop .avn{margin-top:4px;white-space:pre-wrap;color:var(--ink3)}
.bdavispop textarea{font:inherit;font-size:12.5px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;resize:vertical}
.bdavispop .ava{display:flex;gap:6px}.bdavispop .ava .btn{flex:1}.bdavispop .avok{background:#2f7d55;color:#fff;border-color:#2f7d55}.bdavispop .avnon{background:#fff;color:#b3261e;border-color:#b3261e}
.bdavispop .avlien{background:none;border:0;padding:0;text-align:left;font:inherit;font-size:12px;color:var(--ink3);cursor:pointer;text-decoration:underline}
.finr b{font-size:13px}.finr span{font-size:12.5px;color:var(--ink2,var(--ink));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdwrap{touch-action:none;-webkit-user-select:none;user-select:none}
.bdwrap [contenteditable="true"]{-webkit-user-select:text;user-select:text;cursor:text}   /* v1232 : un texte en écriture se sélectionne à la souris */
.bdwrap:has(#bdstage [contenteditable="true"]) :is(.bdh,.bdrot,.bdcx,.bdgdiv,.bdgap,.bdgmove,.bdgmpm){display:none!important}   /* v1233 : en écrivant, ni poignées ni bords sur le texte : un glisser depuis la première lettre sélectionne */
/* v1157 : la page elle-même ne se zoome pas au pincement (la planche a son propre zoom) : un pincement parti de la pellicule ou de
   la trousse agrandissait toute la page sur un téléphone et poussait la barre du haut hors de l'écran */
html,body{touch-action:pan-x pan-y}
.bdwrap .bivid video,.bdwrap .bivid audio,.bdwrap .bivid iframe{touch-action:auto}
.bdhud{position:absolute;inset:0;pointer-events:none;width:100%;height:100%}
.bi{position:absolute;box-sizing:border-box}
.bi.sel{outline:calc(1.5px / var(--k,1)) solid var(--acc,#3a7c88);outline-offset:calc(1px / var(--k,1))}   /* v1049 : un trait fin à l'écran, quel que soit le zoom (Eric, 02/10) */
.bi[data-kind="image"] img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.12)}
.bi[data-kind="image"].alpha img{background:transparent;box-shadow:none}
.bi[data-kind="image"].cover{overflow:hidden}
.bi[data-kind="image"].cover img{object-fit:cover}
.bi[data-kind="image"].crop{outline:2px dashed var(--acc,#3a7c88);outline-offset:2px;cursor:grab}
.bi[data-kind="image"].crop img{opacity:.92}
.bdselbar input[type=range]{width:110px;height:22px;margin:0;accent-color:var(--acc,#3a7c88)}
.bdselbar .sws{display:inline-flex;align-items:center;gap:4px}
.bdgrw{position:relative;display:inline-block}
.bdrayon{display:inline-flex;align-items:center;gap:5px;color:var(--ink2);padding:0 4px}.bdrayon input{width:74px;accent-color:var(--acc,#3a7c88)}
.bdgrw .bdgrpop{display:none;position:absolute;left:0;top:100%;z-index:80}
.bdgrw .bdgrpop>button{display:none}
/* v917 : le menu s'ouvre sous le bouton avec 6 px d'écart ; en descendant, la souris traversait ce vide, le survol
   se perdait et le menu se refermait avant qu'on l'atteigne (Eric, 30/09, Grille). Un pont invisible couvre l'écart,
   et un clic sur le bouton ouvre le menu aussi (tablette, ou main moins sûre). */
.bdgrw .bdgrpop::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.bdgrw:hover .bdgrpop,.bdgrw.ouvert .bdgrpop{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:10px;width:270px;margin-top:6px}
.bdgrw:hover .bdgrpop>button,.bdgrw.ouvert .bdgrpop>button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;border:1px solid var(--line2);border-radius:10px;background:var(--card);cursor:pointer;font:inherit;font-size:10.5px;color:var(--ink2)}
.bdgrw .bdgrpop>button:hover{background:var(--hov,#F7F4EF);color:var(--ink)}
.bdgrw .bdgrpop>button svg{width:54px;height:36px;color:var(--ink2)}
/* v1330 : le menu « Cases » de la grille : une liste */
.bdgrw:hover .bdgrpop.bdgmpop,.bdgrw.ouvert .bdgrpop.bdgmpop{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:280px}
.bdgrw .bdgrpop.bdgmpop>button{display:block;text-align:left;padding:6px 8px;font-size:12px}
.bdgrw .bdgrpop.bdgmpop .bdep{font-size:11px;color:var(--ink3);padding:2px 4px}
/* v930 : le menu Fond reste fermé tant qu'on ne le survole pas (sa pastille « autre couleur » restait visible sous le bouton) */
.bdgrw:hover .bdgrpop.bdfondpop,.bdgrw.ouvert .bdgrpop.bdfondpop{display:flex;flex-wrap:wrap;width:172px}
.bdgrw .bdgrpop.bdfondpop>button{padding:0;flex:0 0 auto}
.bdselbar .sws .bdc{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.15);padding:0;cursor:pointer;position:relative;overflow:hidden;flex:none;display:inline-block}
.bdselbar .sws .bdc.sq{border-radius:4px}
.bdselbar .sws .bdc.on{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--ink)}
.bdselbar .sws .bdc.add{border:1px dashed var(--ink3);background:none;margin:0;display:inline-block;box-sizing:border-box;line-height:0;vertical-align:middle}
.bdselbar .sws .bdc.add input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.bi.slot .birect{border-style:dashed!important;background:rgba(0,0,0,.025)!important}
/* v917 : en présentation, une case vide ne se montre pas : seul ce qui est posé compte */
body.pres .bi.slot{visibility:hidden}
.bi.slot .birect:after{content:"+";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:calc(26px / var(--k,1));color:rgba(0,0,0,.18);font-weight:300}
.bi.slot.sel .birect:after{color:rgba(0,0,0,.35)}
.bdgrl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 4px}
.bdlogos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 4px}
.bdlogos button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px 8px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;font:inherit;font-size:11px;color:var(--ink3)}
.bdlogos button:hover{background:var(--hov,#F7F4EF);color:var(--ink)}
.bdlogos .im{width:100%;height:84px;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/16px 16px;border-radius:8px;overflow:hidden}
.bdlogos .im img{max-width:90%;max-height:76px;object-fit:contain}
.bdgrl button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;font:inherit;font-size:11.5px;color:var(--ink2)}
.bdgrl button:hover{background:var(--hov,#F7F4EF);color:var(--ink)}
.bdgrl button svg{color:var(--ink2)}
.bi .bilab{position:absolute;left:0;bottom:-19px;font-size:11px;color:var(--ink3);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* un post-it : papier légèrement dégradé, bande de colle plus claire en haut, ombre portée douce
   et coin bas-droit qui se soulève. Une très légère rotation, propre à chaque note, casse l'alignement
   trop parfait ; la boîte de sélection, elle, reste droite. */
.binote{width:100%;height:100%;border-radius:2px 2px 3px 2px;padding:14px 13px 12px;box-sizing:border-box;overflow:hidden;position:relative;
 background-image:linear-gradient(180deg,rgba(255,255,255,.28) 0,rgba(255,255,255,0) 18%,rgba(0,0,0,0) 78%,rgba(0,0,0,.05) 100%);
 transform:rotate(var(--tilt,0deg));transform-origin:50% 40%}
/* l'ombre vit sur un calque derrière la note : le découpage du coin ne la coupe pas */
.bi[data-kind="note"]:before{content:'';position:absolute;inset:0;border-radius:2px;transform:rotate(var(--tilt,0deg));transform-origin:50% 40%;
 box-shadow:0 1px 1px rgba(0,0,0,.06),0 8px 18px -6px rgba(0,0,0,.28),0 14px 28px -14px rgba(0,0,0,.22);pointer-events:none}
.bi[data-kind="note"].sel:before{transform:none}
.bi.sel .binote{transform:none}
.binote .bitxt{height:100%;overflow:hidden}
.bitext{width:100%;height:100%;font-size:17px;font-weight:500;line-height:1.3}
.bi[data-kind="text"]{overflow:visible}
.bilead{position:absolute;overflow:visible;pointer-events:none}
.bileadh{position:absolute;width:calc(14px / var(--k,1));height:calc(14px / var(--k,1));margin:calc(-7px / var(--k,1)) 0 0 calc(-7px / var(--k,1));border-radius:50%;background:var(--card);border:2px solid var(--acc,#3a7c88);cursor:move;display:none;box-sizing:border-box}
.bi.sel .bileadh{display:block}
.birect{width:100%;height:100%;border-style:solid;border-radius:0;box-sizing:border-box}   /* v1048 : coins carrés (Eric, 02/10 : « pourquoi le rectangle est arrondi ») ; le rectangle arrondi reste une forme à part */
.bitxt{outline:none;width:100%;box-sizing:border-box;font-size:14px;line-height:1.35;white-space:pre-wrap;word-break:break-word;min-height:1em}
.bitxt[contenteditable="true"]{cursor:text}
#bdstage .bi .bitxt[contenteditable="true"]{outline:none}   /* v1124 : en écrivant, le cadre de l'élément suffit : le contour du champ, remonté avec les lettres (marge négative), faisait un second cadre décalé (Eric, 03/10) */
.bitxt:empty:before{content:"double-clic pour écrire";color:rgba(0,0,0,.28);font-size:12px}
.bitxt[contenteditable="true"]:empty:before{content:""}
.biink{position:absolute;left:0;top:0;pointer-events:none}
.bitask{position:absolute;left:0;top:-22px;font-size:11px;background:#c0392b;color:#fff;border-radius:999px;padding:2px 9px;white-space:nowrap;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.bitask.ok{background:#2e7d5b}
/* v937 : les points de liaison, au milieu des bords d'un élément choisi */
.bdcx{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--card,#fff);border:2px solid #3a7c88;z-index:41;cursor:crosshair;opacity:.75;transition:transform .12s,opacity .12s}
.bdcx:hover{opacity:1;transform:scale(1.35);background:#3a7c88}
/* v1181 : au doigt, des points de liaison plus petits à l'œil (Eric, 05/10 : « too big ») ; la zone qui répond au doigt reste
   grande (::before transparent autour) */
@media (pointer:coarse){.bdcx{width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-width:1.5px}.bdcx{z-index:39}.bdcx::before{content:"";position:absolute;inset:-9px;border-radius:50%}}
.bdh{position:absolute;width:11px;height:11px;margin:-6px 0 0 -6px;background:var(--card);border:2px solid var(--acc,#3a7c88);border-radius:3px;z-index:40}
.bdh.edge.n,.bdh.edge.s{width:24px;height:7px;margin:-4px 0 0 -12px;border-radius:4px}
.bdh.edge.e,.bdh.edge.w{width:7px;height:24px;margin:-12px 0 0 -4px;border-radius:4px}
.bdh.rot{border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;cursor:grab;display:flex;align-items:center;justify-content:center;color:var(--acc,#3a7c88);border-width:1.5px;box-shadow:0 1px 4px rgba(0,0,0,.14)}.bdh.rot:active{cursor:grabbing}
.bdhint{position:absolute;left:14px;bottom:12px;font-size:11.5px;color:var(--ink3);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:4px 12px;pointer-events:none;opacity:0;transition:opacity .4s}
/* panneau de réglages du trait */
.bdt.pen{width:auto;padding:0 8px;display:inline-flex;align-items:center;gap:6px}
.bdt.pen i{display:inline-block;border-radius:50%;flex:none}
.bdpanel{position:absolute;z-index:60;width:266px;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 16px 44px rgba(0,0,0,.18);padding:10px 12px 12px}
.bdpanel .ph{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin:10px 0 6px}
.bdpanel .ph:first-child{margin-top:2px}
.bdpanel .prow{display:flex;align-items:center;gap:6px}
.bdpanel .prow.wrap{flex-wrap:wrap;gap:7px}
.bdpanel .prow label{font-size:12px;color:var(--ink2);margin:0}
.bdpanel .pv{font-size:11px;color:var(--ink3);min-width:38px;text-align:right}
.bdpanel .pn{font-size:11px;color:var(--ink3);line-height:1.45;margin-top:10px;padding-top:9px;border-top:1px solid var(--line2)}
.bdw{width:30px;height:30px;border:1px solid var(--line);background:var(--card);border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.bdw i{display:block;border-radius:50%}
.bdw.on{border-color:var(--ink);background:var(--hov)}
.bdsw{position:relative;display:inline-flex}
.bdsw .x{position:absolute;top:-5px;right:-5px;width:13px;height:13px;border-radius:50%;background:var(--ink);color:var(--card);font-size:10px;line-height:13px;text-align:center;cursor:pointer;font-style:normal;opacity:0}
.bdsw:hover .x{opacity:1}
.bdadd{width:20px;height:20px;border-radius:50%;border:1px dashed var(--ink3);color:var(--ink3);font-size:13px;line-height:1;cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;margin:0;padding:0}
.bdadd.sq{border-radius:5px}
.bdadd input{position:absolute;inset:0;opacity:0;cursor:pointer}
/* auteur, votes, fiches */
.biwho{position:absolute;right:-7px;top:-7px;width:20px;height:20px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:700;line-height:20px;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.22);letter-spacing:.02em}
.bivote{position:absolute;left:-6px;bottom:-10px;font-size:11px;font-weight:600;background:var(--card);color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:1px 8px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.bivote:not(.mine):not(.top){color:var(--ink3)}
.bivote.mine{border-color:var(--acc,#3a7c88);color:var(--acc,#3a7c88)}
.bivote.top{background:var(--acc,#3a7c88);border-color:var(--acc,#3a7c88);color:#fff}
.bdwrap[data-tool="vote"]{cursor:pointer}
.bifile{width:100%;height:100%;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);padding:10px 12px;display:flex;flex-direction:column;gap:2px;box-sizing:border-box;overflow:hidden}
.bifile .ic{font-size:19px;line-height:1.1}
.bifile b{font-size:12.5px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bifile .m{font-size:10.5px;color:var(--ink3)}
.bifile .btn{margin-top:auto;align-self:flex-start;padding:3px 10px;font-size:11.5px}

/* feuilles, autocollants, épingles, carte mentale, barre contextuelle */
.bisheet{width:100%;height:100%;background:#fff;border:1px solid var(--line);border-radius:2px;box-shadow:0 6px 26px rgba(0,0,0,.10);box-sizing:border-box}
body.t-epure .bisheet{border-radius:10px}
/* v915 : en mode Présentation, une page est une vraie page : coins carrés, comme à la projection et à l'export */
body.prez .bisheet,body.prez.t-epure .bisheet{border-radius:0}
/* v915 : le mode de la planche, un seul interrupteur à deux positions ; la vue présentateur, un interrupteur */
.bdmode{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;gap:2px;background:var(--card);flex:none}
.bdmode button{border:0;background:none;font:inherit;font-size:12.5px;padding:4px 11px;border-radius:999px;color:var(--ink3);cursor:pointer;line-height:1.4}
.bdmode button.on{background:var(--ink);color:var(--card);font-weight:600}
.bdmode button:not(.on):hover{color:var(--ink)}
.bdswitch{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--ink2);cursor:pointer;user-select:none;white-space:nowrap;text-transform:none!important;letter-spacing:0!important;font-weight:500;margin:0!important}
.bdswitch input{position:absolute;opacity:0;pointer-events:none}
.bdswitch .sw{width:30px;height:17px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;flex:none}
.bdswitch .sw::after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:left .15s}
.bdswitch input:checked+.sw{background:var(--acc,#3a7c88)}
.bdswitch input:checked+.sw::after{left:15px}
.bdswitch input:focus-visible+.sw{outline:2px solid var(--acc,#3a7c88);outline-offset:2px}
/* v915 : le panneau des tâches et des commentaires, à part de la bibliothèque */
.bdrevb{display:inline-flex;align-items:center;gap:5px}
.bdrevb svg{width:14px;height:14px}
.bdrevb i{font-style:normal;font-size:10.5px;background:var(--acc,#3a7c88);color:#fff;border-radius:999px;padding:0 6px;line-height:16px}
.bdrevb.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
@media(max-width:1800px){.bdrevb span{display:none}}
.bdrev{position:fixed;right:14px;width:min(340px,92vw);max-height:min(70vh,640px);display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.14);z-index:60;overflow:hidden}
.bdrev .hd{display:flex;align-items:center;gap:4px;padding:8px;border-bottom:1px solid var(--line)}
.bdrev .hd .tb{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-size:12.5px;color:var(--ink3);padding:5px 10px;border-radius:999px;cursor:pointer}
.bdrev .hd .tb svg{width:14px;height:14px}
.bdrev .hd .tb.on{background:var(--hov);color:var(--ink);font-weight:600}
.bdrev .hd .tb i{font-style:normal;font-size:10.5px;color:var(--ink3)}
.bdrev .bd{overflow:auto;padding:4px 0}
body.pres .bdrev,body.pres .bdrevb{display:none!important}


.bi[data-kind="sheet"]{pointer-events:auto}
.shfirms{margin:14px 0 4px}.shfirms .tit{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);margin-bottom:6px}.shfirms .tmeta{font-size:11.5px;color:var(--ink3);line-height:1.45;text-transform:none;letter-spacing:0}
.shfirm{display:flex;gap:10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:6px;cursor:pointer;text-transform:none;letter-spacing:0;user-select:none}.shfirm.on{border-color:var(--acc,#3a7c88);background:color-mix(in srgb,var(--acc,#3a7c88) 6%,transparent)}
.shfirm .ck{width:18px;height:18px;flex:none;border:1.5px solid var(--ink3);border-radius:5px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#fff}.shfirm.on .ck{background:var(--acc,#3a7c88);border-color:var(--acc,#3a7c88)}
.shfirm b{font-size:13.5px;font-weight:600;color:var(--ink);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shfirm .n{font-size:11.5px;color:var(--ink3);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shfirm .rls{margin-left:auto;display:flex;gap:3px;flex:none}
.bi[data-kind="sheet"] .bislab{position:absolute;left:0;top:-21px;font-size:11.5px;color:var(--ink3);white-space:nowrap;display:flex;gap:7px;align-items:baseline;pointer-events:auto;cursor:text}
.bislab i{font-style:normal;font-size:10.5px;color:var(--ink3);opacity:0;transition:opacity .15s}
/* le format de la feuille (A3 paysage…) ne se montre qu'au survol de la feuille ou quand elle est choisie : affiché tout
   le temps, il chargeait le mur (Eric, 30/09) ; le nom reste */
.bi[data-kind="sheet"]:hover .bislab i,.bi[data-kind="sheet"].sel .bislab i,.bislab:hover i{opacity:.75}
.bistick{width:100%;height:100%;display:flex;align-items:center;justify-content:center;line-height:1;user-select:none}
.ph2{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin:14px 0 6px}
.bdstickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:6px;margin:0 0 4px;max-width:100%}
.bdstamps{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 2px;max-width:100%}
.bdstudioc{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 6px}.bdstudioc .bdc{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.12);cursor:pointer;padding:0}.bdstudioc .bdc.on{outline:2px solid var(--ink);outline-offset:1px}
.bdstudiot{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin:6px 0 4px}
.bdstickgrid.studio button{display:inline-flex;align-items:center;justify-content:center}
.bdstamps button{border:2px solid var(--sc);color:var(--sc);background:var(--card);border-radius:7px;
 font:inherit;font-size:11.5px;font-weight:800;letter-spacing:.05em;padding:6px 11px;cursor:pointer;line-height:1;white-space:nowrap}
.bdstamps button:hover{background:color-mix(in srgb,var(--sc) 10%,transparent)}
.bistamp{width:100%;height:100%;display:flex;align-items:center;justify-content:center;box-sizing:border-box;
 border:.14em solid var(--sc);color:var(--sc);border-radius:.18em;font-weight:800;letter-spacing:.06em;
 background:rgba(255,255,255,.86);transform:rotate(-1.5deg);text-align:center;padding:0 .3em;line-height:1.05;white-space:nowrap;overflow:hidden}
.bdstickgrid button{border:1px solid var(--line);background:var(--card);border-radius:9px;height:36px;font-size:17px;cursor:pointer;line-height:1}
.bdstickgrid button:hover{background:var(--hov,#EDE7DE)}
.bipin{width:100%;height:100%;border-radius:50%;background:#c0392b;color:#fff;font-size:12.5px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.28);cursor:pointer;border:2px solid #fff;box-sizing:border-box}
.bipin.done{background:#2e7d5b}
/* v930 : commentaires nouveaux */
@keyframes bdlueur{0%,100%{box-shadow:0 0 0 0 rgba(65,123,116,.0),0 2px 8px rgba(0,0,0,.28)}50%{box-shadow:0 0 0 7px rgba(65,123,116,.35),0 0 18px 6px rgba(65,123,116,.45)}}
@keyframes bdlueurp{0%,100%{box-shadow:0 0 0 0 transparent,0 2px 8px rgba(0,0,0,.28)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--wc) 35%,transparent),0 0 18px 6px color-mix(in srgb,var(--wc) 55%,transparent)}}
.bipin.neuf{animation:bdlueurp 1.6s ease-in-out infinite}
#bdrevcm.neuf{animation:bdlueur 1.6s ease-in-out infinite;border-color:#417b74}
.tkrow.neuf{background:rgba(65,123,116,.09)}
.cmqui{display:block;font-size:11.5px;margin-bottom:1px}
.cmneuf{display:inline-block;background:#417b74;color:#fff;border-radius:999px;padding:0 6px;font-size:10px;font-weight:600;margin-left:4px;vertical-align:1px}
.modal{overflow-x:hidden}
.bdthread{max-height:320px;overflow:auto;margin:8px 0 12px;border-top:1px solid var(--line2)}
.bdthread .cm{display:flex;gap:9px;padding:10px 2px;border-bottom:1px solid var(--line2)}
.bdthread .cm .av{width:24px;height:24px;flex:none;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.bdthread .cm b{font-size:12.5px;font-weight:600}
.bdthread .cm i{font-style:normal;font-size:11px;color:var(--ink3);margin-left:7px}
.bdthread .cm p{margin:2px 0 0;font-size:13px;line-height:1.4;white-space:pre-wrap}
.bdthread .cm .ico{margin-left:auto;align-self:flex-start}
.bimind{width:100%;height:100%;box-sizing:border-box;background:var(--card);border:2px solid var(--mc,#3f66a0);border-radius:999px;padding:8px 15px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.10);overflow:hidden}
.bimind.root{font-weight:600}
.bimind .bitxt{text-align:center;width:100%;font-size:13.5px}
.bimadd{position:absolute;right:-13px;top:50%;margin-top:-11px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink2);font-size:14px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s;padding:0}
.bi[data-kind="mind"]:hover .bimadd,.bi[data-kind="mind"].sel .bimadd{opacity:1}
.bdmindsvg{position:absolute;pointer-events:none;z-index:900;overflow:visible}
/* v997 : un menu ▾ ouvert passe au-dessus des poignées de grille (z-index 75), qui prenaient la souris en chemin */
.bdselbar:has(.bdgrw:hover),.bdselbar:has(.bdgrw.ouvert){z-index:95}
.bdselbar{position:absolute;z-index:70;display:flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.16);padding:5px 8px;max-width:calc(100% - 12px);flex-wrap:wrap}
.bdselbar .sep{width:1px;height:18px;background:var(--line)}
.bdselbar .lab{font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink3)}
.bdselbar .ico .dot{display:inline-block;width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 1px var(--line) inset}
.bdselbar select.inline{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:8px;padding:3px 6px;background:var(--card);color:var(--ink);height:26px;width:auto;margin:0}
.bdselbar .btn.sm{padding:3px 10px;font-size:11.5px}
.bdwho{display:none;align-items:center;gap:0;margin-left:4px}
.bdwho i{width:22px;height:22px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:600;font-style:normal;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--card);margin-left:-6px;letter-spacing:.02em}
.bdwho i:first-child{margin-left:0}.bdwho i.plus{background:var(--ink3)}
.bdwho i{cursor:pointer}.bdwho i:hover{transform:translateY(-1px)}
.bdwho i.moi{box-shadow:0 0 0 2px var(--acc,#3a7c88);margin-right:6px}
.bdwho i.idle{opacity:.55}
.bdwho i.suivi{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--acc,#3a7c88)}
.bdsuivi{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:75;display:flex;align-items:center;gap:8px;background:rgba(20,22,21,.82);color:#fff;border-radius:999px;padding:5px 6px 5px 6px;font-size:12.5px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.bdsuivi i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:9.5px;font-weight:600}
.bdsuivi button{border:0;background:rgba(255,255,255,.16);color:#fff;font:inherit;font-size:11.5px;border-radius:999px;padding:3px 10px;cursor:pointer}
.bdsuivi button:hover{background:rgba(255,255,255,.28)}
.bdrejoindre{position:absolute;left:50%;top:12px;transform:translateX(-50%);z-index:75;display:flex;align-items:center;gap:8px;background:#fff;color:#2c2b28;border:1px solid var(--line);border-radius:999px;padding:5px 6px;font-size:12.5px;box-shadow:0 6px 18px rgba(0,0,0,.12)}
.bdrejoindre i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:9.5px;font-weight:600;color:#fff}
.bdrejoindre button{border:0;background:#2c2b28;color:#fff;font:inherit;font-size:11.5px;border-radius:999px;padding:3px 10px;cursor:pointer}
#bdwho i.mene{box-shadow:0 0 0 2px #fff,0 0 0 4px #417b74}
.bdwho i.away{opacity:.35;filter:grayscale(.6)}
.bdwho i.away:after{content:'';position:absolute;right:-1px;bottom:-1px;width:7px;height:7px;border-radius:50%;background:#c9c9c4;border:1.5px solid var(--card)}
.bdwho i{position:relative}
.bdwho{margin-right:4px}
.bdpeers{position:absolute;inset:0;pointer-events:none;z-index:66;overflow:hidden}
.bdpeers .peer{position:absolute;left:0;top:0;transition:transform .08s linear,opacity .4s;display:flex;align-items:flex-start;gap:4px;will-change:transform}
.bdpeers .peer i{display:block;width:12px;height:12px;border-radius:50% 50% 50% 0;transform:rotate(-45deg) translate(-2px,-2px);box-shadow:0 1px 4px rgba(0,0,0,.25);border:1.5px solid #fff}
.bdpeers .peer b{font-size:10.5px;font-weight:500;color:#fff;padding:2px 7px;border-radius:999px;white-space:nowrap;margin-top:6px;box-shadow:0 1px 4px rgba(0,0,0,.18)}
.bdpeers .peer.calme{opacity:.45}
.murbar .bgdot{display:inline-block;width:13px;height:13px;border-radius:50%;border:1px solid rgba(0,0,0,.18);vertical-align:-2px}
.bdmenu.bdbg{position:fixed;z-index:120;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:10px 12px 12px;width:240px;min-width:0;max-width:none}
.bdmenu.bdbg .tit{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);margin-bottom:8px}
.bdmenu.bdbg .row{display:flex;gap:8px;align-items:center}
.bdmenu.bdbg .sw{width:28px;height:28px;border-radius:8px;border:1px solid rgba(0,0,0,.14);padding:0;cursor:pointer;position:relative;overflow:hidden}
.bdmenu.bdbg .sw.on{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--ink)}
.bdmenu.bdbg .sw.add{border-style:dashed;color:var(--ink3);font-size:16px;line-height:1;background:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;margin:0;vertical-align:top}
.bdmenu.bdbg .sw.add input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bdnotecol{position:absolute;z-index:70;display:flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--line);border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:6px 10px}
.bdnotecol .bdc{width:20px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.12);padding:0;cursor:pointer}
.bdnotecol label.bdadd,.bdselbar label.bdc{margin:0}
.bdnotecol .bdc.on{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--ink)}
.bdnotecol .bdadd{width:20px;height:20px;border-radius:6px;border:1px dashed var(--ink3);color:var(--ink3);font-size:14px;line-height:18px;text-align:center;cursor:pointer;position:relative;overflow:hidden;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;padding:0;flex:none}
.bdnotecol .bdc{box-sizing:border-box;flex:none;margin:0}
.bdnotecol .bdadd input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bdend{height:26px;min-width:26px;border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:7px;font-size:11px;cursor:pointer;padding:0 3px;line-height:1;display:inline-flex;align-items:center;gap:1px}
.bdend:hover{background:var(--hov,#EDE7DE)}
.bdend.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.bdend svg{display:block}
.bdend .ar{font-style:normal;font-size:9px;color:var(--ink3)}
.bdmenu .ends{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:6px 8px 8px}
.bdmenu .ends .end{width:auto;padding:5px 2px;border:1px solid var(--line);border-radius:9px;color:var(--ink);justify-content:center}
.bdmenu .ends .end.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
/* liens : une vignette, un titre, le site */
.bilink{width:100%;height:100%;box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.10);overflow:hidden;display:flex;flex-direction:column;cursor:pointer}
.bilink .vg{flex:1;min-height:0;background:#f4f4f5 center/contain no-repeat;border-bottom:1px solid var(--line2)}
.bilink .vg.none{display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--ink3)}
.bilink .tx{flex:none;padding:8px 11px 9px;display:flex;gap:8px;align-items:flex-start}
.bilink .tx img{width:16px;height:16px;border-radius:4px;flex:none;margin-top:1px}
.bilink .tx b{font-size:12.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bilink .tx span{display:block;font-size:10.5px;color:var(--ink3);margin-top:2px}
.bilink:hover{box-shadow:0 6px 20px rgba(0,0,0,.16)}
/* verrouillage */
.bi.lock .bilock{position:absolute;right:-7px;bottom:-7px;width:19px;height:19px;border-radius:50%;background:var(--card);border:1px solid var(--line);font-size:10px;line-height:17px;text-align:center;color:var(--ink3);box-shadow:0 1px 4px rgba(0,0,0,.14)}
.bi.lock.sel{outline-color:var(--ink3);outline-style:dashed}
.bdselbar .ico.on{background:var(--ink);color:var(--card)}
/* feuille sans cadre */
.bisheet.nof{background:transparent;border:1px dashed transparent;box-shadow:none}
.bi.cache{display:none!important}
.bi[data-kind="sheet"].cachee .bisheet{background:repeating-linear-gradient(135deg,rgba(0,0,0,.035) 0 8px,transparent 8px 20px),var(--card);border-style:dashed}
.bicache{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--ink3);pointer-events:none;font-size:calc(13px / var(--k,1))}
.bicache svg{width:calc(30px / var(--k,1));height:calc(30px / var(--k,1))}
.bicache b{font-weight:600;color:var(--ink2)}.bicache span{font-size:calc(11px / var(--k,1));opacity:.8}
.bdhidepop{width:250px!important;grid-template-columns:1fr!important}
.bdgrw:hover .bdhidepop>button,.bdgrw.ouvert .bdhidepop>button{align-items:flex-start;text-align:left;padding:8px 10px}
.bdhidepop>button b{font-size:12px;color:var(--ink)}.bdhidepop>button span{font-size:10.5px;color:var(--ink3)}
.bi[data-kind="sheet"].sel .bisheet.nof{border-color:var(--line)}

.bdexp{display:grid;gap:8px;margin:12px 0 2px}
.bdexp button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.bdexp button:hover:not([disabled]){background:var(--hov,#EDE7DE)}
.bdexp button[disabled]{opacity:.45;cursor:default}
.bdexp b{font-size:13px;font-weight:600}
.bdexp span{font-size:11.5px;color:var(--ink3)}
/* vidéos, sons, vidéos en ligne */
.bivid{width:100%;height:100%;display:flex;flex-direction:column;background:#101113;border-radius:10px;overflow:hidden;box-shadow:0 3px 14px rgba(0,0,0,.2)}
.bivid .vh{display:flex;align-items:center;gap:7px;padding:5px 9px;background:rgba(255,255,255,.07);color:#fff;font-size:11.5px;cursor:move;flex:none}
.bivid .vh b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bivid .vh .gr{margin-left:auto;opacity:.5;font-size:12px}
.bivid .vh .vb{flex:none;border:0;background:rgba(255,255,255,.12);color:#fff;border-radius:5px;font-size:12px;line-height:1;padding:3px 6px;cursor:pointer}
.bivid .vh .vb:hover{background:rgba(255,255,255,.26)}
.bivid:fullscreen{border-radius:0}
.bivid:fullscreen .vh{cursor:default}
.bdgrand{position:fixed;inset:0;z-index:5000;background:#101113;display:flex;flex-direction:column}
.bdgrand .vh{display:flex;align-items:center;gap:10px;padding:8px 12px;color:#fff;font-size:13px;padding-top:calc(8px + env(safe-area-inset-top,0px))}
.bdgrand .vh b{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdgrand iframe{flex:1;width:100%;border:0;background:#000}
/* v1288 : en présentant, le lecteur reste à la souris (le pointeur de présentation est caché ailleurs) */
body.pres .bivid iframe{cursor:auto}
.bivid video,.bivid iframe{width:100%;flex:1;min-height:0;display:block;border:0;background:#000}
.bivid audio{width:100%;padding:10px 9px;box-sizing:border-box}
.bivid.snd{background:var(--card);border:1px solid var(--line)}
.bivid.snd .vh{background:transparent;color:var(--ink2);border-bottom:1px solid var(--line2)}
/* v1294 : un modèle 3D (.glb) en visionneuse. Fond clair ; l'image gardée du modèle dessous (elle sort seule dans les exports :
   la visionneuse en est retirée). La visionneuse ne prend la souris que si l'élément est choisi, en présentant et en lecture seule. */
.bivid.m3d{background:#e9ecee}
.bivid.m3d .vh{background:#2a2f33}
.bivid.m3d .vh .m3dtag{flex:none;font-size:9.5px;font-weight:600;letter-spacing:.06em;padding:1px 5px;border-radius:4px;background:rgba(255,255,255,.16)}
.bivid.m3d .m3dc{position:relative;flex:1;min-height:0}
.bivid.m3d .m3dc img.m3dp{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.bivid.m3d model-viewer{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;--poster-color:transparent;--progress-bar-color:#417b74}
.bivid.m3d model-viewer:defined{background:#e9ecee}
.bi.sel .bivid.m3d model-viewer,body.pres .bivid.m3d model-viewer,body.m3dlibre .bivid.m3d model-viewer,.bivid.m3d:fullscreen model-viewer{pointer-events:auto}
.bivid.m3d .m3dmsg{position:absolute;left:10px;right:10px;bottom:8px;font-size:11.5px;color:#7a3b2e;pointer-events:none}
.bivid.m3d .m3dmsg:empty{display:none}
#bdprint model-viewer{display:none}
.m3dgrand{display:flex;flex-direction:column}
.m3dgrand model-viewer{flex:1;width:100%;min-height:0;background:#e9ecee}
/* v1181 : au doigt, les poignées gardent la taille de l'ordinateur à l'œil (Eric, 05/10 : carrés et rectangles « too big ») ;
   la zone qui répond au doigt reste grande (::before transparent autour) */
@media (pointer:coarse){.bdh{width:11px;height:11px;margin:-6px 0 0 -6px}.bdh::before{content:"";position:absolute;inset:-11px}.bdh.edge.n,.bdh.edge.s{width:22px;height:6px;margin:-4px 0 0 -11px}.bdh.edge.n::before,.bdh.edge.s::before{inset:-13px -4px}.bdh.edge.e,.bdh.edge.w{width:6px;height:22px;margin:-11px 0 0 -4px}.bdh.edge.e::before,.bdh.edge.w::before{inset:-4px -13px}.bdh.rot{width:20px;height:20px;margin:-10px 0 0 -10px}.bdh.rot::before{inset:-9px;border-radius:50%}.bdt{width:38px;height:36px}.bimadd{opacity:1}}

body.t-epure .bdt{border-radius:980px}
body.t-epure .bdwrap{background-image:radial-gradient(circle,#e0e0e5 1px,transparent 1px)}

/* signalétique de chantier pour les titres, chasse fixe pour ce qui se compte */
h1,h2,h3,h4,.hd h2,.sgroup,.seg button{font-family:"Barlow Semi Condensed","Arial Narrow",Arial,system-ui,sans-serif;letter-spacing:.005em}
h1,h2,h3,h4{font-weight:600}
.kpi .v,.num,.ct,td.num,.su-num{font-family:"Chivo Mono",ui-monospace,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}

/* ---------- replier le menu latéral : le même geste et la même mémoire partout ---------- */
.sidefold{position:fixed;left:232px;top:calc(var(--hdrh,60px) + var(--murh,44px) + 14px);z-index:46;width:18px;height:56px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:var(--card);color:var(--ink2);font-size:11px;box-shadow:2px 0 8px rgba(0,0,0,.08);cursor:pointer;padding:0;display:none;align-items:center;justify-content:center;box-shadow:2px 0 8px rgba(0,0,0,.06);transition:left .2s}
.sidefold:hover{color:var(--ink);background:var(--hov,#EDE7DE)}
/* la même languette que celle du volet de droite (hub-ui.css la fait plus petite et plus pâle : on le défait ici) */
body button.sidefold{width:18px;height:56px;border-radius:0 9px 9px 0;background:var(--card);color:var(--ink2);font-size:11px;opacity:1;box-shadow:2px 0 8px rgba(0,0,0,.08);font-family:inherit}
body button.sidefold:hover{opacity:1;color:var(--ink);background:var(--hov,#EDE7DE)}
@media(min-width:901px){.sidefold{display:flex}body.sidefolded .sidefold{left:0}}
/* Le volet de Pinup n'est pas un menu de navigation, c'est la liste des planches
   du projet. Le réduire à une colonne étroite ne donnait rien de lisible : un nom
   de planche ou de dossier ne tient pas dans la largeur d'un doigt. Replié, il
   s'efface donc entièrement et le plateau prend toute la page. La languette reste
   contre le bord gauche pour le rouvrir. */
@media(min-width:901px){
 body.sidefolded .murside{display:none}
 body.sidefolded .sidefold{left:0}
}
body.nosidebar .sidefold{display:none!important}
body.acc .sidefold{display:none!important}

/* Le sélecteur de style de l'en-tête suivait la règle sombre même en thème clair : blanc sur blanc.
   Cette règle passe en dernier, donc elle gagne quel que soit l'ordre des blocs au-dessus. */
body.t-epure header select,body.t-epure header .btn,body.t-epure header .avbtn,
body.t-epure .top select,body.t-epure .top .btn,body.t-epure .top .avbtn{color:var(--ink);border-color:var(--line);background:var(--card)}
body.t-epure header select:hover,body.t-epure .top select:hover{background:var(--hov,#EDE7DE)}

/* Pastilles et étiquettes : dessinées dans le plan de la planche, donc multipliées par le zoom.
   On les divise par le même facteur pour qu'elles gardent leur taille à l'écran, comme une règle
   posée sur un plan : le plan grossit, la règle non. */
#bdstage .biwho{width:calc(19px / var(--k,1));height:calc(19px / var(--k,1));line-height:calc(19px / var(--k,1));
 font-size:calc(9px / var(--k,1));right:calc(-6px / var(--k,1));top:calc(-6px / var(--k,1));
 box-shadow:0 calc(1px / var(--k,1)) calc(4px / var(--k,1)) rgba(0,0,0,.22)}
#bdstage .bivote{font-size:calc(11px / var(--k,1));padding:calc(1px / var(--k,1)) calc(8px / var(--k,1));
 left:calc(-6px / var(--k,1));bottom:calc(-10px / var(--k,1));border-width:calc(1px / var(--k,1))}
#bdstage .bitask{font-size:calc(11px / var(--k,1));padding:calc(2px / var(--k,1)) calc(9px / var(--k,1));
 top:calc(-22px / var(--k,1))}
#bdstage .bilab{font-size:calc(11px / var(--k,1));bottom:calc(-19px / var(--k,1))}
#bdstage .bislab{font-size:calc(11.5px / var(--k,1));top:calc(-21px / var(--k,1));gap:calc(7px / var(--k,1))}
#bdstage .bislab i{font-size:calc(10.5px / var(--k,1))}
#bdstage .bimadd{width:calc(22px / var(--k,1));height:calc(22px / var(--k,1));font-size:calc(14px / var(--k,1));
 right:calc(-13px / var(--k,1));margin-top:calc(-11px / var(--k,1))}
#bdstage .bilock{width:calc(19px / var(--k,1));height:calc(19px / var(--k,1));line-height:calc(17px / var(--k,1));
 font-size:calc(10px / var(--k,1));right:calc(-6px / var(--k,1));bottom:calc(-6px / var(--k,1))}
/* Le nom du fichier sous une image : utile quand on cherche la bonne planche, encombrant le
   reste du temps. Il garde une taille constante à l'écran, donc vu de loin il pesait autant que
   la vignette et débordait sur la rangée du dessous. Il ne se montre plus que sous le pointeur,
   ou sous l'élément choisi quand il est seul. */
#bdstage .bi[data-kind="image"] .bilab,#bdstage .bi[data-kind="file"] .bilab,
#bdstage .bi[data-kind="video"] .bilab,#bdstage .bi[data-kind="link"] .bilab{
 opacity:0;transition:opacity .12s;background:var(--card);border-radius:calc(6px / var(--k,1));
 padding:calc(1px / var(--k,1)) calc(5px / var(--k,1));box-shadow:0 0 0 calc(1px / var(--k,1)) var(--line2)}
#bdstage .bi:hover .bilab{opacity:1}
body.bdsolo #bdstage .bi.sel .bilab{opacity:1}
/* « double-clic pour écrire » ne s'affiche que sur l'élément survolé ou choisi : sinon la planche
   se couvre d'un mode d'emploi. */
.bitxt:empty:before{content:""}
.bi:hover .bitxt:empty:before,.bi.sel .bitxt:empty:before{content:"double-clic pour écrire";color:rgba(0,0,0,.28);font-size:calc(12px / var(--k,1))}
.bi[data-kind="text"] .bitxt:empty:before{content:""}
.bi.slot .bitxt:empty:before{content:""}

/* partage d'une planche */
.murlist a .vis{font-size:10.5px;opacity:.55;margin-left:2px;display:inline-flex;align-items:center}
.murlist a .vis.shr{border:0;background:transparent;padding:2px;border-radius:6px;cursor:pointer;color:inherit;font:inherit;line-height:0}.murlist a .vis.shr.priv{opacity:.3}.murlist a:hover .vis.shr{opacity:1}.murlist a .vis.shr:hover{background:var(--hov,#EDE7DE)}.murlist a .vis .ext{color:var(--acc);display:inline-flex}.murlist a.on .vis{opacity:.85}
.shrow{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line2);cursor:pointer}
.shrow:last-child{border-bottom:0}
.shrow .av{width:26px;height:26px;flex:none;border-radius:50%;color:#fff;font-size:10.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.shrow b{font-size:13px;font-weight:600}
.shrow span{font-size:11.5px;color:var(--ink3)}
.shrow .ck{margin-left:auto;width:18px;height:18px;border:1.5px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;color:transparent}
.shrow.on .ck{background:var(--ink);border-color:var(--ink);color:#fff}
.shopt{display:flex;flex-direction:column;gap:8px;margin:12px 0 4px}
.shopt button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.shopt button.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset}
.shopt b{font-size:13px;font-weight:600}
.shopt span{font-size:11.5px;color:var(--ink3)}
.shwho{max-height:260px;overflow:auto;margin:6px 0 2px}

/* ---------- la trousse : outils de tracé, à gauche de la planche ----------
   Le choix de l'instrument, l'épaisseur et la couleur sont trois gestes distincts, et cinq
   réglages gardés en mémoire évitent de refaire le chemin à chaque fois. */
.bddock{position:absolute;left:12px;top:50%;transform:translateY(-50%);max-height:calc(100% - 24px);overflow-y:auto;scrollbar-width:none;z-index:40;display:flex;flex-direction:column;gap:5px;
 background:var(--card);border:1px solid var(--line);border-radius:16px;padding:7px 6px;box-shadow:0 10px 34px rgba(0,0,0,.14)}
/* La languette qui rouvre la liste des planches occupe dix-huit pixels contre le
   bord gauche, la trousse commençait à douze : la flèche se posait sur les crayons,
   pliée comme dépliée. La trousse passe derrière elle. Cette règle vient après la
   déclaration ci-dessus : à force égale, c'est la dernière qui compte. */
@media(min-width:901px){
 .bddock{left:30px}
 body.nosidebar .bddock,body.acc .bddock{left:12px}
}
.bddock .u{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;background:none;border-radius:11px;cursor:pointer;font-size:17px;line-height:1;padding:0;color:var(--ink2);position:relative}
.bddock .u:hover{background:var(--hov,#EDE7DE)}
.bddock .u.on{background:var(--ink);color:var(--card)}
.bddock .u .pt{position:absolute;right:4px;bottom:4px;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px var(--card)}
/* un objet dessiné a besoin de sa hauteur : le bouton s'allonge */
.bddock .u.obj{height:44px;align-items:flex-end;padding-bottom:2px}
.bddock .u.obj.on{background:var(--hov,#EDE7DE);box-shadow:inset 0 0 0 1.5px var(--ink)}
.bddock .u.obj.on svg{transform:translateY(-3px)}
.bddock .u.obj svg{transition:transform .16s cubic-bezier(.2,.9,.3,1.25)}
.bddock .fav .rond{display:block;border-radius:999px;box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.bddock .fav .mini{position:absolute;left:2px;bottom:1px;opacity:.75;line-height:0}
.bddock .sep{height:1px;background:var(--line2);margin:3px 4px}
.bddock .fav{width:40px;height:34px;border:1px solid var(--line);border-radius:11px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;background:var(--card);position:relative;color:var(--ink2)}
.bddock .fav:hover{background:var(--hov,#EDE7DE)}
.bddock .fav .u{position:static;width:auto;height:auto;border:0;background:none;opacity:1;line-height:0;color:inherit;display:flex;align-items:center;justify-content:center;padding:0}
.bddock .fav .pt{position:absolute;right:3px;bottom:3px;display:block;border-radius:999px;box-shadow:0 0 0 1.5px var(--card)}
.bddock .fav.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;color:var(--ink)}
.bddock .fav .x{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background:var(--ink);color:var(--card);font-size:10px;line-height:15px;text-align:center;font-style:normal;opacity:0}
.bddock .fav:hover .x{opacity:1}
.bddock .ur{height:36px}.bddock .ur:disabled{cursor:default}
.bddock .add{width:40px;height:34px;border:1px dashed var(--ink3);border-radius:11px;color:var(--ink3);font-size:15px;line-height:1;cursor:pointer;background:none;padding:0}
.bdfly{position:absolute;z-index:41;width:216px;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:10px 12px 12px}
.bdfly .ph{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin:9px 0 6px}
.bdfly .ph:first-child{margin-top:0}
.bdfly .row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bdfly .w{width:30px;height:30px;border:1px solid var(--line);background:var(--card);border-radius:9px;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.bdfly .w.on{border-color:var(--ink);background:var(--hov,#EDE7DE)}
.bdfly .w i{display:block;border-radius:999px;background:var(--ink)}
.bdfly .c{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;box-shadow:0 0 0 1px var(--line) inset}
.bdfly .c.sq{border-radius:7px}
.bdfly .c.on{border-color:var(--ink3);box-shadow:0 0 0 1px var(--card) inset}
/* Le « + » etait centre par une hauteur de ligne calculee a la main, qui ne tombait
   juste ni avec la bordure ni avec la police reelle : le rond pendait sous la rangee
   de pastilles. Une boite flexible le centre dans les deux sens, une fois pour toutes. */
/* Le rond pendait sous la rangee de pastilles. Ce n'etait pas le « + » mal centre
   dedans, c'etait la marge d'etiquette de formulaire, douze pixels en haut et quatre
   en bas, que le rond heritait : une rangee flexible centre la boite AVEC ses marges,
   d'ou les quatre pixels de decalage, exactement la moitie de la difference. */
.bdfly .cadd{width:22px;height:22px;border-radius:50%;border:1px dashed var(--ink3);color:var(--ink3);font-size:14px;line-height:1;cursor:pointer;position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;flex:none;box-sizing:border-box;margin:0;padding:0}
.bdfly .cadd.sq{border-radius:7px}
.bdfly .cadd input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bdfly .op{width:100%;margin:2px 0 0}
.bdfly .pv{font-size:11px;color:var(--ink3)}
.bdfly .keep{margin-top:10px;padding-top:9px;border-top:1px solid var(--line2)}
.bdwrap[data-tool="erase"]{cursor:cell}
.bdwrap[data-tool="fill"]{cursor:copy}
@media(max-width:820px){.bddock{left:6px;padding:5px 4px}.bddock .u{width:36px;height:36px}}

/* menu du clic droit : ce qu'on peut faire ici, sur ce qui est sous le curseur */
.bdmenu{position:absolute;z-index:80;min-width:212px;max-width:260px;background:var(--card);border:1px solid var(--line);
 border-radius:13px;box-shadow:0 16px 44px rgba(0,0,0,.20);padding:5px;font-size:13px}
.bdmenu button{display:flex;align-items:center;gap:9px;width:100%;box-sizing:border-box;border:0;background:none;font:inherit;
 font-size:13px;color:var(--ink);text-align:left;padding:7px 10px;border-radius:9px;cursor:pointer}
.bdmenu button:hover{background:var(--hov,#EDE7DE)}
.bdmenu button .k{margin-left:auto;font-size:10.5px;color:var(--ink3)}
.bdmenu button.dgr{color:#9c3f3f}
.bdmenu .sep{height:1px;background:var(--line2);margin:4px 6px}
.bdmenu .tit{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);padding:7px 10px 4px}
.bdmenu .cols{display:flex;gap:5px;padding:4px 8px 7px;flex-wrap:wrap}
.bdmenu .cols button{width:auto;padding:5px 8px;border:1px solid var(--line);border-radius:8px;font-size:12px}

/* la planche et la liste des tâches, côte à côte */
.bdrow{display:flex;align-items:stretch;flex:1;min-height:0;position:relative}
/* la planche remplit la rangée : sa hauteur fixe d'origine laissait une bande grise dessous */
.bdrow .bdwrap{flex:1;min-width:0;height:auto;min-height:0;align-self:stretch}
.bdtk{width:264px;flex:none;border-left:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;min-height:0;transition:width .18s,opacity .18s}
.bdtk.off{width:0!important;opacity:0;overflow:hidden;border-left:0;pointer-events:none}
.bdtk .hd{display:flex;align-items:center;gap:4px;padding:9px 8px;border-bottom:1px solid var(--line2)}
.bdtk .hd .tb{flex:1;border:0;background:none;font:inherit;font-size:11.5px;color:var(--ink3);padding:6px 8px;border-radius:9px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdtk .hd .tb:hover{background:var(--hov,#EDE7DE)}
.bdtk .hd .tb.on{background:var(--ink);color:var(--card);font-weight:600}
.bdtk .hd.tbico .tb{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:6px 4px;overflow:visible}
.bdtk .hd.tbico .tb svg{display:block;flex:none}
.bdtk .hd.tbico .tb i{font-style:normal;font-size:10.5px;font-weight:600;line-height:1}
.tkrow .av{width:22px;height:22px;flex:none;border-radius:50%;color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.bdtk .bd{flex:1;overflow:auto;padding:4px 0 14px}
.bdtk.large{width:320px}
.bdtk .bd.mat{display:block;padding:0;overflow:auto}
.matsec{display:block;padding:0 10px 10px;position:relative}
/* v935 : les carnets et la provenance des images */
.mchips.mbooks{margin-bottom:5px}
.matsec .mchip.vide{opacity:.42;cursor:default}
/* v943 : sur « Ce projet », un carnet vide reste cliquable pour y déposer */
.matsec .mchip.vide:not([disabled]){opacity:.6;cursor:pointer;border-style:dashed}.matsec .mchip.vide:not([disabled]):hover{opacity:1}.matsec .mchip.vide.on{opacity:1;border-style:solid}
.matsec .mtop{position:sticky;top:0;z-index:2;background:var(--card);padding:8px 0 4px;margin:0 0 4px}
.matsec:last-child{border-bottom:0}
.matsec.over{background:var(--sel,#eef4fb)}
.matsec .mh{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.matsec .mh b{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink2);font-weight:600}
.matsec .seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:2px;gap:2px}
.matsec .seg button{border:0;background:none;font:inherit;font-size:10.5px;padding:3px 9px;border-radius:999px;color:var(--ink3);cursor:pointer}
.matsec .seg button.on{background:var(--ink);color:var(--card)}
.matsec .mq{width:100%;box-sizing:border-box;font:inherit;font-size:12px;border:1px solid var(--line);border-radius:9px;padding:5px 9px;margin:0 0 6px;background:var(--card);color:var(--ink)}
.matsec .mg{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;align-items:start;padding:2px 0}
.matsec .mplus{width:100%;margin:8px 0 2px;font:inherit;font-size:11.5px;border:1px solid var(--line);background:var(--card);border-radius:9px;padding:6px;cursor:pointer;color:var(--ink2)}
.matsec .mt{min-width:0}.matsec .mt .im{aspect-ratio:1;width:100%}
.matsec.s-s .mg{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:4px}
.matsec.s-l .mg{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.matsec .mgh,.matsec .mplus{grid-column:1/-1}
.matsec .mt{margin:0;cursor:grab;border-radius:8px;overflow:hidden;background:var(--hov,#EDE7DE);position:relative}
.matsec .mt:active{cursor:grabbing}
.matsec .mt .im{display:block;background:center/cover no-repeat;border-radius:8px}
.matsec[data-k="logo"] .mt .im{background-size:contain;background-color:#fff;background-image:repeating-conic-gradient(#f0f0ec 0 25%,#fff 0 50%);background-position:center;background-repeat:no-repeat}
.matsec[data-k="logo"] .mt .im.on{background-size:contain,16px 16px;background-repeat:no-repeat,repeat}
.matsec.s-s .mt figcaption{display:none}
.matsec.s-l .mt figcaption{font-size:11px}
.matsec .seg.sz button{padding:3px 7px;font-size:10px}
.bdtk .tkresize{position:absolute;left:-3px;top:0;bottom:0;width:7px;cursor:ew-resize;z-index:22}
.bdtk .tkresize:hover{background:linear-gradient(90deg,transparent,var(--acc,#3a7c88) 45%,var(--acc,#3a7c88) 55%,transparent)}
.bdtk{position:relative}
.matsec .mt .mted{position:absolute;right:4px;top:4px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.95);color:var(--ink2);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;opacity:0;transition:opacity .12s;z-index:2}
.matsec .mt:hover .mted{opacity:1}.matsec .mt .mted:hover{color:var(--ink);border-color:var(--ink3)}
@media (hover:none){.matsec .mt .mted{opacity:1}}
.matsec .mt figcaption{font-size:10px;color:var(--ink3);padding:3px 4px 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.matsec .mt figcaption .src{display:block;font-style:normal;font-size:9px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matsec .mdrop{font-size:10.5px;color:var(--ink3);opacity:.7;padding:6px 2px 2px;text-align:center}
.matsec .mf{display:flex;flex-direction:column;gap:4px;margin:0 0 6px}
.matsec .mchips{display:flex;flex-wrap:wrap;gap:4px}
.matsec .mchip{border:1px solid var(--line);background:var(--card);border-radius:999px;font:inherit;font-size:10.5px;color:var(--ink2);padding:2px 8px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;text-transform:capitalize}
.matsec .mchip i{font-style:normal;color:var(--ink3);font-size:9.5px}
.matsec .mchip.on{background:var(--ink);color:var(--card);border-color:var(--ink)}.matsec .mchip.on i{color:rgba(255,255,255,.7)}
.matsec .mchip.tone:before,.matsec .mgh i{content:'';display:inline-block;width:9px;height:9px;border-radius:50%;border:1px solid rgba(0,0,0,.15)}
.t-beige:before,.mgh i.t-beige{background:#d9c7a7}.t-terre:before,.mgh i.t-terre{background:#9a6a4a}.t-gris:before,.mgh i.t-gris{background:#9b9b98}.t-noir:before,.mgh i.t-noir{background:#222}.t-blanc:before,.mgh i.t-blanc{background:#fafaf7}
.t-bleu:before,.mgh i.t-bleu{background:#4f7fb0}.t-vert:before,.mgh i.t-vert{background:#5f8f5a}.t-rouge:before,.mgh i.t-rouge{background:#b5473d}.t-jaune:before,.mgh i.t-jaune{background:#d9b23a}.t-violet:before,.mgh i.t-violet{background:#7d5c98}.mgh i.t-none{background:transparent;border-style:dashed}
.matsec .mgrp{grid-column:1/-1;border:1px dashed transparent;border-radius:10px;padding:2px 4px 6px;margin:2px -4px 4px}
.matsec .mgrp.over{border-color:var(--acc,#3a7c88);background:var(--sel,#eef4fb)}
.matsec .mgrp .mgi{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:6px;align-items:start}
.matsec.s-s .mgrp .mgi{grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:4px}.matsec.s-l .mgrp .mgi{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.matsec .mgh .t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.matsec .mgh .ren{font-style:normal;cursor:pointer;opacity:0;margin-left:6px}.matsec .mgrp:hover .mgh .ren{opacity:.6}.matsec .mgh .ren:hover{opacity:1}
.matsec .mlivre .mvide{opacity:1;font-size:12px;padding:22px 14px;line-height:1.55}
.matsec .mvide{font-size:11px;color:var(--ink3);opacity:.6;padding:10px 6px;grid-column:1/-1;border:1px dashed var(--line);border-radius:8px;text-align:center}
.matsec .mh2{margin-top:-2px}
.matsec .mhico{justify-content:flex-start;flex-wrap:wrap;gap:6px}
.matsec .mhico .seg:not(.sz) button{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;line-height:0}
.matsec .mhico .seg.sz button{padding:3px 8px;min-width:24px;line-height:1.3}
.matsec .mhico .seg button svg{display:block}
.matsec .mhico .seg.sz{margin-left:auto}
.matsec .mhico .mplus{display:inline-flex;align-items:center;justify-content:center;width:28px;height:26px;padding:0;border-radius:999px;line-height:0}
.matsec .mgh{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);padding:6px 0 0}
.matsec .mgh span{margin-left:auto;font-size:10px;text-transform:none;letter-spacing:0}
.matsec.over .mdrop{opacity:1;color:var(--acc)}
.tkgrp{display:flex;align-items:center;gap:8px;padding:12px 12px 6px;font-size:11.5px;color:var(--ink3)}
.tkgrp .av{width:22px;height:22px;border-radius:50%;color:#fff;font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.tkgrp b{font-weight:600;color:var(--ink2);font-size:12.5px}
.tkgrp i{margin-left:auto;font-style:normal;opacity:.6}
.tkrow{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;cursor:pointer;border-radius:9px;margin:0 6px}
.tkrow:hover{background:var(--hov,#EDE7DE)}
.tkrow .st{color:var(--ink3);font-size:12px;line-height:1.5}
.tkrow .tx{flex:1;font-size:12.5px;line-height:1.35}
.tkrow .tx em{display:block;font-style:normal;font-size:11px;color:var(--ink3);margin-top:1px}
.tkrow.ok{opacity:.5}
.tkrow.ok .tx{text-decoration:line-through}
.tkrow .ico{opacity:0}
.tkrow:hover .ico{opacity:.7}
.tkfold{position:absolute;right:264px;top:14px;z-index:46;width:18px;height:56px;border:1px solid var(--line);border-right:0;border-radius:9px 0 0 9px;background:var(--card);color:var(--ink2);font-size:11px;box-shadow:-2px 0 8px rgba(0,0,0,.08);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:-2px 0 8px rgba(0,0,0,.06);transition:right .18s;flex-direction:column;gap:2px}
.tkfold:hover{color:var(--ink);background:var(--hov,#EDE7DE)}
.tkfold i{font-style:normal;font-size:9px;background:#c0392b;color:#fff;border-radius:999px;padding:0 4px;line-height:12px}
.bdtk.off + .tkfold,.bdrow .bdtk.off ~ .tkfold{right:0}
.bdtk.large + .tkfold,.bdrow .bdtk.large:not(.off) ~ .tkfold{right:320px}
/* le jeton d'une tâche : rond fermé, phrase au survol */
#bdstage .bitask{display:inline-flex;align-items:center;gap:0;max-width:none;background:#c0392b;color:#fff;border-radius:999px;
 padding:0;height:calc(20px / var(--k,1));width:calc(20px / var(--k,1));justify-content:center;overflow:hidden;
 font-size:calc(11px / var(--k,1));top:calc(-24px / var(--k,1));left:0;transition:width .12s}
#bdstage .bitask b{font-weight:700;line-height:1;font-size:calc(11px / var(--k,1))}
#bdstage .bitask i,#bdstage .bitask u{display:none}
#bdstage .bi:hover .bitask{width:auto;padding:0 calc(9px / var(--k,1));gap:calc(6px / var(--k,1))}
#bdstage .bi:hover .bitask i{display:inline;font-style:normal;white-space:nowrap;font-size:calc(11px / var(--k,1))}
#bdstage .bi:hover .bitask u{display:inline;text-decoration:none;opacity:.75;font-size:calc(10px / var(--k,1))}
#bdstage .bitask.ok{background:#2e7d5b}

.bipin.task{background:#c0392b;font-size:12px}
.bipin.task.done{background:#2e7d5b}
.bdtaskpop{position:absolute;z-index:75;width:280px;background:var(--card);border:1px solid var(--line);border-radius:14px;
 box-shadow:0 14px 40px rgba(0,0,0,.20);padding:11px 13px 9px}
.bdtaskpop .tt{font-size:13.5px;font-weight:600;line-height:1.3}
.bdtaskpop .mt{display:flex;align-items:center;gap:7px;margin-top:7px;font-size:11.5px;color:var(--ink3);flex-wrap:wrap}
.bdtaskpop .mt .av{width:20px;height:20px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center}
.bdtaskpop .mt .due{border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.bdtaskpop .mt .st{margin-left:auto;border-radius:999px;padding:1px 9px;background:#fbeaea;color:#9c3f3f}
.bdtaskpop .mt .st.ok{background:#e9f2ea;color:#2f6b3a}
.bdtaskpop .ac{display:flex;align-items:center;gap:6px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line2)}
.bdtaskpop .ac .btn.sm{padding:4px 10px;font-size:11.5px;white-space:nowrap}

.modgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 4px;max-height:52vh;overflow:auto}
.modgrid button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);
 background:var(--card);border-radius:12px;padding:10px 13px;cursor:pointer;font:inherit;color:var(--ink)}
.modgrid button:hover{background:var(--hov,#EDE7DE);border-color:var(--ink3)}
.modgrid b{font-size:13px;font-weight:600}
.modgrid span{font-size:11.5px;color:var(--ink3)}
.modgrid i{font-style:normal;font-size:10.5px;color:var(--ink3);opacity:.8;margin-top:3px}
.murlist .dos{margin-bottom:2px}
.murlist .dh{display:flex;align-items:center;gap:7px;width:100%;border:0;background:none;font:inherit;font-size:10.5px;
 text-transform:uppercase;letter-spacing:.05em;color:var(--ink3);padding:8px 10px 4px;cursor:pointer;text-align:left}
.murlist .dh:hover{color:var(--ink2)}
.murlist .dh .ar{font-size:9px}
.murlist .dh .n{margin-left:auto;text-transform:none;letter-spacing:0;opacity:.7}
.murlist .dos .dl{padding-left:8px;border-left:1px solid var(--line2);margin-left:12px}
.murlist .dos.off .dl{display:none}

.murlist a.arch{opacity:.45}
.murlist a.arch:hover{opacity:.75}
.murlist .dos.arch .dh{opacity:.6}
.murlist .dos.over,.murlist .libre.over{background:var(--sel,#eef4fb);border-radius:10px;outline:1px dashed var(--ink3)}
.murlist .libre{min-height:16px;padding:2px 0}
body.murvign .murside{width:296px}
.murlist.vign a{display:grid;grid-template-columns:1fr auto auto;grid-template-areas:'th th th' 'nm vis n';gap:4px 6px;padding:8px;margin-bottom:4px;border:1px solid var(--line2);background:var(--card)}
.murlist.vign a.on{border-color:var(--ink);background:var(--card)}
.murlist.vign a .th{grid-area:th;display:block;aspect-ratio:16/10;border-radius:6px;background:var(--hov,#EDE7DE) center/cover no-repeat;position:relative;overflow:hidden}
.murlist.vign a .th i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:22px;font-weight:600;color:var(--ink3);opacity:.6}
.murlist.vign a .nm{grid-area:nm;font-size:12.5px}.murlist.vign a .vis{grid-area:vis}.murlist.vign a .n{grid-area:n;margin-left:0}
.murlist.vign .dos .dl{padding-left:0;border-left:0;margin-left:0}
.murlist .libre .vide,.murlist .dl .vide{font-size:11px;color:var(--ink3);opacity:.6;padding:8px 10px}
.snaps{max-height:46vh;overflow:auto;margin:10px 0 4px}
.snap{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--line2)}
.snap:last-child{border-bottom:0}
.snap .av{width:24px;height:24px;flex:none;border-radius:50%;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center}
.snap .tx{flex:1;min-width:0}
.snap .tx b{display:block;font-size:12.5px;font-weight:600}
.snap .tx span{font-size:11px;color:var(--ink3)}

.shrow .rls{margin-left:auto;display:flex;gap:3px}
.murbar .bdlect{font-size:11px;color:var(--ink3);border:1px solid var(--line);border-radius:999px;padding:2px 9px;white-space:nowrap}
.shrow .rl,.shfirm .rl{border:1px solid var(--line);background:var(--card);color:var(--ink3);border-radius:8px;font:inherit;font-size:11px;padding:3px 8px;cursor:pointer;white-space:nowrap}
.shrow .rl:hover,.shfirm .rl:hover{background:var(--hov,#EDE7DE)}
.shrow .rl.on,.shfirm .rl.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
.shrow .rl.no.on{background:transparent;color:var(--ink3);border-color:var(--line);font-weight:600}
.shrow{cursor:default}
.bi .bilock.adm{background:#1E2322;color:#fff;border-color:#1E2322}

.bisheet.ref{border:2px solid var(--acc,#3a7c88);box-shadow:0 0 0 4px rgba(65,123,116,.12),0 6px 26px rgba(0,0,0,.10)}
body.t-epure .bisheet.ref{border-radius:10px}
#bdstage .biref{position:absolute;right:0;top:calc(-24px / var(--k,1));border:1px solid var(--acc,#3a7c88);background:var(--card);color:var(--acc,#3a7c88);
 border-radius:999px;font:inherit;font-size:calc(11px / var(--k,1));padding:calc(2px / var(--k,1)) calc(10px / var(--k,1));cursor:pointer;white-space:nowrap}
#bdstage .biref:hover{background:var(--acc,#3a7c88);color:#fff}
.reflist{display:grid;gap:7px;margin:12px 0 4px;max-height:46vh;overflow:auto}
.reflist button{display:flex;align-items:baseline;gap:9px;text-align:left;border:1px solid var(--line);background:var(--card);
 border-radius:11px;padding:9px 13px;cursor:pointer;font:inherit;color:var(--ink)}
.reflist button:hover{background:var(--hov,#EDE7DE)}
.reflist b{font-size:13px;font-weight:600}
.reflist span{font-size:11px;color:var(--ink3)}

.bdpop{position:absolute;z-index:76;width:320px;max-width:calc(100% - 16px);background:var(--card);border:1px solid var(--line);
 border-radius:14px;box-shadow:0 14px 44px rgba(0,0,0,.22);padding:9px 12px 11px;display:flex;flex-direction:column}
.bdpop .ph{display:flex;align-items:center;gap:8px;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink3);padding-bottom:6px;border-bottom:1px solid var(--line2)}
.bdpop .ph b{font-weight:600}
.bdpop .ph .n{opacity:.7}
.bdpop .ph .ico{margin-left:0}
.bdpop .ph .ico:first-of-type{margin-left:auto}
.bdpop .bdthread{max-height:240px;overflow:auto;margin:2px 0 8px;border-top:0}
.bdpop .bdthread .cm{padding:8px 0}
.bdpop .ec{display:flex;gap:7px;align-items:flex-end}
.bdpop .ec textarea{flex:1;font:inherit;font-size:12.5px;resize:vertical;border:1px solid var(--line);border-radius:10px;padding:7px 9px;background:var(--card);color:var(--ink)}
.bdpop .ec .btn{white-space:nowrap;padding:6px 11px;font-size:11.5px}

/* le repère garde sa taille à l'écran, quel que soit le zoom, et reste centré sur son point */
/* v1423 : les épingles et les tâches couvraient la planche vue de loin (capture d'Eric du 15/10). v1425 : 26 px à l'écran
   jusqu'à 40 % de zoom, puis elles rapetissent jusqu'à 14 px (sous 22 %), et disparaissent sous 10 % (pinsloin, bdLabCourt) ;
   v1423 les rendait trop petites puis les cachait dès 30 % : Eric ne voyait plus ses commentaires
   v1446 : au plus petit 21 px au lieu de 14 (Eric, 16/10 : « these are a bit too small ») */
#bdstage .bi[data-kind="pin"] .bipin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
 width:calc(26px * clamp(.8, var(--k,1) * 2.5, 1) / var(--k,1));height:calc(26px * clamp(.8, var(--k,1) * 2.5, 1) / var(--k,1));font-size:calc(12px * clamp(.8, var(--k,1) * 2.5, 1) / var(--k,1));
 border-width:calc(2px * clamp(.8, var(--k,1) * 2.5, 1) / var(--k,1));box-shadow:0 calc(2px * clamp(.8, var(--k,1) * 2.5, 1) / var(--k,1)) calc(8px * clamp(.8, var(--k,1) * 2.5, 1) / var(--k,1)) rgba(0,0,0,.28)}
#bdstage.pinsloin .bi[data-kind="pin"]:not(.sel){display:none}
/* v1424 : de loin, les pastilles Revit (annotation pour Revit, Revit ✓, Revit d'une vue) rapetissent comme les épingles et se cachent sous 10 % (Eric, 15/10 : « the Revit tag too is really big ») */
#bdstage.pinsloin .bi:not(.sel):not(:hover) :is(.birevmk,.birevok,.birevit){display:none}

/* Sur un téléphone, l'en-tête doit garder son menu : les sélecteurs cèdent la place. */
@media(max-width:700px){
 header{padding:10px 12px;gap:8px}
 header .wordmark small{display:none}
 header select{min-width:0}
 header #projsel{flex:1 1 70px;max-width:150px;min-width:0;text-overflow:ellipsis}
 header .spacer{flex:1 1 auto;min-width:0}
 header .menuwrap{flex:none}
}
@media(max-width:520px){
 header #thbtn{display:none}
 header #projsel{max-width:120px}
}
/* v944 : la case visée quand on glisse une image (vide ou déjà prise : l'image ira là, ou les deux s'échangeront) */
.bi.bdcase-on{outline:calc(3px / var(--k,1)) solid var(--acc,#417b74);outline-offset:calc(-3px / var(--k,1))}
.bi.bdcase-on .birect{background:rgba(65,123,116,.16)!important;border-color:var(--acc,#417b74)!important}
.bi.bdcase-on .birect:after{color:var(--acc,#417b74)}
.bi.bdcase-on img{filter:brightness(.82)}
/* v944 : couleur, fond, épaisseur, pointes dans la barre d'un trait ou d'une forme */
.bdep{display:inline-flex;align-items:center;gap:5px;color:var(--ink2);padding:0 4px}.bdep input{accent-color:var(--acc,#3a7c88)}
.bdep b{font-size:11px;font-weight:600;color:var(--ink3);min-width:34px;font-variant-numeric:tabular-nums}
.bdep input{width:64px}
.bdcolbtn{display:inline-flex;align-items:center;gap:6px}.bdcolbtn .bgdot{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:inline-block}
.bdstylepop{padding:8px!important;gap:6px!important;min-width:0!important;flex-wrap:wrap!important;width:196px}
/* v944 : les points d'un trait choisi */
.bdh.bdpt{width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#fff;border:2px solid var(--acc,#417b74);box-shadow:0 1px 3px rgba(0,0,0,.25)}
.bdh.bdpt:hover{background:var(--acc,#417b74)}
/* v944 : l'onglet des icônes, plus propre : le nombre au bout de la rangée, le mode d'emploi en infobulle */
.icosec .icon-n{flex:none;font-size:11px;font-weight:600;color:var(--ink3);padding:3px 7px;border-radius:999px;background:var(--wash,#f3f1ec);cursor:help;font-variant-numeric:tabular-nums}
.icosec .nounsec{border-top:1px solid var(--line2);border-bottom:0;margin:8px 0 0}

/* v945 : reprendre les informations d'une page produit */
.sitech{display:flex;flex-direction:column;gap:4px;max-height:52vh;overflow:auto}
.sitech label{display:grid;grid-template-columns:18px 130px 1fr;gap:8px;align-items:baseline;font-size:12.5px;padding:3px 0;border-bottom:1px solid var(--line2)}
.sitech label span{color:var(--ink3)}
.sitech label b{font-weight:500;overflow-wrap:anywhere}
/* v946 : + à côté de Tâches et de Commentaires ; le bouton ouvert garde son contraste au survol */
.bdrevg{display:inline-flex;align-items:stretch}
.bdrevg .bdrevb:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}
.bdrevg .bdrevplus{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding:0 9px;font-size:15px;line-height:1;font-weight:500}
.bdrevb.on,.bdrevb.on:hover,body.t-epure .bdrevb.on:hover,body.aethos .bdrevb.on:hover{background:var(--ink);color:var(--card);border-color:var(--ink)}
.bdrevb:not(.on):hover,.bdrevplus:hover{background:var(--hov);color:var(--ink)}
/* v957 : le « + » à côté de chaque onglet du panneau Tâches / Commentaires ; la corbeille d'une ligne au survol */
.bdrev .hd .tbg{display:inline-flex;align-items:center;gap:2px}
.bdrev .hd .tbplus{border:1px solid var(--line);background:var(--card,#fff);color:var(--ink2);border-radius:8px;width:26px;height:26px;font-size:16px;line-height:1;cursor:pointer;padding:0}
.bdrev .hd .tbplus:hover{background:var(--hov);color:var(--ink)}
.bdrev .tkrow .tkdel{opacity:0;font-size:13px}
.bdrev .tkrow:hover .tkdel,.bdrev .tkrow .tkdel:focus{opacity:.7}
.bdrev .tkrow .tkdel:hover{opacity:1}
@media (hover:none){.bdrev .tkrow .tkdel{opacity:.6}}
/* v959 : le champ du fil d'une épingle : dessous, à gauche la dictée / correction / traduction, à droite « Commenter » */
.bdpop .ec{flex-direction:column;align-items:stretch}
.bdpop .ec .ecb{display:flex;align-items:center;gap:6px}
.bdpop .ec .ectia{flex:1;min-width:0;display:flex}
/* v963 : la légende d'une case de grille, en bas à gauche ; vide, un cadre gris sur le Mur seulement */
/* v1295 : la légende garde sa taille à l'écran de près, mais ne dépasse jamais 12 unités de la planche : de loin elle rapetisse avec la planche
   (Eric, 07/10 : « make it so the caption stuff isn't getting huge ») */
.bicap{--cz:min(1px / var(--k,1), 1px);position:absolute;left:calc(8 * var(--cz));bottom:calc(8 * var(--cz));max-width:calc(100% - 16 * var(--cz));z-index:3;font:500 calc(12 * var(--cz))/1.3 Inter,system-ui,sans-serif;color:#1d1d1f;background:rgba(255,255,255,.88);border-radius:calc(5 * var(--cz));padding:calc(3 * var(--cz)) calc(7 * var(--cz));cursor:text;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bicap span{outline:none}
.bicap.vide{background:rgba(0,0,0,.06);border:1px dashed rgba(0,0,0,.2);color:rgba(0,0,0,.38);font-weight:400}
.bicap.ed{background:#fff;color:#1d1d1f;border:1px solid var(--acc,#3a7c88);white-space:normal}
body.prez .bicap.vide,body.pres .bicap.vide{display:none}
/* v1222 : la légende sous la case */
.bicap.auto{white-space:pre-line}
.bdcapch{display:flex;flex-direction:column;gap:2px;align-items:flex-start}.bdcapch label{display:flex;gap:6px;align-items:center;margin:0;font-weight:400;text-transform:none;letter-spacing:0}
.bicap.sous{left:0;bottom:auto;top:calc(100% + 4 * var(--cz));max-width:100%;background:transparent;padding-left:0;padding-right:0;border-radius:0}
.bicap.sous.vide{padding-left:calc(5 * var(--cz));padding-right:calc(5 * var(--cz))}
.bi[data-kind="image"]:has(> .bicap.sous):not(.crop){overflow:visible}
/* v1269 : une image qui porte une légende ne montre plus aussi le nom de son fichier */
.bi[data-kind="image"]:has(> .bicap) > .bilab:not(.in){display:none}
body.pres .bi.slot .bicap:not(.vide){visibility:visible}
/* v978 : choisir et la main dans la barre du haut de la planche */
.bdhdrtools{display:inline-flex;gap:4px;margin-left:6px;padding-left:8px;border-left:1px solid var(--line)}
.bdhdrtools .bdt{width:30px;height:28px;border-radius:8px}.bdhdrtools .bdt svg{width:15px;height:15px}
/* v980 : les versions d'une planche */
.bdversb i{font-style:normal;font-size:10.5px;background:var(--hov,#EDE7DE);border-radius:8px;padding:0 5px;margin-left:2px}
.bdversb.on{background:#8a5a14;border-color:#8a5a14;color:#fff}.bdversb.on i{background:rgba(255,255,255,.25)}
.bdversband{position:absolute;top:66px;left:50%;transform:translateX(-50%);z-index:47;max-width:calc(100% - 40px);display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 10px 7px 14px;background:#fbf3e4;border:1px solid #e9d4ae;border-radius:12px;box-shadow:0 6px 20px rgba(0,0,0,.08);font-size:12.5px;color:#5b3d0c}
.bdversband .btn{white-space:nowrap}
.murbar .bdversb,.murbar .bdversb:disabled{opacity:1 !important;pointer-events:auto !important;filter:none !important}
.murbar .bdversb.on,.murbar .bdversb.on:hover{background:#8a5a14 !important;border-color:#8a5a14 !important;color:#fff !important}
.bdversband b{font-weight:700}
.bdversl{display:flex;flex-direction:column;gap:1px;margin:2px 0 6px 18px;padding-left:8px;border-left:1px solid var(--line)}
.bdversl:empty{display:none}
.bdversh{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:3px 4px}
.bdversr{all:unset;cursor:pointer;font-size:12px;color:var(--ink2);padding:3px 6px;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdversr:hover{background:var(--hov,#EDE7DE)}.bdversr.on{background:#fbf3e4;color:#5b3d0c;font-weight:600}.bdversr.cours{color:var(--acc,#3a7c88)}

/* v982 : les trois rayons des icônes, les icônes de l'agence */
.icosec .icosrc{padding:0 10px 6px}.icosec .icosrc .seg{flex:1}.icosec .icosrc .seg button{flex:1;font-size:11px;padding:4px 8px}
.icosec .agimp{display:flex;gap:8px;align-items:center;padding:4px 10px 2px;flex-wrap:wrap}
.icosec.over{outline:2px dashed var(--acc,#3a7c88);outline-offset:-4px}
.icosec .icw{position:relative}.icosec .icw .ic{width:100%}
.icosec .icw .icx{position:absolute;top:0;right:0;width:16px;height:16px;border:0;border-radius:50%;background:var(--card,#fff);color:var(--ink3);font-size:12px;line-height:14px;padding:0;cursor:pointer;display:none;box-shadow:0 0 0 1px var(--line)}
.icosec .icw:hover .icx{display:block}.icosec .icw .icx:hover{color:var(--bad,#b3261e)}
.icosec .agim{display:block;background-position:center;background-size:contain;background-repeat:no-repeat}
/* v982 : les initiales de qui a posé un élément ne se montrent plus partout (Eric, 01/10 : « pas besoin des MC sur tout ») :
   au survol de l'élément, ou quand il est choisi */
#bdstage .bi .biwho:not(.pour){opacity:0;pointer-events:none;transition:opacity .12s}
#bdstage .bi:hover .biwho,#bdstage .bi.sel .biwho{opacity:1}
.uichoix .uichx{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.uichoix .uichx .btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 14px;height:auto;white-space:normal;border-radius:12px}
.uichoix .uichx .btn span{font-size:12px;font-weight:400;opacity:.8;line-height:1.35}

/* v985 : les images liées au Drive */
.bidrv{position:absolute;left:6px;top:6px;font:600 10px/1 system-ui,sans-serif;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.92);color:#1a73e8;box-shadow:0 1px 3px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .12s}
#bdstage .bi:hover .bidrv,#bdstage .bi.sel .bidrv{opacity:1}
#bdstage .bidrv.perdu{opacity:1;background:#9c3f3f;color:#fff}
#bdstage .bidrv{font-size:calc(10px / var(--k,1));padding:calc(3px / var(--k,1)) calc(6px / var(--k,1));left:calc(6px / var(--k,1));top:calc(6px / var(--k,1));border-radius:calc(6px / var(--k,1))}
body.pres #bdstage .bidrv{display:none}
.drvlie{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 10px 8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--wash,#f6f4ef);font-size:12px}
.drvlie>span{flex:1 1 100%}
.drvlie.relier{border-color:#1a73e8;background:#eef4fe}
.drvmaj-l{display:flex;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line2,#eee)}
.drvmaj-l>span{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.drvmaj-l b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drvmaj-l.perdu b{color:#9c3f3f}
.drvmaj-v{display:flex;gap:8px;align-items:center;margin-top:14px;font-size:12.5px}
.drvbar .drvref{font-size:15px}.drvbar .drvref.tourne{animation:drvtourne .8s linear infinite}
@keyframes drvtourne{to{transform:rotate(360deg)}}
/* v988 : « Plus ▾ » de la barre d'une feuille : une liste */
/* v997 : la liste défile, ce qui coupait le pont invisible au-dessus d'elle : le menu se fermait en descendant la souris
   (Eric, 01/10). Plus d'écart : la liste touche le bouton, son haut intérieur fait l'air. */
.bdgrw .bdpluspop{max-height:min(70vh,520px);overflow:auto;margin-top:0!important;top:calc(100% - 1px)}
.bdgrw .bdpluspop::before{display:none}
.bdpluspop>button.on b{color:var(--acc,#3a7c88)}
/* v989 : les trois boutons de la pellicule ne collent plus au bord (capture d'Eric du 01/10) et restent en vue quand la
   pellicule défile */
.bdfilm{padding-left:0}   /* v1160 : la marge de 18 px est portée par les boutons eux-mêmes (un bloc collant ne sort pas de la zone de contenu : une carte passait dans la marge) */
.bdfilm .fstrs{position:sticky;left:0;z-index:2;margin:0 6px 0 0;padding:6px 8px 6px 18px;background:var(--card);box-shadow:8px 0 10px -8px rgba(0,0,0,.12)}
/* v990 : les trois boutons tenaient trop haut pour la pellicule (98 px) et touchaient le haut et le bas (capture d'Eric) :
   plus petits, centrés, avec de l'air autour */
.bdfilm .fstrs{gap:4px;padding:0 8px 0 18px;align-self:stretch;justify-content:center}
.bdfilm .fstrs .fstr.all{width:22px;height:22px}
.bdfilm .fstrs .fstr.all svg{width:12px;height:12px}
/* v1160 : les trois boutons passent au-dessus de l'œil et du « + » des cartes (z-index 3) qui défilent dessous (capture d'Eric du 04/10, téléphone) */
.bdfilm .fstrs{z-index:4}
/* v991 : « SAUTÉE » et « GABARIT » passent à droite, au-dessus du coin de la feuille : à gauche, ils couvraient son nom
   (capture d'Eric du 01/10) */
.bimasq{left:auto;right:10px}

/* v1016 : la visite commentée */
.bdvisl{display:flex;flex-direction:column;gap:4px;max-height:55vh;overflow:auto}
.bdvisr{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:13px}
.bdvisr>b{width:22px;color:var(--ink3);font-weight:600}
.bdvisr .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdvisr .du{font-size:12px;color:var(--ink3);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:5px}
.bdvisr.rec{border-color:#c0392b;background:rgba(192,57,43,.06)}
.bdvisr .pt{width:9px;height:9px;border-radius:50%;background:#c0392b;animation:bdvispt 1s infinite}
@keyframes bdvispt{50%{opacity:.25}}
.bdvisbar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:8px;background:rgba(29,29,31,.92);color:#fff;border-radius:999px;padding:6px 8px 6px 10px;box-shadow:0 6px 24px rgba(0,0,0,.3);font-size:13px;max-width:calc(100vw - 32px)}
.bdvisbar .ico{color:#fff;background:transparent;border:0;font-size:18px;width:32px;height:32px;border-radius:50%;cursor:pointer}
.bdvisbar .ico:hover:not([disabled]){background:rgba(255,255,255,.14)}
.bdvisbar .ico[disabled]{opacity:.35;cursor:default}
.bdvisbar .pp{background:#417b74}
.bdvisbar .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:36vw}
.bdvisbar .tp{opacity:.7;font-variant-numeric:tabular-nums;font-size:12px}
.bdvisbar .btn{background:rgba(255,255,255,.12);color:#fff;border-color:transparent}
.bdvisgo{position:fixed;inset:0;z-index:8999;display:flex;align-items:center;justify-content:center;background:rgba(20,22,22,.55)}
.bdvisgo .bx{background:var(--bg,#fff);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:min(320px,90vw);box-shadow:0 10px 40px rgba(0,0,0,.3)}
.bdvisgo .t{font-size:18px;font-weight:600}
.bdvisgo .s{font-size:13px;color:var(--ink3);margin-bottom:6px}
@media (max-width:600px){.bdvisbar .nm{display:none}}

/* v1017 : sur un téléphone (capture d'Eric du 02/10), la planche d'abord. La barre de la planche tient sur une ligne qui
   défile de côté (elle en prenait trois ou quatre) ; les outils de forme passent en bas, à droite de la pastille des crayons,
   au lieu de couvrir le haut de la planche ; la trousse démarre repliée (trousse.js, bdDockMiniInit). */
@media(max-width:700px){
 .murbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:4px 8px;gap:4px}
 .murbar::-webkit-scrollbar{display:none}
 .murbar>*{flex:none}
 .murbar h1{max-width:42vw;font-size:14px}
 .murbar .spacer{display:none}
 .murbar .sub[title="version déployée"],#bdsave{display:none}
 /* v1181 : les outils de forme en haut de la planche, centrés (Eric, 05/10 : « Let's move the bottom bar to the top, looks weird
    like this » : posés au-dessus de l'onglet Mur | Diapositives, ils flottaient sur la diapositive) ; la barre d'un élément
    choisi passe par-dessus eux ; la trousse repliée reste en bas à gauche, juste au-dessus de l'onglet */
 .bdrow .bdtools{top:8px;bottom:auto;left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 16px);justify-content:center}
 .bdrow .bddock.mini{bottom:46px;left:12px;width:52px;height:52px}
 /* v1179 : l'onglet Mur | Diapositives accroché au haut de la pellicule (en diapositives) ou au bas de la planche (sur le Mur) */
 .bdmobonglet{position:absolute;left:8px;bottom:0;z-index:46;display:flex;gap:2px;padding:3px 4px 0;background:color-mix(in srgb,var(--card) 92%,transparent);backdrop-filter:blur(8px);border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;transition:bottom .22s ease}
 body.prez .bdmobonglet{bottom:91px}
 .bdmobonglet button{width:42px;height:30px;border:0;background:none;border-radius:8px 8px 0 0;color:var(--ink3);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
 .bdmobonglet button.on{background:var(--ink);color:var(--card)}
 body.bdfilmdescend .bdfilm{transform:translateY(100%);transition:transform .22s ease-in}
 body.prez.bdfilmdescend .bdmobonglet{bottom:0}
 body.bdfilmmonte .bdfilm{animation:bdfilmmonte .26s ease-out}
 @keyframes bdfilmmonte{from{transform:translateY(100%)}to{transform:none}}
 body.bdecrit .bdmobonglet,body.pres .bdmobonglet,body.lienpub .bdmobonglet{display:none!important}
 /* v1169 : la trousse dépliée est une barre couchée en bas, au-dessus des outils de forme, comme la trousse du Carnet (Eric,
    04/10 : « so small I can't tell what is what », « the sketch book with the pens going sideways ») : grands boutons, elle
    défile de côté ; repliée, le crayon rond comme avant */
 /* v1175 : la trousse dépliée revient au bord gauche, debout (Eric, 05/10 : « Make the pens bar be on the left » ; courte depuis
    v1174 : pointeur, crayon, surligneur, gomme, pot, réglages gardés, corbeille, défaire, refaire), sous la barre de l'élément et
    au-dessus des outils de forme, mêmes grands boutons ; elle défile de haut en bas si la place manque */
 .bddock:not(.mini){top:66px;bottom:auto;left:8px;right:auto;transform:none;width:auto;height:auto;max-height:none;flex-direction:column;align-items:center;gap:3px;padding:6px 5px;overflow:visible;border-radius:16px}
 /* v1176 : sans le pot de peinture, et sans défilement (Eric, 05/10 : « Remove the fill thing. I don't want it to scroll ») :
    boutons de 40 px, réglages gardés de 34, pour tenir avec cinq réglages gardés au-dessus des outils de forme */
 .bddock .u[data-k="fill"]{display:none}
 .bddock .u{width:40px;height:40px;flex:none}
 .bddock .u.obj{height:42px;padding-bottom:2px}
 .bddock .u svg{width:auto;height:auto}
 .bddock .fav{width:40px;height:34px;flex:none}
 .bddock .add{width:36px;height:32px;flex:none}
 .bddock .ur{height:40px}
 .bddock .sep{width:28px;height:1px;margin:1px 0;flex:none;align-self:center}
 .bddock .fold{width:40px;height:24px;flex:none}
 /* v1174 : sur téléphone, la trousse ne garde que le crayon et le surligneur (Eric, 05/10 : « we could just have pen and
    highlighter, don't need all the others ») ; le stylo et le marqueur restent sur ordinateur, et dans les réglages gardés */
 .bddock .u[data-k="stylo"],.bddock .u[data-k="marqueur"],.bdfly .ru .w[title="Stylo"],.bdfly .ru .w[title="Marqueur"]{display:none}
 /* v1173 : le réglage d'un crayon tient sur une seule barre, la couleur d'abord (capture d'Eric du 05/10 : « there is no screen
    left with all of this stacked. The color first could be 1 bar ») : une rangée qui défile de côté, au-dessus de la trousse */
 .bdfly{left:66px!important;right:8px;width:auto;top:auto!important;bottom:46px;max-height:none;height:58px;display:flex;flex-direction:row;align-items:center;gap:0;padding:0 10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;box-sizing:border-box}
 .bdfly::-webkit-scrollbar{display:none}
 body.prez .bdfly{bottom:134px}
 .bdfly .ph{display:none}
 .bdfly .row{flex:none;flex-wrap:nowrap;gap:7px;padding:0 10px;border-left:1px solid var(--line2);order:1}
 .bdfly .row.rc{order:0;border-left:0;padding-left:0}
 .bdfly .row.rt{order:2}
 .bdfly .w{width:36px;height:36px}
 .bdfly .c,.bdfly .cadd{width:28px;height:28px}
 .bdfly .op{width:84px;margin:0;flex:none;order:3;margin-left:10px}
 .bdfly .keep{margin:0;padding:0 0 0 10px;border-top:0;border-left:1px solid var(--line2);flex:none;order:4;margin-left:10px}
 .bdfly .keep .btn{white-space:nowrap;width:auto!important;padding:7px 12px}
 .bdfly .keep.txt{display:none}
 .bdhint{bottom:72px}
 .bdmore{max-height:70vh;overflow-y:auto}
}

/* v1018 : la visite commentée en vidéo, l'avancement */
.bdvidp{margin-top:12px}.bdvidp .bar{height:6px;border-radius:99px;background:var(--line2,#eee);overflow:hidden}
.bdvidp .bar i{display:block;height:100%;width:0;background:var(--acc,#417b74);transition:width .2s}
.bdvidp .tx{font-size:12px;color:var(--ink3);margin-top:6px;font-variant-numeric:tabular-nums}

/* v1019 : chercher dans toutes les planches, sous les planches trouvées par leur nom */
.accprof{margin-top:22px}.accprof h3{font-size:13px;font-weight:600;margin:0 0 10px;display:flex;gap:10px;align-items:baseline}
.accprof h3 span{font-weight:400;color:var(--ink3);font-size:12px}
.accprof .vi{font-size:12.5px;color:var(--ink3)}
.accpb{border:1px solid var(--line);border-radius:12px;background:var(--card);margin-bottom:10px;overflow:hidden}
.accpb .hd{display:flex;gap:10px;align-items:baseline;padding:9px 12px;cursor:pointer;border-bottom:1px solid var(--line2)}
.accpb .hd b{font-size:13.5px}.accpb .hd span{font-size:12px;color:var(--ink3)}
.accpb .ln{display:flex;gap:10px;width:100%;text-align:left;border:0;background:none;padding:7px 12px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;align-items:baseline}
.accpb .ln:hover{background:var(--hov,#EDE7DE)}
.accpb .ln i{font-style:normal;font-size:11px;color:var(--ink3);min-width:96px;flex:none}
.accpb .ln span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accpb .ln mark{background:rgba(65,123,116,.22);color:inherit;border-radius:3px;padding:0 1px}
.accpb .pl{font-size:11.5px;color:var(--ink3);padding:4px 12px 8px}

/* v1479 : la recherche d'images par le sens, sur l'accueil et dans la fenêtre des images proches */
.accsens .vi.ko,.accsens .ko,.modal .vi.ko{color:#b3412f}
.sensgrille{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0 0 12px}
.sensc{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 0 8px;text-align:left;cursor:pointer;font:inherit;color:var(--ink);overflow:hidden;display:flex;flex-direction:column;gap:3px;min-width:0}
.sensc:hover{border-color:var(--accent,#417b74);box-shadow:0 2px 10px rgba(0,0,0,.08)}
.sensc.pale{opacity:.62}.sensc.pale:hover{opacity:1}
.sensc .im{display:block;aspect-ratio:4/3;background:#eee center/cover no-repeat;border-bottom:1px solid var(--line2)}
.sensc b{font-size:12.5px;font-weight:600;padding:4px 9px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sensc i{font-style:normal;font-size:11px;color:var(--ink3);padding:0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sensetat{margin-top:6px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.sensetat .lien{border:0;background:none;padding:0;font:inherit;font-size:12.5px;color:var(--accent,#417b74);text-decoration:underline;cursor:pointer}
.modal .sensgrille{max-height:62vh;overflow:auto;padding:2px}

.matsec .matsens{margin-top:10px;border-top:1px dashed var(--line);padding-top:6px}
.matsec .matsens .mvide.ko{color:#b3412f}
/* v1021 : les étiquettes proposées par l'assistant */
.bdtagl{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}
.bdtagr{display:grid;grid-template-columns:20px 56px repeat(3,minmax(0,1fr)) minmax(0,1.6fr);gap:6px;align-items:center;padding:5px 6px;border:1px solid var(--line);border-radius:10px}
.bdtagr.off{opacity:.45}
.bdtagr .im{width:56px;height:42px;border-radius:6px;background:#eee center/cover no-repeat}
.bdtagr input:not([type=checkbox]){min-width:0;font:inherit;font-size:12.5px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--card);color:var(--ink)}
.bdtagr .et{grid-column:3/-1;font-size:12px;color:var(--ink3)}.bdtagr .et.ko{color:#b4442c}
@media(max-width:700px){.bdtagr{grid-template-columns:20px 48px minmax(0,1fr) minmax(0,1fr)}.bdtagr .im{width:48px;height:36px}}

/* v1023 : Pinup au doigt, sur un téléphone. Les menus (clic droit ou appui long) s'ouvrent en bas, en grand ; la barre d'un
   élément choisi se pose en haut de la planche, sur toute la largeur, au lieu de couvrir l'élément ; la pellicule est basse
   et les outils passent au-dessus d'elle ; le volet de droite prend presque toute la largeur. */
@media(max-width:700px){
 .bdmenu{position:fixed!important;left:8px!important;right:8px;top:auto!important;bottom:calc(8px + env(safe-area-inset-bottom));max-width:none;min-width:0;max-height:62vh;overflow-y:auto;border-radius:16px;z-index:9500;box-shadow:0 -8px 40px rgba(0,0,0,.25)}
 .bdmenu button{padding:11px 12px;font-size:15px;min-height:44px}
 .bdmenu .tit{font-size:12px}
 /* v1173 : la barre d'un élément sur une seule rangée qui défile de côté (elle en prenait deux) ; ses listes ▾ se posent dans
    la page, sous leur bouton, pour ne pas être coupées par le défilement (capture d'Eric du 05/10) */
 .bdselbar{left:6px!important;right:6px!important;top:6px!important;max-width:none;justify-content:flex-start;gap:4px;padding:5px 6px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .bdselbar::-webkit-scrollbar{display:none}
 .bdselbar>*{flex:none}
 .bdselbar .ico,.bdselbar .btn{min-width:34px;min-height:34px}
 .bdselbar .bdgrw.ouvert .bdgrpop{position:fixed;left:8px!important;right:8px!important;width:auto!important;min-width:0;top:var(--bdpoptop,120px);margin-top:0;max-height:55vh;overflow-y:auto;z-index:3000}
 .bdselbar .bdgrw .bdgrpop::before{display:none}
 .bdfilm{left:0;right:0;height:92px;padding:6px 8px 6px 0;border-radius:12px 12px 0 0;gap:6px}   /* v1166 : 92 px, cartes de 76 px (Eric, 04/10 : « a bit too small on phone » ; 66 et 52 avant) */
 .bdfilm .fs{height:76px}
 body.prez .bdrow .bddock.mini{bottom:134px}   /* v1181 : au-dessus de l'onglet posé sur la pellicule */
 .bdrow .bdtk:not(.off){position:absolute;right:0;top:0;bottom:0;width:calc(100% - 22px)!important;z-index:60;box-shadow:-10px 0 30px rgba(0,0,0,.18)}
 .bdrow .bdtk:not(.off) ~ .tkfold{right:calc(100% - 22px)}
 .murmain,#bdwrap,.bdfilm{-webkit-touch-callout:none}
 body.bdecrit .bdrow .bdtools,body.bdecrit .bddock,body.bdecrit .bdfilm{display:none!important}
 .bddock #bdmobsuppr.off{opacity:.35}   /* v1167 : la corbeille de la trousse, pâle sans rien de choisi */   /* v1166 : pendant qu'on écrit, rien sous le clavier ne couvre le texte */
 .bdfilm .fstrs{display:flex;flex-direction:row;gap:4px;padding:4px 6px 4px 8px}
 .bdfilm .fstrs .fstr{width:28px;height:28px}
 .bdhint,body.pres .bdhint,.bddock.mini~.bdhint{bottom:auto!important;top:64px;left:8px!important;right:8px;height:auto}   /* v1181 : sous les outils de forme */
 body.pres .bdhint{top:8px}
}
/* v1024 : la visite par un lien sans compte (page du client) et la fenêtre des liens (agence) */
body.lienpub header .spacer~*,body.lienpub .murside,body.lienpub .bdtools,body.lienpub .bddock,body.lienpub .bdrail,body.lienpub #bdlib,body.lienpub .bdfilm{display:none!important}
body.lienpub header .wordmark{pointer-events:none}
body.lienpub .bdvisgo .btn:not(.pri){display:none}
.lvko{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg2,#f4f3f0);padding:16px}
.lvko .bx{background:var(--bg,#fff);border-radius:14px;padding:24px;max-width:420px;box-shadow:0 10px 40px rgba(0,0,0,.12)}
.lvko p{margin:12px 0 0;font-size:14px}.lvko .s{color:var(--ink3);font-size:12.5px;margin-top:6px}
.lvnew{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 10px}.lvnew input{flex:1;min-width:180px}.lvnew select{width:auto}
.lvtot{font-size:12px;color:var(--ink3);margin:0 0 6px}
.lvls{display:flex;flex-direction:column;gap:6px;max-height:56vh;overflow:auto}
.lvl{border:1px solid var(--line,#e3e1dc);border-radius:10px;padding:8px 10px}
.lvl .hd{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px}
.lvst{font-size:11px;border-radius:999px;padding:1px 8px}.lvst.ok{background:#e1efe9;color:#2f6b55}.lvst.ko{background:#f3e3e3;color:#9c3f3f}
.lvexp,.lvn{font-size:12px;color:var(--ink3)}
.lvvs{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.lvv{background:var(--bg2,#f6f5f2);border-radius:8px;padding:6px 8px}
.lvv .hd{gap:10px;font-size:12.5px}.lvv .hd span{color:var(--ink2,#555)}
.lvbars{display:flex;align-items:flex-end;gap:2px;height:30px;margin-top:6px}
.lvbars i{flex:1;max-width:22px;background:#417b74;border-radius:2px 2px 0 0}.lvbars i.vide{background:var(--line,#ddd)}
@media (max-width:700px){.lvl .hd .btn{flex:1}}
.lvko form.bx{display:flex;flex-direction:column;gap:8px;width:min(400px,100%)}
.lvko .lvt{font-size:20px;font-weight:600;margin-top:6px}
.lvko label{font-size:12.5px;color:var(--ink3);margin-top:8px}
.lvko .lvmsg{font-size:12.5px;color:#9c3f3f;min-height:1em}
.lvko .lvcodein{font-size:24px;letter-spacing:6px;text-align:center}
.lvko .lvlnk{display:flex;justify-content:space-between;font-size:12.5px}
/* v1026 : sur un téléphone, la bibliothèque couvre presque tout l'écran et sa languette se perdait au bord : un ✕ dans son
   en-tête la referme (capture d'Eric du 02/10, « impossible de fermer le volet ») ; la languette n'y sert plus qu'une fois fermée */
.bdtk .hd .tkclose{display:none}
@media(max-width:700px){
 .bdtk .hd .tkclose{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;margin-left:auto;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);font-size:17px;cursor:pointer;padding:0}
 .bdrow .bdtk:not(.off) ~ .tkfold{display:none}
 .bdrow .bdtk.off ~ .tkfold{right:0!important;width:26px;height:64px;z-index:61;top:50%;transform:translateY(-50%)}   /* v1181 : au milieu du bord droit (Eric, 05/10 : « Move the tab for opening the right bar to the middle ») ; en haut, les outils de forme la touchaient */
}
/* v1027 : sur un téléphone, 100vh compte aussi la place de la barre du navigateur : le bas de Pinup (pellicule, outils,
   pastille) passait dessous (capture d'Eric du 02/10, « je ne vois pas les barres »). La hauteur visible (dvh) quand le
   navigateur la connaît ; sur ordinateur, dvh = vh, rien ne change. */
@supports (height:100dvh){
 main{height:calc(100dvh - var(--hdrh,60px))}
 body.pres .bdwrap{height:100dvh}
 body.pres .bddock:not(.mini){max-height:calc(100dvh - 36px)}
 .bdtel{min-height:100dvh}
 #appmenu{max-height:calc(100dvh - 64px)}
}
@supports (height:100dvh){@media(max-width:820px){main{height:calc(100dvh - var(--hdrh,56px))}}}
/* v1028 : le nom d'une feuille ne déborde plus sur ses voisines (presence.js, bdLabCourt) */
#bdstage .bi[data-kind="sheet"] .bislab{max-width:100%;overflow:hidden}
.bislab .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bislab i{flex:none}
#bdstage .bi[data-kind="sheet"].labcourt:not(.sel):not(:hover) .bislab{visibility:hidden}
/* v1030 : le cadenas d'un élément petit à l'écran se cache (presence.js, bdLabCourt) ; il revient au survol et sur l'élément choisi */
#bdstage .bi.lock.lockpetit:not(.sel):not(:hover) .bilock{display:none}

/* v1048 : une image en fond de sa feuille ne se prend pas au clic : le clic va à la feuille ou à ce qu'elle porte */
.bi.fond{pointer-events:none}
/* v1048 : la fenêtre « Créer le PDF » */
.pdfbox .pdfcs-l{display:grid;gap:8px}
.pdfbox .pdfc{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 14px;cursor:pointer;background:var(--card);transition:border-color .12s,background .12s}
.pdfbox .pdfc input{grid-row:span 2;margin:0;accent-color:var(--acc,#417b74)}
.pdfbox .pdfc.on{border-color:var(--acc,#417b74);background:color-mix(in srgb,var(--acc,#417b74) 7%,var(--card))}
.pdfbox .pdfc.off{opacity:.5;cursor:default}
.pdfbox .pdfct{display:flex;align-items:baseline;gap:8px}.pdfbox .pdfct b{font-size:13.5px}.pdfbox .pdfct i{font-style:normal;font-size:11.5px;color:var(--ink3);margin-left:auto}
.pdfbox .pdfcs{font-size:12px;color:var(--ink3)}
.pdfbox .pdfvig{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px;max-height:200px;overflow:auto;padding:2px}
.pdfbox .pdfv{width:84px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:var(--ink3)}
.pdfbox .pdfvi{width:84px;max-height:64px;background:var(--hov,#EDE7DE);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 2px rgba(0,0,0,.12);font-size:12px;color:var(--ink2)}
.pdfbox .pdfvi img{width:100%;height:100%;object-fit:cover;display:block}
.pdfbox .pdfv.masq .pdfvi{opacity:.55;outline:1px dashed var(--ink3)}
.pdfbox .pdfvig.pick .pdfv{cursor:pointer}.pdfbox .pdfvig.pick .pdfvi{opacity:.45}.pdfbox .pdfvig.pick .pdfv.on .pdfvi{opacity:1;outline:2px solid var(--acc,#417b74);outline-offset:1px}.pdfbox .pdfvig.pick .pdfv.on span{color:var(--acc,#417b74);font-weight:600}
.pdfbox .pdffins{display:flex;align-items:center;gap:8px;font-size:12.5px;margin:10px 0 0;cursor:pointer;text-transform:none;letter-spacing:0;color:var(--ink)}
/* v1227 : la règle générale des fenêtres (.modal input pleine largeur, label en capitales) étirait la case (capture d'Eric du 05/10) */
.pdfbox .pdffins input{width:auto;flex:none;margin:0;height:auto;padding:0}.pdfbox .pdffins i{font-style:normal;color:var(--ink3)}
/* v1048 : le choix des couleurs */
.bdpick{position:fixed;z-index:100050;width:264px;background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);padding:12px;font-size:12px;display:flex;flex-direction:column;gap:10px}
.bdpick .pk-hd{display:flex;align-items:center;gap:6px}.bdpick .pk-hd b{font-size:12.5px}
.bdpick .pk-ico,.bdpick .pk-none{border:1px solid var(--line);background:var(--card);border-radius:8px;height:26px;padding:0 8px;cursor:pointer;font:inherit;color:var(--ink);display:inline-flex;align-items:center}
.bdpick .pk-none.on{border-color:#c0392b;color:#c0392b}
.bdpick .pk-sv{position:relative;height:150px;border-radius:8px;cursor:crosshair;touch-action:none;overflow:hidden}
.bdpick .pk-sv i{position:absolute;inset:0;pointer-events:none}.bdpick .pk-w{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.bdpick .pk-k{background:linear-gradient(0deg,#000,rgba(0,0,0,0))}
.bdpick .pk-knob{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px rgba(0,0,0,.35),0 1px 3px rgba(0,0,0,.3);pointer-events:none}
.bdpick .pk-sl{display:flex;gap:10px;align-items:center}.bdpick .pk-sl>div{flex:1;display:flex;flex-direction:column;gap:8px}
.bdpick .pk-pv{width:32px;height:32px;border-radius:8px;flex:none;background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 0 0/10px 10px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.bdpick .pk-pv i{display:block;width:100%;height:100%}.bdpick .pk-pv i.vide{background-image:linear-gradient(135deg,transparent 46%,#c0392b 46%,#c0392b 54%,transparent 54%)!important;background-color:#fff!important;opacity:1!important}
.bdpick input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:10px;border-radius:5px;margin:0;cursor:pointer}
.bdpick input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}
.bdpick input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.3)}
.bdpick .pk-h{background:linear-gradient(90deg,#f00,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00)}
.bdpick .pk-a{background:linear-gradient(90deg,transparent,var(--pkc,#000)),repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 0 0/8px 8px}
.bdpick .pk-in{display:grid;grid-template-columns:1.9fr 1fr 1fr 1fr 1fr;gap:4px}
.bdpick .pk-in label{display:flex;flex-direction:column;gap:2px;font-size:9.5px;color:var(--ink3);text-align:center}
.bdpick .pk-in input{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:4px 3px;font:inherit;font-size:11.5px;text-align:center;color:var(--ink);background:var(--card);-moz-appearance:textfield}
.bdpick .pk-in input::-webkit-inner-spin-button{-webkit-appearance:none}
.bdpick .pk-hexl span{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;padding-left:5px;color:var(--ink3);font-size:11.5px}.bdpick .pk-hexl span input{border:0;padding-left:1px;text-align:left;text-transform:uppercase}
.bdpick .pk-pan{display:flex;flex-direction:column;gap:5px}
.bdpick .pk-pq{border:1px solid var(--line);border-radius:8px;padding:5px 8px;font:inherit;color:var(--ink);background:var(--card)}
.bdpick .pk-panl{display:flex;flex-wrap:wrap;gap:4px}.bdpick .pk-panl:empty{display:none}
.bdpick .pk-panl button,.bdpick .pk-pan1{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:var(--card);border-radius:6px;padding:2px 6px 2px 2px;font:inherit;font-size:11px;cursor:pointer;color:var(--ink)}
.bdpick .pk-panl i,.bdpick .pk-pan1 i{width:16px;height:16px;border-radius:4px;display:inline-block;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.bdpick .pk-pp{font-size:11px;color:var(--ink3);display:flex;align-items:center;gap:4px;flex-wrap:wrap}.bdpick .pk-rien{font-size:11px;color:var(--ink3)}
.bdpick .pk-grp>span{display:block;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.bdpick .pk-grp>div{display:flex;flex-wrap:wrap;gap:5px}
.bdpick .pk-sw{width:20px;height:20px;border-radius:5px;border:0;box-shadow:inset 0 0 0 1px rgba(0,0,0,.14);cursor:pointer;padding:0}
.bdpick .pk-ft{display:flex;justify-content:flex-end;gap:6px}
/* v1048 : le « + » d'une autre couleur se voit : un anneau aux couleurs de l'arc-en-ciel (Eric, 02/10 : « rien ne montre qu'on
   peut choisir une autre couleur ») */
.bdselbar .sws .bdc.add,.bdadd,.cadd,.sw.add{background:conic-gradient(#f44336,#ffb300,#43a047,#00acc1,#3949ab,#8e24aa,#f44336)!important;border:0!important;position:relative}
.bdselbar .sws .bdc.add::after,.bdadd::after,.cadd::after,.sw.add::after{content:"+";position:absolute;inset:3px;border-radius:inherit;background:var(--card,#fff);color:var(--ink,#1d1d1f);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;line-height:1;pointer-events:none}
/* v1049 : la fenêtre « Espacement » d'un texte */
.bdesp{position:fixed;z-index:100050;width:290px;background:var(--card,#fff);color:var(--ink);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);padding:12px 14px;font-size:12px;display:flex;flex-direction:column;gap:12px}
.bdesp .esp-hd{display:flex;align-items:center}.bdesp .esp-hd b{font-size:12.5px}
.bdesp .esp-l label{display:block;font-size:11.5px;color:var(--ink2,#555);margin-bottom:5px}
.bdesp .esp-l>div{display:flex;align-items:center;gap:8px}
.bdesp input[type=range]{flex:1;accent-color:var(--acc,#417b74)}
.bdesp input[type=number]{width:58px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;padding:4px 5px;font:inherit;text-align:right;color:var(--ink);background:var(--card)}
.bdesp .esp-l span{width:12px;color:var(--ink3)}.bdesp .esp-n{font-size:11px;color:var(--ink3)}
/* v1050 : un texte simple serre ses lignes, le cadre suit mieux les lettres ; un interligne réglé (Espacement) l'emporte */
.bitext:not(.boxed) .bitxt{line-height:1.15}
/* v1053 : l'aide « double-clic pour écrire » ne sort plus dans un rectangle ou une ellipse (capture d'Eric : en travers d'un
   bandeau) ; ailleurs, en anglais quand Pinup l'est */
.bi[data-kind="rect"] .bitxt:empty:before,.bi[data-kind="ellipse"] .bitxt:empty:before{content:""!important}
html[lang="en"] .bi:hover .bitxt:empty:before,html[lang="en"] .bi.sel .bitxt:empty:before{content:"double-click to type"}
html[lang="en"] .bi[data-kind="text"] .bitxt:empty:before,html[lang="en"] .bi[data-kind="rect"] .bitxt:empty:before,html[lang="en"] .bi[data-kind="ellipse"] .bitxt:empty:before{content:""!important}

/* v1062 : texte modifiable d'un gabarit : un pointillé discret sur le gabarit */
#bdstage .bi.tpledit .bitxt{outline:1px dashed rgba(65,123,116,.55);outline-offset:2px}

/* v1065 : la croix d'une carte de modèle */
.tplc{position:relative}.tplx{position:absolute;top:3px;right:3px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:13px;line-height:20px;padding:0;cursor:pointer;opacity:0;transition:opacity .12s}.tplc:hover .tplx,.tplx:focus{opacity:1}@media (hover:none){.tplx{opacity:.8}}

/* v1066 : une vraie case à cocher dans le menu, et les familles du menu d'un élément */
.bdmenu .mck{display:inline-block;width:14px;height:14px;border:1.5px solid var(--ink3);border-radius:3px;margin-right:8px;vertical-align:-2px;position:relative;box-sizing:border-box}
.bdmenu .mck.on{background:var(--acc,#417b74);border-color:var(--acc,#417b74)}
.bdmenu .mck.on::after{content:'';position:absolute;left:3.5px;top:0.5px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* v1068 : les gabarits ne se voient que pendant qu'on les modifie */
#bdstage:not(.gtedit) > .bi.gabzone{display:none!important}
.bdfilm .fs.masque{display:none}
#bdstage.gtedit > .bi:not(.gtcible){opacity:.18;pointer-events:none}
#bdstage.gtedit > .bi.gabzone:not(.gtcible){display:none!important}
.bdgted{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--card);border:1px solid var(--acc,#417b74);border-radius:12px;padding:8px 10px 8px 14px;box-shadow:0 8px 28px rgba(0,0,0,.14);font-size:13px;max-width:calc(100vw - 24px)}
.bdgted .t span{color:var(--ink3);margin-left:6px}
.tple{position:absolute;top:3px;right:26px;width:20px;height:20px;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:11px;line-height:20px;padding:0;cursor:pointer;opacity:.6;transition:opacity .12s}.tplc:hover .tple,.tple:focus{opacity:1}@media (hover:none){.tple{opacity:.8}}
.tplc:not(:has(.tplx)) .tple{right:3px}

/* v1068 : la réglette de transparence centrée dans la barre ; le repère du carnet en bouton */
.bdep{align-self:center;height:28px;line-height:1}.bdep svg{display:block}.bdep input{margin:0;height:16px;vertical-align:middle}.bdep b{line-height:1}
.bdtagb{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:none;color:var(--ink2);font-size:11.5px;font-weight:600;cursor:pointer;align-self:center}
.bdtagb.on{border-color:var(--acc,#417b74);color:var(--acc,#417b74)}
.bdtagb .mck{display:inline-block;width:13px;height:13px;border:1.5px solid var(--ink3);border-radius:3px;position:relative;box-sizing:border-box}
.bdtagb .mck.on{background:var(--acc,#417b74);border-color:var(--acc,#417b74)}
.bdtagb .mck.on::after{content:'';position:absolute;left:3px;top:0;width:4px;height:7px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* v1075 : couleurs d'un repère numéroté */
.bdmkc{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:var(--ink2);font-size:12px;cursor:pointer}.bdmkc i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:inline-block}
.bdselbar .bdep{margin:0;padding-top:0;padding-bottom:0;align-self:center}

/* v1077 : vérifier l'orthographe de la planche, une faute à la fois */
.bdortho{position:fixed;right:16px;top:120px;width:340px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.18);z-index:9500;font-size:13px}
.bdortho .oh{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}.bdortho .oh .on{color:var(--ink3);font-size:12px;font-variant-numeric:tabular-nums}
.bdortho .ob{padding:10px 12px 12px}.bdortho .oq{font-size:11px;color:var(--ink3);margin-bottom:6px}
.bdortho .oc{line-height:1.5;background:var(--bg2,#f6f6f4);border-radius:8px;padding:8px 10px;word-break:break-word}
.bdortho del{color:#b3261e;text-decoration:line-through;background:rgba(179,38,30,.08);border-radius:3px;padding:0 2px}
.bdortho ins{color:#2e7d32;text-decoration:none;background:rgba(46,125,50,.1);border-radius:3px;padding:0 2px;margin-left:3px}
.bdortho .op{font-size:12px;color:var(--ink2);margin-top:6px}.bdortho .oact{display:flex;gap:6px;margin-top:10px;align-items:center}.bdortho .ofin{margin:4px 0 0}
@media (max-width:700px){.bdortho{left:8px;right:8px;top:auto;bottom:80px;width:auto}}
/* v1077 : les cases de la fenêtre du Drive étaient seules sur leur ligne (règles générales des fenêtres : label en bloc et en capitales, champ pleine largeur) */
.modal .drvmaj-l,.modal .drvmaj-v{display:flex;flex-direction:row;align-items:center;text-transform:none;letter-spacing:normal;color:var(--ink);font-size:13px}
.modal .drvmaj-l{margin:0}.modal .drvmaj-v{margin:14px 0 0;font-size:12.5px;color:var(--ink2)}
.modal .drvmaj-l>input,.modal .drvmaj-v>input{width:auto;flex:none;margin:0;min-width:0}
.modal .drvmaj-l .tmeta{text-transform:none;letter-spacing:normal}

/* v1078 : corriger et traduire un texte de la planche */
.bdselbar .bdtxcpop{min-width:150px}.bdselbar .bdtxcpop button{display:block;width:100%;text-align:left;padding:6px 10px;border:0;background:none;cursor:pointer;font:inherit;font-size:12.5px;border-radius:6px}.bdselbar .bdtxcpop button:hover{background:var(--bg2,#f2f2ef)}
.modal.bdtxcm .txl{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line2,#eee)}
.modal.bdtxcm .txk{display:block;margin:2px 0 0;text-transform:none}.modal.bdtxcm .txk input{width:auto;margin:0}
.modal.bdtxcm .txa{flex:1;min-width:0;font-size:13px;line-height:1.45}.modal.bdtxcm .av{color:var(--ink3);text-decoration:line-through;text-decoration-color:rgba(179,38,30,.5);margin-bottom:4px;white-space:pre-wrap}.modal.bdtxcm .ap{color:var(--ink);white-space:pre-wrap}
.bdgrw:hover .bdgrpop.bdtxcpop,.bdgrw.ouvert .bdgrpop.bdtxcpop{display:block;padding:4px}

/* v1079 : barre plus courte : un bouton de couleur, la transparence et « ⋯ » en menus */
.bdselbar .bdcol{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--card);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
.bdselbar .bdcol i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:block}
.bdselbar .bdgrw.bdopw .bdgrpop.bdoppop,.bdselbar .bdgrw.bdplusw .bdgrpop.bdpluspop{grid-template-columns:none}
.bdselbar .bdopw:hover .bdoppop,.bdselbar .bdopw.ouvert .bdoppop{display:flex;align-items:center;padding:8px 10px}
.bdselbar .bdoppop .bdep{height:auto}.bdselbar .bdoppop .bdep input{width:120px}
/* v1193 : tirets et points, l'espacement et la longueur, sous les boutons au survol */
.bdselbar .bdtiretw{display:inline-flex;align-items:center}
.bdselbar .bdtiretw:hover .bdtiretpop,.bdselbar .bdtiretw.ouvert .bdtiretpop{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:auto;padding:8px 10px}
.bdselbar .bdtiretpop .bdep{height:auto}.bdselbar .bdtiretpop .bdep input{width:120px}.bdselbar .bdtiretpop .bdep b{white-space:nowrap;min-width:42px}
.bdselbar .bdplusw .bdpluspop{right:0;left:auto;min-width:210px}
.bdselbar .bdplusw:hover .bdpluspop,.bdselbar .bdplusw.ouvert .bdpluspop{display:flex;flex-direction:column;padding:4px;gap:0}
.bdselbar .bdpluspop .bbl{display:flex;align-items:center;gap:8px;width:100%;justify-content:flex-start;padding:6px 8px;border:0;background:none;border-radius:6px;font:inherit;font-size:12.5px;color:var(--ink);cursor:pointer;height:auto;min-width:0}
.bdselbar .bdpluspop .bbl:hover{background:var(--bg2,#f2f2ef)}.bdselbar .bdpluspop .bbl svg{flex:none}
.bdselbar .bdpluspop .bbsep{height:1px;background:var(--line);margin:4px 2px}

/* v1082 : plusieurs vignettes du volet choisies */
figure.mt.sel{outline:2.5px solid var(--acc,#3a7c88);outline-offset:1px;border-radius:8px}
figure.mt.sel::after{content:"✓";position:absolute;right:4px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--acc,#3a7c88);color:#fff;font-size:10px;line-height:16px;text-align:center}
figure.mt{position:relative}
.matglisse .mbooks .mchip:not(.on){border-style:dashed;border-color:var(--acc,#3a7c88);opacity:1}
.mbooks .mchip.over{outline:2px dashed var(--acc,#3a7c88);outline-offset:1px;background:color-mix(in srgb,var(--acc,#3a7c88) 12%,var(--card))}
.matselnb{position:fixed;right:16px;bottom:16px;z-index:9400;background:var(--ink);color:var(--card);border-radius:18px;padding:7px 8px 7px 14px;font-size:12.5px;display:flex;align-items:center;gap:8px;box-shadow:0 8px 24px rgba(0,0,0,.2)}
.matselnb button{border:0;background:rgba(255,255,255,.16);color:inherit;border-radius:50%;width:22px;height:22px;cursor:pointer}

/* v1085 : qualité du PDF */
.pdfq{display:flex;align-items:center;gap:6px;margin:10px 0 2px;font-size:12px;flex-wrap:wrap}.pdfq>span{color:var(--ink3);margin-right:4px}
.pdfq button{border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:999px;padding:4px 11px;font:inherit;font-size:12px;cursor:pointer}.pdfq button.on{background:var(--ink);color:var(--card);border-color:var(--ink)}

/* tuiles venues de Revit (revit.js) */
.birevit{position:absolute;right:6px;top:6px;font:600 10px/1 system-ui,sans-serif;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.92);color:#3b5f8a;box-shadow:0 1px 3px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .12s}
#bdstage .bi:hover .birevit,#bdstage .bi.sel .birevit{opacity:1}
#bdstage .birevit.neuve{opacity:1;background:#3b5f8a;color:#fff}
#bdstage .birevit.annot{opacity:1;background:#c9764f;color:#fff}
#bdstage .birevit.regle{opacity:1;background:#417b74;color:#fff}
#bdstage .birevit{font-size:calc(10px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));padding:calc(3px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1)) calc(6px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));right:calc(6px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));top:calc(6px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));border-radius:calc(6px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1))}
body.pres #bdstage .birevit{display:none}
.brvv{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;max-height:60vh;overflow:auto}
.brvc{border:1px solid var(--line,#e3e1dc);border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px}
.brvc.cur{border-color:#3b5f8a}
/* v1133 : ce qui a changé entre deux versions d'une vue de Revit */
.modal.brvd{max-width:980px;width:calc(100vw - 32px)}
.brvdi{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 10px}
.brvdi figure{margin:0;min-width:0}
.brvdim{position:relative;border:1px solid var(--line,#e3e1dc);border-radius:8px;overflow:hidden;background:#fff;min-height:120px}
.brvdim img{display:block;width:100%;height:auto}
.brvdz{position:absolute;border:2px solid #d9480f;border-radius:3px;box-shadow:0 0 0 1px rgba(255,255,255,.7)}
.brvdz span{position:absolute;left:-2px;top:-18px;background:#d9480f;color:#fff;font:600 11px/16px system-ui,sans-serif;padding:0 5px;border-radius:3px}
.brvdi figcaption{font-size:12px;color:var(--ink3);margin-top:4px}
.brvdl{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:8px;font-size:12.5px}
.brvdl label{margin:0;display:flex;align-items:center;gap:6px}
.brvdn{color:var(--ink3)}
.modal.brvd textarea{width:100%;box-sizing:border-box;font:13.5px/1.45 system-ui,sans-serif}
.brvdw{color:var(--ink3);font-size:13px;padding:18px 0}
.brvde{color:#b42318;font-size:13px}
@media (max-width:700px){.brvdi{grid-template-columns:1fr}}
.brvi{aspect-ratio:4/3;background:#f6f5f2;border-radius:6px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.brvi img{max-width:100%;max-height:100%;object-fit:contain}
.brvt{display:flex;justify-content:space-between;font-size:12px;gap:6px}.brvt span{color:var(--ink3,#777)}
/* v1116 : « Ajouter des vues de Revit… » */
.brva .brvabar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:8px}
.brva .brvabar select,.brva .brvabar input{margin:0;width:auto;flex:0 1 auto;min-width:0}
.brva .brvabar input{flex:1 1 200px}
.brva .brvam{font-size:13px}
.brva .brvas{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}
.brva .brvas button{border:1px solid var(--line,#e3e1dc);background:transparent;border-radius:14px;padding:3px 10px;font-size:12px;cursor:pointer;color:inherit}
.brva .brvas button.on{background:#3b5f8a;border-color:#3b5f8a;color:#fff}
.brva .brvas i{font-style:normal;opacity:.65;margin-left:2px}
.brva .brval{max-height:52vh;overflow:auto;border:1px solid var(--line,#e3e1dc);border-radius:8px}
.brva label.brvav{display:flex;align-items:center;gap:8px;margin:0;padding:6px 10px;border-bottom:1px solid var(--line,#efede8);font-size:13px;cursor:pointer;font-weight:400;text-transform:none;letter-spacing:0}
.brva label.brvav.on{background:rgba(59,95,138,.08)}
.brva label.brvav input{width:auto;margin:0;flex:none}
.brva .brvan{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.brva .brvat{flex:none;font-size:10.5px;font-weight:600;padding:2px 6px;border-radius:5px;background:#eceae5;color:#555;min-width:58px;text-align:center}
.brva .brvat.t-feuille{background:#e3ebf4;color:#3b5f8a}.brva .brvat.t-plan{background:#e6f0e6;color:#3d6b3d}
.brva .brvat.t-plafond{background:#efe9f4;color:#6a4f86}.brva .brvat.t-coupe{background:#f6ebdf;color:#8a5a26}
.brva .brvat.t-elevation{background:#f4e6e6;color:#8a3b3b}.brva .brvat.t-3d{background:#e2f1f1;color:#2f6f6f}
.brva .brvat.t-detail{background:#f3f0dc;color:#6f6420}
.brva .brvawarn{font-size:12px;color:#8a5a26;margin:6px 0}
.brva .mact .btn:disabled{opacity:.45;cursor:default}

/* v1127 : le menu d'un élément court ; chaque famille s'ouvre sur le côté (survol ou clic), la rangée d'icônes en bas */
.bdmenu .bdsub{position:relative}
.bdmenu .bdsubt .ar{margin-left:auto;color:var(--ink3);font-size:15px;line-height:1}
.bdmenu .bdsub:hover>.bdsubt,.bdmenu .bdsub.ouvert>.bdsubt{background:var(--hov,#EDE7DE)}
.bdmenu .bdsubm{display:none;position:absolute;left:100%;top:-6px;margin-left:2px;min-width:220px;max-width:300px;background:var(--card);
 border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 44px rgba(0,0,0,.20);padding:5px;z-index:2}
.bdmenu .bdsubm::before{content:"";position:absolute;top:0;bottom:0;left:-8px;width:8px}
.bdmenu .bdsub.gauche>.bdsubm{left:auto;right:100%;margin:0 2px 0 0}
.bdmenu .bdsub.gauche>.bdsubm::before{left:auto;right:-8px}
@media(hover:hover){.bdmenu .bdsub:hover>.bdsubm{display:block}}
.bdmenu .bdsub.ouvert>.bdsubm{display:block}
.bdmenu .bdarr{display:flex;justify-content:space-between;gap:2px;padding:2px 4px}
.bdmenu .bdarr button{width:36px;height:34px;padding:0;justify-content:center;color:var(--ink2,var(--ink))}
.bdmenu .bdarr button.on{color:var(--acc,#417b74)}
.bdmenu .bdarr button.dgr{color:#9c3f3f}
@media(max-width:700px){
 .bdmenu.sous>*:not(.bdsub.ouvert){display:none}
 .bdmenu.sous .bdsub.ouvert>.bdsubm{position:static;display:block;border:0;box-shadow:none;padding:0;margin:0;min-width:0;max-width:none}
 .bdmenu.sous .bdsub.ouvert>.bdsubt{font-weight:600}
 .bdmenu.sous .bdsub.ouvert>.bdsubt::before{content:"‹";font-size:20px;line-height:1;margin-right:2px}
 .bdmenu.sous .bdsub.ouvert>.bdsubt .ar{display:none}
 .bdmenu .bdarr button{width:48px;height:44px;min-height:44px}
}
/* v1127 : la liste « ⋯ » de la barre d'un élément : des lignes (icône, nom), pas des cartes (la règle des menus à vignettes
   de la barre, .bdgrw .bdgrpop>button, l'emportait) */
.bdgrw.bdplusw:hover .bdgrpop.bdpluspop,.bdgrw.bdplusw.ouvert .bdgrpop.bdpluspop{display:flex;flex-direction:column;gap:0;width:auto;min-width:210px;padding:4px;right:0;left:auto}
.bdgrw.bdplusw .bdgrpop.bdpluspop>button.bbl{display:flex;flex-direction:row;align-items:center;gap:9px;width:100%;justify-content:flex-start;padding:7px 9px;border:0;border-radius:8px;background:none;font:inherit;font-size:13px;color:var(--ink);height:auto;min-width:0;text-align:left;white-space:nowrap}
.bdgrw.bdplusw .bdgrpop.bdpluspop>button.bbl:hover{background:var(--hov,#EDE7DE)}
.bdgrw.bdplusw .bdgrpop.bdpluspop>button.bbl svg{width:16px;height:16px;flex:none;color:var(--ink2,var(--ink))}
.bdgrw.bdplusw .bdgrpop.bdpluspop>button.bbl span::first-letter{text-transform:uppercase}
.brvaf{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 10px;font-size:12.5px;color:var(--ink2,var(--ink));white-space:nowrap;cursor:pointer}
.brvaf input{margin:0;width:auto}
/* v1130 : réglé dans Revit, la carte sur la planche */
.bdrav{position:fixed;right:18px;bottom:96px;z-index:3200;background:var(--card);border:1px solid var(--line);border-left:4px solid #417b74;border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.18);padding:10px 12px;max-width:340px;display:flex;flex-direction:column;gap:4px;font-size:13px}
.bdrav b{color:#417b74;font-size:13px}.bdrav .act{display:flex;gap:6px;justify-content:flex-end;margin-top:4px}
@media(max-width:700px){.bdrav{left:8px;right:8px;bottom:calc(84px + env(safe-area-inset-bottom));max-width:none}}
/* v1132 : un trait, une forme ou un texte réglé dans Revit pâlit et porte « ✓ Revit » */
/* v1374 : fait dans Revit, en vert (bdCouleurVue) et plus pâli ; la pastille « Revit » magenta s'efface devant « Revit ✓ » */
#bdstage .bi.revregle>.birevmk{display:none}
/* v1375 : les annotations ne se voient que sur le mur, jamais en diapositives ni en présentant (Eric, 12/10 : « markups on
   sheets should never print or show on presentation mode or in sheets mode ») ; la barre des annotations non plus */
body.prez #bdstage .bi.mkup,body.pres #bdstage .bi.mkup{display:none!important}
body.prez .bdrvmb,body.prez #bdrvbar,body.pres .bdrvmb,body.pres #bdrvbar{display:none!important}
#bdstage .birevok{position:absolute;left:0;top:0;transform:translate(-30%,-60%);font:600 calc(10px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1))/1 system-ui,sans-serif;padding:calc(2px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1)) calc(5px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));border-radius:calc(5px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));background:#2f7d4f;color:#fff;white-space:nowrap;pointer-events:auto;display:inline-flex;align-items:center;gap:calc(4px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1))}
#bdstage .birevok .birevck{all:unset;box-sizing:border-box;width:calc(12px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));height:calc(12px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));border:calc(1.5px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1)) solid #fff;border-radius:calc(3px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));background:transparent;cursor:pointer;flex:none}
#bdstage .birevok .birevck:hover{background:rgba(255,255,255,.35)}
#bdstage .birevok .birevck:hover::after{content:"";display:block;width:35%;height:60%;margin:5% auto 0;border:solid #fff;border-width:0 calc(1.5px / var(--k,1)) calc(1.5px / var(--k,1)) 0;transform:rotate(45deg)}
#bdstage .birevok .birevck[hidden]{display:none}
#bdstage .birevok.mkautre{display:none}   /* v1405 : une seule pastille par annotation groupée */
body.pres #bdstage .birevok{display:none}

/* v1136 : annoter pour Revit */
.bdrvmb{display:inline-flex;align-items:center;gap:6px}
.bdrvmb .bdrvmd{width:9px;height:9px;border-radius:50%;background:#e6007e;display:inline-block}
.bdrvmb.on{background:#e6007e;border-color:#e6007e;color:#fff}
.bdrvmb.on .bdrvmd{background:#fff}
#bdstage .birevmk{position:absolute;right:0;top:0;transform:translate(30%,-60%);font:600 calc(10px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1))/1 system-ui,sans-serif;padding:calc(2px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1)) calc(5px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));border-radius:calc(5px * clamp(.55, var(--k,1) * 2.5, 1) / var(--k,1));background:#e6007e;color:#fff;white-space:nowrap;pointer-events:none}
body.pres #bdstage .birevmk{display:none}

/* v1137 : les outils pour Revit */
.bdrvmb b{font-weight:600;margin-left:2px}
.bdrvmp{position:fixed;z-index:3000;background:var(--card,#fff);border:1px solid var(--line,#e3e1dc);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px;min-width:230px}
.bdrvmp .tit{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#e6007e;font-weight:700;margin:2px 4px 6px}
.bdrvmp button{display:flex;flex-direction:column;align-items:flex-start;width:100%;border:0;background:transparent;padding:6px 8px;border-radius:7px;cursor:pointer;text-align:left;color:inherit}
.bdrvmp button b{color:#e6007e;font-size:13px}.bdrvmp button span{font-size:11.5px;color:var(--ink3,#777)}
.bdrvmp button:hover,.bdrvmp button.on{background:rgba(230,0,126,.09)}
.bdrvmp .pied{font-size:11px;color:var(--ink3,#777);margin:6px 4px 2px}
body.rvmon #bdstage{cursor:crosshair}

/* v1139 : la barre des outils pour Revit, en bas de la planche */
.bdrvbar{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:46;display:flex;align-items:center;gap:4px;padding:5px 6px;border:1px solid #e6007e;border-radius:14px;background:color-mix(in srgb,var(--card) 96%,transparent);backdrop-filter:blur(8px);box-shadow:0 8px 24px rgba(230,0,126,.18);max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none}
.bdrvbar .tit{font:700 11px/1 system-ui,sans-serif;color:#e6007e;text-transform:uppercase;letter-spacing:.05em;margin:0 6px 0 4px}
.bdrvbar .bdt{color:#e6007e;border-color:rgba(230,0,126,.35)}
.bdrvbar .bdt.on{background:#e6007e;color:#fff;border-color:#e6007e}
.bdrvbar .bdt.fermer{color:var(--ink3);border-color:var(--line)}
body.pres .bdrvbar{display:none}
@media (max-width:700px){.bdrvbar{bottom:84px}}

/* v1140 : l'accueil, la colonne des projets et de leurs planches (accarbre.js) */
.accrow{display:flex;flex:1;min-height:0}
.accarbre{width:250px;flex:0 0 250px;overflow:auto;border-right:1px solid var(--line);padding:18px 8px 40px;font-size:13px}
.accarbre button{all:unset;box-sizing:border-box;cursor:pointer}
.accarbre .aatout{display:flex;align-items:center;width:100%;padding:7px 10px;border-radius:7px;font-weight:600;margin-bottom:8px}
.accarbre .aac{margin-left:auto;font-size:11px;color:var(--ink3);padding-left:6px}
.accarbre .aaph{display:flex;align-items:center;gap:2px;padding:2px 4px;border-radius:7px}
.accarbre .aaph:hover,.accarbre .aatout:hover,.accarbre .aab:hover,.accarbre .aadh:hover{background:rgba(0,0,0,.05)}
.accarbre .sel>.aaph,.accarbre .aatout.sel{background:rgba(65,123,116,.13)}
.accarbre .aaf{display:inline-flex;width:18px;height:22px;align-items:center;justify-content:center;color:var(--ink3);transition:transform .12s}
.accarbre .on>.aaph .aaf,.accarbre .aad.on>.aadh .aaf{transform:rotate(90deg)}
.accarbre .aan{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 2px;font-weight:600}
.accarbre .aapl{padding:2px 0 6px 18px}
.accarbre .aadh{display:flex;align-items:center;width:100%;border-radius:6px;padding:1px 4px}
.accarbre .aadh .aan{font-weight:500}
.accarbre .aadl{padding-left:16px}
.accarbre .aab{display:block;width:100%;padding:5px 8px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accarbre .aavide{padding:10px;color:var(--ink3)}
.accarbre .aap.vide>.aaph .aan{color:var(--ink3)}
.accarbre .aapl>.aavide{padding:4px 10px 6px 34px;font-size:12px}
@media(max-width:760px){.accarbre{display:none}}

/* v1144 : préparer une planche pour une réunion */
.bdprep{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:3500;background:var(--card,#fff);color:var(--ink,#1e2322);border:1px solid var(--line,#e3e1dc);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;min-width:320px;max-width:calc(100vw - 32px);font-size:13px}
.bdprep b{grid-column:1/-1;font-weight:600}
.bdprepb{grid-column:1/-1;height:5px;border-radius:3px;background:var(--line,#e3e1dc);overflow:hidden}
.bdprepb i{display:block;height:100%;background:var(--accent,#417b74);transition:width .2s}

/* v1144 : les diapositives */
body.diaposeul #bdstage .horsdiapo{display:none!important}
.accdiap{position:absolute;top:8px;right:8px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink,#1e2322);border:1px solid var(--line,#e3e1dc);font-size:11.5px;font-weight:600;opacity:0;transition:opacity .15s;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.pjc,.bdl{position:relative}
.pjc:hover .accdiap,.bdl:hover .accdiap,.accdiap:focus{opacity:1}
.accdiap:hover{background:var(--ink,#1e2322);color:var(--card,#fff);border-color:var(--ink,#1e2322)}
@media (hover:none){.accdiap{opacity:1}}
.bdl .accdiap{position:static;opacity:.75;margin-left:6px}
/* v1412 : l'accueil sur un téléphone (Eric, 14/10, maquette B) : la recherche et vignettes / liste sur une rangée, une
   rangée de pastilles qui défile de côté, « Nouvelle planche » qui flotte en bas à droite. Ordinateur inchangé. */
.accmob,.accfab,.pjc .adm{display:none}
@media(max-width:700px){
 .accw{padding:12px 14px 96px}
 .acch,.acctb{display:none}
 .accmob{display:flex;flex-direction:column;gap:10px;margin:0 0 12px}
 .accmr{display:flex;gap:8px;align-items:center}
 .accmq{flex:1;min-width:0;display:flex;align-items:center;gap:10px;height:46px;padding:0 16px;margin:0;border:1px solid var(--line);border-radius:23px;background:var(--card);color:var(--ink3);text-transform:none;letter-spacing:0;font-size:15px}
 .accmq input{all:unset;flex:1;min-width:0;font:inherit;font-size:16px;color:var(--ink)}
 .accmq input::-webkit-search-cancel-button{opacity:.6}
 .accmv{flex:none;width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--ink2);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
 .accmv svg{width:18px;height:18px}
 .accchips{display:flex;gap:8px;align-items:center;overflow-x:auto;margin:0 -14px;padding:0 14px 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .accchips::-webkit-scrollbar{display:none}
 .accch{flex:none;height:36px;border:1px solid var(--line);border-radius:18px;background:var(--card);padding:0 14px;margin:0;font:inherit;font-size:14px;font-weight:500;color:var(--ink);display:inline-flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer;text-transform:none;letter-spacing:0}
 .accch.on{background:var(--acc,#3a7c88);border-color:var(--acc,#3a7c88);color:#fff}
 .accch.tri{position:relative;padding:0 12px 0 14px}
 .accch.tri select{all:unset;font:inherit;font-size:14px;font-weight:500;color:inherit;cursor:pointer}
 .accchsep{flex:none;width:1px;align-self:stretch;margin:6px 2px;background:var(--line)}
 .pjg.bdg{gap:12px}
 .bdg .pjc{border-radius:14px}
 .bdg .pjc .tx{padding:9px 11px 11px;gap:0}
 .bdg .pjc b{font-size:14.5px}
 .bdg .pjc .ad,.bdg .pjc .dt{display:none}
 .bdg .pjc .adm{display:block;font-size:12.5px;color:var(--ink3);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .pjc .accdiap{top:6px;right:6px;width:44px;height:44px;padding:0;justify-content:center;border-radius:50%;border:0;opacity:1;box-shadow:0 1px 4px rgba(0,0,0,.14)}
 .pjc .accdiap svg{width:18px;height:18px}
 .pjc .accdiap>span{display:none}
 .accfab{display:block;position:fixed;right:16px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:40}
 .accfabb{height:54px;border:0;border-radius:27px;background:var(--acc,#3a7c88);color:#fff;padding:0 22px 0 18px;font:inherit;font-size:15px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 6px 18px rgba(20,50,56,.28);cursor:pointer}
 .accfabm{display:none;position:absolute;right:0;bottom:64px;min-width:230px;flex-direction:column;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 10px 30px rgba(0,0,0,.18)}
 .accfab.ouvert .accfabm{display:flex}
 .accfabm button{all:unset;box-sizing:border-box;padding:12px 14px;border-radius:9px;font-size:15px;color:var(--ink);cursor:pointer}
 .accfabm button:active{background:var(--hov,var(--wash,#f2f1ee))}
}
.bdmurautour.on{background:var(--ink,#1e2322);color:var(--card,#fff)}
.bdfilm .fs{position:relative}
.bdfilm .fs .fsapres{position:absolute;right:3px;bottom:3px;width:22px;height:22px;border-radius:50%;border:1px solid var(--line,#e3e1dc);background:var(--card,#fff);color:var(--ink2,#5b6261);font-size:15px;line-height:18px;padding:0;cursor:pointer;opacity:.55;transition:opacity .12s;z-index:3;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.bdfilm .fs:hover .fsapres,.bdfilm .fs .fsapres:focus{opacity:1}
.bdfilm .fs .fsapres:hover{background:var(--ink,#1e2322);color:var(--card,#fff)}
@media (hover:none){.bdfilm .fs .fsapres{opacity:.9}}
/* v1146 : changé à deux endroits (hors ligne) */
.hlcfl{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}
.hlcf{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:12.5px}
.hlcf .t{font-weight:600;margin-bottom:2px}.hlcf .cgl{margin:2px 0}
.hlcf .ac{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.hlct{width:100%;border-collapse:collapse;margin-top:4px;font-size:12px}
.hlct th{text-align:left;font-weight:500;color:var(--ink3);padding:2px 6px}
.hlct td{padding:3px 6px;border-top:1px solid var(--line);vertical-align:top;word-break:break-word}
.hlct td:first-child{color:var(--ink3);width:90px}
/* v1181 : le menu ☰ (et celui du compte) passait sous les barres de la planche (capture d'Eric du 05/10 : la trousse, les
   outils de forme, la pellicule par-dessus la liste des applications) : la règle commune pose l'en-tête à 30, les barres de
   Pinup vont jusqu'à 70. L'en-tête passe au-dessus d'elles, sous les fenêtres (80) et l'attente (90). */
html body header{z-index:75}
/* v1198 : l'onglet Documents (les documents du portail du projet) */
.drvbar .hdct{font-size:12px;color:var(--ink2);font-weight:600}
.drvn .hdcind{font-style:normal;font-size:10.5px;color:var(--ink3);margin-left:3px}
/* v1200 : la liste de la Grille porte aussi les dispositions du collage : plus large, elle défile ; collée à son bouton
   (sans écart, donc sans pont : le défilement couperait le pont invisible) */
.bdgrw:hover .bdgrpop.bdgrlong,.bdgrw.ouvert .bdgrpop.bdgrlong{grid-template-columns:repeat(4,1fr);width:350px;margin-top:0;max-height:min(66vh,560px);overflow-y:auto}
.bdgrw .bdgrpop.bdgrlong::before{display:none}
.bdgrw .bdgrpop>.bdgrh{grid-column:1/-1;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);padding:6px 2px 0}
.bdmep{max-height:calc(100vh - 16px);overflow-y:auto}
.bdgrl>.bdgrh{grid-column:1/-1;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink3);padding:6px 2px 0}
.bdgrw.bdup .bdgrpop{top:auto;bottom:100%}
.bdgrw.bdup:hover .bdgrpop,.bdgrw.bdup.ouvert .bdgrpop{margin:0 0 6px}
.bdgrw.bdup .bdgrpop::before{top:auto;bottom:-12px}
.bdgrw:hover .bdgrpop.bdgrlong,.bdgrw.ouvert .bdgrpop.bdgrlong{max-height:min(var(--bdpopmax,560px),560px)}
.bdgrw.bdup:hover .bdgrpop.bdgrlong,.bdgrw.bdup.ouvert .bdgrpop.bdgrlong{margin:0}
.bdmenu .mdim,#bdmenu .mdim{color:var(--ink3);font-weight:400;margin-left:.25em}
body.pres .bi.bizone,.bdcopie .bi.bizone{display:none}
.bi.slot>.bilab{display:none}.bdcapst{display:flex;flex-direction:column;gap:6px;padding:8px}.bdcapst .bdep{justify-content:space-between;height:auto}.bdcapst select{max-width:170px}.bdcapst input[type=number]{width:70px}
/* v1216 : les feuilles hors présentation, cachées d'office dans la pellicule et la vue d'ensemble ; l'onglet des feuilles de la présentation sur le mur */
body.sanshp .bdfilm .fs.skip,body.sanshp .bdfilm .fs.cache,body.sanshp .bdfilm .fstr:has(+ .fs.skip),body.sanshp .bdfilm .fstr:has(+ .fs.cache),body.sanshp .apv-c.skip,body.sanshp .apv-c.mur{display:none}
.bdfilm .fshp{flex:0 0 auto;align-self:center;margin-left:10px;border:1px dashed var(--line);background:var(--card);color:var(--ink3);border-radius:999px;padding:4px 11px;font-size:11.5px;cursor:pointer;white-space:nowrap}
.bdfilm .fshp b{color:var(--ink2)}.bdfilm .fshp:hover{color:var(--ink);border-color:var(--ink3)}.bdfilm .fshp.on{border-style:solid}
.apv-hp{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink2);cursor:pointer;margin:0 4px}
.apv-fantome{position:fixed;z-index:9200;pointer-events:none;width:120px;border-radius:6px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.25);background:#fff;opacity:.92}
.apv-fantome img{display:block;width:100%}.apv-fantome b{position:absolute;right:6px;top:6px;background:var(--acc,#3a7c88);color:#fff;border-radius:999px;font-size:12px;padding:1px 8px}
.biprez{position:absolute;right:0;bottom:100%;z-index:6;pointer-events:none;font:700 calc(11px/var(--k,1))/1 system-ui,sans-serif;color:#fff;background:#2c3236;border-radius:calc(4px/var(--k,1)) calc(4px/var(--k,1)) 0 0;padding:calc(4px/var(--k,1)) calc(8px/var(--k,1)) calc(3px/var(--k,1));min-width:calc(12px/var(--k,1));text-align:center}
body.diapo .biprez,body.pres .biprez,body.prez .biprez{display:none}

/* v1222 : changer la finition par l'assistant (finition.js) : panneau flottant, sans voile */
.bdfinia{position:fixed;left:16px;top:76px;z-index:90;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 96px);overflow:auto;background:var(--card,#fff);color:var(--ink,#26292b);border:1px solid var(--line,#e2e0da);border-radius:12px;box-shadow:0 14px 40px rgba(0,0,0,.18);padding:14px 16px;display:flex;flex-direction:column;gap:8px;font-size:13px}
.bdfinia .fhd{display:flex;align-items:center;justify-content:space-between;cursor:move;user-select:none;touch-action:none}.bdfinia.tire{opacity:.92;box-shadow:0 20px 50px rgba(0,0,0,.26)}.bdfinia .fhd b{font-size:15px}
.bdfinia .fqui{flex:1;min-width:0;margin:0 8px;font-size:12px;color:var(--ink3,#8a8f92);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdfinia .fim{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bdfinia figure{margin:0;display:flex;flex-direction:column;gap:4px;min-width:0}
.bdfinia figure img{width:100%;aspect-ratio:1;object-fit:contain;background:#f3f2ee;border-radius:8px}
.bdfinia figure.vide .fatt{aspect-ratio:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;background:#f3f2ee;border-radius:8px;color:var(--ink3,#8a8f92)}
.bdfinia figcaption{font-size:11px;color:var(--ink3,#8a8f92)}
.bdfinia .fres{display:flex;gap:6px;overflow-x:auto}.bdfinia .fres img{width:54px;height:54px;object-fit:cover;border-radius:6px;cursor:pointer;outline:2px solid transparent}.bdfinia .fres img.on{outline-color:var(--acc,#3a7c88)}
.bdfinia .flab{margin:4px 0 0;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3,#8a8f92)}
.bdfinia textarea{width:100%;box-sizing:border-box;font:inherit;resize:vertical}
.bdfinia .frac{display:flex;flex-wrap:wrap;gap:4px}
.bdfinia .fech{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:56px;padding:8px;border:1.5px dashed var(--line,#d6d3cc);border-radius:8px;color:var(--ink3,#8a8f92)}
.bdfinia .fech.over{border-color:var(--acc,#3a7c88);background:rgba(58,124,136,.06)}
.bdfinia .fech.plein img{width:48px;height:48px;object-fit:cover;border-radius:6px}.bdfinia .fech.plein span{flex:1;color:var(--ink,#26292b)}
.bdfinia .fact{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.bdfinia .fnote{font-size:11px;color:var(--ink3,#8a8f92)}
.bdfinia .fforme{font-size:12px;line-height:1.4;padding:7px 10px;border-radius:8px;background:rgba(201,122,43,.1);color:var(--ink,#26292b);border-left:3px solid #c97a2b}
/* v1224 : la fenêtre « Style des légendes » sur une seule colonne (la liste des champs de la fiche la faisait passer sur deux
   colonnes qui se chevauchaient : Place, Police, Graisse, Couleur) */
.bdgrw:hover .bdgrpop.bdcapst,.bdgrw.ouvert .bdgrpop.bdcapst{display:flex!important;grid-template-columns:none!important;}
.bdselbar .bdgrpop.bdcapst{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;width:280px;max-width:calc(100vw - 24px);box-sizing:border-box;overflow-y:auto;gap:8px;padding:10px 12px}
.bdselbar .bdcapst>.bdep{display:flex!important;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0!important;padding:0!important;height:auto!important;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink2,#5b6164);white-space:nowrap}
.bdselbar .bdcapst>.bdep select{flex:0 1 160px;max-width:160px;width:160px;margin:0}
.bdselbar .bdcapst>.bdep input[type=number]{flex:0 0 70px;width:70px;margin:0}
.bdselbar .bdcapst>.bdcapch{display:grid!important;grid-template-columns:1fr 1fr;column-gap:10px;row-gap:3px;align-items:center;white-space:normal;padding-bottom:6px!important;border-bottom:1px solid var(--line,#e2e0da)}
.bdselbar .bdcapst>.bdcapch>b{grid-column:1 / -1;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3,#8a8f92);font-weight:600;margin-bottom:2px}
.bdselbar .bdcapst>.bdcapch label{display:flex!important;flex-direction:row;align-items:center;gap:6px;margin:0;padding:0;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink,#26292b);cursor:pointer}
.bdselbar .bdcapst>.bdcapch input{width:15px;height:15px;margin:0;flex:none}

/* v1239 : l'onglet « Depuis Hub » et la pastille des documents posés depuis Hub (js/pinup/dehub.js) */
.bihub{position:absolute;left:6px;top:6px;font:600 10px/1 system-ui,sans-serif;padding:3px 6px;border-radius:6px;background:rgba(255,255,255,.92);color:#417b74;box-shadow:0 1px 3px rgba(0,0,0,.18);opacity:0;pointer-events:none;transition:opacity .12s}
#bdstage .bi:hover .bihub,#bdstage .bi.sel .bihub{opacity:1}
body.pres .bihub{display:none}
.dhp .dhtop{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:6px 0 2px}
.dhp .dhtit{display:flex!important;align-items:center;gap:5px;margin:0;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink2,#555b5f);cursor:pointer}
.dhp .dhtit input{width:auto;margin:0}
.dhp .dhl{display:flex;flex-direction:column;margin-top:6px;border-top:1px solid var(--line,#e3e0d9)}
.dhp .dhc{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;padding:6px 2px;border-bottom:1px solid var(--line,#e3e0d9)}
.dhp .dhc.on{background:rgba(65,123,116,.07)}
.dhp .dhh{display:flex;align-items:center;gap:7px;margin:0;min-width:0;font-size:12.5px;text-transform:none;letter-spacing:0;cursor:pointer}
.dhp .dhh input{width:auto;margin:0;flex:none}
.dhp .dhh b{font-weight:500;color:var(--ink,#2a2e30);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dhp .dhn{font-size:10.5px;color:var(--ink3,#8a8f93);font-weight:400;background:var(--bg2,#f2f0ec);border-radius:99px;padding:1px 6px}
.dhp .dhins{padding:2px 9px;font-size:11.5px}
.dhp .dhregl{grid-column:1/-1;display:flex;gap:5px;margin:4px 0 0 21px;min-width:0}
.dhp .dhsel{width:0;min-width:0;flex:1 1 0;max-width:100%;text-overflow:ellipsis;margin:0;padding:2px 4px;font-size:11.5px;height:24px;border-radius:6px}
.dhp .dhsegs{display:inline-flex;border:1px solid var(--line,#e3e0d9);border-radius:7px;overflow:hidden}
.dhp .dhseg{font:inherit;font-size:11.5px;line-height:1.2;padding:4px 10px;border:0;background:transparent;color:inherit;cursor:pointer;text-transform:none;letter-spacing:0}
.dhp .dhseg+.dhseg{border-left:1px solid var(--line,#e3e0d9)}
.dhp .dhseg.on{background:#417b74;color:#fff}
.dhp .dhpal{grid-column:1/-1;display:flex;gap:7px;margin:7px 0 2px 21px;flex-wrap:wrap}
.dhp .dhsw{display:inline-flex;gap:0;padding:3px;border:1px solid var(--line,#e3e0d9);border-radius:99px;background:transparent;cursor:pointer;line-height:0}
.dhp .dhsw i{display:block;width:13px;height:20px}.dhp .dhsw i:first-child{border-radius:99px 0 0 99px}.dhp .dhsw i:last-child{border-radius:0 99px 99px 0}
.dhp .dhsw.on{border-color:#22272a;box-shadow:0 0 0 1.5px #22272a}
.dhp .dhsw:hover{border-color:var(--ink3,#7b8285)}
.dhp .dhvide{margin-top:8px;font-size:11px}
.dhp .dhaide{margin-top:4px;font-size:11px}
.dhp .dhpied{position:sticky;bottom:0;display:flex;gap:6px;flex-wrap:wrap;padding:10px 0 4px;background:var(--bg2,#faf9f6)}
.dhp .dhbusy{color:#417b74}

/* v1252 : la colonne Outils (outils.js) : deux onglets en tête, Outils suit ce qui est choisi */
.bdctxtabs{display:flex;gap:4px;padding:8px 10px 0}
.bdctxtabs button{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:var(--card);color:var(--ink2);border-radius:8px;padding:6px 8px;font:inherit;font-size:12.5px;cursor:pointer}
.bdctxtabs button.on{background:var(--ink);color:var(--card);border-color:var(--ink)}
body.acc .bdctxtabs{display:none}
.bdctx{display:none;flex:1;min-height:0;overflow-y:auto;padding:4px 10px 24px}
body.ctxon .bdctx{display:block}
body.ctxon #murlist,body.ctxon .murside>.sh{display:none}
.bdctxh{padding:10px 2px 8px;display:flex;flex-direction:column;gap:2px}
.bdctxh b{font-size:14px;font-weight:600;color:var(--ink)}
.bdctxh span{font-size:11.5px;color:var(--ink3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdctxrang .bdarr{display:flex;justify-content:space-between;gap:4px;padding:2px 0 8px;border-bottom:1px solid var(--line);margin-bottom:4px}
.bdctxrang .bdarr button{flex:1;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink2);display:flex;align-items:center;justify-content:center;cursor:pointer}
.bdctxrang .bdarr button:hover{background:var(--hov,#EDE7DE);color:var(--ink)}
.bdctxrang .bdarr button.dgr{color:#b23b32}
.bdctxs{border-bottom:1px solid var(--line)}
.bdctxs>summary{list-style:none;cursor:pointer;padding:9px 2px;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);display:flex;align-items:center;gap:6px}
.bdctxs>summary::-webkit-details-marker{display:none}
.bdctxs>summary::before{content:"▸";font-size:9px;transition:transform .15s}
.bdctxs[open]>summary::before{transform:rotate(90deg)}
.bdctxb{display:flex;flex-direction:column;gap:2px;padding:0 0 10px}
.bdctxb>button,.bdctxb>label,.bdctxpop>button,.bdctxpop>label:not(.bdc){display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;text-align:left;border:0;background:none;color:var(--ink);font:inherit;font-size:13px;padding:6px 8px;border-radius:7px;cursor:pointer;margin:0;min-height:30px;box-sizing:border-box}
.bdctxb>button:hover,.bdctxb>label:hover,.bdctxpop>button:hover{background:var(--hov,#EDE7DE)}
.bdctxb .k{font-size:11px;color:var(--ink3)}
.bdctxpop{display:flex;flex-wrap:wrap;gap:4px;position:static}
.bdctxpop>button,.bdctxpop>label:not(.bdc){justify-content:flex-start;width:auto;flex:1 1 auto;border:1px solid var(--line);background:var(--card)}
.bdctxpop>.btn.sm{flex:1 0 46px;justify-content:center}
.bdctxpop .bdc,.bdctxpop .sq{flex:none}
.bdctxpop input[type=range]{flex:1;min-width:120px}
.bdctxvite{display:flex;flex-wrap:wrap;gap:4px}
.bdctxvite>*{margin:0}
.bdctxvite .btn{font-size:12px}
.bdctxbib{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.bdctxbib button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 6px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer}
.bdctxbib button:hover{background:var(--hov,#EDE7DE)}
.bdctxbib button:last-child{grid-column:1/-1}
.bdctxsw{display:flex;flex-wrap:wrap;gap:6px}
.bdctxsw .sw{width:24px;height:24px;border-radius:6px;border:1px solid var(--line);cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--ink2);background:var(--card)}
.bdctxsw .sw.on{outline:2px solid var(--ink);outline-offset:1px}
.bdctxsw .sw input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bdctx .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.bdctx .cols button{border:1px solid var(--line);background:var(--card);border-radius:7px;padding:6px;font:inherit;font-size:12px;cursor:pointer}
.bdctx .bdsub{display:none}
/* les grilles et dispositions : des vignettes sur trois colonnes, le nom dessous */
.bdctxpop>button:has(>svg+span){flex:0 0 calc(33.333% - 3px);flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;padding:6px 4px;min-height:0}
.bdctxpop>button:has(>svg+span)>svg{width:100%;height:auto;max-height:44px}
.bdctxpop>button:has(>svg+span)>span{font-size:10.5px;line-height:1.2;text-align:center;color:var(--ink2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bdctxpop>.bdgrh{flex:0 0 100%;font-size:10.5px;color:var(--ink3);padding:4px 2px 0}
/* v1255 : la colonne Outils en cartes et tuiles (rien n'y ajoute d'élément ; seulement ce qui agit sur ce qui est choisi) */
.bdctx{background:transparent;padding:4px 10px 24px}
.bdctxtabs{padding:10px 12px 4px}
.bdctxtabs{background:transparent}
.bdctxtabs button{border:0;background:rgba(0,0,0,.05);border-radius:10px;padding:7px 8px}
.bdctxtabs button.on{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.bdctxh{padding:8px 4px 10px}.bdctxh b{font-size:16px;font-weight:650}
.bdctxrang .bdarr{background:var(--card);border:0;border-radius:14px;padding:5px;margin:0 0 10px;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.bdctxrang .bdarr button{border:0;border-radius:10px;height:34px;background:transparent}
.bdcc{background:var(--card);border-radius:16px;padding:12px;margin:0 0 10px;box-shadow:0 1px 2px rgba(0,0,0,.05);display:block}
.bdcc>h4{margin:0 2px 10px;font-size:11.5px;font-weight:600;color:var(--ink2);display:flex;justify-content:space-between;letter-spacing:.01em;text-transform:none}
.bdcc>h4 em{font-style:normal;font-weight:500;color:var(--acc,#3a7c88);font-size:10.5px}
.bdctls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.bdtl{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px 8px;border:0;border-radius:12px;background:rgba(0,0,0,.035);color:var(--ink);font:inherit;cursor:pointer;min-width:0}
.bdtl:hover{background:rgba(0,0,0,.075)}
.bdtl.on{background:color-mix(in srgb,var(--acc,#3a7c88) 14%,transparent);color:var(--acc,#3a7c88)}
.bdtl span{font-size:10px;line-height:1.15;color:var(--ink2);text-align:center;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.bdcasp{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bdcasp>*{margin:0}
.bdcasp>button,.bdcasp>label,.bdcasp>.btn{border:0!important;background:rgba(0,0,0,.035)!important;border-radius:10px!important;min-height:34px;min-width:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;color:var(--ink)}
.bdcasp>button.on{background:color-mix(in srgb,var(--acc,#3a7c88) 14%,transparent)!important}
.bdcasp select{border:0;background:rgba(0,0,0,.035);border-radius:10px;padding:8px 10px;font:inherit}
.bdcasp .bdopl{flex:1 1 100%;background:transparent!important;justify-content:flex-start;padding:0 2px}
.bdcasp .bdopl input[type=range]{flex:1}
.bdcseg{display:flex;flex:1 1 100%;background:rgba(0,0,0,.035);border-radius:11px;padding:3px;gap:2px;flex-wrap:wrap}
.bdcseg .btn,.bdcseg button{flex:1 0 auto;border:0;background:transparent;border-radius:9px;padding:6px 4px;font-size:12px;color:var(--ink2);cursor:pointer}
.bdcseg .btn:hover,.bdcseg button:hover{background:var(--card)}
.bdcseg .lab{display:none!important}
.bdcal{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.bdcal .bdal,.bdcal button{height:36px;border:0;border-radius:10px;background:rgba(0,0,0,.035);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer}
.bdcal .bdal:hover{background:rgba(0,0,0,.075)}
.bdctpls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.bdctpl{border:0;background:transparent;padding:0;display:flex;flex-direction:column;gap:4px;cursor:pointer;font:inherit;min-width:0}
.bdctpl img,.bdctpl i{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;background:rgba(0,0,0,.05);font-style:normal;color:var(--ink3);font-size:18px}
.bdctpl.on img,.bdctpl.on i{box-shadow:0 0 0 2px var(--acc,#3a7c88)}
.bdctpl span{font-size:10px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bdccd>summary{list-style:none;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--ink2);display:flex;justify-content:space-between}
.bdccd>summary::-webkit-details-marker{display:none}
.bdccd>summary::after{content:"▸";color:var(--ink3);font-size:10px}.bdccd[open]>summary::after{content:"▾"}
.bdccd[open]>summary{margin-bottom:10px}
.bdcc .bdctxsw .sw{width:28px;height:28px;border-radius:50%}
body.ctxon .murside{width:268px}
@media(min-width:901px){body.ctxon:not(.sidefolded) .sidefold{left:268px}}
.bdtl{padding:8px 2px 7px;gap:5px}
.bdtl span{white-space:normal;word-break:normal;overflow-wrap:anywhere}
.bdcc>h4[data-on-click]{cursor:pointer}
.bdcc>h4 .nb{display:none;font-weight:500;color:var(--ink3);font-size:10.5px}
.bdcc.plie{padding-bottom:12px}.bdcc.plie>h4{margin-bottom:0}.bdcc.plie>h4 .nb{display:inline}
.bdcc.plie>:not(h4){display:none}
.bdcc>h4[data-on-click]::after{content:"▾";color:var(--ink3);font-size:10px;margin-left:6px}
.bdcc.plie>h4[data-on-click]::after{content:"▸"}
.bdcc>h4 span{flex:1}
.bdcrng{flex:1 1 100%;display:flex;align-items:center;gap:8px}.bdcrng>*{margin:0}.bdcrng input[type=range]{flex:1}.bdcrng label{display:flex;align-items:center;gap:8px;flex:1}
.bdcc.plie,.bdccd:not([open]){padding:9px 12px;margin-bottom:6px;border-radius:12px}
.bdcc{margin-bottom:8px}
/* v1256 : l'en-tête de la vue d'ensemble sur deux lignes : titre, taille, hors présentation, fermer ; dessous, l'aide ou ce qu'on fait du choix */
.apv-hd{gap:10px 14px;padding:14px 22px 10px}
.apv-l2{flex:1 1 100%;display:flex;align-items:center;gap:8px;min-height:30px;flex-wrap:wrap}
.apv-l2 .apv-aide{font-size:12px;color:var(--ink3)}
.apv-seln{font-size:12.5px;font-weight:600;color:var(--acc,#3a7c88);margin-right:4px}
.apv-l2 .btn{border-radius:999px}
.apv-hd .apv-hp{display:inline-flex;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:12.5px;font-weight:500;color:var(--ink2);margin:0;white-space:nowrap}
.apv-hd .apv-hp input{width:auto;margin:0}
.apv-hd .apv-t{margin:0}
.bdcflt{display:flex;flex-wrap:wrap;gap:6px}
.bdcf{border:0;background:rgba(0,0,0,.05);border-radius:999px;padding:7px 12px;font:inherit;font-size:12px;color:var(--ink);cursor:pointer}
.bdcf:hover{background:rgba(0,0,0,.09)}.bdcf b{font-weight:600;color:var(--ink3);margin-left:3px}

/* v1257 : la colonne Outils sans fond à elle (Eric : « not transparent background around the boxes ») : les cartes posées sur la
   couleur de la planche, comme les barres ; plus étroite, la languette au bord de la colonne */
body.ctxon .murside{background:transparent;border-right:0}
body.ctxon .murside .bdctxtabs{background:transparent}
body.ctxon .bdcc{box-shadow:0 1px 3px rgba(0,0,0,.08)}
body.ctxon .bdctxrang .bdarr{box-shadow:0 1px 3px rgba(0,0,0,.08)}
body.ctxon .bdctls{gap:6px}
body.ctxon .bdtl span{font-size:9.6px}
body.ctxon .bdcc{padding:11px 10px}

/* v1258 : onglet Revit */
.rvtg{font-size:11px;font-weight:600;color:var(--ink2);margin:10px 0 6px;letter-spacing:.02em}.rvtg span{color:var(--ink3);font-weight:400}
.rvtn{font-style:normal;font-size:10px;color:var(--acc,#3a7c88)}.rvtn.rvtsup{color:var(--ink3)}
.rvtbasc{display:inline-flex;gap:2px;margin-right:4px}.rvtbasc .ico.on{background:var(--line);color:var(--ink)}
.rvtlist{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:10px;background:var(--card);overflow:hidden}
.rvtl{display:flex;align-items:center;gap:8px;padding:5px 8px;border-top:1px solid var(--line);cursor:pointer;min-width:0}
.rvtl:first-child{border-top:0}.rvtl:hover{background:color-mix(in srgb,var(--acc,#3a7c88) 8%,transparent)}.rvtl.pos:active{cursor:grabbing}
.rvtlth{flex:none;width:36px;height:26px;border-radius:4px;background:#f3f1ed;overflow:hidden}.rvtlth img{width:100%;height:100%;object-fit:cover}
.rvtlno{flex:none;min-width:38px;font-size:11px;font-weight:600;font-variant-numeric:tabular-nums}
.rvtlnm{flex:1;min-width:0;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rvtl .rvtn{flex:none}
/* v1262 : la colonne Outils posée sur la planche (Eric, 07/10 : « around the left bar items it isn't transparent ») : sous la barre de
   la planche, elle flotte sur le mur ; on voit la planche autour des cartes ; le vide de la colonne laisse passer la souris. */
@media(min-width:901px){
 body:not(.sidefolded):not(.acc) main{position:relative}
 body:not(.sidefolded):not(.acc) .murside{position:absolute;left:0;top:var(--ctxtop,96px);bottom:0;background:transparent!important;pointer-events:none;z-index:44}
 body:not(.sidefolded):not(.acc) .murside>*{pointer-events:auto}
 body.ctxon:not(.sidefolded):not(.acc) .murside .bdctx{pointer-events:none}
 body.ctxon:not(.sidefolded):not(.acc) .bdctx>*{pointer-events:auto}
 body:not(.sidefolded):not(.acc) .bddock{left:272px}
 body.ctxon:not(.sidefolded):not(.acc) .bdctxtabs button:not(.on){background:var(--card)}
}
@media(min-width:901px){body.ctxon:not(.sidefolded):not(.acc) .bdctxh{background:var(--card);border-radius:12px;padding:10px 12px;margin-bottom:6px;box-shadow:0 1px 3px rgba(0,0,0,.08)}}
/* v1262 : la languette de la colonne (Eric : « the tab looks weird ») : un petit rond posé sur le bord des cartes, aligné sur les onglets */
@media(min-width:901px){
 body:not(.sidefolded):not(.acc) button.sidefold{left:264px;top:calc(var(--ctxtop,96px) + 12px);width:28px!important;height:28px!important;border:1px solid var(--line);border-radius:50%;
  box-shadow:0 1px 4px rgba(0,0,0,.12);font-size:9px;display:flex;align-items:center;justify-content:center;padding:0}
}

/* v1262 : l'onglet Planches pareil (Eric : « the boards portion look like the tools one with a rounded corner tall window ») : la liste des
   planches dans une grande carte arrondie, posée sur la planche */
@media(min-width:901px){
 body:not(.sidefolded):not(.acc):not(.ctxon) .murside{width:268px;border-right:0}
 body:not(.sidefolded):not(.acc):not(.ctxon) .murside .bdctxtabs{background:transparent}
 body:not(.sidefolded):not(.acc):not(.ctxon) .murside .bdctxtabs button:not(.on){background:var(--card)}
 body:not(.sidefolded):not(.acc):not(.ctxon) .murside>.sh{background:var(--card);margin:8px 10px 0;border-radius:14px 14px 0 0;box-shadow:0 1px 3px rgba(0,0,0,.08)}
 body:not(.sidefolded):not(.acc):not(.ctxon) #murlist{background:var(--card);margin:0 10px 12px;border-radius:0 0 14px 14px;box-shadow:0 2px 4px rgba(0,0,0,.08);flex:1;min-height:0;overflow-y:auto}
}

/* v1263 : la languette, un rond avec sa flèche, ouverte comme repliée (Eric : « just be a circle with the arrow on both sides ») */
@media(min-width:901px){
 body:not(.acc) button.sidefold{width:28px!important;height:28px!important;border:1px solid var(--line)!important;border-radius:50%!important;padding:0;
  display:flex;align-items:center;justify-content:center;box-shadow:0 1px 5px rgba(0,0,0,.14)!important;background:var(--card);top:calc(var(--ctxtop,96px) + 12px)}
 body:not(.acc):not(.sidefolded) button.sidefold{left:264px}
 body.sidefolded:not(.acc) button.sidefold{left:10px}
}

/* v1264 : le rond de la bibliothèque, comme celui de la colonne de gauche (Eric : « this one should match ») */
/* v1294 : le rond ne couvre plus la première icône ; il suit le bord sans retard quand on tire */
@media(min-width:901px){.bdtirage .tkfold{transition:none!important}}
@media(min-width:901px){.bdrow .tkfold{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 5px rgba(0,0,0,.14);top:12px}}
/* v1264 : la trousse plus mince sur ordinateur (Eric, 07/10 : « slim down the pen bar », « the pen module didnt slim ») : 36 px de large */
@media(min-width:901px){
 .bdrow .bddock{padding:4px 3px;gap:2px;border-radius:12px;box-shadow:0 4px 16px rgba(0,0,0,.12)}
 .bdrow .bddock .u{width:28px;height:28px;border-radius:8px;font-size:14px}
 .bdrow .bddock .u svg{max-width:22px;max-height:22px}
 .bdrow .bddock .u.obj{height:32px;padding-bottom:1px}
 .bdrow .bddock .u.obj svg{max-height:28px;max-width:16px}
 .bdrow .bddock .fav{width:28px;height:24px;border-radius:8px}
 .bdrow .bddock .fav .rond{transform:scale(.75)}
 .bdrow .bddock .fav .mini{transform:scale(.8);left:0}
 .bdrow .bddock .sep{margin:2px 2px;width:22px;align-self:center}
 .bdrow .bddock .fold,.bdrow .bddock .pencil:not(.mini *){width:28px;height:20px}
 .bdrow .bddock:not(.mini){width:auto;min-width:0;align-items:center}
}

/* v1265 : la forme d'une image (formes.js) */
.bi.decoupe{overflow:hidden}
.bi.decoupe>img{box-shadow:none}
.bddecpop{flex-direction:column;align-items:stretch;gap:8px;min-width:250px;padding:8px}
.bddecg{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.bddecg .btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;font-size:10.5px;line-height:1.1}
.bddecr{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink2);margin:0;text-transform:none;letter-spacing:0}
.bddecr input{flex:1;min-width:90px}.bddecr output{min-width:34px;text-align:right;font-variant-numeric:tabular-nums}
/* v1265 : le nom d'une tuile tient sur une ligne, jamais coupé au milieu d'un mot (Eric, 07/10 : « Backgroun / d ») */
.bdtl{padding-left:1px;padding-right:1px}
.bdtl span,body.ctxon .bdtl span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal;word-break:normal;font-size:9.4px;letter-spacing:-.15px;max-width:100%}

/* v1268 : la colonne Outils plus lisible sur une planche blanche (Eric, 07/10 : « hard to read the panels with the white on white ») :
   une ombre douce plutôt qu'un filet ; en-tête et rangée d'icônes plus petits ; le « + » des couleurs aligné sur les pastilles */
body.ctxon .bdcc,body.ctxon .bdctxrang .bdarr{box-shadow:0 1px 2px rgba(20,24,28,.10),0 4px 14px rgba(20,24,28,.12)}
@media(min-width:901px){body.ctxon:not(.sidefolded):not(.acc) .bdctxh{box-shadow:0 1px 2px rgba(20,24,28,.10),0 4px 14px rgba(20,24,28,.12);padding:7px 11px;margin-bottom:6px}}
.bdctxh b{font-size:13.5px}.bdctxh span{font-size:11px}
.bdctxrang .bdarr{padding:3px;margin-bottom:8px}.bdctxrang .bdarr button{height:28px}
.bdcc .bdctxsw{align-items:center}
.bdcc .bdctxsw .sw.add{width:28px;height:28px;margin:0;flex:none;font-size:0;line-height:0;vertical-align:middle;align-self:center;top:0}
.rvtsel{outline:2px solid var(--acc,#3a7c88);outline-offset:1px;border-radius:8px;background:rgba(58,124,136,.08)}
/* v1268 : une tuile allumée (repère affiché, verrou…) se voit d'un coup d'œil : un halo, éteinte sans halo */
.bdtl.on{box-shadow:0 0 0 2px var(--acc,#3a7c88),0 0 10px color-mix(in srgb,var(--acc,#3a7c88) 45%,transparent);background:color-mix(in srgb,var(--acc,#3a7c88) 14%,var(--card,#fff))}
/* v1268 : « Forme ▾ » : icône, mot et flèche sur la même ligne (Eric : « weird alignment ») */
.bddecw>button.btn{display:inline-flex;align-items:center;gap:6px;line-height:1}
.bddecw>button.btn svg{display:block;flex:none;width:15px;height:15px;margin:0;vertical-align:middle}
/* v1268 : les formes en carrés arrondis, pas en ronds (Eric) ; « Arrondi des coins » sur une ligne */
.bddecg{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;width:100%}
.bddecg>.btn{border-radius:10px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:auto!important;min-height:52px;padding:7px 3px!important;width:auto;aspect-ratio:auto}
.bddecg>.btn>span{font-size:10.5px;line-height:1.15;text-align:center;white-space:normal}
.bddecg>.btn svg{width:18px;height:18px;flex:none}
.bddecr{display:flex!important;align-items:center;gap:8px;white-space:nowrap;width:100%;border-radius:10px}
.bddecr>span{flex:none;font-size:12px}.bddecr input[type=range]{flex:1;min-width:60px}.bddecr output{flex:none;font-size:12px}

/* v1269 : le repère Matières d'une image liée, éteint : au survol et sur l'image choisie ; un clic ouvre la fiche */
.bifin{cursor:pointer}
.bifin.survol{display:none;background:rgba(31,42,44,.88)}
.bi:hover>.bifin.survol,.bi.sel>.bifin.survol{display:block}
body.pres .bifin.survol,body.diapo-en-cours .bifin.survol{display:none!important}
.matselnb .mf{width:auto;height:auto;background:#fff;color:#1d1d1f;border-radius:12px;padding:3px 10px;font:600 12px/1.4 inherit;cursor:pointer;margin-left:6px}
.mchip.mfeuille{font-weight:600}
.bdhl.alerte{background:#b3261e;color:#fff;pointer-events:auto}
/* v1271 : le menu « Forme ▾ » prenait la grille à trois colonnes des menus de la barre : la rangée des formes tenait dans une
   seule colonne, tuiles de 8 px, noms empilés (capture d'Eric du 07/10). Une colonne : les formes en grille, puis l'arrondi. */
.bdgrw:hover .bdgrpop.bddecpop,.bdgrw.ouvert .bdgrpop.bddecpop{display:flex!important;flex-direction:column;align-items:stretch;grid-template-columns:none;gap:10px;width:318px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:10px}
.bdgrpop.bddecpop .bddecg{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.bdgrpop.bddecpop .bddecg>.btn{min-width:0;overflow:hidden}
.bdgrpop.bddecpop .bddecg>.btn>span{white-space:normal;word-break:keep-all;overflow-wrap:normal;hyphens:none;max-width:100%}

/* v1272 : le style des légendes dans la colonne Outils (la carte copiée perdait sa mise en page : rangées superposées) */
.bdctxpop .bdcapst{flex-direction:column!important;flex-wrap:nowrap!important;align-items:stretch!important;width:280px;max-width:calc(100vw - 24px);box-sizing:border-box;overflow-y:auto;gap:8px;padding:10px 12px}
.bdctxpop .bdcapst>.bdep{display:flex!important;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0!important;padding:0!important;height:auto!important;text-transform:none;letter-spacing:0;font-size:12px;color:var(--ink2,#5b6164);white-space:nowrap}
.bdctxpop .bdcapst>.bdep select{flex:0 1 160px;max-width:160px;width:160px;margin:0}
.bdctxpop .bdcapst>.bdep input[type=number]{flex:0 0 70px;width:70px;margin:0}
.bdctxpop .bdcapst>.bdcapch{display:grid!important;grid-template-columns:1fr 1fr;column-gap:10px;row-gap:3px;align-items:center;white-space:normal;padding-bottom:6px!important;border-bottom:1px solid var(--line,#e2e0da)}
.bdctxpop .bdcapst>.bdcapch>b{grid-column:1 / -1;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink3,#8a8f92);font-weight:600;margin-bottom:2px}
.bdctxpop .bdcapst>.bdcapch label{display:flex!important;flex-direction:row;align-items:center;gap:6px;margin:0;padding:0;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink,#26292b);cursor:pointer}
.bdctxpop .bdcapst>.bdcapch input{width:15px;height:15px;margin:0;flex:none}
.bdctxpop .bdcapst{width:100%!important;display:flex;max-width:none;padding:2px 0!important}
/* v1272 : la taille du texte en points, dans la barre */
.bdpt{display:inline-flex;align-items:center;gap:3px;margin:0!important;padding:0;height:auto;text-transform:none;letter-spacing:0;font-size:11px;color:var(--ink2);font-weight:400}
.bdpt input{width:50px;height:24px;margin:0;padding:0 4px;font-size:12px;text-align:right;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
.bdselbar .bdpt input{width:50px!important;min-width:0!important;height:26px!important;flex:none}
.bdselbar .bdpt span{line-height:26px}
/* v1272 : la taille des légendes en points */
.bdcapptc{display:inline-flex;align-items:center;gap:4px}
.bdcapptc input[type=number]{width:54px!important;flex:none!important;text-align:right}
.bdcapptc i{font-style:normal;font-size:11px;color:var(--ink3,#8a8f92)}
.bdcapptc .btn.sm{min-width:0;padding:0 7px;height:24px}
/* v1275 : le numéro de la case sur sa propre ligne, au-dessus d'une légende écrite */
.bicap.num{white-space:pre-line}
.bicap .bicapnum{display:block;font-weight:inherit;white-space:nowrap}
/* v1275 : les icônes des formes alignées par le haut (un nom sur deux lignes les descendait) */
.bddecg>.btn{justify-content:flex-start!important;padding-top:9px!important}
/* v1276 : de loin, les pastilles à taille fixe se cachent (presence.js, bdLabCourt) */
#bdstage .bi.tagpetit:not(.sel):not(:hover) :is(.birevit,.biprez,.biavis,.biprix,.bidrv,.bihub){display:none}
/* v1277 : ouvrir la bibliothèque figeait la planche (Eric, 07/10 : « opening the right panel is crazy slow and stutters ») : sa
   largeur était animée, la planche entière (mise en page, calque GPU, recadrage de la diapositive) était refaite à chaque image du
   mouvement. La largeur change d'un coup, le volet glisse par une transformation seule ; fermé, son contenu n'est plus rendu. */
.bdtk{transition:none!important}
.bdtk:not(.off){animation:bdtkin .16s ease-out}
.bdtk.tkfixe{animation:none}   /* v1291 : refaite sur place (un onglet, un choix), elle ne rejoue pas son entrée (Eric : « the whole window bounces ») */
@keyframes bdtkin{from{transform:translateX(24px);opacity:.4}to{transform:none;opacity:1}}
.bdtk.off>*{content-visibility:hidden}
/* v1277 : le trait vert au survol du bord de la bibliothèque, plus fin (Eric, 07/10 : « slightly less thick ») */
.bdtk .tkresize:hover{background:linear-gradient(90deg,transparent 2.5px,var(--acc,#3a7c88) 2.5px,var(--acc,#3a7c88) 4.5px,transparent 4.5px)}
/* v1277 : le « + » de la bibliothèque sur la ligne des boutons, même hauteur, bord droit sur celui de la recherche */
.matsec .mhico{align-items:center}
.matsec .mhico .mplus{margin:0!important;align-self:center;height:28px;width:28px;flex:none}
.matsec .mhico .seg.sz{margin-left:auto}
.matsec .mtop .mq{box-sizing:border-box;width:100%}
/* v1278 : la bibliothèque, une carte arrondie posée sur la planche comme la colonne de gauche, toujours élargissable par son bord */
@media(min-width:901px){
 .bdrow .bdtk:not(.off){position:absolute;right:10px;top:10px;bottom:10px;z-index:45;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 4px 18px rgba(0,0,0,.12);background:var(--card);overflow:hidden}
 .bdrow .bdtk.off{position:absolute;right:0;top:0;bottom:0}
 .bdrow .bdtk .tkresize{left:0;width:8px;border-radius:14px 0 0 14px}
}
/* v1278 : les onglets Outils et Planches s'arrêtent avant le rond de la colonne (il couvrait le bout de « Planches ») */
/* v1299 : alignés sur les cartes, le rond passe à côté de la colonne (Eric, 07/10 : « the tabs at the top should align with the ones below ») */
@media(min-width:901px){body:not(.sidefolded):not(.acc) .murside .bdctxtabs{padding-left:10px;padding-right:10px}}
/* v1282 : la carte A1 d'un texte : une seule carte, une rangée par réglage, le nom à gauche, sans défilement */
#bdctx .bda1{padding:8px 10px 6px}
#bdctx .bda1>h4:not(.t){display:none}
#bdctx .bda1 .bdctxh{background:none!important;box-shadow:none!important;padding:0 0 4px!important;margin:0!important;flex-direction:row;align-items:baseline;gap:8px}
#bdctx .bda1 .bdctxh b{font-size:13.5px}
#bdctx .bda1 .bdctxh span{margin-left:auto;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;max-width:150px}
#bdctx .bda1 .bdctxrang .bdarr{box-shadow:none!important;padding:0!important;margin:0!important;gap:2px}
#bdctx .bda1 .bdctxrang .bdarr button{height:28px}
#bdctx .bda1 .rg{border-top:1px solid var(--line);margin:6px -10px}
#bdctx .bda1 .r{display:flex;align-items:center;gap:4px;min-height:28px}
#bdctx .bda1 .r+.r{margin-top:3px}
#bdctx .bda1 .l{width:54px;flex:none;color:var(--ink3);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#bdctx .bda1 .v{flex:1;min-width:0;display:flex;align-items:center;gap:3px;flex-wrap:wrap}
#bdctx .bda1 .v>*{margin:0}
#bdctx .bda1 .v .sep{width:1px;height:16px;background:var(--line);margin:0 3px;flex:none}
#bdctx .bda1 .v select{flex:1;min-width:0;max-width:none!important;height:28px;border:0;border-radius:7px;background:rgba(0,0,0,.04);padding:0 6px;font:inherit;font-size:12px;color:var(--ink)}
#bdctx .bda1 .v .ico{width:26px;height:26px;min-width:26px;border:0;border-radius:7px;background:transparent;display:inline-flex;align-items:center;justify-content:center;padding:0;color:var(--ink);cursor:pointer}
#bdctx .bda1 .v .ico:hover{background:rgba(0,0,0,.05)}
#bdctx .bda1 .v .ico.on{background:color-mix(in srgb,var(--acc,#3a7c88) 14%,transparent);color:var(--acc,#3a7c88)}
#bdctx .bda1 .v .ico svg{width:15px;height:15px}
#bdctx .bda1 .bda1c{height:26px;border:0;border-radius:999px;background:rgba(0,0,0,.045);display:inline-flex;align-items:center;gap:3px;padding:0 7px;font:inherit;font-size:11px;color:var(--ink);cursor:pointer;white-space:nowrap}
#bdctx .bda1 .bda1c:hover{background:rgba(0,0,0,.08)}
#bdctx .bda1 .bda1c.on{background:color-mix(in srgb,var(--acc,#3a7c88) 16%,transparent)}
#bdctx .bda1 .bda1c svg{width:13px;height:13px}
#bdctx .bda1 .bdpt{display:inline-flex;align-items:center;gap:2px;height:28px;border-radius:7px;background:rgba(0,0,0,.04);padding:0 6px;margin:0;flex:none}
#bdctx .bda1 .bdpt input{width:38px;border:0;background:transparent;font:inherit;font-size:12px;padding:0;text-align:right}
#bdctx .bda1 .bdpt span{font-size:11px;color:var(--ink3)}
#bdctx .bda1 .bdcol{width:26px;height:26px;min-width:26px;border-radius:50%;border:1px solid var(--line);background:var(--card);padding:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex:none}
#bdctx .bda1 .bdcol i{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.18);display:block}
#bdctx .bda1 .bda1op{flex:1;display:flex;align-items:center;gap:6px}
#bdctx .bda1 .bda1op>*{margin:0}
#bdctx .bda1 .bda1op label{display:flex;align-items:center;gap:6px;flex:1;margin:0;font-size:11px}
#bdctx .bda1 .bda1op input[type=range]{flex:1;min-width:0}
#bdctx .bda1 .bda1op svg{display:none}
#bdctx .bda1{margin-bottom:6px}
#bdctx .bda1>.t{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:0 0 4px}
#bdctx .bda1>.v{display:flex;gap:4px;flex-wrap:wrap}
/* v1284 : la colonne Outils d'une image, mêmes sections que le texte */
#bdctx .bda1 .bda1rg{display:flex!important;flex:1;align-items:center;gap:6px;margin:0;width:auto;background:none;padding:0;font-size:11px}
#bdctx .bda1 .bda1rg input[type=range]{flex:1;min-width:0}
#bdctx .bda1 .bda1rg output{min-width:32px;text-align:right;font-size:11px;font-variant-numeric:tabular-nums}
#bdctx .bda1 .bda1s{padding:0 5px;font-variant-numeric:tabular-nums}
#bdctx .bda1 .bda1fm{display:flex;gap:1px;flex-wrap:nowrap}
#bdctx .bda1 .bda1fm .ico{width:23px;min-width:23px}
#bdctx .bda1>h4.t{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin:0 0 4px;cursor:pointer}
#bdctx .bda1>h4.t .nb{display:none;margin-left:auto;font-weight:500;letter-spacing:0}
#bdctx .bda1.plie{padding-bottom:6px}#bdctx .bda1.plie>h4.t{margin:0}#bdctx .bda1.plie>h4.t .nb{display:inline}
#bdctx .bda1:not(.plie)>h4.t .nb{display:none!important}
#bdctx .bda1.plie>:not(h4){display:none!important}
/* v1286 : en présentant, ni épingles (commentaires, tâches) ni pointeurs des autres personnes (Eric, 07/10 : « hide the comment pin and
   tasks pin when in presentation mode », « the users mouse flying around shouldn't show up in a presentation ») */
body.pres #bdstage .bi[data-kind="pin"],body.pres .bdpeers{display:none!important}
.dhprog .hdct{font-size:12px;font-weight:700}
.dhp .dhcmp{display:flex;flex-wrap:wrap;gap:4px;margin:5px 0 0 21px;min-width:0;grid-column:1/-1}
.dhp .dhcmpc{font:inherit;font-size:11px;line-height:1.2;padding:3px 8px;border:1px solid var(--line,#e3e0d9);border-radius:99px;background:transparent;color:inherit;cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:none;letter-spacing:0}
.dhp .dhcmpc.on{background:#417b74;border-color:#417b74;color:#fff}
.dhp .dhcmpc i{font-style:normal;font-weight:700;margin-right:4px}.dhprog>.dhtop{margin-top:4px}
/* v1290 : la colonne Outils d'une feuille, mêmes sections que le texte et l'image */
#bdctx .bda1 .bda1fd{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
#bdctx .bda1 .bda1fd>*{margin:0!important}
#bdctx .bda1 .bda1fd .bdc{width:20px!important;height:20px!important;border-radius:50%;border:1px solid rgba(0,0,0,.15);padding:0;cursor:pointer}
#bdctx .bda1 .bda1fd .bdc.on{box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--acc,#3a7c88)}
#bdctx .bda1 .bda1fd label{width:20px;height:20px;margin:0}
#bdctx .bda1 .bda1tps{display:flex;gap:5px;overflow-x:auto;padding:2px 0 2px;scrollbar-width:thin}
#bdctx .bda1 .bda1tp{flex:none;width:58px;display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;padding:0;cursor:pointer;font:inherit}
#bdctx .bda1 .bda1tp img,#bdctx .bda1 .bda1tp i{width:56px;height:34px;border-radius:5px;object-fit:cover;background:rgba(0,0,0,.05);display:flex;align-items:center;justify-content:center;font-style:normal;color:var(--ink3);border:1px solid var(--line)}
#bdctx .bda1 .bda1tp.on img,#bdctx .bda1 .bda1tp.on i{border-color:var(--acc,#3a7c88);box-shadow:0 0 0 1.5px var(--acc,#3a7c88)}
#bdctx .bda1 .bda1tp span{font-size:10px;color:var(--ink2);max-width:58px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#bdctx .bda1 .r:has(>.v>.bda1c+.bda1c+.bda1c){align-items:flex-start}
#bdctx .bda1 .r:has(>.v>.bda1c+.bda1c+.bda1c)>.l{line-height:26px}
/* v1279 : la légende des finitions d'une feuille (js/pinup/legende.js) */
.bi.legende{overflow:hidden}
.bileg{position:absolute;inset:0;display:flex;flex-direction:column;color:#1d1d1f;font-family:inherit;overflow:hidden}
.bileg-t{font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.18);margin-bottom:.4em;flex:none}
.bileg-g{display:grid;flex:1;min-height:0}
.bileg-l{display:flex;align-items:center;min-width:0;overflow:hidden}
.bileg-v{flex:none;display:block;background:#f2f1ee;overflow:hidden}
.bileg-v img{width:100%;height:100%;object-fit:cover;display:block}
.bileg-r{flex:none;font-weight:700}
.bileg-x{display:flex;flex-direction:column;min-width:0;line-height:1.3;color:#55585a}
.bileg-x span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bileg-x .p{color:#1d1d1f;font-weight:500}
.bileg-vide{color:rgba(0,0,0,.4);border:1px dashed rgba(0,0,0,.2);padding:.6em;border-radius:4px}
body.prez .bileg-vide,body.pres .bileg-vide{display:none}
.legreg{display:grid;grid-template-columns:130px 1fr;gap:8px 10px;align-items:center}
.legreg input[type=text],.legreg input:not([type]),.legreg input[type=number]{width:100%;box-sizing:border-box;margin:0}
.legreg input[type=checkbox],.legchk input{width:auto;margin:0}
.legchk{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px}
.legchk label{display:flex;align-items:center;gap:7px;margin:0;font-size:13px;text-transform:none;letter-spacing:0;color:var(--ink)}
.modal .ll{font-size:12px;color:var(--ink3)}
/* v1324 : les calques d'un fichier Photoshop (calques.js) */
.modal.bdpsdm{max-width:1100px;width:96vw}
.bdpsdhaut{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.modal .bdpsdcomp{display:flex;align-items:center;gap:6px;margin:0;font-size:12px;text-transform:none;letter-spacing:0;color:var(--ink2)}
.bdpsdcomp select{width:auto;margin:0}
.bdpsdcorps{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;max-height:62vh}
.bdpsdap{display:flex;align-items:center;justify-content:center;min-height:240px;border-radius:8px;
 background:repeating-conic-gradient(#e8e8e8 0 25%,#fff 0 50%) 0 0/16px 16px}
.bdpsdap canvas{width:100%;height:auto;max-height:60vh;object-fit:contain;display:block}
.bdpsdliste{overflow:auto;max-height:62vh;border:1px solid var(--line,#ddd);border-radius:8px}
.modal .bdpsdl{display:flex;align-items:center;gap:8px;margin:0;padding:6px 8px;border-bottom:1px solid var(--line,#eee);font-size:13px;
 text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer}
.modal .bdpsdl input{width:auto;margin:0;flex:none}
.bdpsdl .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bdpsdl .cl{font-style:normal;color:var(--ink3)}
.modal .bdpsdl .res{flex:none;font-size:11px;text-transform:none;letter-spacing:0;color:#a15c00;background:#fff4e0;border-radius:6px;padding:1px 6px}
.bdpsdl.off .nm,.bdpsdl.sous .nm{opacity:.45}
.bdpsdnote{margin-top:10px;font-size:12px;color:var(--ink3)}
@media(max-width:700px){.bdpsdcorps{grid-template-columns:1fr;max-height:none}.bdpsdliste{max-height:40vh}}

/* v1323 : la place visée en glissant une feuille entre deux autres sur le mur (murglisse.js) */
.bdmgtrait{position:absolute;z-index:60;background:#417b74;border-radius:99px;pointer-events:none;box-shadow:0 0 0 2px rgba(255,255,255,.8)}
/* v1349 : en présentant, ni filet ni ombre autour d'une feuille ou d'une image (Eric, 09/10 : « when there is white on white we
   shouldn't see the outline when presenting ») ; le nom de la feuille au-dessus non plus */
body.pres .bisheet{border-color:transparent!important;box-shadow:none!important;border-radius:0!important}
body.pres .bi[data-kind="image"] img{box-shadow:none!important}
body.pres .bislab{display:none!important}
/* v1349 : posé sur une feuille, rien n'a d'ombre */
.bi.surfeuille img,.bi.surfeuille>div:not(.bisheet),.bi.surfeuille>a,.bi.surfeuille video,.bi.surfeuille iframe{box-shadow:none!important}
/* v1351 : un tableau Excel sur la planche (tableur.js) : blanc et encre noire comme sur papier, quel que soit le thème */
.bitab{width:100%;height:100%;overflow:hidden;background:#fff}
.bitab table{border-collapse:collapse;table-layout:fixed;color:#1d1d1f;background:#fff;line-height:1.2}
.bitab td{border:solid #d4d4ce;padding:0 .25em;overflow:hidden;white-space:pre-wrap;word-break:break-word;vertical-align:middle;box-sizing:border-box}
#bdstage .bi.sel .bitab td.tsel{box-shadow:inset 0 0 0 calc(2px / var(--k,1)) #1a73e8;background-image:linear-gradient(rgba(26,115,232,.10),rgba(26,115,232,.10))}
#bdstage .bitab td.ted{outline:calc(2px / var(--k,1)) solid #1a73e8;outline-offset:-1px;background:#fff!important;user-select:text;-webkit-user-select:text;cursor:text}
.bitabtag{position:absolute;right:calc(6px / var(--k,1));top:calc(-18px / var(--k,1));font:600 calc(10px / var(--k,1))/1 system-ui,sans-serif;padding:calc(3px / var(--k,1)) calc(6px / var(--k,1));border-radius:calc(6px / var(--k,1));background:#1d6f42;color:#fff;opacity:0;pointer-events:none;transition:opacity .12s;white-space:nowrap}
#bdstage .bi:hover .bitabtag,#bdstage .bi.sel .bitabtag{opacity:1}
body.pres .bitabtag{display:none}
.bdtabq{font-size:11px;color:var(--mut,#6b6b6b);padding:0 4px;white-space:nowrap}
.bdtabpop{display:flex;flex-direction:column;min-width:200px}
.bdtabpop button{text-align:left}
.drvmaj-ecrit{display:block;color:#9c5a00;margin-top:2px}

/* v1393 : un texte à la largeur de ses mots ne revient jamais à la ligne de lui-même ; ailleurs la police peut être un peu plus large
   (Kristin, 14/10 : la date du cartouche sur deux lignes chez elle, sur une chez Eric) ; les retours à la ligne écrits restent */
.bitext .bitxt.nw{white-space:pre;word-break:normal}
/* v1440 : la casse d'un texte (Aa ▾), une liste comme celle de la traduction */
.bdcassepop{min-width:200px}.bdcassepop button{display:block;width:100%;text-align:left;padding:6px 10px;border:0;background:none;cursor:pointer;font:inherit;font-size:12.5px;border-radius:6px;white-space:nowrap}.bdcassepop button:hover{background:var(--bg2,#f2f2ef)}
.bdgrw:hover .bdgrpop.bdcassepop,.bdgrw.ouvert .bdgrpop.bdcassepop{display:block;padding:4px}
/* v1441 : l'onglet « Sur la planche » (surplanche.js) : ce qui est déjà posé, en vignettes S, M, L, XL */
.pltaille{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.pltaille button{border:0;background:transparent;color:var(--ink2);font:600 10.5px/1 inherit;padding:5px 7px;cursor:pointer}
.pltaille button+button{border-left:1px solid var(--line)}.pltaille button.on{background:var(--acc,#3a7c88);color:#fff}
.plg{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(var(--plw,104px),1fr))}
.plg.pls{--plw:62px;--plh:50px;gap:5px}.plg.plm{--plw:104px;--plh:76px}.plg.pll{--plw:160px;--plh:120px}.plg.plxl{--plw:240px;--plh:180px}
.plc{display:flex;flex-direction:column;gap:3px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--card);cursor:grab;min-width:0}
.plc:hover{border-color:var(--acc,#3a7c88)}
.plth{position:relative;display:flex;align-items:center;justify-content:center;height:var(--plh,76px);background:#f3f1ed;border-radius:6px;overflow:hidden;color:var(--ink3)}
.plth img{width:100%;height:100%;object-fit:contain}
.plico{font-size:12px;font-weight:600;letter-spacing:.04em;opacity:.7}
.pln{position:absolute;left:4px;bottom:4px;font-style:normal;font-size:10px;background:rgba(38,41,43,.78);color:#fff;border-radius:6px;padding:1px 5px}
.plvoir{position:absolute;right:3px;top:3px;width:22px;height:22px;border:0;border-radius:6px;background:rgba(255,255,255,.92);color:var(--ink2);font-size:13px;line-height:1;cursor:pointer;opacity:0;transition:opacity .12s}
.plc:hover .plvoir{opacity:1}@media (hover:none){.plvoir{opacity:1}}
.plc .drvn{font-size:11px}
.plpage{display:none;position:absolute;right:4px;bottom:4px;font-style:normal;font-size:10px;font-weight:600;background:var(--acc,#3a7c88);color:#fff;border-radius:6px;padding:1px 6px}
.plc.plsur{border-color:var(--acc,#3a7c88);box-shadow:0 0 0 2px var(--acc,#3a7c88)}.plc.plsur .plpage{display:block}
.plg.pls .plpage{font-size:0;width:8px;height:8px;padding:0;border-radius:50%}
/* v1450 : le bloc Matières d'une feuille, une carte par ligne de Matières */
.bi.matbloc{overflow:hidden}
.bimb{position:absolute;inset:0;display:flex;flex-direction:column;color:#1d1d1f;font-family:inherit;overflow:hidden}
.bimb-t{font-weight:600;letter-spacing:.06em;text-transform:uppercase;display:flex;align-items:center;border-bottom:1px solid rgba(0,0,0,.18);margin-bottom:.5em;flex:none}
.bimb-g{display:grid;align-content:start;min-height:0}
.bimb-c{display:flex;flex-direction:column;min-width:0;overflow:hidden}
.bimb-v{display:block;width:100%;background:#f2f1ee;overflow:hidden;flex:none}
.bimb-v img{width:100%;height:100%;object-fit:contain;display:block}
.bimb-x{display:flex;flex-direction:column;min-width:0;line-height:1.3;color:#55585a}
.bimb-x span,.bimb-x b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bimb-x .p{color:#1d1d1f;font-weight:600}
.bimb-r{color:#1d1d1f;font-weight:700;letter-spacing:.03em}
.bimb-vide{color:#8a8d8f;padding:.6em 0}
.mbpor{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:8px}
.mbpor label{display:flex;align-items:center;gap:5px;font-size:13px;text-transform:none;letter-spacing:0;margin:0}
.mbpor input{width:auto;margin:0}
.mbmod .mblist{max-height:200px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:3px;margin-top:6px}
.mbmod .mblist label{display:flex;align-items:center;gap:6px;font-size:12.5px;text-transform:none;letter-spacing:0;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mbmod .mblist label[hidden]{display:none}
.mbmod .mblist input{width:auto;margin:0;flex:none}
.mbmod .mbl{color:var(--ink3)}
.mbmod .mbvide{font-size:12px;color:var(--ink3)}
.mbmod select{width:100%}
/* v1451 : la copie du bloc Matières pour les invités, son état (agence, sur le mur seulement) */
.bimb-inv{position:absolute;right:6px;bottom:6px;z-index:6;font:600 calc(11px*var(--k,1))/1.2 system-ui,sans-serif;background:#fff4dc;border:1px solid #e3b55c;color:#7a5410;border-radius:999px;padding:3px 9px;white-space:nowrap;pointer-events:none}
body.diapo .bimb-inv,body.pres .bimb-inv{display:none}
.mbinv{margin-top:12px;font-size:12px;color:var(--ink3);display:flex;gap:8px;align-items:center;flex-wrap:wrap;background:var(--line2,#f4f2ee);border-radius:8px;padding:8px 10px}
/* v1450 : les onglets des planches ouvertes (js/pinup/onglets.js), au-dessus de la barre de la planche ; tous projets mêlés */
.pinong{flex:none;display:flex;align-items:flex-end;gap:3px;padding:6px 10px 0;background:var(--bg,#eceae6);border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;min-height:38px;box-sizing:border-box}
.pinong::-webkit-scrollbar{display:none}
.pinong .ong{flex:0 1 240px;min-width:120px;display:flex;align-items:center;gap:7px;height:31px;padding:0 4px 0 10px;border:1px solid transparent;border-bottom:0;border-radius:9px 9px 0 0;background:transparent;color:var(--ink2);font-size:12.5px;cursor:pointer;user-select:none;box-sizing:border-box;margin-bottom:-1px}
.pinong .ong:hover{background:rgba(127,127,127,.12);color:var(--ink)}
.pinong .ong.on{background:var(--card,#fff);border-color:var(--line);color:var(--ink);font-weight:600}
.pinong .ong:focus-visible{outline:2px solid var(--acc,#3a7c88);outline-offset:-2px}
.pinong .ong svg{flex:none;opacity:.6}
.pinong .ongn{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pinong .ongp{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:400;color:var(--ink3)}
.pinong .ongx{flex:none;width:22px;height:22px;border:0;border-radius:6px;background:transparent;color:inherit;font-size:16px;line-height:1;cursor:pointer;opacity:.55;padding:0}
.pinong .ongx:hover{opacity:1;background:rgba(127,127,127,.22)}
.pinong .ongplus{flex:none;width:30px;height:28px;margin:0 0 2px 2px;border:0;border-radius:8px;background:transparent;color:var(--ink2);font-size:19px;line-height:1;cursor:pointer;padding:0}
.pinong .ongplus:hover{background:rgba(127,127,127,.15);color:var(--ink)}
.pinongacc{background:transparent;border-bottom:0;padding:12px 22px 0;align-items:center;gap:6px;min-height:0}
.pinongacc .ongtit{flex:none;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-right:4px}
.pinongacc .ong{border-radius:9px;border:1px solid var(--line);background:var(--card,#fff);color:var(--ink);height:32px;margin:0}
body.pres .pinong{display:none!important}
@media(max-width:700px){.pinong{display:none!important}}
/* v1471 : copier une feuille vers une autre planche (versplanche.js) */
.vpmodal .vpq{width:100%;box-sizing:border-box;margin:0 0 8px}
.vpmodal .vpl{max-height:min(46vh,420px);overflow:auto;border:1px solid var(--line);border-radius:10px;padding:4px}
.vpmodal .vpproj{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink3);padding:8px 8px 3px}
.vpmodal .vpb{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:0;background:transparent;border-radius:7px;padding:7px 10px;font:inherit;font-size:13px;color:var(--ink);cursor:pointer}
.vpmodal .vpb:hover{background:rgba(127,127,127,.12)}
.vpmodal .vpb.on{background:var(--acc,#3a7c88);color:#fff}
.vpmodal .vpn{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vpmodal .vpa{flex:none;font-size:11px;opacity:.7}
.vpmodal .vpvide{padding:18px 10px;text-align:center;color:var(--ink3);font-size:12.5px}
.vpmodal label.vpck{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.vpmodal label.vpck input{width:auto;margin:0}
.vpmodal label.vpap{display:flex;align-items:center;gap:10px;margin:10px 0 0 26px;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--ink)}
.vpmodal label.vpap select{flex:1 1 auto;min-width:0;width:auto;margin:0}
