/* Technologie Tournelles — Préparation au brevet */
[data-t="brevet"]{--accent:#1f5fa8;--accent-soft:#e3ecf8}
[data-t="ost"]{--accent:var(--t-ost);--accent-soft:#e2e9ef}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) [data-t="ost"]{--accent-soft:#1b2630}}
:root[data-theme="dark"] [data-t="ost"]{--accent-soft:#1b2630}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) [data-t="brevet"]{--accent:#7eaaf0;--accent-soft:#1a2740}}
:root[data-theme="dark"] [data-t="brevet"]{--accent:#7eaaf0;--accent-soft:#1a2740}
:root{--e-info:#8d5bd6;--e-matiere:#2f9e6a}

.bv-bar{position:sticky;top:0;z-index:6;background:var(--paper);border-bottom:1px solid var(--line);padding-block:8px}
.bv-bar .wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bv-bar .tm{font-family:var(--f-mono);font-size:1.15rem;min-width:5.5ch;text-align:center;padding:4px 10px;border-radius:8px;background:var(--sunk)}
.bv-bar .tm.low{background:var(--ko-bg);color:var(--ko)}
.bv-bar .sp{flex:1}
.bv-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:center;margin-block:10px 18px}
@media (max-width:760px){.bv-intro{grid-template-columns:1fr}}
.bv-intro .txt{font-size:1.06rem}
.bv-ost{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:8px}
.bv-ost svg{width:100%;height:auto;display:block}
.bv-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.bv-meta span{border:1px solid var(--line);border-radius:999px;padding:1px 9px;font-size:.78rem;font-weight:700;color:var(--muted)}
.bv-doc{border:1.5px solid var(--ink);border-radius:6px;margin-block:14px;background:var(--surface);break-inside:avoid}
.bv-doc > h3{font-size:.98rem;padding:6px 12px;border-bottom:1.5px solid var(--ink);background:var(--sunk);font-family:var(--f-body)}
.bv-doc > .in{padding:10px 12px;display:grid;gap:10px}
.bv-doc table{border-collapse:collapse;width:100%;font-size:.92rem}
.bv-doc th,.bv-doc td{border:1px solid var(--line);padding:5px 8px;text-align:center}
.bv-doc th{background:var(--sunk)}
.bv-doc td:first-child,.bv-doc th:first-child{text-align:left}
.bv-doc svg{width:100%;max-width:660px;height:auto;display:block;margin-inline:auto}
.bv-q{margin-block:22px;display:grid;gap:10px}
.bv-q > h2{font-size:1.2rem;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.bv-q > h2 small{font-family:var(--f-mono);font-weight:500;color:var(--accent);font-size:.9rem}
.bv-q .cons{font-size:1.02rem}
.bv-part{background:var(--surface);border:1.5px solid var(--line);border-radius:10px;padding:12px;display:grid;gap:10px;break-inside:avoid}
.bv-part .pq{font-weight:700}
.bv-part .pts{font-family:var(--f-mono);font-size:.8rem;color:var(--muted);font-weight:500;margin-left:6px}
.bv-bank{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.bv-bank .chip{font-size:.85rem;min-height:34px;padding:4px 10px}
.bv-bank .chip.used{opacity:.45}
.bv-bank .label{margin-right:4px}
.bv-svg{width:100%;height:auto;display:block;overflow:visible}
.bv-svg .slot{cursor:pointer}
.bv-svg .slot rect{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.6;stroke-dasharray:5 4}
.bv-svg .slot.filled rect{stroke-dasharray:none;fill:var(--surface)}
.bv-svg .slot.ok rect{stroke:var(--ok);fill:var(--ok-bg);stroke-dasharray:none}
.bv-svg .slot.ko rect{stroke:var(--ko);fill:var(--ko-bg);stroke-dasharray:none}
.bv-svg .slot:focus-visible rect{stroke-width:3}
.bv-svg text{font-family:var(--f-body);fill:var(--ink)}
.bv-svg .blk{fill:var(--surface);stroke:var(--ink);stroke-width:1.8}
.bv-svg .blk.ext{stroke-dasharray:7 5;fill:var(--sunk)}
.bv-svg .bnd{fill:none;stroke:var(--ink);stroke-width:2}
.bv-svg .fn{font-weight:750;font-family:var(--f-display)}
.bv-svg .ttl{font-size:13px;fill:var(--muted)}
.bv-opts{display:grid;gap:6px}
.bv-opts label{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border:1.5px solid var(--line);border-radius:8px;cursor:pointer}
.bv-opts label.ok{border-color:var(--ok);background:var(--ok-bg)}
.bv-opts label.ko{border-color:var(--ko);background:var(--ko-bg)}
.bv-num{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.bv-num input{width:9ch;font-family:var(--f-mono);font-size:1rem;border:1.5px solid var(--line);border-radius:8px;padding:6px 8px;background:var(--surface);min-height:40px}
.bv-num input.ok{border-color:var(--ok);background:var(--ok-bg)}
.bv-num input.ko{border-color:var(--ko);background:var(--ko-bg)}
.bv-open textarea{width:100%;min-height:90px;border:1.5px solid var(--line);border-radius:8px;padding:8px;font:inherit;background:var(--surface);color:var(--ink)}
.bv-corr{border-left:4px solid var(--ok);background:var(--ok-bg);color:var(--ink);padding:8px 10px;border-radius:0 8px 8px 0;font-size:.95rem}
.bv-corr b{color:var(--ok)}
.bv-res{position:sticky;bottom:10px;z-index:5}
/* programme en blocs */
.bv-prog{font-family:var(--f-body);font-size:.93rem;display:grid;gap:2px;justify-items:start;overflow-x:auto;padding:6px 2px}
.pb{border-radius:6px;padding:5px 10px;color:#fff;font-weight:700;display:flex;align-items:center;flex-wrap:wrap;gap:5px;line-height:1.5;box-shadow:inset 0 -2px 0 rgba(0,0,0,.15)}
.pb.ev{background:#c88d00;border-radius:14px 14px 6px 6px}
.pb.ctrl{background:#d97b00}
.pb.var{background:#e0601b}
.pb.act{background:#3d7fd9}
.pb.sens{background:#2b93b8}
.pb.com{background:#7a52c7}
.pc{display:grid;justify-items:start}
.pc > .head,.pc > .mid,.pc > .foot{border-radius:6px 6px 6px 0}
.pc > .body{border-left:14px solid #d97b00;padding:2px 0 2px 4px;display:grid;gap:2px;justify-items:start;min-width:40px}
.pc > .foot{height:12px;width:90px;background:#d97b00;border-radius:0 0 6px 6px}
.pc > .mid{background:#d97b00}
.cnd{background:#3f9e3f;border-radius:999px;padding:1px 9px;display:inline-flex;gap:5px;align-items:center}
.val{background:#fff;color:#1a2325;border-radius:999px;padding:0 8px;font-family:var(--f-mono);font-weight:500;min-width:2ch;text-align:center}
.pv{background:#e0601b;border-radius:999px;padding:0 8px}
.ps{display:inline-flex}
.ps select,.ps input{font:inherit;font-family:var(--f-mono);font-weight:500;border:2px dashed #fff;border-radius:999px;padding:1px 8px;background:#fff;color:#1a2325;min-height:28px}
.ps input{width:var(--w,6ch)}
.ps select.ok,.ps input.ok{border:2px solid #2a8a4a;background:#dff2e4}
.ps select.ko,.ps input.ko{border:2px solid #c0392b;background:#fbe1dc}
.bv-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.82rem;color:var(--muted)}
.bv-legend i{display:inline-block;width:22px;height:0;border-top:3px solid;vertical-align:middle;margin-right:4px}
/* liste des sujets */
.bv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px}
.bv-card{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:12px;display:grid;gap:8px;align-content:start}
.bv-card .ost{height:120px;display:grid;place-items:center;background:var(--sunk);border-radius:8px;overflow:hidden}
.bv-card .ost svg{width:100%;height:100%}
.bv-card h3{font-size:1.08rem}
.bv-card p{font-size:.88rem;color:var(--muted)}
.bv-card .row a{font-size:.85rem}
/* impression */
.print-only{display:none}
@media print{
  @page{size:A4;margin:14mm 13mm 16mm}
  html{font-size:10.5pt}
  body{background:#fff !important;color:#000}
  .top,.bv-bar,.no-print,.upsell,.teacher,.foot.web{display:none !important}
  .print-only{display:block}
  .wrap{max-width:none;padding:0}
  .bv-part{border:1px solid #bbb;break-inside:avoid}
  .bv-q{break-inside:auto}
  .bv-ost{border-color:#bbb}
  .bv-svg .slot rect{fill:#fff !important;stroke:#555 !important}
  .ps select,.ps input{border:1.5px solid #555 !important;background:#fff !important;appearance:none;-webkit-appearance:none}
  .pagebreak{break-before:page}
  .bv-intro{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) !important;margin-block:4px 8px}
  .bv-ost svg{max-height:190px}
  .bv-q > h2,.bv-q > .cons,.bv-part .pq{break-after:avoid}
  .bv-q{margin-block:12px}
  .bv-part{padding:8px;gap:6px}
  h1{font-size:1.6rem}
}
body.printmode .top,body.printmode .bv-bar,body.printmode .no-print{display:none !important}
.pr-lines div{border-bottom:1px dotted #888;height:1.9em}
.pr-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:6px;margin-bottom:10px;font-size:.9rem}
.pr-head b{font-size:1.1rem}
.pr-head.print-only{display:none}
@media print{.pr-head.print-only{display:flex}}
@media screen and (max-width:700px){
  .bv-part{overflow-x:auto;-webkit-overflow-scrolling:touch;grid-template-columns:minmax(0,1fr)}
  .bv-part > .bv-svg{min-width:660px}
  .bv-part > .bv-svg + .bv-legend::before{content:"← Fais glisser le schéma pour le voir en entier →";display:block;width:100%;font-size:.78rem;color:var(--accent);font-weight:700}
}
