.hub-v2{--font-display:"Bricolage Grotesque","Plus Jakarta Sans",sans-serif;--r-card:22px;--r-feat:28px;--r-btn:999px;--r-tile:18px;--bw:1.5px;--disp-weight:700;--disp-track:-.02em;--navy:#0d2630;--navy-deep:#081a21;--copper:#c8843c;--copper-light:#e6ac6a;--copper-deep:#a5631f;--cream:#f4ead7;--teal:#2f8f83;--col:rgb(var(--color-background));--surface:rgb(var(--color-surface));--surface-2:rgb(var(--color-surface-2));--border:rgb(var(--color-border));--border-strong:rgb(var(--color-border-hover));--ink:rgb(var(--color-text-primary));--muted:rgb(var(--color-text-secondary));--faint:rgb(var(--color-text-tertiary));--accent:rgb(var(--color-primary));--accent-display:rgb(var(--color-primary-display));--accent-text:rgb(var(--color-primary-text));--on-accent:rgb(var(--color-text-on-primary));--accent-2:rgb(var(--color-secondary));--accent-2-text:rgb(var(--color-secondary-text));--accent-2-soft:color-mix(in srgb,var(--accent-2)12%,var(--surface));--shadow:18,38,46;--glow-op:.42;--card-shadow:0 4px 16px rgba(200,132,60,.09),0 1px 3px rgba(var(--shadow),.05);--card-shadow-hover:0 16px 36px rgba(200,132,60,.18),0 3px 8px rgba(var(--shadow),.06);--feat-shadow:0 8px 28px rgba(200,132,60,.15);--chip-on-bg:var(--navy);--chip-on-fg:var(--cream);--teal-fill:#1f7a6e;--teal-on:#fff;--scrim:rgba(8,20,16,.42);width:100%;max-width:440px;color:var(--ink);margin:0 auto;font-family:Inter,"system-ui",sans-serif;position:relative}.dark .hub-v2{--accent-2-soft:color-mix(in srgb,var(--accent-2)14%,var(--surface));--shadow:0,0,0;--glow-op:.5;--chip-on-bg:var(--cream);--chip-on-fg:var(--on-accent);--teal-fill:rgb(var(--color-secondary));--teal-on:#08221d;--scrim:rgba(0,0,0,.6)}:where(.hub-v2 *){box-sizing:border-box}:where(.hub-v2 button){font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}:where(.hub-v2 input){font:inherit}:where(.hub-v2 img){max-width:100%;display:block}.hub-v2 :focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:6px}.hub-v2 .glow{filter:blur(60px);z-index:0;pointer-events:none;opacity:var(--glow-op);border-radius:50%;position:absolute}.hub-v2 .glow.g1{background:radial-gradient(circle,rgba(200,132,60,.5),transparent 70%);width:280px;height:280px;top:-100px;right:-50px}.hub-v2 .glow.g2{background:radial-gradient(circle,rgba(47,143,131,.38),transparent 70%);width:240px;height:240px;top:560px;left:-90px}.hub-v2>:not(.glow){z-index:1;position:relative}@media (prefers-reduced-motion:no-preference){.hub-v2[data-motion=on] .glow{animation:9s ease-in-out infinite hub-breathe}.hub-v2[data-motion=on] .glow.g2{animation-delay:1.6s}@keyframes hub-breathe{0%,to{opacity:calc(var(--glow-op)*.8);transform:scale(1)}50%{opacity:var(--glow-op);transform:scale(1.14)}}}.hub-v2 .disp{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-track);color:var(--ink);line-height:1.12}.hub-v2 .eyebrow{letter-spacing:.15em;text-transform:uppercase;font-family:Inter,sans-serif;font-size:11.5px;font-weight:700}.hub-v2 .badge{letter-spacing:.1em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-family:Inter,sans-serif;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.hub-v2 .badge svg{width:13px;height:13px}.hub-v2 .badge-soft{background:color-mix(in srgb,var(--accent)18%,var(--surface));color:var(--accent-text)}.hub-v2 .badge-glass{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:rgba(8,26,33,.5);border:1px solid rgba(255,255,255,.3)}.hub-v2 .hub-hero{padding:8px 0}.hub-v2 .hub-hero__icon{background:var(--navy);width:54px;height:54px;color:var(--copper-light);box-shadow:var(--feat-shadow);border-radius:16px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.hub-v2 .hub-hero .eb{color:var(--accent-text);margin-bottom:10px;display:inline-block}.hub-v2 .hub-hero h1{margin-bottom:12px;font-size:max(30px,min(8.6vw,38px));line-height:1.07}.hub-v2 .hub-hero .sub{color:var(--muted);max-width:34ch;font-size:16px;line-height:1.55}.hub-v2 .stat-row{grid-template-columns:1fr 1fr 1fr;gap:9px;padding:18px 0 6px;display:grid}.hub-v2 .stat{background:var(--surface);border:var(--bw)solid var(--border);border-radius:var(--r-tile);text-align:left;padding:14px 12px;position:relative;overflow:hidden}.hub-v2 .stat .ic{background:color-mix(in srgb,var(--accent)15%,var(--surface));width:30px;height:30px;color:var(--accent-text);border-radius:9px;justify-content:center;align-items:center;margin-bottom:10px;display:flex}.hub-v2 .stat .val{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:-.02em;color:var(--ink);font-size:23px;line-height:1}.hub-v2 .stat .lab{color:var(--ink);margin-top:5px;font-size:12.5px;font-weight:700}.hub-v2 .stat .met{color:var(--faint);margin-top:2px;font-size:10.5px;font-weight:500}.hub-v2 .searchbar{background:var(--surface);border:var(--bw)solid var(--border);border-radius:14px;align-items:center;gap:10px;margin:14px 0 2px;padding:12px 15px;transition:all .18s;display:flex}.hub-v2 .searchbar:focus-within{border-color:var(--accent)}.hub-v2 .searchbar .ic{color:var(--faint);flex:none;display:flex}.hub-v2 .searchbar input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px}.hub-v2 .searchbar input::placeholder{color:var(--faint)}.hub-v2 .chips-row{scrollbar-width:none;flex-wrap:nowrap;gap:8px;padding:14px 0 16px;scroll-padding-right:26px;display:flex;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),transparent)}.hub-v2 .chips-row::-webkit-scrollbar{display:none}.hub-v2 .chips-row>:last-child{margin-right:6px}.hub-v2 .fchip{border:var(--bw)solid var(--border-strong);background:var(--surface);color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:5px;min-height:38px;padding:9px 14px;font-size:13.5px;font-weight:600;transition:all .16s;display:inline-flex}.hub-v2 .fchip:hover{border-color:var(--accent);color:var(--accent-text)}.hub-v2 .fchip[data-on=true]{background:var(--chip-on-bg);border-color:var(--chip-on-bg);color:var(--chip-on-fg)}.hub-v2 .fchip .h{color:var(--accent-text);font-weight:700}.hub-v2 .fchip[data-on=true] .h{color:var(--chip-on-fg);opacity:.7}.hub-v2 .fchip .ct{opacity:.7;font-weight:600}.hub-v2 .fchip--teal[data-on=true],.hub-v2 .fchip--p1[data-on=true]{background:var(--teal-fill);border-color:var(--teal-fill);color:var(--teal-on)}.hub-v2 .fchip--teal[data-on=true] .h,.hub-v2 .fchip--p1[data-on=true] .h,.hub-v2 .fchip--p2[data-on=true] .h{color:var(--teal-on)}.hub-v2 .fchip--p2[data-on=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.hub-v2 .fchip--p2[data-on=true] .h{color:var(--on-accent)}.hub-v2 .filterbar{align-items:center;gap:10px;display:flex}.hub-v2 .filter-trigger{border:var(--bw)solid var(--border-strong);background:var(--surface);color:var(--ink);min-height:48px;box-shadow:var(--card-shadow);border-radius:999px;align-items:center;gap:9px;padding:11px 17px;font-size:14px;font-weight:700;transition:all .16s;display:inline-flex}.hub-v2 .filter-trigger:hover{border-color:var(--accent);color:var(--accent-text)}.hub-v2 .filter-trigger[data-on=true]{border-color:var(--accent)}.hub-v2 .filter-trigger>svg{color:var(--accent-text);flex:none}.hub-v2 .trigger-count{background:var(--accent);color:var(--on-accent);border-radius:999px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.hub-v2 .filterbar__sort{color:var(--faint);white-space:nowrap;margin-left:auto;font-size:12.5px;font-weight:600}.hub-v2 .filterbar__clear{color:var(--accent-text);margin-left:auto;padding:8px 4px;font-size:13px;font-weight:700}.hub-v2 .filterbar__sort+.filterbar__clear{margin-left:0}.hub-v2 .filterbar__clear:hover{text-decoration:underline}.hub-v2 .active-summary{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.hub-v2 .sumchip{background:var(--chip-on-bg);color:var(--chip-on-fg);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:8px 11px;font-size:12.5px;font-weight:600;transition:all .16s;display:inline-flex}.hub-v2 .sumchip svg{opacity:.7}.hub-v2 .sumchip:hover svg{opacity:1}.hub-v2 .sumchip--teal{background:var(--teal-fill);color:var(--teal-on)}.hub-v2 .sheet-root{z-index:900;justify-content:center;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.hub-v2 .sheet-scrim{background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);position:absolute;top:0;bottom:0;left:0;right:0}.hub-v2 .filter-sheet{background:var(--col);border:var(--bw)solid var(--border);border-bottom:none;border-top-left-radius:26px;border-top-right-radius:26px;flex-direction:column;width:100%;max-width:440px;max-height:86vh;display:flex;position:absolute;bottom:0;box-shadow:0 -18px 50px rgba(0,0,0,.3)}@media (prefers-reduced-motion:no-preference){.hub-v2 .filter-sheet{animation:.32s cubic-bezier(.32,.72,0,1) hub-sheet-up}@keyframes hub-sheet-up{0%{transform:translateY(18px)}to{transform:none}}}.hub-v2 .sheet-grab{background:var(--border-strong);border-radius:999px;width:38px;height:4px;margin:10px auto 2px}.hub-v2 .sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:8px 20px 12px;display:flex}.hub-v2 .sheet-title{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);font-size:21px;font-weight:700}.hub-v2 .sheet-sub{color:var(--faint);margin-top:2px;font-size:12.5px;font-weight:500}.hub-v2 .sheet-clear{color:var(--accent-text);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:8px 6px;font-size:13px;font-weight:700}.hub-v2 .sheet-clear:disabled{color:var(--faint);opacity:.5;cursor:default}.hub-v2 .sheet-clear:not(:disabled):hover{text-decoration:underline}.hub-v2 .sheet-body{scrollbar-width:thin;flex:1;padding:4px 20px 14px;overflow-y:auto}.hub-v2 .sheet-search{background:var(--surface);border:var(--bw)solid var(--border);border-radius:13px;align-items:center;gap:10px;margin-bottom:14px;padding:11px 14px;display:flex}.hub-v2 .sheet-search:focus-within{border-color:var(--accent)}.hub-v2 .sheet-search>svg:first-child{color:var(--faint);flex:none}.hub-v2 .sheet-search input{color:var(--ink);background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:15px}.hub-v2 .sheet-search input::placeholder{color:var(--faint)}.hub-v2 .sheet-search button{color:var(--faint);cursor:pointer;background:0 0;border:none;flex:none;display:flex}.hub-v2 .sheet-sect{letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin:14px 0 9px;font-size:11px;font-weight:700}.hub-v2 .sheet-list{flex-direction:column;gap:3px;display:flex}.hub-v2 .fsheet-row{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:13px;align-items:center;gap:13px;width:100%;min-height:52px;padding:11px 12px;transition:background .14s;display:flex}.hub-v2 .fsheet-row:hover,.hub-v2 .fsheet-row[data-on=true]{background:var(--surface-2)}.hub-v2 .fsheet-box{border:1.5px solid var(--border-strong);color:transparent;border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;transition:all .14s;display:flex}.hub-v2 .fsheet-box--radio{border-radius:999px}.hub-v2 .fsheet-row[data-on=true] .fsheet-box{background:var(--chip-on-bg);border-color:var(--chip-on-bg);color:var(--chip-on-fg)}.hub-v2 .fsheet-row--teal[data-on=true] .fsheet-box,.hub-v2 .fsheet-row--p1[data-on=true] .fsheet-box{background:var(--teal-fill);border-color:var(--teal-fill);color:var(--teal-on)}.hub-v2 .fsheet-row--p2[data-on=true] .fsheet-box{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.hub-v2 .fsheet-lbl{min-width:0;color:var(--ink);flex:1;font-size:15px;font-weight:600}.hub-v2 .fsheet-count{color:var(--faint);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.hub-v2 .fsheet-row--teal .fsheet-lbl{color:var(--accent-2-text)}.hub-v2 .sheet-empty{color:var(--faint);padding:18px 4px;font-size:14px}.hub-v2 .sheet-seg{background:var(--surface-2);border-radius:13px;gap:4px;padding:4px;display:flex}.hub-v2 .sheet-seg button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1;min-height:42px;padding:10px 8px;font-size:12.5px;font-weight:600;line-height:1.2;transition:all .14s}.hub-v2 .sheet-seg button[data-on=true]{background:var(--chip-on-bg);color:var(--chip-on-fg)}.hub-v2 .sheet-chips{flex-wrap:wrap;gap:8px;display:flex}.hub-v2 .sheet-foot{border-top:1px solid var(--border);background:var(--col);padding:14px 20px}.hub-v2 .sheet-apply{background:var(--accent);width:100%;color:var(--on-accent);font-family:var(--font-display);letter-spacing:-.01em;min-height:52px;box-shadow:var(--feat-shadow);cursor:pointer;border:none;border-radius:999px;padding:15px;font-size:15.5px;font-weight:700;transition:all .16s}.hub-v2 .sheet-apply:hover{filter:brightness(1.04);transform:translateY(-1px)}.hub-v2 .hub-select{display:inline-flex;position:relative}.hub-v2 .hub-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--surface);border:var(--bw)solid var(--border-strong);color:var(--muted);cursor:pointer;border-radius:999px;outline:none;min-height:38px;padding:9px 34px 9px 14px;font-size:13.5px;font-weight:600;transition:all .16s}.hub-v2 .hub-select select:hover,.hub-v2 .hub-select select:focus{border-color:var(--accent)}.hub-v2 .hub-select .chev{color:var(--faint);pointer-events:none;display:flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.hub-v2 .hub-body{padding:0}.hub-v2 .hub-body--list{flex-direction:column;gap:11px;display:flex}.hub-v2 .read-pill{white-space:nowrap;background:var(--surface-2);color:var(--faint);border-radius:999px;flex:none;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.hub-v2 .read-pill svg{width:13px;height:13px}.hub-v2 .check{border:1.5px solid var(--border-strong);background:var(--surface);color:transparent;border-radius:999px;flex:none;justify-content:center;align-items:center;width:27px;height:27px;transition:all .18s;display:flex}.hub-v2 button.check:hover{border-color:var(--accent-2);color:var(--accent-2)}.hub-v2 .check[data-done=true]{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.hub-v2 .card{background:var(--surface);border:var(--bw)solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow);color:var(--ink);padding:18px;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s,border-color .2s;display:block}.hub-v2 .card.hoverable{cursor:pointer}.hub-v2 .card.hoverable:hover{border-color:var(--accent);box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.hub-v2 .card.is-done{border-color:color-mix(in srgb,var(--accent-2)42%,var(--border))}.hub-v2 .featured-navy{background:var(--navy);color:#f5ecda;border-radius:var(--r-feat);border:var(--bw)solid var(--navy);margin-bottom:4px;padding:22px 20px;display:block;position:relative;overflow:hidden}.hub-v2 .featured-navy .stars{opacity:.4;background-image:radial-gradient(1.5px 1.5px at 18% 30%,rgba(230,172,106,.8),transparent),radial-gradient(1px 1px at 72% 55%,rgba(255,255,255,.55),transparent),radial-gradient(1.5px 1.5px at 88% 22%,rgba(230,172,106,.7),transparent);position:absolute;top:0;bottom:0;left:0;right:0}.hub-v2 .featured-navy>*{z-index:1;position:relative}.hub-v2 .featured-navy .eb{color:var(--copper-light);align-items:center;gap:7px;margin-bottom:14px;display:inline-flex}.hub-v2 .featured-navy .hook{font-family:var(--font-display);letter-spacing:-.01em;text-wrap:balance;margin-bottom:18px;font-size:22px;font-weight:700;line-height:1.28}.hub-v2 .featured-navy .foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.hub-v2 .featured-navy .read-pill{color:rgba(245,236,218,.85);background:rgba(255,255,255,.1)}.hub-v2 .featured-navy .go{color:var(--copper-light);align-items:center;gap:6px;font-size:14px;font-weight:700;display:inline-flex}.hub-v2 .featured-navy .go svg{transition:transform .18s}.hub-v2 .featured-navy:hover .go svg{transform:translate(3px)}.hub-v2 .featured-cover{border-radius:var(--r-feat);border:var(--bw)solid var(--border-strong);box-shadow:var(--feat-shadow);cursor:pointer;align-items:flex-end;min-height:230px;margin-bottom:4px;display:flex;position:relative;overflow:hidden}.hub-v2 .featured-cover img,.hub-v2 .featured-cover .cover-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform 6s;position:absolute;top:0;bottom:0;left:0;right:0}.hub-v2 .featured-cover:hover img,.hub-v2 .featured-cover:hover .cover-img{transform:scale(1.05)}.hub-v2 .featured-cover__grad{z-index:1;background:linear-gradient(transparent 30%,rgba(6,12,15,.9));position:absolute;top:0;bottom:0;left:0;right:0}.hub-v2 .featured-cover__time{z-index:2;position:absolute;top:14px;left:14px}.hub-v2 .featured-cover__body{z-index:2;padding:18px;position:relative}.hub-v2 .featured-cover .eb{color:var(--copper-light);margin-bottom:9px;display:inline-block}.hub-v2 .featured-cover h3{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;margin-bottom:8px;font-size:26px;font-weight:700;line-height:1.1}.hub-v2 .featured-cover p{color:rgba(245,236,218,.85);max-width:32ch;margin-bottom:14px;font-size:14.5px;line-height:1.5}.hub-v2 .featured-habit{align-items:center;gap:16px;margin-bottom:4px;display:flex}.hub-v2 .featured-habit__thumb{background:var(--surface-2);border-radius:18px;flex:none;width:104px;height:104px;position:relative;overflow:hidden}.hub-v2 .featured-habit__thumb img,.hub-v2 .featured-habit__thumb .cover-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.hub-v2 .featured-habit .eb{color:var(--accent-text);margin-bottom:8px;font-size:10.5px;display:inline-block}.hub-v2 .featured-habit h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin-bottom:7px;font-size:20px;font-weight:700;line-height:1.14}.hub-v2 .featured-habit p{color:var(--muted);margin-bottom:11px;font-size:13.5px;line-height:1.5}.hub-v2 .featured-habit__ic{background:var(--navy);width:104px;height:104px;color:var(--copper-light);border-radius:18px;flex:none;justify-content:center;align-items:center;display:flex}.hub-v2 .shot-card{flex-direction:column;display:flex}.hub-v2 .shot-card__top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.hub-v2 .shot-card .cat{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-size:11px;font-weight:700}.hub-v2 .shot-card .hook{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);text-wrap:pretty;margin-bottom:16px;font-size:18px;font-weight:600;line-height:1.3}.hub-v2 .shot-card.is-done .hook{color:var(--muted)}.hub-v2 .shot-card__foot{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;display:flex}.hub-v2 .shot-card .go{color:var(--accent-text);align-items:center;gap:5px;font-size:13.5px;font-weight:700;display:inline-flex}.hub-v2 .shot-card .go svg{transition:transform .18s}.hub-v2 .shot-card:hover .go svg{transform:translate(3px)}.hub-v2 .habit-card{align-items:center;gap:14px;padding:12px;display:flex}.hub-v2 .habit-card__thumb{background:var(--surface-2);border-radius:15px;flex:none;width:76px;height:76px;position:relative;overflow:hidden}.hub-v2 .habit-card__thumb img,.hub-v2 .habit-card__thumb .cover-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.hub-v2 .habit-card__thumb .ck{background:var(--accent-2);color:#fff;border:1.5px solid var(--surface);border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;bottom:5px;right:5px}.hub-v2 .habit-card__main{flex:1;min-width:0}.hub-v2 .habit-card .cat{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);font-size:10.5px;font-weight:700}.hub-v2 .habit-card h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin:3px 0 8px;font-size:17px;font-weight:600;line-height:1.18}.hub-v2 .habit-card__row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.hub-v2 .day-badge{white-space:nowrap;background:color-mix(in srgb,var(--accent)15%,var(--surface));color:var(--accent-text);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:700;line-height:1;display:inline-flex}.hub-v2 .habit-card__active{white-space:nowrap;color:var(--accent-2-text);align-items:center;gap:5px;font-size:11.5px;font-weight:700;display:inline-flex}.hub-v2 .habit-card__chev{color:var(--faint);flex:none;display:flex}.hub-v2 .modules{flex-direction:column;gap:10px;display:flex}.hub-v2 .module{background:var(--surface);border:var(--bw)solid var(--border);border-radius:var(--r-card);box-shadow:var(--card-shadow);transition:border-color .18s;overflow:hidden}.hub-v2 .module:hover{border-color:var(--accent)}.hub-v2 .module__head{text-align:left;cursor:pointer;align-items:center;gap:13px;width:100%;padding:15px;display:flex}.hub-v2 .module__num{width:44px;height:44px;font-family:var(--font-display);border-radius:13px;flex:none;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.hub-v2 .module--p1 .module__num{background:color-mix(in srgb,var(--accent-2)18%,var(--surface));color:var(--accent-2-text)}.hub-v2 .module--p2 .module__num{background:color-mix(in srgb,var(--accent)16%,var(--surface));color:var(--accent-text)}.hub-v2 .module__main{flex:1;min-width:0}.hub-v2 .module__title{color:var(--ink);font-size:15.5px;font-weight:700;line-height:1.2;display:block}.hub-v2 .module__meta{color:var(--faint);margin-top:3px;font-size:12px;line-height:1.35;display:block}.hub-v2 .module__phase{letter-spacing:.04em;font-weight:700}.hub-v2 .module--p1 .module__phase{color:var(--accent-2-text)}.hub-v2 .module--p2 .module__phase{color:var(--accent-text)}.hub-v2 .module__chev{color:var(--faint);flex:none;transition:transform .25s;display:flex}.hub-v2 .module[data-open=true] .module__chev{transform:rotate(90deg)}.hub-v2 .pbar{background:var(--surface-2);border-radius:999px;height:6px;margin-top:10px;overflow:hidden}.hub-v2 .pbar i{border-radius:999px;height:100%;transition:width .4s;display:block}.hub-v2 .module--p1 .pbar i{background:var(--accent-2)}.hub-v2 .module--p2 .pbar i{background:var(--accent)}.hub-v2 .module__body{border-top:1px solid var(--border)}.hub-v2 .module__desc{background:color-mix(in srgb,var(--surface-2)50%,var(--surface));justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.hub-v2 .module__desc p{color:var(--muted);flex:1;min-width:0;font-size:12.5px;line-height:1.45}.hub-v2 .module__desc a{color:var(--accent-text);white-space:nowrap;flex:none;font-size:12px;font-weight:700}.hub-v2 .lessons{margin:0;padding:2px 16px 14px;list-style:none}.hub-v2 .lesson{border-top:1px solid var(--border);align-items:center;gap:12px;padding:10px 0;display:flex}.hub-v2 .lesson:first-child{border-top:none}.hub-v2 .lesson__check{border:1.5px solid var(--border-strong);background:var(--surface);width:23px;height:23px;color:var(--faint);border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:11px;font-weight:700;transition:all .16s;display:flex}.hub-v2 .lesson.is-done .lesson__check{background:var(--accent-2);border-color:var(--accent-2);color:#fff}.hub-v2 .lesson__t{color:var(--ink);flex:1;font-size:14px;line-height:1.3}.hub-v2 .lesson.is-done .lesson__t{color:var(--faint)}.hub-v2 .lesson:hover .lesson__t{color:var(--accent-text)}.hub-v2 .lesson__time{color:var(--faint);flex:none;font-size:11.5px;font-weight:600}.hub-v2 .lesson__chev{color:var(--faint);flex:none;display:flex}.hub-v2 .lessons__skeleton{padding:8px 16px 16px}.hub-v2 .lessons__skeleton i{background:var(--surface-2);border-radius:11px;height:38px;margin-bottom:8px;animation:1.4s ease-in-out infinite hub-pulse;display:block}@keyframes hub-pulse{0%,to{opacity:.55}50%{opacity:1}}.hub-v2 .module__cta{border-top:1px solid var(--border);padding:12px 16px}.hub-v2 .module__cta a{text-align:center;border-radius:var(--r-btn);background:var(--accent);color:var(--on-accent);padding:11px;font-size:14px;font-weight:700;display:block}.hub-v2 .module__cta a.is-done{background:var(--accent-2-soft);color:var(--accent-2-text)}.hub-v2 .topic-tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hub-v2 .topic-tile{border-radius:var(--r-card);aspect-ratio:3/4;cursor:pointer;border:var(--bw)solid var(--border-strong);box-shadow:var(--feat-shadow);transition:transform .2s,border-color .2s;display:block;position:relative;overflow:hidden}.hub-v2 .topic-tile:hover{border-color:var(--accent);transform:translateY(-3px)}.hub-v2 .topic-tile img,.hub-v2 .topic-tile .cover-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform 5s}.hub-v2 .topic-tile:hover img,.hub-v2 .topic-tile:hover .cover-img{transform:scale(1.07)}.hub-v2 .topic-tile__grad{background:linear-gradient(transparent 32%,rgba(6,12,15,.88));position:absolute;top:0;bottom:0;left:0;right:0}.hub-v2 .topic-tile__fallback{background:var(--navy);color:var(--copper-light);justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.hub-v2 .topic-tile__check{background:var(--accent-2);color:#fff;z-index:2;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 4px 10px rgba(0,0,0,.3)}.hub-v2 .topic-tile__body{z-index:1;padding:13px;position:absolute;bottom:0;left:0;right:0}.hub-v2 .topic-tile h3{font-family:var(--font-display);color:#fff;letter-spacing:-.01em;margin-bottom:9px;font-size:16.5px;font-weight:600;line-height:1.16}.hub-v2 .htags{flex-wrap:wrap;gap:6px;display:flex}.hub-v2 .htag{color:rgba(245,236,218,.95);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(8,26,33,.45);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 8px;font-size:10.5px;font-weight:700}.hub-v2 .htag .h{opacity:.7}.hub-v2 .concept-card{align-items:flex-start;gap:14px;display:flex}.hub-v2 .concept-card__ic{background:color-mix(in srgb,var(--accent)14%,var(--surface));width:44px;height:44px;color:var(--accent-text);border-radius:13px;flex:none;justify-content:center;align-items:center;transition:all .18s;display:flex}.hub-v2 .concept-card.is-done .concept-card__ic{background:color-mix(in srgb,var(--accent-2)18%,var(--surface));color:var(--accent-2-text)}.hub-v2 .concept-card__main{flex:1;min-width:0}.hub-v2 .concept-card .cat{letter-spacing:.07em;text-transform:uppercase;color:var(--accent-text);margin-bottom:5px;font-size:10.5px;font-weight:700;display:block}.hub-v2 .concept-card.is-done .cat{color:var(--accent-2-text)}.hub-v2 .concept-card h3{font-family:var(--font-display);color:var(--ink);letter-spacing:-.01em;margin-bottom:5px;font-size:17px;font-weight:600;line-height:1.18}.hub-v2 .concept-card p{color:var(--muted);text-wrap:pretty;font-size:14px;line-height:1.5}.hub-v2 .concept-card .check{margin-top:2px}.hub-v2 .slabel{justify-content:space-between;align-items:baseline;gap:12px;padding:22px 0 14px;display:flex}.hub-v2 .slabel h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ink);font-size:19px;font-weight:700}.hub-v2 .slabel .count{color:var(--faint);white-space:nowrap;font-size:12.5px;font-weight:600}.hub-v2 .empty{text-align:center;color:var(--faint);padding:40px 20px;font-size:14.5px}.hub-v2 .empty .ic{background:var(--surface-2);width:46px;height:46px;color:var(--faint);border-radius:13px;justify-content:center;align-items:center;margin:0 auto 12px;display:flex}.hub-v2 .empty .reset{color:var(--accent-text);margin-top:12px;font-weight:700}.hub-v2 .hub-toolbar{flex-wrap:wrap;gap:8px;padding:8px 0 0;display:flex}.hub-v2 .hub-controls{flex-direction:column;gap:10px;margin:14px 0 2px;display:flex}.hub-v2 .hub-controls .searchbar{margin:0}.hub-v2 .hub-notice{margin-top:16px}@media (min-width:1024px){.hub-v2{max-width:1120px}.hub-v2 .hub-hero h1{font-size:42px}.hub-v2 .hub-hero .sub{max-width:54ch;font-size:18px}.hub-v2 .stat{padding:18px 16px}.hub-v2 .stat .val{font-size:27px}.hub-v2 .slabel h2{font-size:22px}.hub-v2 .searchbar,.hub-v2 .hub-controls,.hub-v2 .hub-toolbar,.hub-v2 .hub-notice{max-width:760px}.hub-v2 .hub-controls{flex-direction:row;align-items:flex-start;gap:12px}.hub-v2 .hub-controls .searchbar{flex:1;min-width:0}.hub-v2 .hub-controls>.ptn-sheet{flex:none}.hub-v2 .hub-body--list{grid-template-columns:repeat(2,1fr);align-items:stretch;gap:12px;display:grid}.hub-v2 .modules{grid-template-columns:repeat(2,1fr);align-items:start;gap:12px;display:grid}.hub-v2 .hub-body--list>.featured-navy,.hub-v2 .hub-body--list>.featured-cover,.hub-v2 .hub-body--list>.featured-habit{grid-column:1/-1}.hub-v2 .topic-tiles{grid-template-columns:repeat(4,1fr);gap:16px}.hub-v2 .topic-tile h3{font-size:17.5px}}
