.hub-main{max-width:var(--page-max-width);margin:0 auto;padding:0}.hub-header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-5);display:flex}.hub-header .page-headline{margin-bottom:0}.hub-grid{align-items:stretch;gap:var(--sp-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.hub-card{animation:hubCardIn .5s var(--ease-editorial)backwards;flex-direction:column;margin-bottom:0;padding:0;display:flex;position:relative;overflow:hidden}.hub-card-cover{z-index:1;border-radius:inherit;position:absolute;inset:0}.hub-card-name-link,.hub-card-report-item,.hub-card-viewall,.hub-card-unlock,.hub-card .hub-card-actions{z-index:2;position:relative}.hub-card-tab{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-5)var(--sp-6)var(--sp-2);display:flex}.hub-card-numerator{align-items:baseline;gap:var(--sp-2);background:var(--pale-fresh);min-width:0;max-width:100%;padding:var(--sp-2)var(--sp-4);transition:filter .2s var(--ease-functional);display:inline-flex}.hub-card:hover .hub-card-numerator,.hub-card:focus-within .hub-card-numerator{filter:brightness(.94)}.hub-card-name-link{color:inherit;text-decoration:none;transition:color .15s}.hub-card-name-link:hover{color:var(--dark-roast);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.hub-card-name-link:focus-visible{outline:2px solid var(--espresso);outline-offset:3px;border-radius:2px}.hub-card-num-name{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--espresso);-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;margin:0;font-size:.82rem;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.hub-card-inner{align-items:stretch;gap:var(--sp-5);padding:var(--sp-5)var(--sp-6);flex:1;display:flex}.hub-card .hub-card-hero-label,.hub-card .hub-card-meta,.hub-card .hub-card-meta-label,.hub-card .hub-card-meta--pending,.hub-card .hub-card-meta-hint,.hub-card .hub-card-report-count{color:var(--dark-roast)}.hub-card .hub-card-meta-dot{color:var(--medium-roast)}.hub-card .hub-card-edit{-webkit-text-decoration-color:var(--medium-roast);text-decoration-color:var(--medium-roast)}.hub-card-hero{justify-content:space-between;align-items:center;gap:var(--sp-4);min-width:7rem;padding-top:.2rem;padding-bottom:var(--sp-6);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;display:flex}.hub-card-hero-figure{align-items:center;gap:var(--sp-1);flex-direction:column;display:flex}.hub-card-hero-count{font-family:var(--font-heading);letter-spacing:-.02em;color:var(--dark-roast);font-variant-numeric:tabular-nums;font-size:clamp(2.5rem,2rem + 2vw,3.5rem);font-weight:200;line-height:1}.hub-card-hero-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.15em;color:var(--medium-roast);font-size:.62rem;font-weight:600;line-height:1}.hub-card-body{flex-direction:column;flex:1;min-width:0;display:flex}@keyframes hubCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hub-card-header{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-2);display:flex}.hub-card-name{font-family:var(--font-heading);color:var(--dark-roast);letter-spacing:-.01em;font-size:1.15rem;font-weight:600;line-height:1.3}.hub-card-edit{font-family:var(--font-body);color:var(--dark-roast);text-decoration:underline;-webkit-text-decoration-color:var(--crema);text-decoration-color:var(--crema);text-underline-offset:3px;flex-shrink:0;font-size:.9rem;font-weight:400;transition:text-decoration-color .15s}.hub-card-edit:after{content:" →";color:var(--medium-roast)}.hub-card-edit:hover{-webkit-text-decoration-color:var(--dark-roast);text-decoration-color:var(--dark-roast)}.hub-card-edit:focus-visible{outline:2px solid var(--dark-roast);outline-offset:3px;border-radius:2px}.hub-card-meta{align-items:baseline;gap:var(--sp-2);font-family:var(--font-body);color:var(--medium-roast);margin-bottom:var(--sp-4);flex-wrap:wrap;font-size:.88rem;line-height:1.5;display:flex}.hub-card-meta-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--medium-roast);font-size:.72rem;font-weight:500}.hub-card-meta-dot{color:var(--crema);font-size:1rem;line-height:1}.hub-card-meta-when{color:var(--espresso);font-weight:500}.hub-card-meta--pending{font-family:var(--font-heading);color:var(--medium-roast);font-size:1rem;font-style:italic;font-weight:400;display:block}.hub-card-meta-hint{margin-top:var(--sp-1);font-family:var(--font-body);color:var(--latte);font-size:.85rem;font-style:normal;display:block}.hub-card-colophon{align-items:baseline;gap:var(--sp-2);padding:0 var(--sp-6)var(--sp-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--medium-roast);flex-wrap:wrap;margin:0;font-size:.68rem;font-weight:500;line-height:1.4;display:flex}.hub-card-colophon-dot{color:var(--crema)}.hub-card-footer{justify-content:space-between;align-items:baseline;gap:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid #2c18101f;flex-wrap:wrap;margin-top:auto;display:flex}.hub-card-next{align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin:0;display:flex}.hub-card-actions{align-items:stretch;gap:var(--sp-2);flex-direction:column;display:flex}.hub-card-actions .hub-pill{text-align:center;white-space:nowrap}.hub-card-unlock{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--espresso);border-bottom:1px solid var(--espresso);font-size:.75rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s}.hub-card-unlock:after{content:" →"}.hub-card-unlock:hover{color:var(--dark-roast);border-bottom-color:var(--dark-roast)}.hub-card-unlock:focus-visible{outline:2px solid var(--espresso);outline-offset:3px;border-radius:2px}.hub-pill{font-family:var(--font-body);padding:var(--sp-1)var(--sp-4);border-radius:var(--radius-sm);cursor:pointer;border:none;font-size:.78rem;font-weight:600;line-height:1.4;text-decoration:none;transition:filter .15s,transform .1s}.hub-pill:hover{filter:brightness(.88)}.hub-pill:active{transform:scale(.97)}.hub-pill:focus-visible{outline:2px solid var(--medium-roast);outline-offset:3px}.hub-pill--roast{background:var(--espresso);color:var(--white-cup);padding:var(--sp-2)var(--sp-5);font-size:.95rem}.hub-pill--roast:after{content:"→";margin-left:.5em;transition:transform .15s;display:inline-block}.hub-pill--roast:hover:after{transform:translate(2px)}.hub-pill--cta{background:var(--dark-roast);color:var(--white-cup);padding:var(--sp-2)var(--sp-6);font-size:1rem;font-weight:700;box-shadow:0 2px 10px #2c181029}.hub-pill--cta:before{content:"+";margin-right:.45em;font-weight:600;display:inline-block}.hub-pill--cta.is-disabled{box-shadow:none}.hub-pill--cta.is-disabled:before{content:none}.hub-pill--latte,.hub-pill--crema{background:var(--oat-milk);color:var(--dark-roast)}.hub-pill.is-disabled{background:var(--latte);color:var(--medium-roast);cursor:not-allowed}.hub-pill.is-disabled:hover{filter:none}.hub-pill.is-disabled:after{content:none}.hub-limit-note{font-family:var(--font-body);color:var(--medium-roast);margin:calc(-1*var(--sp-4))0 var(--sp-5);font-size:.85rem}.hub-card--invite{padding:var(--sp-6);background:var(--crema);box-shadow:none;border:1.5px dashed #2c181038;justify-content:center}.hub-invite-inner{flex-direction:column;display:flex}.hub-invite-deck{font-family:var(--font-heading);color:var(--dark-roast);margin:0 0 var(--sp-2);text-wrap:pretty;font-size:1.35rem;font-style:italic;font-weight:400;line-height:1.25}.hub-invite-body{font-family:var(--font-body);color:var(--dark-roast);max-width:52ch;margin:0 0 var(--sp-3);text-wrap:pretty;font-size:.95rem;line-height:1.5}.hub-invite-link{font-family:var(--font-body);color:var(--dark-roast);text-decoration:underline;-webkit-text-decoration-color:var(--crema);text-decoration-color:var(--crema);text-underline-offset:3px;font-size:.95rem;transition:text-decoration-color .15s}.hub-invite-link:after{content:" →";color:var(--medium-roast)}.hub-invite-link:hover{-webkit-text-decoration-color:var(--dark-roast);text-decoration-color:var(--dark-roast)}.hub-invite-link:focus-visible{outline:2px solid var(--dark-roast);outline-offset:3px;border-radius:2px}.hub-card-report-list{gap:var(--sp-2);min-height:5rem;max-height:26rem;padding-right:var(--sp-2);scrollbar-width:thin;scrollbar-color:var(--pale-fresh)transparent;animation:hubExpandIn .3s var(--ease-functional)both;flex-direction:column;display:flex;overflow:hidden auto}.hub-card-report-list::-webkit-scrollbar{width:6px}.hub-card-report-list::-webkit-scrollbar-thumb{background:var(--pale-fresh);border-radius:3px}@keyframes hubExpandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.hub-card-report-item{align-items:baseline;gap:var(--sp-2);padding:var(--sp-3)var(--sp-2);color:inherit;border-radius:var(--radius-sm);animation:hubReportIn .25s var(--ease-functional)backwards;will-change:transform,opacity;text-decoration:none;transition:transform .15s,background .15s;display:flex}@keyframes hubReportIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.hub-card-report-leader{min-width:var(--sp-6);border-bottom:1px dotted var(--medium-roast);opacity:.55;flex:1;align-self:center;transform:translateY(2px)}.hub-card-report-item:hover,.hub-card-report-item:focus-visible{transform:translateX(var(--sp-2));background:var(--paper)}.hub-card-report-item:focus-visible{outline:2px solid var(--medium-roast);outline-offset:2px}.hub-card-report-date{font-family:var(--font-body);color:var(--dark-roast);font-size:.85rem;transition:color .12s}.hub-card-report-item:hover .hub-card-report-date{color:var(--medium-roast)}.hub-card-report-count{font-family:var(--font-mono);color:var(--medium-roast);font-variant-numeric:tabular-nums;font-size:.75rem}.hub-card-viewall{margin-top:var(--sp-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dark-roast);border-bottom:1px solid var(--crema);font-size:.72rem;font-weight:500;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.hub-card-viewall:after{content:" →";color:var(--medium-roast)}.hub-card-viewall:hover{color:var(--espresso);border-bottom-color:var(--espresso)}.hub-card-viewall:focus-visible{outline:2px solid var(--espresso);outline-offset:3px;border-radius:2px}@media (max-width:760px){.hub-grid{grid-template-columns:1fr}}@media (max-width:600px){.hub-main{padding:0}.hub-card-tab{padding:var(--sp-2)var(--sp-4)}.hub-card-colophon{padding:0 var(--sp-4)var(--sp-3)}.hub-card-num-name{letter-spacing:.04em}.hub-card-edit{font-size:.82rem}.hub-card-inner{padding:var(--sp-4);gap:var(--sp-4)}.hub-card-report-list{max-height:none;overflow-y:visible}.hub-card-hero{min-width:6.5rem}.hub-card-hero-label{font-size:.58rem}}@media (min-width:1024px){.hub-card-inner{padding:var(--sp-8);gap:var(--sp-6)}.hub-card-tab{padding:var(--sp-6)var(--sp-8)var(--sp-2)}.hub-card-colophon{padding:0 var(--sp-8)var(--sp-3)}.hub-card-report-item{padding:var(--sp-4)var(--sp-2)}.hub-card-report-list{min-height:10rem}.hub-card-hero{min-width:7.5rem}.hub-card-hero-count{font-size:clamp(3rem,2.2rem + 1.6vw,4.25rem)}}@media (prefers-reduced-motion:reduce){.hub-card,.hub-card-report-item,.hub-card-report-list{animation:none}.hub-card:hover,.hub-card:focus-within,.hub-card-report-item:hover{transform:none}.hub-loading-card{animation:none}.hub-loading-bar{opacity:.5;animation:none}}.hub-loading-title{background:var(--oat-milk);border-radius:var(--radius-sm);width:200px;height:24px;margin-bottom:var(--sp-6);animation:1.4s ease-in-out infinite hubShimmer}.hub-loading-title:after{content:"";background:var(--crema);width:40px;height:2px;margin-top:var(--sp-2);display:block}.hub-loading-card{background:var(--white-cup);border:1px solid var(--crema);border-radius:var(--radius-md);padding:var(--sp-4)var(--sp-5);margin-bottom:var(--sp-3);animation:.3s both hubCardIn}.hub-loading-row{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.hub-loading-bar{background:var(--oat-milk);border-radius:var(--radius-sm);height:12px;animation:1.4s ease-in-out infinite hubShimmer}@keyframes hubShimmer{0%,to{opacity:.35}50%{opacity:.7}}
