@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--font-sans:"Inter", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--color-bg-start:#0f2419;--color-bg-mid:#1f4037;--color-bg-end:#2f6b52;--color-surface:#16281f;--color-surface-alt:#1c342a;--color-border:#ffffff1f;--color-border-strong:#ffffff38;--color-text:#f4f7f5;--color-text-muted:#f4f7f5b3;--color-accent-gold:#ffdd57;--color-accent-teal:#1abc9c;--color-accent-teal-strong:#16a085;--color-cat-template:#e74c3c;--color-cat-poc:#9b59b6;--color-cat-hello-world:#3498db;--color-cat-misc:#7f8c8d;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 2px 6px #0003;--shadow-md:0 8px 20px #00000040;--transition-fast:.15s ease;--transition-base:.25s ease;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;padding:0}h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:var(--color-accent-teal);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit}img{max-width:100%;display:block}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.repo-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%;max-width:1400px;margin:0 auto;display:grid}.repo-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-cat-misc);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);color:var(--color-text);flex-direction:column;padding:20px;display:flex}.repo-card.cat-template{border-left-color:var(--color-cat-template)}.repo-card.cat-poc{border-left-color:var(--color-cat-poc)}.repo-card.cat-hello-world{border-left-color:var(--color-cat-hello-world)}.repo-card.cat-misc{border-left-color:var(--color-cat-misc)}.repo-card:hover,.repo-card:focus-visible{box-shadow:var(--shadow-md);border-color:var(--color-border-strong);transform:translateY(-4px)}.repo-card:focus-visible{outline:2px solid var(--color-accent-gold);outline-offset:2px}.repo-card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.repo-card h2{color:var(--color-accent-gold);word-break:break-word;margin:0 0 10px;font-size:1.25rem;font-weight:700}.category-badge{text-transform:uppercase;letter-spacing:.03em;color:#0b1a13;background:var(--color-cat-misc);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:3px 8px;font-size:.7rem;font-weight:600}.category-badge.cat-template{background:var(--color-cat-template);color:#1a0503}.category-badge.cat-poc{background:var(--color-cat-poc);color:#1c0e21}.category-badge.cat-hello-world{background:var(--color-cat-hello-world);color:#061826}.repo-card p{color:var(--color-text-muted);flex-grow:1;margin:4px 0 16px;font-size:.95rem;line-height:1.5}.repo-card .view-repo-cta{color:var(--color-accent-teal);border:2px solid var(--color-accent-teal);border-radius:var(--radius-sm);transition:background-color var(--transition-fast), color var(--transition-fast);align-self:flex-start;align-items:center;padding:5px 12px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.repo-card:hover .view-repo-cta{background-color:var(--color-accent-teal);color:#06231c}.repo-card:hover .view-repo-cta .icon{color:#06231c}.repo-card .icon{color:var(--color-accent-teal);margin-right:8px}.repo-card .repo-details{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.repo-card .repo-details .star-info{align-items:center;font-weight:600;display:flex}.repo-card .repo-details .star-icon{color:#f39c12;margin-right:5px}.repo-card .clock-info{color:var(--color-text-muted);align-items:center;margin-bottom:1rem;font-size:.85rem;display:flex}.repo-card .clock-icon{color:#3498db;margin-right:5px}.repo-card.skeleton{pointer-events:none}.skeleton-line{background:linear-gradient(90deg,#ffffff14 25%,#ffffff29 37%,#ffffff14 63%) 0 0/400% 100%;border-radius:4px;height:12px;animation:1.4s infinite skeleton-shimmer}.skeleton-line.title{width:60%;height:20px;margin-bottom:14px}.skeleton-line.text{width:100%;margin-bottom:8px}.skeleton-line.text.short{width:70%}.skeleton-line.cta{border-radius:var(--radius-sm);width:40%;height:28px;margin-top:14px}@keyframes skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (width<=768px){.repo-grid{grid-template-columns:1fr;gap:15px}.repo-card{padding:15px}.repo-card h2{font-size:1.1rem}.repo-card p{margin:8px 0;font-size:.9rem}.repo-card .repo-details{gap:5px}}@media (width<=480px){.repo-card{padding:12px}.repo-card h2{font-size:1rem}.repo-card p{font-size:.85rem}}.personal-links ul{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.personal-links li{display:flex}.personal-links a{width:38px;height:38px;color:var(--color-text);border:1px solid var(--color-border);transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:#ffffff0f;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.personal-links a:hover,.personal-links a:focus-visible{background:var(--color-accent-teal);color:#06231c;transform:translateY(-2px)}.personal-links a:focus-visible{outline:2px solid var(--color-accent-gold);outline-offset:2px}.personal-links .icon{font-size:1rem}@media (width<=480px){.personal-links a{width:34px;height:34px}}footer{border-top:1px solid var(--color-border);width:100%;color:var(--color-text);text-align:center;background-color:#0a19128c;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:48px;padding:20px 40px;font-size:1rem;display:flex}footer a{color:var(--color-accent-gold);font-weight:700;text-decoration:none}footer a:hover{color:var(--color-accent-teal)}footer img{border-radius:50%;width:40px;height:40px;margin-right:10px}footer svg{margin-left:10px}@media (width<=768px){footer{flex-direction:column;gap:15px;padding:15px 20px}footer img{margin-right:0}footer a{font-size:.9rem}}@media (width<=480px){footer{width:calc(100% - 20px);padding:10px}footer a{font-size:.8rem}footer img{width:30px;height:30px}}.filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.filter-icons,.sort-controls{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pill-button{color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), transform var(--transition-fast);background:#ffffff0d;border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .85rem;font-size:.85rem;font-weight:500;display:inline-flex}.pill-button svg{font-size:.95rem}.pill-button:hover{color:var(--color-text);border-color:var(--color-border-strong);transform:translateY(-1px)}.pill-button:focus-visible{outline:2px solid var(--color-accent-gold);outline-offset:2px}.pill-button.active{color:#06231c;background:var(--color-accent-gold);border-color:var(--color-accent-gold)}@media (width<=768px){.filter-bar{flex-direction:column;align-items:stretch}.filter-icons,.sort-controls{justify-content:center}}@media (width<=480px){.pill-button span{display:none}.pill-button{padding:.5rem}.pill-button svg{font-size:1.1rem}}body{background:radial-gradient(circle at top left, #ffdd570f, transparent 40%), linear-gradient(160deg, var(--color-bg-start) 0%, var(--color-bg-mid) 55%, var(--color-bg-end) 100%);color:var(--color-text);background-attachment:fixed;min-height:100vh;margin:0;padding:0}.app{flex-direction:column;align-items:center;min-height:100vh;display:flex}.top-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);z-index:20;background:#0a19128c;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem 24px;display:flex;position:sticky;top:0}.top-bar .brand{letter-spacing:.02em;color:var(--color-text);font-size:1rem;font-weight:700}header{text-align:center;margin:40px 20px 24px}header h1{color:var(--color-accent-gold);letter-spacing:-.01em;margin:0;font-size:2.4rem;font-weight:800}header .subtitle{color:var(--color-text-muted);margin:10px 0 0;font-size:1.05rem}@media (width<=480px){header{margin:28px 16px 20px}header h1{font-size:1.6rem}header .subtitle{font-size:.9rem}}.loading,.error{text-align:center;color:var(--color-text-muted);margin:20px;font-size:1.2rem}@media (width<=480px){.loading,.error{font-size:1rem}}.empty-state{text-align:center;max-width:420px;color:var(--color-text-muted);flex-direction:column;align-items:center;gap:12px;margin:60px auto;padding:40px;display:flex}.empty-state .empty-icon{color:var(--color-accent-teal);opacity:.8;font-size:2.5rem}.repo-count-badge{background-color:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text);border-radius:999px;margin-top:18px;padding:8px 18px;font-size:1rem;font-weight:600;display:inline-block}@media (width<=480px){.repo-count-badge{padding:6px 14px;font-size:.9rem}}.toolbar{flex-direction:column;align-items:center;gap:16px;width:100%;max-width:1400px;margin:0 0 28px;padding:0 24px;display:flex}.search-bar-container{width:100%;max-width:480px;position:relative}.search-bar-container .search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-bar-container input{width:100%;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--transition-fast);outline:none;padding:10px 14px 10px 38px;font-size:1rem}.search-bar-container input::placeholder{color:var(--color-text-muted)}.search-bar-container input:focus{border-color:var(--color-accent-teal)}@media (width<=480px){.toolbar{padding:0 16px}.search-bar-container input{padding:8px 12px 8px 34px;font-size:.9rem}}main{flex:1;width:100%;max-width:1400px;padding:0 24px}@media (width<=480px){main{padding:0 16px}}
