:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #010409;--bg-secondary: #0d1117;--bg-tertiary: #161b22;--bg-card: #0d1117;--border: #21262d;--border-light: #30363d;--text: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--accent: #58a6ff;--accent-hover: #79c0ff;--accent-glow: rgba(88,166,255,.2);--green: #3fb950;--green-glow: rgba(63,185,80,.15);--orange: #d29922;--orange-glow: rgba(210,153,34,.15);--red: #f85149;--purple: #bc8cff;--purple-glow: rgba(188,140,255,.15);--pink: #f778ba;--radius: 8px;--radius-lg: 12px;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 1px 2px rgba(0,0,0,.3);--shadow-lg: 0 8px 24px rgba(0,0,0,.4);--transition: .2s cubic-bezier(.4,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;height:auto;overflow-x:hidden}body{background:var(--bg);color:var(--text);background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(88,166,255,.08),transparent),radial-gradient(ellipse 60% 40% at 80% 100%,rgba(188,140,255,.05),transparent);overflow-x:hidden}#root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app{display:flex;flex-direction:column;flex:1}.header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:12px;padding:0 16px;height:52px;background:#0d1117d9;backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);border-bottom:1px solid var(--border);flex-shrink:0}.menu-btn{display:none;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;min-width:44px;min-height:44px;align-items:center;justify-content:center;border-radius:var(--radius);transition:background var(--transition)}.menu-btn:active{background:var(--bg-tertiary)}.logo{display:flex;align-items:center;gap:8px;background:none;border:none;color:var(--text);font-size:16px;font-weight:600;cursor:pointer;white-space:nowrap;transition:color var(--transition);padding:8px 4px;min-height:44px}.logo:hover{color:var(--accent)}.logo-text{display:inline}.search-bar{flex:1;max-width:540px;display:flex;align-items:center;gap:8px;padding:7px 14px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);transition:border-color var(--transition),box-shadow var(--transition);min-height:40px}.search-bar:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-bar input{flex:1;background:none;border:none;outline:none;color:var(--text);font-size:15px;min-width:0}.search-bar input::placeholder{color:var(--text-muted)}.rate-limit{font-size:11px;font-family:ui-monospace,monospace;color:var(--text-muted);white-space:nowrap;padding:3px 8px;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border)}.layout{display:flex;flex:1;min-height:0;overflow:hidden;position:relative}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:98;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.sidebar{width:240px;height:calc(100vh - 52px);height:calc(100dvh - 52px);padding:16px 12px;border-right:1px solid var(--border);background:#0d111799;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);flex-shrink:0;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent;overscroll-behavior:contain}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;border-radius:var(--radius);background:none;color:var(--text-secondary);font-size:14px;cursor:pointer;text-align:left;transition:all var(--transition);position:relative;min-height:40px;-webkit-user-select:none;user-select:none}.nav-item:active{background:var(--bg-tertiary)}.nav-item:hover{background:var(--bg-tertiary);color:var(--text)}.nav-active{background:var(--bg-tertiary);color:var(--text);font-weight:600}.nav-active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:18px;background:var(--accent);border-radius:0 3px 3px 0}.sidebar-section{padding:18px 12px 6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.sidebar-footer{margin-top:auto;padding-top:16px;padding-bottom:env(safe-area-inset-bottom,0)}.sidebar-footer a{color:var(--text-muted);font-size:12px;text-decoration:none;transition:color var(--transition)}.sidebar-footer a:hover{color:var(--accent)}.sidebar-category-header{font-size:13px!important;font-weight:500}.sidebar-chevron{transition:transform .2s cubic-bezier(.4,0,.2,1);flex-shrink:0;color:var(--text-muted)}.sidebar-chevron-open{transform:rotate(90deg);color:var(--accent)}.sidebar-category{display:flex;flex-direction:column}.sidebar-topic-list{padding-left:8px;border-left:1px solid var(--border);margin-left:18px}.sidebar-topic-item{padding:5px 12px!important;font-size:13px!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:36px}.sidebar-topic-hash{color:var(--accent);margin-right:2px;opacity:.6}.main{flex:1;padding:24px 28px;max-width:1020px;width:100%;overflow-x:hidden;overflow-y:auto;height:calc(100vh - 52px);height:calc(100dvh - 52px);padding-bottom:calc(24px + env(safe-area-inset-bottom,0))}.page-header{margin-bottom:24px}.page-header h1{font-size:24px;font-weight:700;margin-bottom:4px;letter-spacing:-.02em;line-height:1.2}.page-subtitle{color:var(--text-secondary);font-size:14px;line-height:1.5}.search-count{font-size:13px;color:var(--text-muted);margin-top:8px}.tabs{display:flex;gap:3px;padding:3px;background:var(--bg-tertiary);border-radius:var(--radius);width:fit-content;margin-bottom:16px;border:1px solid var(--border);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;max-width:100%}.tabs::-webkit-scrollbar{display:none}.tab{padding:7px 14px;border:none;border-radius:5px;background:none;color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition);min-height:36px;flex-shrink:0}.tab:active{background:var(--bg)}.tab:hover{color:var(--text)}.tab-active{background:var(--accent);color:#fff;box-shadow:0 1px 3px #0000004d}.repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.repo-list{display:flex;flex-direction:column;gap:8px}.repo-card{display:flex;flex-direction:column;padding:14px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all var(--transition);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none}.repo-card:active{transform:scale(.99)}.repo-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--radius-lg);padding:1px;background:linear-gradient(135deg,transparent,transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:background var(--transition)}@media(hover:hover){.repo-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 16px #0000004d,0 0 0 1px var(--accent-glow)}.repo-card:hover:before{background:linear-gradient(135deg,var(--accent),var(--purple),var(--pink))}}.repo-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;color:var(--accent)}.repo-card-avatar{width:24px;height:24px;border-radius:50%;border:1px solid var(--border);flex-shrink:0}.repo-card-name{font-size:14px;font-weight:600;color:var(--accent);word-break:break-all}.repo-card-desc{font-size:13px;color:var(--text-secondary);margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.repo-card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--text-secondary)}.meta-item{display:flex;align-items:center;gap:4px}.meta-item.dim{color:var(--text-muted)}.trending-item{display:flex;align-items:flex-start;gap:10px}.trending-rank{font-size:16px;font-weight:700;color:var(--text-muted);min-width:30px;padding-top:14px;text-align:right;font-family:ui-monospace,monospace}.trending-item .repo-card{flex:1}.user-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.user-card{display:flex;align-items:center;gap:12px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;text-align:left;transition:all var(--transition);-webkit-user-select:none;user-select:none;min-height:56px}.user-card:active{transform:scale(.98)}@media(hover:hover){.user-card:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}}.user-card-info{display:flex;flex-direction:column;min-width:0}.user-card-name{font-weight:600;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-realname{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{border-radius:50%;border:2px solid var(--border);transition:border-color var(--transition);flex-shrink:0}.avatar-sm{width:32px;height:32px}.avatar-md{width:48px;height:48px}.avatar-xl{width:80px;height:80px;border-width:3px}.profile-header{display:flex;gap:20px;margin-bottom:28px;align-items:flex-start}.profile-info{flex:1;min-width:0}.profile-info h1{font-size:24px;margin-bottom:2px;font-weight:700}.profile-login{color:var(--text-secondary);font-size:15px}.profile-bio{margin-top:10px;color:var(--text-secondary);font-size:14px;line-height:1.6}.profile-meta{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-size:13px;color:var(--text-secondary)}.profile-meta a{color:var(--accent);text-decoration:none;word-break:break-all}.profile-meta a:hover{text-decoration:underline}.profile-stats{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px;font-size:14px;color:var(--text-secondary)}.profile-stats span{display:flex;align-items:center;gap:5px}.profile-stats strong{color:var(--text)}.repo-header{margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border)}.repo-title{display:flex;align-items:center;gap:6px;font-size:18px;margin-bottom:8px;flex-wrap:wrap}.repo-title strong{color:var(--text)}.repo-desc{color:var(--text-secondary);font-size:14px;margin-bottom:12px;line-height:1.6}.repo-stats-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.badge{font-size:11px;padding:2px 10px;border:1px solid var(--border);border-radius:12px;color:var(--text-secondary);font-weight:500}.link-btn{background:none;border:none;color:var(--accent);font-size:inherit;cursor:pointer;padding:0;transition:color var(--transition);word-break:break-all}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}.topics{display:flex;flex-wrap:wrap;gap:6px}.topic-tag{font-size:12px;padding:4px 12px;background:#58a6ff1f;color:var(--accent);border-radius:14px;font-weight:500;transition:all var(--transition);border:1px solid transparent}@media(hover:hover){.topic-tag:hover{background:#58a6ff33;border-color:var(--accent)}}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}.info-card{padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition)}@media(hover:hover){.info-card:hover{border-color:var(--border-light)}}.info-card h3{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.info-card span{font-size:18px;font-weight:700;font-family:ui-monospace,monospace}.issue-list{display:flex;flex-direction:column;gap:6px}.issue-item{display:flex;flex-direction:column;gap:6px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;transition:all var(--transition)}@media(hover:hover){.issue-item:hover{border-color:var(--border-light);transform:translate(2px)}}.issue-header{display:flex;align-items:flex-start;gap:8px}.issue-title{flex:1;font-size:14px;font-weight:600;min-width:0;word-break:break-word}.issue-number{font-size:12px;color:var(--text-muted);font-family:ui-monospace,monospace;flex-shrink:0}.issue-meta{display:flex;gap:10px;font-size:12px;color:var(--text-muted);flex-wrap:wrap}.issue-labels{display:flex;gap:6px;flex-wrap:wrap}.label{font-size:11px;padding:2px 10px;border-radius:12px;font-weight:600}.contributor-list{display:flex;flex-direction:column;gap:6px}.contributor-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all var(--transition);min-height:52px}@media(hover:hover){.contributor-item:hover{border-color:var(--border-light);transform:translate(2px)}}.contributor-item:active{background:var(--bg-tertiary)}.contributor-name{font-weight:600;font-size:14px;display:block}.contributor-commits{font-size:12px;color:var(--text-muted)}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg)}.filter-group{display:flex;flex-direction:column;gap:4px;flex:1;min-width:120px}.filter-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.btn{padding:10px 18px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--transition);min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:6px}@media(hover:hover){.btn:hover{background:var(--border);border-color:var(--border-light)}}.btn:active{background:var(--border)}.btn-primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}@media(hover:hover){.btn-primary:hover{background:#2ea043;border-color:#2ea043}}.load-more{display:flex;justify-content:center;margin-top:20px}.select{padding:10px 32px 10px 12px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-tertiary);color:var(--text);font-size:14px;cursor:pointer;transition:border-color var(--transition);min-height:40px;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 16 16' fill='%238b949e' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select:focus{outline:none;border-color:var(--accent)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:12px;flex-wrap:wrap}.section-header h2{display:flex;align-items:center;gap:8px;font-size:16px}.home-hero{margin-bottom:28px}.hero-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat-card{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition);color:var(--accent);min-height:60px}.stat-card.clickable{cursor:pointer}@media(hover:hover){.stat-card.clickable:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-glow);transform:translateY(-1px)}}.stat-label{font-size:11px;color:var(--text-muted);line-height:1.3}.stat-value{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}.loading-bar{display:flex;justify-content:center;padding:40px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-tertiary) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-lg)}.skeleton-card{height:120px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.error-msg{padding:12px 16px;background:#f8514914;border:1px solid rgba(248,81,73,.25);border-radius:var(--radius);color:var(--red);font-size:14px;margin-bottom:12px}.empty-state{padding:32px;text-align:center;color:var(--text-muted);font-size:14px}.repo-about{margin-top:8px}.topic-category{margin-bottom:28px}.topic-category-title{font-size:16px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}.topic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.topic-card{display:flex;flex-direction:column;gap:4px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;transition:all var(--transition);-webkit-user-select:none;user-select:none}.topic-card:active{background:var(--bg-tertiary)}@media(hover:hover){.topic-card:hover{border-color:var(--accent);background:#58a6ff0a;transform:translateY(-1px);box-shadow:0 2px 8px #0003}}.topic-card-name{font-size:13px;font-weight:600;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.topic-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.4}.topic-header-row{margin-bottom:8px}.back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:none;border-radius:var(--radius);background:none;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all var(--transition);min-height:44px}.back-btn:active{background:var(--bg-tertiary)}@media(hover:hover){.back-btn:hover{color:var(--accent);background:var(--bg-tertiary)}}.topic-controls{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}.gitlawb-header{display:flex;gap:20px;align-items:flex-start}.gitlawb-header .avatar-xl{border-color:var(--accent);border-width:3px}.gitlawb-stats{display:flex;gap:16px;margin-top:8px;font-size:14px}.gitlawb-controls{margin-top:12px}.gitlawb-controls .select{min-height:36px}.leaderboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.leaderboard-meta{display:flex;align-items:center;gap:12px;margin-top:10px;flex-wrap:wrap}.leaderboard-updated{font-size:11px;color:var(--text-muted);font-family:ui-monospace,monospace}.btn-refresh{white-space:nowrap}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.spin{animation:spin .8s linear infinite}.leaderboard-list{display:flex;flex-direction:column;gap:6px}.leaderboard-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition)}@media(hover:hover){.leaderboard-item:hover{border-color:var(--border-light);transform:translate(2px)}}.leaderboard-top{border-color:var(--orange);background:linear-gradient(135deg,#d299220f,#d2992205)}.leaderboard-rank{min-width:28px;display:flex;justify-content:center;flex-shrink:0}.leaderboard-medal{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:12px;font-weight:700;color:#000;box-shadow:0 2px 8px #0000004d}.leaderboard-number{font-size:14px;font-weight:600;color:var(--text-muted);font-family:ui-monospace,monospace}.leaderboard-info{flex:1;min-width:0}.leaderboard-info .link-btn{font-size:13px;word-break:break-all}.leaderboard-owner{color:var(--text-secondary)}.leaderboard-desc{font-size:12px;color:var(--text-secondary);margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.leaderboard-meta-row{display:flex;gap:10px;margin-top:4px;font-size:12px;flex-wrap:wrap}.leaderboard-stars{display:flex;align-items:center;gap:6px;flex-shrink:0;color:var(--orange)}.leaderboard-star-count{font-size:15px;font-weight:700;font-family:ui-monospace,monospace}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#0d1117eb;backdrop-filter:blur(16px) saturate(1.8);-webkit-backdrop-filter:blur(16px) saturate(1.8);border-top:1px solid var(--border);padding:6px 8px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0))}.bottom-nav-inner{display:flex;justify-content:space-around;align-items:center}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 8px;border:none;border-radius:var(--radius);background:none;color:var(--text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:color var(--transition);min-width:56px;-webkit-user-select:none;user-select:none}.bottom-nav-item:active{color:var(--text)}.bottom-nav-item.bottom-nav-active{color:var(--accent)}.bottom-nav-item svg{flex-shrink:0}@media(max-width:768px){.header{padding:0 12px;gap:8px;height:48px}.menu-btn{display:flex}.logo-text{display:none}.logo{padding:8px 2px;min-width:auto}.search-bar{padding:6px 12px;min-height:36px;border-radius:16px}.search-bar input{font-size:14px}.search-bar svg{width:14px;height:14px}.rate-limit{display:none}.sidebar{position:fixed;top:48px;left:0;bottom:0;z-index:99;width:280px;background:#0d1117f7;transform:translate(-100%);transition:transform .25s cubic-bezier(.4,0,.2,1);padding-top:12px}.sidebar-open{transform:translate(0)}.sidebar-overlay.show{display:block}.main{height:calc(100vh - 48px);height:calc(100dvh - 48px);max-width:100%;padding:16px;padding-bottom:calc(80px + env(safe-area-inset-bottom,0))}.page-header h1{font-size:20px}.repo-grid{grid-template-columns:1fr;gap:10px}.user-grid{grid-template-columns:1fr;gap:8px}.skeleton-grid{grid-template-columns:1fr;gap:10px}.hero-stats{grid-template-columns:1fr}.profile-header{flex-direction:column;align-items:center;text-align:center;gap:16px}.profile-meta,.profile-stats{justify-content:center}.profile-info h1{font-size:22px}.avatar-xl{width:72px;height:72px}.repo-title{font-size:16px}.repo-stats-bar{gap:10px}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px}.leaderboard-item{flex-wrap:wrap;gap:8px}.leaderboard-stars{width:100%;justify-content:flex-end;padding-top:6px;border-top:1px solid var(--border)}.filter-bar{flex-direction:column;gap:10px}.section-header{flex-direction:column;align-items:flex-start;gap:8px}.bottom-nav{display:block}}@media(max-width:380px){.header{gap:6px;padding:0 8px}.main{padding:12px}.tabs{font-size:12px}.tab{padding:6px 10px;font-size:12px}.topic-grid{grid-template-columns:1fr 1fr}.info-grid{grid-template-columns:1fr}}.assistant-fab{position:fixed;bottom:24px;right:24px;z-index:101;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,var(--accent),var(--purple));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 16px #58a6ff59,0 0 0 0 var(--accent-glow);transition:all var(--transition);padding:0}.assistant-fab:hover{transform:scale(1.08);box-shadow:0 6px 24px #58a6ff73,0 0 0 4px var(--accent-glow)}.assistant-fab:active{transform:scale(.96)}.assistant-fab-pulse{animation:fab-pulse 2.5s ease-in-out infinite}@keyframes fab-pulse{0%,to{box-shadow:0 4px 16px #58a6ff59,0 0 0 0 var(--accent-glow)}50%{box-shadow:0 4px 16px #58a6ff59,0 0 0 8px #58a6ff14}}@media(max-width:768px){.assistant-fab{bottom:calc(76px + env(safe-area-inset-bottom,0));right:16px;width:48px;height:48px}}.chat-panel{position:fixed;bottom:88px;right:24px;z-index:102;width:360px;max-height:480px;display:flex;flex-direction:column;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.chat-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;transition:all var(--transition);min-width:28px;min-height:28px}.chat-close:hover{background:var(--bg-tertiary);color:var(--text)}.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:200px;max-height:320px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-msg{display:flex;max-width:85%}.chat-msg-user{align-self:flex-end}.chat-msg-assistant{align-self:flex-start}.chat-msg-bubble{padding:8px 12px;border-radius:var(--radius);font-size:13px;line-height:1.5;word-break:break-word}.chat-msg-user .chat-msg-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:2px}.chat-msg-assistant .chat-msg-bubble{background:var(--bg-tertiary);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:2px}.chat-input-row{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border);flex-shrink:0}.chat-input{flex:1;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;outline:none;transition:border-color var(--transition);min-height:36px}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--text-muted)}.chat-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;flex-shrink:0;transition:all var(--transition);padding:0}.chat-send:hover{background:var(--accent-hover)}.chat-send:disabled{opacity:.4;cursor:not-allowed}@media(max-width:768px){.chat-panel{bottom:calc(76px + env(safe-area-inset-bottom,0));right:12px;left:12px;width:auto;max-height:380px}.chat-messages{max-height:260px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}
