:root{--bg: #0f1419;--surface: #1a2332;--surface-2: #243044;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--accent-dim: #0ea5e9;--danger: #f87171;--success: #4ade80;--warning: #fbbf24;--mono: "SF Mono", "Fira Code", "Consolas", monospace;--sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html{overflow-x:clip}body{margin:0;font-family:var(--sans);background:radial-gradient(circle at top left,#1e293b 0%,var(--bg) 45%);color:var(--text);min-height:100vh;line-height:1.5;overflow-x:clip}body:not(.app-ready) *,body:not(.app-ready) *:before,body:not(.app-ready) *:after{animation-duration:0s!important;animation-delay:0s!important;transition-duration:0s!important;transition-delay:0s!important}header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.5rem 2rem;border-bottom:1px solid var(--border);background:#0f1419d9;backdrop-filter:blur(8px);min-width:0}header>div:first-child{min-width:0}h1{margin:0 0 .35rem;font-size:1.6rem;font-weight:600}h2{margin:0;font-size:1.1rem;font-weight:600}.subtitle{margin:0;color:var(--muted);max-width:42rem}.stack-info{display:flex;gap:.5rem;flex-wrap:wrap}.stack-info span{font-size:.75rem;padding:.25rem .6rem;border:1px solid var(--border);border-radius:999px;color:var(--muted);background:var(--surface)}main{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);grid-template-rows:auto 1fr;gap:1rem;padding:1rem 2rem 2rem;max-width:1400px;width:100%;margin:0 auto;min-width:0}#data-panel{grid-row:1 / span 2;min-width:0;overflow-x:auto;overflow-y:visible}#timeline-panel,#structure-panel{min-width:0;overflow:hidden}.table-wrap{overflow-x:auto;max-width:100%}#rows-table{table-layout:fixed;width:100%;min-width:17rem}#rows-table th,#rows-table td{vertical-align:top;padding:.55rem .35rem;font-size:.82rem}#rows-table th:nth-child(3),#rows-table td:nth-child(3){overflow-wrap:anywhere;word-break:break-word;max-width:0}#rows-table th:nth-child(1),#rows-table td:nth-child(1){width:5.85rem;min-width:5.85rem;max-width:none}#rows-table td:nth-child(1){white-space:nowrap;font-variant-numeric:tabular-nums}#rows-table th:nth-child(2),#rows-table td:nth-child(2){width:2.35rem;min-width:2.35rem;max-width:none}#rows-table td:nth-child(2){white-space:nowrap;text-align:center}#rows-table th:nth-child(4),#rows-table td:nth-child(4){width:3.6rem;min-width:3.6rem;max-width:none;overflow:visible;padding-left:.2rem;padding-right:.2rem}#rows-table td.row-actions,#rows-table th.row-actions-h{max-width:none}#rows-table th .tag{display:block;width:fit-content;max-width:100%;margin-top:.15rem;font-size:.6rem;white-space:normal}#partition-hint{display:block;height:4.5rem;overflow-y:auto;overflow-wrap:anywhere;word-break:break-word;line-height:1.35;box-sizing:border-box}.panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1rem 1.1rem;min-width:0}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap;min-width:0}#structure-panel .panel-header{align-items:stretch}#structure-panel .tabs{flex:1 1 100%}.muted{color:var(--muted);font-size:.85rem}.hint{color:var(--muted);font-size:.85rem;margin:0 0 .75rem}.row-form{display:grid;gap:.6rem;margin-bottom:1rem}.action-row{display:grid;gap:.45rem;margin-bottom:1rem}button.secondary{background:transparent;color:var(--accent);border:1px solid rgba(56,189,248,.45)}button.secondary:hover{background:#38bdf81f}button.secondary:disabled{opacity:.45;cursor:not-allowed}.snapshot-label .action-compact{color:var(--warning)}.snapshot-label .action-delete{color:#f87171}.row-actions{text-align:right;white-space:nowrap;max-width:none;overflow:visible}.row-actions-h{text-align:right;max-width:none}#rows-table .row-actions button.compact{display:inline-block;width:100%;max-width:100%;box-sizing:border-box;padding:.28rem .35rem;font-size:.72rem;line-height:1.2}label{display:grid;gap:.25rem;font-size:.85rem;color:var(--muted)}input[type=text],input[type=date],select{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:.5rem .65rem;font:inherit;width:100%;min-width:0}input[type=date]{color-scheme:dark}select{cursor:pointer}button{background:var(--accent-dim);color:#041018;border:none;border-radius:8px;padding:.55rem .85rem;font:inherit;font-weight:600;cursor:pointer}button:hover{background:var(--accent)}button.danger{background:transparent;color:var(--danger);border:1px solid rgba(248,113,113,.45)}button.danger:hover{background:#f871711f}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{border-bottom:1px solid var(--border);padding:.55rem .4rem;text-align:left}th{color:var(--muted);font-weight:500}.tag{display:inline-block;font-size:.65rem;padding:.1rem .35rem;border-radius:4px;background:#38bdf826;color:var(--accent);vertical-align:middle}#snapshot-slider{width:100%;accent-color:var(--accent)}.snapshot-label{margin-top:.6rem;padding:.65rem .75rem;background:var(--surface-2);border-radius:8px;font-size:.9rem}.query-sql{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.65rem .85rem;margin-bottom:.35rem;color:var(--accent)}.query-as-of{margin-bottom:.75rem}.query-as-of code{font-size:.78rem}.tabs{display:flex;gap:.35rem;flex-wrap:wrap}.tab{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:500;padding:.35rem .65rem;font-size:.8rem}.tab.active{color:var(--text);border-color:var(--accent);background:#38bdf81a}.tab-pane{display:none;min-width:0;overflow-x:auto}.card table{table-layout:fixed;width:100%}.card table th,.card table td{overflow-wrap:anywhere;word-break:break-word;max-width:0;font-size:.78rem}.tab-pane.active{display:block}.file-path{font-family:var(--mono);font-size:.78rem;color:var(--accent);word-break:break-all;margin-bottom:.6rem}.callout{background:var(--surface-2);border-left:3px solid var(--accent);padding:.65rem .75rem;margin-bottom:.75rem;font-size:.85rem;border-radius:0 8px 8px 0}pre{margin:0;padding:.75rem;background:#0b1017;border:1px solid var(--border);border-radius:8px;overflow:auto;max-height:420px;font-family:var(--mono);font-size:.75rem;line-height:1.45}.card{border:1px solid var(--border);border-radius:8px;padding:.75rem;margin-bottom:.75rem;background:var(--surface-2)}.card h3{margin:0 0 .5rem;font-size:.9rem}.card h4{margin:.85rem 0 .4rem;font-size:.82rem;color:var(--muted);font-weight:600}.subcard{border:1px solid var(--border);border-radius:6px;padding:.6rem .65rem;margin-top:.6rem;background:#00000026}.subcard h4{margin-top:0}.card .path{font-family:var(--mono);font-size:.75rem;color:var(--accent);word-break:break-all;margin-bottom:.5rem}.kv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;font-size:.8rem}.kv-grid div{background:#0003;padding:.4rem .5rem;border-radius:6px}.kv-grid strong{display:block;color:var(--muted);font-weight:500;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.diff-added{color:var(--success)}.diff-removed{color:var(--danger)}.diff-changed{color:var(--warning)}.toast{position:fixed;bottom:1.25rem;right:1.25rem;background:var(--surface-2);border:1px solid var(--border);padding:.65rem .9rem;border-radius:8px;font-size:.85rem;box-shadow:0 8px 24px #00000059}.toast.hidden{display:none}.empty{color:var(--muted);font-style:italic;font-size:.85rem}body.embed header{padding:.75rem 1rem}body.embed header h1{font-size:1.2rem}body.embed .stack-info{display:none}body.embed main{padding:.75rem 1rem 1rem}@media(max-width:960px){main{grid-template-columns:1fr;grid-template-rows:auto;padding:1rem}#data-panel,#timeline-panel,#structure-panel,#advanced-panel{grid-column:1;grid-row:auto}}.hidden{display:none!important}.advanced-toggle{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--muted);cursor:pointer;padding:.25rem .6rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.advanced-toggle input{accent-color:var(--accent)}#advanced-panel{grid-column:1 / -1;scroll-margin-top:1rem;border-color:var(--accent-dim)}#advanced-panel.advanced-panel-enter{animation:advanced-panel-in .65s ease-out}@keyframes advanced-panel-in{0%{transform:translateY(-8px);box-shadow:0 0 0 0 transparent}40%{transform:translateY(0);box-shadow:0 0 0 2px var(--accent),0 12px 32px #38bdf82e}to{box-shadow:0 0 0 1px var(--accent-dim),0 4px 16px #38bdf814}}body.advanced-mode main{padding-bottom:2.5rem}.advanced-panel-intro{display:flex;align-items:center;gap:.65rem;margin:-.25rem 0 .85rem;padding:.55rem .75rem;border-radius:8px;background:#38bdf81a;border:1px dashed var(--accent-dim);font-size:.9rem}.advanced-panel-intro-icon{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:999px;background:var(--accent);color:var(--bg);font-weight:700;flex-shrink:0;animation:advanced-bounce 1.2s ease-in-out 2}@keyframes advanced-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.callout-warning{border-color:var(--warning);background:#fbbf2414}.callout-warning strong{color:var(--warning)}.callout-warning a{color:var(--accent)}.state-transform-row{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}.state-n-label{min-width:4.5rem}.state-n-label input{width:100%}.state-transform-hint{margin:-.15rem 0 0;font-size:.75rem}.compare-variants{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;margin-bottom:1rem}.variant-card{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.variant-card-header{display:flex;gap:.5rem;align-items:center}.variant-card-header input[type=text]{flex:1;min-width:0}.variant-desc{margin:0;font-size:.78rem}.compare-metrics th .muted{font-weight:400;font-size:.72rem}.compare-metrics td,.compare-metrics th{font-size:.85rem}.metric-better{color:var(--success)}.metric-worse{color:var(--warning)}.metric-error{color:var(--danger)}.compare-partitions{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.compare-partitions-col h4{margin:0 0 .35rem;font-size:.9rem}#operation-script{display:block;margin-top:.35rem;word-break:break-word;white-space:pre-wrap}.read-cost-summary{margin-bottom:1rem}.read-cost-bars-wrap{margin-bottom:1.25rem}.read-cost-bars-wrap h3,.read-path-flow-wrap h3{margin:0 0 .35rem;font-size:.95rem}.read-cost-bars{display:flex;height:1.25rem;border-radius:6px;overflow:hidden;border:1px solid var(--border);background:var(--surface-2)}.read-cost-bar-seg{min-width:2px;transition:width .25s ease}.bar-fixed{background:var(--accent)}.bar-manifest{background:#818cf8}.bar-data{background:var(--success)}.bar-delete{background:var(--warning)}.read-cost-legend{display:flex;flex-wrap:wrap;gap:.65rem 1rem;margin-top:.45rem;font-size:.75rem;color:var(--muted)}.read-cost-legend-item{display:inline-flex;align-items:center;gap:.35rem}.read-cost-legend-swatch{width:.65rem;height:.65rem;border-radius:2px;flex-shrink:0}.read-path-flow{display:flex;flex-direction:column;gap:0;max-width:36rem}.read-path-step{display:flex;gap:.75rem;padding:.65rem .75rem;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.read-path-fixed{border-left:3px solid var(--accent)}.read-path-prune{border-left:3px solid #818cf8}.read-path-step-num{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:.78rem;font-weight:600;flex-shrink:0}.read-path-step-body{min-width:0}.read-path-step-body strong{display:block;font-size:.9rem;margin-bottom:.15rem}.read-path-step-body p{margin:0 0 .35rem;font-size:.8rem;color:var(--muted);word-break:break-all}.read-path-badge{display:inline-block;font-size:.72rem;padding:.15rem .45rem;border-radius:999px;border:1px solid var(--border);background:var(--surface)}.badge-fixed{border-color:var(--accent-dim);color:var(--accent)}.badge-prune{border-color:#6366f1;color:#a5b4fc}.badge-catalog{color:var(--muted)}.badge-result{border-color:var(--success);color:var(--success)}.read-path-connector{text-align:center;color:var(--muted);font-size:.85rem;line-height:1.2;padding:.15rem 0}.read-path-files{margin-top:1rem}.mono-path{font-family:var(--mono);font-size:.78rem}
