[hidden]{display:none!important}body{line-height:1.5}main{padding:4px}label{display:block;font-weight:700;margin-bottom:8px}.selection-row{display:flex;gap:12px;align-items:start}.combo-wrap{position:relative;display:flex;flex:1;min-width:0}input,select{font:inherit;color:inherit;background:#fff;border:1px solid #788895;border-radius:8px;min-height:48px;padding:10px 12px;max-width:100%}input{width:100%;padding-right:48px}.primary{background:#0060a1;color:#fff;border-color:#0060a1;min-height:48px}#show-options{position:absolute;right:2px;top:2px;border:0;min-width:44px;font-size:24px;padding:0}#appliance-options{position:absolute;left:0;right:0;top:100%;z-index:3;list-style:none;margin:4px 0 0;padding:4px;background:white;border:1px solid #788895;border-radius:8px;box-shadow:0 5px 15px #20272c24;max-height:290px;overflow:auto}#appliance-options li{padding:10px 12px;min-height:44px;cursor:pointer;border-radius:4px}#appliance-options li[aria-selected=true],#appliance-options li:hover{background:#eaf4fb;color:#0060a1}input:focus-visible,select:focus-visible{outline:3px solid #c35a00;outline-offset:3px}#result{margin-top:24px;outline:none}#result:focus-visible .answer{outline:3px solid #c35a00;outline-offset:3px}.answer{border-left:4px solid #0060a1;padding:0 0 0 16px;margin-bottom:20px}.answer h2{font-size:24px;line-height:1.3;margin:0 0 8px}.answer p{margin:0}#scope,#rule-note,#circuit-explanation{font-size:16px}.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #d9dee3;gap:16px;padding:16px 0;margin:12px 0}.facts dt{font-size:15px;color:#4e5b63}.facts dd{font-weight:700;font-size:20px;margin:4px 0 0}#selection-error{color:#b51d25}#unknown{border:1px solid #d9dee3;border-radius:8px;padding:16px}#unknown-picture svg{max-width:180px;height:160px;display:block;margin:auto}#supply-choice,#dryer-choice{margin:16px 0}#sources{padding-left:20px}#sources li{margin:8px 0}.board{max-width:1040px}#result[data-outcome=unknown] .answer{border-color:#713300}@media(max-width:550px){.selection-row{display:block}.selection-row>.primary{width:100%;margin-top:12px}.facts{grid-template-columns:1fr;gap:12px}.facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.facts dd{text-align:right;font-size:18px}.answer h2{font-size:22px}#status{font-size:16px}.topbar{gap:8px}.intro{font-size:16px}}

.combo-wrap{flex-wrap:wrap}#appliance-options{position:static;flex-basis:100%}

#vmc-choice{margin:16px 0}body[data-continuous=true] [data-toggle=load]{cursor:default}

#floor-choice{margin:16px 0}#floor-type{width:100%}.floor-power-row{display:flex;align-items:center;gap:12px}.floor-power-row input{width:12rem;max-width:calc(100% - 40px);padding-right:12px}#floor-feedback{font-weight:700}#floor-power[aria-invalid=true]{border-color:#b51d25}#floor-choice[data-error=true] #floor-feedback{color:#b51d25}

/* Presentation de l'outil : couleurs et rayons du site, donnees inchangees. */
main{padding:8px}
#appliance-form{background:linear-gradient(135deg,#eaf4fb 0%,#0060a126 100%);border:1px solid #0060a14d;border-top:4px solid #0060a1;box-shadow:inset 0 1px 0 #fff,0 5px 10px #0060a114,0 14px 28px #20272c1f;border-radius:8px;padding:20px;margin:0 0 24px;max-width:680px;box-sizing:border-box}
#appliance-form label{color:#263139;font-size:18px;margin-bottom:12px}
.selection-row{max-width:640px}
.combo-wrap{box-sizing:border-box;width:100%}
#appliance-search{box-sizing:border-box;min-height:56px;padding:12px 64px 12px 16px;border:2px solid #0060a1;font-weight:700;background:#fff;box-shadow:inset 0 2px 4px #0060a114,0 4px 0 #0060a11a,0 8px 16px #20272c24}
#show-options{right:4px;top:4px;width:48px;height:48px;min-height:48px;display:grid;place-items:center;line-height:1;background:#eaf4fb;color:#0060a1;border-radius:4px;font-size:0}
#show-options:after{content:'';width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
#show-options:hover,#show-options[aria-expanded=true]{background:#0060a1;color:#fff}
#appliance-options{box-sizing:border-box;border-color:#0060a1;width:100%;box-shadow:0 4px 12px #20272c18}
#result{margin-top:0}
.answer{background:#eaf4fb;border:1px solid #d9dee3;border-left:4px solid #0060a1;border-radius:8px;padding:20px;margin-bottom:20px}
.answer h2{color:#0060a1;font-size:24px}
.answer p{max-width:none;line-height:1.5}
#result[data-outcome=unknown] .answer{background:#f4f6f8}
#result[data-outcome=unknown] .answer h2{color:#713300}
#supply-choice,#dryer-choice,#vmc-choice,#floor-choice{background:linear-gradient(135deg,#eaf4fb 0%,#0060a126 100%);border:1px solid #0060a14d;border-left:4px solid #0060a1;box-shadow:inset 0 1px 0 #fff,0 5px 10px #0060a114,0 14px 28px #20272c1f;padding:20px;border-radius:8px;margin:20px 0 24px}
#floor-type{width:auto}
select{box-sizing:border-box;min-height:48px;cursor:pointer}
.facts{gap:16px;padding:0;border:0;margin:20px 0 12px}
.facts>div{background:linear-gradient(145deg,#fff 35%,#eaf4fb 100%);border:1px solid #0060a14d;border-top:4px solid #0060a1;border-radius:8px;padding:20px;box-shadow:inset 0 1px 0 #fff,0 5px 0 #0060a11a,0 10px 18px #20272c24,0 18px 32px #0060a114;transition:transform 220ms ease,box-shadow 220ms ease,border-color 220ms ease}
@media(hover:hover){.facts>div:hover{transform:translateY(-4px);border-color:#0060a1;box-shadow:0 6px 12px #20272c1f,0 18px 32px #20272c38}}
#appliance-options:not([hidden]){animation:options-reveal 260ms ease-out}
#show-options{transition:background-color 180ms ease,color 180ms ease}
#show-options:after{transition:transform 220ms ease}
#show-options[aria-expanded=true]:after{transform:translateY(3px) rotate(225deg)}
@keyframes options-reveal{from{max-height:0;opacity:0}to{max-height:290px;opacity:1}}
@media(prefers-reduced-motion:reduce){.facts>div,#show-options,#show-options:after{transition:none}#appliance-options:not([hidden]){animation:none}}
.facts dt{font-size:16px;color:#263139;font-weight:700;border-bottom:1px solid #0060a126;padding-bottom:10px}
.facts dd{color:#0060a1;font-size:24px;line-height:1.35;margin:8px 0 0;overflow-wrap:anywhere}
.example-caption{color:#4e5b63;margin:12px 0;font-size:15px}
.explanation-panel{border:1px solid #d9dee3;border-radius:8px;padding:0;margin:12px 0;background:#fff}
.explanation-panel summary{cursor:pointer;padding:12px 16px;color:#0060a1;font-weight:700;min-height:44px;box-sizing:border-box}
.explanation-panel summary:hover{background:#eaf4fb}
.explanation-panel[open] summary{border-bottom:1px solid #d9dee3;background:#f4f6f8}
.explanation-panel p{margin:0;padding:16px;max-width:none}
summary:focus-visible,button:focus-visible{outline:3px solid #c35a00;outline-offset:3px}
.intro{margin:24px 0 12px}
.topbar{background:#f4f6f8;border:1px solid #d9dee3;border-radius:8px;padding:12px 16px;align-items:center}
.topbar #status{margin:0;color:#263139}
.topbar button{background:#fff}
.notes{border-radius:8px;margin-top:16px}
@media(max-width:700px){.facts{grid-template-columns:1fr}.facts>div{display:block;padding:16px}.facts dd{text-align:left;font-size:22px}.answer{padding:16px}.answer h2{font-size:22px}#appliance-form{padding:16px}.selection-row{max-width:none}.topbar{padding:12px}.explanation-panel summary{line-height:1.4}}

/* Native disclosures: reversible opening/closing; native fallback on older browsers. */
@supports (interpolate-size:allow-keywords) and selector(details::details-content){
 details::details-content{interpolate-size:allow-keywords;height:0;opacity:0;overflow:clip;transition:height 260ms ease,opacity 260ms ease,content-visibility 260ms allow-discrete}
 details[open]::details-content{height:auto;opacity:1}
}
details{box-shadow:0 2px 5px #20272c0d;transition:box-shadow 220ms ease,border-color 220ms ease}
details:focus-within{border-color:#0060a1}
@media(hover:hover){details:hover{border-color:#0060a1;box-shadow:0 5px 14px #20272c1a}}
@media(prefers-reduced-motion:reduce){details,details::details-content{transition:none}}
@media print{details::details-content{height:auto;opacity:1;overflow:visible;content-visibility:visible}}

/* Heat rises only while the radiators are supplied and a heat request is active. */
.radiator-heat-waves{visibility:hidden;pointer-events:none}
body[data-running="true"] .radiator-heat-waves{visibility:visible}
.radiator-heat-waves path{animation:radiator-heat-rise 1.8s ease-in-out infinite;animation-play-state:paused}
.radiator-heat-waves path:nth-child(2){animation-delay:-.6s}
.radiator-heat-waves path:nth-child(3){animation-delay:-1.2s}
.radiator-heat-waves path:nth-child(4){animation-delay:-.9s}
body[data-running="true"][data-paused="false"] .radiator-heat-waves path{animation-play-state:running}
@keyframes radiator-heat-rise{0%,100%{transform:translateY(2px);opacity:.3}50%{transform:translateY(-5px);opacity:.85}}
@media(prefers-reduced-motion:reduce){.radiator-heat-waves path{animation:none;opacity:.65}}

[data-class="II"] .radiator-heat-waves .heat-above{display:none}

/* Raised white fields distinguish editable controls from their blue backdrop. */
#supply-choice select,#dryer-choice select,#vmc-choice select,#floor-choice select,#floor-choice input{border:2px solid #0060a1;background:#fff;box-shadow:inset 0 2px 4px #0060a114,0 4px 0 #0060a11a,0 8px 16px #20272c24;font-weight:700}
#floor-feedback{background:#fff;border-left:4px solid #0060a1;border-radius:4px;padding:12px 16px;box-shadow:0 3px 8px #20272c14}
#floor-choice[data-error=true] #floor-feedback{border-left-color:#b51d25}
@media(max-width:700px){#supply-choice,#dryer-choice,#vmc-choice,#floor-choice{padding:16px}}
@media(prefers-reduced-motion:reduce){.facts>div:hover{transform:none}}

/* Follow-up questions form a compact path without changing reading or focus order. */
#result:has(> :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice):not([hidden])) > .answer{position:relative;box-sizing:border-box;width:fit-content;max-width:min(960px,calc(100% - 32px));margin-left:32px;padding:16px}
#result > :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice){position:relative;box-sizing:border-box;width:fit-content;max-width:min(760px,calc(100% - 64px));margin:16px 0 24px 64px;padding:16px}
#result:has(> :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice):not([hidden])) > .answer::before,#result > :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice)::before{content:"";position:absolute;left:-26px;top:-18px;width:16px;height:30px;border-left:2px solid #0060a1;border-bottom:2px solid #0060a1;border-bottom-left-radius:8px;pointer-events:none}
#result:has(> :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice):not([hidden])) > .answer::after,#result > :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice)::after{content:"";position:absolute;left:-10px;top:7px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:6px solid #0060a1;pointer-events:none}
@media(max-width:700px){
 #result:has(> :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice):not([hidden])) > .answer{margin-left:8px;max-width:calc(100% - 8px)}
 #result > :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice){margin-left:16px;max-width:calc(100% - 16px)}
 #result:has(> :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice):not([hidden])) > .answer::before,#result > :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice)::before{left:-10px;width:3px;height:26px;top:-18px;border-bottom-left-radius:3px}
 #result:has(> :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice):not([hidden])) > .answer::after,#result > :is(#supply-choice,#dryer-choice,#vmc-choice,#floor-choice)::after{left:-6px;top:5px;border-top-width:4px;border-bottom-width:4px;border-left-width:4px}
}

/* Air rises into the hood only while its motor is supplied and switched on. */
.hood-airflow{visibility:hidden;pointer-events:none;opacity:.75}
body[data-running="true"] .hood-airflow{visibility:visible}
.hood-air-streams path{stroke-dasharray:12 20;animation:hood-air-intake 1.6s linear infinite;animation-play-state:paused}
.hood-air-streams path:nth-child(2){animation-delay:-.55s}
.hood-air-streams path:nth-child(3){animation-delay:-1.1s}
body[data-running="true"][data-paused="false"] .hood-air-streams path{animation-play-state:running}
@keyframes hood-air-intake{from{stroke-dashoffset:0}to{stroke-dashoffset:-64}}
@media(prefers-reduced-motion:reduce){.hood-air-streams path{animation:none;stroke-dasharray:none;opacity:.65}}

/* TV text is typed once on power-on; switching off clears and resets it. */
.tv-message{visibility:hidden;pointer-events:none}
body[data-running="true"] .tv-message{visibility:visible}
.tv-message .tv-type-line{font-family:"Courier New",monospace;fill:#0060a1;clip-path:inset(0 100% 0 0)}
body[data-running="true"] .tv-type-line{animation:tv-type-in 1.4s steps(11,end) both;animation-play-state:paused}
body[data-running="true"] .tv-type-line:nth-child(2){animation-delay:1.8s;animation-duration:2s;animation-timing-function:steps(19,end)}
body[data-running="true"] .tv-type-line:nth-child(3){animation-delay:4s;animation-duration:1s;animation-timing-function:steps(9,end)}
body[data-running="true"] .tv-type-line:nth-child(4){animation-delay:5.2s;animation-duration:1.3s}
body[data-running="true"][data-paused="false"] .tv-type-line{animation-play-state:running}
@keyframes tv-type-in{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){body[data-running="true"] .tv-type-line{animation:none;clip-path:none}}
