.hubrev-top{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:26px;display:flex}.hubrev-top .hubrev-langlabel{color:var(--text-soft);margin:0;font-size:14px}.hubrev-lang{border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface);gap:6px;padding:4px;display:inline-flex}.hubrev-lang button{border-radius:var(--radius-pill);font-size:14px;font-family:var(--font-display);color:var(--text-soft);cursor:pointer;background:0 0;border:0;padding:6px 16px}.hubrev-lang button[aria-pressed=true]{background:var(--action);color:var(--on-dark)}.hubrev-lines{color:var(--text-soft);margin:14px 0 26px;font-size:15px}.hubrev-lines a{color:var(--accent-text);text-decoration:underline}.hubrev-lines p{margin:6px 0}.hubrev-stage{grid-template-columns:1fr;align-items:start;gap:28px;display:grid}.hubrev-figure{margin:0}.hubrev-image{aspect-ratio:2688/1520;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-alt);width:100%;position:relative;overflow:hidden}.hubrev-image img{width:100%;height:100%;display:block}.hubrev-image svg{width:100%;height:100%;position:absolute;inset:0}.hubrev-spot polygon{fill:#0000;stroke:#0000;stroke-width:.23px;vector-effect:non-scaling-stroke;cursor:pointer}.hubrev-spot:hover polygon,.hubrev-spot:focus polygon{fill:#54b68938;stroke:#173e2a;stroke-width:3px}.hubrev-spot[aria-pressed=true] polygon{fill:#54b68929;stroke:#17583d;stroke-width:2px}.hubrev-spot:focus{outline:none}.hubrev-spot:focus-visible polygon{stroke:var(--action-strong);stroke-width:4px}.hubrev-reading{color:var(--text-soft);margin-top:10px;font-size:14px}.hubrev-panel{width:100%;max-width:760px;margin:24px auto 0}.hubrev-name{font-family:var(--font-display);margin:0 0 8px;font-size:clamp(26px,3vw,34px);line-height:1.15}.hubrev-lead{color:var(--accent-text);margin:0 0 14px;font-size:18px;line-height:1.5}.hubrev-body{margin:0;font-size:17px;line-height:1.7}.hubrev-sec{margin-top:24px;padding-top:20px;font-size:17px;line-height:1.7}.hubrev-sec h3,.hubrev-technical summary{font-family:var(--font-display);margin:0 0 10px;font-size:19px;line-height:1.3}.hubrev-technical summary{cursor:pointer;min-height:44px}.hubrev-technical summary:focus-visible{outline:2px solid var(--action);outline-offset:4px}.hubrev-sec p{margin:10px 0}.hubrev-sec ul{margin:10px 0;padding-left:22px;list-style:outside}.hubrev-sec li{margin:8px 0}.hubrev-sec--tint{background:var(--surface-warm);border-radius:var(--radius);border-top:0;padding:20px}.hubrev-example{border-left:2px solid var(--line);padding:0 0 0 20px}.hubrev-technical{border-top:1px solid var(--line)}.hubrev-note{color:var(--text-soft);margin:0 0 12px;font-size:14px;line-height:1.6}.hubrev-directory{border-top:1px solid var(--line);margin-top:34px;padding-top:26px}.hubrev-directory h2{font-family:var(--font-display);margin:0 0 6px;font-size:22px}.hubrev-groups{gap:20px;margin-top:20px;display:grid}.hubrev-group{border-bottom:1px solid var(--line);padding-bottom:12px}.hubrev-group summary{font-family:var(--font-display);cursor:pointer;min-height:44px;font-size:18px}.hubrev-group ul{margin:0;padding:0;list-style:none}.hubrev-group a{min-height:44px;color:var(--text-soft);text-underline-offset:4px;padding:10px 12px;display:block}.hubrev-group a:hover,.hubrev-group a[aria-current]{color:var(--text);background:var(--surface-warm)}.hubrev-group a[aria-current]{font-weight:700;text-decoration-thickness:2px}.hubrev-group summary:focus-visible,.hubrev-group a:focus-visible,.hubrev-back:focus-visible,.hubrev-name:focus-visible,.hubrev-figure:focus-visible{outline:2px solid var(--action);outline-offset:4px}.hubrev-back{color:var(--text);text-underline-offset:4px;margin-top:24px;padding:12px 0;display:inline-block}.hubrev-name,.hubrev-figure{scroll-margin-top:120px}@media (width>=760px){.hubrev-groups{grid-template-columns:repeat(4,minmax(0,1fr))}}
