:root{--bg-color:#0b0f19;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--accent-cyan:#06b6d4;--accent-purple:#a855f7;--accent-yellow:#f59e0b;--card-bg:#1118278c;--card-hover-bg:#1e293bb3;--card-border:#ffffff12;--card-border-hover:#06b6d459;--font-sans:"Outfit", "Noto Sans TC", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--gradient-cyan-purple:linear-gradient(135deg, var(--accent-cyan) 0%, var(--accent-purple) 100%);--gradient-gold:linear-gradient(135deg, #f59e0b 0%, #eab308 100%);--gradient-silver:linear-gradient(135deg, #94a3b8 0%, #cbd5e1 100%);--gradient-bronze:linear-gradient(135deg, #b45309 0%, #d97706 100%);--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-glow:0 10px 30px -10px #06b6d426, 0 0 1px 1px #06b6d433}body.light-theme{--bg-color:#f8fafc;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--card-bg:#ffffffb3;--card-hover-bg:#ffffffe6;--card-border:#0f172a14;--card-border-hover:#06b6d480;--shadow-glow:0 10px 30px -10px #06b6d41a, 0 0 1px 1px #06b6d426}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;line-height:1.6;transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s cubic-bezier(.4,0,.2,1);position:relative;overflow-x:hidden}body.light-theme h1{background:linear-gradient(#0f172a 0%,#334155 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}body.light-theme .bg-glow{opacity:.08}body.light-theme .tab-navigation{background:#ffffffa6;box-shadow:0 4px 20px -5px #0f172a0d}body.light-theme .tab-btn:hover,body.light-theme .original-desc{background:#0f172a08}.bg-glow{filter:blur(120px);opacity:.15;z-index:-1;pointer-events:none;border-radius:50%;width:50vw;height:50vw;position:fixed}.bg-glow-1{background:radial-gradient(circle, var(--accent-cyan) 0%, transparent 70%);top:-10%;left:-10%}.bg-glow-2{background:radial-gradient(circle, var(--accent-purple) 0%, transparent 70%);bottom:-10%;right:-10%}.container{flex-direction:column;max-width:1280px;min-height:100vh;margin:0 auto;padding:2.5rem 1.5rem;display:flex}.app-header{text-align:center;margin-bottom:3rem;position:relative}.header-top{justify-content:center;align-items:center;width:100%;margin-bottom:1.5rem;display:flex;position:relative}.logo-area{border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:var(--transition-smooth);background:#ffffff08;border-radius:9999px;align-items:center;gap:.5rem;padding:.5rem 1rem;display:inline-flex}.header-controls{align-items:center;gap:12px;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.theme-toggle-btn{border:1px solid var(--card-border);width:42px;height:42px;color:var(--text-secondary);cursor:pointer;transition:var(--transition-smooth);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border-radius:50%;outline:none;justify-content:center;align-items:center;display:flex}.theme-toggle-btn:hover{color:var(--text-primary);border-color:var(--card-border-hover);background:#ffffff14;transform:rotate(15deg)}.lang-select-wrapper{align-items:center;display:flex;position:relative}.lang-select{appearance:none;border:1px solid var(--card-border);color:var(--text-primary);font-family:var(--font-sans);cursor:pointer;-webkit-backdrop-filter:blur(10px);transition:var(--transition-smooth);background:#ffffff08;border-radius:8px;outline:none;padding:8px 32px 8px 12px;font-size:14px;font-weight:500}body.light-theme .lang-select{background:#00000008}.lang-select:hover{border-color:var(--card-border-hover);background:#ffffff14}body.light-theme .lang-select:hover{background:#0000000f}.lang-select-wrapper:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:5px solid var(--text-secondary);pointer-events:none;width:0;height:0;transition:var(--transition-smooth);position:absolute;top:50%;right:12px;transform:translateY(-50%)}.lang-select-wrapper:hover:after{border-top-color:var(--text-primary)}.lang-select option{color:#f8fafc;background-color:#1e293b}body.light-theme .lang-select option{color:#0f172a;background-color:#fff}.theme-toggle-btn svg{width:20px;height:20px;transition:transform .3s}.theme-toggle-btn:active svg{transform:scale(.8)}.logo-text{background:var(--gradient-cyan-purple);-webkit-text-fill-color:transparent;letter-spacing:.05em;-webkit-background-clip:text;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700}.github-icon{color:var(--accent-cyan)}h1{letter-spacing:-.02em;background:linear-gradient(#fff 0%,#cbd5e1 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.75rem;font-size:2.5rem;font-weight:700}.subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto 1.5rem;font-size:1.1rem;font-weight:300}.last-updated-badge{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff0d;border-radius:9999px;padding:.35rem .85rem;font-size:.85rem;display:inline-block}.tab-navigation{border:1px solid var(--card-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);scrollbar-width:none;transition:var(--transition-smooth);background:#0f172a99;border-radius:16px;justify-content:center;align-self:center;gap:1rem;margin-bottom:3rem;padding:.4rem;display:flex}.tab-navigation::-webkit-scrollbar{display:none}.tab-btn{cursor:pointer;color:var(--text-secondary);transition:var(--transition-smooth);background:0 0;border:none;border-radius:12px;outline:none;flex-direction:column;flex-shrink:0;align-items:center;gap:.2rem;min-width:140px;padding:.75rem 1.75rem;display:flex}.tab-btn:hover{color:var(--text-primary);background:#ffffff08}.tab-btn.active{background:var(--gradient-cyan-purple);color:#fff;box-shadow:0 4px 15px -3px #06b6d44d}.tab-btn-title{font-size:1rem;font-weight:500}.tab-btn-sub{opacity:.7;font-family:Outfit,sans-serif;font-size:.75rem}.loading-container{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:5rem 1rem;display:flex}.spinner{border:3px solid #06b6d41a;border-top-color:var(--accent-cyan);border-radius:50%;width:45px;height:45px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.hidden{display:none!important}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:1.75rem;margin-bottom:4rem;animation:.5s ease-out fadeIn;display:grid}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.project-card{background:var(--card-bg);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);transition:var(--transition-smooth);border-radius:20px;flex-direction:column;padding:1.75rem;display:flex;position:relative;overflow:hidden}.project-card:hover{background:var(--card-hover-bg);border-color:var(--card-border-hover);box-shadow:var(--shadow-glow);transform:translateY(-5px)}.card-rank-1{background:linear-gradient(135deg,#f59e0b14 0%,#1118278c 100%);border-color:#f59e0b40}.card-rank-1:hover{background:linear-gradient(135deg,#f59e0b26 0%,#1e293bb3 100%);border-color:#f59e0b73}.card-rank-2{background:linear-gradient(135deg,#94a3b814 0%,#1118278c 100%);border-color:#94a3b840}.card-rank-2:hover{background:linear-gradient(135deg,#94a3b826 0%,#1e293bb3 100%);border-color:#94a3b873}.card-rank-3{background:linear-gradient(135deg,#b4530914 0%,#1118278c 100%);border-color:#b4530940}.card-rank-3:hover{background:linear-gradient(135deg,#b4530926 0%,#1e293bb3 100%);border-color:#b4530973}body.light-theme .card-rank-1{background:linear-gradient(135deg,#f59e0b17 0%,#ffffffb3 100%);border-color:#f59e0b40}body.light-theme .card-rank-1:hover{background:linear-gradient(135deg,#f59e0b29 0%,#ffffffe6 100%);border-color:#f59e0b73}body.light-theme .card-rank-2{background:linear-gradient(135deg,#94a3b817 0%,#ffffffb3 100%);border-color:#94a3b840}body.light-theme .card-rank-2:hover{background:linear-gradient(135deg,#94a3b829 0%,#ffffffe6 100%);border-color:#94a3b873}body.light-theme .card-rank-3{background:linear-gradient(135deg,#b4530917 0%,#ffffffb3 100%);border-color:#b4530938}body.light-theme .card-rank-3:hover{background:linear-gradient(135deg,#b4530929 0%,#ffffffe6 100%);border-color:#b4530966}.rank-badge{color:#fff;border-bottom-left-radius:20px;justify-content:center;align-items:center;width:48px;height:48px;font-family:Outfit,sans-serif;font-size:1.1rem;font-weight:700;display:flex;position:absolute;top:0;right:0}.rank-1{background:var(--gradient-gold)}.rank-2{background:var(--gradient-silver)}.rank-3{background:var(--gradient-bronze)}.rank-other{color:var(--text-secondary);background:#ffffff14}.card-meta{align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.owner-avatar{border:1px solid #ffffff1a;border-radius:50%;width:28px;height:28px}.owner-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:.85rem;font-weight:400;overflow:hidden}.lang-badge{color:var(--text-primary);background:#ffffff0d;border:1px solid #ffffff0d;border-radius:9999px;margin-left:auto;padding:.25rem .6rem;font-family:Outfit,sans-serif;font-size:.75rem}.card-title-section{margin-bottom:1.25rem;padding-right:2.5rem}.zh-title{margin-bottom:.25rem;font-size:1.3rem;font-weight:700;line-height:1.4}.zh-title a{color:var(--text-primary);transition:var(--transition-smooth);text-decoration:none}.zh-title a:hover{color:var(--accent-cyan)}.original-title{color:var(--text-muted);word-break:break-all;font-family:Outfit,sans-serif;font-size:.9rem}.stars-block{color:var(--accent-yellow);background:#f59e0b14;border-radius:6px;align-items:center;gap:.35rem;width:fit-content;margin-bottom:1.5rem;padding:.25rem .6rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:600;display:inline-flex}.star-icon{width:14px;height:14px}.ai-summary{border-top:1px solid #ffffff0d;flex-direction:column;flex-grow:1;gap:1.25rem;margin-bottom:1.5rem;padding-top:1.25rem;display:flex}.summary-section{flex-direction:column;gap:.35rem;display:flex}.summary-label{letter-spacing:.05em;text-transform:uppercase;font-size:.9rem;font-weight:700}.label-features{color:var(--accent-cyan)}.label-applications{color:var(--accent-purple)}.label-license{color:var(--text-muted)}.summary-content{color:var(--text-primary);font-size:1.1rem;line-height:1.75}.original-details{border-top:1px dashed #ffffff0d;margin-bottom:1rem;padding-top:.75rem}.original-details summary{cursor:pointer;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:.3rem;font-size:.8rem;list-style:none;display:flex}.original-details summary::-webkit-details-marker{display:none}.original-details summary:after{content:"▼";transition:var(--transition-smooth);font-size:.6rem}.original-details[open] summary:after{transform:rotate(180deg)}.original-details[open] summary{color:var(--text-secondary);margin-bottom:.5rem}.original-desc{color:var(--text-secondary);word-break:break-word;background:#00000026;border-radius:8px;padding:.75rem;font-size:.85rem;line-height:1.5}.github-action-btn{width:100%;color:var(--text-primary);transition:var(--transition-smooth);background:#ffffff0a;border:1px solid #ffffff12;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.github-action-btn:hover{background:var(--gradient-cyan-purple);color:#fff;border-color:#0000}.btn-arrow{transition:var(--transition-smooth)}.github-action-btn:hover .btn-arrow{transform:translate(4px)}.app-footer{border-top:1px solid var(--card-border);text-align:center;color:var(--text-muted);flex-direction:column;gap:.5rem;margin-top:auto;padding-top:2rem;font-size:.9rem;display:flex}.github-link-wrap a{color:var(--accent-cyan);transition:var(--transition-smooth);text-decoration:none}.github-link-wrap a:hover{text-decoration:underline}.app-footer a{color:var(--accent-cyan);transition:var(--transition-smooth);text-decoration:none}.app-footer a:hover{text-decoration:underline}@media (width<=768px){h1{font-size:2rem}.header-top{flex-direction:column;gap:1.2rem}.header-controls{justify-content:center;width:100%;position:static;transform:none}.theme-toggle-btn:hover{transform:rotate(15deg)}.tab-navigation{justify-content:flex-start;width:100%;padding:.3rem;overflow-x:auto}.tab-btn{min-width:110px;padding:.6rem 1rem}.projects-grid{grid-template-columns:1fr}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}
