.qs-app{display:flex;flex-direction:column;min-height:100vh;background:var(--page-bg);color:var(--text);font-family:var(--font-body)}.qs-header{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap}.qs-header__brand{display:flex;align-items:baseline;gap:8px}.qs-header__logo{font-weight:700;color:var(--teal);font-size:16px}.qs-header__sub{font-size:12px;color:var(--muted)}.qs-header__nav{display:flex;gap:14px}.qs-header__nav a{color:var(--blue);text-decoration:none;font-size:13px}.qs-header__nav a:hover{text-decoration:underline}.qs-header__actions{margin-left:auto;display:flex;gap:8px}.qs-btn{background:#0e639c;border:none;color:#fff;padding:6px 14px;border-radius:3px;cursor:pointer;font-size:13px}.qs-btn:hover{background:#17b}.qs-btn:disabled{opacity:.5;cursor:wait}.qs-btn--run{background:var(--teal);color:var(--page-bg);font-weight:600}.qs-btn--run:hover{background:#66d4bd}.qs-btn--secondary{background:#3a3d3e;color:var(--text)}.qs-btn--secondary:hover{background:#4a4d4e}.qs-main{flex:1;display:grid;grid-template-columns:260px 1fr;min-height:0}.qs-side{border-right:1px solid var(--border);background:var(--panel);overflow-y:auto}.qs-work{display:grid;grid-template-rows:1fr 40%;min-height:0}.qs-editor{min-height:0;border-bottom:1px solid var(--border)}.qs-result-pane{min-height:0;overflow:auto;background:var(--page-bg)}.qs-schema{padding:8px 0;font-size:13px}.qs-schema__head{padding:8px 12px;font-weight:600;color:var(--teal);border-bottom:1px solid var(--border);margin-bottom:6px}.qs-schema__group{margin:4px 0}.qs-schema__group summary{padding:4px 12px;color:var(--yellow);cursor:pointer;font-weight:500;-webkit-user-select:none;user-select:none}.qs-schema__group summary:hover{background:#2a2d2e}.qs-schema ul,.qs-schema ol,.qs-schema li{list-style:none!important;list-style-type:none!important;padding-inline-start:0!important;margin:0}.qs-schema ul::marker,.qs-schema li::marker{content:""!important;display:none!important}.qs-schema__list{margin:4px 0}.qs-schema__table{padding:0}.qs-schema__table-row{display:flex;align-items:center;padding:2px 12px 2px 20px}.qs-schema__table-row:hover{background:#2a2d2e}.qs-schema__expand{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:0 4px 0 0;font-size:10px;width:16px}.qs-schema__name{background:transparent;border:none;color:var(--text);cursor:pointer;padding:0;font:inherit;text-align:left;flex:1}.qs-schema__name:hover{color:var(--blue)}.qs-schema__view{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:0 4px;font-size:12px;opacity:0;transition:opacity .12s}.qs-schema__table-row:hover .qs-schema__view{opacity:1}.qs-schema__view:hover{color:var(--teal)}.qs-schema__fields{list-style:none;padding:0;border-left:1px solid var(--border);margin:0 0 0 24px}.qs-schema__field{display:flex;align-items:baseline;gap:6px;padding:2px 12px}.qs-schema__field:hover{background:#2a2d2e}.qs-schema__field-btn{background:transparent;border:none;color:var(--blue);cursor:pointer;padding:0;font:inherit;text-align:left}.qs-schema__field-btn:hover{text-decoration:underline}.qs-schema__field-type{color:var(--muted);font-size:11px;font-family:SF Mono,Menlo,Consolas,monospace}.qs-params{padding:8px 12px;border-bottom:1px solid var(--border);background:#1a1c22}.qs-params__head{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.qs-params__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr;gap:4px}.qs-params__row{display:flex;align-items:center;gap:8px;font-size:13px}.qs-params__name{font-family:SF Mono,Menlo,Consolas,monospace;color:var(--blue);min-width:100px;font-size:12px}.qs-params__kind{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:3px 6px;border-radius:3px;font-family:inherit;font-size:12px;min-width:90px}.qs-params__input{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:3px 6px;border-radius:3px;font-family:inherit;font-size:12px;min-width:160px;flex:1}.qs-params__input--num{max-width:120px}.qs-params__null{color:var(--dim);font-style:italic;font-size:12px}.qs-params__ref{display:flex;gap:6px;flex:1}.qs-params__ref .qs-params__kind{flex:1}.qs-result{padding:8px 12px;font-size:13px}.qs-result__label{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.qs-result__toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.qs-result__toolbar .qs-result__label{margin-bottom:0}.qs-result__toggle{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;-webkit-user-select:none;user-select:none}.qs-result__toggle input{margin:0;accent-color:var(--teal)}.qs-cell--ref{color:var(--blue);border-bottom:1px dotted #4a4a4a;cursor:help}.qs-result--empty{color:var(--dim);font-style:italic;padding:20px;text-align:center}.qs-result--error .qs-result__label{color:var(--coral)}.qs-result__errors{color:var(--coral);list-style:none;padding:0;margin:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.qs-result__warnings{border:1px solid #7a5a20;background:#2a2114;padding:6px 10px;margin-bottom:8px;border-radius:3px}.qs-result__warnings ul{list-style:none;padding:0;margin:4px 0 0;color:#dcb27a;font-size:12px}.qs-result__warnings li{padding:2px 0}.qs-result__label--warn{color:#dcb27a}.qs-result__errors li{padding:2px 0}.qs-result__stage{color:#dcb27a;margin-right:6px}.qs-result__scroll{overflow:auto;max-height:100%}.qs-table{border-collapse:collapse;font-family:SF Mono,Menlo,Consolas,monospace;font-size:13px}.qs-table th,.qs-table td{padding:4px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);text-align:left;white-space:nowrap}.qs-table th{background:var(--panel);color:var(--teal);font-weight:600;position:sticky;top:0}.qs-cell--num{text-align:right}.qs-row--total{font-weight:600;background:#232527}.qs-row--total-1{color:var(--yellow)}.qs-row--total-2{color:#d7a25f}.qs-row--total-3{color:#c48232}.qs-modal__backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.qs-modal{background:var(--panel);border:1px solid #444;border-radius:6px;width:min(900px,100%);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080}.qs-modal__head{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border)}.qs-modal__title{font-weight:600;color:var(--teal);flex:1}.qs-modal__close{background:transparent;border:none;color:var(--muted);font-size:22px;line-height:1;cursor:pointer;padding:0 6px}.qs-modal__close:hover{color:var(--text)}.qs-modal__body{overflow:auto;padding:12px 16px 16px}.qs-examples__group+.qs-examples__group{margin-top:20px}.qs-examples__group-title{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--yellow);margin:8px 0}.qs-examples__list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}.qs-examples__item{margin:0}.qs-examples__btn{width:100%;text-align:left;background:var(--page-bg);border:1px solid var(--border);border-radius:4px;padding:10px 12px;cursor:pointer;color:inherit;font:inherit;display:block}.qs-examples__btn:hover{border-color:var(--teal);background:#232323}.qs-examples__item-title{color:var(--text);font-weight:600;margin-bottom:4px}.qs-examples__item-hint{color:var(--muted);font-size:12px;margin-bottom:8px}.qs-examples__code{margin:0;padding:8px;background:#171717;border-radius:3px;color:var(--blue);font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;overflow-x:auto}@media(max-width:900px){.qs-main{grid-template-columns:1fr;grid-template-rows:auto 1fr}.qs-side{max-height:200px;border-right:none;border-bottom:1px solid var(--border)}.qs-work{grid-template-rows:300px 1fr}}.qs-base-banner{display:flex;align-items:center;gap:12px;padding:8px 16px;font-size:13px;background:var(--panel);border-bottom:1px solid var(--border);color:var(--text)}.qs-base-banner--error{background:#3a1d1a;border-bottom-color:#6b2b23;color:#f3b9b2}.qs-base-banner a{color:#6fb3e0}.qs-schema__origin{padding:4px 10px 8px;font-size:11px;opacity:.75}.qs-app--embed .qs-header__brand,.qs-app--embed .qs-header__nav,.qs-app--embed .qs-header__examples,.qs-app--embed .help__footer{display:none}.qs-app--embed .qs-header{padding:6px 12px}.qs-cell__total-mark{opacity:.7}
