:root{--hub-glass:rgba(255,255,255,0.55);--hub-glass-border:rgba(255,255,255,0.5);--hub-glass-blur:blur(20px);--hub-table-bg:rgba(255,255,255,0.7);--hub-table-hover:rgba(255,255,255,0.85);--hub-table-border:rgba(0,0,0,0.06)}[data-effective-mode=dark]{--hub-glass:rgba(255,255,255,0.12);--hub-glass-border:rgba(255,255,255,0.14);--hub-table-bg:rgba(255,255,255,0.1);--hub-table-hover:rgba(255,255,255,0.14);--hub-table-border:rgba(255,255,255,0.1)}@keyframes hub-fade-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hub-donut-pulse{0%,to{filter:drop-shadow(0 0 6px var(--hub-donut-glow,rgba(255,255,255,.25)))}50%{filter:drop-shadow(0 0 16px var(--hub-donut-glow,rgba(255,255,255,.25)))}}@keyframes hub-shine-sweep{0%{transform:translateX(-200%) rotate(25deg)}to{transform:translateX(400%) rotate(25deg)}}@keyframes hub-cta-nudge{0%,to{transform:translateX(0)}50%{transform:translateX(5px)}}@keyframes hub-flame-glow{0%,to{filter:drop-shadow(0 0 4px #f97316) drop-shadow(0 0 8px rgba(249,115,22,.4));transform:scale(1)}50%{filter:drop-shadow(0 0 10px #f97316) drop-shadow(0 0 20px rgba(249,115,22,.6));transform:scale(1.15)}}@keyframes hub-panel-in-left{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes hub-panel-in-right{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes hub-icon-glow{0%,to{filter:drop-shadow(0 0 4px rgba(255,255,255,.3))}50%{filter:drop-shadow(0 0 12px rgba(255,255,255,.6))}}.hub-content,.hub-root{position:relative}.hub-content{z-index:1;width:100%;max-width:1500px;margin:0 auto;padding:1rem 0 4rem}.hub-heading{margin-bottom:1.25rem;animation:hub-fade-up .7s ease-out both}.hub-heading-text{font-size:1.75rem;font-weight:800;color:var(--theme-text);transition:color .5s ease-in-out}.hub-hero{overflow:hidden;padding:32px 36px;margin-bottom:1.5rem;border-radius:28px;color:#fff;background:radial-gradient(ellipse at 90% 0,rgba(168,85,247,.45),transparent 55%),radial-gradient(ellipse at 10% 100%,rgba(56,189,248,.36),transparent 60%),linear-gradient(135deg,#1e1b4b,#4338ca 50%,#0c4a6e);box-shadow:0 24px 60px rgba(15,23,42,.45),inset 0 1px 0 rgba(255,255,255,.1)}.hub-hero,.hub-hero-body{position:relative;display:flex;flex-direction:column;gap:18px}.hub-hero-body{z-index:1}.hub-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}@media (max-width:720px){.hub-hero-top{flex-direction:column}}.hub-hero-title-block{display:flex;flex-direction:column;gap:12px;min-width:0}.hub-hero-kicker{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}.hub-hero-title{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:2rem;font-weight:800;line-height:1.1;letter-spacing:-.018em;margin:0;color:#fff}.hub-hero-sub{font-size:.98rem;line-height:1.55;opacity:.92;margin:0;color:rgba(255,255,255,.92)}.hub-hero-stats{display:flex;align-items:center;gap:26px;flex-shrink:0}.hub-hero-stat{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.hub-hero-stat-val{font-family:var(--font-heading,"Montserrat"),sans-serif;font-size:2.6rem;font-weight:800;letter-spacing:-.02em;line-height:1;text-shadow:0 2px 12px rgba(0,0,0,.22);color:#fff}.hub-hero-stat-label{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.85)}.hub-hero-stat-divider{width:1px;height:64px;background:rgba(255,255,255,.3);flex-shrink:0}.hub-hero-bottom{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16)}.hub-hero-bottom .hub-filter,.hub-hero-bottom .hub-search{flex:1 1 0;min-width:220px;margin-bottom:0}.hub-hero-bottom .hub-hero-toggle{flex:0 0 auto}.hub-hero-bottom .hub-filter-btn,.hub-hero-bottom .hub-search{padding:11px 14px;border-radius:12px;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff}.hub-hero-bottom .hub-filter-btn:focus-visible,.hub-hero-bottom .hub-filter-btn:hover,.hub-hero-bottom .hub-filter[data-open=true] .hub-filter-btn,.hub-hero-bottom .hub-search:focus-within{border-color:rgba(255,255,255,.55)}.hub-hero-bottom .hub-filter-btn>svg,.hub-hero-bottom .hub-filter-chevron,.hub-hero-bottom .hub-search-clear,.hub-hero-bottom .hub-search>svg{color:rgba(255,255,255,.78)}.hub-hero-bottom .hub-search>input{color:#fff}.hub-hero-bottom .hub-search>input::-moz-placeholder{color:rgba(255,255,255,.62)}.hub-hero-bottom .hub-search>input::placeholder{color:rgba(255,255,255,.62)}.hub-hero-toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff;font-family:inherit;font-size:.9rem;font-weight:700;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s,box-shadow .18s}.hub-hero-toggle:hover{background:rgba(255,255,255,.22);transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,0,0,.22)}.hub-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.875rem;margin-bottom:2rem;animation:hub-fade-up .7s ease-out .1s both}.hub-search{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;margin-bottom:1rem;background:var(--hub-glass);border:1px solid var(--hub-glass-border);border-radius:.65rem;color:var(--theme-text);transition:background-color .5s ease-in-out,border-color .5s ease-in-out,color .5s ease-in-out}.hub-search:focus-within{border-color:var(--theme-accent)}.hub-search>svg{color:var(--theme-text-muted);flex-shrink:0;transition:color .5s ease-in-out}.hub-search>input{flex:1;min-width:0;border:none;background:transparent;color:var(--theme-text);font:inherit;font-size:.9rem;outline:none;transition:color .5s ease-in-out}.hub-search>input::-moz-placeholder{color:var(--theme-text-muted);-moz-transition:color .5s ease-in-out;transition:color .5s ease-in-out}.hub-search>input::placeholder{color:var(--theme-text-muted);transition:color .5s ease-in-out}.hub-search-clear{background:none;border:none;color:var(--theme-text-muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:0 .25rem;flex-shrink:0;transition:color .5s ease-in-out}.hub-search-clear:hover{color:var(--theme-text)}.hub-search-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;background:var(--hub-glass);border:1px dashed var(--hub-glass-border);border-radius:.75rem;color:var(--theme-text-muted);text-align:center}.hub-search-empty p{max-width:32rem;margin:0;font-size:.9rem}.hub-search-empty>svg{color:var(--theme-text-muted)}.hub-stat{display:flex;align-items:center;gap:1rem;padding:1.5rem 1.25rem;background:var(--hub-glass);backdrop-filter:var(--hub-glass-blur);-webkit-backdrop-filter:var(--hub-glass-blur);border:1px solid var(--hub-glass-border);border-radius:1rem;box-shadow:0 2px 12px rgba(0,0,0,.06);transition:background-color .5s ease-in-out,border-color .5s ease-in-out,transform .5s ease-in-out,box-shadow .5s ease-in-out}.hub-stat:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.1)}.hub-stat-toggle{cursor:pointer;border:1px solid rgba(255,255,255,.18);text-align:left;position:relative;overflow:hidden;background:linear-gradient(135deg,#3b82f6,#6366f1 50%,#7c3aed);color:#ffffff;box-shadow:0 10px 28px -8px rgba(99,102,241,.5),inset 0 1px 0 rgba(255,255,255,.2);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.hub-stat-toggle:hover{transform:translateY(-2px);box-shadow:0 14px 34px -10px rgba(99,102,241,.65),inset 0 1px 0 rgba(255,255,255,.28);border-color:rgba(255,255,255,.3)}.hub-stat-toggle .hub-stat-icon,[data-effective-mode=dark] .hub-stat-toggle .hub-stat-icon{background:rgba(255,255,255,.18);color:#ffffff;z-index:2}.hub-stat-toggle .hub-stat-label,.hub-stat-toggle .hub-stat-value{color:#ffffff;position:relative;z-index:2}.hub-stat-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:.875rem;flex-shrink:0;position:relative;overflow:hidden;transition:background-color .5s ease-in-out,color .5s ease-in-out}.hub-stat-icon>svg{position:relative;z-index:1}.hub-stat-value{font-size:2rem;font-weight:800;color:var(--theme-text);line-height:1;transition:color .5s ease-in-out}.hub-stat-value-sm{font-size:1rem}.hub-stat-label{font-size:.85rem;font-weight:500;margin-top:.125rem}.hub-section-label,.hub-stat-label{color:var(--theme-text-muted);transition:color .5s ease-in-out}.hub-section-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1rem;margin-top:2.5rem}.hub-panel-left{animation:hub-panel-in-left .5s ease-out both}.hub-panel-right{animation:hub-panel-in-right .5s ease-out both}.hub-cards{display:flex;flex-direction:column;gap:1.5rem}.hub-card{position:relative;border-radius:1.5rem;overflow:hidden;cursor:default;transition:transform .5s ease-in-out,box-shadow .5s ease-in-out;animation:hub-fade-up .7s ease-out both}.hub-card:first-child{animation-delay:.15s}.hub-card:nth-child(2){animation-delay:.25s}.hub-card:nth-child(3){animation-delay:.35s}.hub-card:hover{transform:translateY(-4px)}.hub-card{background:var(--tone-card-bg);box-shadow:0 16px 36px -10px var(--tone-card-shadow,rgba(0,0,0,.32)),0 4px 12px -4px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.25) inset}.hub-card:hover{box-shadow:0 22px 48px -10px var(--tone-card-shadow,rgba(0,0,0,.45)),0 6px 16px -4px rgba(0,0,0,.25),0 1px 0 rgba(255,255,255,.3) inset}.hub-card:before{content:"";position:absolute;top:-30%;right:-15%;width:50%;height:160%;background:radial-gradient(ellipse,rgba(255,255,255,.1),transparent 60%);pointer-events:none;z-index:0}.hub-card-upper{position:relative;z-index:1;display:flex;align-items:center;gap:1.5rem;padding:1.75rem 2rem 1.5rem}.hub-course-icon-wrap{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:90px;height:90px;border-radius:1.25rem;background:rgba(255,255,255,.12);transition:filter .5s ease-in-out}.hub-card:hover .hub-course-icon-wrap{animation:hub-icon-glow 2s ease-in-out infinite}.hub-card-body{flex:1;min-width:0}.hub-card-eyebrow{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55);margin-bottom:.25rem}.hub-card-title{font-size:1.25rem;font-weight:700;color:#fff;line-height:1.25;margin-bottom:.375rem}.hub-card-desc{font-size:.875rem;color:rgba(255,255,255,.6);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:.625rem}.hub-card-pills{display:flex;flex-wrap:wrap;gap:.5rem}.hub-card-pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .625rem;border-radius:999px;font-size:.8rem;font-weight:600;background:rgba(255,255,255,.15);color:rgba(255,255,255,.85)}.hub-card-pill-login{background:rgba(245,158,11,.25);color:#fcd34d;font-weight:700}.hub-cert-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.2rem .625rem;border-radius:.4rem;font-size:.8rem;font-weight:600;background:rgba(255,255,255,.2);color:#fff;position:relative;overflow:hidden}.hub-cert-badge:after{content:"";position:absolute;top:0;left:0;width:25%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:hub-shine-sweep 3.5s ease-in-out infinite}.hub-card-actions{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.875rem;flex-shrink:0;align-self:center;min-width:10.5rem}.hub-card-cta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.625rem 1.25rem;border-radius:.75rem;background:linear-gradient(135deg,rgba(255,255,255,.28),rgba(255,255,255,.18) 50%,rgba(255,255,255,.08));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4);box-shadow:0 8px 22px -8px rgba(0,0,0,.38),0 2px 8px -2px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.4);font-size:.95rem;font-weight:700;color:#fff;white-space:nowrap;cursor:pointer;text-decoration:none;position:relative;overflow:hidden;transition:background .3s ease,transform .3s ease,border-color .3s ease,box-shadow .3s ease}.hub-card-cta>*{position:relative;z-index:1}.hub-card-cta:hover{background:linear-gradient(135deg,rgba(255,255,255,.4),rgba(255,255,255,.26) 50%,rgba(255,255,255,.14));border-color:rgba(255,255,255,.55);box-shadow:0 14px 32px -10px rgba(0,0,0,.5),0 4px 12px -3px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.55);transform:translateY(-1px)}.hub-card-cta-arrow{animation:hub-cta-nudge 2s ease-in-out infinite}.hub-card-cta-secondary{background:linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.1) 50%,rgba(255,255,255,.04));border-color:rgba(255,255,255,.22);box-shadow:0 6px 18px -8px rgba(0,0,0,.3),0 2px 6px -2px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.22);font-weight:600}.hub-card-cta-secondary:hover{background:linear-gradient(135deg,rgba(255,255,255,.26),rgba(255,255,255,.16) 50%,rgba(255,255,255,.08));border-color:rgba(255,255,255,.4);box-shadow:0 12px 28px -10px rgba(0,0,0,.4),0 3px 10px -3px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.32)}.hub-card-lower{position:relative;z-index:1;background:#fff;padding:1rem 1.25rem;border-radius:0 0 1.5rem 1.5rem;transition:background .5s ease-in-out}[data-effective-mode=dark] .hub-card-lower{background:rgba(20,15,40,.9);border-left:2px solid var(--hub-shadow-color,rgba(124,58,237,.4));border-right:2px solid var(--hub-shadow-color,rgba(124,58,237,.4));border-bottom:2px solid var(--hub-shadow-color,rgba(124,58,237,.4));border-radius:0 0 1.5rem 1.5rem}.hub-transcript-header{border-radius:1.25rem;padding:1.75rem 2rem;margin-bottom:1.5rem;background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#3730a3);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;animation:hub-fade-up .7s ease-out .1s both}.hub-transcript-header:before{content:"";position:absolute;top:-30%;right:-10%;width:40%;height:160%;background:radial-gradient(ellipse,rgba(255,255,255,.06),transparent 60%);pointer-events:none}.hub-transcript-header-left{display:flex;align-items:center;gap:1rem}.hub-transcript-header-icon{display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;border-radius:1rem;background:rgba(255,255,255,.1);flex-shrink:0}.hub-transcript-header-title{font-size:1.375rem;font-weight:700;color:#fff}.hub-transcript-header-sub{font-size:.875rem;color:rgba(255,255,255,.5);margin-top:.125rem}.hub-streak-display{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex-shrink:0}.hub-streak-value{font-size:2rem;font-weight:800;color:#fff;line-height:1}.hub-streak-label{font-size:.8rem;font-weight:600;color:rgba(255,255,255,.5)}.hub-stat-icon-purple{background:rgba(124,58,237,.18);color:#7c3aed}.hub-stat-icon-orange{background:rgba(249,115,22,.18);color:#f97316}.hub-stat-icon-green{background:rgba(16,185,129,.18);color:#059669}.hub-stat-icon-blue{background:rgba(96,165,250,.18);color:#2563eb}[data-effective-mode=dark] .hub-stat-icon-purple{background:rgba(124,58,237,.35);color:#c4b5fd}[data-effective-mode=dark] .hub-stat-icon-orange{background:rgba(249,115,22,.35);color:#fdba74}[data-effective-mode=dark] .hub-stat-icon-green{background:rgba(16,185,129,.35);color:#6ee7b7}[data-effective-mode=dark] .hub-stat-icon-blue{background:rgba(96,165,250,.35);color:#93c5fd}.hub-flame-faded{color:rgba(255,255,255,.2)}.hub-streak-label-faded{color:rgba(255,255,255,.35)}.hub-transcript-course-title{font-weight:600}.hub-transcript-type{font-size:.8rem;font-weight:600}.hub-transcript-th-nosort{cursor:default!important}.hub-header-flame{color:#fff;animation:hub-white-flame-glow 2s ease-in-out infinite}@keyframes hub-white-flame-glow{0%,to{filter:drop-shadow(0 0 4px rgba(255,255,255,.3));transform:scale(1)}50%{filter:drop-shadow(0 0 12px rgba(255,255,255,.7)) drop-shadow(0 0 24px rgba(255,255,255,.3));transform:scale(1.1)}}.hub-transcript-table{width:100%;border-collapse:separate;border-spacing:0;border-radius:1rem;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.06);animation:hub-fade-up .7s ease-out .2s both}.hub-transcript-table th{padding:.75rem 1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;text-align:left;color:var(--theme-text-muted);background:var(--hub-table-bg);border-bottom:1px solid var(--hub-table-border);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:color .3s ease}.hub-transcript-table th:hover{color:var(--theme-text)}.hub-sort-indicator{display:inline-block;margin-left:.25rem;font-size:.7rem;opacity:.6}.hub-transcript-table td{padding:.75rem 1rem;font-size:.875rem;vertical-align:middle;color:var(--theme-text);background:var(--hub-table-bg);border-bottom:1px solid var(--hub-table-border);transition:background .3s ease,color .5s ease-in-out}.hub-transcript-table tbody tr{cursor:pointer;transition:background .3s ease}.hub-transcript-table tbody tr:hover td{background:var(--hub-table-hover)}.hub-transcript-table tbody tr:last-child td{border-bottom:none}.hub-score-pass{color:#059669}.hub-score-fail,.hub-score-pass{font-weight:700;transition:color .5s ease-in-out}.hub-score-fail{color:#d97706}[data-effective-mode=dark] .hub-score-pass{color:#34d399}[data-effective-mode=dark] .hub-score-fail{color:#fbbf24}.hub-table-actions{display:flex;gap:.375rem}.hub-table-action{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;border:none;cursor:pointer;background:transparent;color:var(--theme-text-muted);transition:color .3s ease,filter .3s ease}.hub-table-action:hover{color:var(--theme-text);filter:drop-shadow(0 0 6px rgba(124,58,237,.3))}.hub-empty{text-align:center;padding:4rem 2rem;max-width:32rem;margin:3rem auto;background:var(--hub-glass);backdrop-filter:var(--hub-glass-blur);-webkit-backdrop-filter:var(--hub-glass-blur);border:1px solid var(--hub-glass-border);border-radius:1.5rem;animation:hub-fade-up .7s ease-out both}.hub-empty-icon{display:flex;align-items:center;justify-content:center;width:5rem;height:5rem;border-radius:50%;margin:0 auto 1.5rem;background:rgba(124,58,237,.12)}.hub-empty-title{font-size:1.25rem;font-weight:700;color:var(--theme-text);margin-bottom:.5rem}.hub-empty-desc{font-size:.9rem;color:var(--theme-text-muted);margin-bottom:1.5rem;line-height:1.6}.hub-browse-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 2rem;border-radius:.75rem;font-size:.95rem;font-weight:600;border:none;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 4px 16px rgba(124,58,237,.3);transition:transform .3s ease,box-shadow .3s ease}.hub-browse-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(124,58,237,.4)}@media (max-width:768px){.hub-stats{grid-template-columns:repeat(2,1fr)}.hub-card-upper{flex-direction:column;align-items:stretch;gap:1rem;padding:1.25rem}.hub-course-icon-wrap{align-self:center;width:70px;height:70px}.hub-card-actions{flex-direction:row;justify-content:space-between;width:100%}.hub-card-lower{padding:.75rem 1rem}.hub-transcript-header{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.hub-content{padding:.75rem 1rem 2rem}.hub-heading-text{font-size:1.375rem}.hub-stats{gap:.5rem}.hub-stat{padding:.875rem}.hub-stat-value{font-size:1.375rem}.hub-card-upper{padding:1rem}.hub-course-icon-wrap{width:60px;height:60px}.hub-card-lower,.hub-transcript-table td,.hub-transcript-table th{padding:.625rem .75rem}}.hub-root{animation:hub-mount-fade .5s ease-out both}@keyframes hub-mount-fade{0%{opacity:0}to{opacity:1}}