.hub{--hub-radius:10px;--hub-line:var(--rule);--hub-field:#121315;--hub-soft:#d8d8d4;--hub-good:#5bdd98;--hub-gold:#f5c364;padding-bottom:90px}.hub-wrap{width:min(100% - 48px,1140px);margin-inline:auto}.hub .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hub [id]{scroll-margin-top:120px}.hub-card{background:var(--surface);border:1px solid var(--hub-line);border-radius:var(--hub-radius)}.hub-card-pad{padding:20px 22px}.hub-btn{border:1px solid var(--violet);background:var(--violet);color:#fff;min-height:44px;font:700 13px/1.4 var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;transition:background-color .18s,border-color .18s;display:inline-flex}.hub-btn:hover{background:var(--violet-hover);border-color:var(--violet-hover)}.hub-btn.secondary{color:var(--paper);background:0 0;border-color:#5a5c5e}.hub-btn.secondary:hover{border-color:var(--paper);background:#ffffff0d}.hub-btn.small{min-height:36px;padding:6px 14px;font-size:12px}.hub-btn.block{width:100%}.hub-btn:disabled{opacity:.55;cursor:progress}.hub-link-button{color:var(--quiet);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.hub-link-button:hover{color:#fff}.hub-muted{color:var(--quiet);font-size:13px}.hub-error{color:#ffb0aa;background:#ed3e321f;border:1px solid #ed3e3266;border-radius:8px;padding:10px 14px;font-size:14px}.hub-error:empty{display:none}.hub-note{color:#cdeedd;background:#5bdd9814;border:1px solid #5bdd9855;border-radius:8px;padding:10px 14px;font-size:14px}.hub-top{border-bottom:1px solid var(--hub-line);background:#121314}.hub-top-inner{flex-wrap:wrap;align-items:center;gap:14px 24px;padding-top:20px;display:flex}.hub-brand{align-items:center;gap:14px;min-width:0;display:flex}.hub-brand img{background:#1f2022;border-radius:10px;width:46px;height:46px;padding:7px}.hub-brand strong{font:600 24px/1 var(--font-display);letter-spacing:-.02em;text-transform:uppercase;color:#fff;display:block}.hub-brand small{letter-spacing:.12em;text-transform:uppercase;color:var(--quiet);margin-top:5px;font-size:11px;display:block}.hub-brand small b{color:var(--paper);font-weight:700}.hub-search{background:var(--hub-field);width:min(360px,100%);color:var(--quiet);border:1px solid #3a3c3e;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:0 14px;display:flex}.hub-search input{min-width:0;height:42px;color:var(--paper);font:inherit;background:0 0;border:0;outline:none;flex:1}.hub-search:focus-within{border-color:var(--hub-gold)}.hub-tabs{scrollbar-width:none;gap:2px;margin-top:14px;display:flex;overflow-x:auto}.hub-tabs::-webkit-scrollbar{display:none}.hub-tabs a{color:var(--quiet);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-bottom:2px solid #0000;padding:13px 15px;font-size:13px;font-weight:700;transition:color .15s;position:relative}.hub-tabs a:hover{color:#fff}.hub-tabs a[aria-current]{color:#fff;border-color:var(--accent)}.hub-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:26px;padding-top:26px;display:grid}.hub-single{padding-top:26px}.hub-main{flex-direction:column;gap:14px;min-width:0;display:flex}.hub-side{flex-direction:column;gap:16px;display:flex;position:sticky;top:112px}.hub-side-title{font:600 19px/1.2 var(--font-display);text-transform:uppercase;letter-spacing:-.01em}.hub-side-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.hub-side-link{color:#ff776e;font-size:12px;font-weight:700}.hub-side-link:hover{text-decoration:underline}.hub-avatar{flex:none;line-height:0;display:inline-block;position:relative}.hub-level{background:var(--accent);color:#fff;min-width:19px;height:19px;font:700 10px/19px var(--font-body);text-align:center;box-shadow:0 0 0 2px var(--surface);border-radius:999px;padding:0 5px;position:absolute;bottom:-4px;right:-4px}.hub-online-dot{background:var(--hub-good);width:11px;height:11px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;top:-1px;right:-1px}.hub-faces{align-items:center;display:inline-flex}.hub-faces .arcade-avatar{box-shadow:0 0 0 2px var(--surface)}.hub-faces .arcade-avatar+.arcade-avatar{margin-left:-8px}.hub-composer{text-align:left;cursor:text;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.hub-composer-input{background:var(--hub-field);min-width:0;color:var(--quiet);border:1px solid #2f3133;border-radius:8px;flex:1;padding:12px 16px;font-size:15px}.hub-composer:hover .hub-composer-input{border-color:#5a5c5e}.hub-next-event{color:var(--quiet);align-items:center;gap:10px;padding:6px 4px;font-size:13px;display:flex}.hub-next-event svg{color:var(--accent);flex:none}.hub-next-event a{color:var(--paper);font-weight:700}.hub-next-event a:hover{color:#ff776e}.hub-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hub-chips{flex-wrap:wrap;flex:1;gap:8px;display:flex}.hub-chips a,.hub-chip{color:var(--quiet);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#141517;border:1px solid #2f3133;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex}.hub-chips a:hover{color:#fff;border-color:#5a5c5e}.hub-chips a[aria-current]{color:var(--ink);background:var(--paper);border-color:var(--paper)}.hub-sort{position:relative}.hub-sort>summary{cursor:pointer;color:var(--quiet);text-transform:uppercase;letter-spacing:.04em;border:1px solid #2f3133;border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.hub-sort>summary::-webkit-details-marker{display:none}.hub-sort-menu{z-index:5;background:#191a1c;border:1px solid #505153;border-radius:8px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 32px #0006}.hub-sort-menu a{border-radius:6px;padding:9px 12px;font-size:13px;display:block}.hub-sort-menu a:hover,.hub-sort-menu a[aria-current]{color:#fff;background:#292a2c}.hub-post{padding:18px 20px 16px;transition:border-color .15s;position:relative}.hub-post:hover{border-color:#4a4c4e}.hub-post.is-pinned{border-color:#f5c36455}.hub-post-overlay{z-index:1;border-radius:inherit;position:absolute;inset:0}.hub-post-overlay:focus-visible{outline:3px solid var(--hub-gold);outline-offset:2px}.hub-post-head{z-index:2;pointer-events:none;align-items:center;gap:12px;display:flex;position:relative}.hub-post-head a,.hub-post-head button{pointer-events:auto}.hub-post-author{min-width:0;line-height:1.3}.hub-post-author strong{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;font-size:15px;display:block;overflow:hidden}.hub-post-author a:hover strong{color:#ff776e}.hub-post-meta{color:var(--quiet);flex-wrap:wrap;gap:4px 6px;font-size:12px;display:flex}.hub-tag{color:#ff8f88;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;background:#ed3e3226;border-radius:5px;padding:1px 7px;font-size:10px;font-weight:800;display:inline-block}.hub-pin{color:var(--hub-gold);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:6px;margin-left:auto;font-size:11px;font-weight:700;display:inline-flex}.hub-post-body{grid-template-columns:minmax(0,1fr) auto;gap:18px;margin-top:12px;display:grid}.hub-post-title{font:600 20px/1.3 var(--font-display);letter-spacing:-.01em;text-transform:none;color:#fff;overflow-wrap:anywhere}.hub-post-preview{color:var(--hub-soft);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:6px;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.hub-thumb{background:#0b0c0d;border-radius:8px;flex:none;width:104px;height:78px;position:relative;overflow:hidden}.hub-thumb img{object-fit:cover;width:100%;height:100%}.hub-thumb-play{color:#fff;background:radial-gradient(circle,#ed3e3240,#0b0c0d 80%);place-items:center;display:grid;position:absolute;inset:0}.hub-thumb-play span{background:var(--accent);border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.hub-post-foot{z-index:2;color:var(--quiet);pointer-events:none;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:14px;font-size:13px;display:flex;position:relative}.hub-post-foot a{pointer-events:auto}.hub-post-foot>span{align-items:center;gap:6px;display:inline-flex}.hub-new-comment{color:#ff776e;font-size:12px;font-weight:700}.hub-empty{text-align:center;border-style:dashed;padding:48px 26px}.hub-empty h2{margin:10px 0 8px;font-size:30px}.hub-empty p{max-width:460px;margin:0 auto 18px;font-size:14px}.hub-pager{justify-content:space-between;gap:12px;display:flex}.hub-group-cover{aspect-ratio:16/9;border-radius:var(--hub-radius) var(--hub-radius) 0 0;background:#272021;position:relative;overflow:hidden}.hub-group-cover img{object-fit:cover}.hub-group-cover span{font:600 26px/1 var(--font-display);text-transform:uppercase;color:#fff;text-shadow:0 2px 16px #000c;position:absolute;bottom:14px;left:16px}.hub-group-body{padding:16px 18px 18px}.hub-group-name{font:600 22px/1.1 var(--font-display);text-transform:uppercase;letter-spacing:-.01em}.hub-group-url{color:var(--quiet);margin-top:4px;font-size:12px}.hub-group-desc{color:var(--hub-soft);margin:12px 0 14px;font-size:14px;line-height:1.6}.hub-stats{border-top:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);text-align:center;grid-template-columns:repeat(3,1fr);padding:12px 0;display:grid}.hub-stats a,.hub-stats div{display:block}.hub-stats a:hover strong{color:#ff776e}.hub-stats strong{font:600 24px/1 var(--font-display);color:#fff;display:block}.hub-stats span{letter-spacing:.1em;text-transform:uppercase;color:var(--quiet);margin-top:4px;font-size:10px;display:block}.hub-group-faces{align-items:center;margin:14px 0;display:flex}.hub-group-faces .hub-avatar+.hub-avatar{margin-left:-8px}.hub-group-faces .hub-avatar .arcade-avatar{box-shadow:0 0 0 2px var(--surface)}.hub-group-note{color:var(--quiet);text-align:center;margin-top:10px;font-size:11px}.hub-rank-list{margin:0;padding:0;list-style:none}.hub-rank-row{align-items:center;gap:10px;min-width:0;padding:7px 0;display:flex}.hub-rank-row>a{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.hub-rank-row>a:hover .hub-rank-name{color:#ff776e}.hub-rank{width:28px;height:28px;color:var(--quiet);font:700 12px/1 var(--font-body);background:#2a2c2e;border-radius:50%;flex:none;place-items:center;display:grid}.hub-rank.is-1{background:var(--hub-gold);color:#1a1200}.hub-rank.is-2{color:#111;background:#c9c9c9}.hub-rank.is-3{color:#1a0f05;background:#c98a4b}.hub-rank-name{min-width:0;color:var(--paper);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:700;overflow:hidden}.hub-rank-points{color:#ff776e;flex:none;margin-left:auto;font-size:13px;font-weight:700}.hub-post-view{padding:24px 26px 26px}.hub-post-view-title{font:600 28px/1.25 var(--font-display);letter-spacing:-.015em;text-transform:none;color:#fff;overflow-wrap:anywhere;margin:14px 0 10px}.hub-text p{color:#e2e0da;overflow-wrap:anywhere;margin:0 0 14px;font-size:15px;line-height:1.75}.hub-text p:last-child{margin-bottom:0}.hub-text a{color:#ff9a92;text-underline-offset:3px;text-decoration:underline}.hub-video{aspect-ratio:16/9;background:#000;border:1px solid #2a2c2e;border-radius:10px;margin:16px 0;position:relative;overflow:hidden}.hub-video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.hub-image{background:#0b0c0d;border:1px solid #2a2c2e;border-radius:10px;margin:16px 0;overflow:hidden}.hub-image img{object-fit:contain;width:100%;height:auto;max-height:620px;display:block}.hub-link-card{background:var(--hub-field);color:var(--paper);overflow-wrap:anywhere;border:1px solid #2f3133;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;font-size:13px;display:inline-flex}.hub-link-card:hover{border-color:#5a5c5e}.hub-actions{border-top:1px solid var(--hub-line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;padding-top:14px;display:flex}.hub-action{background:var(--hub-field);color:var(--paper);cursor:pointer;border:1px solid #2f3133;border-radius:8px;align-items:center;gap:7px;padding:8px 13px;font-size:13px;font-weight:700;display:inline-flex}.hub-action:hover{border-color:#5a5c5e}.hub-action.is-on{color:#ff776e;border-color:#ff776e66}.hub-action:disabled{opacity:.6}.hub-menu{margin-left:auto;position:relative}.hub-menu>summary{cursor:pointer;width:36px;height:36px;color:var(--quiet);border-radius:8px;place-items:center;list-style:none;display:grid}.hub-menu>summary::-webkit-details-marker{display:none}.hub-menu>summary:hover,.hub-menu[open]>summary{color:#fff;background:#292a2c}.hub-menu-list{z-index:6;background:#191a1c;border:1px solid #505153;border-radius:8px;min-width:180px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 16px 32px #0006}.hub-menu-list button,.hub-menu-list a{width:100%;color:var(--paper);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:flex}.hub-menu-list button:hover,.hub-menu-list a:hover{background:#292a2c}.hub-menu-list .is-danger{color:#ff8f88}.hub-comment-form{align-items:flex-start;gap:10px;margin-top:18px;display:flex}.hub-comment-form>div{flex:1;min-width:0}.hub-comment-form textarea{background:var(--hub-field);width:100%;min-height:46px;color:var(--paper);font:inherit;resize:vertical;border:1px solid #2f3133;border-radius:10px;padding:11px 14px;font-size:14px}.hub-comment-form textarea:focus{outline:2px solid var(--hub-gold);outline-offset:1px}.hub-comment-form-foot{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.hub-comment-form-foot .hub-error{margin-right:auto}.hub-comments{flex-direction:column;gap:14px;margin-top:22px;display:flex}.hub-comment{gap:10px;min-width:0;display:flex}.hub-comment>.hub-avatar{margin-top:2px}.hub-comment-main{flex:1;min-width:0}.hub-comment-bubble{background:var(--hub-field);border:1px solid #2a2c2e;border-radius:12px;padding:10px 14px 11px}.hub-comment-head{flex-wrap:wrap;align-items:baseline;gap:4px 8px;font-size:13px;display:flex}.hub-comment-head strong{color:var(--paper)}.hub-comment-head a:hover strong{color:#ff776e}.hub-comment-head time,.hub-comment-head small{color:#8d8f90;font-size:12px}.hub-comment-body{color:#e2e0da;white-space:pre-line;overflow-wrap:anywhere;margin-top:4px;font-size:14px;line-height:1.6}.hub-comment-body .hub-mention{color:#ff9a92;font-weight:700}.hub-comment-image{border-radius:8px;max-width:320px;margin-top:8px;overflow:hidden}.hub-comment-tools{color:#8d8f90;align-items:center;gap:14px;margin:6px 0 0 6px;font-size:12px;display:flex}.hub-comment-tools button{color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:2px 0;font-size:12px;font-weight:700;display:inline-flex}.hub-comment-tools button:hover{color:var(--paper)}.hub-comment-tools button.is-on{color:#ff776e}.hub-replies{flex-direction:column;gap:10px;margin-top:10px;display:flex}.hub-reply-form{margin-top:10px}.hub-reply-form .hub-comment-form{margin-top:0}.hub-dialog{background:var(--surface);width:min(680px,100% - 32px);max-height:calc(100vh - 48px);color:var(--paper);border:1px solid #3a3c3e;border-radius:12px;padding:0;box-shadow:0 30px 80px #000a}.hub-dialog::backdrop{background:#000000b8}.hub-dialog.is-wide{width:min(820px,100% - 32px)}.hub-dialog-head{z-index:2;border-bottom:1px solid var(--hub-line);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex;position:sticky;top:0}.hub-dialog-head h2{font-size:20px}.hub-dialog-close{width:36px;height:36px;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #3a3c3e;border-radius:50%;place-items:center;display:grid}.hub-dialog-close:hover{background:#292a2c}.hub-dialog-body{padding:20px}.hub-modal-body{padding:0}.hub-modal-body .hub-post-view{border:0;border-radius:0}.hub-form{flex-direction:column;gap:14px;display:flex}.hub-form label,.hub-field{letter-spacing:.1em;text-transform:uppercase;color:var(--paper);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.hub-form label small,.hub-field small{letter-spacing:0;text-transform:none;color:#8d8f90;font-weight:400}.hub-form input:not([type=checkbox]):not([type=radio]):not([type=file]),.hub-form select,.hub-form textarea{background:var(--hub-field);width:100%;color:var(--paper);font:inherit;letter-spacing:0;text-transform:none;border:1px solid #3a3c3e;border-radius:8px;padding:11px 13px;font-size:14px}.hub-form textarea{resize:vertical;min-height:140px}.hub-form input:focus,.hub-form select:focus,.hub-form textarea:focus{outline:2px solid var(--hub-gold);outline-offset:1px}.hub-form .hub-check{letter-spacing:0;text-transform:none;color:var(--hub-soft);flex-direction:row;align-items:center;gap:10px;font-size:14px;font-weight:400}.hub-form .hub-check input{width:18px;height:18px;accent-color:var(--accent)}.hub-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.hub-form-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.hub-form-foot .hub-error,.hub-form-foot .hub-note{margin-right:auto}.hub-upload{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hub-upload img{object-fit:cover;border:1px solid #2f3133;border-radius:8px;width:120px;height:80px}.hub-admin-panel{margin-top:14px}.hub-admin-panel>summary{cursor:pointer;color:var(--quiet);letter-spacing:.06em;text-transform:uppercase;border:1px dashed #5a5c5e;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;list-style:none;display:inline-flex}.hub-admin-panel>summary::-webkit-details-marker{display:none}.hub-admin-panel>summary:hover,.hub-admin-panel[open]>summary{color:#fff;border-color:var(--paper)}.hub-admin-panel>.hub-form,.hub-admin-panel>div{border:1px solid var(--hub-line);background:#141517;border-radius:10px;margin-top:12px;padding:18px}.hub-admin-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.hub-icon-row{gap:4px;display:inline-flex}.hub-icon-button{width:30px;height:30px;color:var(--quiet);cursor:pointer;background:0 0;border:1px solid #3a3c3e;border-radius:6px;place-items:center;display:grid}.hub-icon-button:hover{color:#fff;border-color:var(--paper)}.hub-icon-button.is-danger:hover{color:#ff8f88;border-color:#ff8f88}.hub-page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.hub-page-head h1{margin-top:8px;font-size:clamp(32px,4vw,46px)}.hub-page-head p:not(.eyebrow){max-width:560px;margin-top:8px;font-size:14px}.hub-courses{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.hub-course{transition:border-color .15s, transform .2s var(--ease-out,ease);flex-direction:column;display:flex;overflow:hidden}.hub-course:hover{border-color:#4a4c4e;transform:translateY(-2px)}.hub-course-cover{aspect-ratio:16/9;background:#0b0c0d;display:block;position:relative;overflow:hidden}.hub-course-cover img{object-fit:cover;width:100%;height:100%}.hub-course-art{text-align:center;width:100%;height:100%;font:600 clamp(22px, 2.2vw, 30px)/1.05 var(--font-display);text-transform:uppercase;color:#fff;text-shadow:0 3px 18px #0008;overflow-wrap:anywhere;place-items:center;padding:20px;display:grid}.hub-course-lock{color:#fff;letter-spacing:.04em;text-transform:uppercase;text-align:center;background:#000000a6;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex;position:absolute;inset:0}.hub-course-lock svg{width:34px;height:34px}.hub-course-draft{background:var(--hub-gold);color:#1a1200;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:10px;left:10px}.hub-course-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.hub-course h3{font-size:22px;line-height:1.15}.hub-course h3 a:hover{color:#ff776e}.hub-course p{color:var(--quiet);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.hub-progress{background:#2a2c2e;border-radius:999px;height:8px;margin-top:auto;overflow:hidden}.hub-progress span{border-radius:inherit;background:var(--accent);height:100%;display:block}.hub-progress-label{color:var(--quiet);margin-top:6px;font-size:11px;font-weight:700}.hub-course-layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;padding-top:26px;display:grid}.hub-syllabus{max-height:calc(100vh - 130px);padding:18px 14px;position:sticky;top:112px;overflow:auto}.hub-syllabus h2{padding:0 6px;font-size:22px;line-height:1.15}.hub-syllabus .hub-progress{margin:12px 6px 4px}.hub-syllabus .hub-progress-label{padding:0 6px}.hub-set{margin-top:14px}.hub-set-title{letter-spacing:.12em;text-transform:uppercase;color:var(--quiet);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:11px;font-weight:700;display:flex}.hub-lesson-link{color:#d8d8d5;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:14px;line-height:1.35;display:flex}.hub-lesson-link:hover{color:#fff;background:#232527}.hub-lesson-link[aria-current]{color:#fff;background:#f5c36426}.hub-check-mark{color:#0000;border:2px solid #5a5c5e;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:grid}.hub-check-mark.is-done{background:var(--hub-good);border-color:var(--hub-good);color:#06110b}.hub-lesson{padding:26px 30px 28px}.hub-lesson-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.hub-lesson h1{font:600 30px/1.2 var(--font-display);letter-spacing:-.01em;text-transform:none;color:#fff;margin-bottom:14px}.hub-resources{border:1px solid var(--hub-line);background:var(--hub-field);border-radius:10px;margin:20px 0 0;padding:16px 18px}.hub-resources h2{margin-bottom:8px;font-size:16px}.hub-resources ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.hub-resources a{color:#ff9a92;text-underline-offset:3px;overflow-wrap:anywhere;align-items:center;gap:8px;font-size:14px;text-decoration:underline;display:inline-flex}.hub-lesson-nav{border-top:1px solid var(--hub-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:26px;padding-top:16px;display:flex}.hub-complete{background:var(--hub-field);color:var(--paper);cursor:pointer;border:1px solid #3a3c3e;border-radius:8px;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex}.hub-complete.is-done{color:var(--hub-good);border-color:#5bdd9888}.hub-locked{text-align:center;padding:60px 30px}.hub-locked svg{color:var(--accent);margin:0 auto 14px}.hub-locked h1{margin-bottom:10px;font-size:34px}.hub-locked p{max-width:480px;margin:0 auto 20px;font-size:14px}.hub-cal-head{border-bottom:1px solid var(--hub-line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.hub-cal-head h2{font-size:22px}.hub-cal-head small{color:var(--quiet);text-transform:none;margin-top:2px;font-size:11px;display:block}.hub-cal-nav{align-items:center;gap:6px;display:inline-flex}.hub-cal-nav a,.hub-cal-nav button{min-width:36px;height:36px;color:var(--paper);cursor:pointer;background:0 0;border:1px solid #3a3c3e;border-radius:8px;place-items:center;padding:0 10px;font-size:12px;font-weight:700;display:grid}.hub-cal-nav a:hover{border-color:var(--paper)}.hub-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.hub-cal-day-name{border-bottom:1px solid var(--hub-line);letter-spacing:.1em;text-align:center;text-transform:uppercase;color:var(--quiet);padding:8px 4px;font-size:10px;font-weight:700}.hub-cal-cell{border-right:1px solid var(--hub-line);border-bottom:1px solid var(--hub-line);min-height:96px;padding:6px;font-size:12px}.hub-cal-cell:nth-child(7n){border-right:0}.hub-cal-cell.is-other{color:#5a5c5e;background:#141517}.hub-cal-date{border-radius:50%;place-items:center;width:24px;height:24px;font-weight:700;display:inline-grid}.hub-cal-cell.is-today .hub-cal-date{background:var(--accent);color:#fff}.hub-cal-event{color:#ffb0aa;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:#ed3e3226;border:0;border-radius:5px;width:100%;margin-top:4px;padding:3px 7px;font-size:11px;font-weight:700;display:block;overflow:hidden}.hub-cal-event:hover,.hub-cal-event.is-active{background:var(--accent);color:#fff}.hub-event-detail{border-top:1px solid var(--hub-line);padding:18px 20px 20px}.hub-event-detail h3{margin-bottom:6px;font-size:24px}.hub-event-when{color:var(--paper);font-size:14px;font-weight:700}.hub-event-detail p{white-space:pre-line;margin-top:10px;font-size:14px}.hub-event-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.hub-upcoming{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hub-upcoming li{border-top:1px solid var(--hub-line);gap:14px;padding:12px 0;display:flex}.hub-upcoming li:first-child{border-top:0;padding-top:0}.hub-date-box{text-align:center;border:1px solid #3a3c3e;border-radius:8px;flex:none;width:52px;padding:6px 0;line-height:1.1}.hub-date-box b{font:600 22px/1 var(--font-display);display:block}.hub-date-box span{letter-spacing:.1em;text-transform:uppercase;color:var(--quiet);margin-top:3px;font-size:10px;display:block}.hub-upcoming strong{color:var(--paper);font-size:14px;display:block}.hub-upcoming small{color:var(--quiet);margin-top:2px;font-size:12px;display:block}.hub-members{overflow:hidden}.hub-member{border-bottom:1px solid var(--hub-line);gap:14px;padding:18px 20px;display:flex}.hub-member:last-child{border-bottom:0}.hub-member-info{flex:1;min-width:0}.hub-member-info h3{overflow-wrap:anywhere;font-size:20px;line-height:1.15}.hub-member-info h3 a:hover{color:#ff776e}.hub-member-handle{color:var(--quiet);margin-top:2px;font-size:12px;display:block}.hub-member-bio{color:var(--hub-soft);overflow-wrap:anywhere;margin:8px 0;font-size:14px;line-height:1.55}.hub-member-meta{color:var(--quiet);flex-direction:column;gap:5px;margin-top:8px;font-size:12px;display:flex}.hub-member-meta span{align-items:center;gap:7px;display:inline-flex}.hub-member-meta svg{flex:none;width:14px;height:14px}.hub-online{color:var(--hub-good)}.hub-online:before{content:"";background:var(--hub-good);border-radius:50%;width:8px;height:8px}.hub-member-actions{flex-direction:column;flex:none;gap:8px;display:flex}.hub-standing{grid-template-columns:260px repeat(2,minmax(0,1fr));gap:24px 36px;padding:28px 30px;display:grid}.hub-you{text-align:center}.hub-ring{background:conic-gradient(var(--accent) calc(var(--progress,0) * 1turn), #2a2c2e 0);border-radius:50%;place-items:center;width:150px;height:150px;margin:0 auto 14px;display:grid;position:relative}.hub-ring:before{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:7px}.hub-ring>*{position:relative}.hub-ring .hub-level{min-width:34px;height:34px;box-shadow:0 0 0 3px var(--surface);font-size:15px;line-height:34px;bottom:8px;right:10px}.hub-you h2{overflow-wrap:anywhere;font-size:26px}.hub-you .hub-level-name{color:#ff776e;margin-top:4px;font-size:13px;font-weight:700;display:block}.hub-you p{margin-top:8px;font-size:13px}.hub-you p b{color:var(--paper)}.hub-levels{margin:0;padding:0;list-style:none}.hub-levels li{align-items:center;gap:12px;padding:7px 0;display:flex}.hub-level-lock{width:32px;height:32px;color:var(--quiet);background:#2a2c2e;border-radius:50%;flex:none;place-items:center;display:grid}.hub-level-lock.is-unlocked{color:var(--hub-good);background:#5bdd9826}.hub-levels strong{color:var(--paper);font-size:14px;display:block}.hub-levels small{color:var(--quiet);font-size:12px;display:block}.hub-levels li.is-current strong{color:#ff776e}.hub-boards-meta{color:var(--quiet);justify-content:space-between;gap:12px;margin:14px 0 10px;font-size:12px;display:flex}.hub-boards-meta a{text-decoration:underline}.hub-boards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.hub-board{padding:18px 20px}.hub-board h2{margin-bottom:8px;font-size:20px}.hub-board .hub-rank-list .hub-rank-row{border-top:1px solid #ffffff0a;padding:9px 0}.hub-how{color:var(--quiet);margin-top:18px;padding:18px 20px;font-size:13px}.hub-how strong{color:var(--paper)}.hub-about-head{margin-bottom:26px;padding:24px 26px 26px}.hub-about-head h1{font-size:clamp(32px,4vw,44px)}.hub-about-media{aspect-ratio:16/7;background:#272021;border-radius:10px;margin:18px 0;position:relative;overflow:hidden}.hub-about-media img{object-fit:cover}.hub-about-meta{color:var(--paper);flex-wrap:wrap;gap:10px 22px;margin-bottom:16px;font-size:13px;display:flex}.hub-about-meta span{align-items:center;gap:8px;display:inline-flex}.hub-about-meta svg{color:var(--accent)}.hub-about-head .hub-text p{font-size:15px}.hub .community-page{padding-bottom:0}.hub-unavailable{text-align:center;padding:70px 26px}.hub-unavailable h1{margin:10px 0;font-size:clamp(30px,4vw,44px)}.hub-unavailable p{max-width:520px;margin:0 auto 18px;font-size:14px}@media (max-width:1000px){.hub-layout{grid-template-columns:1fr}.hub-side{position:static}.hub-courses{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-course-layout{grid-template-columns:1fr}.hub-syllabus{max-height:none;position:static}.hub-standing{grid-template-columns:1fr;gap:20px}.hub-boards{grid-template-columns:1fr}}@media (max-width:640px){.hub-wrap{width:calc(100% - 32px)}.hub-top-inner{gap:12px}.hub-search{width:100%;margin-left:0}.hub-courses{grid-template-columns:1fr}.hub-filters{flex-wrap:nowrap;align-items:flex-start}.hub-chips{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.hub-chips::-webkit-scrollbar{display:none}.hub-post{padding:16px 16px 14px}.hub-post-body{grid-template-columns:1fr}.hub-thumb{width:100%;height:170px}.hub-post-view,.hub-lesson{padding:20px 18px}.hub-cal-cell{min-height:60px;padding:4px}.hub-cal-event{padding:2px 4px;font-size:10px}.hub-member{flex-wrap:wrap}.hub-member-actions{flex-direction:row;width:100%}.hub-form-row{grid-template-columns:1fr}.hub-replies{margin-left:0}}@media (prefers-reduced-motion:reduce){.hub-course:hover{transform:none}}
