.hub{--milestone:#e9a23b;--ink:#0b2242;--ink-2:#33415c;--ink-3:#5f6d8a;--action:#2563eb;--action-ink:#1d4ed8;--grad-a:#0169fa;--grad-b:#01d1ff;--paper:#fff;--mist:#f3f6fb;--line:#dce3ef;--track:#c9d6ea;--radius:14px;--radius-lg:22px;color:var(--ink);background:var(--paper);font-family:var(--font-hub-body),Inter,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","PingFang SC","Noto Sans SC",system-ui,sans-serif}.hub .display,.hub h1,.hub h2{font-family:var(--font-hub-display),Rubik,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR","PingFang SC",system-ui,sans-serif;letter-spacing:-.01em}.hub .grad-text{background:linear-gradient(90deg,var(--grad-a),#0b8fd6);-webkit-background-clip:text;background-clip:text;color:transparent}.hub .track{position:relative}.hub .track:before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:2px;background:var(--track);border-radius:2px}.hub .track-first:before{background:linear-gradient(180deg,var(--grad-a),var(--track) 40%)}.hub .track-last:before{background:linear-gradient(180deg,var(--track),var(--milestone))}.hub .track-dot{position:absolute;inset-inline-start:-5px;width:12px;height:12px;border-radius:50%;background:var(--paper);border:2px solid var(--action)}.hub .track-dot-milestone{background:var(--milestone);border-color:var(--milestone)}.hub .pill-milestone{display:inline-block;background:var(--milestone);color:#3a2a05;font-weight:800;letter-spacing:.08em;padding:4px 10px;border-radius:999px}.hub .pill-milestone,.hub .track-label{font-size:11px;text-transform:uppercase}.hub .track-label{font-family:var(--font-hub-display),Rubik,system-ui,sans-serif;font-weight:700;letter-spacing:.14em;color:var(--ink-3)}.hub .card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-lg)}.hub .card-coming{background:var(--mist);border:1px dashed var(--line);border-radius:var(--radius-lg)}.hub .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius);padding:12px 20px;font-weight:700;font-size:15px;transition:transform .15s ease,background .15s ease}.hub .btn-primary{background:var(--action);color:#fff}.hub .btn-primary:hover{background:var(--action-ink)}.hub .btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.hub .btn-ghost:hover{border-color:var(--action);color:var(--action-ink)}.hub .btn:focus-visible,.hub a:focus-visible,.hub button:focus-visible,.hub input:focus-visible,.hub select:focus-visible{outline:3px solid rgba(37,99,235,.45);outline-offset:2px}.hub .rise{animation:hub-rise .5s ease both}@keyframes hub-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hub .rise{animation:none}.hub .btn{transition:none}}.hub .num{font-variant-numeric:tabular-nums}