:root{--rsize:18px}
body{font-size:var(--rsize)}
main{transition:max-width .25s}
body.cdv-wide main{max-width:82ch}

/* barre d'outils */
#cdvbar{display:flex;align-items:center;gap:3px;font-family:Rajdhani,system-ui,sans-serif;font-weight:600}
#cdvbar.inhdr{position:static;background:none;border:0;padding:0;box-shadow:none}
#cdvbar:not(.inhdr){position:fixed;right:14px;bottom:14px;z-index:70;background:var(--ground);
 border:1px solid var(--rule);border-radius:999px;padding:6px 8px;box-shadow:0 8px 26px rgba(0,0,0,.3)}
#cdvbar button{background:none;border:1px solid transparent;color:var(--muted);cursor:pointer;font:inherit;
 font-size:13px;letter-spacing:.06em;padding:7px 10px;border-radius:3px;line-height:1;transition:.18s}
#cdvbar button:hover{border-color:var(--gold);color:var(--gold);background:rgba(212,175,55,.08)}
#cdv-search{font-size:16px!important;color:var(--gold)!important}
#cdvbar button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
#cdv-pos{font-size:11px;color:var(--dim);padding:0 6px;white-space:nowrap;letter-spacing:.1em}
@media(max-width:820px){#cdv-pos{display:none}}
@media(max-width:600px){#cdv-minus,#cdv-plus,#cdv-wide{display:none}}
#cdv-search{margin-left:4px}

/* sommaire enrichi */
.tmeta{grid-column:2;display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;
 font-size:9.5px;letter-spacing:.08em;color:var(--muted);margin-top:2px}
.chmeta{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.12em;
 text-transform:uppercase;color:var(--muted);margin:-2px 0 26px}

/* reprendre la lecture */
#cdv-resume{position:fixed;left:50%;transform:translateX(-50%);bottom:22px;z-index:75;
 display:flex;align-items:center;gap:12px;background:var(--ground);border:1px solid var(--accent);
 border-radius:10px;padding:12px 14px;box-shadow:0 14px 40px rgba(0,0,0,.24);
 font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11.5px;transition:opacity .6s;max-width:92vw}
#cdv-resume.fade{opacity:0;pointer-events:none}
#cdv-resume span{color:var(--muted)}
#cdv-resume button{border:0;background:var(--accent);color:var(--ground);border-radius:6px;
 padding:8px 13px;font:inherit;cursor:pointer;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}
#cdv-resume #cdv-no{background:none;color:var(--muted);padding:8px}

/* recherche */
#cdv-sbox{position:fixed;top:98px;right:16px;left:auto;transform:none;z-index:80;display:flex;gap:6px;
 align-items:center;background:var(--ground);border:1px solid var(--rule);border-radius:10px;
 padding:9px 11px;box-shadow:0 14px 40px rgba(0,0,0,.22);max-width:94vw}
#cdv-q{border:1px solid var(--rule);background:var(--surface);color:var(--ink);border-radius:6px;
 padding:9px 12px;font-family:inherit;font-size:15px;width:min(340px,58vw)}
#cdv-q:focus{outline:2px solid var(--accent);outline-offset:1px}
#cdv-count{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;color:var(--muted);
 min-width:46px;text-align:center}
#cdv-sbox button{border:0;background:none;color:var(--ink);cursor:pointer;font-size:14px;padding:7px 9px;border-radius:6px}
#cdv-sbox button:hover{background:var(--surface);color:var(--accent)}

/* correctif : sans ça, display:flex écrase le comportement de [hidden] */
#cdv-sbox[hidden],#cdv-pop[hidden]{display:none!important}
mark.cdvh{background:rgba(217,178,74,.28);color:inherit;border-radius:2px;padding:0 1px}
mark.cdvh.on{background:var(--accent);color:var(--ground)}

/* surlignage, lien, j'aime */
#cdv-pop{position:absolute;z-index:85;display:flex;gap:2px;background:var(--ground);
 border:1px solid var(--rule);border-radius:8px;padding:4px;box-shadow:0 10px 30px rgba(0,0,0,.26)}
#cdv-pop button{border:0;background:none;color:var(--ink);cursor:pointer;
 font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:10.5px;letter-spacing:.05em;
 padding:8px 10px;border-radius:5px;white-space:nowrap}
#cdv-pop button:hover{background:var(--surface);color:var(--accent)}
main [data-k].cdv-hl{background:rgba(217,178,74,.15);box-shadow:-10px 0 0 rgba(217,178,74,.15),10px 0 0 rgba(217,178,74,.15);border-radius:2px}
main [data-k].cdv-liked{position:relative}
main [data-k].cdv-liked::after{content:"♥";position:absolute;left:-22px;top:.15em;color:var(--accent);font-size:12px}
main [data-k].cdv-focus{background:rgba(217,178,74,.2);box-shadow:-10px 0 0 rgba(217,178,74,.2),10px 0 0 rgba(217,178,74,.2);border-radius:2px}
@media(max-width:1000px){main [data-k].cdv-liked::after{left:-16px}}

.cdv-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:70px;z-index:90;
 background:var(--ink);color:var(--ground);padding:10px 18px;border-radius:999px;
 font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.06em;
 transition:opacity .5s}
.cdv-toast.out{opacity:0}
@media print{#cdvbar,#cdv-sbox,#cdv-pop,#cdv-resume,.cdv-toast,nav.toc{display:none!important}}

@media(max-width:620px){#cdv-sbox{top:92px;right:8px;left:8px;padding:8px 9px}
 #cdv-q{width:auto;flex:1;min-width:0}}
