.builder-page{background:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.builder-topbar{border-bottom:1px solid var(--color-border);background:var(--builder-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:56px;padding:0 20px;display:flex;position:relative}.builder-topbar__left{align-items:center;gap:12px;min-width:0;display:flex}.builder-topbar__logo{align-items:center;gap:8px;text-decoration:none;display:flex}.builder-topbar__logo-icon{background:var(--color-orange);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.builder-topbar__logo-icon span{color:#fff;font-size:11px;font-weight:700;font-family:var(--font-mono)}.builder-topbar__divider{background:var(--color-border);width:1px;height:20px}.builder-topbar__right{align-items:center;gap:8px;min-width:0;display:flex}.builder-body{flex:1;grid-template-rows:1fr 340px;grid-template-columns:1fr 380px;min-height:0;display:grid;overflow:hidden}.builder-main{flex-direction:column;gap:16px;padding:24px;display:flex;overflow-y:auto}.builder-sidebar{border-left:1px solid var(--color-border);background:var(--builder-panel);flex-direction:column;grid-area:1/2/3;display:flex;overflow:hidden;box-shadow:-18px 0 38px #0206172e}.schema-selector{align-items:center;gap:8px;display:flex}.schema-selector__label{color:var(--color-secondary);white-space:nowrap;font-size:12px;font-family:var(--font-mono);text-transform:uppercase}.schema-selector__select{background:var(--color-elevated);border:1px solid var(--color-border);font-size:13px;font-family:var(--font-body);color:var(--color-primary);cursor:pointer;border-radius:8px;outline:none;padding:5px 10px;transition:border-color .2s}.schema-selector__select:focus{border-color:var(--color-teal-bright)}.query-group{border:1px solid var(--color-border);background:var(--builder-group);box-shadow:var(--shadow-md);border-radius:8px;transition:border-color .2s;overflow:hidden}.query-group:focus-within{border-color:var(--color-border-bright)}.query-group--root{border-color:#2dd4bf59}.query-group--error{border-color:var(--color-error)!important}.query-group__header{background:var(--builder-panel);border-bottom:1px solid var(--color-border);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:10px 14px;display:flex}.query-group--collapsed .query-group__header{border-bottom:none}.query-group__logic-btn{width:44px;height:24px;font-size:11px;font-weight:700;font-family:var(--font-mono);cursor:pointer;letter-spacing:.04em;border:1px solid;border-radius:5px;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.query-group__logic-btn--and{background:var(--color-orange-glow);color:var(--color-orange);border-color:#ffb0006b}.query-group__logic-btn--and:hover{background:#ffb0003d}.query-group__logic-btn--or{background:var(--color-teal-glow);color:var(--color-teal-bright);border-color:#1a7a8a59}.query-group__logic-btn--or:hover{background:#2dd4bf33}.query-group__meta{color:var(--color-muted);font-size:11px;font-family:var(--font-mono)}.query-group__actions{align-items:center;gap:4px;margin-left:auto;display:flex}.query-group__collapse-btn{width:24px;height:24px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.query-group__collapse-btn:hover{background:var(--color-elevated);color:var(--color-secondary)}.query-group__body{background:var(--builder-group-body);flex-direction:column;gap:6px;padding:10px;display:flex}.query-group__footer{border-top:1px solid var(--color-border);background:var(--builder-panel);align-items:center;gap:6px;padding:8px 10px;display:flex}.query-group__add-btn{height:28px;font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;border:1px dashed var(--color-border-bright);color:var(--color-secondary);background:0 0;border-radius:7px;align-items:center;gap:5px;padding:4px 10px;transition:all .15s;display:inline-flex}.query-group__add-btn:hover{border-color:var(--color-orange);color:var(--color-orange);background:var(--color-orange-glow)}.query-group__add-btn--group:hover{border-color:var(--color-teal-bright);color:var(--color-teal-bright);background:var(--color-teal-glow)}.query-group__error{color:var(--color-error);padding:4px 14px 8px;font-size:11px}.query-group__nested{padding-left:16px;position:relative}.query-group__nested:before{content:"";background:var(--color-border-bright);border-radius:1px;width:1px;position:absolute;top:0;bottom:0;left:6px}.query-rule{background:var(--builder-rule);border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:6px;padding:8px 10px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.query-node-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.query-node-row>.query-rule,.query-node-row>.query-group{grid-column:2}.query-node-row:first-child{display:block}.query-node-row__connector{z-index:1;grid-column:1;margin-top:13px;position:sticky;left:0}.query-rule:hover{border-color:#2dd4bf6b;box-shadow:0 0 0 1px #2dd4bf0f}.query-rule--error{background:#e53e3e08;border-color:var(--color-error)!important}.query-rule--dragging{opacity:.5;box-shadow:var(--shadow-lg)}.query-rule__drag-handle{width:20px;height:34px;color:var(--color-muted);cursor:grab;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:color .15s;display:flex}.query-rule__drag-handle:hover{color:var(--color-secondary)}.query-rule__drag-handle:active{cursor:grabbing}.query-rule__fields{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.query-rule__select{background:var(--color-elevated);border:1px solid var(--color-border);font-size:13px;font-family:var(--font-body);color:var(--color-primary);cursor:pointer;border-radius:8px;outline:none;height:34px;padding:6px 10px;transition:border-color .2s}.query-rule__select:focus{border-color:var(--color-teal-bright)}.query-rule__select--field{min-width:120px;font-weight:500}.query-rule__select--operator{min-width:140px;color:var(--color-secondary)}.query-rule__input{background:var(--color-elevated);border:1px solid var(--color-border);font-size:13px;font-family:var(--font-body);color:var(--color-primary);border-radius:8px;outline:none;flex:1;min-width:120px;height:34px;padding:6px 10px;transition:border-color .2s}.query-rule__input::placeholder{color:var(--color-muted)}.query-rule__input:focus{border-color:var(--color-teal-bright)}.query-rule__input--error{border-color:var(--color-error)!important}.query-rule__between-sep{color:var(--color-muted);white-space:nowrap;font-size:12px}.query-rule__remove{width:28px;height:28px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;border-radius:7px;flex-shrink:0;justify-content:center;align-self:center;align-items:center;transition:all .15s;display:flex}.query-rule__remove:hover{color:var(--color-error);background:#e53e3e1a}.query-rule__error-msg{color:var(--color-error);font-size:10px;font-family:var(--font-mono);pointer-events:none;position:absolute;bottom:-18px;left:36px}.field-type-badge{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;justify-content:center;align-items:center;padding:1px 5px;font-size:9px;font-weight:600;display:inline-flex}.field-type-badge--string{color:var(--color-teal-bright);background:#1a7a8a26}.field-type-badge--number{background:var(--color-orange-glow);color:var(--color-orange)}.field-type-badge--date{color:var(--color-success);background:#4caf5026}.field-type-badge--enum{color:var(--color-warning);background:#f6ad5526}.field-type-badge--boolean{color:var(--color-secondary);background:#9696961a}.builder-empty{text-align:center;border:1px dashed var(--color-border-bright);background:var(--color-surface);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.builder-empty__icon{font-size:32px;line-height:1}.builder-empty__title{color:var(--color-primary);font-size:15px;font-weight:600;font-family:var(--font-display)}.builder-empty__desc{color:var(--color-secondary);max-width:280px;font-size:13px;line-height:1.5}.rule-count{color:var(--color-muted);background:var(--color-elevated);border:1px solid var(--color-border);font-size:11px;font-family:var(--font-mono);border-radius:6px;align-items:center;gap:5px;padding:2px 8px;display:inline-flex}.bdr-btn{font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:32px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.bdr-btn:active{transform:scale(.97)}.bdr-btn--primary{background:var(--color-teal-bright);color:#041018;border-color:var(--color-teal-bright)}.bdr-btn--primary:hover{background:#5eead4}.bdr-btn--secondary{background:var(--color-elevated);color:var(--color-primary);border-color:var(--color-border)}.bdr-btn--secondary:hover{border-color:var(--color-border-bright)}.bdr-btn--ghost{color:var(--color-secondary);background:0 0}.bdr-btn--ghost:hover{background:var(--color-elevated);color:var(--color-primary)}.bdr-btn--danger{color:var(--color-error);background:0 0;border-color:#0000}.bdr-btn--danger:hover{background:#e53e3e14}.icon-btn{border:1px solid var(--color-border);background:var(--color-elevated);width:32px;height:32px;color:var(--color-secondary);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.icon-btn:hover{border-color:var(--color-teal-bright);color:var(--color-primary)}.icon-btn:active{transform:scale(.95)}.shortcut-overlay{z-index:80;box-sizing:border-box;isolation:isolate;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow:hidden}.shortcut-overlay__backdrop{z-index:0;-webkit-backdrop-filter:blur(18px)saturate(80%);cursor:pointer;background:#020617bd;border:none;position:absolute;inset:0}[data-theme=light] .shortcut-overlay__backdrop{background:#e2ebf6d6}.shortcut-popover{z-index:1;width:min(420px,100vw - 40px);max-height:min(560px,100vh - 40px);color:var(--color-primary);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);background:#0b1220;border-radius:8px;margin:0;animation:.12s ease-out shortcut-pop;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}[data-theme=light] .shortcut-popover{background:#fff}.shortcut-popover__header{border-bottom:1px solid var(--color-border);color:var(--color-primary);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.shortcut-popover__close{width:26px;height:26px}.shortcut-popover__list{flex-direction:column;padding:8px;display:flex}.shortcut-popover__row{color:var(--color-secondary);justify-content:space-between;align-items:center;gap:14px;padding:8px 6px;font-size:12px;display:flex}.shortcut-popover__keys{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:inline-flex}.shortcut-popover kbd{border:1px solid var(--color-border-bright);background:var(--color-elevated);min-width:24px;height:22px;color:var(--color-primary);font-family:var(--font-mono);border-radius:5px;justify-content:center;align-items:center;padding:0 6px;font-size:10px;line-height:1;display:inline-flex}@keyframes shortcut-pop{0%{opacity:0;transform:translate(-50%,calc(6px - 50%))scale(.98)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (max-width:720px){.shortcut-trigger,.shortcut-overlay{display:none}}@media (max-width:900px){.builder-page{min-height:100dvh}.builder-topbar{flex-wrap:wrap;align-items:flex-start;height:auto;min-height:56px;padding:10px 12px}.builder-topbar__left,.builder-topbar__right{flex-wrap:wrap;width:100%}.builder-topbar__right{justify-content:flex-start}.builder-body{grid-template-rows:minmax(360px,auto) minmax(420px,65vh) minmax(300px,42vh);grid-template-columns:1fr;overflow:auto}.builder-main{grid-area:1/1;padding:16px;overflow:visible}.builder-sidebar{border-left:none;border-top:1px solid var(--color-border);min-height:420px;max-height:none;box-shadow:none;grid-area:2/1}.builder-lower{grid-area:3/1;height:auto;min-height:300px}}@media (max-width:600px){.shortcut-trigger,.shortcut-overlay{display:none}.builder-topbar{gap:10px;padding:10px}.builder-topbar__divider{display:none}.builder-topbar__logo{flex-shrink:0}.schema-selector{flex:100%}.schema-selector__select{flex:1;min-width:0}.builder-topbar__right .bdr-btn{flex:auto}.builder-main{padding:12px}.query-rule{align-items:stretch;gap:8px}.query-node-row{grid-template-columns:1fr}.query-node-row>.query-rule,.query-node-row>.query-group{grid-column:1}.query-node-row__connector{grid-column:1;justify-self:flex-start;margin-top:0;position:static}.query-rule__drag-handle{height:auto}.query-rule__fields{flex-direction:column;align-items:stretch}.query-rule__select,.query-rule__input{width:100%;min-width:unset}.query-rule__remove{align-self:flex-start}.query-group__header,.query-group__footer{flex-wrap:wrap}}
.results-panel{flex-direction:column;height:100%;display:flex;overflow:hidden}.results-panel__toolbar{border-bottom:1px solid var(--color-border);background:var(--builder-results-toolbar);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.results-panel__meta{align-items:center;gap:10px;display:flex}.results-panel__stat{font-size:12px;font-family:var(--font-mono);align-items:center;gap:5px;display:flex}.results-panel__stat-value{color:var(--color-primary);font-weight:700}.results-panel__stat-label{color:var(--color-muted)}.results-panel__stat-divider{background:var(--color-border);width:1px;height:12px}.results-panel__controls{align-items:center;gap:6px;display:flex}.results-panel__sort-select{background:var(--color-elevated);border:1px solid var(--color-border);font-size:12px;font-family:var(--font-body);color:var(--color-primary);cursor:pointer;border-radius:7px;outline:none;height:28px;padding:4px 8px}.results-panel__sort-select:focus{border-color:var(--color-teal-bright)}.results-table-wrap{flex:1;position:relative;overflow:auto}.results-table{border-collapse:collapse;width:100%;font-size:12px}.results-table th{background:var(--builder-results-head);border-bottom:1px solid var(--color-border);text-align:left;color:var(--color-secondary);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1;padding:8px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.results-table th:hover{color:var(--color-primary);background:var(--color-elevated)}.results-table th.sorted{color:var(--color-orange)}.results-table th .sort-indicator{opacity:.6;margin-left:4px;font-size:10px;display:inline-block}.results-table td{border-bottom:1px solid var(--color-border);color:var(--color-primary);font-family:var(--font-mono);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:7px 12px;overflow:hidden}.results-table tr:hover td{background:#2dd4bf14}.results-table tr:last-child td{border-bottom:none}.cell--number{color:var(--color-orange)}.cell--boolean{color:var(--color-teal-bright)}.cell--date{color:var(--color-success)}.cell--enum{background:var(--color-elevated);border:1px solid var(--color-border);color:var(--color-secondary);border-radius:4px;align-items:center;padding:1px 6px;font-size:10px;font-weight:600;display:inline-flex}.results-empty{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:min-content;padding:48px 24px;display:flex;overflow:auto}.results-empty--custom{justify-content:flex-start;padding:24px}.results-empty__icon{font-size:36px;line-height:1}.results-empty__title{color:var(--color-primary);font-size:15px;font-weight:600;font-family:var(--font-display)}.results-empty__desc{color:var(--color-secondary);max-width:260px;font-size:13px;line-height:1.5}.results-empty__action{border:1px solid var(--color-border);background:var(--color-elevated);min-height:32px;color:var(--color-secondary);cursor:pointer;font-size:12px;font-family:var(--font-body);white-space:nowrap;border-radius:8px;margin-top:8px;padding:7px 16px}.results-loading{color:var(--color-secondary);flex:1;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.results-loading__spinner{border:2px solid var(--color-border);border-top-color:var(--color-orange);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.results-pagination{border-top:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.results-pagination__info{color:var(--color-muted);font-size:11px;font-family:var(--font-mono)}.results-pagination__controls{align-items:center;gap:4px;display:flex}.results-pagination__btn{border:1px solid var(--color-border);background:var(--color-elevated);width:28px;height:28px;color:var(--color-secondary);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;font-size:12px;transition:all .15s;display:flex}.results-pagination__btn:hover:not(:disabled){border-color:var(--color-border-bright);color:var(--color-primary)}.results-pagination__btn:disabled{opacity:.35;cursor:not-allowed}.results-pagination__page{color:var(--color-primary);font-size:12px;font-family:var(--font-mono);text-align:center;min-width:60px;padding:0 8px}.run-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.run-bar__btn{background:var(--color-orange);color:#fff;height:36px;font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;box-shadow:var(--shadow-orange);border:none;border-radius:9px;flex-shrink:0;align-items:center;gap:7px;padding:0 18px;transition:all .15s;display:inline-flex}.run-bar__btn:hover{background:var(--color-orange-dim)}.run-bar__btn:active{transform:scale(.97)}.run-bar__btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.run-bar__hint{color:var(--color-muted);font-size:12px}.builder-body--with-results{grid-template-rows:1fr auto}.builder-lower{border-top:1px solid var(--color-border);background:var(--color-bg);flex-direction:column;grid-area:2/1;height:340px;display:flex;overflow:hidden}.builder-lower__header{border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.builder-lower__title{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--color-muted)}@media (max-width:900px){.results-panel__toolbar,.results-pagination{flex-direction:column;align-items:stretch}.results-panel__meta,.results-panel__controls,.results-pagination__controls{flex-wrap:wrap}.results-panel__controls{align-items:stretch}.results-panel__sort-select,.run-bar__btn{width:100%}}@media (max-width:600px){.builder-lower{min-height:360px}}
