/* thesis-figs.css — /thermoacoustic figure system */
.fig{--aligned:#2a78d6;--staggered:#eb6834;--bound:#c7c6c0;--grid:#dcdbd6;--ink2:#52514e;width:100%;margin:0;position:relative;z-index:2;}
.fig svg{display:block;width:100%;height:auto;margin-left:auto;margin-right:auto;}
.fig .fig__mount{max-width:820px;margin:0 auto;}
.fig svg text{font-family:'DM Mono',monospace;fill:var(--ink2);}
.fig figcaption{font-family:var(--f);margin-top:14px;font-size:var(--fs-sm);color:var(--ink);display:flex;gap:10px;align-items:baseline;line-height:1.5;}
.fig figcaption b{font-family:'DM Mono',monospace;color:var(--accent);font-weight:500;letter-spacing:0.06em;flex-shrink:0;}
.fig__legend{display:flex;gap:22px;align-items:center;flex-wrap:wrap;font-family:'DM Mono',monospace;font-size:var(--fs-sm);color:var(--ink2);margin-bottom:14px;}
.fig__legend span{display:inline-flex;align-items:center;gap:8px;}
.fig__legend i{display:inline-block;flex-shrink:0;}
.fig__legend .lg-al{width:11px;height:11px;border-radius:50%;background:var(--aligned);}
.fig__legend .lg-st{width:0;height:0;border-left:6.5px solid transparent;border-right:6.5px solid transparent;border-bottom:11px solid var(--staggered);}
.fig__controls{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px;font-family:'DM Mono',monospace;font-size:var(--fs-sm);color:var(--ink);}
.fig__controls label{display:inline-flex;align-items:center;gap:8px;cursor:pointer;}
.fig__controls input[type="checkbox"]{accent-color:var(--accent);width:15px;height:15px;}
.fig__controls input[type="range"]{accent-color:var(--accent);width:min(300px,60vw);}
.fig__databtn{font-family:'DM Mono',monospace;font-size:var(--fs-sm);letter-spacing:0.06em;background:none;border:1px solid var(--bd);color:var(--ink2);padding:7px 14px;cursor:pointer;transition:border-color .25s,color .25s;}
.fig__databtn:hover{border-color:var(--accent);color:var(--ink);}
.fig__table{display:none;margin-top:14px;border-collapse:collapse;width:100%;font-family:'DM Mono',monospace;font-size:var(--fs-sm);}
.fig__table.show{display:table;}
.fig__table th,.fig__table td{border:1px solid var(--grid);padding:7px 12px;text-align:left;color:var(--ink);font-weight:400;}
.fig__table th{color:var(--ink2);font-weight:500;text-transform:uppercase;font-size:var(--fs-sm);letter-spacing:0.08em;}
.fig__tip{position:absolute;z-index:9;pointer-events:none;background:var(--ink);color:var(--bg);font-family:'DM Mono',monospace;font-size:var(--fs-sm);line-height:1.5;padding:9px 12px;max-width:260px;opacity:0;transition:opacity .15s;transform:translate(-50%,calc(-100% - 12px));}
.fig__tip.on{opacity:1;}
.fig__tip .tal{color:#8db9ee;}.fig__tip .tst{color:#f2a081;}
/* fig 1 */
.fig1 svg{max-width:560px;overflow:visible;}
.fig1 .row2{transform:translateX(0);transition:transform .6s ease;}
.fig1.play .row2{animation:f1off 1.2s ease-in-out .25s forwards;}
@keyframes f1off{from{transform:translateX(0);}to{transform:translateX(33px);}}
@media(prefers-reduced-motion:reduce){.fig1.play .row2{animation-duration:.001s;}}
/* fig 4 */
.fig4__panes{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(20px,3vw,40px);align-items:end;}
@media(max-width:700px){.fig4__panes{grid-template-columns:1fr;}}
.fig4__lbl{font-family:'DM Mono',monospace;font-size:var(--fs-sm);color:var(--ink2);margin-top:10px;}
#fig4-val{white-space:nowrap;}
.fig4__lbl b{color:var(--ink);font-weight:500;}
/* fig 5 */
.fig5__wipe{position:relative;width:100%;aspect-ratio:21/9;overflow:hidden;background:var(--bg2);}
.fig5__wipe .layer{position:absolute;inset:0;}
.fig5__wipe .layer.top{clip-path:inset(0 calc(100% - var(--x,50%)) 0 0);}
.fig5__wipe .divider{position:absolute;top:0;bottom:0;left:var(--x,50%);width:1.5px;background:var(--ink);z-index:5;pointer-events:none;}
.fig5__wipe .wtag{position:absolute;top:12px;z-index:6;font-family:'DM Mono',monospace;font-size:var(--fs-sm);letter-spacing:0.1em;text-transform:uppercase;padding:5px 10px;color:#fff;pointer-events:none;}
.fig5__wipe .wtag.a{left:12px;background:var(--staggered);}
.fig5__wipe .wtag.s{right:12px;background:var(--aligned);}
.fig5__nums{display:flex;gap:26px;flex-wrap:wrap;font-family:'DM Mono',monospace;font-size:var(--fs-sm);color:var(--ink2);margin-top:12px;}
.fig5__nums b{color:var(--ink);font-weight:500;}
/* fig 6 */
.f6-wave{max-width:720px;margin:0 auto;}
/* honesty */
.honesty{border-top:1px solid var(--bd);padding-top:22px;max-width:72ch;}

@media print{.fig__controls,.fig__databtn,.fig__tip{display:none!important;}.fig__table{display:table!important;}}
