:root{--bg-primary:#f8fafc;--bg-secondary:#ffffff;--bg-tertiary:#f1f5f9;--border-primary:#e2e8f0;--border-secondary:#d1d5db;--text-primary:#0f172a;--text-secondary:#64748b;--text-tertiary:#94a3b8;--accent-primary:#3b82f6;--accent-hover:#2563eb;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .08);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .08)}[data-theme=dark]{--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-tertiary:#334155;--border-primary:#475569;--border-secondary:#64748b;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-tertiary:#94a3b8;--accent-primary:#60a5fa;--accent-hover:#3b82f6;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--shadow-sm:0 1px 2px 0 rgba(0, 0, 0, .25);--shadow-md:0 4px 6px -1px rgba(0, 0, 0, .3);--shadow-lg:0 10px 15px -3px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;transition:background-color .3s ease,color .3s ease;overflow-x:hidden}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}.container{max-width:1200px;margin:0 auto;padding:20px;padding-bottom:80px}.header{background:color-mix(in srgb,var(--bg-secondary) 92%,transparent);border:1px solid color-mix(in srgb,var(--border-primary) 70%,transparent);border-radius:12px;padding:14px 16px;margin-bottom:24px;box-shadow:0 6px 24px -18px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;backdrop-filter:saturate(120%) blur(8px);-webkit-backdrop-filter:saturate(120%) blur(8px);overflow:hidden}.header>*{position:relative;z-index:1}.header-brand{display:flex;align-items:center;flex:1;min-width:0}.brand-title{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-.01em;line-height:1.1;position:relative;color:var(--text-primary);text-rendering:optimizeLegibility;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-style:solid;text-decoration-skip-ink:none;text-decoration-skip:none;text-decoration-skip-ink:none}[data-theme=dark] .brand-title{color:var(--text-primary)}@media (prefers-contrast:more){.brand-title{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:var(--text-primary);color:var(--text-primary)}}.header-status{display:flex;align-items:center}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;background:var(--bg-tertiary);border:1px solid var(--border-secondary);border-radius:999px;font-size:.75rem;color:var(--text-secondary);font-weight:600;min-height:32px;transition:color .25s ease,background-color .25s ease,border-color .25s ease}.status-icon{width:14px;height:14px;color:var(--success);filter:drop-shadow(0 0 0 rgba(0,0,0,0));transition:color .25s ease,transform .25s ease}.status-badge.updating .status-icon{color:var(--warning);animation:pulse 1.5s infinite}.status-badge.error .status-icon{color:var(--danger)}.status-badge.updating{background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(245,158,11,.05));border-color:rgba(245,158,11,.4);color:var(--warning)}.status-badge.error{background:linear-gradient(90deg,rgba(239,68,68,.15),rgba(239,68,68,.07));border-color:rgba(239,68,68,.5);color:var(--danger)}.status-badge:not(.error):not(.updating){background:linear-gradient(90deg,rgba(16,185,129,.12),rgba(16,185,129,.05));border-color:rgba(16,185,129,.3);color:var(--success)}.status-text{white-space:nowrap;font-weight:500}.header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.action-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:0 0;border:1px solid color-mix(in srgb,var(--border-primary) 30%,transparent);border-radius:12px;color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .1s ease;min-height:38px;text-decoration:none}.action-btn:hover{background:color-mix(in srgb,var(--bg-tertiary) 65%,transparent);border-color:color-mix(in srgb,var(--border-primary) 60%,transparent)}.action-btn:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.primary-btn,.theme-btn{padding:8px;min-width:38px;justify-content:center}.btn-text{white-space:nowrap}.action-btn.ghost{background:0 0;border-color:color-mix(in srgb,var(--border-primary) 20%,transparent)}.action-btn.ghost:hover{background:color-mix(in srgb,var(--bg-tertiary) 55%,transparent)}@media (max-width:768px){.header{display:grid;grid-template-columns:1fr auto;grid-template-areas:'brand actions' 'status actions';align-items:center;gap:10px 12px;padding:12px 14px;border-radius:12px}.header-brand{grid-area:brand;justify-content:flex-start;text-align:left}.header-status{grid-area:status;justify-content:flex-start}.header-actions{grid-area:actions;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:8px}.brand-title{font-size:1.15rem}.status-badge{max-width:100%}.btn-text{display:none}.primary-btn,.theme-btn{min-width:40px;padding:10px}.status-text{display:inline}}@media (max-width:520px){.header{display:grid;grid-template-columns:1fr auto;grid-template-areas:'brand status' 'brand actions';align-items:center;gap:10px 12px}.header-brand{grid-area:brand;display:flex;align-items:center;min-width:0}.header-status{grid-area:status;margin-left:0}.header-actions{grid-area:actions;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:10px;margin-top:2px}.brand-title{font-size:1.4rem}.status-badge{padding:4px 8px;gap:6px}.status-text{display:inline;font-size:.65rem;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-btn,.btn,.primary-btn,.theme-btn{width:auto;min-width:72px;height:40px;min-height:40px;padding:8px 20px;border-radius:999px!important;display:inline-flex;justify-content:center;align-items:center;gap:6px;line-height:1;font-size:.875rem;font-weight:500}.action-btn:not(.primary-btn),.theme-btn{background:var(--bg-tertiary);border:1px solid var(--border-secondary);color:var(--text-primary)}.primary-btn{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.btn{background:var(--accent-primary);border:1px solid var(--accent-primary);color:#fff}.btn-secondary{background:var(--text-secondary)!important;border:1px solid var(--text-secondary)!important;color:#fff!important}.btn-danger{background:var(--danger)!important;border:1px solid var(--danger)!important;color:#fff!important}.action-btn svg{width:18px;height:18px}.btn-text{display:none}}@media (max-width:480px){.header{padding:16px 18px;gap:14px}.brand-title{font-size:1.6rem}.status-badge{padding:5px 10px;font-size:.75rem;min-height:30px;border-radius:50px}.action-btn,.btn,.primary-btn,.theme-btn{min-width:60px;height:36px;min-height:36px;padding:6px 16px;border-radius:999px!important;font-size:.8rem}.theme-btn:not(:has(.btn-text:not([style*="display: none"]))){min-width:36px;width:36px;padding:6px}.repo-language,.star-info,.status-badge{border-radius:999px;padding:4px 10px;font-size:.75rem}.star-info{gap:4px}.input-field,.select-field{border-radius:25px!important;padding:10px 16px;min-height:40px}}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}@keyframes fadeIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{from{opacity:0;transform:translateX(-15px)}to{opacity:1;transform:translateX(0)}}@keyframes starGlow{0%{filter:drop-shadow(0 1px 2px rgba(251, 191, 36, .3))}100%{filter:drop-shadow(0 2px 4px rgba(251, 191, 36, .5))}}.tab-content{display:none}.tab-content.active{display:block}.main-repo-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:28px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.repo-header{display:flex;flex-direction:column;gap:18px;margin-bottom:30px}@media (min-width:768px){.repo-header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:22px}}.repo-info{flex:1;min-width:0}.repo-name{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;word-break:break-word}.repo-description{color:var(--text-secondary);font-size:1rem;line-height:1.6}.repo-link{color:var(--accent-primary);text-decoration:none;font-size:.875rem;font-weight:500;align-self:flex-start;padding:9px 15px;border:1px solid var(--accent-primary);border-radius:8px;transition:all .2s ease;min-height:42px;display:flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0}@media (max-width:768px){.repo-link{align-self:stretch;justify-content:center;width:100%}}.repo-link:hover{background:var(--accent-primary);color:#fff}.star-count{font-size:2.25rem;font-weight:800;color:var(--text-primary);display:flex;align-items:center;gap:18px;margin-bottom:30px;padding:22px;background:rgba(59,130,246,.05);border-radius:14px;border:1px solid var(--border-primary);position:relative;overflow:hidden}@media (max-width:768px){.star-count{flex-direction:column;text-align:center;gap:14px;font-size:1.8rem;padding:20px;margin-bottom:26px}}.star-count>*{position:relative;z-index:1}.star-icon{width:34px;height:34px;fill:#fbbf24;filter:drop-shadow(0 2px 4px rgba(251, 191, 36, .3));animation:starGlow 2s ease-in-out infinite alternate}.star-number{display:flex;flex-direction:column;align-items:flex-start}.star-main{font-size:2.25rem;font-weight:800;line-height:1}.star-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-top:4px}.repo-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px;max-width:100%}@media (max-width:768px){.repo-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.repo-stats{grid-template-columns:1fr}}.stat-item{text-align:center;padding:18px 16px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-primary);transition:all .2s ease}.stat-item:hover{box-shadow:var(--shadow-md)}.stat-value{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:4px}.stat-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.repo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.repo-card{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:18px;transition:all .3s ease;cursor:pointer;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;animation:fadeIn .5s ease forwards}.repo-card.skeleton{pointer-events:none;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-primary) 37%,var(--bg-tertiary) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}.repo-card.skeleton::before{display:none}.empty-state{grid-column:1/-1;background:var(--bg-secondary);border:1px dashed var(--border-primary);border-radius:14px;padding:50px 30px;text-align:center;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:18px;box-shadow:var(--shadow-sm);animation:fadeIn .4s ease}.empty-state h4{font-size:1.15rem;color:var(--text-primary);margin:0}.empty-state p{font-size:.9rem;max-width:340px;line-height:1.5}.empty-illustration{color:var(--accent-primary);opacity:.75}.empty-inline{text-align:center;color:var(--text-secondary);padding:22px 0;font-size:.85rem}.repo-card:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.repo-card:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.repo-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-primary),var(--success));opacity:0;transition:opacity .3s ease}.repo-card:hover::before{opacity:1}.repo-card:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.repo-card h3{font-size:1.125rem;color:var(--text-primary);margin-bottom:8px;font-weight:600;word-break:break-word}.repo-card-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.repo-stars{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.star-info{display:flex;align-items:center;gap:6px;font-size:.875rem;font-weight:600;color:var(--text-primary);padding:6px 12px;background:var(--bg-tertiary);border-radius:20px;border:1px solid var(--border-primary)}.small-star-icon{width:16px;height:16px;fill:#fbbf24}.repo-language{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:4px 12px;border-radius:12px;border:1px solid var(--border-primary);font-weight:500}.topic-tag:hover{opacity:1;transform:translateY(-1px)}.settings-section{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:10px;padding:26px;margin-bottom:24px;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;animation:slideIn .5s ease forwards}.settings-section h3{font-size:1.2rem;color:var(--text-primary);margin-bottom:18px;font-weight:600;display:flex;align-items:center;gap:8px}.settings-section h3::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent-primary);box-shadow:0 0 0 4px rgba(59,130,246,.15)}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--border-primary);gap:16px}.settings-row:last-child{border-bottom:none}.setting-info{flex:1}.setting-title{font-weight:500;color:var(--text-primary);margin-bottom:4px}.setting-description{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.input-group{display:flex;gap:12px;margin-bottom:18px;flex-wrap:wrap}.input-field{flex:1;min-width:250px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-size:.875rem;transition:all .2s ease;min-height:44px}.input-field:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.input-field::placeholder{color:var(--text-tertiary)}.btn{padding:11px 18px;background:var(--accent-primary);border:none;border-radius:8px;color:#fff;font-weight:500;cursor:pointer;transition:all .2s ease;font-size:.875rem;display:inline-flex;align-items:center;gap:8px;min-height:44px;text-decoration:none;box-shadow:var(--shadow-sm)}.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn:disabled{background:var(--text-tertiary);cursor:not-allowed}.btn:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.btn-secondary{background:var(--text-secondary);color:#fff}.btn-secondary:hover{background:var(--text-primary)}.btn-danger{background:var(--danger)}.btn-danger:hover{background:#dc2626}.toggle-switch{position:relative;width:50px;height:26px;background:var(--border-secondary);border:2px solid var(--border-primary);border-radius:13px;cursor:pointer;transition:all .3s ease;flex-shrink:0;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.toggle-switch:hover{border-color:var(--accent-primary);box-shadow:inset 0 1px 2px rgba(0,0,0,.1),0 0 0 2px rgba(59,130,246,.1)}.toggle-switch.active{background:var(--accent-primary);border-color:var(--accent-primary);box-shadow:inset 0 1px 2px rgba(0,0,0,.2),0 0 6px rgba(59,130,246,.2)}.toggle-switch::after{content:'';position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:50%;transition:all .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 1px 3px rgba(0,0,0,.3)}.toggle-switch.active::after{transform:translateX(24px);box-shadow:0 1px 4px rgba(0,0,0,.4)}.toggle-switch:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.select-field{padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-secondary);border-radius:8px;color:var(--text-primary);font-size:.875rem;cursor:pointer;min-height:44px;min-width:120px;transition:all .2s ease}.select-field:focus{outline:0;border-color:var(--accent-primary);box-shadow:0 0 0 3px rgba(59,130,246,.1)}.import-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.repo-list{list-style:none}.repo-item{display:flex;justify-content:space-between;align-items:center;padding:18px 0;border-bottom:1px solid var(--border-primary);gap:16px}.repo-item:last-child{border-bottom:none}.repo-info{flex:1;min-width:0}.repo-url{color:var(--text-primary);font-family:'SF Mono',Monaco,Inconsolata,'Roboto Mono',monospace;font-size:.875rem;font-weight:500;word-break:break-all}.repo-added{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--bg-secondary);border-top:1px solid var(--border-primary);padding:8px 0;z-index:1000;box-shadow:var(--shadow-lg)}.nav-container{max-width:600px;margin:0 auto;display:flex;justify-content:space-around}.nav-item{display:flex;flex-direction:column;align-items:center;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-radius:12px;color:var(--text-tertiary);min-height:44px;position:relative;border:none;background:0 0}.nav-item:hover{color:var(--text-secondary);background:0 0}.nav-item.active{color:var(--accent-primary);background:0 0}.nav-item:focus{outline:0}.nav-item.active::before{content:'';position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:24px;height:3px;background:var(--accent-primary);border-radius:2px}.nav-item:active{background:var(--bg-tertiary);color:var(--accent-primary)}.nav-icon{width:20px;height:20px;margin-bottom:4px;fill:currentColor}.nav-label{font-size:.75rem;font-weight:500}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text-secondary);text-align:center;gap:16px}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--border-primary) 37%,var(--bg-tertiary) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:6px}@keyframes skeleton-shimmer{0%{background-position:100% 0}100%{background-position:0 0}}.loading.inline{flex-direction:row;padding:40px 20px;gap:12px}.spinner{width:24px;height:24px;border:3px solid var(--border-primary);border-top:3px solid var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}::selection{background:var(--accent-primary);color:#fff}::-moz-selection{background:var(--accent-primary);color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}@media (max-width:768px){.container{padding:16px;padding-bottom:90px}.repo-grid{grid-template-columns:1fr}.repo-stats{grid-template-columns:repeat(2,1fr)}.input-group{flex-direction:column}.input-field{min-width:auto}.repo-header{gap:14px}.settings-row{flex-direction:column;align-items:flex-start;gap:14px}.star-main{font-size:1.8rem}.star-icon{width:28px;height:28px}.notification{right:12px;left:12px;min-width:auto;max-width:none;transform:translateY(-100px)}.notification.show{transform:translateY(0)}.repo-item{flex-direction:column;align-items:flex-start;gap:14px}}.notification{position:fixed;top:20px;right:20px;background:var(--bg-secondary);border:1px solid var(--border-primary);color:var(--text-primary);padding:14px 18px;border-radius:12px;box-shadow:var(--shadow-lg);min-width:280px;max-width:360px;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:12px;opacity:0;transform:translateY(-12px);transition:all .35s cubic-bezier(.4, 0, .2, 1);z-index:1100;pointer-events:none}.notification.show{opacity:1;transform:translateY(0);pointer-events:auto}.notification.success{border-color:var(--success);box-shadow:0 4px 12px -2px rgba(16,185,129,.25)}.notification.error{border-color:var(--danger);box-shadow:0 4px 12px -2px rgba(239,68,68,.25)}.notification.error{color:var(--danger)}.notification.success{color:var(--success)}@media (max-width:600px){.notification{left:12px;right:12px;top:12px;max-width:none}}@media (max-width:480px){.container{padding:12px;padding-bottom:100px}.header{padding:16px;gap:16px}.header-content h1{font-size:1.5rem}.header-content p{font-size:.9rem}.control-group{max-width:280px}.status-indicator{max-width:280px;font-size:.8rem;padding:6px 8px}.repo-stats{grid-template-columns:1fr}.nav-item{padding:8px 12px}.nav-label{font-size:.6875rem}}@media (max-width:375px){.container{padding:10px;padding-bottom:100px}.repo-stats{grid-template-columns:1fr}.action-btn,.btn{min-width:50px;height:32px;min-height:32px;padding:4px 12px;font-size:.75rem;border-radius:999px!important}.theme-btn{min-width:32px;width:32px;height:32px;padding:4px}.repo-language,.star-info{padding:3px 8px;font-size:.7rem;border-radius:999px}.input-field,.select-field{border-radius:20px!important;padding:8px 12px;min-height:36px;font-size:.8rem}}@media (prefers-contrast:high){:root{--border-primary:#000000;--border-secondary:#666666}[data-theme=dark]{--border-primary:#ffffff;--border-secondary:#cccccc}.toggle-switch{border-width:3px}.toggle-switch::after{border:2px solid var(--text-primary)}.btn,.theme-toggle,.update-btn{border:2px solid currentColor}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:NaNs!important;animation-iteration-count:1!important;transition-duration:NaNs!important}.starGlow{animation:none}}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:4px}.btn:focus-visible,.input-field:focus-visible,.nav-item:focus-visible,.repo-card:focus-visible,.select-field:focus-visible,.theme-toggle:focus-visible,.toggle-switch:focus-visible,.update-btn:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media print{.bottom-nav,.header-actions,.notification,.theme-toggle,.update-btn{display:none!important}.container{padding-bottom:0}.header{box-shadow:none;border:1px solid #000}}