.ring-controls{justify-items:center;gap:14px;display:grid}.ring{justify-items:center;gap:16px;margin:0;display:grid}.ring-stage{aspect-ratio:1;touch-action:manipulation;width:min(100%,600px);position:relative}.ring-canvas{pointer-events:none;width:168%;height:168%;position:absolute;inset:-34%}.ring-ghost{fill:none;width:100%;height:100%;stroke:color-mix(in srgb, var(--text) 13%, transparent);transition:opacity 1.4s;position:absolute;inset:0}.ring-stage.is-live .ring-ghost{opacity:0}.ring-placeholder{border:1px solid var(--lp-hair,color-mix(in srgb, var(--text) 11%, transparent));box-shadow:inset 0 0 0 clamp(18px, 4vw, 34px) color-mix(in srgb, var(--text) 5%, transparent);border-radius:50%;position:absolute;inset:15%}.ring-readout{text-align:center;pointer-events:none;justify-items:center;gap:4px;width:46%;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ring-value{font-family:var(--lp-display,ui-sans-serif, system-ui, sans-serif);letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(2.3rem,1.4rem + 3.4vw,4.1rem);font-weight:780;line-height:.95}.ring-title{text-wrap:balance;font-size:clamp(.82rem,.75rem + .35vw,.98rem);font-weight:650;line-height:1.3}.ring-sub{font-family:var(--lp-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--type-micro);color:var(--muted);text-wrap:balance;line-height:1.4}.ring-link{pointer-events:auto;font-size:var(--type-label);color:var(--brand-primary);margin-top:6px;font-weight:650;text-decoration:none}.ring-link:hover{text-decoration:underline}.ring-lens{z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex;position:relative}.ring-lens-label{font-family:var(--lp-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--type-micro);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px}.ring-lens-btn{border-radius:var(--radius-pill);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);min-height:32px;color:var(--muted);font:inherit;font-size:var(--type-label);cursor:pointer;align-items:center;gap:7px;padding:5px 11px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.ring-lens-btn:hover{color:var(--text);border-color:var(--ring-tone)}.ring-lens-btn[aria-pressed=true]{color:var(--text);border-color:var(--ring-tone);background:color-mix(in srgb, var(--ring-tone) 14%, var(--surface))}.ring-dot{background:var(--ring-tone);border-radius:50%;width:8px;height:8px}.ring-legend{max-width:36rem;font-family:var(--lp-mono,ui-monospace, SFMono-Regular, Menlo, monospace);font-size:var(--type-micro);color:var(--muted);text-align:center;flex-wrap:wrap;justify-content:center;gap:6px 18px;line-height:1.5;display:flex}.ring-legend>span{align-items:center;gap:7px;display:inline-flex}.ring-key{flex:none;display:inline-block}.ring-key-dot{background:var(--text);width:5px;height:5px;box-shadow:0 0 6px color-mix(in srgb, var(--text) 50%, transparent);border-radius:50%}.ring-key-arc{border:2px solid #0000;border-top-color:var(--muted);border-right-color:var(--muted);border-radius:50%;width:12px;height:12px}.ring-key-out{background:linear-gradient(90deg, color-mix(in srgb, var(--text) 25%, transparent), var(--text));width:12px;height:2px;position:relative}.ring-key-out:after{content:"";border:4px solid #0000;border-left:5px solid var(--text);border-right:0;position:absolute;top:-3px;right:-1px}.ring-zoom{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;top:2px;right:2px}.ring-zoom button{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 82%, transparent);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:50%;place-items:center;padding:0;transition:border-color .15s,opacity .15s;display:grid}.ring-zoom button:hover:not(:disabled){border-color:var(--brand-primary)}.ring-zoom button:disabled{opacity:.4;cursor:default}.ring-zoom button:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px;border-radius:50%}.ring.is-zoomed .ring-readout{border-radius:var(--radius-lg);border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);width:min(94%,340px);box-shadow:var(--elev-2);pointer-events:auto;padding:10px 14px 12px;animation:.35s ease-out both ring-dock;top:auto;bottom:8px;transform:translate(-50%)}.ring.is-zoomed .ring-value{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem)}.ring.is-zoomed .ring-sub{display:block}@keyframes ring-dock{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}button.ring-link{cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit}.ring-link--quiet{color:var(--muted);margin-top:0;font-weight:600}.ring-link--quiet:hover{color:var(--text);text-decoration:underline}.ring-lens-btn:focus-visible,.ring-link:focus-visible{outline:2px solid var(--brand-primary);outline-offset:3px}.ring-lens-btn:focus-visible{border-radius:var(--radius-pill)}.ring-title--name{overflow-wrap:anywhere;font-size:clamp(1rem,.9rem + .5vw,1.25rem);font-weight:700}.ring-key-chord{border:1.5px solid var(--muted);border-bottom:0;border-radius:14px 14px 0 0;width:14px;height:8px}.ring--embedded .ring-stage{width:min(100%,560px)}.ring--embedded.ring--compact .ring-stage{width:min(100%,400px)}.ring--embedded .ring-canvas{width:128%;height:128%;inset:-14%}.ring-list{width:min(100%,640px);font-size:var(--type-meta)}.ring-list summary{cursor:pointer;font-weight:600}.ring-list ol{columns:2 14rem;column-gap:24px;margin:10px 0 0;padding-left:1.4em}.ring-list li{break-inside:avoid;padding:2px 0}@media (max-width:720px){.ring-sub{display:none}.ring-readout{width:50%}}@media (prefers-reduced-motion:reduce){.ring-ghost,.ring-zoom button{transition:none}.ring.is-zoomed .ring-readout{animation:none}}
@font-face{font-family:displayFont;src:url(../media/BricolageGrotesque_latin_wght-s.p.1iqnhac4m3hwo.woff2)format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:displayFont Fallback;src:local(Arial);ascent-override:82.39%;descent-override:23.92%;line-gap-override:0.0%;size-adjust:112.88%}.wbjNiq_className{font-family:displayFont,displayFont Fallback,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.wbjNiq_variable{--lp-font-display:"displayFont", "displayFont Fallback", ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif}
@font-face{font-family:monoFont;src:url(../media/IBMPlexMono_latin_400-s.p.3xdfs0-p_zi4c.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:monoFont;src:url(../media/IBMPlexMono_latin_500-s.p.11q3guvgd1r20.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:monoFont Fallback;src:local(Arial);ascent-override:77.95%;descent-override:20.91%;line-gap-override:0.0%;size-adjust:131.49%}._1udbsW_className{font-family:monoFont,monoFont Fallback,ui-monospace,SFMono-Regular,Menlo,monospace}._1udbsW_variable{--lp-font-mono:"monoFont", "monoFont Fallback", ui-monospace, SFMono-Regular, Menlo, monospace}
