:root{color-scheme:dark;--bg: #0b0f14;--panel: #0f1620;--panel2: #0c121a;--text: #e6edf3;--muted: #9fb0c0;--border: rgba(255, 255, 255, .1);--accent: #7dd3fc;--good: #16a34a;--bad: #ef4444;--warn: #f59e0b;--shadow: rgba(0, 0, 0, .35);--radius: 12px;--radius-sm: 10px;--mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--sans: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Noto Sans", "Liberation Sans", sans-serif;--btn-bg: var(--panel);--btn-bg-hover: color-mix(in srgb, var(--panel) 88%, #fff 12%);--btn-border: var(--border);--btn-text: var(--text);--btn-disabled-bg: var(--panel);--btn-disabled-border: var(--border);--btn-disabled-text: color-mix(in srgb, var(--muted) 80%, transparent);--btn-primary-bg: var(--panel);--btn-primary-hover: color-mix(in srgb, var(--panel) 86%, #fff 14%);--btn-primary-text: var(--text);--btn-danger-bg: var(--panel);--btn-danger-hover: color-mix(in srgb, var(--panel) 86%, #fff 14%);--btn-danger-text: var(--text);--ctl-h: 36px;--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%239fb0c0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}:root[data-theme=light]{color-scheme:light;--bg: #f7fafc;--panel: #ffffff;--panel2: #f2f6fb;--text: #0b1220;--muted: #4b5b6b;--border: rgba(0, 0, 0, .12);--shadow: rgba(0, 0, 0, .1);--btn-bg: var(--panel);--btn-bg-hover: color-mix(in srgb, var(--panel) 92%, #000 8%);--btn-border: var(--border);--btn-text: var(--text);--btn-disabled-bg: var(--panel);--btn-disabled-border: var(--border);--btn-disabled-text: color-mix(in srgb, var(--muted) 80%, transparent);--btn-primary-bg: var(--panel);--btn-primary-hover: color-mix(in srgb, var(--panel) 90%, #000 10%);--btn-primary-text: var(--text);--btn-danger-bg: var(--panel);--btn-danger-hover: color-mix(in srgb, var(--panel) 90%, #000 10%);--btn-danger-text: var(--text);--select-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 9l6 6 6-6' stroke='%234b5b6b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}html,body{height:100%}*{box-sizing:border-box}a{color:inherit}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--text)}code,pre,textarea{font-family:var(--mono)}.app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;margin:0 auto;padding:12px;max-width:var(--maxw)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 10px 30px var(--shadow)}.card-output{background:var(--panel);border:0px solid var(--border)}.card-inner{padding:16px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.col{display:flex;flex-direction:column;gap:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:stretch}.split>*{min-width:0}@media(max-width:980px){.split{grid-template-columns:1fr}}.panel-title{padding:12px 12px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title h2{margin:0;font-size:14px;letter-spacing:.2px}.panel-body{padding:12px}.topbar{position:sticky;top:0;z-index:20;background:#0b0f14d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}:root[data-theme=light] .topbar{background:#f7fafcd9}.topbar-inner{max-width:var(--maxw);margin:0 auto;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:baseline;gap:10px}.brand-title{font-size:16px;font-weight:700;letter-spacing:.2px}.brand-sub{font-size:12px;color:var(--muted)}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.pill{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;padding:6px 10px;font-size:12px;display:inline-flex;align-items:center;gap:8px}.btn,.select,input.input{height:var(--ctl-h)}details.card.subtle>summary{min-height:var(--ctl-h);display:flex;align-items:center}details.pillDetails:not([open])>summary{padding-top:0;padding-bottom:0}details.pillDetails>summary{flex-wrap:nowrap;overflow:hidden}details.pillDetails>summary>*{white-space:nowrap}details.pillDetails>summary .muted{overflow:hidden;text-overflow:ellipsis}.inputLine{height:var(--ctl-h)}.btn{appearance:none;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);border-radius:10px;padding:0 10px;font-size:13px;font-weight:500;cursor:pointer;transition:border-color .14s ease,background .14s ease;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{border-color:#ffffff40}:root[data-theme=light] .btn:hover{border-color:#00000040}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.btn.danger{border-color:color-mix(in srgb,var(--bad) 55%,transparent)}.btn.icon{width:var(--ctl-h);min-width:var(--ctl-h);padding:0}.select,input.input{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:10px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:var(--select-arrow);background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px;padding:0 34px 0 10px;line-height:calc(var(--ctl-h) - 2px)}.select::-ms-expand{display:none}.input{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:10px}textarea.input{width:100%;min-height:360px;resize:vertical;padding:12px;outline:none;line-height:1.35;font-size:12px;overflow-wrap:anywhere;word-break:break-word}.kv{display:grid;grid-template-columns:180px 1fr;gap:8px 12px;align-items:start}@media(max-width:980px){.kv{grid-template-columns:1fr}}.k{color:var(--muted);font-size:12px}.v{font-size:13px;word-break:break-word}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:12px;overflow-wrap:anywhere;word-break:break-word}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:var(--muted);background:transparent;font-weight:500}hr.sep{border:0;border-top:1px solid var(--border);margin:10px 0}pre.pre{margin:0;padding:12px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;overflow:auto;max-height:420px}.banner{border-radius:12px;padding:10px 12px;border:1px solid var(--border);background:var(--panel2);color:var(--text)}.banner.success{background:linear-gradient(90deg,#16a34a38,#16a34a1a);border-color:#16a34a59}.banner.info{background:linear-gradient(90deg,#3b82f62e,#3b82f614);border-color:#3b82f659}.banner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.banner-title{font-weight:700;margin:0}.banner-close{border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--text);border-radius:10px;width:34px;height:34px;padding:0;cursor:pointer;font-weight:700;line-height:1}:root[data-theme=light] .banner-close{border-color:#0003}.tools{position:relative}.tools summary{list-style:none}.tools summary::-webkit-details-marker{display:none}.tools-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;padding:0 10px;height:var(--ctl-h);font-size:13px;cursor:pointer;-webkit-user-select:none;user-select:none}.tools-btn:hover{border-color:#ffffff40}:root[data-theme=light] .tools-btn:hover{border-color:#00000040}.tools-popover{position:absolute;right:0;top:calc(100% + 8px);min-width:360px;max-width:520px;background:var(--panel);border:1px solid var(--border);border-radius:14px;box-shadow:0 18px 40px var(--shadow);padding:10px;z-index:50}.tools-item{display:block;padding:10px;border-radius:12px;text-decoration:none;border:1px solid transparent}.tools-item:hover{background:var(--panel2);border-color:var(--border)}.tools-title{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.tools-title strong{font-size:13px}.tools-desc{margin-top:4px;font-size:12px;color:var(--muted);line-height:1.35}.tools-pill{font-size:11px;color:var(--muted);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.footer{margin-top:18px;padding:16px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.footer-inner{max-width:var(--maxw);margin:0 auto;padding:0 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tab{appearance:none;border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-text);border-radius:10px;padding:0 10px;height:var(--ctl-h);font-size:13px;font-weight:500;cursor:pointer;line-height:1;display:inline-flex;align-items:center;justify-content:center}.tab:hover{border-color:#ffffff40}:root[data-theme=light] .tab:hover{border-color:#00000040}.tab[aria-selected=true]{border-color:color-mix(in srgb,var(--accent) 70%,transparent)}.table{width:100%;border-collapse:collapse;margin-top:8px}.table td,.table th{border-top:1px solid var(--border);padding:8px 0;text-align:left;vertical-align:top;font-size:13px}.table th{color:var(--muted);font-size:12px}.qeTable td,.qeTable th{padding:10px 8px}.qeTable td:nth-child(2){padding-right:12px}.qeActions{margin-left:auto}.qeRowActions{display:inline-flex;gap:6px;justify-content:flex-end;align-items:center}.qeRowActions .btn.icon{width:var(--ctl-h);min-width:var(--ctl-h)}.inputLine{width:100%;height:var(--ctl-h);border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:10px;padding:0 10px;outline:none;font-family:var(--mono);font-size:12px}.noticeGood{color:var(--good)}.noticeBad{color:var(--bad)}.noticeWarn{color:var(--warn)}.card.subtle{background:var(--panel2);box-shadow:none}.card.subtle>summary{padding:10px 12px}.card.subtle>summary.row{margin:0}.card.subtle>summary::-webkit-details-marker{display:none}.card.subtle>summary:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px;border-radius:10px}.card.subtle .card-inner{padding:12px}.pre.preWrap{white-space:pre-wrap;word-break:break-word}.dropzone{border:1px dashed var(--border);background:var(--panel2);border-radius:12px;padding:12px;opacity:.95}.dropzone.hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
