.ai-app{--ai-bg: #0d0d0d;--ai-panel: #111;--ai-head: #0a0a0a;--ai-border: #1a1a1a;--ai-text: #c0c0c0;--ai-dim: #666;--ai-accent: #00ff88;--ai-field: #c3a6ff;--ai-anon: #8a93a2;--ai-error: #ff6b6b;--ai-focus-bg: rgba(0, 255, 136, .16);--ai-active-bg: rgba(0, 255, 136, .1);--ai-match: #f2c14e;--ai-match-bg: rgba(242, 193, 78, .14);--ai-fresh: #ff9e64;--ai-fresh-bg: rgba(255, 158, 100, .13);--ai-edit-bg: rgba(130, 170, 255, .28);--ai-changed: #ff9e64;--syn-comment: #6a7380;--syn-keyword: #c792ea;--syn-string: #c3e88d;--syn-number: #f78c6c;--syn-builtin: #ff9cac;--syn-function: #82aaff;--syn-type: #ffcb6b;--syn-property: #89ddff;--syn-operator: #89ddff;--syn-punct: #8a93a2;--ai-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "BIZ UDGothic", monospace;--ai-fs: 13px;--ai-lh: 20px}.ai-app{display:flex;flex-direction:column;margin-top:70px;margin-bottom:70px;height:calc(100vh - 140px);background:var(--ai-bg);color:var(--ai-text);font-size:13px}.ai-app a{color:var(--ai-accent)}.ai-header{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:8px 12px;background:var(--ai-head);border-bottom:1px solid var(--ai-border)}.ai-header h1{margin:0;font-size:13px;font-weight:700;color:var(--ai-accent);font-family:var(--ai-mono)}.ai-ver{font-size:12px;color:var(--ai-dim)}.ai-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.ai-controls select{margin-left:6px;background:var(--ai-panel);color:var(--ai-text);border:1px solid var(--ai-border);border-radius:4px;padding:4px 6px}.ai-check{display:flex;align-items:center;gap:4px;cursor:pointer}.ai-btn{display:inline-block;cursor:pointer;padding:4px 10px;font-size:13px;background:var(--ai-panel);color:var(--ai-text);border:1px solid var(--ai-border);border-radius:4px}.ai-btn:hover{border-color:var(--ai-accent)}.ai-stats{display:flex;flex-wrap:wrap;gap:14px;margin-left:auto;font-family:var(--ai-mono);font-size:12px;color:var(--ai-dim)}.ai-stats b{color:var(--ai-text);font-weight:600}.ai-stat-err.is-bad b,.ai-status.is-bad{color:var(--ai-error)}.ai-main{flex:1;display:grid;grid-template-columns:1fr 1fr;min-height:0}.ai-editor-panel,.ai-output-panel{min-height:0;display:flex;flex-direction:column}.ai-editor-panel{border-right:1px solid var(--ai-border)}.ai-editor-wrap{position:relative;flex:1;min-height:0;background:var(--ai-panel)}.ai-hl,.ai-editor{position:absolute;inset:0;margin:0;box-sizing:border-box;padding:12px 14px;border:0;font-family:var(--ai-mono);font-size:var(--ai-fs);line-height:var(--ai-lh);white-space:pre;tab-size:4;overflow:auto;font-variant-ligatures:none}.ai-hl{color:var(--ai-text);overflow:hidden;pointer-events:none}.ai-editor{background:transparent;color:transparent;caret-color:var(--ai-accent);resize:none;outline:none}.ai-editor::selection{background:#7faaff59}.hl-focus{background-color:var(--ai-focus-bg);border-radius:2px}.hl-error{text-decoration:underline wavy var(--ai-error);text-underline-offset:3px}.hl-zero{display:inline-block;width:0;height:var(--ai-lh);vertical-align:top;border-left:2px solid var(--ai-error);margin-left:-2px}.ai-tabs{display:flex;border-bottom:1px solid var(--ai-border)}.ai-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--ai-dim);padding:8px 16px;cursor:pointer;font-size:13px}.ai-tab.is-active{color:var(--ai-text);border-bottom-color:var(--ai-accent)}.ai-pane{flex:1;min-height:0;overflow:auto;position:relative}.ai-notice{margin:0;padding:6px 14px;font-size:12px;color:var(--ai-error);border-bottom:1px solid var(--ai-border)}.ai-tree{padding:8px 0;font-family:var(--ai-mono);font-size:12.5px;line-height:20px}.ai-row{display:flex;align-items:baseline;gap:6px;white-space:nowrap;padding:0 12px 0 calc(12px + var(--depth) * 14px);cursor:default}.ai-row:hover{background:#ffffff0a}.ai-row.is-active{background:var(--ai-active-bg)}.ai-toggle{width:12px;flex:none;color:var(--ai-dim);cursor:pointer;user-select:none}.ai-toggle:before{content:"▾"}.ai-node.is-collapsed>.ai-row .ai-toggle:before{content:"▸"}.ai-row.is-leaf .ai-toggle{cursor:default}.ai-row.is-leaf .ai-toggle:before{content:""}.ai-node.is-collapsed>.ai-children{display:none}.ai-field{color:var(--ai-field)}.ai-type.is-named{color:var(--ai-accent)}.ai-type.is-anon{color:var(--ai-anon)}.ai-type.is-error,.ai-type.is-missing{color:var(--ai-error);font-weight:600}.ai-range{color:var(--ai-dim);font-size:11px}.ai-text{color:var(--ai-text);opacity:.8;overflow:hidden;text-overflow:ellipsis}.hl-match{box-shadow:inset 0 -2px 0 var(--ai-match);background-color:var(--ai-match-bg)}.hl-zero-match{border-left-color:var(--ai-match)}.ai-row.is-match{box-shadow:inset 3px 0 0 var(--ai-match)}.ai-cap{color:var(--ai-match);font-size:11px;padding:0 4px;border:1px solid color-mix(in srgb,var(--ai-match) 45%,transparent);border-radius:3px}.ai-row.is-fresh{background:var(--ai-fresh-bg)}.ai-row.is-fresh .ai-type.is-named,.ai-row.is-fresh .ai-type.is-anon{color:var(--ai-fresh)}.hl-edit{background-color:var(--ai-edit-bg)}.hl-zero-edit{border-left-color:#82aaff}.hl-changed{background-image:linear-gradient(to right,var(--ai-changed) 60%,transparent 60%);background-size:6px 1px;background-repeat:repeat-x;background-position:0 0}.ai-inc-bar{position:sticky;top:0;z-index:1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:6px 14px;font-family:var(--ai-mono);font-size:11.5px;color:var(--ai-dim);background:var(--ai-bg);border-bottom:1px solid var(--ai-border)}.ai-inc-bar[hidden]{display:none}.ai-inc-legend{display:flex;gap:10px;margin-left:auto}.ai-lg{padding:0 5px;border-radius:2px;color:var(--ai-text)}.ai-lg-fresh{background:var(--ai-fresh-bg);color:var(--ai-fresh)}.ai-lg-edit{background:var(--ai-edit-bg)}.ai-lg-changed{background-image:linear-gradient(to right,var(--ai-changed) 60%,transparent 60%);background-size:6px 1px;background-repeat:repeat-x;background-position:0 0}.syn-comment{color:var(--syn-comment);font-style:italic}.syn-keyword{color:var(--syn-keyword)}.syn-string,.syn-escape{color:var(--syn-string)}.syn-number,.syn-constant{color:var(--syn-number)}.syn-constant-builtin,.syn-variable-builtin{color:var(--syn-builtin)}.syn-function{color:var(--syn-function)}.syn-function-builtin{color:var(--syn-builtin)}.syn-type,.syn-constructor{color:var(--syn-type)}.syn-property{color:var(--syn-property)}.syn-operator{color:var(--syn-operator)}.syn-punctuation,.syn-delimiter{color:var(--syn-punct)}.syn-embedded{color:var(--ai-text)}.syn-label{color:var(--syn-keyword)}.ai-query-pane:not([hidden]){display:flex;flex-direction:column;overflow:hidden}.ai-query-bar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ai-border)}.ai-query-bar select{background:var(--ai-panel);color:var(--ai-text);border:1px solid var(--ai-border);border-radius:4px;padding:4px 6px;max-width:60%}.ai-query-help{margin-left:auto;font-size:12px}.ai-query{flex:none;height:150px;min-height:60px;resize:vertical;box-sizing:border-box;margin:0;padding:10px 14px;border:0;border-bottom:1px solid var(--ai-border);background:var(--ai-panel);color:var(--ai-text);caret-color:var(--ai-accent);outline:none;font-family:var(--ai-mono);font-size:12.5px;line-height:19px;white-space:pre;tab-size:2}.ai-query-msg{margin:0;padding:6px 14px;min-height:18px;font-family:var(--ai-mono);font-size:12px;color:var(--ai-dim);border-bottom:1px solid var(--ai-border)}.ai-query-msg.is-bad{color:var(--ai-error)}.ai-query-results{flex:1;overflow:auto;padding:4px 0 12px;font-family:var(--ai-mono);font-size:12.5px;line-height:20px}.ai-qmatch{padding:4px 0;border-bottom:1px solid var(--ai-border)}.ai-qhead{padding:0 14px;font-size:11px;color:var(--ai-dim)}.ai-qcap{display:flex;align-items:baseline;gap:8px;padding:0 14px 0 26px;white-space:nowrap;cursor:pointer}.ai-qcap:hover{background:#ffffff0a}.ai-copy{position:sticky;top:8px;float:right;margin:8px 12px 0 0}.ai-sexp{margin:0;padding:12px 14px;font-family:var(--ai-mono);font-size:12.5px;line-height:20px;white-space:pre;color:var(--ai-text)}.ai-footer{padding:6px 16px;font-size:11px;color:var(--ai-dim);border-top:1px solid var(--ai-border)}@media(max-width:800px){.ai-app{height:auto;min-height:calc(100vh - 140px)}.ai-main{grid-template-columns:1fr}.ai-editor-panel{border-right:0;border-bottom:1px solid var(--ai-border);height:45vh}.ai-output-panel{height:55vh}.ai-stats{margin-left:0}}
