*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body)}body{min-height:100vh}.wrap{width:min(1480px,calc(100% - 32px));margin:auto}.topbar{min-height:66px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 0}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:800 12px var(--display);letter-spacing:.1em}.brand-mark{width:29px;height:29px;display:grid;place-items:center;background:var(--accent);color:#17171b;border-radius:5px}.crumb{margin-right:auto;color:var(--muted);font-size:11px}.lang,.input,.select,.query{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:9px;font:inherit;font-size:11px}.lang{border-radius:20px}.button{border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:7px;padding:9px 11px;font-size:10px;font-weight:850;cursor:pointer;min-height:34px}.button:hover:not(:disabled),.button.active{border-color:var(--accent);color:var(--accent)}.button.primary{background:var(--accent);color:#17171b;border-color:var(--accent)}.button:disabled{opacity:.42;cursor:not-allowed}.button:focus-visible,.input:focus-visible,.select:focus-visible,.query:focus-visible{outline:3px solid #789333;outline-offset:2px}.hero{padding:30px 0 20px;display:flex;align-items:end;justify-content:space-between;gap:30px}.eyebrow{color:var(--accent);font:900 9px var(--display);letter-spacing:.16em;margin:0 0 11px}.hero h1{font:500 clamp(34px,5vw,66px)/.94 var(--display);letter-spacing:-.08em;margin:0;max-width:720px}.hero h1 span{color:var(--accent-2)}.hero p{color:var(--muted);font-size:13px;line-height:1.7;max-width:640px;margin:14px 0 0}.hero-note{font:10px/1.8 var(--display);color:var(--muted);border-left:1px solid var(--accent);padding-left:14px}.cockpit{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px;margin-bottom:28px;min-height:640px;height:min(760px,calc(100dvh - 180px))}.panel,.work{background:var(--panel);border:1px solid var(--line);border-radius:13px;box-shadow:var(--shadow);min-height:0}.panel{padding:14px;display:flex;flex-direction:column;overflow:hidden}.panel h2{font:500 25px/1 var(--display);letter-spacing:-.08em;margin:0 0 15px}.file-zone{border:1px dashed var(--line);border-radius:8px;text-align:center;padding:15px 9px;color:var(--muted);font-size:10px;cursor:pointer;min-height:70px;display:grid;place-items:center;gap:4px}.file-zone:hover,.file-zone.drag{border-color:var(--accent);color:var(--accent);background:rgba(130,160,60,.06)}.db-meta{display:grid;gap:6px;margin-top:10px}.db-meta div{border:1px solid var(--line);border-radius:7px;background:var(--panel-hi);padding:8px}.db-meta span{display:block;color:var(--muted);font-size:9px}.db-meta b{display:block;margin-top:2px;font:10px var(--display);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field{border-top:1px solid var(--line);padding-top:13px;margin-top:14px;min-height:0}.schema{display:grid;gap:6px;overflow:auto;overscroll-behavior:contain;min-height:0;flex:1}.schema-group{color:var(--muted);font:9px var(--display);letter-spacing:.12em;margin:7px 0 1px}.table-item{border:1px solid var(--line);border-radius:7px;background:var(--panel-hi);padding:9px;color:var(--ink);font:10px var(--display);cursor:pointer;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-item:hover{border-color:var(--accent);color:var(--accent)}.hint{font-size:10px;color:var(--muted);line-height:1.55;margin:10px 0 0}.work{padding:13px;min-width:0;display:flex;flex-direction:column;overflow:hidden}.work-head{display:flex;align-items:center;gap:7px;padding:3px 2px 10px;flex-wrap:wrap}.work-head strong{font:11px var(--display);letter-spacing:.08em}.work-head .status{margin-right:auto;color:var(--muted);font-size:10px;max-width:48ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.query-area{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:8px}.query{height:170px;min-height:110px;width:100%;resize:vertical;line-height:1.55;color:#eaffbb;background:#121216;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;tab-size:2}.query-actions{display:grid;align-content:start;gap:6px}.history{display:flex;gap:5px;overflow:auto;padding:8px 0;min-height:35px}.history button{flex:0 0 auto;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:9px var(--display);background:var(--panel-hi);color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:5px 7px;cursor:pointer}.history button:hover{color:var(--accent);border-color:var(--accent)}.result-head{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:11px;margin-top:2px;flex-wrap:wrap}.result-head h2{font:500 21px var(--display);letter-spacing:-.07em;margin:0}.result-head span{color:var(--muted);font-size:10px}.pager{margin-left:auto;display:flex;gap:5px;align-items:center}.table-scroll{overflow:auto;overscroll-behavior:contain;margin-top:8px;flex:1;min-height:150px;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;min-width:100%;font:11px ui-monospace,SFMono-Regular,Consolas,monospace}th,td{text-align:left;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px 9px;white-space:pre;max-width:520px;overflow:hidden;text-overflow:ellipsis}th{position:sticky;top:0;background:var(--panel-hi);color:var(--accent);font-size:10px;z-index:1}td{color:#dbd8df}tr:last-child td{border-bottom:0}.empty{padding:28px;text-align:center;color:var(--muted);font-size:11px;line-height:1.6}.notice{margin-top:7px;color:var(--muted);font-size:9px;line-height:1.5}.footer{border-top:1px solid var(--line);padding:18px 0 34px;color:var(--muted);font-size:10px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}.footer b{color:var(--ink);font-family:var(--display);margin-right:11px}.footer a{color:var(--accent);text-decoration:none}@media(max-width:900px){.hero{display:block}.hero-note{margin-top:18px}.cockpit{grid-template-columns:1fr;height:auto;min-height:0}.panel{order:2;max-height:430px}.work{order:1;height:650px}}@media(max-width:600px){.wrap{width:calc(100% - 20px)}.crumb{display:none}.hero{padding:26px 0 18px}.query-area{grid-template-columns:1fr}.query-actions{grid-template-columns:repeat(2,1fr)}.work{height:700px}.work-head .status{order:3;width:100%;max-width:none}.pager{width:100%;margin-left:0}.footer{display:block}.footer nav{margin-top:10px}}