*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f8f9fa;color:#1a1a2e;min-height:100vh}.nav{display:flex;align-items:center;justify-content:space-between;padding:16px 32px;background:#fff;border-bottom:1px solid #e8eaed;position:sticky;top:0;z-index:100}.nav-brand{display:flex;align-items:center;gap:8px}.brand-name{font-size:18px;font-weight:700;color:#0c447c;letter-spacing:-.3px}.bolt{font-size:20px}.btn-primary{background:#0c447c;color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#0a3a6a}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-primary.btn-lg{padding:14px 28px;font-size:16px;border-radius:10px}.btn-outline{background:transparent;color:#0c447c;border:1.5px solid #0c447c;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s;width:100%}.btn-outline:hover{background:#e8f0f8}.landing{min-height:100vh}.hero{text-align:center;padding:80px 24px 64px;background:linear-gradient(to bottom,#fff,#f0f6ff)}.hero-badge{display:inline-block;background:#e8f0f8;color:#0c447c;font-size:12px;font-weight:600;letter-spacing:.5px;padding:5px 14px;border-radius:20px;margin-bottom:20px}.hero h1{font-size:clamp(32px,5vw,52px);font-weight:800;line-height:1.15;color:#0a1628;margin-bottom:18px;letter-spacing:-1px}.hero-sub{font-size:18px;color:#4a5568;line-height:1.6;margin-bottom:32px}.hero-note{margin-top:14px;font-size:13px;color:#718096}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;padding:60px 32px;max-width:960px;margin:0 auto}.feature-card{background:#fff;border:1px solid #e8eaed;border-radius:12px;padding:28px 24px}.feat-icon{font-size:28px;margin-bottom:12px}.feature-card h3{font-size:16px;font-weight:700;color:#0a1628;margin-bottom:8px}.feature-card p{font-size:14px;color:#4a5568;line-height:1.6}.pricing-section{padding:60px 24px;background:#fff;text-align:center}.pricing-section h2{font-size:28px;font-weight:800;color:#0a1628;margin-bottom:36px}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;max-width:640px;margin:0 auto}.pricing-card{border:1.5px solid #e8eaed;border-radius:14px;padding:32px 24px;text-align:left;position:relative}.pricing-card.featured{border-color:#0c447c;box-shadow:0 4px 20px #0c447c1f}.featured-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#0c447c;color:#fff;font-size:11px;font-weight:700;padding:4px 14px;border-radius:20px;white-space:nowrap}.plan-name{font-size:14px;font-weight:700;color:#718096;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.plan-price{font-size:40px;font-weight:800;color:#0a1628;margin-bottom:20px}.plan-price span{font-size:16px;font-weight:500;color:#718096}.plan-features{list-style:none;margin-bottom:24px}.plan-features li{font-size:14px;padding:6px 0;border-bottom:1px solid #f0f0f0}.plan-features li.yes{color:#2d3748}.plan-features li.yes:before{content:"✓ ";color:#0c447c;font-weight:700}.plan-features li.no{color:#a0aec0}.plan-features li.no:before{content:"✗ "}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:24px 32px;background:#0a1628;color:#718096;font-size:13px}.setup-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.setup-card{background:#fff;border:1px solid #e8eaed;border-radius:16px;padding:40px 36px;max-width:480px;width:100%;text-align:center}.setup-icon{font-size:40px;margin-bottom:16px}.setup-card h2{font-size:22px;font-weight:800;color:#0a1628;margin-bottom:12px}.setup-card p{font-size:14px;color:#4a5568;line-height:1.6;margin-bottom:20px}.setup-card a{color:#0c447c}.key-input{width:100%;padding:12px 14px;font-size:14px;border:1.5px solid #e8eaed;border-radius:8px;margin-bottom:16px;font-family:monospace;outline:none}.key-input:focus{border-color:#0c447c}.key-note{font-size:12px;color:#a0aec0;margin-top:14px}.chat-layout{display:flex;flex-direction:column;height:100vh;background:#f8f9fa}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #e8eaed;flex-shrink:0}.back-btn{background:none;border:1px solid #e8eaed;border-radius:6px;padding:6px 12px;font-size:13px;color:#4a5568;cursor:pointer}.back-btn:hover{background:#f8f9fa}.jurisdiction-select{margin-left:auto;padding:7px 10px;font-size:13px;border:1px solid #e8eaed;border-radius:7px;background:#fff;color:#2d3748;max-width:220px}.usage-bar{padding:8px 20px;background:#f0f6ff;border-bottom:1px solid #d4e4f7;font-size:13px;color:#0c447c;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.usage-bar.at-limit{background:#fff3e0;border-color:#f6ad55;color:#744210}.btn-upgrade{background:#0c447c;color:#fff;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;cursor:pointer}.messages-area{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;gap:10px}.empty-bolt{font-size:48px;margin-bottom:8px}.empty-state h2{font-size:22px;font-weight:800;color:#0a1628}.empty-state p{font-size:15px;color:#718096;max-width:360px}.suggestions-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:16px;max-width:600px}.suggest-chip{background:#fff;border:1px solid #d4e4f7;border-radius:20px;padding:8px 16px;font-size:13px;color:#0c447c;cursor:pointer;transition:all .15s}.suggest-chip:hover{background:#e8f0f8;border-color:#0c447c}.message{display:flex;flex-direction:column;max-width:75%}.message.user{align-self:flex-end;align-items:flex-end}.message.assistant{align-self:flex-start;align-items:flex-start}.bubble{padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.65;white-space:pre-wrap}.message.user .bubble{background:#0c447c;color:#fff;border-bottom-right-radius:4px}.message.assistant .bubble{background:#fff;color:#2d3748;border:1px solid #e8eaed;border-bottom-left-radius:4px}.citations{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.cite-pill{background:#e8f0f8;color:#0c447c;font-size:11px;font-weight:600;padding:3px 10px;border-radius:20px;border:1px solid #d4e4f7}.disclaimer{font-size:11px;color:#a0aec0;font-style:italic;margin-top:5px}.typing-indicator{display:flex;gap:5px;align-items:center;padding:14px 18px}.typing-indicator span{width:7px;height:7px;background:#cbd5e0;border-radius:50%;animation:bounce 1.2s infinite;display:inline-block}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.input-area{display:flex;gap:10px;padding:14px 20px;background:#fff;border-top:1px solid #e8eaed;flex-shrink:0}.input-area textarea{flex:1;padding:10px 14px;font-size:14px;font-family:inherit;border:1.5px solid #e8eaed;border-radius:10px;resize:none;outline:none;line-height:1.5}.input-area textarea:focus{border-color:#0c447c}.input-area textarea:disabled{background:#f8f9fa;color:#a0aec0}.send-btn{background:#0c447c;color:#fff;border:none;border-radius:10px;padding:0 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap;min-width:72px}.send-btn:hover:not(:disabled){background:#0a3a6a}.send-btn:disabled{opacity:.4;cursor:not-allowed}
