:root{--bg: #0d1117;--surface: #161b22;--border: #30363d;--text: #e6edf3;--muted: #8b949e;--duck: #ffcc00;--green: #3fb950;--blue: #58a6ff;--red: #f85149;--purple: #bc8cff;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.5;min-height:100vh}.hidden{display:none!important}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--duck);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.auth-layout{min-height:100vh;display:flex;align-items:stretch}.auth-brand{flex:1;background:#010409;border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.auth-brand h1{font-size:2rem;font-weight:800;color:var(--duck);margin-bottom:.75rem}.auth-tagline{color:var(--muted);font-size:1rem;margin-bottom:2.5rem;line-height:1.7}.auth-stats{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.auth-stat{text-align:center}.auth-stat-num{font-size:1.4rem;font-weight:800;color:var(--duck)}.auth-stat-lbl{font-size:.75rem;color:var(--muted);margin-top:.2rem}.auth-card{width:420px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2.5rem}.auth-tabs{display:flex;gap:0;margin-bottom:1.5rem;border:1px solid var(--border);border-radius:6px;overflow:hidden;width:100%}.auth-tab{flex:1;padding:.6rem 1rem;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.auth-tab.active{background:var(--duck);color:#000}.auth-form{width:100%;display:flex;flex-direction:column;gap:.75rem}.auth-form input[type=email],.auth-form input[type=password]{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:.95rem;padding:.65rem 1rem;font-family:var(--font)}.auth-form input:focus{outline:none;border-color:var(--duck)}.auth-fine{font-size:.8rem;color:var(--muted);text-align:center;margin-top:.25rem}.auth-error{font-size:.85rem;color:var(--red);margin-top:.25rem}.upgrade-card{background:var(--surface);border:1px solid var(--duck);border-radius:12px;padding:2rem;width:100%;max-width:380px;text-align:left}.upgrade-price{text-align:center;margin-bottom:1.5rem}.price-num{font-size:3rem;font-weight:800;color:var(--duck)}.price-period{font-size:1rem;color:var(--muted)}.upgrade-features{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.5rem}.upgrade-features li{font-size:.95rem;color:var(--text)}.trial-banner{font-size:.8rem;font-weight:700;color:#000;background:var(--duck);border-radius:4px;padding:.25rem .75rem;white-space:nowrap}nav{border-bottom:1px solid var(--border);padding:.75rem 2rem;display:flex;align-items:center;justify-content:space-between;background:var(--bg);position:sticky;top:0;z-index:100}.logo{font-weight:700;font-size:1rem;color:var(--duck);text-decoration:none;letter-spacing:-.3px;display:flex;align-items:center;gap:.5rem}.logo img{height:36px;width:auto}.status{font-size:.82rem;padding:.25rem .7rem;border-radius:4px;font-family:var(--mono);border:1px solid var(--border);color:var(--muted)}.status.ok{border-color:var(--green);color:var(--green)}.status.err{border-color:var(--red);color:var(--red)}.status.loading{border-color:var(--duck);color:var(--duck)}main{flex:1;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.5rem;max-width:1600px;width:100%;margin:0 auto}#screen-app{display:flex;flex-direction:column;min-height:100vh}.workspace{display:grid;grid-template-columns:320px 1fr;gap:1rem}.panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem}.panel-label{font-size:.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--duck);margin-bottom:.75rem;font-family:var(--mono)}.drop-zone{border:2px dashed var(--border);border-radius:6px;padding:1.5rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--duck);background:#211c00}.drop-icon{font-size:2rem;margin-bottom:.5rem}.drop-zone p{font-size:.9rem;color:var(--text);margin-bottom:.3rem}.url-row{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap;justify-content:center}input[type=text]{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.85rem;padding:.45rem .75rem;flex:1;min-width:200px;font-family:var(--mono)}input[type=text]:focus{outline:none;border-color:var(--duck)}.btn-primary{background:var(--duck);color:#000;font-weight:700;padding:.5rem 1.2rem;border:none;border-radius:5px;cursor:pointer;font-size:.88rem;white-space:nowrap;display:flex;align-items:center;gap:.4rem}.btn-primary:hover:not(:disabled){background:#e6b800}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--text);border:1px solid var(--border);padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-size:.85rem;white-space:nowrap}.btn-secondary:hover:not(:disabled){border-color:var(--duck)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}kbd{background:#0d1117;border:1px solid var(--border);border-radius:3px;font-size:.75rem;padding:0 .3rem;font-family:var(--mono);color:var(--muted)}.ai-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;background:#0a0d12;border:1px solid var(--duck);border-radius:6px;padding:.5rem .75rem}.ai-icon{color:var(--duck);font-size:1rem;flex-shrink:0}.ai-bar input[type=text]{flex:1;min-width:200px;background:transparent;border:none;font-family:var(--font);font-size:.9rem;color:var(--text)}.ai-bar input[type=text]:focus{outline:none;border:none}.schema-panel{overflow-y:auto;max-height:calc(100vh - 320px);min-height:340px}.schema-table{margin-bottom:1rem}.schema-table-name{font-family:var(--mono);font-size:.85rem;font-weight:700;color:var(--duck);margin-bottom:.4rem;cursor:pointer}.schema-table-name:hover{text-decoration:underline}.schema-col{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;font-family:var(--mono);font-size:.78rem;padding:.15rem .5rem;border-radius:3px}.schema-col:hover{background:var(--bg)}.col-name{color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.col-type{color:var(--muted);font-size:.7rem;white-space:nowrap;flex-shrink:0}.editor-panel{display:flex;flex-direction:column;gap:.75rem}#sql-editor{width:100%;min-height:300px;height:calc(100vh - 460px);background:#010409;border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:var(--mono);font-size:.9rem;line-height:1.6;padding:.75rem 1rem;resize:vertical;-moz-tab-size:2;tab-size:2}#sql-editor:focus{outline:none;border-color:var(--duck)}.editor-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.results-panel{overflow:hidden}.table-scroll{overflow-x:auto;overflow-y:auto;max-height:420px;margin-top:.5rem}.results-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.82rem}.results-table th{background:#0a0d12;border:1px solid var(--border);padding:.5rem .75rem;text-align:left;position:sticky;top:0;white-space:nowrap;color:var(--text);font-weight:600}.results-table th .col-type{color:var(--muted);font-size:.68rem;font-weight:400}.results-table td{border:1px solid var(--border);padding:.4rem .75rem;white-space:nowrap;max-width:400px;overflow:hidden;text-overflow:ellipsis}.results-table tr:nth-child(2n) td{background:#0a0d12}.results-table tr:hover td{background:#161b22}.null-cell{color:var(--muted);font-style:italic}.muted{color:var(--muted)}.small{font-size:.82rem}.err-block{background:#2d1a1a;border:1px solid var(--red);border-radius:6px;color:var(--red);font-family:var(--mono);font-size:.82rem;padding:1rem;white-space:pre-wrap;word-break:break-word}@media (max-width: 900px){.workspace{grid-template-columns:1fr}.schema-panel{max-height:200px}.auth-layout{flex-direction:column}.auth-brand{border-right:none;border-bottom:1px solid var(--border);padding:2rem 1.5rem}.auth-card{width:100%;padding:2rem 1.5rem}}
