.social-level-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;color:var(--accent);background:var(--accent-light);border:1px solid var(--accent-glow);border-radius:var(--radius-full);padding:.15rem .5rem;white-space:nowrap}.social-shell{min-height:100vh;padding:2rem 0 4rem;animation:pop-in .35s cubic-bezier(.16,1,.3,1) forwards}.social-header{margin-bottom:2rem}.social-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:900;margin-bottom:.35rem;letter-spacing:-.02em}.social-header p{color:var(--muted);font-size:.95rem}.social-section-title{font-size:1rem;font-weight:800;margin:1.5rem 0 .75rem;color:var(--fg)}.social-member-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--line);transition:background .12s}.social-member-row:last-child{border-bottom:none}.social-member-row:hover{background:var(--bg-subtle);margin:0 -1.25rem;padding-left:1.25rem;padding-right:1.25rem}.social-member-avatar{font-size:1.5rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border-radius:var(--radius-full);flex-shrink:0}.social-member-info{flex:1;min-width:0}.social-member-name{font-weight:700;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.social-member-handle{font-size:.78rem;color:var(--muted)}.social-member-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.15rem}.social-role-badge{font-size:.68rem;font-weight:700;padding:.15rem .45rem;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.03em}.social-role-badge--teacher{background:var(--accent-light);color:var(--accent);border:1px solid var(--accent-glow)}.social-role-badge--admin{background:var(--primary-light);color:var(--primary)}.social-role-badge--member,.social-role-badge--student{background:var(--bg-subtle);color:var(--muted)}.social-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.social-card{display:flex;flex-direction:column;gap:.5rem;padding:1.1rem 1.25rem}.social-card-header{display:flex;align-items:center;gap:.65rem}.social-card-emoji{font-size:1.75rem}.social-card-title{font-weight:800;font-size:.95rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.social-card-desc{font-size:.82rem;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.social-card-meta{display:flex;gap:.75rem;font-size:.78rem;color:var(--muted)}.social-card-actions{display:flex;gap:.5rem;margin-top:auto;padding-top:.5rem}.social-join-code{display:inline-flex;align-items:center;gap:.5rem;background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-md);padding:.4rem .75rem;font-family:monospace;font-size:1rem;font-weight:700;letter-spacing:.1em}.social-join-code button{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--accent);padding:0}.leaderboard-table{width:100%;border-collapse:collapse}.leaderboard-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:var(--radius-xl);margin-bottom:.5rem;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);transition:transform .15s ease,box-shadow .15s ease}.leaderboard-row:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.leaderboard-row--gold{background:linear-gradient(90deg,#fef9c322,var(--surface));border-color:#fbbf24aa}.leaderboard-row--silver{background:linear-gradient(90deg,#f1f5f922,var(--surface));border-color:#94a3b8aa}.leaderboard-row--bronze{background:linear-gradient(90deg,#fff7ed22,var(--surface));border-color:#fb923caa}.leaderboard-rank{font-size:.9rem;font-weight:900;width:2rem;text-align:center;flex-shrink:0;color:var(--muted)}.leaderboard-row--gold .leaderboard-rank{color:#f59e0b;font-size:1.1rem}.leaderboard-row--silver .leaderboard-rank{color:#94a3b8;font-size:1.05rem}.leaderboard-row--bronze .leaderboard-rank{color:#f97316}.leaderboard-avatar{font-size:1.4rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border-radius:var(--radius-full);flex-shrink:0}.leaderboard-info{flex:1;min-width:0}.leaderboard-name{font-weight:700;font-size:.88rem}.leaderboard-handle{font-size:.75rem;color:var(--muted)}.leaderboard-xp{font-weight:800;font-size:.88rem;color:var(--accent)}.leaderboard-streak{font-size:.82rem;color:var(--primary)}.achievement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.achievement-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1rem;gap:.5rem;transition:transform .2s ease,box-shadow .2s ease;cursor:default}.achievement-card--earned:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.achievement-card--locked{opacity:.45;filter:grayscale(.6)}.achievement-icon{font-size:2.25rem;line-height:1}.achievement-name{font-weight:800;font-size:.88rem}.achievement-desc{font-size:.78rem;color:var(--muted);line-height:1.4}.achievement-xp{font-size:.75rem;font-weight:600;color:var(--accent)}.achievement-earned-badge{font-size:.7rem;font-weight:700;background:var(--success-light);color:var(--success);border-radius:var(--radius-full);padding:.15rem .5rem}.achievement-locked-badge{font-size:.7rem;color:var(--muted)}.social-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--line);margin-bottom:1.25rem}.social-tab{padding:.6rem 1rem;font-size:.85rem;font-weight:600;color:var(--muted);background:none;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s}.social-tab:hover{color:var(--fg)}.social-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.social-modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem}.social-modal{background:var(--surface);border-radius:var(--radius-xl);padding:1.75rem;width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.2)}.social-modal-title{font-size:1.1rem;font-weight:800;margin-bottom:1.25rem}.social-modal-field{margin-bottom:1rem}.social-modal-label{display:block;font-size:.82rem;font-weight:600;color:var(--muted);margin-bottom:.35rem}.social-modal-input{width:100%;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);font-size:.9rem;color:var(--fg);outline:none;transition:border-color .15s}.social-modal-input:focus{border-color:var(--accent)}.social-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.social-empty{text-align:center;padding:2.5rem 1rem;color:var(--muted)}.social-empty-icon{font-size:2.5rem;margin-bottom:.5rem}.social-empty-title{font-weight:800;font-size:1rem;color:var(--fg);margin-bottom:.35rem}.social-empty-text{font-size:.85rem}.social-add-row{display:flex;gap:.5rem;margin-bottom:1rem}.social-add-input{flex:1;padding:.6rem .75rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--bg);font-size:.9rem;color:var(--fg);outline:none}.social-add-input:focus{border-color:var(--accent)}.social-pending-actions{display:flex;gap:.35rem}.social-status-msg{font-size:.82rem;padding:.5rem .75rem;border-radius:var(--radius-md);margin-bottom:.75rem}.social-status-msg--success{background:var(--success-light);color:var(--success)}.social-status-msg--error{background:var(--primary-light);color:var(--primary)}@media (max-width:640px){.social-card-grid{grid-template-columns:1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}.leaderboard-row{padding:.5rem;gap:.5rem}}.public-profile-hero{display:flex;align-items:flex-start;gap:1.25rem;padding:1.5rem;flex-wrap:wrap}.public-profile-avatar{font-size:3rem;width:4.5rem;height:4.5rem;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);border-radius:var(--radius-full);flex-shrink:0}.public-profile-info{flex:1;min-width:0}.public-profile-name{font-size:1.4rem;margin:0 0 .2rem}.public-profile-admin-badge{font-size:.72rem;font-weight:600;background:var(--primary-light);color:var(--primary);border-radius:var(--radius-full);padding:.15rem .45rem;margin-left:.5rem;vertical-align:middle}.public-profile-username{font-size:.88rem;color:var(--muted);margin-bottom:.5rem}.public-profile-badges{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.35rem}.public-profile-xp{font-size:.8rem;font-weight:700;color:var(--accent)}.public-profile-streak{font-size:.8rem;color:var(--primary);font-weight:600}.public-profile-best-streak{font-size:.75rem;color:var(--muted)}.public-profile-actions{margin-left:auto;display:flex;align-items:center}.public-profile-achievements{display:flex;flex-wrap:wrap;gap:.5rem}.public-profile-achievement-badge{display:inline-flex;align-items:center;gap:.3rem;background:var(--bg-subtle);border:1px solid var(--line);border-radius:var(--radius-full);padding:.3rem .65rem;font-size:.8rem;font-weight:500}.public-profile-achievement-icon{font-size:1rem}.public-profile-achievement-name{color:var(--fg)}.assignment-card--done{opacity:.75;background:var(--success-light)!important;border-color:var(--success)!important}.social-member-name--link{color:inherit;text-decoration:none;font-weight:700;font-size:.9rem}.social-member-name--link:hover{color:var(--accent)}.social-member-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.social-member-xp{font-weight:700;font-size:.82rem;color:var(--accent)}.social-streak-pill{font-size:.75rem;color:var(--primary);font-weight:600}.leaderboard-you-tag{font-size:.7rem;color:var(--accent);font-weight:700;margin-left:.35rem}.leaderboard-username-link{color:var(--muted);text-decoration:none}.leaderboard-username-link:hover{color:var(--accent)}.leaderboard-row--me{border:2px solid var(--accent)!important}.social-join-code__text{font-family:monospace;font-weight:700;letter-spacing:.1em;font-size:1rem}.social-join-code__copy{background:none;border:none;cursor:pointer;font-size:.9rem;color:var(--accent);padding:0;margin-left:.25rem}.social-section-card{padding:1.25rem;margin-bottom:1.25rem}.social-hint-text{font-size:.82rem;color:var(--muted);margin:.25rem 0}.social-btn-sm{font-size:.72rem;margin-top:.25rem}.social-xp-label{font-size:.82rem;color:var(--accent);font-weight:700;margin-top:.25rem}.social-back-link{margin-bottom:.5rem;display:block}.social-header-meta{display:flex;align-items:center;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.social-header-stat{font-size:.82rem;color:var(--muted)}.social-form-card{padding:1.25rem;margin-bottom:1.5rem}.social-form-row{display:flex;gap:.5rem;margin-bottom:.75rem}.social-form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem}.social-overdue-label{font-size:.8rem;color:var(--primary)}.social-due-label{font-size:.8rem;color:var(--muted)}.social-pin-by{font-size:.75rem;color:var(--muted)}.social-header--compact{margin-bottom:1rem}.social-leave-btn{font-size:.75rem;margin-left:auto}.social-member-list-card{padding:.75rem 1.25rem}.social-assign-row{margin-bottom:1rem}.social-card-title--done{text-decoration:line-through;opacity:.6}.social-flex-1{flex:1;text-align:center}.social-unpin-btn{flex-shrink:0}.social-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}.social-tabs::-webkit-scrollbar{display:none}.social-tab{flex-shrink:0}.leaderboard-xp,.social-tab{white-space:nowrap}.leaderboard-streak{white-space:nowrap;flex-shrink:0}@media (max-width:400px){.social-member-row{gap:.5rem}.social-member-actions{align-items:flex-end;flex-shrink:0}.social-member-xp{font-size:.75rem}}.social-card-actions{flex-wrap:wrap}@media (max-width:600px){.public-profile-hero{flex-direction:column;align-items:flex-start;gap:.75rem}.public-profile-actions{margin-left:0}.public-profile-avatar{width:3.5rem;height:3.5rem;font-size:2.25rem}}@media (max-width:500px){.leaderboard-podium{gap:.4rem}.leaderboard-podium-item{min-width:60px}.leaderboard-podium-name{max-width:60px;font-size:.7rem}.leaderboard-podium-avatar{width:2.75rem;height:2.75rem;font-size:1.6rem}.leaderboard-podium-item--first .leaderboard-podium-avatar{width:3.25rem;height:3.25rem}.leaderboard-podium-medal{font-size:1.35rem}}@media (max-width:480px){.leaderboard-handle{font-size:.7rem}.leaderboard-name{font-size:.82rem}.leaderboard-avatar{width:1.9rem;height:1.9rem;font-size:1.1rem}}.social-join-code{overflow:hidden;max-width:100%}.social-join-code__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:640px){.social-section-title{margin:1rem 0 .5rem;font-size:.9rem}.social-shell{padding:1.25rem 0 3rem}.social-header h1{font-size:1.4rem}}@media (max-width:380px){.achievement-grid{grid-template-columns:1fr}}@media (min-width:768px) and (max-width:900px){.nav-item span:last-child{font-size:.78rem}.nav-item{gap:.2rem;padding:.35rem .5rem}}@media (max-width:380px){.social-add-row{flex-direction:column}.social-add-row .btn{width:100%}}@media (max-width:480px){.social-modal{padding:1.25rem}.social-modal-actions{flex-wrap:wrap}.social-modal-actions .btn{flex:1}}@media (max-width:640px){.leaderboard-list{margin-bottom:1rem}.leaderboard-week-label{font-size:.72rem}}.u-profile-hero{position:relative;padding:2.5rem 0 2rem;overflow:hidden;margin-bottom:1.5rem;border-bottom:1px solid var(--line)}.u-profile-hero__content{display:flex;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.u-profile-avatar-wrap{flex-shrink:0}.u-profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--accent-light);border:2px solid var(--accent-glow);display:grid;place-items:center;font-size:2.5rem}.social-section-block{margin-top:1.5rem}.tag-accent{background:var(--accent-light);color:var(--accent);border-color:var(--accent-glow)}.tag-success{background:var(--success-light);color:var(--success)}@media (max-width:600px){.u-profile-hero{padding:1.5rem 0 1.25rem}.u-profile-avatar{width:60px;height:60px;font-size:2rem}.u-profile-hero__content{gap:1rem}}@media (max-width:768px){.social-shell{padding-top:1.5rem;padding-bottom:3rem}.social-header{gap:.5rem}.social-friend-row{flex-wrap:wrap;gap:.5rem}.social-friend-actions{width:100%;display:flex;gap:.5rem}.social-friend-actions .btn{flex:1;text-align:center}.social-search-row{flex-direction:column}.social-search-row .btn{width:100%}}@media (max-width:480px){.social-level-badge{font-size:.7rem}.social-empty-icon{font-size:2.5rem}}