.hub{background:var(--paper);color:var(--ink)}.hub-nav{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.hub-nav-in{display:flex;align-items:center;gap:16px;min-height:60px}.hub-drawer{margin-left:auto}.hub-drawer summary{cursor:pointer;font-weight:700;list-style:none;padding:8px 12px;border:1px solid var(--line);border-radius:999px}.hub-drawer summary::-webkit-details-marker{display:none}.hub-drawer nav{display:flex;flex-direction:column;gap:10px;position:absolute;right:16px;top:58px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;min-width:180px;box-shadow:0 12px 40px rgba(23,23,15,.08)}.hub-drawer nav a{text-decoration:none;color:var(--ink);font-weight:650;font-weight:600}@media (min-width:980px){.hub-drawer summary{display:none}.hub-drawer nav{position:static;flex-direction:row;gap:18px;border:0;box-shadow:none;background:transparent;padding:0}}.hub-hero{position:relative;overflow:hidden;padding:56px 0 28px}.hub-hero h1{font-family:var(--disp);font-size:clamp(36px,6vw,68px);line-height:.98;letter-spacing:-.04em;margin:8px 0 14px;max-width:16ch}.hub-hero .sub{max-width:58ch;font-size:18px}.hub-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);font-weight:700}.hub-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.hub-actions .btn{width:auto;text-decoration:none}.hub-sec{padding:56px 0 8px}.hub-block h2,.hub-sec h2{font-family:var(--disp);letter-spacing:-.03em;font-size:clamp(26px,3vw,36px);margin:0 0 8px}.hub-block p,.hub-sec>.wrap>p{max-width:68ch}.hub-kpis{list-style:none;padding:0;margin:24px 0;display:grid;grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.hub-kpis li{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 14px 16px;display:grid;grid-gap:4px;gap:4px}.hub-kpis b{font-family:var(--disp);font-size:clamp(26px,3vw,34px);letter-spacing:-.03em}.hub-kpis span{font-weight:650;font-weight:600}.hub-kpis small,.hub-note{color:var(--muted)}.hub-grid{display:grid;grid-gap:24px;gap:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.hub-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;text-decoration:none;color:inherit;min-height:140px}.hub-card:hover{border-color:var(--blue);box-shadow:inset 0 0 0 1.5px var(--blue)}.hub-card b{display:block;font-family:var(--disp);font-size:20px;margin:6px 0}.hub-card span{color:var(--muted)}.hub-badge{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;border-radius:999px;padding:3px 8px;border:1.5px solid var(--blue)}.hub-badge-official{background:#e5f6ea;color:#0d5c2e}.hub-badge-derived{background:#e7eefc;color:#1d3f86}.hub-badge-third-party{background:#fff1d6;color:#7a4b00}.hub-badge-gap{background:#f3e8e6;color:#7d1620}.hub-badge-fan{background:#efe7ff;color:#4a2a78}.hub-fig svg{width:100%;height:auto}.hub-bar{fill:var(--blue);transform-box:fill-box;transform-origin:bottom;animation:hub-grow .7s ease both}.hub-bar-fan{fill:var(--blue-soft)}.hub-axis{font-size:11px;fill:var(--muted)}@keyframes hub-grow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.hub-fig,.hub-table-wrap{overflow-x:auto}.hub table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0 18px}.hub caption{text-align:left;font-weight:700;padding:8px 0}.hub td,.hub th{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px;white-space:nowrap}.hub td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hub-fan-note,.hub-gap{display:grid;grid-gap:8px;gap:8px;background:#fff;border:1px dashed var(--line);border-radius:16px;padding:14px;margin:14px 0}.hub-sources{padding-left:18px;color:var(--muted)}.hub-sources a{color:var(--blue)}.hub-foot{background:#fff;color:var(--muted);padding:36px 0 48px;margin-top:40px;border-top:1px solid var(--line)}.hub-disclaimer{max-width:80ch}.hub-foot-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:18px}.hub-foot h2{color:var(--blue);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px}.hub-foot a{display:block;color:var(--ink);text-decoration:none;padding:3px 0}.hub-copy{color:#8d8a80}.hub-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}.hub-tool{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;grid-gap:12px;gap:12px}.hub-tool label{display:grid;grid-gap:4px;gap:4px;font-size:14px;font-weight:600}.hub-tool input,.hub-tool select{font:inherit;padding:12px 13px;border-radius:10px;border:1px solid var(--line);width:100%;background:#fff;min-height:46px}.hub-tool input:focus,.hub-tool select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.hub-tool .btn{width:auto}.hub-fields{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.hub-result{background:var(--paper-2);border-radius:14px;padding:12px}.hub-crumbs{font-size:14px;color:var(--muted);display:flex;gap:6px;flex-wrap:wrap}.hub-crumbs a{color:var(--blue)}.hub-empty{border:1px dashed var(--line);border-radius:18px;padding:22px;background:#fff}.hub-page-hero{padding:28px 0 8px}.hub-page-hero h1{font-family:var(--disp);font-size:clamp(32px,5vw,56px);letter-spacing:-.04em;line-height:1;margin:8px 0;max-width:18ch}@media (min-width:768px){.hub-hero,.hub-sec{padding-top:72px}}@media (min-width:1024px){.hub-hero{padding-top:96px}}@media (prefers-reduced-motion:reduce){.hub-bar{animation:none}}