:root{--bp-paper:#f7f4ef;--bp-green:#12372a;--bp-gold:#d9ad3f;--bp-ink:#33413b;--bp-border:#e5dfd5;--bp-white:#fff;}
.bp-root,.bp-root *{box-sizing:border-box}
.bp-root{background:var(--bp-paper);color:var(--bp-ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;min-height:60vh;overflow-x:hidden}
.bp-wrap{max-width:980px;margin:0 auto;padding:24px 16px 44px}
.bp-header{text-align:center;margin:4px auto 22px;max-width:760px}
.bp-kicker{font-size:.9rem;font-weight:700;color:var(--bp-green);margin-bottom:6px}
.bp-header h1{color:var(--bp-green);font-size:clamp(2rem,5vw,3rem);margin:0 0 10px;line-height:1.08}
.bp-lead{line-height:1.65;margin:0;color:#4a554f}
.bp-card,.bp-tier{background:var(--bp-white);border:1px solid var(--bp-border);border-radius:18px;box-shadow:0 3px 12px rgba(18,55,42,.05)}
.bp-card{padding:18px}
.bp-card h2,.bp-tier h2{color:var(--bp-green);margin:0;font-size:1.18rem}
.bp-how p,.bp-result p{line-height:1.6;margin:.65rem 0 0}
.bp-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.bp-chip{font-size:.82rem;background:#faf8f4;border:1px solid var(--bp-border);padding:7px 10px;border-radius:999px;white-space:nowrap}
.bp-tiers{margin-top:18px;display:grid;gap:16px}
.bp-tier{padding:16px}
.bp-tier-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.bp-scale-mini{font-size:.9rem;letter-spacing:.08em;white-space:nowrap}
.bp-column-labels{display:grid;grid-template-columns:minmax(0,1fr) 190px 150px;gap:10px;padding:0 2px 6px;font-size:.76rem;font-weight:700;color:#667068}
.bp-project-row{display:grid;grid-template-columns:minmax(0,1fr) 190px 150px;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #f0ece5}
.bp-project-row:first-of-type{border-top:0}
.bp-project,.bp-confidence,.bp-date{width:100%;font:inherit;border:1px solid #ded8cf;border-radius:11px;background:#fff;color:var(--bp-ink);padding:10px 11px;outline:none}
.bp-project{min-height:48px;resize:vertical}
.bp-project:focus,.bp-confidence:focus,.bp-date:focus{border-color:var(--bp-gold);box-shadow:0 0 0 3px rgba(217,173,63,.14)}
.bp-result{margin-top:18px}
.bp-autosave{font-size:.84rem;color:#667068}
.bp-actions{text-align:center;margin-top:18px}
.bp-print{border:0;border-radius:999px;background:var(--bp-green);color:#fff;padding:11px 18px;font-weight:700;cursor:pointer}
.bp-print:hover{filter:brightness(1.06)}
@media(max-width:700px){
 .bp-wrap{padding:18px 12px 34px}
 .bp-tier{padding:14px}
 .bp-tier-head{align-items:flex-start;flex-direction:column}
 .bp-column-labels{display:none}
 .bp-project-row{grid-template-columns:1fr;gap:7px;padding:12px 0}
 .bp-project-row::before{content:'Projet / envie';font-size:.72rem;font-weight:700;color:#6b756e}
 .bp-confidence{margin-top:2px}
 .bp-date{margin-top:2px}
 .bp-scale-mini{white-space:normal}
}
@media print{
 .bp-root{background:#fff}
 .bp-wrap{max-width:none;padding:0}
 .bp-actions{display:none}
 .bp-tier,.bp-card{box-shadow:none;break-inside:avoid}
}


/* v3.0.2 — Écrire / Dicter */
.bp-project-wrap{min-width:0}
.bp-write-tools{
  display:flex;
  gap:7px;
  align-items:center;
  margin-top:6px;
  flex-wrap:wrap;
}
.bp-write-btn,.bp-dictate-btn{
  appearance:none;
  border:1px solid var(--bp-border);
  background:#faf8f4;
  color:var(--bp-ink);
  border-radius:999px;
  padding:5px 9px;
  font:inherit;
  font-size:.75rem;
  font-weight:700;
  cursor:pointer;
}
.bp-write-btn:hover,.bp-dictate-btn:hover{
  border-color:var(--bp-gold);
}
.bp-dictate-btn:disabled{
  opacity:.6;
  cursor:wait;
}
@media(max-width:700px){
  .bp-project-wrap{width:100%}
  .bp-write-tools{margin-top:5px}
}
@media print{
  .bp-write-tools{display:none}
}


/* v3.0.3 — renfort d'affichage Écrire / Dicter */
.bp-project-wrap-v303{
  min-width:0;
  width:100%;
}
.bp-write-tools-v303{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative;
  z-index:2;
}
.bp-project-row > .bp-project-wrap-v303{
  align-self:start;
}
@media(max-width:700px){
  .bp-project-wrap-v303{grid-column:1 / -1}
}


/* v3.1.0 — lignes dynamiques : ajouter / masquer / réafficher */
.bp-hide-btn,.bp-add-row,.bp-restore-btn{
  appearance:none;
  border:1px solid var(--bp-border);
  background:#faf8f4;
  color:var(--bp-ink);
  border-radius:999px;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.bp-hide-btn{
  padding:5px 9px;
  font-size:.75rem;
  color:#6b756e;
}
.bp-hide-btn:hover,.bp-add-row:hover,.bp-restore-btn:hover{
  border-color:var(--bp-gold);
}
.bp-tier-controls{
  display:flex;
  justify-content:flex-start;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #f0ece5;
}
.bp-add-row{
  padding:8px 12px;
  font-size:.82rem;
  color:var(--bp-green);
}
.bp-hidden-box{
  margin-top:10px;
  border:1px dashed var(--bp-border);
  border-radius:12px;
  background:#fcfbf8;
  padding:9px 11px;
}
.bp-hidden-box summary{
  cursor:pointer;
  font-size:.8rem;
  font-weight:700;
  color:#667068;
}
.bp-hidden-list{
  display:grid;
  gap:7px;
  margin-top:9px;
}
.bp-hidden-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:7px 0;
  border-top:1px solid #f0ece5;
}
.bp-hidden-row:first-child{border-top:0}
.bp-hidden-label{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.82rem;
  color:#667068;
}
.bp-restore-btn{
  flex:0 0 auto;
  padding:6px 10px;
  font-size:.75rem;
  color:var(--bp-green);
}
@media(max-width:700px){
  .bp-tier-controls{justify-content:stretch}
  .bp-add-row{width:100%}
  .bp-hidden-row{align-items:flex-start}
  .bp-hidden-label{white-space:normal}
}
@media print{
  .bp-hide-btn,.bp-tier-controls,.bp-hidden-box{display:none !important}
}
