:root{--color-navy:#181d26;--color-blue:#1b61c9;--color-blue-hover:#254fad;--color-white:#fff;--color-border:#e0e2e6;--color-surface:#f8fafc;--color-text-weak:#040e20b0;--color-text-secondary:#333;--font-primary:"Plus Jakarta Sans", -apple-system, system-ui, Segoe UI, Roboto, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:2px;--radius-md:12px;--radius-lg:16px;--shadow-card:0 0 0 1px #0000000f, 0 1px 3px #00000014, 0 0 0 .5px inset;--shadow-blue:0 1px 3px #2d7ff947;--ease-out:cubic-bezier(.25, 1, .5, 1);--duration-fast:.15s;--duration-normal:.25s}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:var(--font-primary);background-color:var(--color-white);color:var(--color-navy);letter-spacing:.08px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}#root{flex-direction:column;min-height:100vh;display:flex}.container{max-width:1200px;padding:0 var(--space-6);width:100%;margin:0 auto}::selection{background-color:var(--color-blue);color:var(--color-white)}.header{background-color:var(--color-white);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:64px;display:flex}.logo{align-items:center;gap:var(--space-2);font-family:var(--font-primary);letter-spacing:-.3px;font-size:17px;font-weight:700;display:flex}.logo:hover{opacity:.8}.logo-mark{background-color:var(--color-blue);color:var(--color-white);letter-spacing:.5px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}.logo-text{color:var(--color-navy)}.nav{align-items:center;gap:var(--space-6);display:flex}.nav-label{color:var(--color-text-weak);letter-spacing:.1px;font-size:13px;font-weight:500}.category-filter{padding:var(--space-6) 0}.category-list{gap:var(--space-2);flex-wrap:wrap;display:flex}.category-btn{font-family:var(--font-primary);letter-spacing:.1px;color:var(--color-text-weak);padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);background-color:#0000;font-size:13px;font-weight:500}.category-btn:hover{color:var(--color-navy);border-color:var(--color-navy)}.category-btn.active{color:var(--color-white);background-color:var(--color-blue);border-color:var(--color-blue)}.app-card{background-color:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card);transition:box-shadow var(--duration-normal) var(--ease-out), transform var(--duration-normal) var(--ease-out), border-color var(--duration-normal) var(--ease-out);animation:card-in .4s var(--ease-out) both;flex-direction:column;display:flex}.app-card:hover{border-color:var(--color-blue);transform:translateY(-2px);box-shadow:0 4px 12px #2d7ff926,0 0 0 1px #1b61c933}.app-card-header{margin-bottom:var(--space-4)}.app-card-category{letter-spacing:1px;text-transform:uppercase;color:var(--color-blue);font-size:11px;font-weight:600}.app-card-body{margin-bottom:var(--space-4);flex:1}.app-card-name{letter-spacing:-.3px;margin-bottom:var(--space-2);font-size:20px;font-weight:700;line-height:1.2}.app-card-description{color:var(--color-text-secondary);margin-bottom:var(--space-3);letter-spacing:.08px;font-size:13px;font-weight:500}.app-card-overview{color:var(--color-navy);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:14px;line-height:1.6;display:-webkit-box;overflow:hidden}.app-card-footer{padding-top:var(--space-4);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.app-card-pricing{letter-spacing:.3px;color:var(--color-blue);text-transform:uppercase;font-size:12px;font-weight:600}.app-card-arrow{color:var(--color-text-weak);transition:transform var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);font-size:18px}.app-card:hover .app-card-arrow{color:var(--color-blue);transform:translate(4px)}@keyframes card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.app-card:first-child{animation-delay:0s}.app-card:nth-child(2){animation-delay:60ms}.app-card:nth-child(3){animation-delay:.12s}.app-card:nth-child(4){animation-delay:.18s}.app-card:nth-child(5){animation-delay:.24s}.app-card:nth-child(6){animation-delay:.3s}.app-card:nth-child(7){animation-delay:.36s}.app-card:nth-child(8){animation-delay:.42s}.app-card:nth-child(9){animation-delay:.48s}.app-card:nth-child(10){animation-delay:.54s}.app-card:nth-child(11){animation-delay:.6s}.app-card:nth-child(12){animation-delay:.66s}.home-page{padding:var(--space-12) 0 var(--space-16);flex:1}.hero{padding:var(--space-8) 0 var(--space-8)}.hero-title{letter-spacing:-1px;margin-bottom:var(--space-4);color:var(--color-navy);font-size:40px;font-weight:800;line-height:1.15}.hero-subtitle{color:var(--color-text-secondary);letter-spacing:.1px;max-width:50ch;font-size:17px;font-weight:400;line-height:1.6}.apps-section{margin-top:var(--space-4)}.apps-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.no-results{text-align:center;padding:var(--space-16) 0}.no-results-text{color:var(--color-text-weak);margin-bottom:var(--space-4);font-size:15px}.no-results-btn{letter-spacing:.2px;color:var(--color-white);background-color:var(--color-blue);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out);font-size:14px;font-weight:600}.no-results-btn:hover{background-color:var(--color-blue-hover)}@media (width<=640px){.hero-title{font-size:32px}.apps-grid{grid-template-columns:1fr}}.detail-page{padding:var(--space-8) 0 var(--space-16);flex:1}.back-link{color:var(--color-text-weak);margin-bottom:var(--space-8);transition:color var(--duration-fast) var(--ease-out);font-size:14px;font-weight:500;display:inline-block}.back-link:hover{color:var(--color-blue)}.detail-article{max-width:680px}.detail-header{margin-bottom:var(--space-10);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.detail-meta{align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.detail-category{letter-spacing:1px;text-transform:uppercase;color:var(--color-blue);font-size:11px;font-weight:600}.detail-pricing-tag{letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-weak);background-color:var(--color-surface);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:11px;font-weight:600}.detail-title{letter-spacing:-1px;margin-bottom:var(--space-3);color:var(--color-navy);font-size:40px;font-weight:800;line-height:1.1}.detail-description{color:var(--color-text-secondary);font-size:17px;line-height:1.5}.detail-body{margin-bottom:var(--space-10)}.detail-section{margin-bottom:var(--space-8)}.detail-section-label{letter-spacing:1px;text-transform:uppercase;color:var(--color-text-weak);margin-bottom:var(--space-3);font-size:11px;font-weight:700}.detail-text{color:var(--color-navy);letter-spacing:.1px;font-size:16px;line-height:1.75}.detail-footer{padding-top:var(--space-8);border-top:1px solid var(--color-border)}.visit-btn{align-items:center;gap:var(--space-2);letter-spacing:.2px;color:var(--color-white);background-color:var(--color-blue);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);transition:background-color var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out);font-size:14px;font-weight:600;display:inline-flex}.visit-btn:hover{background-color:var(--color-blue-hover);transform:translateY(-1px)}.visit-btn:active{transform:translateY(0)}.visit-arrow{font-size:16px}.not-found{text-align:left;padding:var(--space-16) 0}.not-found-title{letter-spacing:-.5px;margin-bottom:var(--space-4);font-size:32px;font-weight:700}@media (width<=640px){.detail-title{font-size:32px}}
