.hub-hs{--bg:#eef1f5;--stage:#e6e9ef;--surface:#ffffff;--surface-2:#f2f5f9;--track:#e6ebf1;--border:#e4e8ee;--border-strong:#d3d9e2;--text:#181b22;--muted:#586170;--subtle:#8b94a2;--primary:#2f5fd0;--primary-weak:#e9effc;--primary-hover:#24499f;--on-primary:#ffffff;--success:#0f9d6b;--success-weak:#e4f5ec;--warning:#b97609;--warning-weak:#f8eed6;--danger:#d6453f;--danger-weak:#fae6e5;--c1:#2f5fd0;--c1-weak:#e9effc;--c2:#0f9d6b;--c2-weak:#e4f5ec;--c3:#7146d3;--c3-weak:#eee8fb;--c4:#c07a12;--c4-weak:#f7eed9;--shadow-sm:0 1px 2px rgba(20,26,40,.05),0 1px 3px rgba(20,26,40,.05);--shadow-md:0 2px 6px rgba(20,26,40,.05),0 14px 34px rgba(20,26,40,.09);font-family:Be Vietnam Pro,system-ui,sans-serif;background:var(--bg);color:var(--text);color-scheme:light}.dark .hub-hs,[data-theme=dark] .hub-hs{--bg:#0e1117;--stage:#090b10;--surface:#161a22;--surface-2:#1e232d;--track:#262c37;--border:#282e3a;--border-strong:#39414f;--text:#e9ecf2;--muted:#9aa3b2;--subtle:#6c7585;--primary:#5b82ff;--primary-weak:#1a2440;--primary-hover:#7b9bff;--on-primary:#0b1020;--success:#2fc78c;--success-weak:#123529;--warning:#e0a63f;--warning-weak:#33290f;--danger:#f0736d;--danger-weak:#38211f;--c1:#6b90ff;--c1-weak:#1a2440;--c2:#2fc78c;--c2-weak:#123529;--c3:#9a7bff;--c3-weak:#221a40;--c4:#e0a63f;--c4-weak:#312710;--shadow-sm:0 1px 2px rgba(0,0,0,.4);--shadow-md:0 18px 44px rgba(0,0,0,.5);color-scheme:dark}.hub-hs *,.hub-hs :after,.hub-hs :before{box-sizing:border-box}@keyframes hubpop{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}.hub-hs .hh-pop{animation:hubpop .16s ease}.hub-hs .hh-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm)}.hub-hs .hh-btn-primary{display:flex;align-items:center;gap:7px;padding:10px 16px;border-radius:10px;border:none;background:var(--primary);color:var(--on-primary);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}.hub-hs .hh-btn-primary:hover{background:var(--primary-hover)}.hub-hs .hh-navlink{padding:7px 13px;border-radius:8px;font-size:13.5px;text-decoration:none;font-weight:500;color:var(--muted);background:transparent;white-space:nowrap}.hub-hs .hh-navlink.is-active{font-weight:600;color:var(--primary);background:var(--primary-weak)}.hub-hs .hh-navlink:hover:not(.is-active){color:var(--text)}.hub-hs .hh-iconbtn{position:relative;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center}.hub-hs .hh-menu-item{display:block;padding:9px 10px;border-radius:8px;font-size:13px;color:var(--text);text-decoration:none;background:none;border:none;width:100%;text-align:left;font-family:inherit;cursor:pointer}.hub-hs .hh-menu-item:hover{background:var(--surface-2)}.hub-hs a:focus-visible,.hub-hs button:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:8px}.hub-hs{--hh-sidebar-w:248px;--hh-sidebar-w-collapsed:64px;--hh-topbar-h:56px;min-height:100vh}.hub-hs .hh-shell{display:flex;min-height:100vh;background:var(--bg);color:var(--text)}.hub-hs .hh-shell__main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:100vh}.hub-hs .hh-shell__content{flex:1;min-width:0;width:100%}.hub-hs .hh-sidebar{width:var(--hh-sidebar-w);flex:none;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;z-index:40;transition:width .2s ease}.hub-hs .hh-sidebar--collapsed{width:var(--hh-sidebar-w-collapsed)}.hub-hs .hh-brand{min-height:var(--hh-topbar-h);flex:none;display:flex;align-items:center;gap:12px;padding:8px 16px;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.hub-hs .hh-brand__logo{width:40px;height:40px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:10px;overflow:hidden;background:var(--surface-2)}.hub-hs .hh-brand__logo img{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;display:block}.hub-hs .hh-brand__text{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px}.hub-hs .hh-brand__name{font-size:13px;font-weight:700;color:var(--text);line-height:1.25}.hub-hs .hh-brand__name,.hub-hs .hh-brand__sub{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-hs .hh-brand__sub{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle)}.hub-hs .hh-sidebar--collapsed .hh-brand__text{display:none}.hub-hs .hh-sidebar--collapsed .hh-brand{justify-content:center;padding-inline:0}.hub-hs .hh-sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:4px}.hub-hs .hh-nav-group{margin-top:8px}.hub-hs .hh-nav-group:first-child{margin-top:0}.hub-hs .hh-nav-group-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);padding:8px 12px 4px}.hub-hs .hh-sidebar--collapsed .hh-nav-group-label{display:none}.hub-hs .hh-navitem{width:100%;display:flex;align-items:center;gap:12px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:var(--muted);text-decoration:none;font-family:inherit;font-size:13px;font-weight:500;text-align:left;cursor:pointer;transition:background .12s,color .12s}.hub-hs .hh-navitem:hover{background:var(--surface-2);color:var(--text)}.hub-hs .hh-navitem.is-active,.hub-hs .hh-navitem[aria-current=page]{background:var(--primary-weak);color:var(--primary);font-weight:600}.hub-hs .hh-navitem__icon{flex:none;width:18px;display:flex;align-items:center;justify-content:center}.hub-hs .hh-navitem__label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-hs .hh-navitem__dot{width:7px;height:7px;border-radius:50%;background:var(--primary);flex:none}.hub-hs .hh-sidebar--collapsed .hh-navitem{justify-content:center;padding:8px}.hub-hs .hh-sidebar--collapsed .hh-navitem__dot,.hub-hs .hh-sidebar--collapsed .hh-navitem__label,.hub-hs .hh-sidebar--collapsed .hh-sidebar-logout-icon{display:none}.hub-hs .hh-sidebar-footer{flex:none;border-top:1px solid var(--border);padding:8px}.hub-hs .hh-sidebar-user-btn{width:100%}.hub-hs .hh-sidebar-user__meta{display:flex;flex-direction:column;line-height:1.2;min-width:0;flex:1}.hub-hs .hh-sidebar-user__name{display:block;font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-hs .hh-sidebar-user__role{display:block;font-size:12px;color:var(--subtle)}.hub-hs .hh-sidebar-logout-icon{color:var(--subtle);margin-left:auto}.hub-hs .hh-avatar{width:30px;height:30px;flex:none;border-radius:999px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:12px;background:var(--primary-weak);color:var(--primary);text-decoration:none}.hub-hs .hh-avatar--link{cursor:pointer}.hub-hs a.hh-avatar:hover{filter:brightness(.97)}.hub-hs .hh-topbar{height:var(--hh-topbar-h);flex:none;display:flex;align-items:center;gap:8px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.hub-hs .hh-topbar__collapse{flex:none}.hub-hs .hh-topbar__crumb{display:flex;align-items:center;gap:6px;min-width:0;font-size:14px}.hub-hs .hh-topbar__crumb-parent{color:var(--subtle);font-weight:500;white-space:nowrap}.hub-hs .hh-topbar__crumb-sep{color:var(--border-strong);flex:none}.hub-hs .hh-topbar__crumb-current{color:var(--text);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-hs .hh-topbar__spacer{flex:1;min-width:8px}.hub-hs .hh-topbar__actions{display:flex;align-items:center;gap:6px;flex:none}.hub-hs .hh-icbtn{width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.hub-hs .hh-icbtn:hover{background:var(--surface-2);color:var(--text)}.hub-hs .hh-icbtn[data-mobile-only]{display:none}.hub-hs .hh-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit}.hub-hs .hh-btn--primary{background:var(--primary);color:var(--on-primary);border-color:transparent}.hub-hs .hh-btn--sm{height:32px;padding:0 10px;font-size:12.5px}.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open){width:var(--hh-sidebar-w-collapsed)}.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-brand__text,.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-nav-group-label,.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-navitem__dot,.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-navitem__label,.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-sidebar-logout-icon,.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-sidebar-user__meta{display:none}.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-brand,.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open) .hh-navitem{justify-content:center}.hub-hs .hh-sidebar-backdrop{display:none;position:fixed;inset:0;z-index:45;background:rgba(15,23,42,.45)}.hub-hs .hh-sidebar-backdrop.is-open{display:block}@media (max-width:900px){.hub-hs .hh-sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);width:min(288px,86vw)!important;box-shadow:var(--shadow-md);padding-left:env(safe-area-inset-left,0)}.hub-hs .hh-sidebar.is-drawer-open{transform:translateX(0)}.hub-hs .hh-sidebar--collapsed{width:min(288px,86vw)!important}.hub-hs .hh-sidebar--collapsed .hh-brand__text,.hub-hs .hh-sidebar--collapsed .hh-nav-group-label,.hub-hs .hh-sidebar--collapsed .hh-navitem__label,.hub-hs .hh-sidebar--collapsed .hh-sidebar-logout-icon,.hub-hs .hh-sidebar--collapsed .hh-sidebar-user__meta{display:initial}.hub-hs .hh-sidebar--collapsed .hh-navitem{justify-content:flex-start;padding:8px 12px}.hub-hs .hh-icbtn[data-mobile-only]{display:inline-flex}.hub-hs .hh-topbar__collapse{display:none}.hub-hs .hh-shell[data-focus="1"] .hh-sidebar:not(.is-drawer-open){width:min(288px,86vw)!important;transform:translateX(-100%)}}.hub-hs .hh-page{width:100%;max-width:1180px;margin:0 auto;padding:20px 22px 32px}@media (max-width:880px){.hub-hs .hh-page{padding:16px 14px 28px}}.hub-hs .hh-shell .lms-v2>.topbar,.hub-hs .hh-shell .lms-v2>header.topbar,.hub-hs .hh-shell .sstudy>.botnav,.hub-hs .hh-shell .sstudy>.lv-topbar,.hub-hs .hh-shell .sstudy>header.lv-topbar,.hub-hs .hh-shell .sstudy>nav.botnav{display:none!important}.hub-hs .hh-shell .lms-v2.min-h-screen,.hub-hs .hh-shell .sstudy{min-height:0!important;background:transparent!important}