*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0a0a0a;--surface: #131313;--surface2: #1a1a1a;--border: #272727;--border2: #333;--accent: #e07b20;--accent-dim: #a35a12;--text: #ddd8cc;--text-muted: #666;--text-dim: #999;--green: #4ade80;--red: #f87171;--font-mono: "Share Tech Mono", "Courier New", monospace;--font-ui: "Barlow", sans-serif;--font-head: "Barlow Condensed", sans-serif}html,body,#root{height:100%;background:var(--bg);color:var(--text);font-family:var(--font-ui);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}button{cursor:pointer;font-family:var(--font-mono);border:none;outline:none}input,select,textarea{font-family:var(--font-mono);background:var(--surface2);border:1px solid var(--border2);color:var(--text);border-radius:2px;padding:6px 10px;font-size:13px;width:100%;outline:none;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}label{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:4px}.app-layout{display:grid;grid-template-columns:320px 1fr;grid-template-rows:100vh;height:100vh;overflow:hidden}@media (max-width: 768px){.app-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}}.sidebar{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:20px 20px 16px;border-bottom:1px solid var(--border)}.logo{font-family:var(--font-head);font-size:26px;font-weight:700;letter-spacing:.04em;color:var(--accent);line-height:1}.logo span{color:var(--text-dim);font-weight:400}.logo-sub{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.12em;text-transform:uppercase;margin-top:4px}.query-counter{margin-top:12px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.query-bar{margin-top:5px;height:3px;background:var(--border2);border-radius:2px;overflow:hidden}.query-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}.sidebar-scroll{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.calc-card{border:1px solid var(--border);border-radius:3px;background:var(--bg);overflow:hidden}.calc-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--surface2);transition:background .15s}.calc-header:hover{background:var(--border)}.calc-title{font-family:var(--font-head);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}.calc-chevron{font-size:10px;color:var(--text-muted);transition:transform .2s}.calc-chevron.open{transform:rotate(180deg)}.calc-body{padding:14px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:10px}.field-row{display:flex;flex-direction:column;gap:4px}.calc-btn{margin-top:4px;padding:8px;background:var(--accent);color:#000;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;transition:background .15s}.calc-btn:hover{background:#f59030}.calc-result{margin-top:4px;padding:10px 12px;background:var(--surface2);border:1px solid var(--border2);border-left:3px solid var(--accent);border-radius:2px;font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--text);white-space:pre-wrap}.send-to-chat{padding:6px 10px;background:transparent;border:1px solid var(--border2);color:var(--accent);font-size:11px;letter-spacing:.06em;text-transform:uppercase;border-radius:2px;transition:all .15s}.send-to-chat:hover{background:var(--surface2);border-color:var(--accent)}.chat-area{display:flex;flex-direction:column;height:100vh;overflow:hidden}.chat-topbar{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.08em;flex-shrink:0}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.chat-messages{flex:1;overflow-y:auto;padding:24px 24px 8px;display:flex;flex-direction:column;gap:20px}.msg{display:flex;flex-direction:column;gap:4px;max-width:780px}.msg.user{align-self:flex-end;align-items:flex-end}.msg.assistant{align-self:flex-start}.msg-label{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.msg-bubble{padding:12px 16px;border-radius:3px;line-height:1.65;font-size:14px}.msg.user .msg-bubble{background:var(--surface2);border:1px solid var(--border2);color:var(--text)}.msg.assistant .msg-bubble{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--text);white-space:pre-wrap}.msg.assistant .msg-bubble code{font-family:var(--font-mono);background:var(--bg);padding:1px 5px;border-radius:2px;font-size:12px;color:var(--accent)}.typing-indicator{display:flex;gap:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:3px;width:fit-content}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:bounce 1.2s infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.chat-input-area{padding:16px 24px 20px;border-top:1px solid var(--border);flex-shrink:0}.input-row{display:flex;gap:10px;align-items:flex-end}.chat-textarea{flex:1;resize:none;min-height:44px;max-height:120px;padding:10px 14px;line-height:1.5;font-size:14px;border-radius:3px}.send-btn{padding:10px 18px;background:var(--accent);color:#000;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:3px;height:44px;white-space:nowrap;transition:background .15s;flex-shrink:0}.send-btn:hover:not(:disabled){background:#f59030}.send-btn:disabled{opacity:.4;cursor:not-allowed}.input-hint{margin-top:8px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:.06em}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.modal{background:var(--surface);border:1px solid var(--border2);border-top:3px solid var(--accent);max-width:560px;width:100%;padding:32px;border-radius:3px}.modal-title{font-family:var(--font-head);font-size:22px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}.modal-subtitle{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}.modal-body{font-size:13px;color:var(--text-dim);line-height:1.7;margin-bottom:24px}.modal-body p+p{margin-top:10px}.modal-body strong{color:var(--text);font-weight:500}.modal-checkbox{display:flex;align-items:flex-start;gap:12px;margin-bottom:20px;cursor:pointer}.modal-checkbox input[type=checkbox]{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent);margin-top:2px;cursor:pointer}.modal-checkbox span{font-family:var(--font-mono);font-size:12px;color:var(--text-dim);line-height:1.5}.modal-btn{width:100%;padding:12px;background:var(--accent);color:#000;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;transition:background .15s}.modal-btn:hover:not(:disabled){background:#f59030}.modal-btn:disabled{opacity:.35;cursor:not-allowed}.paywall-card{margin:0 24px;padding:24px;background:var(--surface);border:1px solid var(--border2);border-top:3px solid var(--accent);border-radius:3px;text-align:center}.paywall-title{font-family:var(--font-head);font-size:20px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.paywall-body{font-size:13px;color:var(--text-dim);line-height:1.6;margin-bottom:20px}.paywall-btn{display:inline-block;padding:12px 28px;background:var(--accent);color:#000;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;text-decoration:none;transition:background .15s}.paywall-btn:hover{background:#f59030}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-muted);text-align:center;padding:40px}.empty-icon{font-size:40px;opacity:.3}.empty-title{font-family:var(--font-head);font-size:18px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.empty-sub{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);max-width:360px;line-height:1.6}.example-prompts{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px}.example-chip{padding:6px 12px;background:var(--surface2);border:1px solid var(--border2);border-radius:2px;font-family:var(--font-mono);font-size:11px;color:var(--text-dim);cursor:pointer;transition:all .15s}.example-chip:hover{border-color:var(--accent);color:var(--accent)}select option{background:var(--surface2)}
