:root{--hfv: #00ff88;--bg: #060907;--card: #0b120f;--muted: #bfffe1;--text: #eafff1;--line: rgba(0,255,136,.18);--glow: 0 0 40px rgba(0,255,136,.13), 0 0 2px rgba(0,255,136,.4) inset}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;background:radial-gradient(1200px 600px at 20% -10%,rgba(0,255,136,.12),transparent 60%),radial-gradient(900px 500px at 120% 20%,rgba(0,255,136,.08),transparent 60%),var(--bg);color:var(--text)}.app{min-height:100%;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:24px 16px;flex:1}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--line);background:#060907b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:700}.logo-dot{width:22px;height:22px;border-radius:6px;background:var(--hfv);box-shadow:0 0 14px var(--hfv)}.nav{display:flex;gap:12px}.navlink{color:var(--muted);text-decoration:none;padding:8px 12px;border-radius:10px}.navlink.active,.navlink:hover{color:#031;background:#0f83;border:1px solid var(--line)}.hero{padding:60px 16px 24px}.hero-content{max-width:1000px;margin:0 auto;text-align:center}.hero-title{font-size:clamp(32px,5vw,56px);margin:0 0 8px;letter-spacing:-.02em;color:#ccffd6}.hero-sub{opacity:.9;margin:0 0 24px}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:14px;text-decoration:none;border:1px solid var(--line);transition:.2s ease;font-weight:600}.btn.primary{background:var(--hfv);color:#000;box-shadow:var(--glow)}.btn.primary:hover{filter:brightness(.95)}.btn.ghost{background:#00ff8814;color:var(--muted)}.btn.ghost:hover{background:#00ff8829}.btn.sm{padding:8px 12px;font-size:.9rem}.hub-head .title{font-size:clamp(24px,3.5vw,36px);margin:8px 0}.hub-head .sub{opacity:.8;margin:0 0 12px}.toolbar{display:grid;gap:12px;grid-template-columns:1fr;margin:16px 0 24px}@media (min-width:860px){.toolbar{grid-template-columns:1fr auto}}.search input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#00ff880f;color:var(--text);outline:none;box-shadow:var(--glow)}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.pill{padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:#00ff881a;color:var(--muted);cursor:pointer}.pill.active,.pill:hover{background:var(--hfv);color:#031;border-color:transparent}.grid{display:grid;gap:16px;grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:560px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:980px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{position:relative;border-radius:18px;padding:1px;background:linear-gradient(180deg,rgba(0,255,136,.55),rgba(0,255,136,.12) 45%,transparent 100%)}.card-inner{background:var(--card);border-radius:18px;padding:16px;height:100%;display:flex;flex-direction:column;gap:12px;box-shadow:var(--glow)}.card-head{display:flex;gap:12px;align-items:flex-start}.avatar{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:#00ff882e}.head-text{display:flex;flex-direction:column;gap:8px}.card-title{margin:0;font-size:1.1rem;color:#ccffd6}.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);background:#00ff880f}.desc{opacity:.9;margin:0}.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.empty{opacity:.8;border:1px dashed var(--line);padding:16px;border-radius:12px;text-align:center}.footer{border-top:1px solid var(--line);padding:16px;display:flex;gap:8px;align-items:center;justify-content:space-between;color:var(--muted)}.footer .tiny{font-size:12px;opacity:.9}.dao-logo{width:42px;height:42px;border-radius:12px;object-fit:contain;background:#fff;padding:4px;box-shadow:0 0 12px #00ff8826}@keyframes bgPulse{0%{background-color:#060907}50%{background-color:#0b120d}to{background-color:#060907}}.app{min-height:100vh;display:flex;flex-direction:column;background:#060907;animation:bgPulse 6s ease-in-out infinite}.brand-logo{width:36px;height:36px;object-fit:contain;margin-right:8px;filter:drop-shadow(0 0 6px rgba(0,255,154,.6))}.section-title{font-size:1.6rem;margin:0 0 12px}.muted{opacity:.7}.error{color:#ff6b6b}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:14px}.card-head{display:flex;gap:12px;align-items:center}.avatar{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#111}.card-title{margin:0;font-size:1.1rem}.meta{font-size:.85rem;opacity:.8}.sep{margin:0 6px;opacity:.6}.desc{margin:10px 0 8px;line-height:1.4}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{font-size:.75rem;padding:3px 8px;border-radius:999px;background:#038b4c0f;border:1px solid rgba(3,230,67,.1)}.pill{font-size:.75rem;padding:2px 6px;border-radius:6px;background:#0b5;color:#031}.ext{display:inline-block;margin-top:8px;font-size:.9rem}.card{position:relative;overflow:hidden}.vortex-canvas{position:absolute;inset:0;pointer-events:none;filter:drop-shadow(0 0 10px var(--hfv));mix-blend-mode:screen;z-index:2}@media (prefers-reduced-motion: reduce){.vortex-canvas{display:none}}.hub-head{background:#00331b;color:#0a0a0a;padding:1.5rem;border-radius:12px}.hub-head{background:radial-gradient(circle at top left,#0f8,#042);color:#fff;padding:1.5rem;border-radius:14px;box-shadow:0 0 20px #0f89}.tabs{display:flex;gap:1rem;margin-bottom:1.5rem}.tab{color:#0f8;font-weight:600;background:transparent;border:1px solid #00ff88;border-radius:6px;padding:.5rem 1rem;cursor:pointer;transition:all .25s ease}.tab:hover{background:#00ff881a;box-shadow:0 0 6px #0f89}.tab.active{background:#0f83;box-shadow:0 0 12px #00ff88e6}
