:root{--primary: #4f46e5;--primary-hover: #4338ca;--bg-dark: #0f172a;--bg-card: rgba(30, 41, 59, .7);--text-main: #f8fafc;--text-muted: #94a3b8;--border: rgba(255, 255, 255, .1);--success: #10b981;--warning: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,sans-serif;background-color:var(--bg-dark);color:var(--text-main);min-height:100vh;background-image:radial-gradient(at 0% 0%,hsla(253,16%,7%,1) 0,transparent 50%),radial-gradient(at 50% 0%,hsla(225,39%,30%,1) 0,transparent 50%),radial-gradient(at 100% 0%,hsla(339,49%,30%,1) 0,transparent 50%);background-attachment:fixed}.container{max-width:1200px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:3rem;animation:fadeInDown .8s ease-out}header h1{font-size:3rem;font-weight:700;background:linear-gradient(to right,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}header p{color:var(--text-muted);font-size:1.1rem}.search-container{display:flex;flex-direction:column;justify-content:center;align-items:center;max-width:600px;margin:0 auto 3rem;animation:fadeInUp .8s ease-out .2s both}.search-box{display:flex;width:100%;background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:50px;padding:.5rem;box-shadow:0 10px 25px #0003;transition:all .3s ease}.search-box:focus-within{border-color:#818cf880;box-shadow:0 0 0 2px #818cf833,0 10px 25px #0003}.search-input{flex:1;background:transparent;border:none;color:var(--text-main);font-size:1.1rem;padding:.8rem 1.5rem;outline:none;font-family:inherit}.search-input::placeholder{color:#94a3b899}.btn-primary{background:var(--primary);color:#fff;border:none;border-radius:40px;padding:.8rem 2rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #4f46e566}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.glass-card{background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:16px;padding:1.5rem;box-shadow:0 4px 30px #0000001a;transition:transform .3s ease}.glass-card:hover{transform:translateY(-4px)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem;animation:fadeIn .6s ease-out}.dashboard-grid.grid-4{grid-template-columns:repeat(4,1fr)}.metric{text-align:center}.metric h3{font-size:1rem;color:var(--text-muted);font-weight:500;margin-bottom:.5rem}.metric .value{font-size:2.5rem;font-weight:700;color:var(--text-main)}.metric .sub{font-size:.9rem;margin-top:.5rem}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.table-container{width:100%;overflow-x:auto;background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:16px;margin-bottom:2rem;animation:fadeIn .8s ease-out}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:1rem;border-bottom:1px solid var(--border)}th{background:#0003;font-weight:600;color:var(--text-muted);white-space:nowrap}tr:hover td{background:#ffffff0d}.ai-section{text-align:center;padding:3rem;margin-bottom:3rem;border:1px solid rgba(129,140,248,.3);background:linear-gradient(145deg,#1e293bcc,#0f172acc);position:relative;overflow:hidden}.ai-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(129,140,248,.1) 0%,transparent 50%);z-index:0;pointer-events:none}.ai-section>*{position:relative;z-index:1}.ai-section h2{font-size:2rem;margin-bottom:1rem}.ai-section p{color:var(--text-muted);margin-bottom:2rem}.alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:500}.alert-success{background:#10b9811a;border:1px solid var(--success);color:var(--success)}.alert-warning{background:#f59e0b1a;border:1px solid var(--warning);color:var(--warning)}.alert-error{background:#ef44441a;border:1px solid #ef4444;color:#fca5a5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loader{display:inline-block;width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.letter-preview{margin-top:2rem;padding:2rem;background:#0000004d;border-radius:12px;text-align:left;line-height:1.8;color:#e2e8f0;border:1px solid var(--border)}.download-btn{margin-top:1.5rem;background:#10b981}.download-btn:hover:not(:disabled){background:#059669;box-shadow:0 4px 12px #10b98166}.text-right,th.text-right{text-align:right}.target-badge{display:inline-block;margin-left:8px;font-size:.75rem;font-weight:600;padding:2px 8px;background:var(--primary);color:#fff;border-radius:9999px;box-shadow:0 2px 4px #4f46e566;vertical-align:middle}.row-lowest{background:#10b9811a!important;border-left:3px solid #10b981}.row-highest{background:#ef44441a!important;border-left:3px solid #ef4444}.extreme-badge{display:inline-block;margin-left:8px;font-size:.7rem;font-weight:600;padding:1px 6px;border-radius:4px;vertical-align:middle}.badge-low{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.4)}.badge-high{background:#ef444433;color:#fca5a5;border:1px solid rgba(239,68,68,.4)}@media (max-width: 768px){.container{padding:1rem}header{margin-bottom:1.5rem}header h1{font-size:2rem}header p{font-size:.95rem}.search-container{margin-bottom:1.5rem}.search-input{font-size:.95rem;padding:.7rem 1rem}.dashboard-grid{grid-template-columns:1fr;gap:1rem}.dashboard-grid.grid-4{grid-template-columns:repeat(2,1fr);gap:1rem}.metric .value{font-size:1.8rem}.table-header-row{flex-direction:column;align-items:flex-start!important;gap:.75rem}.table-header-row h2{font-size:1.2rem}.table-header-row .btn-primary{border-radius:8px!important;padding:.5rem 1rem!important;font-size:.85rem!important}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container:after{content:"← Scroll to see more →";display:block;text-align:center;font-size:.75rem;color:var(--text-muted);padding:.5rem;opacity:.7}.ai-section{padding:1.5rem 1rem}.ai-section h2{font-size:1.4rem}h2 span{display:block;margin-top:.2rem}.grid-4 .glass-card{padding:.9rem .75rem}.grid-4 .metric h3{font-size:.75rem;margin-bottom:.3rem}.grid-4 .metric .value{font-size:1.2rem!important}.dashboard-grid:not(.grid-4){grid-template-columns:1fr;gap:.6rem}.dashboard-grid:not(.grid-4) .glass-card{padding:.75rem 1rem;text-align:center}.dashboard-grid:not(.grid-4) .metric h3{font-size:.78rem;margin-bottom:.2rem}.dashboard-grid:not(.grid-4) .metric .value{font-size:1.6rem}.dashboard-grid:not(.grid-4) .metric .sub{font-size:.68rem;margin-top:.15rem;line-height:1.3}.alert{padding:.6rem .8rem;font-size:.82rem;margin-bottom:.8rem;line-height:1.4}th,td{padding:.5rem .6rem;font-size:.78rem}th{font-size:.72rem}}.county-pulse{background:#1e293b66;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:20px;max-width:600px;margin:-1.5rem auto 2.5rem;padding:1.25rem 1.5rem;text-align:center;box-shadow:0 8px 32px #00000026;animation:fadeInUp .8s ease-out}.pulse-header{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:1rem}.pulse-header h2{font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-weight:600;margin:0}.pulse-dot{width:8px;height:8px;background:#ef4444;border-radius:50%;box-shadow:0 0 10px #ef4444;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}to{transform:scale(1);opacity:1}}.pulse-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.75rem;margin-bottom:1rem;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}.pulse-stat{display:flex;flex-direction:column;gap:.2rem}.pulse-label{font-size:.72rem;color:var(--text-muted);font-weight:500;white-space:nowrap}.pulse-value{font-size:1.25rem;font-weight:700}.pulse-footer{font-size:.8rem;color:var(--text-muted)}.pulse-city{color:var(--text-main);font-weight:500}@media (max-width: 768px){.county-pulse{margin:-1rem 1rem 2rem;padding:1rem}.pulse-value{font-size:1.1rem}.pulse-grid{grid-template-columns:repeat(2,1fr);gap:1.25rem .75rem}.pulse-footer{font-size:.75rem}}.mobile-feedback-btn{display:none;position:fixed;bottom:1.5rem;right:1.5rem;z-index:995;background:#f59e0bf2;color:#0f172a;border:none;border-radius:99px;padding:.6rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:700;box-shadow:0 4px 15px #f59e0b66;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:slideUp .4s ease-out;transition:bottom .3s ease-in-out}.mobile-feedback-btn.bumped{bottom:6.5rem}@media (max-width: 768px){.mobile-feedback-btn{display:block}}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-wrapper{animation:fadeIn .3s ease-out}.skeleton-bar{background:linear-gradient(90deg,#ffffff0d 25%,#ffffff1f,#ffffff0d 75%);background-size:600px 100%;animation:shimmer 1.4s infinite linear;border-radius:8px}.skeleton-card{min-height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.5rem}.sticky-ai-bar{position:fixed;bottom:0;left:0;right:0;z-index:990;background:#0f172af5;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid rgba(129,140,248,.35);padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:1.25rem;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.sticky-ai-label{color:#cbd5e1;font-size:.95rem;font-weight:500}.sticky-ai-btn{background:var(--primary);color:#fff;border:none;border-radius:40px;padding:.6rem 1.5rem;font-size:.95rem;font-weight:600;cursor:pointer;font-family:inherit;text-decoration:none;transition:background .2s ease,transform .2s ease;white-space:nowrap}.sticky-ai-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.toast-container{position:fixed;top:1.25rem;right:1.25rem;z-index:1100;display:flex;flex-direction:column;gap:.6rem;pointer-events:none}.toast{padding:.75rem 1.25rem;border-radius:10px;font-size:.9rem;font-weight:500;max-width:340px;box-shadow:0 4px 20px #0006;animation:toastIn .3s ease-out;pointer-events:auto}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}.toast-error{background:#ef444426;border:1px solid rgba(239,68,68,.5);color:#fca5a5}.toast-success{background:#10b98126;border:1px solid rgba(16,185,129,.5);color:#6ee7b7}.desktop-table{display:block}.mobile-cards{display:none}.comp-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:.75rem}.comp-card-subject{background:#4f46e526;border-color:#818cf880;border-left:3px solid #818cf8}.comp-card-lowest{background:#10b98114;border-left:3px solid #10b981}.comp-card-highest{background:#ef444414;border-left:3px solid #ef4444}.comp-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.comp-card-address{font-weight:600;font-size:.95rem;color:var(--text-main);line-height:1.3}.comp-card-badges{display:flex;flex-wrap:wrap;gap:.3rem;flex-shrink:0}.comp-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.comp-card-stat{display:flex;flex-direction:column;gap:.15rem}.comp-card-label{font-size:.68rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.comp-card-value{font-size:.9rem;font-weight:600;color:var(--text-main)}.comp-card-highlight{color:#818cf8}@media (max-width: 768px){.desktop-table{display:none!important}.mobile-cards{display:block}.sticky-ai-bar{flex-direction:column;gap:.6rem;padding:.75rem 1rem;text-align:center}.sticky-ai-label{font-size:.85rem}.sticky-ai-btn{width:100%;text-align:center;padding:.65rem 1rem}.toast-container{top:auto;bottom:5rem;left:1rem;right:1rem}.toast{max-width:100%}}
