@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap");[data-app=zipcode]{--primary:210 55% 30%;--primary-foreground:0 0% 100%;--primary-hover:210 55% 25%;--accent:217 91% 60%;--accent-foreground:0 0% 100%;--background:210 15% 97%;--foreground:210 40% 12%;--card:210 10% 99%;--card-foreground:210 40% 12%;--popover:210 10% 99%;--popover-foreground:210 40% 12%;--secondary:210 15% 94%;--secondary-foreground:210 40% 18%;--muted:210 12% 94%;--muted-foreground:210 10% 45%;--border:210 15% 88%;--input:210 15% 88%;--ring:210 55% 30%;--destructive:0 84% 60%;--destructive-foreground:0 0% 100%;--radius:0.5rem;--font-sans:"Inter",system-ui,sans-serif;--font-display:"Inter",system-ui,sans-serif}.dark [data-app=zipcode],[data-app=zipcode].dark{--background:210 40% 6%;--foreground:0 0% 95%;--card:210 35% 9%;--card-foreground:0 0% 95%;--popover:210 35% 9%;--popover-foreground:0 0% 95%;--secondary:210 25% 14%;--secondary-foreground:0 0% 92%;--muted:210 20% 15%;--muted-foreground:210 10% 60%;--border:210 20% 20%;--input:210 20% 20%}[data-app=zipcode]{font-family:var(--font-sans)}[data-app=zipcode] .font-display{font-family:var(--font-display)!important;font-weight:800}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-app=zipcode] .animate-fade-in-up{animation:fadeInUp .55s cubic-bezier(.22,1,.36,1) both}[data-app=zipcode] .animate-fade-in{animation:fadeIn .4s ease-out both}[data-app=zipcode] .animate-scale-in{animation:scaleIn .45s cubic-bezier(.22,1,.36,1) both}[data-app=zipcode] .delay-100{animation-delay:.1s}[data-app=zipcode] .delay-200{animation-delay:.2s}[data-app=zipcode] .delay-300{animation-delay:.3s}@media (prefers-reduced-motion:reduce){[data-app=zipcode] .animate-fade-in,[data-app=zipcode] .animate-fade-in-up,[data-app=zipcode] .animate-scale-in{animation:none!important;opacity:1!important;transform:none!important}}[data-app=zipcode] .hero-section{position:relative;overflow:hidden}[data-app=zipcode] .hero-pattern{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 20% 50%,hsl(210 55% 30%/.04) 0,transparent 50%),radial-gradient(circle at 80% 25%,hsl(217 91% 60%/.05) 0,transparent 40%)}[data-app=zipcode] .section-eyebrow{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:hsl(var(--primary));display:block}[data-app=zipcode] .search-wrapper{position:relative}[data-app=zipcode] .search-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:hsl(var(--muted-foreground));pointer-events:none}[data-app=zipcode] .search-input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:var(--radius);font-family:var(--font-sans);font-size:.9375rem;color:hsl(var(--foreground));outline:none;transition:border-color .18s ease,box-shadow .18s ease}[data-app=zipcode] .search-input::placeholder{color:hsl(var(--muted-foreground));font-weight:300}[data-app=zipcode] .search-input:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.12)}[data-app=zipcode] .zip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}[data-app=zipcode] .zip-card{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:1.125rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .1s ease;position:relative}[data-app=zipcode] .zip-card:hover{border-color:hsl(var(--primary));box-shadow:0 4px 16px hsl(210 40% 12%/.08);transform:translateY(-2px)}[data-app=zipcode] .zip-code{font-family:var(--font-sans);font-size:.6875rem;font-weight:700;letter-spacing:.08em;color:hsl(var(--primary));background:hsl(var(--primary)/.08);padding:.15rem .5rem;border-radius:.25rem}[data-app=zipcode] .col-badge{font-size:.6875rem;font-weight:600;letter-spacing:.02em;padding:.15rem .5rem;border:1px solid;border-radius:99px}[data-app=zipcode] .stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}[data-app=zipcode] .stat-item{display:flex;flex-direction:column;gap:.0625rem}[data-app=zipcode] .stat-label{font-size:.625rem;color:hsl(var(--muted-foreground));font-weight:500;text-transform:uppercase;letter-spacing:.04em}[data-app=zipcode] .stat-value{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}[data-app=zipcode] .compare-btn{width:100%;padding:.4375rem;margin-top:.75rem;border:1.5px solid hsl(var(--border));border-radius:var(--radius);background:transparent;color:hsl(var(--muted-foreground));font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease;font-family:var(--font-sans)}[data-app=zipcode] .compare-btn:hover{border-color:hsl(var(--primary));color:hsl(var(--primary));background:hsl(var(--primary)/.05)}[data-app=zipcode] .compare-btn.active{border-color:hsl(var(--primary));background:hsl(var(--primary));color:hsl(var(--primary-foreground))}[data-app=zipcode] .detail-overlay{position:fixed;inset:0;background:hsl(210 40% 12%/.6);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:2rem}[data-app=zipcode] .detail-card{background:hsl(var(--card));border-radius:calc(var(--radius) * 2);padding:clamp(1.5rem,4vw,2.5rem);max-width:580px;width:100%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 8px 40px hsl(210 40% 12%/.2)}[data-app=zipcode] .detail-close{position:absolute;top:1rem;right:1rem;background:hsl(var(--muted));border:none;border-radius:99px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:hsl(var(--foreground));transition:background .15s ease}[data-app=zipcode] .detail-close:hover{background:hsl(var(--border))}[data-app=zipcode] .detail-bars{display:flex;flex-direction:column;gap:.875rem}[data-app=zipcode] .bar-row{display:flex;flex-direction:column;gap:.25rem}[data-app=zipcode] .bar-label-row{display:flex;justify-content:space-between;align-items:baseline}[data-app=zipcode] .bar-label{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}[data-app=zipcode] .bar-value{font-size:.8125rem;font-weight:600;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}[data-app=zipcode] .bar-track{height:8px;background:hsl(var(--muted));border-radius:99px;overflow:hidden}[data-app=zipcode] .bar-fill{height:100%;border-radius:99px;transition:width .6s cubic-bezier(.22,1,.36,1)}[data-app=zipcode] .industry-badge{display:inline-block;padding:.25rem .625rem;background:hsl(var(--muted));border-radius:99px;font-size:.75rem;font-weight:500;color:hsl(var(--foreground))}[data-app=zipcode] .stat-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem}[data-app=zipcode] .highlight-card{background:hsl(var(--card));border:1.5px solid hsl(var(--border));border-radius:var(--radius);padding:1rem;text-align:center}[data-app=zipcode] .highlight-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--primary));margin-bottom:.5rem}[data-app=zipcode] .highlight-zip{font-size:.75rem;font-weight:700;color:hsl(var(--accent))}[data-app=zipcode] .highlight-city{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:.125rem 0}[data-app=zipcode] .highlight-value{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));font-variant-numeric:tabular-nums}[data-app=zipcode] .compare-table-wrapper{overflow-x:auto}[data-app=zipcode] .compare-table{width:100%;border-collapse:collapse;font-size:.875rem}[data-app=zipcode] .compare-table td,[data-app=zipcode] .compare-table th{padding:.625rem .875rem;text-align:left;border-bottom:1px solid hsl(var(--border));vertical-align:top}[data-app=zipcode] .compare-table th{font-weight:600}[data-app=zipcode] .compare-label{font-weight:600;color:hsl(var(--muted-foreground));white-space:nowrap;font-size:.8125rem}[data-app=zipcode] header{border-bottom:1.5px solid hsl(var(--border));background:hsl(var(--background)/.95);backdrop-filter:blur(12px)}[data-app=zipcode] header a.brand-link{font-family:var(--font-display);font-weight:700;font-size:1.0625rem;letter-spacing:-.01em}