:root{--bg-color: #090d16;--card-bg: rgba(18, 24, 38, .75);--card-border: rgba(255, 255, 255, .08);--accent-cyan: #06b6d4;--accent-indigo: #6366f1;--accent-purple: #a855f7;--accent-emerald: #10b981;--text-main: #f8fafc;--text-muted: #94a3b8;--text-subtle: #64748b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-color);color:var(--text-main);min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(circle at 10% 20%,rgba(99,102,241,.12) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(6,182,212,.12) 0%,transparent 40%),linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:100% 100%,100% 100%,40px 40px,40px 40px}.hub-container{max-width:1200px;margin:0 auto;padding:48px 24px;width:100%;flex:1}.hub-header{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:40px;flex-wrap:wrap}.logo-badge{display:inline-block;font-family:Fira Code,monospace;font-size:11px;font-weight:600;letter-spacing:.1em;padding:4px 10px;border-radius:999px;background:#6366f126;color:#a5b4fc;border:1px solid rgba(99,102,241,.3);margin-bottom:12px}.hub-header h1{font-size:38px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff 40%,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-muted);font-size:16px;margin-top:6px}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none;border:none;font-family:inherit}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 16px #6366f159}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6366f180;background:linear-gradient(135deg,#4f46e5,#4338ca)}.hub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px;flex-wrap:wrap}.search-box{position:relative;flex:1;max-width:360px}.search-box svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-subtle)}.search-box input{width:100%;background:#12182699;border:1px solid var(--card-border);padding:10px 14px 10px 42px;border-radius:8px;color:#fff;font-size:14px;font-family:inherit;outline:none;transition:all .2s}.search-box input:focus{border-color:var(--accent-indigo);box-shadow:0 0 0 3px #6366f126}.filter-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tag-filter-btn{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);color:var(--text-muted);padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s}.tag-filter-btn:hover{background:#ffffff14;color:#fff}.tag-filter-btn.active{background:#6366f133;border-color:#6366f180;color:#a5b4fc}.highlight-filter-btn.active{background:#f59e0b2e;border-color:#f59e0b80;color:#fcd34d}.prototypes-list{display:flex;flex-direction:column;background:var(--card-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--card-border);border-radius:14px;overflow:hidden}.empty-state{text-align:center;padding:60px 20px;color:var(--text-subtle)}.prototype-row{display:flex;align-items:center;gap:16px;padding-right:24px;border-left:3px solid transparent;transition:background .15s,border-color .15s}.row-link{flex:1;min-width:0;display:flex;align-items:center;gap:24px;padding:18px 0 18px 24px;text-decoration:none;color:inherit;outline:none}.prototype-row+.prototype-row{border-top:1px solid var(--card-border)}.prototype-row:hover,.prototype-row:has(.row-link:focus-visible){background:#6366f114;border-left-color:var(--accent-indigo);outline:none}.prototype-row.is-latest{background:linear-gradient(90deg,#10b9811f,#10b98105 60%);border-left-color:var(--accent-emerald)}.prototype-row.is-latest:hover,.prototype-row.is-latest:has(.row-link:focus-visible){background:linear-gradient(90deg,#10b9812e,#10b9810d 60%);border-left-color:var(--accent-emerald)}.latest-tag{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#10b9812e;color:#6ee7b7;border:1px solid rgba(16,185,129,.45);white-space:nowrap}.highlight-tag{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:#f59e0b29;color:#fcd34d;border:1px solid rgba(245,158,11,.45);white-space:nowrap}.prototype-row.is-highlighted{background:linear-gradient(90deg,#f59e0b1f,#f59e0b05 60%);border-left-color:#f59e0b}.prototype-row.is-highlighted:hover,.prototype-row.is-highlighted:has(.row-link:focus-visible){background:linear-gradient(90deg,#f59e0b2e,#f59e0b0d 60%)}.highlight-btn{width:36px;height:32px;border-radius:8px;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:var(--text-muted);font-size:17px;line-height:1;cursor:pointer;transition:all .15s}.highlight-btn:hover:not(:disabled){border-color:#f59e0b99;color:#fcd34d;transform:translateY(-1px)}.highlight-btn:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}.highlight-btn.on{background:#f59e0b29;border-color:#f59e0b8c;color:#fbbf24}.highlight-btn:disabled{opacity:.6;cursor:wait}.row-main{flex:1;min-width:0}.row-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}.row-title{font-size:18px;font-weight:700;color:#fff}.endpoint-pill{font-family:Fira Code,monospace;font-size:11px;background:#06b6d41a;color:#67e8f9;border:1px solid rgba(6,182,212,.25);padding:2px 8px;border-radius:6px;white-space:nowrap}.row-desc{color:var(--text-muted);font-size:14px;line-height:1.5}.row-meta{display:flex;align-items:center;gap:16px;flex-shrink:0}.row-date{font-family:Fira Code,monospace;font-size:12px;color:var(--text-subtle);white-space:nowrap}.row-arrow{color:var(--text-subtle);transition:color .15s,transform .15s}.prototype-row:hover .row-arrow{color:var(--accent-cyan);transform:translate(3px)}.vote-box{display:flex;align-items:center;gap:10px;flex-shrink:0}.vote-count{font-family:Fira Code,monospace;font-size:16px;font-weight:600;color:var(--text-main);min-width:2ch;text-align:left}.vote-btn{min-width:44px;padding:6px 10px;border-radius:8px;background:#6366f11a;border:1px solid rgba(99,102,241,.35);color:#a5b4fc;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:all .15s}.vote-btn:hover:not(:disabled){background:#6366f140;border-color:var(--accent-indigo);color:#fff;transform:translateY(-1px)}.vote-btn:focus-visible{outline:2px solid var(--accent-indigo);outline-offset:2px}.vote-btn.voted{background:#10b9811f;border-color:#10b98173;color:#6ee7b7}.vote-btn:disabled{opacity:.6;cursor:wait}.vote-btn .vote-off{display:none}.vote-btn.voted:hover:not(:disabled){background:#ef444426;border-color:#ef444480;color:#fca5a5}.vote-btn.voted:hover:not(:disabled) .vote-on{display:none}.vote-btn.voted:hover:not(:disabled) .vote-off{display:inline}@media(max-width:600px){.prototype-row{padding-right:16px}.row-link{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 0 16px 16px}.row-arrow{display:none}}.hub-footer{text-align:center;padding:24px;color:var(--text-subtle);font-size:13px;border-top:1px solid var(--card-border)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-backdrop.open{display:flex}.modal-card{background:#0f172a;border:1px solid rgba(255,255,255,.15);border-radius:16px;max-width:500px;width:100%;padding:28px;box-shadow:0 20px 40px #0009}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-header h3{font-size:20px;color:#fff}.modal-close{background:none;border:none;color:var(--text-muted);font-size:24px;cursor:pointer}.modal-body p{color:var(--text-muted);font-size:14px;line-height:1.6;margin-bottom:14px}.code-box{background:#020617;border:1px solid rgba(255,255,255,.1);padding:14px;border-radius:8px;font-family:Fira Code,monospace;font-size:13px;margin-bottom:16px}.code-comment{display:block;color:#64748b;margin-bottom:6px}.code-box code{color:#38bdf8}.tip-box{background:#10b9811a;border:1px solid rgba(16,185,129,.3);padding:12px;border-radius:8px;font-size:13px;color:#a7f3d0;line-height:1.5}
