@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";
:root{--bg:#f8fafc;--bg-gradient:radial-gradient(circle at 50% 0%, #e2e8f0 0%, #f8fafc 80%);--card-bg:#ffffffd9;--card-bg-hover:#fff;--border:#0f172a14;--border-hover:#7c3aed59;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--accent-purple:#7c3aed;--accent-cyan:#0891b2;--accent-rose:#e11d48;--accent-gradient:linear-gradient(135deg, #7c3aed 0%, #0891b2 100%);--rose-gradient:linear-gradient(135deg, #e11d48 0%, #fda4af 100%);--glow-shadow:0 4px 20px #7c3aed1f;--glass-shadow:0 10px 30px #0f172a0d, 0 1px 3px #0f172a05;--font-heading:"Outfit", sans-serif;--font-body:"Plus Jakarta Sans", sans-serif;--transition:all .3s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);background-image:var(--bg-gradient);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#0f172a1a;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#0f172a33}.container{max-width:1400px;margin:0 auto;padding:2rem}header{margin-bottom:2rem;position:relative}.header-content{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.logo-section h1{font-family:var(--font-heading);background:var(--accent-gradient);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;align-items:center;gap:.75rem;font-size:2.5rem;font-weight:800;display:flex}.logo-section p{color:var(--text-muted);margin-top:.25rem;font-size:.95rem}.header-actions{gap:1rem;display:flex}.btn{font-family:var(--font-body);border:1px solid var(--border);cursor:pointer;transition:var(--transition);color:var(--text-secondary);background:#0f172a05;border-radius:12px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{color:var(--text-primary);background:#0f172a0d;border-color:#0f172a26;transform:translateY(-2px)}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--glow-shadow);border:none}.btn-primary:hover{color:#fff;background:linear-gradient(135deg,#8b5cf6 0%,#06b6d4 100%);transform:translateY(-2px);box-shadow:0 6px 24px #7c3aed4d}.btn-sm{border-radius:8px;padding:.5rem 1rem;font-size:.8rem}.btn-outline{border:1px solid var(--accent-cyan);color:var(--accent-cyan);background:0 0}.btn-outline:hover{border-color:var(--accent-cyan);background:#0891b20d}.entity-nav{border-bottom:2px solid #0f172a14;gap:2rem;margin-bottom:2rem;display:flex;overflow-x:auto}.nav-tab{font-family:var(--font-heading);color:var(--text-muted);cursor:pointer;transition:var(--transition);white-space:nowrap;background:0 0;border:none;padding:.75rem .5rem;font-size:1.1rem;font-weight:600;position:relative}.nav-tab:hover,.nav-tab.active{color:var(--accent-purple)}.nav-tab.active:after{content:"";background:var(--accent-gradient);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-2px;left:0;right:0}.search-filter-section{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--glass-shadow);background:#ffffffb3;border-radius:20px;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem;padding:1.5rem;display:flex}.search-box{width:100%;position:relative}.search-box input{border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:var(--transition);background:#fff;border-radius:12px;padding:1rem 1rem 1rem 3rem;font-size:1rem}.search-box input:focus{border-color:var(--accent-purple);background:#fff;outline:none;box-shadow:0 0 15px #7c3aed1a}.search-box svg{color:var(--text-muted);pointer-events:none;transition:var(--transition);position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.search-box input:focus+svg{color:var(--accent-cyan)}.categories-container{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.category-pill{border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:#0f172a08;border-radius:30px;padding:.5rem 1rem;font-size:.85rem;font-weight:500}.category-pill:hover{background:#0f172a0f;border-color:#0f172a26}.category-pill.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--glow-shadow);border:none}.results-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.results-count{color:var(--text-muted);font-size:.9rem}.repo-grid{grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;display:grid}@media (max-width:900px){.repo-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (max-width:480px){.repo-grid{grid-template-columns:1fr}}.repo-card{background:var(--card-bg);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--glass-shadow);transition:var(--transition);border-radius:20px;flex-direction:column;padding:1.75rem;display:flex;position:relative;overflow:hidden}.repo-card:before{content:"";background:var(--accent-gradient);opacity:0;height:4px;transition:var(--transition);position:absolute;top:0;left:0;right:0}.repo-card:hover{border-color:var(--border-hover);background:var(--card-bg-hover);transform:translateY(-6px);box-shadow:0 15px 35px #0f172a14,0 0 25px #7c3aed0a}.repo-card:hover:before{opacity:1}.card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.card-title-area{flex-direction:column;gap:.25rem;display:flex}.repo-title{font-family:var(--font-heading);color:var(--text-primary);font-size:1.4rem;font-weight:700}.repo-github-link{color:var(--accent-cyan);transition:var(--transition);align-items:center;gap:.25rem;font-size:.8rem;font-weight:600;text-decoration:none;display:inline-flex}.repo-github-link:hover{color:var(--accent-purple);text-decoration:underline}.card-meta{align-items:center;gap:.75rem;display:flex}.repo-stars{border:1px solid var(--border);color:#d97706;background:#0f172a0a;border-radius:8px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;font-weight:700;display:flex}.card-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.badge-tag{color:var(--accent-purple);background:#7c3aed14;border:1px solid #7c3aed26}.card-description{color:var(--text-secondary);flex-grow:1;margin-bottom:1.25rem;font-size:.92rem}.card-field{border-top:1px solid #0f172a0a;margin-bottom:1rem;padding-top:.75rem}.field-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem;font-size:.75rem;font-weight:700}.replaces-content{color:#059669;font-size:.88rem;font-weight:700}.how-to-content,.code-block-snippet{color:var(--text-primary);word-break:break-word;white-space:pre-wrap;background:#f1f5f9;border:1px solid #0f172a0a;border-radius:8px;max-height:200px;padding:.5rem .75rem;font-family:Consolas,Monaco,monospace;font-size:.85rem;overflow-y:auto}.caveat-box{background:#e11d480a;border:1px solid #e11d481f;border-radius:12px;align-items:flex-start;gap:.5rem;margin-bottom:1.5rem;padding:.75rem;display:flex}.caveat-box svg{color:var(--accent-rose);flex-shrink:0;margin-top:.15rem}.caveat-text{color:#be123c;font-size:.82rem;font-weight:500;line-height:1.4}.card-actions{gap:.75rem;margin-top:auto;display:flex}.card-actions .btn{flex:1;justify-content:center}.modal-overlay{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;opacity:0;pointer-events:none;background:#0f172a66;justify-content:center;align-items:center;padding:1rem;transition:opacity .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:all}.modal-container{width:100%;max-width:650px;box-shadow:0 25px 50px -12px #0f172a26, var(--glow-shadow);background:#fff;border:1px solid #0f172a14;border-radius:24px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;transform:scale(.95)translateY(10px)}.modal-overlay.active .modal-container{transform:scale(1)translateY(0)}.modal-header{background:#0f172a03;border-bottom:1px solid #0f172a0f;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.modal-title{font-family:var(--font-heading);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.5rem;font-weight:700}.modal-close{color:var(--text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.modal-close:hover{color:var(--text-primary);background:#0f172a0d}.modal-body{flex-direction:column;gap:1.5rem;max-height:70vh;padding:2rem;display:flex;overflow-y:auto}.wizard-step-title{color:var(--text-secondary);font-size:1rem;font-weight:600}.preset-options{grid-template-columns:repeat(2,1fr);gap:.75rem;display:grid}@media (max-width:600px){.preset-options{grid-template-columns:1fr}}.preset-btn{border:1px solid var(--border);color:var(--text-secondary);text-align:left;cursor:pointer;transition:var(--transition);background:#0f172a03;border-radius:12px;flex-direction:column;gap:.25rem;padding:1rem;display:flex}.preset-btn:hover{background:#7c3aed0a;border-color:#7c3aed33;transform:translateY(-2px)}.preset-btn-title{color:var(--text-primary);font-size:.9rem;font-weight:700}.preset-btn-desc{color:var(--text-muted);font-size:.78rem}.text-divider{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;align-items:center;font-size:.75rem;font-weight:700;display:flex}.text-divider:before,.text-divider:after{content:"";border-bottom:1px solid #0f172a0f;flex:1}.text-divider:not(:empty):before{margin-right:1rem}.text-divider:not(:empty):after{margin-left:1rem}.idea-input-wrapper{flex-direction:column;gap:.5rem;display:flex}.idea-input-wrapper textarea{border:1px solid var(--border);width:100%;color:var(--text-primary);font-family:var(--font-body);resize:vertical;min-height:80px;transition:var(--transition);background:#fff;border-radius:12px;padding:1rem;font-size:.95rem}.idea-input-wrapper textarea:focus{border-color:var(--accent-purple);background:#fff;outline:none}.recommendation-result{background:#0891b205;border:1px solid #0891b226;border-radius:16px;flex-direction:column;gap:1rem;padding:1.5rem;animation:.4s ease-out fadeIn;display:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.recommendation-result.active{display:flex}.result-badge{color:var(--accent-cyan);background:#0891b214;border:1px solid #0891b226;align-self:flex-start;font-weight:700}.recommended-repo-info{flex-direction:column;gap:.25rem;display:flex}.recommended-name{font-family:var(--font-heading);color:var(--text-primary);font-size:1.3rem;font-weight:700}.recommended-desc{color:var(--text-secondary);font-size:.88rem}.prompt-area{background:#f1f5f9;border:1px solid #0f172a0d;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex;position:relative}.prompt-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:180px;font-family:Consolas,Monaco,monospace;font-size:.85rem;line-height:1.5;overflow-y:auto}.toast{background:var(--accent-gradient);color:#fff;box-shadow:0 10px 25px #0f172a26, var(--glow-shadow);z-index:1100;opacity:0;border-radius:12px;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),opacity .3s;position:fixed;bottom:2rem;right:2rem;transform:translateY(100px)}.toast.show{opacity:1;transform:translateY(0)}footer{border-top:1px solid var(--border);text-align:center;color:var(--text-muted);flex-direction:column;gap:.5rem;margin-top:5rem;padding:2rem 0;font-size:.85rem;display:flex}.footer-links{justify-content:center;gap:1.5rem;margin-bottom:.5rem;display:flex}.footer-links a{color:var(--text-muted);transition:var(--transition);text-decoration:none}.footer-links a:hover{color:var(--accent-purple)}
