.hub-ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.75rem 1.25rem;border-radius:10px;font:inherit;font-size:.875rem;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,transform .15s ease,opacity .15s ease}.hub-ui-btn:disabled{opacity:.55;cursor:not-allowed}.hub-ui-btn--primary{background:var(--catalog-accent);color:#0a0a0a;border-color:var(--catalog-accent)}.hub-ui-btn--primary:focus-visible:not(:disabled),.hub-ui-btn--primary:hover:not(:disabled){filter:brightness(1.06)}.hub-ui-btn--icon{width:36px;height:36px;min-height:36px;padding:0;border-radius:10px;border:1px solid rgba(0,210,255,.28);background:rgba(0,210,255,.12);color:var(--catalog-accent);font-size:1.25rem;line-height:1}.hub-ui-btn--icon:focus-visible:not(:disabled),.hub-ui-btn--icon:hover:not(:disabled){background:rgba(0,210,255,.22);border-color:rgba(0,210,255,.45);transform:scale(1.06);filter:none}.hub-ui-btn--secondary{background:transparent;border-color:var(--catalog-border);color:var(--catalog-text)}.hub-ui-btn--secondary:focus-visible:not(:disabled),.hub-ui-btn--secondary:hover:not(:disabled){background:rgba(255,255,255,.06)}.hub-ui-btn--ghost{background:transparent;border-color:transparent;color:var(--catalog-muted)}.hub-ui-btn--ghost:focus-visible:not(:disabled),.hub-ui-btn--ghost:hover:not(:disabled){color:var(--catalog-text);background:rgba(255,255,255,.05)}.hub-ui-btn--danger{background:rgba(244,63,94,.15);border-color:rgba(244,63,94,.4);color:#fecdd3}.hub-ui-btn--danger:focus-visible:not(:disabled),.hub-ui-btn--danger:hover:not(:disabled){background:rgba(244,63,94,.25)}.hub-ui-btn--sm{min-height:32px;padding:.4rem .75rem;font-size:.75rem}.hub-ui-btn--lg{min-height:48px;padding:.9rem 1.5rem;font-size:.9375rem}.hub-ui-btn--block{width:100%;display:flex}.hub-ui-btn--mt{margin-top:1.25rem}.hub-ui-input{display:block;width:100%;min-height:44px;padding:.65rem .9rem;border-radius:10px;border:1px solid var(--catalog-border);background:var(--catalog-search-bg);color:var(--catalog-text);font:inherit;font-size:.875rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.hub-ui-input::-moz-placeholder{color:var(--catalog-muted)}.hub-ui-input::placeholder{color:var(--catalog-muted)}.hub-ui-input:hover{border-color:rgba(255,255,255,.2)}.hub-ui-input:focus{border-color:rgba(0,210,255,.45);box-shadow:0 0 0 3px rgba(0,210,255,.12)}.hub-ui-input:disabled{opacity:.55;cursor:not-allowed}.hub-ui-input--invalid{border-color:rgba(244,63,94,.55)}.hub-ui-card{background:var(--catalog-surface);border:1px solid var(--catalog-border);border-radius:12px;color:var(--catalog-text)}.hub-ui-card__header{padding:1rem 1.1rem .5rem}.hub-ui-card__body,.hub-ui-card__footer{padding:.75rem 1.1rem 1.1rem}.hub-ui-card__footer{border-top:1px solid var(--catalog-border)}.hub-ui-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:var(--catalog-pill-radius);font-size:.6875rem;font-weight:700;letter-spacing:.02em;line-height:1.4;border:1px solid transparent}.hub-ui-badge--neutral{background:rgba(255,255,255,.08);color:var(--catalog-muted);border-color:var(--catalog-border)}.hub-ui-badge--accent{background:rgba(0,210,255,.12);color:var(--catalog-accent);border-color:rgba(0,210,255,.28)}.hub-ui-badge--success{background:rgba(34,197,94,.18);color:#4ade80;border-color:rgba(34,197,94,.4)}.hub-ui-badge--warn{background:rgba(250,204,21,.12);color:#facc15;border-color:rgba(250,204,21,.35)}.hub-ui-badge--danger{background:rgba(244,63,94,.15);color:#fb7185;border-color:rgba(244,63,94,.4)}.hub-ui-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0;font-size:.8125rem;color:var(--catalog-muted)}.hub-ui-breadcrumb__sep{opacity:.45;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hub-ui-breadcrumb__link{color:var(--catalog-muted);text-decoration:none}.hub-ui-breadcrumb__link:hover{color:var(--catalog-accent)}.hub-ui-breadcrumb__current{color:var(--catalog-text);font-weight:600}.hub-ui-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.hub-ui-pagination__btn{min-width:36px;height:36px;padding:0 .55rem;border-radius:10px;border:1px solid var(--catalog-border);background:transparent;color:var(--catalog-text);font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.hub-ui-pagination__btn:hover:not(:disabled):not([aria-current=page]){background:rgba(255,255,255,.06)}.hub-ui-pagination__btn[aria-current=page]{background:rgba(0,210,255,.12);border-color:rgba(0,210,255,.35);color:var(--catalog-accent)}.hub-ui-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.hub-ui-table-wrap{width:100%;overflow-x:auto;border:1px solid var(--catalog-border);border-radius:12px;background:var(--catalog-surface)}.hub-ui-table{width:100%;border-collapse:collapse;font-size:.8125rem;color:var(--catalog-text)}.hub-ui-table td,.hub-ui-table th{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--catalog-border);vertical-align:top}.hub-ui-table th{color:var(--catalog-muted);font-weight:700;font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;background:rgba(0,0,0,.25)}.hub-ui-table tbody tr:hover td{background:var(--catalog-surface-hover)}.hub-ui-table tbody tr:last-child td{border-bottom:none}.hub-ui-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(60vh,520px);padding:2.5rem 1.25rem;text-align:center;color:var(--catalog-text)}.hub-ui-error__code{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--catalog-accent)}.hub-ui-error__title{margin:.75rem 0 0;font-size:1.5rem;font-weight:700}.hub-ui-error__text{margin:.75rem 0 0;max-width:28rem;font-size:.875rem;color:var(--catalog-muted)}.hub-ui-error__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.75rem}.hub-ui-loading{margin:0 auto;max-width:28rem;padding:5rem 1rem;text-align:center}.hub-ui-loading__title{margin:0;font-size:1.25rem;font-weight:700;color:var(--catalog-text)}.hub-ui-modal-backdrop{position:fixed;inset:0;z-index:120;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.75);backdrop-filter:blur(4px)}@media (min-width:640px){.hub-ui-modal-backdrop{align-items:center}}.hub-ui-modal{display:flex;max-height:92dvh;width:100%;max-width:48rem;flex-direction:column;overflow:hidden;border-radius:16px 16px 0 0;border:1px solid var(--catalog-border);background:var(--catalog-bg);box-shadow:0 24px 64px rgba(0,0,0,.45);color:var(--catalog-text)}@media (min-width:640px){.hub-ui-modal{border-radius:16px}}.hub-ui-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--catalog-border)}.hub-ui-modal__head-text{min-width:0;flex:1}.hub-ui-modal__eyebrow{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.6875rem;color:var(--catalog-accent)}.hub-ui-modal__title{margin:.25rem 0 0;font-size:1.125rem;font-weight:700;line-height:1.3}.hub-ui-modal__meta{margin:.25rem 0 0;font-size:.75rem;color:var(--catalog-muted)}.hub-ui-modal__close{flex-shrink:0;min-height:36px;width:36px;padding:0;border-radius:999px}.hub-ui-modal__body{flex:1;overflow-y:auto;padding:1.25rem}.hub-ui-modal__muted{margin:0;font-size:.875rem;color:var(--catalog-muted)}.hub-ui-modal__error{margin:0;font-size:.875rem;color:#fecdd3}.hub-ui-modal__grid{display:grid;gap:1.5rem}@media (min-width:768px){.hub-ui-modal__grid{grid-template-columns:minmax(0,14rem) 1fr}}.hub-ui-modal__stack{display:flex;flex-direction:column;gap:1rem}.hub-ui-modal__section-label{margin:0 0 .5rem;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--catalog-muted)}.hub-ui-modal__price{margin:.25rem 0 0;font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--catalog-accent)}.hub-ui-modal__prose{margin:0;white-space:pre-line;font-size:.875rem;line-height:1.55;color:var(--catalog-text)}.hub-ui-modal__specs{margin:0;overflow:hidden;border-radius:12px;border:1px solid var(--catalog-border)}.hub-ui-modal__spec{display:grid;grid-template-columns:minmax(0,10rem) 1fr;gap:.75rem;padding:.5rem .75rem;font-size:.875rem}.hub-ui-modal__spec--alt{background:rgba(255,255,255,.03)}.hub-ui-modal__spec dt{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--catalog-muted)}.hub-ui-modal__spec dd{margin:0;overflow-wrap:anywhere;color:var(--catalog-text)}.hub-ui-modal__hint{margin:0;padding:.75rem;font-size:.875rem;color:var(--catalog-muted)}.hub-ui-modal__placeholder{min-height:12rem;width:100%}