.freer-hub-grid{--freer-hub-accent:#7c5cff;--freer-hub-muted:#9a93b8;--freer-hub-border:rgba(124, 92, 255, .22);display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:1rem 0}.freer-hub-grid__title{margin:0 0 .5rem}.freer-hub-card{border:1px solid var(--freer-hub-border);border-radius:14px;padding:1.1rem 1.25rem;background:rgb(124 92 255 / .04);display:flex;flex-direction:column;gap:.45rem;transition:border-color .15s ease,transform .15s ease}.freer-hub-card:hover{border-color:var(--freer-hub-accent);transform:translateY(-2px)}.freer-hub-card__name{font-size:1.12rem;font-weight:700}.freer-hub-card__version{font-size:.8rem;color:var(--freer-hub-muted)}.freer-hub-card__desc{font-size:.92rem;line-height:1.5;flex:1}.freer-hub-card__actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.freer-hub-btn{display:inline-flex;align-items:center;gap:.4rem;background:var(--freer-hub-accent);color:#fff!important;border:none;border-radius:8px;padding:.55rem 1rem;cursor:pointer;font:inherit;font-weight:600;text-decoration:none;transition:filter .15s ease}.freer-hub-btn:hover{filter:brightness(1.1)}a.freer-hub-btn{background:rgb(124 92 255 / .12);color:var(--freer-hub-accent)!important}a.freer-hub-btn.freer-hub-btn--primary,.freer-hub-card .freer-hub-btn:last-child{background:var(--freer-hub-accent);color:#fff!important}.freer-hub-gate{margin-top:.6rem;display:flex;gap:.4rem;flex-wrap:wrap}.freer-hub-gate__email{flex:1 1 220px;padding:.5rem .7rem;border:1px solid var(--freer-hub-border);border-radius:8px;background:#fff0;color:inherit;font:inherit}.freer-hub-gate__email:focus{outline:2px solid var(--freer-hub-accent);outline-offset:1px}.freer-hub-gate__msg{width:100%;font-size:.85rem;color:var(--freer-hub-muted)}.freer-hub-gate__msg.is-ok{color:#2ecc9a}.freer-hub-gate__msg.is-error{color:#ff6b6b}