:root{--bg: #0f172a;--card: #1e293b;--accent: #1abc9c;--accent-light: #2dd4bf;--text-primary: #ffffff;--text-secondary: #94a3b8;--border: #334155;--success: #10b981}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);margin:0;color:var(--text-primary);line-height:1.6}.app{width:100%;min-height:100vh}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:linear-gradient(135deg,#0f172a,#1a2744,#1e3c72,#2a5298,#1a2744);background-size:400% 400%;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(26,188,156,.15) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(45,212,191,.1) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(59,130,246,.05) 0%,transparent 50%);pointer-events:none}.hero-badge{display:inline-block;padding:8px 16px;background:#1abc9c1a;border:1px solid rgba(26,188,156,.3);border-radius:24px;color:var(--accent);font-size:14px;font-weight:500;margin-bottom:24px;position:relative;z-index:1}.hero-title{font-size:clamp(36px,8vw,64px);font-weight:800;margin:0 0 16px;line-height:1.1;position:relative;z-index:1}.hero-accent{background:linear-gradient(135deg,#1abc9c,#2dd4bf,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:18px;color:var(--text-secondary);max-width:600px;margin:0 auto 32px;line-height:1.6;position:relative;z-index:1}.hero-cta{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;background:linear-gradient(135deg,#1abc9c,#2dd4bf);color:#000;border:none;border-radius:32px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:64px;position:relative;z-index:1;box-shadow:0 8px 32px #1abc9c4d}.hero-cta:hover{background:linear-gradient(135deg,#2dd4bf,#5eead4);transform:translateY(-4px);box-shadow:0 16px 48px #1abc9c66}.hero-stats{display:flex;gap:48px;margin-top:32px;position:relative;z-index:1}.stat{text-align:center}.stat-value{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.stat-label{font-size:14px;color:var(--text-secondary)}.spending-section{background:#fff;padding:80px 20px;margin:0}.section-container{max-width:1200px;margin:0 auto}.category-selection{margin-bottom:80px}.category-selection h2,.spending-sliders h2{font-size:32px;font-weight:700;margin:0 0 12px;color:#1a202c}.section-subtitle{font-size:16px;color:#718096;margin:0 0 32px}.category-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:16px}.category-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;background:transparent;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .3s ease;position:relative;min-height:120px;color:#4a5568}.category-btn:hover{border-color:#1abc9c;background:#f0fffe}.category-btn.active{border-color:#1abc9c;background:#f0fffe;color:#1abc9c}.category-btn[data-category=Groceries],.category-btn[data-category=Streaming]{border-color:#a8e6e0}.category-btn[data-category=Groceries]:hover,.category-btn[data-category=Streaming]:hover{background:#e0f7f5}.category-btn[data-category=Groceries].active,.category-btn[data-category=Streaming].active{border-color:#1abc9c;background:#e0f7f5;color:#1abc9c}.category-btn[data-category=Dining]{border-color:#fdb97a}.category-btn[data-category=Dining]:hover{background:#fef0e8}.category-btn[data-category=Dining].active{border-color:#fd8c3e;background:#fef0e8;color:#fd8c3e}.category-btn[data-category=Gas]{border-color:#a5c8e7}.category-btn[data-category=Gas]:hover{background:#eef5fc}.category-btn[data-category=Gas].active{border-color:#3b7ec4;background:#eef5fc;color:#3b7ec4}.category-btn[data-category=Travel]{border-color:#d8b8f0}.category-btn[data-category=Travel]:hover{background:#f3ebfa}.category-btn[data-category=Travel].active{border-color:#9b6fbe;background:#f3ebfa;color:#9b6fbe}.category-btn[data-category="Online Shopping"]{border-color:#f0a8d8}.category-btn[data-category="Online Shopping"]:hover{background:#fde9f3}.category-btn[data-category="Online Shopping"].active{border-color:#e84e89;background:#fde9f3;color:#e84e89}.category-btn[data-category=Utilities]{border-color:#f5b956}.category-btn[data-category=Utilities]:hover{background:#fef7e8}.category-btn[data-category=Utilities].active{border-color:#f39c12;background:#fef7e8;color:#f39c12}.category-btn[data-category=Drugstores]{border-color:#f99}.category-btn[data-category=Drugstores]:hover{background:#ffe8e8}.category-btn[data-category=Drugstores].active{border-color:#ff5252;background:#ffe8e8;color:#ff5252}.category-btn[data-category=Home]{border-color:#b8d8a8}.category-btn[data-category=Home]:hover{background:#e8f5e0}.category-btn[data-category=Home].active{border-color:#7db552;background:#e8f5e0;color:#7db552}.category-btn[data-category="Cell Phone Providers"]{border-color:#a8d4e6}.category-btn[data-category="Cell Phone Providers"]:hover{background:#e0f4fc}.category-btn[data-category="Cell Phone Providers"].active{border-color:#0ea5e9;background:#e0f4fc;color:#0ea5e9}.category-icon{font-size:32px;line-height:1}.category-name{font-size:14px;font-weight:600;text-align:center}.checkmark{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#1abc9c;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.spending-sliders{background:transparent;padding:0;border-radius:0;border:none}.spend-form{margin-top:32px}.rows{display:flex;flex-direction:column;gap:32px;margin-bottom:32px}.row-group{display:flex;flex-direction:column;gap:12px}.slider-row{display:flex;align-items:center;gap:24px}.slider-label-col{display:flex;align-items:center;gap:12px;min-width:140px;flex-shrink:0}.category-icon-small{font-size:20px;line-height:1}.slider-category{font-weight:600;font-size:16px;color:#1a202c}.slider-input-col{flex:1;display:flex;align-items:center}.amount-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e2e8f0;border-radius:3px;outline:none;cursor:pointer}.amount-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#1abc9c;cursor:pointer;box-shadow:0 2px 8px #1abc9c4d;transition:all .2s ease}.amount-slider::-webkit-slider-thumb:hover{width:24px;height:24px;box-shadow:0 4px 12px #1abc9c66}.amount-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#1abc9c;cursor:pointer;border:none;box-shadow:0 2px 8px #1abc9c4d;transition:all .2s ease}.amount-slider::-moz-range-track{background:transparent;border:none}.slider-amount-display{display:flex;align-items:center;gap:12px;min-width:120px;flex-shrink:0}.manual-amount-input{background:#fff;border:2px solid #e2e8f0;padding:8px 12px;border-radius:6px;font-size:16px;font-weight:700;color:#1abc9c;width:100px;text-align:right;transition:all .2s ease}.manual-amount-input:hover{border-color:#1abc9c}.manual-amount-input:focus{outline:none;border-color:#1abc9c;box-shadow:0 0 0 3px #1abc9c1a}.amount-currency{display:flex;flex-direction:column;align-items:flex-start;gap:0}.amount-prefix,.amount-period{font-size:12px;color:#718096;line-height:1}.total-spending{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:32px;margin-top:32px}.total-label{font-weight:600;color:#718096}.total-amount{font-size:24px;font-weight:700;color:#1a202c}.controls{display:flex;gap:12px;justify-content:center}.submit{padding:12px 32px;background:var(--accent);color:#000;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.submit:hover:not(:disabled){background:var(--accent-light);transform:translateY(-2px)}.submit:disabled{background:var(--border);cursor:not-allowed}.disclaimer-footer{background:var(--bg);padding:24px 20px;text-align:center;border-top:1px solid var(--border)}.disclaimer-footer p{margin:0;color:var(--text-secondary);font-size:14px}.disclaimer-footer .geo-attribution{margin-top:8px;font-size:12px;color:#94a3b8}.disclaimer-footer .geo-attribution a{color:#94a3b8;text-decoration:underline}.disclaimer-footer .geo-attribution a:hover{color:var(--text-secondary)}.results-section{background:#fff;padding:60px 20px;margin:0}.results-section h2{font-size:32px;font-weight:700;margin:0 0 12px;color:#1a202c}.results-subtitle{font-size:16px;color:#718096;margin:0 0 32px}.error{margin-top:12px;color:#ff6b6b}.results-section{margin-top:18px}.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.category-section{background:var(--card);padding:16px;border-radius:8px;border:1px solid var(--border);border-left:4px solid var(--border)}.category-section h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.category-section[data-category=Groceries],.category-section[data-category=Streaming]{border-color:#1abc9c;border-left-color:#1abc9c}.category-section[data-category=Groceries] h3,.category-section[data-category=Streaming] h3{color:#1abc9c}.category-section[data-category=Dining]{border-color:#fd8c3e;border-left-color:#fd8c3e}.category-section[data-category=Dining] h3{color:#fd8c3e}.category-section[data-category=Gas]{border-color:#3b7ec4;border-left-color:#3b7ec4}.category-section[data-category=Gas] h3{color:#3b7ec4}.category-section[data-category=Travel]{border-color:#9b6fbe;border-left-color:#9b6fbe}.category-section[data-category=Travel] h3{color:#9b6fbe}.category-section[data-category="Online Shopping"]{border-color:#e84e89;border-left-color:#e84e89}.category-section[data-category="Online Shopping"] h3{color:#e84e89}.category-section[data-category=Utilities]{border-color:#f39c12;border-left-color:#f39c12}.category-section[data-category=Utilities] h3{color:#f39c12}.category-section[data-category=Other]{border-color:#94a3b8;border-left-color:#94a3b8}.category-section[data-category=Other] h3{color:#94a3b8}.category-section[data-category="Cell Phone Providers"]{border-color:#0ea5e9;border-left-color:#0ea5e9}.category-section[data-category="Cell Phone Providers"] h3{color:#0ea5e9}.category-section[data-category="AAA Purchases"]{border-color:#10b981;border-left-color:#10b981}.category-section[data-category="AAA Purchases"] h3{color:#10b981}.category-section[data-category=Drugstores]{border-color:#ff5252;border-left-color:#ff5252}.category-section[data-category=Drugstores] h3{color:#ff5252}.category-section[data-category=Home]{border-color:#7db552;border-left-color:#7db552}.category-section[data-category=Home] h3{color:#7db552}.error-message{color:#ff6b6b;background:#ff6b6b1a;padding:8px 12px;border-radius:4px;border-left:3px solid #ff6b6b}.cards-list{display:flex;flex-direction:column;gap:10px}.card{background:#ffffff0d;padding:12px;border-radius:6px;border:1px solid var(--border);overflow:hidden}.card-image{width:100%;height:auto;max-height:180px;object-fit:contain;border-radius:4px;margin-bottom:10px;display:block}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.card-header strong{font-size:14px;margin:0}.rate-badge{display:inline-block;background:var(--accent);color:#000;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.card-details{display:flex;flex-direction:column;gap:6px;font-size:13px}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-row .label{color:var(--text-secondary);font-weight:500}.detail-row.highlight{font-weight:600;color:var(--accent);background:#1abc9c1a;padding:6px 8px;border-radius:4px;margin-top:4px}.detail-row.notes{color:var(--text-secondary);font-size:12px;margin-top:4px;font-style:italic}.total-cashback{margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-weight:600;text-align:right;color:var(--accent)}.grand-total-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#0f172a,#1a2744 40%,#1e3c72);border:1px solid rgba(26,188,156,.3);border-radius:12px;padding:20px 28px;margin:8px 0 16px}.grand-total-label{font-size:16px;font-weight:500;color:var(--text-secondary);letter-spacing:.02em}.grand-total-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.grand-total-amount{font-size:32px;font-weight:800;background:linear-gradient(135deg,#1abc9c,#2dd4bf,#5eead4);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grand-total-pct{font-size:14px;color:var(--text-secondary);font-weight:500}.grand-total-fees{font-size:12px;color:#94a3b8;font-weight:400}.details-btn{display:block;width:100%;margin-top:10px;padding:8px 0;background:transparent;border:1px solid var(--accent);border-radius:6px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}.details-btn:hover:not(:disabled){background:#1abc9c1a}.details-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;width:100%;max-width:520px;max-height:85vh;overflow-y:auto;padding:28px;position:relative;box-shadow:0 24px 64px #0000004d;color:#1a202c}.modal-header{text-align:center;margin-bottom:24px}.modal-card-image{width:200px;height:auto;max-height:130px;object-fit:contain;border-radius:8px;margin-bottom:12px;filter:drop-shadow(0 4px 12px rgba(0,0,0,.15))}.modal-card-name{font-size:20px;font-weight:700;margin:0;color:#1a202c}.modal-value-summary{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:16px 20px;margin-bottom:20px}.modal-value-summary h4,.modal-rates h4,.modal-selectable h4,.modal-benefits h4{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#718096;margin:0 0 12px}.value-row{display:flex;justify-content:space-around;text-align:center}.value-item{display:flex;flex-direction:column;gap:4px}.value-label{font-size:12px;color:#a0aec0;font-weight:500}.value-number{font-size:22px;font-weight:700;color:#1a202c}.fee-zero{color:#10b981}.fee-negative{color:#e84e89}.modal-rates{margin-bottom:20px}.rates-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}.rate-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f7fafc;border-radius:6px}.rate-category{font-size:13px;color:#4a5568;font-weight:500}.rate-pct{font-size:14px;font-weight:700;color:#1abc9c}.modal-selectable{margin-bottom:20px}.selectable-group{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin-bottom:8px}.selectable-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.selectable-meta{font-size:13px;color:#718096;font-weight:500}.selectable-cap{font-size:12px;color:#a0aec0;margin-left:auto}.selectable-categories{display:flex;flex-wrap:wrap;gap:6px}.selectable-tag{display:inline-block;padding:4px 10px;background:#1abc9c1a;color:#1abc9c;border-radius:12px;font-size:12px;font-weight:500}.modal-benefits{margin-bottom:24px}.benefits-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.benefits-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#4a5568;line-height:1.4}.benefits-list li:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:#10b981;color:#fff;border-radius:50%;font-size:11px;font-weight:700;flex-shrink:0;margin-top:1px}.modal-close-btn{display:block;width:100%;padding:14px;background:linear-gradient(135deg,#0f172a,#1e3c72);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{background:linear-gradient(135deg,#1a2744,#2a5298)}.fee-row .fee-amount{color:#e84e89;font-weight:600}.net-row{border-top:1px dashed #334155;padding-top:4px;margin-top:2px}.net-positive{color:#1abc9c;font-weight:700}.net-negative{color:#e84e89;font-weight:700}@media (max-width: 768px){.hero{padding:30px 20px;min-height:auto}.hero-title{font-size:32px}.hero-subtitle{font-size:16px}.hero-stats{gap:24px}.stat-value{font-size:24px}.category-buttons{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.slider-row{flex-direction:column;align-items:stretch;gap:12px}.slider-label-col{min-width:auto}.slider-amount-col{text-align:left}.total-spending{flex-direction:column;align-items:flex-start;gap:8px}}
