body.patch-hub-page { background:#0b1220; color:#e6eef8; font-family:-apple-system,"Segoe UI",Roboto,"Microsoft YaHei",sans-serif; margin:0; padding-top:64px; --hub-nav-top:64px; }
.patch-hub-page .hub-container { max-width:1280px; margin:16px auto 32px; padding:0 16px; }
.patch-hub-page .hub-shell { display:flex; gap:16px; align-items:flex-start; }
.patch-hub-page .hub-nav {
    position:sticky; top:calc(var(--hub-nav-top) + 8px);
    width:220px; max-height:calc(100vh - var(--hub-nav-top) - 16px); overflow-y:auto;
    background:#0f1724; border:1px solid #23303f; border-radius:12px; padding:14px 10px; z-index:10;
    flex-shrink:0; align-self:flex-start;
}
.patch-hub-page .hub-nav-spacer { display:none; }
.patch-hub-page .hub-nav-head { padding:0 8px 10px; border-bottom:1px solid #1f2937; margin-bottom:8px; }
.patch-hub-page .hub-nav-head h1 { margin:0; font-size:1.15rem; color:#fbbf24; }
.patch-hub-page .hub-tagline { margin:4px 0 0; color:#64748b; font-size:0.78rem; line-height:1.4; }
.patch-hub-page .nav-group { margin-top:8px; }
.patch-hub-page .nav-group-label { padding:0 8px 3px; font-size:0.7rem; color:#475569; letter-spacing:0.04em; text-transform:uppercase; }
.patch-hub-page .hub-nav-item {
    display:flex; align-items:center; gap:8px; width:100%; margin:3px 0; padding:10px 10px;
    border:1px solid transparent; border-radius:8px; background:transparent; color:#cbd5e1;
    text-align:left; cursor:pointer; font:inherit;
}
.patch-hub-page .hub-nav-item .ni { font-size:1.05rem; width:1.4rem; text-align:center; flex-shrink:0; }
.patch-hub-page .hub-nav-item .nt { display:flex; flex-direction:column; gap:1px; min-width:0; }
.patch-hub-page .hub-nav-item .nt strong { font-size:0.88rem; font-weight:600; color:#e2e8f0; }
.patch-hub-page .hub-nav-item .nt small { font-size:0.72rem; color:#64748b; line-height:1.25; }
.patch-hub-page .hub-nav-item:hover { background:#111827; border-color:#334155; }
.patch-hub-page .hub-nav-item.active { background:#0c4a6e; border-color:#0ea5e9; }
.patch-hub-page .hub-nav-item.active .nt strong { color:#fff; }
.patch-hub-page .hub-nav-item.active .nt small { color:#bae6fd; }
.patch-hub-page .hub-nav-foot { margin-top:12px; padding:10px 8px 0; border-top:1px solid #1f2937; font-size:0.8rem; }
.patch-hub-page .hub-nav-foot a { color:#93c5fd; text-decoration:none; }
.patch-hub-page .hub-nav-foot a:hover { text-decoration:underline; }
.patch-hub-page .hub-nav-foot a.cross-link-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
    padding: 0.3rem 0.7rem;
    background: #1e3a5f;
    border: 1px solid #3b82f6;
    border-radius: 6px;
    color: #93c5fd;
    font-size: 0.82rem;
    font-weight: 500;
    text-decoration: none;
    transition: background 0.15s;
    white-space: nowrap;
}
.patch-hub-page .hub-nav-foot a.cross-link-btn:hover {
    background: #1e4a80;
    text-decoration: none;
}
.patch-hub-page .hub-main { flex:1; min-width:0; background:#0f1724; border:1px solid #23303f; border-radius:12px; padding:18px 20px; }
.patch-hub-page .hub-loading { margin:0; color:#64748b; }
.patch-hub-page .panel-title-bar { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid #1f2937; }
.patch-hub-page .panel-title-main { display:flex; align-items:flex-start; gap:10px; min-width:0; }
.patch-hub-page .panel-title-bar h2 { margin:0; color:#fbbf24; font-size:1.35rem; line-height:1.25; }
.patch-hub-page .panel-title-bar .panel-sub { margin:4px 0 0; color:#94a3b8; font-size:0.88rem; line-height:1.45; }
.patch-hub-page .panel-title-extra { flex-shrink:0; text-align:right; color:#64748b; font-size:0.78rem; line-height:1.5; }
.patch-hub-page .tool-head { display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; }
.patch-hub-page .tool-icon { font-size:1.6rem; line-height:1; }
.patch-hub-page .tool-head h2 { margin:0; color:#fbbf24; font-size:1.25rem; }
.patch-hub-page .tool-value { margin:3px 0 0; color:#94a3b8; font-size:0.88rem; }
.patch-hub-page .tool-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; margin-bottom:12px; }
.patch-hub-page .profile-pills { display:flex; flex-wrap:wrap; gap:6px; }
.patch-hub-page .profile-pill { min-width:52px; padding:7px 14px; border-radius:8px; border:1px solid #334155; background:#0b1220; color:#cbd5e1; font-size:0.9rem; font-weight:600; cursor:pointer; }
.patch-hub-page .profile-pill.active { border-color:#0ea5e9; background:#0c4a6e; color:#fff; }
.patch-hub-page .meta-line { color:#64748b; font-size:0.8rem; margin:0; }
.patch-hub-page .search-row { display:flex; gap:8px; flex:1; min-width:200px; max-width:360px; }
.patch-hub-page .search-row input { flex:1; min-width:0; padding:8px 11px; border-radius:8px; border:1px solid #334155; background:#0b1220; color:#e2e8f0; font-size:0.88rem; }
.patch-hub-page .search-row input:focus { outline:none; border-color:#0ea5e9; }
.patch-hub-page .hub-table-wrap { overflow-x:auto; margin-top:4px; }
.patch-hub-page table.hub-table { width:100%; border-collapse:collapse; }
.patch-hub-page table.hub-table th, .patch-hub-page table.hub-table td { text-align:left; padding:9px 8px; border-bottom:1px solid #1f2937; vertical-align:middle; }
.patch-hub-page table.hub-table th { color:#93c5fd; font-size:0.82rem; font-weight:600; white-space:nowrap; }
.patch-hub-page table.hub-table .price-cell { font-variant-numeric:tabular-nums; white-space:nowrap; }
.patch-hub-page table.hub-table a.buy-link,
.patch-hub-page table.hub-table button.buy-link { color:#93c5fd; text-decoration:none; white-space:nowrap; background:none; border:none; padding:0; cursor:pointer; font-family:inherit; font-size:inherit; }
.patch-hub-page table.hub-table a.buy-link:hover,
.patch-hub-page table.hub-table button.buy-link:hover { text-decoration:underline; }
.patch-hub-page .item-with-icon { display:flex; align-items:center; gap:10px; }
.patch-hub-page .beast-icon { width:36px; height:36px; object-fit:contain; flex-shrink:0; border-radius:4px; }
.patch-hub-page .beast-icon-slot { display:block; width:36px; height:36px; flex-shrink:0; }
.patch-hub-page .item-name-cn { color:#e6eef8; }
.patch-hub-page .item-name-en { color:#9ca3af; }
.patch-hub-page table.hub-table tr.row-dimmed td { opacity:0.38; }
.patch-hub-page table.hub-table tr.row-dimmed .buy-link { pointer-events:none; color:#475569; }
.patch-hub-page .table-meta { color:#64748b; font-size:0.82rem; margin:0 0 8px; }
.patch-hub-page table.hub-table tr.row-dimmed td { opacity:0.42; }
.patch-hub-page table.hub-table tr.row-dimmed .item-name-cn,
.patch-hub-page table.hub-table tr.row-dimmed .item-name-en { color:#64748b; }
.patch-hub-page .panel-sub.muted-link { margin-top:6px; font-size:0.82rem; }
.patch-hub-page .panel-sub.muted-link a { color:#93c5fd; text-decoration:none; }
.patch-hub-page .panel-sub.muted-link a:hover { text-decoration:underline; }
.patch-hub-page .chip-row { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.patch-hub-page .chip { padding:4px 10px; border-radius:999px; border:1px solid #334155; color:#94a3b8; font-size:0.78rem; }
.patch-hub-page .chip.soon { opacity:0.7; }
.patch-hub-page .soon-note { color:#64748b; font-size:0.88rem; margin:0 0 10px; }
.patch-hub-page .tag-grid { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.patch-hub-page .tag-btn { padding:6px 10px; border-radius:6px; border:1px solid #334155; background:#0b1220; color:#94a3b8; font-size:0.82rem; cursor:pointer; }
.patch-hub-page .tag-btn:disabled { opacity:0.5; cursor:not-allowed; }
@media (max-width:900px) {
    .patch-hub-page .hub-shell { flex-direction:column; gap:12px; }
    .patch-hub-page .hub-nav {
        position:sticky; top:var(--hub-nav-top); width:100%; max-height:none;
        overflow:visible; z-index:15;
    }
    .patch-hub-page .hub-nav-list { display:flex; flex-wrap:wrap; gap:6px; }
    .patch-hub-page .nav-group { display:contents; }
    .patch-hub-page .nav-group-label { width:100%; flex-basis:100%; }
    .patch-hub-page .hub-nav-item { width:calc(50% - 3px); flex:1 1 calc(50% - 3px); min-width:130px; margin:0; }
    .patch-hub-page .hub-nav-head { border-bottom:none; margin-bottom:4px; padding-bottom:0; }
    .patch-hub-page .hub-nav-foot { display:none; }
    .patch-hub-page .tool-toolbar { flex-direction:column; align-items:stretch; }
    .patch-hub-page .search-row { max-width:none; }
}
