:root{--bg: #080c16;--bg-2: #0d1322;--ink: #e8eeff;--ink-dim: #8b98b8;--line: rgba(139, 152, 184, .18)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%;background:var(--bg)}body{color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.hub{position:relative;min-height:100dvh;padding:clamp(28px,6vw,72px) clamp(16px,5vw,48px) 64px;overflow-x:hidden}.hub:before,.hub:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.hub:before{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse 90% 65% at 50% 0%,#000 20%,transparent 78%);-webkit-mask-image:radial-gradient(ellipse 90% 65% at 50% 0%,#000 20%,transparent 78%);opacity:.55;animation:drift 26s linear infinite}.hub:after{background:radial-gradient(46rem 26rem at 12% -6%,rgba(245,179,1,.16),transparent 62%),radial-gradient(40rem 24rem at 88% 6%,rgba(77,243,255,.14),transparent 62%),radial-gradient(38rem 28rem at 62% 96%,rgba(255,79,216,.1),transparent 64%)}@keyframes drift{to{background-position:54px 54px,54px 54px}}.hub>*{position:relative;z-index:1}.hub-head{max-width:1120px;margin:0 auto clamp(28px,5vw,52px);text-align:center}.hub-kicker{display:inline-block;padding:6px 14px;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-dim);background:#ffffff08}.hub-title{margin:18px 0 0;font-size:clamp(40px,9vw,84px);font-weight:900;line-height:.98;letter-spacing:-.03em;background:linear-gradient(96deg,#f5b301,#ff7a3d 34%,#ff4fd8 64%,#4df3ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hub-sub{margin:16px auto 0;max-width:46ch;font-size:clamp(14px,2.2vw,17px);line-height:1.6;color:var(--ink-dim)}.hub-grid{max-width:1120px;margin:0 auto;display:grid;gap:clamp(16px,2.5vw,24px);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.card-wrap{--accent: #4df3ff;--accent2: #4d7bff;position:relative;display:flex}.card{position:relative;flex:1;display:flex;flex-direction:column;padding:26px 24px 24px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(168deg,var(--bg-2),#0a0f1c);text-align:left;text-decoration:none;color:inherit;overflow:hidden;isolation:isolate;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;background:radial-gradient(22rem 14rem at 50% -18%,var(--accent),transparent 68%);opacity:.13;transition:opacity .22s ease}.card:hover,.card:focus-visible{transform:translateY(-5px);border-color:color-mix(in srgb,var(--accent) 55%,transparent);box-shadow:0 22px 50px -22px color-mix(in srgb,var(--accent) 60%,transparent);outline:none}.card:hover:before,.card:focus-visible:before{opacity:.28}.card-glyph{width:56px;height:56px;display:grid;place-items:center;font-size:27px;border-radius:15px;border:1px solid var(--line);background:#ffffff0d;border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:linear-gradient(150deg,color-mix(in srgb,var(--accent) 20%,transparent),color-mix(in srgb,var(--accent2) 12%,transparent))}.card-title{margin:18px 0 0;font-size:25px;font-weight:800;letter-spacing:-.015em}.card-tagline{margin:7px 0 0;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}.card-blurb{margin:14px 0 0;font-size:14.5px;line-height:1.62;color:var(--ink-dim)}.card-tags{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 22px}.card-tag{padding:5px 11px;border:1px solid var(--line);border-radius:999px;font-size:11.5px;font-weight:600;color:var(--ink-dim);background:#ffffff06}.card-cta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-radius:12px;font-size:14px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#070b14;background:linear-gradient(96deg,var(--accent),var(--accent2))}.card-cta span:last-child{transition:transform .22s ease}.card:hover .card-cta span:last-child{transform:translate(5px)}.card-repo{position:absolute;top:26px;right:22px;z-index:2;font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--ink-dim);text-decoration:none;padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#080c16b3;transition:color .18s ease,border-color .18s ease}.card-repo:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}.hub-foot{max-width:1120px;margin:clamp(34px,6vw,60px) auto 0;padding-top:22px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.7;color:var(--ink-dim);text-align:center}.hub-foot a{color:var(--ink-dim);text-decoration:underline;text-underline-offset:3px}.hub-foot a:hover{color:var(--ink)}.player{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;margin:0;padding:0;overflow:hidden;overscroll-behavior:none;background:var(--bg)}.player iframe{width:100%;height:100%;border:0;display:block}.player-chrome{position:absolute;top:max(10px,env(safe-area-inset-top,0px));left:max(10px,env(safe-area-inset-left,0px));z-index:10;display:flex;align-items:center;gap:6px}.player-btn{display:flex;align-items:center;gap:6px;padding:8px 13px 8px 10px;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:12.5px;font-weight:700;letter-spacing:.04em;color:var(--ink);background:#080c16b8;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);cursor:pointer;opacity:.28;transition:opacity .2s ease,border-color .2s ease}.player-btn-icon{padding:8px 11px;font-size:14px}.player-btn:hover,.player-btn:focus-visible{opacity:1;border-color:#e8eeff80;outline:none}.player-chrome:hover .player-btn{opacity:1}@media (hover: none){.player-btn{opacity:.65}}@media (prefers-reduced-motion: reduce){.hub:before{animation:none}.card,.card:before,.card-cta span:last-child{transition:none}.card:hover,.card:focus-visible{transform:none}}
