*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--surface:#111118;--text-primary:#e8e6f0;--text-secondary:#7a7589;--text-tertiary:#4a4760;--lang-color:#8b5cf6;--font-display:system-ui, sans-serif;--font-body:system-ui, sans-serif;--font-mono:ui-monospace, monospace}html,body{background:var(--bg);height:100%;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden}#app{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");background-size:256px 256px;background-color:var(--bg);height:100dvh;position:relative;overflow:hidden}.feed{scroll-snap-type:y mandatory;scroll-behavior:auto;overscroll-behavior-y:none;scrollbar-width:none;height:100dvh;overflow-y:scroll}.feed::-webkit-scrollbar{display:none}.card{scroll-snap-align:start;scroll-snap-stop:always;align-items:center;height:100dvh;display:flex;position:relative;overflow:hidden}.card-bg{background:radial-gradient(ellipse 60% 80% at 15% 85%, color-mix(in srgb, var(--lang-color) 8%, transparent) 0%, transparent 70%), radial-gradient(ellipse 40% 50% at 90% 10%, color-mix(in srgb, var(--lang-color) 4%, transparent) 0%, transparent 60%);pointer-events:none;position:absolute;inset:0}.card:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--lang-color) 40%, transparent) 30%, color-mix(in srgb, var(--lang-color) 40%, transparent) 70%, transparent);height:1px;position:absolute;top:0;left:clamp(2rem,5vw,4rem);right:clamp(2rem,5vw,4rem)}.card--loading,.card--rate-limit{justify-content:center}.card-content{z-index:1;flex-direction:column;gap:1rem;width:100%;max-width:680px;padding:clamp(2rem,5vw,4rem);display:flex;position:relative}.card-header{align-items:center;gap:.6rem;margin-bottom:.25rem;display:flex}.card-avatar{border:1.5px solid color-mix(in srgb, var(--lang-color) 50%, transparent);background:var(--surface);border-radius:50%;width:28px;height:28px}.card-owner{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--lang-color);opacity:.9;font-size:.8rem;font-weight:500}.card-repo-name{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text-primary);word-break:break-word;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}.card-description{color:var(--text-secondary);max-width:42ch;font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:300;line-height:1.65}.card-stats{flex-wrap:wrap;align-items:center;gap:1.25rem;display:flex}.card-stat{font-family:var(--font-mono);color:var(--text-secondary);font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.card-stat svg{color:color-mix(in srgb, var(--lang-color) 80%, var(--text-secondary));flex-shrink:0}.card-language{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.875rem;font-weight:500;display:flex}.card-lang-dot{background:var(--lang-color);border-radius:50%;flex-shrink:0;width:11px;height:11px;animation:3s ease-in-out infinite pulse-dot;display:inline-block}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.card-topics{flex-wrap:wrap;gap:.45rem;display:flex}.card-topic{font-size:.75rem;font-weight:500;font-family:var(--font-mono);color:color-mix(in srgb, var(--lang-color) 90%, var(--text-primary));background:color-mix(in srgb, var(--lang-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--lang-color) 25%, transparent);letter-spacing:.02em;border-radius:100px;padding:.2em .65em;display:inline-block}.card-link{border:1.5px solid color-mix(in srgb, var(--lang-color) 45%, transparent);width:fit-content;color:var(--text-primary);border-radius:100px;align-items:center;gap:.4rem;margin-top:.5rem;padding:.55em 1.1em;font-size:.875rem;font-weight:500;text-decoration:none;transition:box-shadow .2s,border-color .2s,background .2s;display:inline-flex}.card-link:hover{border-color:var(--lang-color);background:color-mix(in srgb, var(--lang-color) 8%, transparent);box-shadow:0 0 22px color-mix(in srgb, var(--lang-color) 30%, transparent)}.swipe-hint{pointer-events:none;z-index:2;flex-direction:column;align-items:center;gap:.3rem;animation:2s ease-in-out infinite swipe-bob;display:flex;position:absolute;bottom:clamp(1.5rem,4vw,2.5rem);left:50%;transform:translate(-50%)}.swipe-hint__arrow{color:var(--text-tertiary);font-size:1.25rem;display:block}.swipe-hint__text{letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-size:.7rem;font-weight:500}@keyframes swipe-bob{0%,to{opacity:.6;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(-8px)}}.skeleton-content{flex-direction:column;gap:1rem;width:100%;max-width:540px;padding:clamp(2rem,5vw,4rem);display:flex}.skeleton{background:linear-gradient(90deg, var(--surface) 25%, color-mix(in srgb, var(--text-tertiary) 30%, var(--surface)) 50%, var(--surface) 75%);background-size:200% 100%;border-radius:6px;animation:1.6s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--header{border-radius:100px;width:180px;height:28px}.skeleton--title{width:85%;height:52px}.skeleton--title-short{width:55%}.skeleton--body{width:90%;height:16px}.skeleton--stats{width:220px;height:18px;margin-top:.5rem}.skeleton--tags{border-radius:100px;width:300px;height:26px;margin-top:.25rem}.card--rate-limit .card-repo-name{color:var(--text-secondary);font-size:clamp(1.5rem,3vw,2rem)}@media (width<=480px){.swipe-hint{bottom:2rem}}
