:root{--dq-primary: #4f8ef7;--dq-primary-hover: #6ea3ff;--dq-primary-soft: rgba(79, 142, 247, .16);--dq-text: #f2f3f7;--dq-text-secondary: #a7acba;--dq-text-muted: #6b7180;--dq-surface: #14151c;--dq-surface-subtle: #0a0b10;--dq-surface-sunken: #1b1d27;--dq-border: rgba(255, 255, 255, .08);--dq-border-strong: rgba(255, 255, 255, .16);--dq-success: #2dd4bf;--dq-success-bg: rgba(45, 212, 191, .14);--dq-warning: #f5a623;--dq-warning-bg: rgba(245, 166, 35, .14);--dq-danger: #f0625f;--dq-danger-bg: rgba(240, 98, 95, .14);--dq-info: #a78bfa;--dq-info-bg: rgba(167, 139, 250, .14);--dq-radius-sm: 8px;--dq-radius-md: 14px;--dq-shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--dq-shadow-md: 0 8px 28px rgba(0, 0, 0, .4);color:var(--dq-text);background:var(--dq-surface-subtle);font-family:Inter,Roboto,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;background:radial-gradient(1200px 600px at 15% -10%,rgba(79,142,247,.1),transparent 60%),radial-gradient(900px 500px at 100% 0%,rgba(167,139,250,.08),transparent 55%),var(--dq-surface-subtle);color:var(--dq-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,a{font:inherit}a{text-decoration:none}button{border:0}:where(button,a[href],input):focus-visible{outline:2px solid var(--dq-primary);outline-offset:2px}.app-shell{min-height:100vh;padding:0 20px 32px;background:transparent}.hero{display:flex;align-items:center;justify-content:space-between;gap:20px;width:calc(100% + 40px);min-height:72px;margin:0 -20px 24px;padding:12px max(20px,calc((100vw - 1180px)/2));border-bottom:1px solid var(--dq-border);background:var(--dq-surface);box-shadow:var(--dq-shadow-sm)}.hero-copy{min-width:0}.eyebrow{display:block;margin-bottom:4px;color:var(--dq-primary);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}h1,h2,h3,p{margin:0}h1{color:var(--dq-text);font-size:1.65rem;font-weight:800;line-height:1.15;letter-spacing:-.02em}h2{color:var(--dq-text);font-size:1.25rem;font-weight:700}h3{color:var(--dq-text);font-size:1rem;line-height:1.25;overflow-wrap:anywhere}.hero p{max-width:620px;margin-top:4px;color:var(--dq-text-secondary);font-size:.85rem}.mode-switch{display:inline-grid;grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;padding:4px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface-subtle)}.mode-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 12px;border-radius:var(--dq-radius-sm);background:transparent;color:var(--dq-text-secondary);font-weight:600;cursor:pointer}.mode-switch button.is-active{background:var(--dq-primary);color:#fff;box-shadow:0 2px 8px #4f8ef73d}.backend-pill{display:flex;align-items:center;align-self:center;gap:10px;min-height:46px;padding:8px 8px 8px 14px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface-subtle);color:var(--dq-text-muted)}.backend-pill--ok{color:var(--dq-success);background:var(--dq-success-bg);border-color:transparent}.backend-pill--error{color:var(--dq-danger);background:var(--dq-danger-bg);border-color:transparent}.backend-pill--checking{color:var(--dq-warning);background:var(--dq-warning-bg);border-color:transparent}.icon-button{display:inline-grid;width:34px;height:34px;place-items:center;border-radius:var(--dq-radius-md);background:var(--dq-surface-sunken);color:inherit;cursor:pointer}.icon-button.outlined{border:1px solid var(--dq-border);background:var(--dq-surface)}.workspace{display:grid;gap:14px;width:min(1180px,100%);margin:0 auto}.control-panel,.results-panel{border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface);box-shadow:var(--dq-shadow-sm)}.control-panel{display:flex;flex-direction:column;gap:16px;padding:16px}.results-panel{min-width:0;padding:14px}.panel-title,.status-line,.document-card__header,.file-row,.surface-header,.button-row,.tabs,.input-shell,.range-row{display:flex;align-items:center}.panel-title{gap:8px;color:var(--dq-text);font-weight:700}.field{display:grid;gap:8px}.field>span{color:var(--dq-text-secondary);font-size:.82rem;font-weight:600}.gateway-info__row{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface-sunken)}.gateway-info__value{color:var(--dq-text-primary);font-size:.9rem;font-weight:600}.gateway-info__sep{color:var(--dq-text-secondary)}.toggle-row{display:flex;align-items:center;gap:9px;color:var(--dq-text-secondary);font-size:.88rem;font-weight:600;cursor:pointer}.toggle-row input{width:17px;height:17px;margin:0;accent-color:var(--dq-primary)}.input-shell{gap:9px;min-height:46px;padding:0 12px;border:1px solid var(--dq-border-strong);border-radius:var(--dq-radius-md);background:var(--dq-surface-sunken);box-shadow:var(--dq-shadow-sm)}.input-shell input{width:100%;min-width:0;border:0;outline:none;background:transparent;color:var(--dq-text)}.file-picker{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:48px;padding:6px;border:1px solid var(--dq-border-strong);border-radius:var(--dq-radius-md);background:var(--dq-surface-sunken);box-shadow:var(--dq-shadow-sm);cursor:pointer}.file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-picker__button,.file-picker__meta{pointer-events:none}.file-picker__button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 12px;border-radius:var(--dq-radius-sm);background:var(--dq-primary-soft);color:var(--dq-primary);font-weight:600}.file-picker__meta{min-width:0;color:var(--dq-text-muted);font-size:.9rem;font-weight:500;overflow-wrap:anywhere}.file-picker:hover .file-picker__button{background:var(--dq-info-bg)}.input-shell:focus-within,.file-picker:focus-within{border-color:var(--dq-primary);box-shadow:0 0 0 3px #4f8ef726}.range-row{gap:12px}.range-row input{width:100%;accent-color:var(--dq-primary)}.range-row strong{min-width:72px;color:var(--dq-text);text-align:right}.button-row{display:grid;grid-template-columns:1fr;gap:10px}.stop-button{border-color:var(--dq-danger);background:var(--dq-danger-bg);color:var(--dq-danger)}.stop-button:hover:not(:disabled){border-color:var(--dq-danger);background:var(--dq-danger-bg);color:var(--dq-danger);opacity:.86}.link-button{display:block;width:100%;margin-top:8px;padding:4px;border:0;background:transparent;color:var(--dq-text-muted);font-size:.8rem;text-align:center;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.link-button:hover{color:var(--dq-text-secondary)}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 14px;border-radius:var(--dq-radius-md);font-weight:600;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .14s ease}.primary-button{border:1px solid var(--dq-primary);background:var(--dq-primary);color:#fff;box-shadow:0 2px 8px #4f8ef73d}.secondary-button{border:1px solid var(--dq-border);background:var(--dq-surface);color:var(--dq-text-secondary)}.compact{min-height:38px}.full-width{width:100%}.primary-button:hover,.secondary-button:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:hover:not(:disabled){border-color:var(--dq-primary-hover);background:var(--dq-primary-hover);box-shadow:0 4px 14px #4f8ef752}.secondary-button:hover:not(:disabled),.icon-button:hover{border-color:var(--dq-primary);background:var(--dq-info-bg);color:var(--dq-info)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.64;transform:none}.status-line{gap:8px;min-height:38px;padding:8px 10px;border-radius:var(--dq-radius-sm);background:var(--dq-surface-subtle);color:var(--dq-text-secondary);font-size:.9rem;font-weight:500}.status-line--button{width:100%;border:0;font-family:inherit;text-align:left;cursor:pointer}.status-line--button:hover{background:var(--dq-surface-sunken);color:var(--dq-text)}.status-line--button[aria-expanded=true]{border:1px solid var(--dq-primary);background:var(--dq-primary-soft);color:var(--dq-text)}.index-panel{display:flex;flex-direction:column;gap:4px;max-height:260px;padding:8px;overflow-y:auto;border:1px solid var(--dq-border);border-radius:var(--dq-radius-sm);background:var(--dq-surface-subtle)}.index-panel__row{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;color:var(--dq-text-secondary);font-size:.82rem}.index-panel__row:hover{background:var(--dq-surface-sunken)}.index-panel__row>svg{flex:0 0 auto;color:var(--dq-text-muted)}.index-panel__row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-panel__empty{margin:0;padding:6px;color:var(--dq-text-muted);font-size:.82rem}.format-support{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface-subtle)}.format-support__title{color:var(--dq-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.format-support__group{display:flex;flex-direction:column;gap:5px}.format-support__label{color:var(--dq-text-secondary);font-size:.76rem;font-weight:600}.format-support__chips{display:flex;flex-wrap:wrap;gap:5px}.format-chip{padding:2px 8px;border-radius:999px;background:var(--dq-surface-sunken);color:var(--dq-text-secondary);font-size:.72rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.format-chip--more{color:var(--dq-text-muted);font-family:inherit}.format-support__note{color:var(--dq-text-muted);font-size:.74rem;font-style:italic}.search-tips{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface-subtle)}.search-tips__title{color:var(--dq-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.search-tips__row{display:flex;flex-direction:column;gap:1px}.search-tips__row code{overflow:hidden;color:var(--dq-text);font-size:.76rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.search-tips__row span{color:var(--dq-text-muted);font-size:.72rem}.search-tips__note{margin-top:4px;color:var(--dq-text-muted);font-size:.72rem;line-height:1.4}.alert{display:flex;gap:9px;padding:11px 12px;border:1px solid var(--dq-danger);border-radius:var(--dq-radius-sm);background:var(--dq-danger-bg);color:var(--dq-danger);font-size:.9rem;overflow-wrap:anywhere}.stats-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{position:relative;overflow:hidden;min-height:74px;padding:14px 16px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface);box-shadow:var(--dq-shadow-sm)}.stat-card:before{position:absolute;inset:0 0 auto;height:3px;background:var(--dq-primary);content:""}.stat-card span{display:block;color:var(--dq-text-muted);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.stat-card strong{display:block;margin-top:8px;color:var(--dq-primary);font-size:1.85rem;font-weight:700;line-height:1}.stat-card--green:before{background:var(--dq-success)}.stat-card--green strong{color:var(--dq-success)}.stat-card--red:before{background:var(--dq-danger)}.stat-card--red strong{color:var(--dq-danger)}.stat-card--yellow:before{background:var(--dq-warning)}.stat-card--yellow strong{color:var(--dq-warning)}.stat-card--purple:before{background:var(--dq-info)}.stat-card--purple strong{color:var(--dq-info)}.progress-panel{display:grid;gap:8px;margin-top:14px;padding:14px 16px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface)}.progress-bar-track{height:8px;overflow:hidden;border-radius:999px;background:var(--dq-surface-sunken)}.progress-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--dq-primary),var(--dq-info));transition:width .22s ease}.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--dq-text-muted);font-size:.82rem}.progress-meta span:last-child{min-width:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.run-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.run-summary__item{display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-sm);background:var(--dq-surface);color:var(--dq-text-secondary)}.run-summary__item>svg{flex:0 0 auto;color:var(--dq-text-muted)}.run-summary__item span{min-width:0;overflow:hidden;color:var(--dq-text-muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.run-summary__item strong{margin-left:auto;color:var(--dq-text);font-size:.92rem;white-space:nowrap}.run-summary__item--accent{border-color:var(--dq-success);background:var(--dq-success-bg)}.run-summary__item--accent>svg,.run-summary__item--accent span{color:var(--dq-success)}.run-summary__item--accent strong{color:var(--dq-success)}.surface-header{justify-content:space-between;gap:12px;margin:16px 0 12px}.surface-header>div:first-child{min-width:0}.surface-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.surface-header span{color:var(--dq-text-muted);font-size:.88rem}.file-list,.document-grid,.tag-map{display:grid;gap:10px}.file-row{gap:10px;min-width:0;padding:12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-sm);background:var(--dq-surface)}.file-row span{min-width:0;flex:1;overflow-wrap:anywhere}.file-row strong{color:var(--dq-text-muted);font-size:.84rem}.empty-state{display:grid;min-height:230px;place-items:center;padding:28px 16px;border:1px dashed var(--dq-border-strong);border-radius:var(--dq-radius-md);background:var(--dq-surface-subtle);color:var(--dq-text-muted);text-align:center}.empty-state h3{margin-top:12px}.empty-state p{max-width:310px;margin-top:4px;color:var(--dq-text-muted)}.tabs{gap:8px;margin-bottom:12px;flex-wrap:wrap;overflow-x:visible}.tab{display:inline-flex;flex:1 1 104px;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface);color:var(--dq-text-secondary);font-weight:600;text-transform:capitalize;cursor:pointer}.tab.is-active{border-color:var(--dq-primary);background:var(--dq-primary-soft);color:var(--dq-primary)}.document-card{padding:14px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md);background:var(--dq-surface);box-shadow:var(--dq-shadow-sm)}.document-card.has-error{border-color:var(--dq-danger);background:var(--dq-danger-bg)}.document-card.has-warning{border-color:var(--dq-warning);background:var(--dq-warning-bg)}.document-card__header{align-items:flex-start;gap:10px;margin-bottom:12px}.document-card__header>svg{flex:0 0 auto;margin-top:2px;color:var(--dq-success)}.document-card.has-error .document-card__header>svg{color:var(--dq-danger)}.document-card.has-warning .document-card__header>svg{color:var(--dq-warning)}.document-card__header span{color:var(--dq-text-muted);font-size:.86rem}.tag-list{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}.tag-chip{padding:4px 9px;border-radius:999px;background:var(--dq-primary-soft);color:var(--dq-primary);font-size:.78rem;font-weight:600}.document-card p{color:var(--dq-text-secondary)}.attribute-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 0;padding-top:14px;border-top:1px solid var(--dq-border)}.attribute-list div{min-width:0}.attribute-list dt{color:var(--dq-text-muted);font-size:.72rem;font-weight:600;text-transform:uppercase}.attribute-list dd{margin:3px 0 0;color:var(--dq-text-secondary);font-size:.86rem;overflow-wrap:anywhere}.error-text{color:var(--dq-danger);overflow-wrap:anywhere}.warning-text{margin-bottom:10px;color:var(--dq-warning);font-size:.86rem;overflow-wrap:anywhere}.table-wrap{width:100%;overflow-x:auto;border:1px solid var(--dq-border);border-radius:var(--dq-radius-md)}table{width:100%;min-width:760px;border-collapse:collapse;background:var(--dq-surface)}.metadata-table table{min-width:1600px}th,td{padding:12px;border-bottom:1px solid var(--dq-border);text-align:left;vertical-align:top}th{background:var(--dq-surface-subtle);color:var(--dq-text-secondary);font-size:.76rem;text-transform:uppercase}td{color:var(--dq-text-secondary);font-size:.9rem}.tag-explorer{display:grid;gap:12px}.search-shell{max-width:420px}.search-form{display:grid;gap:16px}.result-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--dq-border)}.result-footer>span{min-width:0;color:var(--dq-text-muted);font-size:.8rem;overflow-wrap:anywhere}.index-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-sm);background:var(--dq-surface)}.index-row>svg{margin-top:2px;color:var(--dq-primary)}.index-row div,.index-row strong,.index-row span,.index-row time{min-width:0}.index-row strong,.index-row span{display:block;overflow-wrap:anywhere}.index-row span,.index-row time{color:var(--dq-text-muted);font-size:.8rem}.index-row time{grid-column:2}.tag-map-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--dq-border);border-radius:var(--dq-radius-sm);background:var(--dq-surface)}.tag-map-row div{min-width:0}.tag-map-content{flex:1}.tag-map-row strong,.tag-map-row span{display:block}.tag-map-row strong{color:var(--dq-text)}.tag-map-row span{margin-top:2px;color:var(--dq-text-muted);font-size:.86rem;overflow-wrap:anywhere}.tag-map-documents{display:grid;gap:6px;margin-top:6px}.tag-map-document{display:flex;align-items:center;justify-content:space-between;gap:12px}.tag-map-download{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;color:var(--dq-primary);font-size:.78rem;font-weight:700;text-decoration:none}.tag-map-download:hover{text-decoration:underline}.compact-empty-state{min-height:180px}.tag-map-row b{display:inline-grid;width:36px;height:36px;flex:0 0 auto;place-items:center;border-radius:var(--dq-radius-sm);background:var(--dq-primary-soft);color:var(--dq-primary)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:760px){.app-shell{padding-right:28px;padding-bottom:36px;padding-left:28px}.hero{width:calc(100% + 56px);margin-right:-28px;margin-left:-28px}.stats-grid,.run-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.index-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.index-row time{grid-column:auto}.tab{flex:0 0 auto}}@media(min-width:1020px){.workspace{grid-template-columns:340px minmax(0,1fr);align-items:start}.control-panel{position:sticky;top:20px}}@media(max-width:759px){.hero{align-items:flex-start;flex-direction:column}.backend-pill{align-self:stretch;justify-content:space-between}}@media(max-width:520px){.file-picker{grid-template-columns:1fr}.file-picker__button{width:100%}.file-picker__meta{padding:2px 8px 4px;text-align:center}.surface-header{align-items:flex-start;flex-direction:column}.surface-actions,.surface-actions .secondary-button{width:100%}.attribute-list{grid-template-columns:1fr}.result-footer{align-items:stretch;flex-direction:column}.tag-map-document{align-items:flex-start;flex-direction:column;gap:4px}}
