.hub-public{--bg:#f4f3f1;--surface:#fff;--surface-2:#faf9f7;--surface-3:#efedea;--text:#1b1a19;--muted:#6a6660;--faint:#a09b95;--border:#e8e5e1;--border-2:#dbd7d1;--accent:var(--mantine-color-brand-6);--accent-weak:color-mix(in srgb, var(--mantine-color-brand-6) 12%, transparent);--on-accent:#fff;--feature:#2f66d0;--feature-weak:#e9f0fb;--bug:var(--mantine-color-brand-6);--bug-weak:color-mix(in srgb, var(--mantine-color-brand-6) 12%, transparent);--st-open:#928d87;--st-planned:#7a5af0;--st-progress:#d5860a;--st-done:#1f9d57;--shadow-sm:0 1px 2px #1816140d;--shadow:0 2px 4px #1816140a, 0 10px 26px #18161412;--r:16px;background:var(--bg);min-height:100vh;color:var(--text);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.55}[data-mantine-color-scheme=dark] .hub-public{--bg:#121214;--surface:#1b1b1e;--surface-2:#222226;--surface-3:#2a2a2f;--text:#efeeec;--muted:#a6a29c;--faint:#6d6a64;--border:#2a2a2e;--border-2:#3a3a40;--accent:var(--mantine-color-brand-5);--accent-weak:color-mix(in srgb, var(--mantine-color-brand-5) 20%, transparent);--feature:#6ea0f5;--feature-weak:#182739;--bug:var(--mantine-color-brand-5);--bug-weak:color-mix(in srgb, var(--mantine-color-brand-5) 20%, transparent);--shadow-sm:0 1px 2px #00000080;--shadow:0 2px 6px #00000073, 0 12px 32px #0006}@keyframes hubRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.hub-public a:not(.mantine-Button-root){color:inherit;text-decoration:none}.hub-nav{z-index:20;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);border-bottom:1px solid var(--border);position:sticky;top:0}.hub-brand-logo{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:10px;flex:none;place-items:center;font-size:16px;font-weight:700;display:grid}.hub-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 15px;font-family:inherit;font-size:14px;font-weight:500;transition:all .15s;position:relative}.hub-tab:hover{background:var(--surface-2);color:var(--text)}.hub-tab[data-active]{color:var(--text);font-weight:600}.hub-tab[data-active]:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-13px;left:15px;right:15px}.hub-tab-block{padding:11px 14px;font-size:15px;display:block}.hub-tab-block[data-active]{background:var(--surface-2)}.hub-tab-block[data-active]:after{display:none}.hub-composer{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow);transition:all .15s}.hub-composer:hover{border-color:var(--border-2)}.hub-composer-fake{cursor:text;align-items:center;gap:10px;padding:12px 12px 12px 18px;display:flex}.hub-composer-fake>span{color:var(--faint);flex:1;font-size:15px}.hub-public .mantine-RichTextEditor-root{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.hub-public .mantine-RichTextEditor-toolbar{background:var(--surface-2);border-bottom:1px solid var(--border);padding:8px 10px}.hub-public .mantine-RichTextEditor-control{border-color:var(--border);background:var(--surface);color:var(--muted)}.hub-public .mantine-RichTextEditor-control:hover{background:var(--surface-3);color:var(--text)}.hub-public .mantine-RichTextEditor-content{background:var(--surface);color:var(--text)}.hub-public .mantine-RichTextEditor-content .ProseMirror{min-height:inherit}.hub-public .mantine-RichTextEditor-content .ProseMirror p.is-editor-empty:first-of-type:before{color:var(--faint)}.hub-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);cursor:pointer;padding:18px;transition:box-shadow .18s,transform .18s,border-color .18s;animation:.3s both hubRise}.hub-card:hover{box-shadow:var(--shadow);border-color:var(--border-2);transform:translateY(-2px)}.hub-vote{border:1px solid var(--border);background:var(--surface-2);width:58px;color:var(--text);cursor:pointer;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:3px;padding:11px 0;font-family:inherit;transition:all .15s;display:flex}.hub-vote .n{font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.hub-vote:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-weak)}.hub-vote[data-voted]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.hub-tag{border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hub-tag[data-type=feature]{background:var(--feature-weak);color:var(--feature)}.hub-tag[data-type=bug]{background:var(--bug-weak);color:var(--bug)}.hub-status{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;font-weight:500;display:inline-flex}.hub-status .dot{background:var(--faint);border-radius:50%;width:8px;height:8px}.hub-status[data-s=open] .dot{background:var(--st-open)}.hub-status[data-s=planned] .dot{background:var(--st-planned)}.hub-status[data-s=in_progress] .dot{background:var(--st-progress)}.hub-status[data-s=done] .dot{background:var(--st-done)}.hub-mod-badge{border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.hub-mod-badge[data-m=pending]{background:var(--bug-weak);color:var(--st-progress)}.hub-mod-badge[data-m=rejected]{background:var(--surface-3);color:var(--muted)}.hub-road-col{background:var(--surface-2);border:1px solid var(--border);border-radius:20px;flex-direction:column;gap:11px;padding:15px;display:flex}.hub-road-card{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:13px;padding:14px;transition:all .16s;animation:.3s both hubRise}.hub-road-card:hover{box-shadow:var(--shadow);border-color:var(--border-2);transform:translateY(-2px)}.hub-road-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}.hub-road-table thead th{color:var(--muted);background:var(--surface-2);font-size:12.5px;font-weight:600}.hub-road-table tbody tr{transition:all .12s}.hub-empty{text-align:center;border:1px dashed var(--border-2);border-radius:var(--r);flex-direction:column;align-items:center;padding:64px 20px;display:flex}.hub-empty-icon{background:var(--surface-2);border:1px solid var(--border);width:52px;height:52px;color:var(--faint);border-radius:14px;place-items:center;margin-bottom:14px;display:grid}.hub-rel{border-left:2px solid var(--border);margin-left:7px;padding-bottom:40px;padding-left:36px;position:relative}.hub-rel:last-child{padding-bottom:8px}.hub-rel-dot{background:var(--surface);border:2px solid var(--accent);width:16px;height:16px;box-shadow:0 0 0 5px var(--bg);border-radius:50%;position:absolute;top:1px;left:-9px}.hub-ver{font-variant-numeric:tabular-nums;background:var(--accent-weak);color:var(--accent);border-radius:8px;padding:3px 10px;font-size:12.5px;font-weight:700}.hub-avatar{background:var(--surface-2);width:38px;height:38px;color:var(--muted);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.hub-avatar[data-admin]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.hub-comment-admin{background:var(--accent-weak);border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);border-radius:13px;padding:13px 15px}.hub-eyebrow{color:var(--accent);background:var(--accent-weak);border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.hub-muted{color:var(--muted)}.hub-faint{color:var(--faint)}.hub-surface-border{border:1px solid var(--border);background:var(--surface);border-radius:var(--r)}.hub-footer{border-top:1px solid var(--border);color:var(--faint);margin-top:52px}.hub-pipe-step{color:var(--faint);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.hub-pipe-step .dot{background:var(--faint);border-radius:50%;width:7px;height:7px}.hub-pipe-step.reached{color:var(--text)}.hub-pipe-step.reached .dot{background:var(--text)}.hub-pipe-step.current{color:var(--accent);background:var(--accent-weak);border-color:#0000}.hub-pipe-step.current .dot{background:var(--accent)}.hub-public{--mantine-color-brand-filled:var(--mantine-color-brand-6);--mantine-color-brand-filled-hover:var(--mantine-color-brand-7);--mantine-color-brand-light:color-mix(in srgb, var(--mantine-color-brand-6) 12%, transparent);--mantine-color-brand-light-hover:color-mix(in srgb, var(--mantine-color-brand-6) 22%, transparent);--mantine-color-brand-light-color:var(--mantine-color-brand-6);--mantine-color-brand-outline:var(--mantine-color-brand-6);--mantine-primary-color-0:var(--mantine-color-brand-0);--mantine-primary-color-1:var(--mantine-color-brand-1);--mantine-primary-color-2:var(--mantine-color-brand-2);--mantine-primary-color-3:var(--mantine-color-brand-3);--mantine-primary-color-4:var(--mantine-color-brand-4);--mantine-primary-color-5:var(--mantine-color-brand-5);--mantine-primary-color-6:var(--mantine-color-brand-6);--mantine-primary-color-7:var(--mantine-color-brand-7);--mantine-primary-color-8:var(--mantine-color-brand-8);--mantine-primary-color-9:var(--mantine-color-brand-9);--mantine-primary-color-filled:var(--mantine-color-brand-6);--mantine-primary-color-filled-hover:var(--mantine-color-brand-7);--mantine-primary-color-light:color-mix(in srgb, var(--mantine-color-brand-6) 12%, transparent);--mantine-primary-color-light-hover:color-mix(in srgb, var(--mantine-color-brand-6) 22%, transparent);--mantine-primary-color-light-color:var(--mantine-color-brand-6);--mantine-primary-color-contrast:#fff}[data-mantine-color-scheme=dark] .hub-public{--mantine-color-brand-filled:var(--mantine-color-brand-5);--mantine-color-brand-filled-hover:var(--mantine-color-brand-6);--mantine-primary-color-filled:var(--mantine-color-brand-5);--mantine-primary-color-filled-hover:var(--mantine-color-brand-6)}
