.keychain-module__Oa0clq__keychain{--ring:clamp(4rem, 9vw, 5.5rem);--link:calc(var(--ring) * .42);--token:calc(var(--ring) * .62);color:var(--color-ink);flex-direction:column;align-items:center;display:flex;position:relative}.keychain-module__Oa0clq__ring{width:var(--ring);height:var(--ring);color:var(--color-ink-soft)}.keychain-module__Oa0clq__charms{width:100%;height:calc(var(--link) + var(--token) + 2.2rem);margin-top:calc(var(--ring) * -.32);position:relative}.keychain-module__Oa0clq__charm{transform-origin:top;transform:translateX(-50%) rotate(var(--rot));animation:keychain-module__Oa0clq__sway var(--dur) var(--ease-precise) infinite;animation-delay:calc(var(--i) * -1.3s);position:absolute;top:0;left:50%}@keyframes keychain-module__Oa0clq__sway{0%,to{transform:translateX(-50%) rotate(calc(var(--rot) - 2.5deg))}50%{transform:translateX(-50%) rotate(calc(var(--rot) + 2.5deg))}}.keychain-module__Oa0clq__charmButton{cursor:pointer;color:inherit;background:0 0;border:none;flex-direction:column;align-items:center;gap:0;padding:0;display:flex}.keychain-module__Oa0clq__link{width:2px;height:var(--link);background:var(--color-ink-soft);position:relative}.keychain-module__Oa0clq__link:before{content:"";border:2px solid var(--color-ink-soft);background:var(--color-bg);border-radius:50%;width:.6rem;height:.6rem;position:absolute;top:-.4rem;left:50%;transform:translate(-50%)}.keychain-module__Oa0clq__token{width:var(--token);height:var(--token);border:1.5px solid var(--color-ink);border-radius:calc(var(--token) * .28);background:var(--color-surface);transition:color var(--duration-quick) var(--ease-precise), border-color var(--duration-quick) var(--ease-precise), transform var(--duration-quick) var(--ease-precise);place-items:center;display:grid}.keychain-module__Oa0clq__token svg{width:55%;height:55%}.keychain-module__Oa0clq__charmButton:hover .keychain-module__Oa0clq__token,.keychain-module__Oa0clq__charmButton:focus-visible .keychain-module__Oa0clq__token,.keychain-module__Oa0clq__charmButton[aria-pressed=true] .keychain-module__Oa0clq__token{color:var(--color-live);border-color:var(--color-live);transform:translateY(2px)scale(1.06)}.keychain-module__Oa0clq__charmButton:focus-visible{outline:none}.keychain-module__Oa0clq__charmButton:focus-visible .keychain-module__Oa0clq__token{outline:2px solid var(--color-live);outline-offset:3px}.keychain-module__Oa0clq__caption{align-items:center;gap:var(--space-1);max-width:15rem;min-height:3.2em;margin-top:var(--space-2);text-align:center;flex-direction:column;display:flex}.keychain-module__Oa0clq__captionLabel{color:var(--color-live)}.keychain-module__Oa0clq__captionNote{font-size:var(--text-sm);color:var(--color-ink-soft);line-height:1.4}.keychain-module__Oa0clq__captionHint{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:-.04em;color:var(--color-ink-faint)}@media (prefers-reduced-motion:reduce){.keychain-module__Oa0clq__charm{transform:translateX(-50%) rotate(var(--rot));animation:none}}
.page-module__NfDiEG__page{padding-block:var(--space-12) var(--space-8);flex-direction:column;align-items:flex-start;display:flex}.page-module__NfDiEG__hero{gap:var(--space-6);width:100%;margin-bottom:var(--space-8);flex-direction:column-reverse;display:flex}@media (min-width:48rem){.page-module__NfDiEG__hero{justify-content:space-between;align-items:flex-start;gap:var(--space-8);flex-direction:row}}.page-module__NfDiEG__intro{align-items:flex-start;gap:var(--space-3);flex-direction:column;max-width:40rem;display:flex}.page-module__NfDiEG__name{font-size:var(--text-hero);letter-spacing:-.06em;font-weight:400;line-height:1}.page-module__NfDiEG__lead{max-width:34rem}.page-module__NfDiEG__aside{padding-top:var(--space-2);justify-content:center;align-self:center;display:flex}@media (min-width:48rem){.page-module__NfDiEG__aside{flex:none;align-self:flex-start}}.page-module__NfDiEG__block{gap:var(--space-2);width:100%;max-width:42rem;padding-top:var(--space-6);border-top:1px solid var(--color-line);flex-direction:column;display:flex}.page-module__NfDiEG__block+.page-module__NfDiEG__block{margin-top:var(--space-6)}.page-module__NfDiEG__back{margin-top:var(--space-8)}
