:root{--bg:#0a0a0f;--text:#e8e4df;--text-secondary:#ffffff8c;--text-muted:#ffffff59;--accent-purple:#c9a0ff;--accent-blue:#7eb8ff;--border:#ffffff0f;--border-hover:#ffffff24;--card-bg:#ffffff05;--card-bg-hover:#ffffff0d;--ease-out:cubic-bezier(.16, 1, .3, 1);--font-sans:"Inter", "Noto Sans KR", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--text);line-height:1.6;overflow-x:hidden}a{color:var(--accent-purple);transition:color .3s var(--ease-out);text-decoration:none}a:hover{color:var(--accent-blue)}.i18n-toggle{z-index:100;border:1px solid var(--border);cursor:pointer;-webkit-backdrop-filter:blur(12px);transition:all .3s var(--ease-out);background:#ffffff0f;border-radius:100px;align-items:center;gap:6px;padding:6px 16px;display:flex;position:fixed;top:24px;right:24px}.i18n-toggle:hover{border-color:var(--border-hover);background:#ffffff1a}.i18n-option{letter-spacing:1px;color:var(--text-muted);font-size:11px;font-weight:500;transition:color .2s}.i18n-option.active{color:var(--text)}.i18n-divider{color:var(--text-muted);font-size:11px}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100dvh;padding:0 24px;display:flex;position:relative;overflow:hidden}.hero-glow{pointer-events:none;background:radial-gradient(#6450c814 0%,#0000 70%);width:600px;height:400px;position:absolute;top:20%;left:50%;transform:translate(-50%)}.hero-tag{letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);opacity:0;margin-bottom:24px;font-size:11px}.hero-title{letter-spacing:-1px;opacity:0;margin-bottom:24px;font-size:clamp(32px,6vw,64px);font-weight:200;line-height:1.15}.hero-title em{background:linear-gradient(135deg, var(--accent-purple), var(--accent-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:300}.hero-sub{color:var(--text-secondary);opacity:0;max-width:520px;margin-bottom:20px;font-size:clamp(14px,2vw,17px);font-weight:300;line-height:1.7}.hero-author{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);transition:all .3s var(--ease-out);opacity:0;border-bottom:1px solid #ffffff1f;margin-bottom:48px;padding-bottom:2px;font-size:13px;font-weight:400;text-decoration:none}.hero-author:hover{color:var(--text);border-color:#fff6}.scroll-hint{opacity:0;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:40px}.scroll-hint span{letter-spacing:3px;text-transform:uppercase;color:var(--text-muted);font-size:10px}.scroll-line{background:linear-gradient(#ffffff4d,#0000);width:1px;height:40px}.stats-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:center;gap:60px;padding:72px 24px;display:flex}.stat{text-align:center}.stat-num{background:linear-gradient(135deg,#fff,#fff9);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:40px;font-weight:200;line-height:1}.stat-label{letter-spacing:2.5px;text-transform:uppercase;color:var(--text-muted);margin-top:10px;font-size:10px}.category-nav{z-index:50;background:linear-gradient(to bottom, var(--bg) 60%, transparent);flex-wrap:wrap;justify-content:center;gap:10px;padding:48px 24px 32px;display:flex;position:sticky;top:0}.cat-pill{border:1px solid var(--border);font-family:var(--font-sans);letter-spacing:.5px;color:var(--text-secondary);cursor:pointer;transition:all .3s var(--ease-out);white-space:nowrap;background:0 0;border-radius:100px;padding:8px 20px;font-size:12px;font-weight:400}.cat-pill:hover{border-color:var(--border-hover);color:var(--text);background:#ffffff0f}.cat-pill:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.cat-pill[aria-pressed=true]{color:var(--text);background:#ffffff1a;border-color:#ffffff40;font-weight:500}.section-label{text-align:center;padding:64px 24px 0}.section-label h2{letter-spacing:4px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:500}.featured-container{max-width:1000px;margin:0 auto;padding:32px 24px}.repo-card.featured{grid-template-columns:1fr 1fr;align-items:center;gap:48px;padding:48px;display:grid}.featured-visual{background:#ffffff08;border:1px dashed #ffffff14;border-radius:12px;justify-content:center;align-items:center;min-height:220px;display:flex;position:relative;overflow:hidden}.featured-visual-inner{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);font-size:11px}.featured-stars{color:var(--text);align-items:center;gap:8px;font-size:28px;font-weight:200;display:flex}.featured-stars svg{width:20px;height:20px;fill:var(--accent-purple);opacity:.7}.repo-grid{grid-template-columns:repeat(2,1fr);gap:20px;max-width:1000px;margin:0 auto;padding:32px 24px 80px;display:grid}.repo-card{background:var(--card-bg);border:1px solid var(--border);transition:all .4s var(--ease-out);cursor:pointer;color:inherit;border-radius:16px;padding:32px;text-decoration:none;display:block;position:relative;overflow:hidden}.repo-card:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-purple), transparent);opacity:0;height:1px;transition:opacity .4s;position:absolute;top:0;left:0;right:0}.repo-card:hover{background:var(--card-bg-hover);border-color:var(--border-hover);transform:translateY(-4px)}.repo-card:hover:before{opacity:.6}.repo-card:focus-visible{outline:2px solid var(--accent-purple);outline-offset:2px}.repo-category{letter-spacing:2px;text-transform:uppercase;color:#c8a0ff99;margin-bottom:12px;font-size:10px}.repo-name{margin-bottom:10px;font-size:18px;font-weight:500;line-height:1.3}.repo-card.featured .repo-name{font-size:26px;font-weight:400}.repo-desc{color:var(--text-secondary);margin-bottom:20px;font-size:13px;line-height:1.7}.repo-meta{color:var(--text-muted);align-items:center;gap:16px;font-size:12px;display:flex}.repo-meta .lang-dot{border-radius:50%;width:8px;height:8px;margin-right:4px;display:inline-block}.repo-meta .star-icon{align-items:center;gap:3px;display:inline-flex}.repo-meta .star-icon svg{fill:currentColor;opacity:.6;width:12px;height:12px}.site-footer{text-align:center;border-top:1px solid var(--border);padding:80px 24px}.footer-links{justify-content:center;gap:24px;margin-bottom:20px;display:flex}.footer-links a{letter-spacing:1px;color:var(--text-secondary);font-size:13px;font-weight:500;transition:color .3s}.footer-links a:hover{color:var(--text)}.footer-note{color:var(--text-muted);margin-bottom:8px;font-size:11px}.footer-copy{color:var(--text-muted);font-size:11px}@media (width<=1024px){.stats-bar{gap:40px}}@media (width<=768px){.hero-title{font-size:clamp(28px,8vw,40px)}.stats-bar{grid-template-columns:1fr 1fr;gap:32px 40px;padding:48px 24px;display:grid}.category-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;gap:8px;padding:32px 24px 24px;overflow-x:auto}.category-nav::-webkit-scrollbar{display:none}.repo-grid{grid-template-columns:1fr;gap:16px;padding:24px 16px 64px}.repo-card.featured{grid-template-columns:1fr;gap:24px;padding:32px}.featured-container{padding:24px 16px}.i18n-toggle{top:16px;right:16px}.repo-card{padding:24px}.repo-card:hover{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.hero-tag,.hero-title,.hero-sub,.hero-author,.scroll-hint,.repo-card{opacity:1!important;transform:none!important}}
