.hub-card:has(img[src*="-v18"])>a{display:block;overflow:hidden}
.hub-card img[src*="-v18"]{aspect-ratio:16/9;height:auto;object-fit:cover}
.cover-disclosure{display:block;font-size:.74rem;color:var(--muted);margin-top:.6rem;line-height:1.6}
.lab-teaser{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;margin-block:28px;padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--paper)}
.lab-teaser h2{margin:0 0 12px;font-size:1.55rem}.lab-teaser p{color:var(--muted);line-height:1.85}
.lab-preview{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:12px;direction:ltr;gap:2px;background:var(--line)}
.lab-preview img{width:100%;height:auto;display:block}.lab-teaser a.action-button{display:inline-block}
.lab-intro{max-width:800px;margin:32px auto}.lab-intro p{line-height:1.9}
.lab-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-block:24px}.lab-jumps a{border:1px solid var(--line);padding:10px 18px;border-radius:999px;background:var(--paper)}
.comparison-case{padding:32px;margin-block:28px;border:1px solid var(--line);background:var(--paper);border-radius:20px;scroll-margin-top:100px}
.comparison-case h2{margin:8px 0 12px}.comparison-case>p{max-width:850px;line-height:1.9}
.comparison-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;margin-top:24px;align-items:start}
.comparison-layout>*{min-width:0}.comparison-case h3{font-size:1.05rem;margin-top:0}.comparison-case li{margin-bottom:.55rem;line-height:1.8}
.compare-frame{direction:ltr;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:2px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#e8edf4}
.compare-frame img{display:block;width:100%;height:auto}.comparison-ready .compare-frame{display:block;aspect-ratio:21/13;gap:0}
.comparison-ready .compare-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.comparison-ready .compare-before{clip-path:inset(0 calc(100% - var(--reveal,50%)) 0 0)}
.compare-divider{display:none}.comparison-ready .compare-divider{display:block;position:absolute;top:0;bottom:0;left:var(--reveal,50%);width:2px;background:#fff;box-shadow:0 0 0 1px #09234080;pointer-events:none}
.compare-labels{display:flex;flex-direction:row-reverse;justify-content:space-between;direction:ltr;margin:10px 0;color:var(--muted);font-size:.83rem}.comparison-ready .compare-labels{flex-direction:row}
.compare-controls{display:none}.comparison-ready .compare-controls{display:block}.compare-controls label{display:block;font-weight:600;font-size:.9rem}
.compare-controls input[type=range]{display:block;width:100%;height:40px;accent-color:#245fc1;direction:ltr;cursor:ew-resize;padding:0}
.compare-controls output{display:block;color:var(--muted);font-size:.8rem;margin-bottom:12px}
.compare-controls .tool-actions{display:flex;flex-wrap:wrap;gap:8px}.compare-controls button{font-size:.8rem;padding:9px 13px;min-height:42px}
.compare-instruction{font-size:.8rem;color:var(--muted);line-height:1.7;margin-top:10px}
.demo-prompt{padding:18px;background:var(--tint);border:1px solid var(--line);border-radius:12px;margin-block:22px}
.demo-prompt pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font-family:inherit;font-size:.9rem;text-align:left;color:var(--ink);margin:12px 0}
.demo-prompt summary{cursor:pointer;font-weight:600}.demo-prompt [role=status]{display:inline-block;margin-inline-start:12px;font-size:.85rem}
.review-observation{border-inline-start:3px solid #bb8b43;padding:12px 18px;background:var(--tint);margin-block:18px;line-height:1.85}
.demo-downloads{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;margin-top:16px}.lab-method{padding:26px;background:var(--tint);border-radius:16px;margin-block:28px;line-height:1.9}
.comparison-case .notice-small{line-height:1.8}.dark-mode .lab-teaser,.dark-mode .comparison-case{box-shadow:none}
@media(max-width:750px){.comparison-layout,.lab-teaser{grid-template-columns:1fr}.comparison-case{padding:20px 16px}.lab-teaser{padding:20px}.lab-preview{max-width:480px}.comparison-case h2{font-size:1.4rem}.lab-jumps{gap:8px}.lab-jumps a{font-size:.88rem}.compare-controls button{flex:1}.comparison-layout{gap:22px}}
@media(prefers-reduced-motion:no-preference){.hub-card:has(img[src*="-v18"]){transition:box-shadow .2s}.hub-card:has(img[src*="-v18"]):hover{box-shadow:0 12px 26px #0a254d17}}
