*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1e1e1e;--surface: #252526;--surface2: #2d2d30;--border: #3e3e42;--border-subtle: #303032;--text: #d4d4d4;--text-dim: #858585;--text-dimmer: #5a5a5a;--accent: #0e7490;--accent-hover: #0891b2;--accent-fg: #e0f2fe;--success: #22c55e;--keyword: #569cd6;--string: #ce9178;--number: #b5cea8;--comment: #6a9955;--operator: #d4d4d4;--identifier: #9cdcfe;--radius: 6px;--font-mono: "Cascadia Code", "Cascadia Mono", Consolas, "Courier New", monospace;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}html,body{height:100%}body{font-family:var(--font-ui);background:var(--bg);color:var(--text);font-size:13px;overflow:hidden}.app{display:grid;grid-template-rows:auto 1fr auto;height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background:var(--surface);border-bottom:1px solid var(--border);gap:16px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:10px}.logo{width:20px;height:20px;color:var(--accent-hover);flex-shrink:0}.header-left h1{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap}.header-right{display:flex;align-items:center;gap:16px}.option-group{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim);cursor:default}.option-group span{white-space:nowrap}.option-group select{background:var(--surface2);border:1px solid var(--border);color:var(--text);font-size:12px;font-family:var(--font-ui);padding:3px 6px;border-radius:4px;cursor:pointer;outline:none}.option-group select:focus{border-color:var(--accent-hover)}.toggle-group{gap:8px}.toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer}.toggle input{display:none}.toggle-track{width:32px;height:18px;background:var(--border);border-radius:9px;transition:background .15s;position:relative}.toggle-track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-dimmer);transition:transform .15s,background .15s}.toggle input:checked+.toggle-track{background:var(--accent)}.toggle input:checked+.toggle-track:after{transform:translate(14px);background:#fff}.workspace{display:flex;overflow:hidden;min-height:0}.panel{display:flex;flex-direction:column;min-width:200px;overflow:hidden;flex:1}.panel-bar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;height:34px;background:var(--surface);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.panel-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-dim)}.panel-label svg{width:12px;height:12px;opacity:.7}.panel-actions{display:flex;align-items:center;gap:4px}#inputSQL{flex:1;resize:none;background:var(--bg);color:var(--text);border:none;outline:none;font-family:var(--font-mono);font-size:13px;line-height:1.6;padding:12px 16px;-moz-tab-size:4;tab-size:4;white-space:pre;overflow:auto}#inputSQL::placeholder{color:var(--text-dimmer)}#outputSQL{flex:1;overflow:auto;background:var(--bg);margin:0;padding:12px 16px;font-family:var(--font-mono);font-size:13px;line-height:1.6;white-space:pre}#outputCode{display:block;font-family:inherit;font-size:inherit}.divider{width:4px;background:var(--border-subtle);cursor:col-resize;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center;transition:background .1s}.divider:hover,.divider.dragging{background:var(--accent)}.divider-handle{width:2px;height:32px;background:var(--border);border-radius:1px;pointer-events:none}.divider:hover .divider-handle,.divider.dragging .divider-handle{background:var(--accent-fg);opacity:.5}.footer{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:44px;background:var(--surface);border-top:1px solid var(--border);flex-shrink:0}.footer-right{display:flex;align-items:center;gap:12px}.hint{font-size:11px;color:var(--text-dimmer)}.btn-primary{display:flex;align-items:center;gap:7px;padding:7px 16px;background:var(--accent);color:var(--accent-fg);border:none;border-radius:var(--radius);font-size:13px;font-family:var(--font-ui);font-weight:500;cursor:pointer;transition:background .1s}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{transform:translateY(1px)}.btn-primary svg{width:14px;height:14px}.btn-primary kbd{font-size:10px;font-family:var(--font-mono);background:#00000040;border-radius:3px;padding:1px 5px;color:var(--accent-fg);opacity:.75}.btn-ghost{padding:3px 8px;background:transparent;color:var(--text-dim);border:1px solid transparent;border-radius:4px;font-size:12px;font-family:var(--font-ui);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.btn-ghost:hover{background:var(--surface2);color:var(--text);border-color:var(--border)}.btn-ghost:active{opacity:.8}.status-msg{font-size:11px;color:var(--success);min-width:60px;text-align:right;transition:opacity .3s}.status-msg.hidden{opacity:0}.sql-kw{color:var(--keyword);font-weight:600}.sql-fn{color:#dcdcaa}.sql-str{color:var(--string)}.sql-num{color:var(--number)}.sql-cmt{color:var(--comment);font-style:italic}.sql-op{color:var(--operator)}.sql-punct{color:var(--text-dim)}.sql-var{color:var(--identifier)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}::selection{background:#264f78;color:var(--text)}#outputSQL.has-error #outputCode{color:#f87171}
