.library-menu{position:absolute;z-index:30;left:0;right:0;top:calc(100% + .35rem);max-height:16rem;overflow-y:auto;padding:.35rem;border-radius:.9rem;border:1px solid var(--color-hairline);background:var(--color-card);box-shadow:0 18px 40px -18px rgba(0,0,0,.55)}.library-menu li[role=option]{display:flex;min-height:2.75rem;cursor:pointer;flex-direction:column;justify-content:center;border-radius:.6rem;padding:.35rem .75rem}.library-menu li[data-active]{background:color-mix(in srgb,var(--color-accent) 16%,transparent)}.library-menu-name{font-size:.875rem;font-weight:600;color:var(--color-text)}.library-menu-city,.library-menu-empty{font-size:.75rem;color:var(--color-muted)}.library-menu-empty{padding:.75rem}.lib-code-reveal{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden}.lib-code-reveal[data-open]{grid-template-rows:1fr;opacity:1;visibility:visible}.lib-code-reveal-inner{min-height:0;overflow:hidden}.lib-code-reveal[data-open] .lib-code-reveal-inner{overflow:visible}html:not(.a11y-motion) .lib-code-reveal{transition:grid-template-rows .4s var(--ease-out-quint,ease),opacity .3s ease,visibility 0s linear .4s}html:not(.a11y-motion) .lib-code-reveal[data-open]{transition:grid-template-rows .4s var(--ease-out-quint,ease),opacity .3s ease .08s,visibility 0s}.lock-panel{border-radius:1.125rem;border:1px solid color-mix(in srgb,var(--color-accent) 55%,transparent);background:var(--color-card)}.lock-chip{display:inline-flex;align-items:center;gap:.3rem;border-radius:9999px;padding:.2rem .6rem;font-size:.6875rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb,var(--color-accent) 20%,transparent);color:var(--color-accent)}.free-chip{background:color-mix(in srgb,#4ad6a7 22%,transparent);color:#4ad6a7}@keyframes lib-unlock-ring{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.5);opacity:0}}html:not(.a11y-motion) .lib-unlock-ring{animation:lib-unlock-ring 1.1s var(--ease-out-quint,ease-out) both}.ended-dialog-backdrop{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(8,10,16,.72)}.ended-dialog{width:100%;max-width:28rem;border-radius:1.125rem;border:1px solid color-mix(in srgb,var(--color-accent) 55%,transparent);background:var(--color-card);padding:1.5rem;box-shadow:0 30px 70px -20px rgba(0,0,0,.7)}html:not(.a11y-motion) .ended-dialog{animation:ended-dialog-in .35s var(--ease-out-quint,ease-out) both}@keyframes ended-dialog-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}