@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f8f9fc;--surface: #ffffff;--primary: #1a2b4a;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-light: #dbeafe;--text: #1a1a2e;--text-secondary: #5a607f;--text-muted: #9ca3af;--border: #e5e7eb;--danger: #dc2626;--danger-light: #fee2e2;--gradient-start: #1a2b4a;--gradient-end: #2563eb;--card-shadow: 0 4px 24px rgba(0, 0, 0, .06);--radius: 16px;--mono: ui-monospace, SFMono-Regular, "JetBrains Mono", Menlo, Monaco, "Courier New", monospace}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));padding:20px}.login-card{background:var(--surface);border-radius:var(--radius);padding:40px;width:100%;max-width:400px;box-shadow:0 20px 60px #0003}.login-card h1{font-size:22px;color:var(--primary);margin-bottom:8px;text-align:center}.login-card p{font-size:14px;color:var(--text-secondary);margin-bottom:24px;text-align:center}.login-card input{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:10px;font-size:15px;font-family:inherit;margin-bottom:12px}.login-card input:focus{outline:none;border-color:var(--accent)}.login-card button{width:100%;padding:14px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600}.login-card button:disabled{opacity:.6;cursor:not-allowed}.login-card button:hover:not(:disabled){background:var(--accent-hover)}.login-error{color:var(--danger);font-size:13px;margin-bottom:12px;text-align:center}.admin-wrap{max-width:1100px;margin:0 auto;padding:32px 24px}.admin-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.admin-head h1{font-size:24px;color:var(--primary)}.admin-head-actions{display:flex;gap:10px}.btn{padding:10px 18px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:600}.btn:hover{border-color:var(--accent)}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover)}.btn-danger{background:var(--danger-light);color:var(--danger);border-color:var(--danger-light)}.btn-danger:hover{background:var(--danger);color:#fff}.admin-table{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);border-collapse:separate;border-spacing:0;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--border);font-size:14px}.admin-table th{background:#f8f9fc;color:var(--text-secondary);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px}.admin-table tr:last-child td{border-bottom:none}.admin-table td .row-actions{display:flex;gap:8px}.status-pill{display:inline-block;padding:4px 10px;border-radius:100px;font-size:11px;font-weight:600}.status-pill.active{background:#ecfdf5;color:#059669}.status-pill.coming_soon{background:#fef3c7;color:#92400e}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a2b4a80;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--surface);border-radius:var(--radius);padding:32px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto}.modal h2{font-size:20px;color:var(--primary);margin-bottom:20px}.form-row{margin-bottom:16px}.form-row label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.form-row input,.form-row textarea,.form-row select{width:100%;padding:10px 14px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-family:inherit}.form-row textarea{resize:vertical;min-height:80px}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none;border-color:var(--accent)}.form-row-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}@media (max-width: 640px){.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:10px 8px}.form-row-grid{grid-template-columns:1fr}}.hub{min-height:100vh;background:#08090f;color:#fff;display:flex;flex-direction:column;overflow-x:hidden;position:relative}.hub__nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;border-bottom:1px solid rgba(255,255,255,.06)}.hub__nav-brand{display:flex;align-items:center;gap:14px}.hub__logo{height:26px;filter:brightness(0) invert(1);opacity:.95}.hub__nav-suffix{font-family:var(--mono);font-size:13px;color:#ffffff52}.hub__nav-actions{display:flex;gap:4px}.hub__nav-link{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:500;font-family:inherit;color:#ffffffa6;background:transparent;border:0;cursor:pointer;transition:color .15s,background .15s}.hub__nav-link:hover{color:#fff;background:#ffffff0f}.hub__hero{position:relative;isolation:isolate;overflow:hidden;padding:14vh 0 16vh}.hub__stars{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:-2}.hub__star-group{position:absolute;top:0;left:0;background:#fff;border-radius:50%;animation:hubStarFlicker var(--dur, 5s) ease-in-out infinite;animation-delay:var(--delay, 0s)}@keyframes hubStarFlicker{0%,to{opacity:var(--min-op, .5)}50%{opacity:1}}.hub__nebula{position:absolute;border-radius:50%;filter:blur(40px);pointer-events:none;z-index:-1}.hub__nebula--primary{width:820px;height:820px;top:-280px;right:-180px;background:radial-gradient(ellipse 60% 70% at 35% 70%,rgba(104,97,245,.22) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 70% 30%,rgba(0,153,255,.16) 0%,transparent 60%),radial-gradient(circle,rgba(159,128,218,.12) 0%,transparent 50%);animation:hubNebulaDrift 22s ease-in-out infinite}.hub__nebula--secondary{width:620px;height:620px;bottom:-220px;left:-160px;background:radial-gradient(circle,rgba(104,97,245,.18) 0%,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(72,57,83,.18) 0%,transparent 65%);animation:hubNebulaDrift 28s ease-in-out infinite reverse}@keyframes hubNebulaDrift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(-50px,40px) scale(1.06)}66%{transform:translate(40px,-30px) scale(.95)}}.hub__hero-inner{max-width:1240px;margin:0 auto;padding:0 40px;position:relative}.hub__status{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 11px;border:1px solid rgba(255,255,255,.09);border-radius:100px;background:#ffffff05;margin-bottom:40px;animation:hubFadeUp .5s cubic-bezier(.22,1,.36,1) both}.hub__status-pulse{position:relative;width:8px;height:8px;display:inline-flex}.hub__status-pulse:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#4ade80;border-radius:50%;animation:hubPulse 2.2s ease-out infinite}.hub__status-dot{position:relative;width:8px;height:8px;background:#4ade80;border-radius:50%;box-shadow:0 0 8px #4ade808c}@keyframes hubPulse{0%{transform:scale(1);opacity:.55}to{transform:scale(2.6);opacity:0}}.hub__status-text{font-family:var(--mono);font-size:12px;color:#ffffff9e;letter-spacing:.2px}.hub__title{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;font-size:clamp(48px,8vw,92px);font-weight:600;line-height:.96;letter-spacing:-.045em;margin-bottom:36px;max-width:14ch;animation:hubFadeUp .7s cubic-bezier(.22,1,.36,1) .1s both}.hub__title-soft{color:#fff6;font-weight:600}.hub__lede{font-size:18px;line-height:1.6;color:#ffffff8c;max-width:480px;animation:hubFadeUp .7s cubic-bezier(.22,1,.36,1) .22s both}@keyframes hubFadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hub__catalog{flex:1;max-width:1240px;width:100%;margin:0 auto;padding:0 40px 120px}.hub__catalog-head{display:flex;align-items:baseline;justify-content:space-between;padding:18px 0;border-top:1px solid rgba(255,255,255,.08);margin-bottom:28px}.hub__catalog-label,.hub__catalog-count{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:1.4px;text-transform:uppercase}.hub__catalog-label{color:#ffffff8c}.hub__catalog-count{color:#fff6}.hub__catalog-count span{color:#ffffff2e}.hub__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}@property --demo-rotate{syntax: "<angle>"; initial-value: 132deg; inherits: false;}@keyframes demoSpin{0%{--demo-rotate: 0deg}to{--demo-rotate: 360deg}}@keyframes hubCardIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.demo{position:relative;display:block;padding:1.5px;border-radius:17px;background:linear-gradient(var(--demo-rotate),#0099ff,#6861f5 48%,#483953);text-decoration:none;color:inherit;cursor:pointer;isolation:isolate;box-shadow:0 0 28px -4px #6861f538;transition:box-shadow .35s ease;animation:hubCardIn .55s cubic-bezier(.22,1,.36,1) both,demoSpin 6s linear infinite;animation-delay:calc(var(--idx, 0) * 60ms + .1s),calc(var(--idx, 0) * -1.5s)}.demo:not(.demo--off):hover{box-shadow:0 0 44px -2px #6861f566}.demo--off{background:#ffffff14;cursor:default;box-shadow:none;animation:hubCardIn .55s cubic-bezier(.22,1,.36,1) both}.demo__inner{position:relative;display:flex;flex-direction:column;padding:30px;background:#0c0e16;border-radius:16px;min-height:320px;height:100%;z-index:1;transition:background .3s ease;overflow:hidden}.demo:not(.demo--off):hover .demo__inner{background:#11141d}.demo--off .demo__inner{opacity:.7}.demo__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.demo__index{font-family:var(--mono);font-size:11px;font-weight:500;color:#ffffff4d;letter-spacing:1.5px}.demo__pill{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.8px;text-transform:uppercase;color:#fbbf24;background:#fbbf241a;padding:3px 8px;border-radius:4px;border:1px solid rgba(251,191,36,.22)}.demo__icon{width:48px;height:48px;border-radius:12px;background:#4f7fff14;border:1px solid rgba(79,127,255,.16);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:24px;transition:transform .3s ease,border-color .3s ease,background .3s ease}.demo:not(.demo--off):hover .demo__icon{transform:translateY(-2px);border-color:#4f7fff61;background:#4f7fff24}.demo__title{font-size:19px;font-weight:600;letter-spacing:-.015em;color:#fff;margin-bottom:8px}.demo__desc{font-size:14px;line-height:1.65;color:#ffffff80;margin-bottom:28px;flex:1}.demo__foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.demo__tags{display:flex;gap:6px;flex-wrap:wrap;min-width:0}.demo__tag{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.4px;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:#ffffff0d;color:#ffffffa6}.demo__tag--green{background:#4ade801a;color:#4ade80}.demo__tag--orange{background:#fb923c1a;color:#fb923c}.demo__tag--purple{background:#c084fc1a;color:#c084fc}.demo__cta{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0;transition:gap .2s ease}.demo--off .demo__cta{color:#fff6}.demo:not(.demo--off):hover .demo__cta{gap:10px}.demo__cta svg{width:14px;height:14px}.hub__placeholder{text-align:center;padding:80px 32px;color:#ffffff80;border:1px dashed rgba(255,255,255,.1);border-radius:16px;font-size:14px}.hub__placeholder-link,.hub__placeholder a{color:#6861f5}.hub__placeholder-link:hover,.hub__placeholder a:hover{text-decoration:underline}.hub__footer{max-width:1240px;width:100%;margin:0 auto;padding:32px 40px 48px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.06)}.hub__footer-brand{font-family:var(--mono);font-size:12px;color:#ffffff6b;letter-spacing:.2px}.hub__footer-links{display:flex;gap:24px}.hub__footer-links a{font-family:var(--mono);font-size:12px;color:#ffffff6b;letter-spacing:.2px;transition:color .15s}.hub__footer-links a:hover{color:#fff}@media (max-width: 768px){.hub__nav{padding:16px 20px}.hub__hero{padding:9vh 0 11vh}.hub__hero-inner{padding:0 20px}.hub__nebula--primary{width:520px;height:520px;right:-180px;top:-180px}.hub__nebula--secondary{width:420px;height:420px;bottom:-160px;left:-120px}.hub__catalog{padding:0 20px 80px}.hub__title{letter-spacing:-.03em}.hub__grid{grid-template-columns:1fr}.hub__footer{padding:24px 20px 32px;flex-direction:column;gap:14px;align-items:flex-start}.demo__inner{padding:28px 24px;min-height:280px}}@media (prefers-reduced-motion: reduce){.hub__nebula,.hub__star-group,.hub__status-pulse:before,.hub__status,.hub__title,.hub__lede,.demo{animation:none}}.hub__nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0}.hub--light{background:radial-gradient(ellipse 70% 50% at 85% 0%,#ecd8f3 0%,transparent 55%),radial-gradient(ellipse 60% 50% at 0% 90%,#dddbff 0%,transparent 55%),radial-gradient(ellipse 80% 60% at 50% 50%,#f7f0fa 0%,transparent 75%),#fff;color:#0a0a0a}.hub--light .hub__nav{border-bottom-color:#4839531a}.hub--light .hub__logo{filter:none;opacity:1}.hub--light .hub__nav-suffix{color:#48395373}.hub--light .hub__nav-link{color:#483953a6}.hub--light .hub__nav-link:hover{color:#0a0a0a;background:#4839530f}.hub--light .hub__stars{mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 75%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 75%)}.hub--light .hub__nebula--primary{background:radial-gradient(ellipse 60% 70% at 35% 70%,rgba(104,97,245,.2) 0%,transparent 55%),radial-gradient(ellipse 70% 60% at 70% 30%,rgba(159,128,218,.24) 0%,transparent 60%),radial-gradient(circle,rgba(236,216,243,.5) 0%,transparent 55%);filter:blur(50px);opacity:.95}.hub--light .hub__nebula--secondary{background:radial-gradient(circle,rgba(221,219,255,.55) 0%,transparent 55%),radial-gradient(ellipse 80% 60% at 60% 50%,rgba(72,57,83,.1) 0%,transparent 65%);filter:blur(50px);opacity:.85}.hub--light .hub__hero{background-image:radial-gradient(circle,rgba(72,57,83,.07) 1px,transparent 1px);background-size:26px 26px;background-position:0 0}.hub--light .hub__title{color:#0a0a0a}.hub--light .hub__title-soft{color:#4839536b}.hub--light .hub__lede{color:#4839539e}.hub--light .hub__status{background:#48395308;border-color:#4839531a}.hub--light .hub__status-text{color:#483953a6}.hub--light .hub__catalog-head{border-top-color:#4839531a}.hub--light .hub__catalog-label{color:#4839538c}.hub--light .hub__catalog-count{color:#4839536b}.hub--light .hub__catalog-count span{color:#48395333}.hub--light .demo{box-shadow:0 4px 22px -4px #6861f538}.hub--light .demo:not(.demo--off):hover{box-shadow:0 10px 36px -4px #6861f566}.hub--light .demo--off{background:#4839531a;box-shadow:none}.hub--light .demo__inner{background:#fff}.hub--light .demo:not(.demo--off):hover .demo__inner{background:#f9fafd}.hub--light .demo__index{color:#48395359}.hub--light .demo__title{color:#0a0a0a}.hub--light .demo__desc{color:#48395399}.hub--light .demo__cta{color:#0a0a0a}.hub--light .demo--off .demo__cta{color:#48395366}.hub--light .demo__tag{background:#4839530f;color:#483953b3}.hub--light .demo__tag--green{background:#22c55e1f;color:#15803d}.hub--light .demo__tag--orange{background:#fb923c24;color:#c2410c}.hub--light .demo__tag--purple{background:#a855f71f;color:#7e22ce}.hub--light .demo__pill{color:#92400e;background:#fbbf242e;border-color:#fbbf2466}.hub--light .hub__placeholder{border-color:#48395324;color:#48395399}.hub--light .hub__footer{border-top-color:#4839531a}.hub--light .hub__footer-brand,.hub--light .hub__footer-links a{color:#48395373}.hub--light .hub__footer-links a:hover{color:#0a0a0a}
