@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,600;0,9..40,700;0,9..40,800;0,9..40,900;1,9..40,400&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green:#0f8;--red:#ff6b6b;--teal:#4ecdc4;--amber:#ff9f43;--bg:#080810;--surface:#ffffff09;--border:#ffffff12;--text:#e0e0e8;--muted:#888;--dim:#444}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:DM Sans,system-ui,sans-serif;line-height:1.5}.app{min-height:100vh;position:relative;overflow-x:hidden}.grid-bg{pointer-events:none;z-index:0;background-image:linear-gradient(#00ff8806 1px,#0000 1px),linear-gradient(90deg,#00ff8806 1px,#0000 1px);background-size:40px 40px;position:fixed;inset:0}.container{z-index:1;max-width:680px;margin:0 auto;padding:0 20px;position:relative}.header{background:linear-gradient(#00ff880d 0%,#0000 100%);border-bottom:1px solid #00ff881f;margin-bottom:28px;padding:24px 0 0}.live-badge{letter-spacing:3px;color:var(--green);text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.pulse-dot{background:var(--green);width:8px;height:8px;box-shadow:0 0 8px var(--green), 0 0 16px #0f86;border-radius:50%;animation:2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.logo{letter-spacing:-1px;background:linear-gradient(135deg, #fff 20%, var(--green) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:6px;font-size:34px;font-weight:900}.tagline{color:var(--muted);max-width:480px;font-size:14px;line-height:1.4}.nav{gap:4px;margin:16px 0 0;display:flex}.nav-btn{color:var(--dim);letter-spacing:.5px;cursor:pointer;background:0 0;border:none;border-radius:8px 8px 0 0;padding:9px 22px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.nav-btn.active{color:var(--green);border:1px solid #0f83;border-bottom-color:var(--bg);background:#00ff881a}.nav-btn:hover:not(.active){color:#aaa}.main{padding-bottom:80px}.fade-in{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.info-box{color:#c0c0cc;background:#00ff880f;border:1px solid #00ff8824;border-radius:10px;margin-bottom:24px;padding:14px 18px;font-size:14px;line-height:1.5}.info-box strong{color:var(--green)}.field-label{text-transform:uppercase;letter-spacing:2px;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.text-input{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff0a;border-radius:8px;outline:none;margin-bottom:20px;padding:13px 16px;font-family:inherit;font-size:16px;transition:border-color .2s}.text-input:focus{border-color:#0f86}.text-input::placeholder{color:var(--dim)}.cat-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px;display:grid}.cat-btn{border:1px solid var(--border);background:var(--surface);color:#aaa;cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s;display:flex}.cat-btn:hover{color:#ddd;border-color:#ffffff26}.cat-btn.selected{border-color:var(--green);color:var(--green);background:#00ff881a}.cat-icon{font-size:16px}.range-grid{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.range-btn{border:1px solid var(--border);background:var(--surface);color:#aaa;cursor:pointer;border-radius:8px;flex:1;min-width:80px;padding:11px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.range-btn:hover{color:#ddd;border-color:#ffffff26}.range-btn.selected{border-color:var(--green);color:var(--green);background:#00ff881a}.toggle-optional{color:var(--dim);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:6px 0 14px;font-family:inherit;font-size:12px;text-decoration:underline}.optional-box{background:#ffffff05;border:1px solid #ffffff0d;border-radius:10px;margin-bottom:16px;padding:18px}.price-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;display:grid}.error-msg{color:var(--red);background:#ff6b6b14;border:1px solid #ff6b6b33;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:13px}.submit-btn{background:linear-gradient(135deg, var(--green), #00cc6a);color:#000;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;border:none;border-radius:10px;width:100%;padding:16px;font-family:inherit;font-size:15px;font-weight:800;transition:all .2s;display:block;box-shadow:0 4px 24px #00ff8840}.submit-btn:hover:not(.disabled){transform:translateY(-1px);box-shadow:0 8px 32px #00ff8859}.submit-btn.disabled{background:var(--surface);color:var(--dim);cursor:default;box-shadow:none}.fine-print{color:var(--dim);text-align:center;margin-top:14px;font-size:11px;line-height:1.5}.submitted-state{text-align:center;padding:60px 20px;animation:.4s fadeIn}.check{color:var(--green);text-shadow:0 0 20px #00ff8880;margin-bottom:12px;font-size:52px}.submitted-state h2{color:var(--green);margin-bottom:8px;font-size:22px}.submitted-state p{color:var(--muted)}.stat-grid{grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:12px;padding:16px 12px}.stat-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);margin-bottom:6px;font-size:10px;font-weight:600}.stat-value{font-size:26px;font-weight:900}.stat-value.green{color:var(--green)}.stat-value.red{color:var(--red)}.stat-value.teal{color:var(--teal)}.annual-callout{text-align:center;background:linear-gradient(135deg,#ff6b6b14,#ff6b6b08);border:1px solid #ff6b6b33;border-radius:14px;margin-bottom:28px;padding:20px}.annual-label{text-transform:uppercase;letter-spacing:2px;color:var(--red);margin-bottom:8px;font-size:10px;font-weight:700}.annual-value{color:var(--red);font-size:42px;font-weight:900;line-height:1}.annual-sub{color:var(--muted);margin-top:6px;font-size:11px}.section-title{text-transform:uppercase;letter-spacing:2px;color:var(--dim);border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px;font-size:11px;font-weight:700}.bar-list{margin-bottom:28px}.bar-row{margin-bottom:12px}.bar-meta{align-items:center;gap:8px;margin-bottom:5px;display:flex}.bar-name{color:#ccc;flex:1;font-size:13px;font-weight:600}.bar-count{color:var(--dim);font-size:11px}.bar-avg{font-size:13px;font-weight:700}.bar-track{background:#ffffff0d;border-radius:4px;height:7px;overflow:hidden}.bar-fill{border-radius:4px;height:100%;transition:width .6s}.green-grad{background:linear-gradient(90deg, var(--green), var(--teal))}.chart-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:28px;padding:16px}.state-list{margin-bottom:28px}.state-row{border-bottom:1px solid #ffffff0a;align-items:center;gap:10px;padding:9px 0;display:flex}.rank{color:var(--dim);min-width:24px;font-size:11px;font-weight:800}.rank.top{color:var(--red)}.state-name{min-width:32px;font-size:14px;font-weight:700}.state-track{background:#ffffff0d;border-radius:3px;flex:1;height:6px;overflow:hidden}.state-fill{border-radius:3px;height:100%;transition:width .5s}.red-grad{background:linear-gradient(90deg, var(--red), var(--amber))}.teal-grad{background:linear-gradient(90deg, var(--teal), var(--green))}.state-avg{text-align:right;min-width:62px;font-size:13px;font-weight:700}.state-count{color:var(--dim);min-width:28px;font-size:11px}.red{color:var(--red)}.teal{color:var(--teal)}.product-grid{gap:8px;margin-bottom:20px;display:grid}.product-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;display:flex}.product-icon{font-size:20px}.product-info{flex:1}.product-name{color:#ccc;font-size:13px;font-weight:600}.product-loc{color:var(--dim);margin-top:2px;font-size:11px}.product-price{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.old-price{color:var(--dim);text-decoration:line-through}.arrow{color:var(--dim)}.new-price{color:var(--red);font-weight:700}.pct-change{color:var(--red);background:#ff6b6b26;border-radius:4px;padding:2px 6px;font-size:11px;font-weight:800}.loading{text-align:center;color:var(--dim);padding:60px;font-size:14px}@media (width<=480px){.logo{font-size:28px}.annual-value{font-size:34px}.cat-grid{grid-template-columns:1fr 1fr}.range-btn{min-width:60px;padding:10px 8px;font-size:13px}}
