figure{margin:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hair);border-radius:4px 4px 12px 12px;box-shadow:var(--shadow);overflow:hidden}figure.is-expanded{position:fixed;inset:0;z-index:80;margin:0;width:100%;height:100%;max-width:none;border-radius:0;border:0;box-shadow:none}figure.is-expanded .scene{flex:1 1 auto;min-height:0;max-height:none;height:auto;width:100%}figure.is-expanded .log{flex:0 0 auto;max-height:min(28vh,220px);overflow:auto}body.valeur-fig-expanded,html.valeur-fig-expanded{overflow:hidden}.fig-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:11px 16px;border-bottom:1px solid var(--hair);background:linear-gradient(180deg,#f7f9fc 0,var(--sunk) 100%);flex:0 0 auto}.rec{display:flex;align-items:center;gap:7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.rec i{width:7px;height:7px;border-radius:50%;background:var(--brand-dot);flex:none;animation:rec 2s ease-in-out infinite}@keyframes rec{0%,100%{opacity:1}50%{opacity:.25}}.fig-bar .sep{flex:1}.btn{font:inherit;font-size:12px;font-weight:500;color:var(--ink);background:var(--surface);border:1px solid var(--hair);border-radius:6px;padding:5px 12px;cursor:pointer;letter-spacing:.01em}.btn:hover{border-color:var(--land-line);background:#fbfcfe}.btn:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.scene{display:block;width:100%;height:auto;background:var(--surface)}.scene text{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}.scene .t-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.grat{stroke:var(--graticule);stroke-width:1}.land{fill:var(--land);stroke:var(--land-line);stroke-width:1.4;stroke-linejoin:round}.land-ch{fill:var(--land-ch);stroke:var(--pass);stroke-width:1.6}.zone{font-size:11px;letter-spacing:.18em;text-transform:uppercase;fill:var(--muted)}.zone-sub{font-size:11px;fill:var(--muted)}.chrome{fill:var(--surface);stroke:var(--hair);stroke-width:1.2}.chrome-bar{fill:var(--sunk)}.dot{fill:var(--land-line)}.pill{fill:var(--sunk);stroke:var(--hair)}.f-label{font-size:9.5px;fill:var(--muted);letter-spacing:.05em}.f-box{fill:var(--sunk);stroke:var(--hair);stroke-width:1}.f-val{font-size:10.5px;fill:var(--ink)}.url{font-size:10px;fill:var(--muted)}.cta{fill:var(--pass)}.cta-t{font-size:10.5px;fill:var(--cta-ink);font-weight:600}.log-row,.scene .anim{animation-duration:16s;animation-timing-function:linear;animation-iteration-count:infinite;animation-fill-mode:both}figure.paused .log-row,figure.paused .scene .anim{animation-play-state:paused}figure.reset .log-row,figure.reset .scene .anim{animation:none}.a-v1{animation-name:rv3}.a-v2{animation-name:rv9}.a-v3{animation-name:rv15}@keyframes rv3{0%,2%{opacity:0;transform:translateX(-3px)}5%,91%{opacity:1;transform:none}100%,96%{opacity:0}}@keyframes rv9{0%,8%{opacity:0;transform:translateX(-3px)}11%,91%{opacity:1;transform:none}100%,96%{opacity:0}}@keyframes rv15{0%,14%{opacity:0;transform:translateX(-3px)}17%,91%{opacity:1;transform:none}100%,96%{opacity:0}}.a-c1{animation-name:cr1}.a-c2{animation-name:cr2}.a-c3{animation-name:cr3}@keyframes cr1{0%,1.4%{opacity:0}1.5%,2.5%{opacity:1}2.6%,3.6%{opacity:0}3.7%,4.7%{opacity:1}100%,4.8%{opacity:0}}@keyframes cr2{0%,7%{opacity:0}7.1%,8.1%{opacity:1}8.2%,9.2%{opacity:0}10.3%,9.3%{opacity:1}10.4%,100%{opacity:0}}@keyframes cr3{0%,13%{opacity:0}13.1%,14.1%{opacity:1}14.2%,15.2%{opacity:0}15.3%,16.3%{opacity:1}100%,16.4%{opacity:0}}.a-press{animation-name:press;transform-box:fill-box;transform-origin:center}@keyframes press{0%,18.5%{transform:none}19.6%{transform:scale(.93)}100%,21%{transform:none}}.a-flash{animation-name:flash}@keyframes flash{0%,18.5%{opacity:0}19.8%{opacity:.9}100%,24%{opacity:0}}.a-warn{animation-name:rv22}.a-mid{animation-name:rv34}.a-usnode{animation-name:rv48}.a-uslabel{animation-name:rv54}@keyframes rv22{0%,21%{opacity:0;transform:translateY(3px)}25%,91%{opacity:1;transform:none}100%,96%{opacity:0}}@keyframes rv34{0%,33%{opacity:0;transform:translateY(3px)}37%,91%{opacity:1;transform:none}100%,96%{opacity:0}}@keyframes rv48{0%,47%{opacity:0;transform:translateY(3px)}51%,91%{opacity:1;transform:none}100%,96%{opacity:0}}@keyframes rv54{0%,53%{opacity:0;transform:translateY(3px)}57%,91%{opacity:1;transform:none}100%,96%{opacity:0}}.a-trace{stroke-dasharray:100;animation-name:draw}@keyframes draw{0%,25%{stroke-dashoffset:100}44%,91%{stroke-dashoffset:0}100%,96%{stroke-dashoffset:100}}.a-pulsech{animation-name:pch;transform-box:fill-box;transform-origin:center}.a-pulseus{animation-name:pus;transform-box:fill-box;transform-origin:center}@keyframes pch{0%,21%{opacity:0;transform:scale(.35)}22%{opacity:.5;transform:scale(.35)}100%,31%{opacity:0;transform:scale(3.6)}}@keyframes pus{0%,47%{opacity:0;transform:scale(.35)}48%{opacity:.5;transform:scale(.35)}100%,57%{opacity:0;transform:scale(3.6)}}.a-p1{animation-name:pk1}.a-p2{animation-name:pk2}.a-p3{animation-name:pk3}@keyframes pk1{0%,25.4%{opacity:0}26.5%,40%{opacity:1}100%,42%{opacity:0}}@keyframes pk2{0%,29.4%{opacity:0}30.5%,44%{opacity:1}100%,46%{opacity:0}}@keyframes pk3{0%,33.4%{opacity:0}34.5%,48%{opacity:1}100%,50%{opacity:0}}.log-row.r1{animation-name:rv28}.log-row.r2{animation-name:rv32}.log-row.r3{animation-name:rv36}.log-row.r4{animation-name:rv58}@keyframes rv28{0%,27%{opacity:0}30%,91%{opacity:1}100%,96%{opacity:0}}@keyframes rv32{0%,31%{opacity:0}34%,91%{opacity:1}100%,96%{opacity:0}}@keyframes rv36{0%,35%{opacity:0}38%,91%{opacity:1}100%,96%{opacity:0}}@keyframes rv58{0%,57%{opacity:0}60%,91%{opacity:1}100%,96%{opacity:0}}.trace-line{fill:none;stroke:var(--critical);stroke-width:2;stroke-linecap:round}.trace-ghost{fill:none;stroke:var(--hair);stroke-width:2;stroke-dasharray:2 6;stroke-linecap:round}.pkt{fill:var(--critical)}.pkt-halo{fill:var(--critical);opacity:.18}.mid-t{font-size:11.5px;fill:var(--critical);font-weight:600;letter-spacing:.01em}.mid-s{font-size:10.5px;fill:var(--warning);font-weight:600}.node-core{fill:var(--critical)}.node-ring{fill:none;stroke:var(--critical);stroke-width:1.6}.node-ch-core{fill:var(--pass)}.node-ch-ring{fill:none;stroke:var(--pass);stroke-width:1.6}.us-box{fill:var(--critical-soft);stroke:var(--critical);stroke-width:1}.us-t{font-size:10.5px;fill:var(--critical);font-weight:600}.us-s{font-size:9.5px;fill:var(--muted)}.warn-box{fill:var(--warning-soft);stroke:var(--warning);stroke-width:1}.warn-t{font-size:9.5px;fill:var(--warning);font-weight:500}@media (prefers-reduced-motion:reduce){.log-row,.scene .anim{animation:none!important;opacity:1!important;transform:none!important}.a-trace{stroke-dashoffset:0!important}.a-flash,.a-pulsech,.a-pulseus{opacity:0!important}.a-p1,.a-p2,.a-p3{opacity:0!important}.rec i{animation:none}html{scroll-behavior:auto}}.log{border-top:1px solid var(--hair);background:var(--sunk);padding:15px 18px 17px;overflow-x:auto}.log-h{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:9px}.log-row{display:grid;grid-template-columns:86px 44px minmax(300px,1fr) 132px 54px;gap:14px;align-items:baseline;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;padding:4px 0;white-space:nowrap;font-variant-numeric:tabular-nums}.log-ts{color:var(--muted)}.log-m{color:var(--ink);font-weight:500}.log-u{color:var(--ink);overflow:hidden;text-overflow:ellipsis}.log-ip{color:var(--muted)}.tag{font-size:10px;font-weight:500;letter-spacing:.05em;padding:1px 7px;border-radius:4px;justify-self:start}.tag.us{background:var(--critical-soft);color:var(--critical)}.tag.cp{background:var(--warning-soft);color:var(--warning)}figcaption{padding:12px 18px 14px;border-top:1px solid var(--hair);font-size:.88rem;color:var(--muted);line-height:1.5}