@font-face{font-family:O99Atkinson;src:url('../images/regular.woff2') format('woff2');font-weight:400;font-display:swap}
/* Parties 2 et 3 : exemples et lecture du résultat, limités à cet article. */
.o99-guide .o99-housing{border:1px solid var(--line);border-radius:16px;padding:20px;background:linear-gradient(145deg,var(--pale),var(--surface));box-shadow:0 6px 18px #17364b12}
.o99-guide .o99-housing-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:24px}
.o99-guide .o99-housing-nav button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border-color:#b9ccda;background:#fff;border-radius:10px;padding:14px;box-shadow:0 3px 5px #17364b1c;min-height:76px;transition:background .2s,box-shadow .2s}
.o99-guide .o99-housing-nav b{font-size:1.25rem;color:var(--blue)}
.o99-guide .o99-housing-nav span{font-size:.8rem;color:var(--muted)}
.o99-guide .o99-housing-nav button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);box-shadow:inset 0 0 0 2px #ffffff70,0 4px 10px #004b7d30}
.o99-guide .o99-housing-nav button[aria-pressed=true] :is(b,span){color:#fff}
.o99-guide .o99-housing-content{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:24px;align-items:start}
.o99-guide .o99-housing-copy{padding:8px 0}
.o99-guide .o99-housing-result{margin:0;padding:14px;background:#fff;border:1px solid #bdcbd6;border-radius:12px;box-shadow:0 4px 10px #17364b20;min-width:0}
.o99-guide .o99-housing-result figcaption{padding:0 0 12px;text-align:left}
.o99-guide .o99-housing-result figcaption strong{display:block;font-size:1.2rem;color:var(--blue);line-height:1.3}
.o99-guide .o99-housing-result figcaption span{display:block;font-size:.82rem;margin-top:5px;color:var(--muted)}
.o99-guide .o99-summary-values{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.o99-guide .o99-summary-values>span{margin:0;padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink)}
.o99-guide .o99-housing-result .o99-housing-assumption{margin:0;font-size:.82rem;color:var(--muted)}
.o99-guide [data-housing-board] svg{display:block;width:100%;height:auto}
.o99-guide .o99-guide-chips{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.o99-guide .o99-guide-chips span{border:1px solid #c2d7e7;background:#fff;border-radius:8px;padding:7px 10px;font-size:.83rem;color:var(--hover)}
.o99-guide .o99-guide-advice{border-left:3px solid var(--blue);background:#fff;border-radius:0 10px 10px 0;padding:16px;margin:20px 0}
.o99-guide .o99-guide-advice b{color:var(--blue)}
.o99-guide .o99-guide-advice p{font-size:.94rem;margin:5px 0 0}
.o99-guide .o99-guide-details{background:#fff;border:1px solid var(--line);border-radius:9px;margin:14px 0 0;overflow:hidden}
.o99-guide .o99-guide-details summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px;font-size:.9rem;list-style:none;cursor:pointer;color:var(--hover)}
.o99-guide .o99-guide-details summary::-webkit-details-marker{display:none}
.o99-guide .o99-guide-details summary>span{font-size:1.3rem;transition:transform .2s}
.o99-guide .o99-guide-details[open]>summary>span{transform:rotate(45deg)}
.o99-guide .o99-guide-details>div{padding:0 15px 15px}
.o99-guide .o99-guide-details.is-moving>div{overflow:hidden}
.o99-guide .o99-guide-circuit-row{padding:14px 0;border-bottom:1px solid var(--line)}
.o99-guide .o99-guide-circuit-row>strong{color:var(--blue);font-size:.95rem}
.o99-guide .o99-guide-circuit-row ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0}
.o99-guide .o99-guide-circuit-row li{padding:10px;border-radius:6px;background:var(--surface);font-size:.85rem;line-height:1.4}
.o99-guide .o99-guide-circuit-row li span{display:block;color:var(--muted)}
.o99-guide .o99-buy-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px}
.o99-guide .o99-buy-compare>div{border:1px solid var(--line);border-radius:12px;padding:20px;background:var(--surface)}
.o99-guide .o99-buy-compare p{font-size:.95rem;margin:0}
.o99-guide .o99-width-lessons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 14px}
.o99-guide .o99-width-lessons>div{background:linear-gradient(#fff,var(--surface));border:1px solid #c7d5df;border-radius:12px;box-shadow:0 4px 8px #17364b14;padding:18px}
.o99-guide .o99-width-lessons h3{font-size:1.1rem;margin:16px 0 7px}
.o99-guide .o99-width-lessons b{font-size:.86rem;color:var(--hover)}
.o99-guide .o99-width-lessons p{font-size:.9rem;margin:8px 0 0}
.o99-guide .o99-lesson-device{height:90px;width:38px;border:1px solid #889aa7;box-shadow:inset 2px 2px 0 #fff,inset -2px -3px 0 #b6c5cf,2px 4px 3px #17364b38;border-radius:4px;background:linear-gradient(#fff 30%,#d9e2e8 31%,#f4f6f8 70%,#fff 71%);display:grid;place-items:center}
.o99-guide .o99-lesson-device.two{width:76px}
.o99-guide .o99-lesson-device.control{width:76px;background:linear-gradient(#fff,#e4edf2)}
.o99-guide .o99-lesson-device i{width:19px;height:28px;background:linear-gradient(#455661 20%,#a1b3bf 22%,#18242d 35%);border-radius:3px;box-shadow:1px 2px 2px #17364b66}
.o99-guide .o99-lesson-device.two i{background:linear-gradient(#0060a1 20%,#8ed5f1 22%,#004b7d 35%)}
.o99-guide .o99-lesson-device.control i{width:47px;height:27px;background:#b9ced9;border:3px solid #526f80;box-shadow:none}
.o99-guide .o99-space-reading{padding:24px;border-radius:14px;border:1px solid #bfd8ea;background:var(--pale);margin-top:24px}
.o99-guide .o99-space-equation{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:12px;align-items:center;margin:15px 0}
.o99-guide .o99-space-equation>div{min-width:0;background:#fff;border-radius:9px;border:1px solid #c6d6e2;padding:14px;box-shadow:0 3px 5px #17364b12}
.o99-guide .o99-space-equation strong{display:block;font-size:2rem;color:var(--blue);line-height:1.1}
.o99-guide .o99-space-equation span{font-size:.86rem}
.o99-guide .o99-space-total{font-weight:700;color:var(--hover);border-bottom:1px solid #c2d6e5;padding-bottom:16px}
.o99-guide .o99-space-reserve{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.o99-guide .o99-space-reserve h3{font-size:1.3rem}
.o99-guide .o99-space-reserve p{font-size:.93rem}
.o99-guide .o99-space-grid{display:grid;grid-template-columns:repeat(var(--reading-columns,13),minmax(0,1fr));gap:3px;background:white;padding:10px;border:1px solid #b8cbd9;border-radius:9px}
.o99-guide .o99-space-grid i{aspect-ratio:1/1.5;border-radius:2px}
.o99-guide .is-used{background:var(--blue);border:1px solid var(--blue)}
.o99-guide .is-reserved{background:repeating-linear-gradient(135deg,#fff5d8,#fff5d8 4px,#d5ba78 4px,#d5ba78 5px);border:1px solid #927030}
.o99-guide .is-extra{background:#fff;border:1px dashed #687e8d}
.o99-guide .o99-space-key{display:flex;flex-wrap:wrap;gap:12px;font-size:.8rem;margin:12px 0}
.o99-guide .o99-space-key span{display:flex;align-items:center;gap:5px}
.o99-guide .o99-space-key i{display:inline-block;width:13px;height:16px}
@media(max-width:760px){.o99-guide .o99-housing-content,.o99-guide .o99-space-reserve{grid-template-columns:1fr}.o99-guide .o99-housing-nav{grid-template-columns:1fr 1fr}.o99-guide .o99-width-lessons{grid-template-columns:1fr}.o99-guide .o99-width-lessons>div{display:grid;grid-template-columns:90px 1fr;gap:0 12px}.o99-guide .o99-lesson-device{grid-row:1/4;align-self:center}.o99-guide .o99-width-lessons h3{margin:0 0 5px}.o99-guide .o99-buy-compare{grid-template-columns:1fr}.o99-guide .o99-guide-circuit-row ul{grid-template-columns:1fr}.o99-guide .o99-housing,.o99-guide .o99-space-reading{padding:14px}.o99-guide .o99-space-equation{gap:5px}.o99-guide .o99-space-equation>div{padding:10px 6px}.o99-guide .o99-space-equation span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.o99-guide *{transition:none!important;animation:none!important}}
@media(max-width:450px){.o99-guide .o99-space-equation{grid-template-columns:1fr;gap:8px}.o99-guide .o99-space-equation>span{display:none}.o99-guide .o99-space-equation>div{display:flex;align-items:center;gap:14px;padding:12px}.o99-guide .o99-space-equation strong{min-width:36px;font-size:1.6rem}.o99-guide .o99-space-equation span{font-size:.85rem}}
@font-face{font-family:O99Atkinson;src:url('../images/bold.woff2') format('woff2');font-weight:700;font-display:swap}
.o99-article,.o99-preview{--blue:#0060A1;--ink:#1A1A1A;--muted:#5F6368;--surface:#F4F6F8;--line:#D9DEE3;--pale:#EAF4FB;--hover:#004B7D;font-family:O99Atkinson,Arial,sans-serif;color:var(--ink);font-size:18px;line-height:1.6}
.o99-article *,.o99-preview *{box-sizing:border-box}
.o99-article{max-width:1600px;margin:0 auto;overflow-wrap:break-word}
.o99-article [hidden]{display:none!important}
.o99-article p{margin:0 0 1rem;max-width:75ch}
.o99-article h2,.o99-article h3{font-weight:700;line-height:1.15;letter-spacing:-.025em;text-wrap:balance;color:var(--ink)}
.o99-article h2{font-size:clamp(1.8rem,3vw,2.4rem);margin:0 0 1.3rem;max-width:32ch}
.o99-article h3{font-size:1.35rem;margin:0 0 .8rem}
.o99-article p+h3{margin-top:1.7rem}
.o99-article a{color:var(--blue);text-decoration:underline;text-underline-offset:.2em}
.o99-article a:hover{color:var(--hover)}
.o99-article :is(button,input,select,summary,a,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:4px;box-shadow:0 0 0 3px white}
.o99-article :is(button,select,input){font:inherit;color:var(--ink)}
.o99-article button{cursor:pointer;border:1px solid var(--blue);background:white;color:var(--blue);border-radius:8px;min-height:44px;padding:.55rem 1rem;font-weight:700}
.o99-article button:hover{background:var(--pale)}
.o99-article :is(input[type=number],select){width:100%;min-height:48px;border:1px solid #7C8793;border-radius:8px;background:white;padding:.65rem;margin-top:.4rem}
.o99-article input[aria-invalid=true]{border-color:#C61530}
.o99-article input[type=checkbox]{width:20px;height:20px;flex-shrink:0;accent-color:var(--blue);margin:0}
.o99-article img{max-width:100%;height:auto}
.o99-intro{max-width:900px;padding:0 0 1.2rem}
.o99-article .o99-lead{font-size:1.35rem;line-height:1.5;max-width:65ch}
.o99-path{display:flex;gap:2rem;flex-wrap:wrap;margin:1.5rem 0 .25rem;font-weight:700}
.o99-path span{display:flex;gap:.65rem;align-items:center}.o99-path b{display:grid;place-items:center;background:var(--pale);color:var(--blue);width:32px;height:32px;border-radius:50%;font-size:1rem}
.o99-nav{display:flex;flex-wrap:wrap;border-block:1px solid var(--line);gap:.25rem 1.5rem;padding:.6rem 0}
.o99-nav a{display:flex;align-items:center;min-height:44px;font-size:1rem}
.o99-section{padding:2.75rem 0;border-bottom:1px solid var(--line);scroll-margin-top:1rem}
.o99-article .o99-kicker{font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;color:var(--blue);margin:0 0 .8rem}
.o99-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:1.4rem 0}
.o99-card{background:var(--surface);border:1px solid var(--line);padding:1.4rem;border-radius:12px;min-width:0}
.o99-card p:last-child{margin-bottom:0}
.o99-tag{display:block;font-size:.85rem;font-weight:700;color:var(--blue);margin:0 0 .6rem}
.o99-takeaway{background:var(--pale);padding:1rem 1.2rem;border-radius:8px}
.o99-card .o99-takeaway{background:white;margin:1rem -.3rem -.3rem}
.o99-config{margin:1.5rem 0;border:1px solid var(--line);border-radius:16px;overflow:clip;background:var(--surface)}
.o99-mobile-result{display:none}.o99-result{scroll-margin-top:90px}
.o99-presets{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;padding:1rem 1.5rem;border-bottom:1px solid var(--line);background:white;font-size:.95rem}
.o99-presets button{padding:.4rem 1rem;font-size:.95rem}
.o99-config-grid{display:grid;grid-template-columns:1fr 1fr}
.o99-form{padding:1.5rem;min-width:0;margin:0}
.o99-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.o99-form label{display:block;font-size:1rem;font-weight:700}
.o99-unit{font-weight:400;color:var(--muted)}
.o99-article .o99-small{font-size:.9rem;line-height:1.5;color:var(--muted);margin:.7rem 0 1rem}
.o99-form fieldset{border:0;margin:1.5rem 0 0;padding:0;min-width:0}
.o99-form legend{font-weight:700;font-size:1.08rem;margin-bottom:.7rem;padding:0}
.o99-checks{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.o99-checks label{display:flex;gap:.6rem;align-items:center;font-size:.9rem;line-height:1.25;font-weight:400;min-height:52px;border:1px solid var(--line);background:white;padding:.5rem .7rem;border-radius:8px;cursor:pointer}
.o99-checks label:has(input:checked){border-color:var(--blue);background:var(--pale)}
.o99-result{background:white;border-left:1px solid var(--line);padding:1.5rem;min-width:0}
.o99-result h3{font-size:1.8rem;color:var(--blue);margin:0 0 1.25rem}
.o99-cabinet{background:var(--surface);border:1px solid #7C8793;border-radius:12px;padding:1.2rem 1rem .4rem;margin-bottom:1rem;box-shadow:inset 0 0 0 7px #fff}
.o99-row{margin:0 0 .8rem}.o99-row-name{font-size:.75rem;color:var(--muted);margin:0 0 .3rem}
.o99-rail{display:grid;grid-template-columns:repeat(var(--slots,13),minmax(0,1fr));gap:2px;background:var(--line);padding:4px;border-radius:3px}
.o99-device{display:block;position:relative;min-width:0;height:48px;border:1px solid #7C8793;border-radius:3px;background:white;text-align:center;font-size:.6rem;line-height:1.5;color:var(--ink);padding-top:2px}
.o99-device.o99-id{background:var(--pale);border-color:var(--blue);font-weight:700;color:var(--blue)}
.o99-device.o99-dj:before,.o99-device.o99-id:before,.o99-device.o99-accessory:before{content:'';position:absolute;left:23%;right:23%;top:23px;height:9px;background:#5F6368;border-radius:1px}
.o99-device.o99-id:before{background:var(--blue)}
.o99-device.o99-dj:after{content:'';position:absolute;left:25%;right:25%;top:8px;height:2px;background:var(--line);box-shadow:0 4px var(--line)}
.o99-device.o99-provision{background:repeating-linear-gradient(135deg,#fff 0 5px,#EAF4FB 5px 10px);border:1px dashed var(--blue);font-size:1rem;font-weight:700;color:var(--blue);padding-top:10px}
.o99-device.o99-free{background:#F4F6F8;border:1px dashed #7C8793}
.o99-article .o99-row-caption{font-size:.7rem;color:var(--muted);margin:.35rem 0 0}
.o99-legend{display:flex;gap:.4rem 1rem;flex-wrap:wrap;font-size:.76rem}
.o99-legend span{display:flex;gap:.35rem;align-items:center}.o99-legend i{display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #7C8793;background:white;font-style:normal;font-size:.7rem}
.o99-legend .o99-id{background:var(--pale);border-color:var(--blue)}.o99-legend .o99-dj{background:#5F6368}.o99-legend .o99-provision{border:1px dashed var(--blue)}.o99-legend .o99-free{background:var(--surface);border-style:dashed}
.o99-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;padding-top:1rem;border-top:1px solid var(--line)}
.o99-stats div{display:flex;flex-direction:column}.o99-stats b{font-size:2rem;line-height:1.2;color:var(--blue)}.o99-stats span{font-size:.78rem;color:var(--muted)}
.o99-article details{border:1px solid var(--line);border-radius:8px;margin:.7rem 0;background:white}
.o99-article summary{cursor:pointer;min-height:48px;padding:.85rem 1rem;font-weight:700;font-size:1.05rem}
.o99-article details>div{padding:.2rem 1rem 1rem}.o99-article details>div>p:last-child{margin-bottom:0}
.o99-article .o99-method{margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:white}.o99-method>div{font-size:1rem}
.o99-form .o99-advanced summary{font-size:.95rem}.o99-form .o99-reset{font-size:.88rem;min-height:44px;padding:.5rem .8rem;margin-top:.5rem;background:transparent;border-color:var(--line)}
.o99-article .o99-warning{background:#FFF4D6;border-left:4px solid #B77900;padding:1rem;border-radius:0 8px 8px 0;font-size:1rem;color:var(--ink);margin:1rem 0}
.o99-note{padding:1.5rem}
.o99-capacity{display:flex;gap:1.5rem;align-items:center;background:var(--pale);border-radius:12px;padding:1.2rem 2rem;margin:1.5rem 0;max-width:800px}
.o99-capacity div{flex:1;display:flex;flex-direction:column}.o99-capacity b{font-size:2.5rem;line-height:1.1;color:var(--blue)}.o99-capacity span{font-size:1rem}
.o99-list{padding-left:1.4rem;max-width:75ch}.o99-list li{margin:.6rem 0}
.o99-photos{gap:1rem}.o99-photos figure{display:grid;grid-template-columns:100px 1fr;gap:1.5rem;margin:0;padding:1.3rem;background:var(--surface);border-radius:12px;align-items:center;min-width:0}
.o99-photos img{width:100px;height:170px;object-fit:contain}.o99-photos figcaption{font-size:1rem}.o99-photos strong{display:block;margin-bottom:.4rem}
.o99-rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:1.8rem 0}
.o99-rule{border-top:3px solid var(--blue);padding-top:1rem}.o99-rule>b{display:block;color:var(--blue);font-size:2rem;margin-bottom:.6rem}.o99-rule p{font-size:1rem}.o99-rule h3{font-size:1.2rem}
.o99-examples{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0}.o99-examples h3{font-size:2rem;color:var(--blue)}.o99-examples p{font-size:1rem}
.o99-table-wrap{overflow-x:auto;margin:1.5rem 0;border:1px solid var(--line);border-radius:8px}.o99-table-wrap table{border-collapse:collapse;width:100%;font-size:1rem;text-align:left}.o99-table-wrap th,.o99-table-wrap td{padding:1rem;border-bottom:1px solid var(--line);vertical-align:top}.o99-table-wrap thead{background:var(--pale)}.o99-table-wrap th{font-weight:700}
.o99-affiliation{display:flex;align-items:center;gap:2rem;justify-content:space-between;border:1px dashed #7C8793;border-radius:12px;padding:1.5rem;margin-top:1.7rem;background:var(--surface)}.o99-affiliation p{font-size:1rem;margin:0}.o99-status{display:block;background:white;border:1px solid var(--line);padding:.6rem 1rem;border-radius:8px;font-size:.85rem;flex-shrink:0}
.o99-checklist{padding-left:1.5rem}.o99-checklist li{padding:.4rem 0 .4rem .5rem}.o99-checklist li::marker{color:var(--blue);font-weight:700}
.o99-sources{font-size:.9rem}.o99-sources h2{font-size:1.4rem}.o99-sources li{margin:.7rem 0}.o99-sources a{overflow-wrap:anywhere}
.o99-sr{position:absolute;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.o99-preview{margin:0;background:white}.o99-preview-header{border-bottom:1px solid var(--line);padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.o99-preview-header img{width:175px;height:auto}.o99-preview-header span{color:var(--muted);font-size:.85rem}.o99-preview-main{max-width:1244px;margin:auto;padding:2rem}.o99-preview-title{font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.04em;max-width:27ch;margin:.7rem 0 1.5rem;text-wrap:balance}.o99-preview-footer{padding:1.5rem 2rem;background:var(--surface);font-size:.9rem;text-align:center}.o99-preview-breadcrumb{font-size:.85rem;color:var(--muted);margin:0 0 1.5rem}.o99-preview-badge{font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);font-weight:700}
@media(max-width:950px){.o99-config-grid{grid-template-columns:1fr}.o99-mobile-result{display:flex;position:sticky;top:0;z-index:2;background:var(--pale);border-bottom:1px solid var(--line);padding:.5rem 1rem;align-items:center;justify-content:space-between;gap:.6rem;font-size:.9rem}.o99-mobile-result a{min-height:44px;display:flex;align-items:center;flex-shrink:0}.o99-result{border-left:0;border-top:1px solid var(--line)}.o99-cabinet{max-width:520px;margin-inline:auto}.o99-legend{justify-content:center}.o99-examples{grid-template-columns:1fr}.o99-photos figure{grid-template-columns:75px 1fr;gap:1rem}.o99-photos img{width:75px}.o99-affiliation{flex-direction:column;align-items:start;gap:1rem}}
@media(max-width:620px){.o99-article,.o99-preview{font-size:17px}.o99-preview-main{padding:1.25rem 1rem}.o99-preview-header{padding:.8rem 1rem;flex-wrap:wrap}.o99-preview-header span{font-size:.75rem}.o99-preview-title{font-size:2.15rem;max-width:100%}.o99-article .o99-lead{font-size:1.15rem}.o99-path{gap:.75rem;font-size:.9rem}.o99-path span{gap:.4rem}.o99-path b{width:26px;height:26px}.o99-pair,.o99-rule-grid{grid-template-columns:1fr}.o99-section{padding:2rem 0}.o99-article h2{font-size:1.85rem}.o99-nav{gap:0 .9rem}.o99-nav a{font-size:.88rem}.o99-presets{padding:.8rem;gap:.4rem}.o99-presets span{width:100%}.o99-form,.o99-result{padding:1rem}.o99-fields{grid-template-columns:1fr;gap:.7rem}.o99-checks{grid-template-columns:1fr}.o99-checks label{min-height:46px;font-size:1rem}.o99-result h3{font-size:1.5rem}.o99-cabinet{padding:.8rem .5rem .2rem;box-shadow:inset 0 0 0 4px white}.o99-rail{gap:1px;padding:3px}.o99-device{height:40px}.o99-device.o99-id:before,.o99-device.o99-dj:before,.o99-device.o99-accessory:before{top:21px}.o99-capacity{gap:.65rem;padding:1rem}.o99-capacity b{font-size:2rem}.o99-capacity span{font-size:.85rem}.o99-card{padding:1.2rem}.o99-photos figure{grid-template-columns:80px 1fr;padding:1rem}.o99-table-wrap th,.o99-table-wrap td{padding:.6rem;font-size:.9rem}.o99-rule-grid{gap:1rem}.o99-legend{justify-content:start;gap:.4rem .65rem}}
@media(prefers-reduced-motion:reduce){.o99-article *{scroll-behavior:auto;animation:none;transition:none}}
@media print{.o99-preview-header,.o99-nav,.o99-presets,.o99-form{display:none}.o99-config-grid{display:block}.o99-result{border:0}.o99-preview-main{padding:0}.o99-section{break-inside:avoid}.o99-article details>div{display:block}.o99-preview-footer{display:none}}
/* Révision visuelle : couleurs des articles 99Outils, lecture par l'image. */
.o99-article h2,.o99-article h3,.o99-preview-title{color:var(--blue)}
.o99-hero-visual{max-width:none;display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;align-items:center;padding-bottom:1.8rem}
.o99-hero-photo{margin:0;position:relative;overflow:hidden;border-radius:12px;align-self:stretch;min-height:300px}
.o99-hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.o99-hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;background:#1A1A1A;color:white;padding:.65rem 1rem;font-size:.85rem}
.o99-hero-visual .o99-lead{font-size:1.2rem}.o99-hero-visual p{font-size:1rem}.o99-hero-visual .o99-path{gap:.7rem;font-size:.9rem}
.o99-choice-visual,.o99-equipment-explorer,.o99-reserve-demo,.o99-location{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;padding:1.5rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:1.5rem 0}
.o99-switch{display:flex;gap:.4rem;margin:0 0 1.5rem;flex-wrap:wrap}.o99-article [aria-pressed=true]{background:var(--blue);color:white}.o99-article [aria-pressed=true]:hover{background:var(--hover)}
.o99-choice-drawing{margin:0;padding:1.5rem 1rem;background:var(--pale);border-radius:12px;min-width:0}.o99-choice-drawing figcaption{font-size:.85rem;text-align:center;color:var(--muted);margin-top:1rem;min-height:2.7em}
.o99-mini-board{max-width:340px;margin:auto;padding:1.25rem;background:white;border:2px solid #7C8793;border-radius:12px;display:grid;gap:1rem}
.o99-mini-rail{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:3px;position:relative;isolation:isolate;padding:5px 0}
.o99-mini-rail:before{content:'';position:absolute;top:40%;left:0;right:0;height:12px;background:#D9DEE3;z-index:-1;border:1px solid #7C8793}
.o99-mini-rail i{height:52px;background:white;border:1px solid #7C8793;border-radius:3px;position:relative;transition:opacity .3s,transform .3s;transition-delay:calc(var(--i,0)*20ms)}
.o99-mini-rail i:after{content:'';position:absolute;top:21px;left:20%;width:60%;height:10px;background:#5F6368;border-radius:2px}.o99-mini-rail i:first-child{background:var(--pale);border-color:var(--blue)}.o99-mini-rail i:first-child:after{background:var(--blue)}.o99-mini-rail i:nth-last-child(-n+2){background:var(--surface);border-style:dashed}.o99-mini-rail i:nth-last-child(-n+2):after{display:none}.is-empty .o99-mini-rail i{opacity:0;transform:translateY(-12px)}
.o99-explore-options{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0 1.3rem}.o99-explore-options button{font-size:.9rem;padding:.6rem .8rem}
[data-explore-copy]{min-height:150px}[data-explore-copy] strong{display:block;color:var(--blue);font-size:1rem}
.o99-explore-photo{margin:0;min-width:0;position:relative;background:white;border-radius:12px;overflow:hidden}.o99-explore-photo img{display:block;width:100%;height:280px;object-fit:cover}.o99-explore-photo img[data-explore-img=protection]{object-fit:contain;padding:1rem}.o99-explore-photo figcaption{padding:.6rem 1rem;color:var(--muted);font-size:.8rem}
.o99-reserve-demo{background:var(--pale)}.o99-reserve-demo label{font-size:1rem;font-weight:700;display:block}.o99-reserve-demo output{display:inline-block;font-size:1.5rem;color:var(--blue);margin-left:.5rem}.o99-reserve-demo input[type=range]{width:100%;min-height:44px;accent-color:var(--blue);cursor:pointer;margin:.6rem 0}
.o99-reserve-grid{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:4px;padding:1rem;background:white;border:1px solid #7C8793;border-radius:12px;margin-bottom:1rem}
.o99-reserve-grid i{height:33px;border:1px dashed #7C8793;background:var(--surface);border-radius:3px;transition:background-color .15s,transform .15s}
.o99-reserve-grid .is-occupied,.o99-reserve-key .is-occupied{background:var(--blue);border:1px solid var(--blue)}
.o99-reserve-demo.is-full [data-reserve-message]{border-left:4px solid #C61530;background:#FDECEF;padding:.7rem}.o99-reserve-key{display:flex;gap:1.2rem;font-size:.85rem}.o99-reserve-key span{display:flex;align-items:center;gap:.4rem}.o99-reserve-key i{width:15px;height:15px;background:var(--surface);border:1px dashed #7C8793}
.o99-example-board{max-width:220px;padding:.8rem;border:1px solid #7C8793;border-radius:8px;background:white;display:grid;gap:.65rem;margin:.9rem 0 1.2rem}.o99-example-board>div{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.o99-example-board i{height:25px;background:var(--pale);border:1px solid #7C8793;border-radius:2px}.o99-example-board i:first-child{background:var(--blue)}.o99-example-board i:nth-last-child(-n+2){background:white;border-style:dashed}.o99-examples .o99-card{display:flex;flex-direction:column}.o99-examples button{margin-top:auto;align-self:start}
.o99-wall{position:relative;isolation:isolate;background:var(--pale);border:2px dashed #7C8793;border-radius:12px;padding:1rem;display:grid;gap:.8rem}.o99-wall-title{font-size:.85rem;text-align:center}.o99-wall-line{position:absolute;top:50px;bottom:12px;left:50%;width:24px;background:var(--line);border-inline:1px solid #7C8793;z-index:-1}.o99-wall button{background:white;max-width:310px;width:100%;margin:auto;display:flex;align-items:center;gap:1.5rem;text-align:left}.o99-wall button>span:first-child{font-size:2rem;line-height:.65;width:45px;text-align:center}.o99-wall button:first-of-type{min-height:115px}.o99-wall button:first-of-type>span:first-child{font-size:2.5rem}.o99-wall button:not(:first-of-type){min-height:70px}
.o99-article .o99-photos{margin-top:1.5rem}.o99-article .o99-photos figure{background:white;border:1px solid var(--line)}
@media(max-width:950px){.o99-hero-visual{gap:1.3rem}.o99-hero-photo{min-height:270px}.o99-choice-visual,.o99-equipment-explorer,.o99-reserve-demo,.o99-location{gap:1.2rem;padding:1.2rem}.o99-examples{grid-template-columns:repeat(3,1fr)}.o99-examples .o99-card{padding:1rem}.o99-examples h3{font-size:1.5rem}.o99-examples p{font-size:.9rem}}
@media(max-width:700px){.o99-hero-visual,.o99-choice-visual,.o99-equipment-explorer,.o99-reserve-demo,.o99-location{grid-template-columns:1fr}.o99-hero-photo{min-height:0}.o99-hero-photo img{height:auto;aspect-ratio:3/2;object-fit:cover}.o99-hero-photo figcaption{position:static}.o99-hero-visual>div{order:2}.o99-hero-photo{order:1}.o99-choice-drawing{padding:1rem}.o99-explore-photo{grid-row:1}.o99-explore-photo img{height:220px}.o99-examples{grid-template-columns:1fr}.o99-example-board{max-width:220px;width:100%}.o99-mini-board{max-width:300px}.o99-choice-copy{min-width:0}.o99-reserve-grid{padding:.7rem;gap:3px}.o99-reserve-grid i{height:28px}.o99-article .o99-mini-rail i{height:45px}.o99-explore-options button{flex:1 1 120px}[data-explore-copy]{min-height:0}}
@media(prefers-reduced-motion:reduce){.o99-article .o99-mini-rail i,.o99-article .o99-reserve-grid i{transition:none}.o99-article *{animation:none;scroll-behavior:auto}}


/* Progressive guide: surface first, refinement on demand. */
.o99-progressive>.o99-lead{font-size:1.15rem;max-width:68ch;margin:0 0 1.3rem}
.o99-progressive .o99-section{padding:2.2rem 0;margin:0;border-top:1px solid var(--line)}
.o99-progressive #o99-estimer{padding-top:.7rem;border-top:0}
.o99-progressive h2{font-size:clamp(1.5rem,2.4vw,2rem);margin-bottom:.7rem}
.o99-progressive .o99-config{padding:1.2rem;background:#f7fafc;border:1px solid #dbe7ef;border-radius:16px}
.o99-progressive .o99-config-grid{align-items:start;gap:2rem}
.o99-progressive .o99-form{padding:0;background:transparent;border:0}
.o99-progressive .o99-result{position:static;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:12px}
.o99-progressive .o99-result h3{font-size:clamp(1.4rem,2.5vw,2rem)}
.o99-progressive #o99-area{font-size:1.8rem;font-weight:700;max-width:180px;color:var(--blue)}
.o99-progressive #o99-area-range{width:100%;min-height:44px;margin:.4rem 0;accent-color:var(--blue);cursor:pointer}
.o99-progressive .o99-refine{margin:1rem 0;background:white;border:1px solid #b9d2e4;border-radius:10px}
.o99-progressive .o99-refine>summary{color:var(--blue);font-weight:700;padding:1rem}
.o99-progressive .o99-refine>div{padding:0 1rem 1rem}
.o99-progressive .o99-mobile-result{display:none}
.o99-progressive .o99-result-detail{margin:.5rem 0;border:0;border-top:1px solid var(--line)}
.o99-progressive .o99-result-detail summary{font-size:.95rem;padding:.6rem 0}
.o99-progressive .o99-row{padding:.5rem}.o99-progressive .o99-row-caption{font-size:.75rem;margin:.25rem 0 0}
.o99-progressive .o99-method{margin:.7rem 0 0}.o99-progressive .o99-reset{font-size:.9rem}
.o99-progressive .o99-deeper{margin:.7rem 0;border:1px solid var(--line);background:#fff;border-radius:10px}
.o99-progressive .o99-deeper>summary{padding:1rem;font-size:1.12rem;color:var(--blue)}
.o99-progressive .o99-deeper>div{padding:0 1.1rem 1.2rem}
.o99-progressive .o99-compare-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}
.o99-progressive .o99-compare-cards p{padding:1rem;background:var(--surface);border-radius:8px;margin:0}
.o99-choisir-shell{max-width:1600px!important;margin:0 auto;padding:1.5rem 24px 3rem}
.o99-choisir-shell>h1{color:#0060A1;font-size:clamp(1.85rem,3.1vw,2.75rem);line-height:1.12;max-width:31ch;margin:0 0 1rem}
.o99-choisir-shell .wp-block-post-content{margin:0;max-width:none}
@media(max-width:700px){.o99-progressive .o99-config{padding:.8rem}.o99-progressive .o99-config-grid{gap:1rem}.o99-choisir-shell{padding:1rem 16px 2rem}.o99-progressive .o99-section{padding:1.5rem 0}.o99-progressive .o99-compare-cards{grid-template-columns:1fr}}

.o99-progressive .o99-cabinet{padding:.5rem;gap:.4rem}
.o99-progressive .o99-row>*{margin-block:0}
.o99-progressive .o99-row .o99-rail{margin:.3rem 0}
.o99-progressive .o99-result>[data-estimate-label]{margin-bottom:.4rem}
.o99-progressive .o99-form>label:first-child{display:block}
@media(max-width:700px){.o99-choisir-shell>h1{font-size:1.7rem}.o99-progressive>.o99-lead{font-size:1rem;line-height:1.45;margin-bottom:.8rem}.o99-progressive #o99-estimer h2{font-size:1.35rem}.o99-progressive #o99-area{font-size:1.5rem;min-height:44px;padding:.35rem}.o99-progressive #o99-area-range{margin:0}.o99-progressive .o99-refine{margin:.4rem 0 0}.o99-progressive .o99-refine>summary{padding:.7rem}.o99-progressive .o99-form>p{margin-bottom:.3rem}}
.o99-choisir-shell{width:100%;min-width:0}.o99-progressive :is(.o99-config-grid,.o99-choice-visual,.o99-equipment-explorer,.o99-location)>*{min-width:0}
.o99-progressive{container-type:inline-size}
@container(max-width:650px){
.o99-progressive :is(.o99-rule-grid,.o99-checks,.o99-fields,.o99-pair,.o99-examples,.o99-compare-cards){grid-template-columns:minmax(0,1fr)}
.o99-progressive .o99-photos figure{grid-template-columns:75px minmax(0,1fr)}
.o99-progressive :is(.o99-rule,.o99-checks label,.o99-photos figcaption){min-width:0}
}

/* Premier lot prises / éclairage : composition lisible et cotation modulaire. */
.o99-builder{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:1.25rem}
.o99-builder-scope{font-size:.85rem;color:var(--muted);margin-bottom:1.2rem!important}
.o99-builder-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.7fr);gap:1.5rem;align-items:start}
.o99-builder-layout>*{min-width:0}
.o99-builder-form fieldset{border:0;border-bottom:1px solid var(--line);margin:0 0 1.3rem;padding:0 0 1rem;min-width:0}
.o99-builder-form legend{font-weight:700;color:var(--blue);font-size:1.05rem;line-height:1.3;margin:0 0 .8rem;padding:0}
.o99-builder-form legend span{display:inline-grid;place-items:center;background:var(--blue);color:white;width:26px;height:26px;border-radius:50%;margin-right:.3rem}
.o99-builder-form label{display:block;font-size:.9rem;font-weight:700;margin:.5rem 0 .25rem}
.o99-builder-form :is(input,select){display:block;width:100%;min-height:44px;border:1px solid #7C8793;border-radius:8px;padding:.5rem;background:white}
.o99-builder-form input{font-size:1.8rem;font-weight:700;color:var(--blue);max-width:140px}
.o99-builder-form select{font-size:.9rem}
.o99-builder-form p{font-size:.8rem;line-height:1.4;color:var(--muted);margin:.45rem 0 .7rem}
.o99-builder-form [aria-invalid=true]{border:2px solid #C61530}
.o99-builder-examples{display:flex;flex-wrap:wrap;gap:.4rem;margin:.8rem 0}
.o99-builder-examples>span{width:100%;font-size:.85rem}
.o99-builder-examples button,.o99-builder-reset{font-size:.8rem!important;padding:.5rem!important;min-height:44px}
.o99-builder-result{padding:1.2rem;border-radius:12px;background:white;border:1px solid var(--line);scroll-margin-top:1rem}
.o99-builder-result h3{font-size:1.55rem;margin-bottom:.5rem}
.o99-builder-result>.o99-kicker{font-size:.75rem}
.o99-builder-partial{font-size:.9rem;line-height:1.4}
.o99-circuit-issues{border-left:3px solid #C61530;background:#FDECEF;padding:.8rem;margin:.8rem 0;font-size:.85rem;line-height:1.4}
.o99-circuit-issues p{margin:0 0 .5rem}.o99-circuit-issues p:last-child{margin:0}
.o99-panel{padding:.9rem;background:var(--surface);border:1px solid #7C8793;border-radius:12px;box-shadow:inset 0 0 0 5px white}
.o99-panel-row+.o99-panel-row{margin-top:1rem}
.o99-row-heading{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem}
.o99-row-heading span{color:var(--muted)}
.o99-slot-scale,.o99-panel-rail{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:0}
.o99-slot-scale{text-align:center;color:var(--muted);font-size:.6rem;margin-top:.2rem}
.o99-panel-rail{position:relative;isolation:isolate;align-items:stretch}
.o99-panel-rail:before{content:'';position:absolute;left:0;right:0;top:40%;height:18%;background:var(--line);border-block:1px solid #7C8793;z-index:-1}
.o99-panel-differential{grid-column:span 2}
.o99-builder .o99-panel-breaker{border:0;background:transparent;color:var(--ink);border-radius:0;padding:0;min-height:0;min-width:0;display:block;line-height:0;box-shadow:none}
.o99-builder .o99-panel-breaker:is(:hover,.is-selected){background:var(--pale);outline:2px solid var(--blue);outline-offset:-2px}
.o99-face{width:100%;height:100%;display:block;overflow:visible}
.o99-panel-free{background:rgba(255,255,255,.6);border:1px dashed #7C8793;border-radius:3px;margin:4px 1px}
.o99-row-purpose{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;margin-top:.35rem;font-size:.68rem;line-height:1.3;color:var(--muted)}
.o99-row-purpose span{display:flex;align-items:center;gap:.25rem}.o99-row-purpose svg{width:18px;height:18px;flex-shrink:0;color:var(--blue)}
.o99-builder-instruction{font-size:.78rem;line-height:1.5;color:var(--muted);margin:.75rem 0 .75rem!important}
.o99-ledger-row{margin:.5rem 0 .9rem}.o99-ledger-row>p{font-size:.75rem;font-weight:700;margin:0 0 .3rem}
.o99-ledger-row>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
.o99-builder .o99-ledger-row button{display:flex;align-items:center;gap:.35rem;min-height:44px;min-width:0;border:1px solid var(--line);padding:.5rem;text-align:left;font-size:.85rem;line-height:1.2;background:white;border-radius:8px;color:var(--ink)}
.o99-ledger-row button svg{width:22px;height:22px;flex-shrink:0;color:var(--blue)}
.o99-builder .o99-ledger-row button.is-selected{background:var(--pale);color:var(--blue);border-color:var(--blue);box-shadow:inset 3px 0 var(--blue)}
.o99-selected-circuit{border-left:3px solid var(--blue);background:var(--pale);padding:.8rem;margin:.5rem 0 1rem;min-height:145px}
.o99-selected-circuit>strong,.o99-selected-circuit>span{display:block}.o99-selected-circuit>span{font-size:.8rem;line-height:1.4}
.o99-point-icons{display:flex;gap:.3rem;flex-wrap:wrap;color:var(--blue);margin:.6rem 0}.o99-point-icons svg{height:26px;width:26px}
.o99-module-count{border-top:1px solid var(--line);padding-top:1rem;font-size:.9rem;line-height:1.5}.o99-module-count p{margin:.4rem 0}.o99-module-count p:first-of-type{font-weight:700;color:var(--blue)}
.o99-builder-method{border-top:1px solid var(--line);margin-top:1.2rem;padding-top:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.o99-builder-method p{font-size:.8rem;line-height:1.5;margin:0}
@container(max-width:850px){.o99-builder-layout{grid-template-columns:minmax(0,1fr)}.o99-builder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem}.o99-builder-form :is(.o99-builder-examples,.o99-builder-reset,.o99-small){grid-column:1/-1}.o99-builder-result{max-width:680px;width:100%;margin:auto}}
@container(max-width:500px){.o99-builder{padding:.7rem}.o99-builder-form{display:block}.o99-builder-result{padding:.7rem}.o99-builder-method{grid-template-columns:1fr;gap:.8rem}.o99-panel{padding:.5rem}.o99-row-heading{font-size:.75rem}.o99-builder-result h3{font-size:1.3rem}.o99-ledger-row>div{grid-template-columns:1fr}.o99-builder .o99-ledger-row button{font-size:.9rem}.o99-row-purpose{font-size:.7rem}.o99-selected-circuit{min-height:0}}
@media print{.o99-builder-form,.o99-builder-instruction{display:none}.o99-builder-layout{display:block}.o99-builder-result{border:0}.o99-builder-method{display:block}.o99-panel-row{break-inside:avoid}}

.o99-builder .o99-face{height:auto}.o99-face-use{display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 0;color:var(--blue);line-height:1;font-size:.8rem}.o99-face-use svg{width:20px;height:20px}.o99-panel-free{align-self:start;height:calc(100% - 48px)}

.o99-builder-mobile{display:none}@container(max-width:850px){.o99-builder-result{scroll-margin-top:85px}.o99-builder-mobile{display:flex;position:sticky;top:0;z-index:3;background:var(--pale);border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem;margin:0 0 1rem;align-items:center;justify-content:space-between;gap:.6rem;font-size:.8rem}.o99-builder-mobile a{display:flex;align-items:center;min-height:44px;white-space:nowrap}.o99-builder-mobile span{line-height:1.3}}@media print{.o99-builder-mobile{display:none}}

/* Accents d'usage demandés par l'utilisateur : bleu conservé, ocre, prune, terre cuite. */
.o99-equipped{--daily:#0060A1;--light:#946000;--appliance:#735078;--thermal:#A64D32}
.o99-equipped [data-family=daily]{--accent:var(--daily);--tint:#EAF4FB}
.o99-equipped [data-family=light]{--accent:var(--light);--tint:#FFF6DD}
.o99-equipped [data-family=appliance]{--accent:var(--appliance);--tint:#F4ECF6}
.o99-equipped [data-family=thermal]{--accent:var(--thermal);--tint:#FFF0E9}
.o99-builder-intro{border-left:4px solid var(--blue);padding:.6rem 1rem;background:white;border-radius:8px;margin-bottom:1.5rem}
.o99-builder-intro strong,.o99-builder-intro span{display:block}.o99-builder-intro span{font-size:.85rem;line-height:1.5;margin-top:.3rem;color:var(--muted)}
.o99-equipped .o99-builder-layout{grid-template-columns:minmax(295px,.9fr) minmax(0,1.6fr)}
.o99-equipped .o99-builder-form{display:block}
.o99-equipped .o99-builder-form fieldset{background:white;border:1px solid var(--line);border-radius:10px;padding:1rem;margin-bottom:1.25rem}
.o99-equipped .o99-builder-form legend{padding:0 .25rem;margin-bottom:.3rem}
.o99-equipped .o99-builder-form input[type=number]{font-size:1.35rem;max-width:100%;padding:.4rem}
.o99-input-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.o99-input-pair>*{min-width:0}
.o99-equipped .o99-builder-form p{font-size:.8rem}
.o99-equipment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.8rem 0}
.o99-equipped .o99-equipment-options label{display:flex;align-items:center;gap:.4rem;min-height:64px;min-width:0;background:var(--tint);border:1px solid var(--line);border-radius:8px;padding:.55rem .4rem;margin:0;cursor:pointer;font-size:.84rem;line-height:1.2;font-weight:700}
.o99-equipped .o99-equipment-options label:has(:checked){border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}
.o99-equipped .o99-equipment-options input{width:17px;height:17px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:var(--accent)}
.o99-equipment-options [data-icon]{display:flex;flex-shrink:0;color:var(--accent)}.o99-equipment-options svg{width:23px;height:23px}
.o99-equipment-options small{display:block;font-size:.7rem;font-weight:400;line-height:1.3;margin-top:.25rem;color:var(--muted)}
.o99-equipment-detail{border-left:3px solid var(--thermal);padding-left:.8rem;margin:.8rem 0 0}.o99-equipment-detail>strong{font-size:.9rem}
.o99-heater-row{display:flex;gap:.5rem;align-items:end;margin:.4rem 0}.o99-heater-row label{flex:1;min-width:0;margin:0!important}.o99-heater-row>span{padding-bottom:.7rem}.o99-heater-row button{width:44px;min-height:44px;padding:.2rem;font-size:1.4rem}.o99-equipped [data-add-heater]{font-size:.8rem;padding:.5rem;margin-top:.5rem}
.o99-studio .o99-fold.o99-equipment-fold>summary,.o99-studio .o99-fold.o99-light-settings>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem .5rem}
.o99-studio .o99-equipment-fold>summary strong,.o99-studio .o99-light-settings>summary strong{grid-column:1}
.o99-studio .o99-equipment-fold>summary span,.o99-studio .o99-light-settings>summary span{grid-column:1;grid-row:2}
.o99-studio .o99-equipment-fold>summary::after,.o99-studio .o99-light-settings>summary::after{grid-column:2;grid-row:1 / span 2}
.o99-studio .o99-equipment-fold>div,.o99-studio .o99-light-settings>div{background:linear-gradient(135deg,#fff,var(--tint,#EAF4FB))}
.o99-studio .o99-settings-done{display:block;margin:1rem auto 0;min-width:110px}
.o99-studio .o99-light-zone{padding:.65rem;margin:.6rem 0;border:1px solid #B7C4CE;background:#fff;border-radius:8px;box-shadow:0 3px 6px rgba(30,53,70,.08)}
.o99-studio .o99-light-zone label{display:block;min-width:0}
.o99-studio .o99-light-zone input[type=text]{width:100%;max-width:100%;min-height:44px;padding:.55rem .65rem;margin:.4rem 0 .6rem;border:1px solid #7C8793;border-radius:8px;background:#fff;font-size:1rem;font-weight:600;color:#1A1A1A;box-shadow:inset 0 2px 3px rgba(0,63,107,.05)}
.o99-studio .o99-light-zone [data-remove-light-zone]{font-size:.8rem}
.o99-family-key{display:flex;gap:.4rem .8rem;flex-wrap:wrap;margin:.8rem 0 1rem;font-size:.74rem;line-height:1.4}.o99-family-key span{display:flex;align-items:center;gap:.35rem}.o99-family-key span:before{content:'';width:9px;height:9px;border-radius:50%;background:var(--accent)}
.o99-equipped .o99-slot-scale,.o99-equipped .o99-panel-rail{grid-template-columns:repeat(var(--slots,13),minmax(0,1fr))}
.o99-equipped .o99-panel-row+.o99-panel-row{margin-top:1.3rem}
.o99-equipped .o99-panel-rail:before{top:40%;height:13%}
.o99-equipped .o99-panel-breaker{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start}
.o99-equipped .o99-panel-free{height:calc(100% - 48px)}
.o99-equipped .o99-panel-breaker .o99-face-use{color:var(--accent,var(--blue));background:var(--tint,transparent);border-bottom:2px solid var(--accent,var(--blue));font-size:.7rem;min-height:44px}
.o99-equipped .o99-panel-breaker:is(:hover,.is-selected){background:var(--tint,var(--pale));outline-color:var(--accent,var(--blue))}
.o99-equipped .o99-rcd-label{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:.4rem 0;margin:.2rem 0;background:transparent;color:var(--blue);font-size:.83rem;min-height:44px;width:100%;text-align:left}
.o99-rcd-label svg{width:20px;height:20px}.o99-rcd-label span{margin-left:auto;color:var(--muted)}
.o99-equipped .o99-rcd-label.is-selected{background:var(--pale);box-shadow:inset 3px 0 var(--blue);padding-left:.4rem}
.o99-equipped .o99-ledger-row button{background:var(--tint);border-left:3px solid var(--accent);font-size:.8rem}
.o99-equipped .o99-ledger-row button svg{color:var(--accent);width:25px;height:25px}
.o99-equipped .o99-ledger-row button small{display:block;font-size:.78rem;margin-top:.3rem;color:var(--muted)}
.o99-equipped .o99-ledger-row button.is-selected{background:var(--tint);border-color:var(--accent);color:var(--accent);box-shadow:inset 2px 0 var(--accent)}
.o99-equipped .o99-selected-circuit{border-color:var(--accent,var(--blue));background:var(--tint,var(--pale));margin-top:1rem;min-height:210px}
.o99-equipped .o99-selected-circuit>strong{font-size:1rem;color:var(--accent,var(--blue))}.o99-equipped .o99-selected-circuit p{font-size:.83rem;line-height:1.5;margin:.5rem 0}.o99-equipped .o99-point-icons{color:var(--accent,var(--blue))}
.o99-choice-facts{display:flex;gap:.3rem .6rem;flex-wrap:wrap;font-size:.78rem;margin:.5rem 0}.o99-choice-facts>*{background:white;border-radius:5px;padding:.3rem .45rem}
.o99-pending-equipment{background:#FFF6DD;border-left:3px solid #946000;padding:1rem;margin-top:1rem;border-radius:8px}.o99-pending-equipment>strong{font-size:.9rem}.o99-pending-equipment p{font-size:.85rem;line-height:1.5;margin:.5rem 0 0}
.o99-equipped .o99-project-check{font-size:.78rem;line-height:1.5;padding-top:1rem;border-top:1px solid var(--line);margin-top:1rem;margin-bottom:0;color:var(--muted)}
.o99-calibre-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.o99-calibre-guide>div{background:var(--pale);border-radius:10px;padding:1rem}.o99-calibre-guide>div:nth-child(2){background:#FFF6DD}.o99-calibre-guide>div:nth-child(3){background:#F4ECF6}.o99-calibre-guide b{display:block;font-size:1.5rem;color:var(--blue)}.o99-calibre-guide p{font-size:.95rem;margin:.4rem 0 0}
@container(max-width:950px){.o99-equipped .o99-builder-layout{grid-template-columns:minmax(0,1fr)}.o99-equipped .o99-builder-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.8rem}.o99-equipped .o99-builder-form fieldset{margin:0;height:100%}.o99-equipped .o99-builder-result{max-width:none}.o99-equipped .o99-builder-examples,.o99-equipped .o99-builder-reset,.o99-equipped .o99-builder-form>.o99-small{grid-column:1/-1}.o99-equipped .o99-builder-mobile{display:flex;position:sticky;top:0;z-index:3;background:var(--pale);border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem;margin:0 0 1rem;align-items:center;justify-content:space-between;gap:.6rem;font-size:.8rem}.o99-equipped .o99-builder-mobile a{min-height:44px;display:flex;align-items:center}.o99-equipped .o99-builder-result{scroll-margin-top:85px}}
@container(max-width:600px){.o99-equipped .o99-builder-form{display:block}.o99-equipped .o99-builder-form fieldset{margin-bottom:1rem;padding:.8rem}.o99-equipped .o99-equipment-options{grid-template-columns:1fr}.o99-equipped .o99-equipment-options label{min-height:56px;padding:.6rem;font-size:.95rem}.o99-equipped .o99-equipment-options small{font-size:.8rem}.o99-equipped .o99-selected-circuit{min-height:0}.o99-equipped .o99-rcd-label{font-size:.78rem}.o99-calibre-guide{grid-template-columns:1fr}.o99-equipped .o99-ledger-row>div{grid-template-columns:1fr}.o99-equipped .o99-panel{padding:.4rem}.o99-equipped .o99-face-use svg{width:18px;height:18px}}
@media print{.o99-equipped .o99-builder-form,.o99-equipped .o99-builder-mobile{display:none}.o99-equipped .o99-builder-layout{display:block}}

/* Repères D1… et méthode de choix visible, révision 0.4.1. */
.o99-equipped .o99-rule-policy{background:var(--pale);border-left:3px solid var(--blue);padding:.7rem .85rem;margin:0 0 1rem;border-radius:6px;font-size:.85rem}
.o99-rule-policy strong{color:var(--blue)}.o99-rule-policy p{margin:.35rem 0 0;font-size:.83rem;line-height:1.5}
.o99-equipped .o99-rcd-method{flex-basis:100%;font-size:.75rem;color:var(--muted);line-height:1.4}
.o99-equipped .o99-evolution{font-size:.82rem;line-height:1.5;border-left:3px solid var(--blue);padding:.4rem .7rem;background:var(--pale)}
.o99-equipped .o99-ledger-row button small{line-height:1.5}

/* Choix explicite de la méthode et calcul à la demande, version 0.5.0. */
.o99-validation-box{border:1px solid var(--line);border-radius:10px;padding:.85rem;margin:1rem 0;background:white}
.o99-validation-box fieldset{margin:0;padding:0;border:0;min-width:0}
.o99-validation-box legend{font-weight:bold;font-size:.9rem;margin-bottom:.6rem}
.o99-validation-box label{display:flex;gap:.65rem;align-items:start;padding:.7rem;border:1px solid var(--line);border-radius:7px;margin:.5rem 0;cursor:pointer;min-height:44px}
.o99-validation-box label:has(:checked){background:var(--pale);border-color:var(--blue)}
.o99-validation-box input{width:18px;height:18px;min-height:18px;flex-shrink:0;margin:.15rem 0 0;accent-color:var(--blue)}
.o99-validation-box small{display:block;font-size:.8rem;font-weight:normal;line-height:1.5;margin-top:.25rem}
.o99-equipped .o99-validation-box [data-validate]{width:100%;background:var(--blue);color:white;text-align:center;min-height:48px;font-size:.9rem;line-height:1.5;white-space:normal}
.o99-equipped .o99-validation-box [data-validate]:disabled{opacity:.55;cursor:not-allowed}
.o99-equipped .o99-validation-box [data-redistribute]{font-size:.85rem;white-space:normal;line-height:1.5}
.o99-validation-box [data-distribution-message]{padding:.7rem;background:#FFF6DD;border-left:3px solid #946000}
.o99-validation-box .o99-small{margin:.6rem 0;font-size:.8rem;line-height:1.5}

/* Interface compacte 0.5.1 : aide à la demande, détails repliés. */
.o99-compact .o99-builder-intro{margin-bottom:1rem;padding:.6rem .85rem}
.o99-compact .o99-builder-intro span{font-size:.8rem;margin-top:.1rem}
.o99-compact .o99-field-label{display:flex;align-items:center;gap:.2rem;min-width:0;margin-top:.4rem}
.o99-compact .o99-field-label label{flex:1;min-width:0;margin:0;font-size:.86rem;line-height:1.35}
.o99-compact .o99-field-label>strong{flex:1;font-size:.86rem;line-height:1.35}
.o99-compact button.o99-info{display:inline-grid;place-items:center;flex-shrink:0;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--blue);border-radius:50%;font-size:.83rem;font-weight:700;cursor:pointer}
.o99-compact .o99-info>span{display:grid;place-items:center;width:22px;height:22px;border:1px solid #94B5CC;border-radius:50%;background:#EAF4FB;font-family:Georgia,serif}
.o99-compact .o99-info[aria-expanded=true]>span,.o99-compact .o99-info:hover>span{color:#fff;background:var(--blue);border-color:var(--blue)}
.o99-compact .o99-help-text{padding:.75rem;margin:.2rem 0 .65rem;border:1px solid #B9D2E4;border-radius:8px;background:#EAF4FB;color:var(--ink);font-size:.82rem;line-height:1.55;overflow-wrap:anywhere}
.o99-compact .o99-help-text strong{display:block;margin-bottom:.25rem}
.o99-compact .o99-help-text p{margin:0;color:inherit;font-size:inherit;line-height:inherit}
.o99-compact .o99-method-choice{margin:.85rem 0 0;border-top:1px solid var(--line);padding-top:.85rem}
.o99-compact .o99-method-choice fieldset{padding:0;margin:0;border:0;background:none;border-radius:0}
.o99-compact .o99-method-choice legend{font-size:.86rem;color:var(--ink);padding:0;margin:0 0 .35rem}
.o99-compact .o99-method-option{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border:1px solid var(--line);border-radius:8px;margin:.4rem 0;overflow:hidden}
.o99-compact .o99-method-option:has(:checked){background:var(--pale);border-color:var(--blue)}
.o99-compact .o99-method-option label{display:flex;align-items:center;gap:.5rem;margin:0;padding:.6rem .25rem .6rem .6rem;min-height:60px;font-size:.83rem;line-height:1.3;cursor:pointer}
.o99-compact .o99-method-option input{width:17px;height:17px;min-height:0;margin:0;padding:0;flex-shrink:0;accent-color:var(--blue)}
.o99-compact .o99-method-option small{display:block;font-weight:400;font-size:.76rem;color:var(--muted);margin-top:.25rem}
.o99-compact .o99-method-option .o99-help-text{grid-column:1/-1;margin:0 .5rem .5rem}
.o99-compact .o99-validation-box{border:0;padding:0;margin:.8rem 0 1rem}
.o99-compact .o99-validation-box [data-validation-help]{margin:0 0 .5rem}
.o99-compact .o99-rule-policy{font-size:.8rem;padding:.5rem .65rem;margin-bottom:.7rem}
.o99-compact .o99-builder-partial{font-size:.84rem;margin-bottom:.5rem}
.o99-compact .o99-family-key{gap:.3rem .7rem;margin:.7rem 0;font-size:.7rem}
.o99-compact .o99-fold{border:1px solid var(--line);border-radius:8px;background:white;margin:.5rem 0;overflow:hidden}
.o99-compact .o99-fold>summary{list-style:none;display:flex;align-items:center;gap:.5rem;min-height:48px;padding:.65rem .75rem;font-size:.86rem;line-height:1.4;font-weight:700;color:var(--ink);cursor:pointer}
.o99-compact .o99-fold>summary::-webkit-details-marker{display:none}
.o99-compact .o99-fold>summary::after{content:'+';font-size:1.3rem;font-weight:400;line-height:1;width:22px;flex-shrink:0;text-align:center;margin-left:auto;color:var(--blue)}
.o99-compact .o99-fold[open]>summary::after{content:'−'}
.o99-compact .o99-fold[open]>summary{border-bottom:1px solid var(--line);background:#F7FAFC}
.o99-compact .o99-fold>div{padding:.8rem;font-size:.82rem;line-height:1.5}
.o99-compact .o99-fold>summary span{font-size:.75rem;font-weight:400;color:var(--muted)}
.o99-compact .o99-ledger-row>summary span{margin-left:auto}
.o99-compact .o99-ledger-row>summary::after{margin-left:0}
.o99-compact .o99-ledger-method{grid-column:1/-1;font-size:.8rem;line-height:1.4;margin:0 0 .3rem}
.o99-compact .o99-selected-circuit{min-height:0;margin:0;border:0;border-left:3px solid var(--accent,var(--blue))}
.o99-compact .o99-space-summary{display:flex;gap:.4rem 1rem;flex-wrap:wrap;justify-content:space-between;margin:1rem 0 .5rem;font-size:.84rem;line-height:1.5}
.o99-compact .o99-space-summary strong{color:var(--blue)}
.o99-compact .o99-space-summary span{color:var(--muted)}
.o99-compact .o99-module-count{padding:0}
.o99-compact .o99-small-fold>summary{font-size:.78rem;font-weight:400}
.o99-compact .o99-project-check{padding:.6rem 0 0;margin:.7rem 0 .3rem;font-size:.78rem}
.o99-compact .o99-builder-notes{margin-top:1rem}
.o99-compact .o99-builder-method{margin:0;border:0;display:block;padding:.8rem}
.o99-compact .o99-builder-method p+p{margin-top:.6rem}
.o99-compact :is(button,summary,input,select):focus-visible{outline:3px solid #0060A1;outline-offset:3px}
@container(max-width:600px){
 .o99-compact .o99-input-pair:has(#o99-sockets){grid-template-columns:1fr}
 .o99-compact .o99-builder-form fieldset{padding:.7rem}
 .o99-compact .o99-method-choice fieldset{padding:0}
 .o99-compact .o99-fold>summary{font-size:.82rem;padding:.6rem}
 .o99-compact .o99-fold>div{padding:.6rem}
 .o99-compact .o99-ledger-row>summary{flex-wrap:wrap}
 .o99-compact .o99-ledger-row>summary span{font-size:.7rem}
}

/* Atelier 0.6.0 : une rubrique ouverte, des surfaces et des reliefs lisibles. */
.o99-studio{--panel-shadow:0 8px 24px rgba(0,63,107,.08),0 1px 3px rgba(0,63,107,.06);background:linear-gradient(135deg,#EAF4FB 0%,#F4F6F8 60%);border-color:#B9D2E4;border-radius:18px;padding:1.2rem;box-shadow:inset 0 1px 0 #fff}
.o99-studio .o99-builder-intro{background:#004B7D;color:white;padding:1rem 1.2rem;border:0;border-radius:12px;box-shadow:0 6px 16px rgba(0,63,107,.13);margin-bottom:1.4rem}
.o99-studio .o99-builder-intro strong{font-size:1.08rem;font-weight:700;letter-spacing:-.015em}
.o99-studio .o99-builder-intro span{color:#fff;font-size:.83rem;line-height:1.5;margin-top:.3rem}
.o99-studio .o99-builder-layout{grid-template-columns:minmax(320px,1fr) minmax(0,1.65fr);gap:1.3rem}
.o99-studio .o99-builder-form{display:block;min-width:0}
.o99-studio .o99-step{border:1px solid #B9C8D3;border-radius:12px;margin:0 0 .8rem;background:white;box-shadow:0 2px 5px rgba(0,63,107,.05);overflow:clip;transition:box-shadow .2s,border-color .2s}
.o99-studio .o99-step.is-expanded{border-color:var(--accent,var(--blue));box-shadow:var(--panel-shadow)}
.o99-studio .o99-step>summary{list-style:none;display:flex;align-items:center;gap:.7rem;min-height:82px;padding:.8rem;color:#1A1A1A;cursor:pointer;background:var(--tint,#EAF4FB);transition:background-color .2s,color .2s}
.o99-studio .o99-step>summary::-webkit-details-marker{display:none}
.o99-studio .o99-step>summary:hover{box-shadow:inset 0 0 0 2px var(--accent,var(--blue))}
.o99-studio .o99-step-number{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:10px;background:#fff;color:var(--accent,var(--blue));border:1px solid currentColor;font-size:1rem;font-weight:700}
.o99-studio .o99-step-title{flex:1;min-width:0;font-size:1rem;font-weight:700;line-height:1.25;letter-spacing:-.015em}
.o99-studio .o99-step-title small{display:block;color:#5F6368;font-size:.73rem;font-weight:400;line-height:1.4;letter-spacing:0;margin-top:.3rem}
.o99-studio .o99-step-toggle{position:relative;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;flex-shrink:0;color:var(--accent,var(--blue))}
.o99-studio .o99-step-toggle:before,.o99-studio .o99-step-toggle:after{content:'';position:absolute;left:7px;right:7px;top:12px;height:2px;background:currentColor}
.o99-studio .o99-step-toggle:after{transform:rotate(90deg);transition:transform .26s}
.o99-studio .o99-step.is-expanded>summary{background:var(--accent,var(--blue));color:#fff}
.o99-studio .o99-step.is-expanded .o99-step-title small{color:#fff}
.o99-studio .o99-step.is-expanded .o99-step-toggle{color:#fff}
.o99-studio .o99-step.is-expanded .o99-step-toggle:after{transform:rotate(0)}
.o99-studio .o99-step>summary:focus-visible{outline:3px solid #fff;outline-offset:-5px;box-shadow:inset 0 0 0 7px var(--blue)}
.o99-studio .o99-step-body{padding:0;display:flow-root}
.o99-studio .o99-step-body>fieldset{border:0;border-radius:0;padding:.9rem;margin:0;background:linear-gradient(180deg,#F4F6F8,#fff);height:auto}
.o99-studio .o99-step-body>fieldset>legend{padding:0}
.o99-studio .o99-method-choice fieldset{border:0;padding:0;margin:0;background:transparent}
.o99-studio .o99-field-label{margin-top:.15rem}
.o99-studio .o99-field-label label,.o99-studio .o99-field-label strong{font-weight:700;color:#003F6B}
.o99-studio .o99-builder-form :is(select,input[type=number]){border-color:#7C8793;box-shadow:inset 0 2px 3px rgba(0,63,107,.05),0 1px 0 #fff;border-radius:8px;background:#fff}
.o99-studio .o99-input-pair:has(#o99-sockets){background:#EAF4FB;border-radius:10px;padding:.6rem;margin-bottom:.6rem;gap:.5rem}
.o99-studio .o99-method-option{background:white;box-shadow:0 2px 5px rgba(0,63,107,.05)}
.o99-studio .o99-method-option:has(:checked){border-color:var(--blue);box-shadow:inset 3px 0 var(--blue),0 3px 7px rgba(0,63,107,.08);background:#EAF4FB}
.o99-studio .o99-equipment-options{gap:.6rem}
.o99-studio .o99-equipment-options label{min-height:82px;border-color:#B9C8D3;background:#fff;box-shadow:0 3px 8px rgba(0,63,107,.06);border-radius:10px;transition:box-shadow .18s,border-color .18s,background-color .18s}
.o99-studio .o99-equipment-options label:hover{border-color:var(--accent);box-shadow:0 5px 12px rgba(0,63,107,.12)}
.o99-studio .o99-equipment-options label:has(:checked){background:var(--tint);border-color:var(--accent);box-shadow:inset 3px 0 var(--accent),0 4px 9px rgba(0,63,107,.1)}
.o99-studio .o99-equipment-options [data-icon]{background:var(--tint);padding:.25rem;border-radius:7px}
.o99-studio .o99-equipment-detail{border:1px solid #D9DEE3;border-left:3px solid var(--thermal);background:#FFF0E9;padding:.7rem;border-radius:8px}
.o99-studio .o99-builder-result{border-color:#B9C8D3;border-radius:14px;box-shadow:var(--panel-shadow);padding:1.1rem;background:#fff}
.o99-studio .o99-builder-result>.o99-kicker{color:#004B7D;border-bottom:1px solid #D9DEE3;padding-bottom:.8rem;margin-bottom:.85rem;font-weight:700}
.o99-studio .o99-panel{background:linear-gradient(135deg,#CBD5DD,#B9C6D0);border-color:#8C9EAC;box-shadow:inset 0 2px 6px rgba(30,53,70,.18),0 1px 0 #fff;padding:.65rem}
.o99-studio .o99-panel-row{background:#EAF0F4;border:1px solid #A6B6C2;border-radius:9px;padding:.6rem;box-shadow:inset 0 1px 0 #fff,0 2px 4px rgba(30,53,70,.14)}
.o99-studio .o99-panel-row+.o99-panel-row{margin-top:.8rem}
.o99-studio .o99-row-heading strong{font-weight:700;color:#003F6B}
/* Recess stays behind the faces, ending above the coloured circuit labels. */
.o99-studio .o99-panel-rail::after{content:'';position:absolute;inset:0 0 44px;z-index:-2;border-radius:4px;background:linear-gradient(180deg,#7B8D9C,#A5B3BE);box-shadow:inset 0 3px 6px rgba(30,45,56,.28),inset 0 -1px 0 rgba(255,255,255,.55);pointer-events:none}
.o99-studio .o99-panel-rail::before{background:linear-gradient(180deg,#D6DFE5 0%,#8295A3 18%,#C1CDD5 30%,#C1CDD5 75%,#718796 100%);border-color:#637B8C;box-shadow:0 2px 3px rgba(30,45,56,.18)}
.o99-studio .o99-panel-free{background:rgba(232,240,245,.18);border-color:#4E6575;box-shadow:inset 1px 2px 3px rgba(30,45,56,.12)}
.o99-studio .o99-panel-breaker .o99-face-use{box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset -1px 0 0 rgba(30,53,70,.12)}
.o99-studio .o99-validation-box [data-validate]:enabled{background:var(--blue);border-color:var(--blue);box-shadow:0 4px 9px rgba(0,96,161,.2);font-weight:700}
.o99-studio .o99-validation-box [data-validate]:disabled{opacity:1;color:#5F6368;background:#E9ECEF;border-color:#C9CED4;box-shadow:none}
.o99-studio .o99-fold{box-shadow:0 2px 5px rgba(0,63,107,.04);border-color:#BCCAD5;background:#fff}
.o99-studio .o99-fold>summary{background:#F4F6F8;color:#003F6B}
.o99-studio .o99-fold>summary::after{content:'+';width:24px;height:24px;display:grid;place-items:center;border:1px solid #94B5CC;border-radius:50%;background:#fff;font-size:1.05rem}
.o99-studio .o99-fold.is-expanded>summary::after{content:'−'}
.o99-studio .o99-fold.is-expanded>summary{background:#EAF4FB}
.o99-studio .o99-fold>summary:focus-visible{outline-offset:-4px}
.o99-studio :is(.o99-step,.o99-fold).is-moving>div{overflow:hidden}
.o99-studio .o99-space-summary{background:#EAF4FB;padding:.65rem .75rem;border-radius:8px;border:1px solid #B9D2E4}
.o99-studio .o99-builder-examples{background:rgba(255,255,255,.7);border:1px solid #B9C8D3;border-radius:10px;padding:.7rem;margin:.8rem 0}
.o99-studio .o99-builder-examples>span{font-weight:700;color:#003F6B}
.o99-studio .o99-builder-reset{display:block;width:fit-content;max-width:100%;margin:1.5rem auto .5rem;padding:.65rem 1rem!important;background:#fff;box-shadow:0 2px 5px rgba(0,63,107,.08)}
@container(max-width:950px){.o99-studio .o99-builder-layout{grid-template-columns:minmax(0,1fr)}.o99-studio .o99-builder-form{display:block}}
@container(max-width:600px){
 .o99-studio{padding:.65rem;border-radius:14px}
 .o99-studio .o99-builder-intro{padding:.85rem;margin-bottom:1rem}
 .o99-studio .o99-builder-intro strong{font-size:1rem}
 .o99-studio .o99-step>summary{padding:.65rem;gap:.5rem;min-height:78px}
 .o99-studio .o99-step-title{font-size:.95rem}
 .o99-studio .o99-step-number{width:30px;height:30px;border-radius:8px}
 .o99-studio .o99-step-toggle{width:24px;height:24px}
 .o99-studio .o99-step-toggle:before,.o99-studio .o99-step-toggle:after{top:10px;left:5px;right:5px}
 .o99-studio .o99-step-body>fieldset{padding:.65rem}
 .o99-studio .o99-equipment-options label{min-height:62px}
 .o99-studio .o99-builder-result{padding:.7rem}
 .o99-studio .o99-panel{padding:.35rem}
 .o99-studio .o99-panel-row{padding:.25rem;border-radius:6px}
 .o99-studio .o99-panel-row+.o99-panel-row{margin-top:.6rem}
 .o99-studio .o99-rcd-label{font-size:.72rem}
}
/* Point de départ visible, détails regroupés : présentation 0.7.0. */
.o99-studio .o99-start{display:grid;grid-template-columns:minmax(200px,.8fr) minmax(0,1.7fr);gap:.8rem 1.2rem;align-items:center;margin:0 0 1.2rem;padding:1.2rem;border:1px solid #0060A1;border-radius:13px;background:linear-gradient(120deg,#003F6B,#0060A1);box-shadow:0 6px 16px rgba(0,63,107,.16);color:white}
.o99-studio .o99-start h3{font-size:1.2rem;line-height:1.3;color:white;margin:0 0 .4rem;letter-spacing:-.015em}
.o99-studio .o99-start-copy p{margin:0;color:#EAF4FB;font-size:.85rem;line-height:1.5}
.o99-studio .o99-start-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.o99-studio .o99-start-options button{position:relative;display:flex;align-items:center;justify-content:center;gap:.7rem;text-align:left;min-width:0;min-height:72px;padding:.65rem .85rem;border:2px solid #B9DEFA;border-radius:9px;color:#003F6B;background:linear-gradient(155deg,#fff,#EAF4FB);box-shadow:inset 0 1px 0 #fff,0 5px 0 #AFBFCC,0 9px 16px rgba(0,28,48,.28);white-space:normal;line-height:1.25;transition:background .16s,box-shadow .16s}
.o99-studio .o99-start-options button strong{display:block;font-size:1.125rem;font-weight:700}
.o99-studio .o99-start-options button small{display:block;font-size:.875rem;font-weight:400;margin-top:.25rem;color:#435A6A}
.o99-studio .o99-start-options [data-icon]{flex-shrink:0;display:flex}
.o99-studio .o99-start-options svg{width:30px;height:30px}
.o99-studio .o99-start-options button:hover{background:white;box-shadow:inset 0 1px 0 #fff,0 5px 0 #AFBFCC,0 11px 20px rgba(0,28,48,.35)}
.o99-studio .o99-start-options button[aria-pressed=true]{color:white;background:linear-gradient(145deg,#0060A1,#003F6B);border-color:#B9DEFA;transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 6px 0 #002E4E,0 10px 20px rgba(0,28,48,.4)}
.o99-studio .o99-start-options button[aria-pressed=true] small{color:white}
.o99-studio .o99-start-options button[aria-pressed=true]::after{content:'✓';position:absolute;top:-10px;right:6px;background:white;color:#003F6B;width:24px;height:24px;border-radius:50%;font-size:1rem;font-weight:700;display:grid;place-items:center;border:2px solid #003F6B}
.o99-studio .o99-start-options button:focus-visible{outline:3px solid white;outline-offset:4px}
.o99-studio .o99-start .o99-start-hint{grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.5;color:#EAF4FB}
.o99-studio .o99-validation-caption{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#5F6368;line-height:1.4}
.o99-studio .o99-validation-caption .o99-info{margin-left:auto}
.o99-studio .o99-tableau-details{background:#F4F6F8;border-color:#C5D0D9;box-shadow:none}
.o99-studio .o99-tableau-details>div{padding:.6rem}
.o99-studio .o99-tableau-details .o99-fold{box-shadow:none}
.o99-studio .o99-tableau-details .o99-fold:first-child{margin-top:0}
.o99-studio .o99-tableau-details .o99-builder-notes{margin-top:.5rem;margin-bottom:0}
@container(max-width:950px){.o99-studio .o99-start{grid-template-columns:1fr}.o99-studio .o99-start-options button{min-height:72px}}
@container(max-width:600px){.o99-studio .o99-start{padding:.9rem;gap:.75rem}.o99-studio .o99-start h3{font-size:1.1rem}.o99-studio .o99-start-options{grid-template-columns:1fr}.o99-studio .o99-start-options button{min-height:62px;padding:.6rem .7rem}.o99-studio .o99-start-options button small{margin-top:.15rem}.o99-studio .o99-tableau-details>div{padding:.4rem}}
/* Cartes intérieures : titres ancrés, saisies sur un plan distinct. */
.o99-studio .o99-step-body>fieldset{background:linear-gradient(155deg,var(--tint,#EAF4FB),#E6ECF1);padding:.85rem}
.o99-studio .o99-field-card{background:#fff;border:1px solid #AFBFCC;border-radius:10px;box-shadow:0 3px 0 rgba(53,78,97,.07),0 5px 12px rgba(30,53,70,.1);margin:0 0 .7rem;overflow:hidden;transition:box-shadow .18s,border-color .18s}
.o99-studio .o99-field-card:focus-within{border-color:var(--accent,var(--blue));box-shadow:0 0 0 2px var(--tint,#EAF4FB),0 6px 14px rgba(30,53,70,.14)}
.o99-studio .o99-field-card>.o99-field-label{padding:0 .25rem 0 .6rem;margin:0;min-height:44px;background:var(--tint,#EAF4FB);border-left:3px solid var(--accent,var(--blue));border-bottom:1px solid #D1DCE4;box-shadow:inset 0 1px 0 rgba(255,255,255,.9)}
.o99-studio .o99-field-card>.o99-field-label label{font-size:.87rem;line-height:1.35;color:#163D58}
.o99-studio .o99-field-card>:is(select,input[type=number]){display:block;width:calc(100% - 1rem);margin:.5rem;border-color:#7C8F9E;background:linear-gradient(180deg,#fff,#F7FAFC);box-shadow:inset 0 1px 3px rgba(30,53,70,.08),0 1px 0 #fff;font-weight:600;color:#1A1A1A}
.o99-studio .o99-field-card>input[type=number]{color:#0060A1;font-size:1.25rem}
.o99-studio .o99-field-card>.o99-help-text{margin:.5rem .5rem 0}
.o99-studio .o99-input-pair:has(#o99-sockets){background:transparent;padding:0;gap:.6rem;margin:0}
.o99-studio .o99-input-pair:has(#o99-sockets)>div{min-width:0}
.o99-studio .o99-method-choice{border-top:0;margin:.8rem 0 0;padding:0}
.o99-studio .o99-method-choice fieldset{border:1px solid #AFBFCC;border-radius:10px;background:#fff;padding:.55rem;box-shadow:0 4px 12px rgba(30,53,70,.1)}
.o99-studio .o99-method-choice legend{padding:.3rem .55rem;margin:0;background:#003F6B;color:white;border-radius:5px;font-size:.83rem;box-shadow:0 2px 4px rgba(30,53,70,.15)}
.o99-studio .o99-method-option{border-color:#ACBEC9;box-shadow:0 2px 0 rgba(30,53,70,.08),0 4px 8px rgba(30,53,70,.08)}
.o99-studio .o99-method-option:has(:checked){box-shadow:inset 3px 0 #0060A1,0 3px 8px rgba(0,63,107,.16)}
.o99-studio .o99-equipment-options label{background:linear-gradient(155deg,#fff,var(--tint));border-color:#A9BBC9;box-shadow:inset 0 1px 0 #fff,0 3px 0 rgba(30,53,70,.08),0 5px 12px rgba(30,53,70,.12)}
.o99-studio .o99-equipment-options label:has(:checked){box-shadow:inset 3px 0 var(--accent),inset 0 1px 0 #fff,0 3px 0 rgba(30,53,70,.08),0 6px 13px rgba(30,53,70,.15)}
.o99-studio .o99-equipment-options [data-icon]{border:1px solid currentColor;background:#fff;box-shadow:0 2px 4px rgba(30,53,70,.1);border-radius:7px}
.o99-studio .o99-equipment-detail{border-color:#B9C5CE;border-left-color:var(--accent,var(--thermal));background:linear-gradient(135deg,#fff,var(--tint));box-shadow:0 4px 10px rgba(30,53,70,.1)}
.o99-studio .o99-equipment-detail>.o99-field-label{margin:0 0 .4rem;padding:0 0 .2rem;border-bottom:1px solid #BECBD5}
.o99-studio .o99-equipment-detail>.o99-field-card{margin:0}
.o99-studio .o99-equipment-detail .o99-input-pair>div{padding:.5rem;border:1px solid #AFBFCC;border-radius:8px;background:#fff;box-shadow:0 3px 6px rgba(30,53,70,.08);min-width:0}
.o99-studio .o99-equipment-detail .o99-input-pair+.o99-input-pair{margin-top:.6rem}
.o99-studio .o99-equipment-detail .o99-input-pair label{color:#163D58}
.o99-studio .o99-heater-row{background:#fff;border:1px solid #B7C4CE;padding:.5rem;border-radius:8px;box-shadow:0 3px 6px rgba(30,53,70,.08)}
@container(max-width:600px){.o99-studio .o99-step-body>fieldset{padding:.65rem}.o99-studio .o99-field-card>.o99-field-label{padding-left:.45rem}.o99-studio .o99-method-choice fieldset{padding:.4rem}.o99-studio .o99-equipment-detail .o99-input-pair{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.o99-studio *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.o99-studio .o99-builder-form{display:none}.o99-studio{background:white;box-shadow:none}.o99-studio .o99-builder-result{box-shadow:none}}

/* Périmètre fixe et extérieur : mêmes surfaces et couleurs que les rubriques. */
.o99-studio .o99-supply-fixed{display:flex;align-items:center;gap:.7rem;padding:.8rem;background:#EAF4FB;border:1px solid #BDD4E3;border-radius:10px;box-shadow:0 2px 5px #003F6B14}
.o99-studio .o99-supply-fixed>[data-icon]{color:#0060A1;width:25px;flex:0 0 25px}
.o99-studio .o99-supply-fixed>div{flex:1;min-width:0}
.o99-studio .o99-supply-fixed strong,.o99-studio .o99-supply-fixed small{display:block}
.o99-studio .o99-supply-fixed small{font-size:.78rem;color:#526575;margin-top:.2rem}
.o99-studio .o99-outdoor-zone{padding:.8rem;border:1px solid #BDD4E3;border-radius:10px;background:#EAF4FB;box-shadow:0 3px 8px #003F6B12;margin-bottom:1rem}
.o99-studio .o99-outdoor-zone h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;margin:0;color:#004A78}
.o99-studio .o99-outdoor-zone h3 [data-icon]{width:22px;flex:0 0 22px}
.o99-studio .o99-outdoor-zone>p{margin:.4rem 0 .8rem}
.o99-studio .o99-outdoor-zone .o99-pair{margin:0;gap:.65rem}
.o99-studio .o99-outdoor-zone .o99-field-label{min-height:3.2rem}

/* Dernier ajout : repère fixe, deux pulsations lentes, aucune modification des dimensions. */
.o99-studio .o99-panel-breaker.is-recent{position:relative;scroll-margin-block:100px}
.o99-studio .o99-panel-breaker.is-recent::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;border:2px solid #946000;border-radius:4px;background:rgba(255,204,92,.09);box-shadow:inset 0 0 0 2px rgba(255,226,157,.9),inset 0 0 14px rgba(224,157,32,.28)}
.o99-studio .o99-panel-breaker.is-recent.is-pulsing::after{animation:o99-added-pulse 2.4s ease-in-out both}
@keyframes o99-added-pulse{0%,50%{opacity:.3}25%,75%,100%{opacity:1}}
.o99-studio .o99-change-note{display:flex;gap:.6rem;align-items:center;justify-content:space-between;padding:.5rem .65rem;margin:.5rem 0 .8rem;border:1px solid #D9B975;border-radius:8px;background:#FFF6DD;color:#604000;font-size:.8rem;line-height:1.45}
.o99-studio .o99-change-note>span{min-width:0;overflow-wrap:anywhere}
.o99-studio .o99-change-note button{flex-shrink:0;min-height:44px;font-size:.78rem;padding:.35rem .5rem;background:white;color:var(--blue)}
.o99-studio [data-mini-change]{display:block;color:#604000;font-size:.75rem;line-height:1.3;margin-top:.2rem}
.o99-studio .o99-builder-mobile>div{min-width:0}
@container(max-width:600px){.o99-studio .o99-change-note{flex-wrap:wrap}.o99-studio .o99-change-note button{margin-left:auto}.o99-studio .o99-builder-mobile{flex-wrap:wrap}.o99-studio .o99-builder-mobile a{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.o99-studio .o99-panel-breaker.is-recent::after{animation:none!important}}
@media print{.o99-studio .o99-change-note{display:none}.o99-studio .o99-panel-breaker.is-recent::after{display:none}}

/* Signature de provenance, sans interception des interactions. */
.o99-studio .o99-panel-watermark{position:absolute;inset:20% 0 29%;z-index:5;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22142%22%20height%3D%2258%22%20viewBox%3D%220%200%20142%2058%22%3E%3Ctext%20x%3D%2210%22%20y%3D%2239%22%20transform%3D%22rotate%28-18%2071%2029%29%22%20font-family%3D%22Arial%2Csans-serif%22%20font-size%3D%2211%22%20font-weight%3D%22600%22%20letter-spacing%3D%22.5%22%20fill%3D%22%23003f6b%22%20fill-opacity%3D%22.22%22%3E99outils.com%3C%2Ftext%3E%3C%2Fsvg%3E");background-repeat:repeat;user-select:none}
.o99-studio .o99-panel-signature{display:block;text-align:right;padding-top:.35rem;font-size:10px;font-weight:600;line-height:1.4;letter-spacing:.06em;color:#526B7D}

/* Fil pilote : mêmes cartes et accordéon que les radiateurs. */
.o99-studio .o99-reset-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;margin:auto;padding:1.4rem;border:1px solid #B9D2E4;border-radius:14px;background:#fff;color:#1A1A1A;box-shadow:0 16px 50px rgba(0,30,50,.25)}
.o99-studio .o99-reset-dialog::backdrop{background:rgba(0,30,50,.5)}
.o99-studio .o99-reset-dialog h3{margin:0 0 .75rem;font-size:1.25rem;color:#004B7D}
.o99-studio .o99-reset-dialog p{margin:0 0 1rem;font-size:.95rem;line-height:1.5}
.o99-studio .o99-reset-actions{display:flex;flex-wrap:wrap;gap:.65rem}
.o99-studio .o99-reset-actions button{flex:1 1 190px;min-height:44px;padding:.7rem;font-size:.85rem;line-height:1.4;white-space:normal}
.o99-studio .o99-reset-actions [data-reset-confirm]{background:#0060A1;color:#fff;border-color:#0060A1}
.o99-studio .o99-heater-row{flex-wrap:wrap}
.o99-studio .o99-heater-row .o99-heater-pilot{flex-basis:100%;margin-top:.35rem!important}
.o99-studio [data-pilot-settings]{margin:.65rem 0;padding:.6rem;border:1px solid #CE9A85;border-radius:8px;background:#FFF0E9}
.o99-studio [data-pilot-settings] input[type=number]{width:100%;max-width:100%}
.o99-studio [data-pilot-settings] [data-remove-pilot-group]{font-size:.8rem;margin-top:.6rem}
.o99-studio .o99-builder-form .o99-programmer-settings{min-width:0;margin:.8rem 0 0;padding:.65rem;border:1px solid #B9D2E4;border-left:3px solid var(--blue);border-radius:8px;background:#F3F8FC;box-shadow:inset 0 1px 0 #fff}
.o99-studio .o99-programmer-settings legend{max-width:100%;padding:0 .35rem;color:#004B7D;font-size:.86rem;font-weight:700}
.o99-studio .o99-programmer-width-title{margin-top:.5rem}
.o99-studio .o99-programmer-width-title label{margin:0}
.o99-studio .o99-programmer-help{display:flex;align-items:center;gap:.45rem;width:100%;min-height:44px;margin:.4rem 0;padding:.45rem .5rem;border:1px solid #B9D2E4;border-radius:6px;background:#EAF4FB;color:#004B7D;font-size:.78rem;text-align:left;line-height:1.4}
.o99-studio .o99-programmer-help span{display:grid;place-items:center;flex:0 0 20px;height:20px;border:1px solid currentColor;border-radius:50%;font-family:serif;font-weight:bold}
.o99-studio .o99-programmer-settings .o99-help-text{margin:.5rem 0}
.o99-studio .o99-programmer-hint{margin:.65rem 0 0;font-size:.78rem;line-height:1.5;color:#52616C}

/* Mention toujours visible ; explication disponible à la demande. */
.o99-article .o99-surge-note{margin:1.5rem 0 0;padding:0;border:1px solid #B9D2E4;border-left:3px solid #0060A1;border-radius:8px;background:#EAF4FB;color:#243746;font-size:.875rem;line-height:1.55}
.o99-article .o99-surge-note>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 16px;list-style:none;cursor:pointer;color:#004B7D;font-size:.9rem;font-weight:700}
.o99-article .o99-surge-note>summary::-webkit-details-marker{display:none}
.o99-article .o99-surge-note>summary::after{content:'+';font-size:1.3rem;line-height:1}
.o99-article .o99-surge-note[open]>summary::after{content:'−'}
.o99-article .o99-surge-note[open]>summary{border-bottom:1px solid #B9D2E4}
.o99-article .o99-surge-note>div{padding:8px 16px 16px}
.o99-article .o99-surge-note p{margin:.5rem 0 0;font-size:inherit;line-height:inherit}

@container(min-width:1200px){
 .o99-studio .o99-builder-layout{gap:32px}
 .o99-studio [data-board]{max-width:800px;margin-inline:auto}
}

/* Illustrations des appareils : section pédagogique uniquement. */
.o99-guide .o99-lesson-illustration{display:block;width:160px;height:148px;max-width:100%;filter:drop-shadow(0 4px 3px #17364b20)}
.o99-guide .o99-buy-note{font-size:.95rem;line-height:1.6;margin:20px 0 0;color:var(--text)}
@media(max-width:760px){.o99-guide .o99-width-lessons>div{display:block}.o99-guide .o99-lesson-illustration{margin:0 auto 14px}.o99-guide .o99-width-lessons h3{margin-top:8px}}

/* Repères NF C 15-100 : lecture courte et cartes distinctes. */
#o99-regles .o99-calibre-guide{gap:16px;margin-bottom:30px}
#o99-regles .o99-calibre-guide>div{border:1px solid #b9ccd9;border-top:4px solid #1478ab;box-shadow:0 9px 19px #16394e1c,0 2px 3px #16394e12,inset 0 1px 0 #fff;border-radius:14px;padding:22px;background:linear-gradient(145deg,#f8fcff,#e5f1f9)}
#o99-regles .o99-calibre-guide>div:nth-child(2){border-top-color:#ae8220;background:linear-gradient(145deg,#fffdf4,#fff1cf)}
#o99-regles .o99-calibre-guide>div:nth-child(3){border-top-color:#86618e;background:linear-gradient(145deg,#fcf9fd,#eee4f3)}
#o99-regles h4{font-size:1rem;line-height:1.45;color:#043f64;margin:16px 0 12px;font-weight:700}
#o99-regles .o99-calibre-guide b{display:inline-block;padding:7px 11px;border:1px solid #ffffff;border-radius:8px;background:#ffffffc9;box-shadow:0 3px 7px #17364b1a;font-weight:700;font-size:1.35rem;color:#005887}
#o99-regles .o99-rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:18px 0 24px;align-items:stretch}
#o99-regles .o99-rule{padding:0;border:1px solid #c5d6e2;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 10px 22px #16394e20,0 2px 4px #16394e10;min-width:0}
#o99-regles .o99-rule-head{padding:22px;background:linear-gradient(145deg,#f4fbff,#dceef9);border-top:4px solid #1478ab;border-bottom:1px solid #b9ccd9;box-shadow:inset 0 1px 0 #fff;min-height:130px;box-sizing:border-box}
#o99-regles .o99-rule:nth-child(2) .o99-rule-head{border-top-color:#86618e;background:linear-gradient(145deg,#fcf9fd,#eee4f3)}
#o99-regles .o99-rule:nth-child(3) .o99-rule-head{border-top-color:#ae8220;background:linear-gradient(145deg,#fffdf4,#fff1cf)}
#o99-regles .o99-rule-head b{display:block;font-size:2.3rem;line-height:1.2;font-weight:700;color:#005887;white-space:nowrap}
#o99-regles .o99-rule-head small{font-size:1rem;font-weight:700}
#o99-regles .o99-rule-head span{display:block;font-size:.85rem;color:#354e61;margin-top:8px}
#o99-regles .o99-rule-copy{padding:8px 22px 22px;background:linear-gradient(#fff,#f9fbfd)}
#o99-regles .o99-rule p{font-size:.95rem;line-height:1.6;margin:10px 0}
#o99-regles .o99-rule .o99-rule-tip{padding-top:12px;border-top:1px solid #dce5ec;margin-top:16px;font-size:.88rem;color:#354e61}
#o99-regles .o99-rules-more{margin:16px 0;border:1px solid #b9ccd9;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 5px 12px #16394e18,0 1px 2px #16394e0f}
#o99-regles .o99-rules-more summary{padding:19px 22px;font-weight:700;line-height:1.5;color:#043f64;background:linear-gradient(#f8fcff,#e9f1f7);box-shadow:inset 0 1px 0 #fff;cursor:pointer}
#o99-regles .o99-rules-more[open] summary{border-bottom:1px solid #bfceda}
#o99-regles .o99-rules-more summary:hover{background:#e5f0f8}
#o99-regles .o99-rules-more summary:focus-visible{outline:3px solid #0065a1;outline-offset:-4px}
#o99-regles .o99-rules-more>div{padding:22px 24px 24px;background:linear-gradient(#fff,#fbfcfe)}
#o99-regles .o99-rules-more>div>p:first-child{margin-top:0}
#o99-regles .o99-rules-more>div>p:last-child{margin-bottom:0}
#o99-regles .o99-rules-more strong{font-weight:700;color:#153f59}
#o99-regles .o99-rules-more p{font-size:.95rem;line-height:1.6}
#o99-regles .o99-warning{margin-top:22px;border-radius:0 10px 10px 0;font-size:.9rem}
@media(max-width:800px){#o99-regles .o99-rule-grid,#o99-regles .o99-calibre-guide{grid-template-columns:1fr}#o99-regles .o99-rule-head{min-height:0;padding:16px 20px}}

/* Espacement et contexte des indications des tableaux. */
#o99-regles #o99-calibres{margin-top:36px;padding-top:26px;border-top:1px solid #d9e3eb}
#o99-regles #o99-calibres>h3{margin:0 0 14px}
#o99-regles .o99-calibre-context{margin:0 0 22px;line-height:1.65}
#o99-regles .o99-rules-heading{margin-top:34px;margin-bottom:18px}

/* Parcours et équipements autour du tableau : styles limités à cet article. */
.o99-article .o99-journey{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 36px}
.o99-article .o99-journey a{padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--pale);font-size:.9rem;font-weight:700}
.o99-guide .o99-housing-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.o99-guide .o99-housing-options{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fff;margin:0 0 22px}
.o99-guide .o99-housing-options legend{font-weight:700;color:var(--blue);padding:0 6px}
.o99-guide .o99-housing-options label{display:inline-flex;align-items:center;gap:10px;min-height:44px;margin-right:24px;cursor:pointer;font-weight:700;font-size:.95rem}
.o99-guide .o99-housing-options input{width:20px;height:20px;accent-color:var(--blue)}
.o99-guide .o99-housing-options p{margin:8px 0 0}
.o99-guide .o99-around-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0}
.o99-guide .o99-around-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.o99-guide .o99-around-cards>div{min-width:0;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:12px;padding:22px;background:linear-gradient(145deg,#fff,var(--pale));box-shadow:0 6px 18px #17364b12}
.o99-guide .o99-around-cards h3{font-size:1.16rem;margin:12px 0 16px;line-height:1.35}
.o99-guide .o99-around-cards p{font-size:.97rem;margin:12px 0 0}
.o99-guide .o99-around-cards a{display:inline-block;margin-top:16px}
.o99-guide .o99-installation-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:28px;align-items:start;margin:28px 0}
.o99-guide .o99-installation-figure{margin:0;padding:20px;border:1px solid var(--line);border-radius:16px;background:var(--pale);box-shadow:0 6px 18px #17364b12}
.o99-guide .o99-installation-column{padding:16px;border:1px solid #a9bfce;border-left:12px solid #bccbd5;border-right:12px solid #bccbd5;border-radius:10px;background:linear-gradient(90deg,#e0e8ee,#f9fbfc,#e0e8ee)}
.o99-guide .o99-installation-label{display:block;text-align:center;font-size:.8rem;color:var(--hover);font-weight:700}
.o99-guide .o99-installation-device{display:flex;align-items:center;gap:12px;padding:18px 12px;margin:16px -6px;background:#fff;border:1px solid #a9bfce;border-radius:8px;box-shadow:0 5px 0 #b8c8d2,0 8px 12px #17364b20;text-decoration:none}
.o99-guide .o99-installation-device b{display:block;font-size:1rem;color:var(--blue)}
.o99-guide .o99-installation-device small,.o99-guide .o99-installation-box small{display:block;font-size:.8rem;line-height:1.5;color:var(--muted);margin-top:6px}
.o99-guide .o99-installation-device>span:last-child{margin-left:auto;font-weight:700;color:var(--blue)}
.o99-guide .o99-installation-symbol{font-size:2.5rem;line-height:1;color:var(--blue)}
.o99-guide .o99-installation-box{padding:16px;margin:20px 0;border:1px dashed #8ba9bf;border-radius:8px;background:#fff}
.o99-guide .o99-installation-figure figcaption{font-size:.8rem;color:var(--muted);margin-top:18px}
.o99-guide .o99-kit-comparison>div,.o99-guide#o99-gtl .o99-guide-details>div,.o99-guide#o99-communication .o99-guide-details>div,.o99-guide#o99-controle .o99-guide-details>div{padding:20px}
.o99-guide .o99-kit-comparison>summary{font-weight:700}
.o99-article .o99-journey a:focus-visible,.o99-guide .o99-installation-device:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
@media(max-width:760px){.o99-guide .o99-housing-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.o99-guide .o99-around-cards,.o99-guide .o99-installation-layout{grid-template-columns:1fr}.o99-guide .o99-housing-options label{display:flex;margin-right:0}.o99-guide .o99-around-cards>div{padding:18px}}
@media(max-width:420px){.o99-guide .o99-housing-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.o99-guide .o99-installation-figure{padding:12px}.o99-guide .o99-installation-symbol{display:none}.o99-guide .o99-installation-device{padding:14px 8px}}

.o99-guide:is(#o99-gtl,#o99-communication,#o99-controle) .o99-guide-details>div>:first-child{margin-top:0}
.o99-guide:is(#o99-gtl,#o99-communication,#o99-controle) .o99-guide-details>div>:last-child{margin-bottom:0}
/* Avancement de saisie, distinct de la validation électrique. */
.o99-studio .o99-progress-note{font-size:.78rem;line-height:1.5;color:#5f6368;margin:0 0 12px}
.o99-studio .o99-step-status{display:table;margin-top:8px;padding:3px 8px;border:1px solid #cbd5df;border-radius:6px;background:#fff;color:#4c5661;font-size:.72rem;font-weight:600;line-height:1.4;letter-spacing:0}
.o99-studio .o99-step-status[data-state="ready"]{color:#195d36;background:#eef8f0;border-color:#9ac6a8}
.o99-studio .o99-step-status[data-state="partial"]{color:#744700;background:#fff4d6;border-color:#dbb866}

/* Relier le blocage de validation au champ requis pour la methode amont. */
.o99-studio .o99-field-card.is-required-missing{border:2px solid #C61530;background:#FDECEF}
.o99-studio .is-required-missing .o99-field-label{background:#FDECEF;color:#C61530}
.o99-studio .o99-required-note{display:flex;gap:.5rem;align-items:flex-start;margin:.65rem;padding:0;color:#C61530;font-size:.85rem;font-weight:700;line-height:1.5}
.o99-studio .o99-required-icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}
.o99-studio .o99-validation-hint.is-required-missing{margin-top:.7rem;padding:.8rem;border:1px solid #C61530;border-left-width:4px;border-radius:8px;background:#FDECEF}
.o99-studio .is-required-missing .o99-validation-caption{color:#C61530;font-weight:700;align-items:flex-start}
.o99-studio .o99-validation-caption [data-validation-summary]{min-width:0}
.o99-studio .o99-upstream-action{margin-top:.65rem;white-space:normal;min-height:44px}
.o99-studio .o99-required-note[hidden],.o99-studio [data-fill-upstream][hidden],.o99-studio [data-upstream-warning-icon][hidden]{display:none}

/* Calcul prêt à valider : signal doux, sans masquer le texte ni déplacer le bouton. */
.o99-studio .o99-validation-box [data-validate].is-awaiting-validation:enabled{
  background:#A84300;color:#fff;border:2px solid #843500;font-size:1.1rem;font-weight:800;min-height:60px;padding:14px 18px;
  width:fit-content;max-width:100%;display:block;margin-inline:auto;box-shadow:0 4px 9px #b7790030;animation:o99-validation-attention 2.4s ease-in-out infinite;
}
@keyframes o99-validation-attention{
  0%,24%,100%{transform:translateX(0)}
  4%,12%,20%{transform:translateX(-3px)}
  8%,16%{transform:translateX(3px)}
}
@media(prefers-reduced-motion:reduce){
  .o99-studio .o99-validation-box [data-validate].is-awaiting-validation:enabled{animation:none;box-shadow:0 4px 9px #b7790020}
}

.o99-studio .o99-validation-box [data-validate].is-awaiting-validation:enabled:is(:hover,:focus-visible){animation:none;transform:none}
@media(max-width:600px){.o99-studio .o99-validation-box [data-validate].is-awaiting-validation:enabled{width:100%}}

/* Indications de lecture secondaires du configurateur. */
.o99-studio .o99-start .o99-start-hint,
.o99-studio .o99-builder-instruction,
.o99-article .o99-reperes-hint{font-size:.8125rem;font-style:italic;line-height:1.55}

/* A failed downstream calculation remains visible after the modal is dismissed. */
.o99-validation-box [data-distribution-message].is-error{background:#FFF0F2;color:#A3152B;border:1px solid #C5223C;border-left-width:4px;border-radius:8px;font-size:.95rem;font-weight:600;line-height:1.5}
.o99-studio .o99-distribution-dialog{border:2px solid #C5223C;border-top-width:6px}
.o99-studio .o99-distribution-dialog h3{color:#A3152B}
.o99-studio .o99-distribution-dialog [data-distribution-rows]{padding:.75rem;background:#FFF0F2;color:#A3152B;border-radius:8px;font-weight:700}
