:root{--ink:#182d36;--muted:#687b80;--teal:#117c75;--line:#dce5e5;--paper:#f7f9f7;--nav:#102b33;--orange:#ce8c43}
.record-source{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px!important}.observation>details{margin:10px 0}.record>details[open]{padding-top:10px;border-top:1px solid var(--line)}
.table-block td:has(.cell-link){padding:0}.table-block .cell-link{display:block;width:100%;padding:6px 8px;text-align:left;border:0;border-radius:0;background:transparent;color:inherit;font:inherit}.table-block .cell-link:hover,.table-block .cell-link:focus-visible{background:#cde7dc66;box-shadow:inset 0 0 0 1px #619e89}
.cell-results{margin:12px 0;padding:12px;background:#edf6f0;border:1px solid #bbd6c8;border-radius:7px;overflow-wrap:anywhere}.cell-results>strong{font-size:10px;letter-spacing:.6px;color:var(--teal)}.cell-results p{font-size:11px;margin:7px 0}.cell-results .button-row{margin-top:7px}.cell-results button{font-size:10px;text-align:left}
.walkthrough-entry{border-top:1px solid #d3dfd7;padding-top:16px}.walkthrough-entry h3{font-size:15px;font-weight:550;line-height:1.5;margin:7px 0}.walkthrough-entry p{font-size:11px;color:var(--muted);margin:8px 0}.walkthrough-entry button{width:100%;font-size:11px;background:#e3f1e9;border-color:#aecdbc}
.walkthrough-panel{margin:20px 25px;padding:16px 20px;background:#edf6f0;border:1px solid #afccbc;border-radius:9px;overflow-wrap:anywhere}
.walkthrough-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.walkthrough-panel button{font-size:11px;padding:5px 10px}.walkthrough-panel h2{font-size:21px;margin:9px 0 5px}.walkthrough-panel>p{font-size:13px;margin:8px 0}.walkthrough-copy{display:grid;grid-template-columns:1fr 1fr;gap:20px}.walkthrough-copy p{font-size:11px;margin:6px 0}.walkthrough-copy b{display:block;color:var(--teal);margin-bottom:3px}.walkthrough-copy p:last-child{border-left:1px solid #c5dbcf;padding-left:20px}
.walkthrough-panel progress{display:block;width:100%;height:4px;border:0;margin:13px 0;accent-color:var(--teal)}.walkthrough-panel progress::-webkit-progress-bar{background:#d4e4da}.walkthrough-panel progress::-webkit-progress-value{background:var(--teal)}.walkthrough-navigation{display:flex;align-items:center;gap:8px}.walkthrough-navigation span{font-size:10px;color:var(--muted);flex:1}.walkthrough-panel #walkthrough-error{padding:10px;background:#fff3df;border-radius:5px;color:#8b602a;font-size:11px}
@media(max-width:800px){.walkthrough-entry{margin-top:14px}.walkthrough-entry br{display:none}.walkthrough-panel{margin:12px;padding:14px}.walkthrough-copy{grid-template-columns:1fr;gap:5px}.walkthrough-copy p:last-child{border-left:0;padding-left:0}.walkthrough-navigation{flex-wrap:wrap}.walkthrough-navigation span{flex-basis:100%;order:4}}
.trace-panel{margin:12px 25px;padding:12px 16px;background:#edf6f0;border:1px solid #bbd6c8;border-radius:7px;font-size:11px;overflow-wrap:anywhere}
.trace-panel>strong,.trace-match-label{font-size:9px;letter-spacing:1px;color:var(--teal)}.trace-panel p{margin:5px 0}.trace-panel .button-row{margin-top:8px}.trace-panel button{font-size:10px;padding:5px 8px}
.trace-highlight{border-color:#76aa96!important;box-shadow:inset 3px 0 #117c75;background:#f6fcf8!important}.trace-match-label{margin-bottom:10px}
.replay-layout:has(#trace-target){height:calc(100vh - 440px)}
.graph-navigation{position:absolute;top:14px;left:20px;right:20px;z-index:2;display:flex;align-items:center;gap:8px;pointer-events:none}
.graph-navigation button{font-size:11px;padding:5px 9px;pointer-events:auto;white-space:nowrap}
button:disabled{cursor:default;opacity:.45}
#graph-path{align-items:center;overflow-x:auto;gap:4px;pointer-events:auto;background:#fafcfbe8;border-radius:6px}
#graph-path button{max-width:145px;overflow:hidden;text-overflow:ellipsis;border:0;background:transparent}
#graph-path button[aria-current=location]{font-weight:650;color:var(--teal)}
.graph-pane .graph-caption{top:58px}
#graph-tooltip{position:absolute;z-index:3;pointer-events:none;max-width:min(360px,90%);padding:12px 14px;border:1px solid #c6dad2;border-radius:7px;background:#fffffffa;box-shadow:0 5px 22px #18352c18;font-size:11px;color:var(--ink)}
#graph-tooltip strong{display:block;margin-bottom:5px}
#graph-tooltip div{margin:4px 0;overflow-wrap:anywhere}
.relation-breakdown td,.relation-breakdown th{white-space:normal;overflow-wrap:anywhere;padding:6px 5px;font-size:10px}
.relation-breakdown{margin:15px 0}
.fact{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:8px 0 12px;font-size:13px;overflow-wrap:anywhere}
.fact strong{font-weight:550}.fact>span{padding:3px 8px;border-radius:4px;font-size:10px;color:#336f64;background:#eaf4ef}
.measurement{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:10px 0}.measurement>b{font-size:22px;font-weight:550;color:var(--teal)}
.condition-table{margin:12px 0}.condition-table th,.condition-table td{white-space:normal;overflow-wrap:anywhere}
.table-results{margin-top:18px;padding-top:12px;border-top:1px solid var(--line)}.table-results h5{font-size:12px;margin:0 0 10px}
.table-results .record{padding:12px;background:#f8fbf9}.table-results .record .measurement>b{font-size:18px}
.record[data-kind=table]>.field{display:inline-block;vertical-align:top;width:48%;margin:6px 0}
.record[data-kind=table]>.tag{display:table;margin-bottom:10px}
.gate-reason{padding:8px 10px;margin-top:7px;background:#f4f8f5;border-left:2px solid #aecfbf;font-size:11px}.gate-reason p{margin:4px 0}
.chunk-context,.stage-summary{font-size:10px!important;color:var(--muted)}.stage-summary{padding:8px 10px;border-radius:5px;background:#edf5f0}
.change-pair{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere;font-size:13px}.change-pair>span{flex:1}.change-pair b{color:var(--teal)}
.match-status{padding:9px 12px;background:#edf6f0;border-left:3px solid #63a98a;font-size:11px;color:#326c55;margin:12px 20px}
.source-table-selected{box-shadow:inset 3px 0 var(--teal)}.source-row td{background:#f8f2da}.source-column{background:#f4e2a7!important}
.source-row .source-cell{background:#ffda80!important;color:#263c36;font-weight:700;box-shadow:inset 0 0 0 2px #d09835}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}button,input,select{font:inherit}button,a,input,select{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);padding:7px 12px;transition:background .15s}button:hover{background:#e9f4f1}button.active{color:var(--teal);background:#e6f2ef;border-color:#abcac1}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}
header{height:86px;background:var(--nav);color:white;display:flex;align-items:center;gap:50px;padding:0 30px}.brand{display:flex;align-items:center;gap:13px;color:#fff;font-size:23px;font-weight:650;letter-spacing:-.5px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:9px;letter-spacing:2.4px;color:#95b7b6;font-weight:500}.brand-mark{font-size:43px;line-height:1;position:relative;color:#75c6ae}.brand-mark span{color:#e9b06a;font-size:27px;position:absolute;right:-6px;bottom:0}nav{display:flex;gap:5px}.tab{border:0;background:transparent;color:#9db5bb;padding:29px 22px;border-radius:0;height:86px}.tab.active{background:transparent;border-bottom:3px solid #7acbb6;color:#fff}.tab:hover{background:#193740}.snapshot-label{margin-left:auto;letter-spacing:1.2px;font-size:10px;color:#a9c1c4}.snapshot-label i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#86c7b1;margin-right:8px}
.shell{display:grid;grid-template-columns:267px minmax(0,1fr);min-height:calc(100vh - 86px)}.sidebar{padding:29px 22px 20px;background:#edf3ef;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:17px}.eyebrow{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:650}.sidebar h1{font-size:25px;line-height:1.5;letter-spacing:-.9px;margin:0}.intro{font-size:12px;color:var(--muted);margin:0}.stats{display:flex;gap:22px;border-block:1px solid #d3dfd7;padding:12px 0}.stats strong{display:block;font-size:27px;font-weight:500;line-height:1.3}.stats small{color:var(--muted);font-size:10px}label{display:block;font-size:11px;font-weight:650;margin:14px 0 6px;color:#536b6b}input:not([type=checkbox]),select{width:100%;border:1px solid #cfdcda;background:#fff;padding:9px 10px;border-radius:6px;color:var(--ink);font-size:12px}input:focus,select:focus{border-color:var(--teal)}.switch{font-size:12px;font-weight:400;display:flex;align-items:center;gap:6px}.switch input{accent-color:var(--teal)}.button-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}.button-row button{font-size:11px;padding:7px 9px}.search-results{max-height:230px;overflow:auto}.search-result{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:12px;padding:9px 5px;background:transparent}.search-result small{display:block;font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend{margin-top:auto;display:flex;flex-wrap:wrap;gap:7px 13px;font-size:10px;color:var(--muted);padding-top:20px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:5px}.sidebar footer{font-size:10px;border-top:1px solid var(--line);padding-top:14px}.sidebar footer span{display:block;margin-top:4px;color:var(--muted)}
main{min-width:0;position:relative}.view-header{padding:23px 27px 18px;display:flex;gap:20px;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);min-height:96px}h2{margin:4px 0 0;font-size:23px;letter-spacing:-.5px;font-weight:550}#case-title{font-size:18px;line-height:1.4;max-width:1050px}.muted{font-size:11px;color:var(--muted)}.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 325px;height:calc(100vh - 182px);min-height:560px}.graph-pane{position:relative;overflow:hidden;background:#fafcfb}canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none}.graph-tools{position:absolute;left:20px;bottom:50px;display:flex;gap:4px}.graph-tools button{font-size:11px;box-shadow:0 2px 7px #112c3410}.graph-hint{position:absolute;bottom:16px;left:20px;font-size:10px;color:var(--muted);pointer-events:none}.graph-caption{position:absolute;left:20px;top:18px;max-width:370px;padding:8px 12px;background:#fffdf1e8;border:1px solid #eee6c9;font-size:11px;color:#7c714b;pointer-events:none}.graph-caption:empty{display:none}.inspector{border-left:1px solid var(--line);padding:23px 20px;overflow:auto;background:#fff}.inspector h3{font-size:20px;font-weight:500;line-height:1.4;overflow-wrap:anywhere;margin:10px 0}.inspector h4{font-size:12px;margin:24px 0 10px}.tag{display:inline-block;background:#e8f1ed;color:#326c60;padding:3px 8px;border-radius:4px;font-size:10px}.inspector p{font-size:12px;color:var(--muted)}.inspector .intro-icon{font-size:36px;color:var(--teal);margin:20px 0}.field{margin:10px 0;font-size:12px;overflow-wrap:anywhere}.field dt{color:var(--muted);font-size:10px}.field dd{margin:2px 0 0;white-space:pre-wrap}.connection{display:block;width:100%;text-align:left;margin:6px 0;font-size:11px;padding:9px}.connection small{display:block;color:var(--muted);font-size:10px}.evidence{border-left:2px solid #82bca7;background:#f3f8f5;padding:12px;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.observation{border:1px solid var(--line);border-radius:7px;padding:12px;margin:10px 0}.observation strong{color:var(--teal);font-size:17px}.edge-key{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.notice{background:#fff5e5;color:#8b602a;border-radius:6px;padding:10px;font-size:11px}.load-more{width:100%;margin:12px 0}
.replay-note{padding:10px 26px;font-size:11px;color:var(--muted);background:#eef4f0}.stages{padding:14px 25px;border-bottom:1px solid var(--line);gap:7px;overflow-x:auto}.stages button{white-space:nowrap;font-size:11px}.replay-layout{display:grid;grid-template-columns:43% minmax(0,1fr);height:calc(100vh - 279px);min-height:570px}.source-pane,.output-pane{min-width:0;overflow:auto;background:#fff}.source-pane{border-right:1px solid var(--line)}.pane-heading{position:sticky;top:0;z-index:1;padding:14px 19px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.small{font-size:11px;padding:4px 9px}.pane-heading a{font-size:10px}.source-note{font-size:10px;color:var(--muted);margin:15px 20px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;font:12px/1.85 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;margin:20px}.prose mark{background:#ffe1a1;color:inherit;scroll-margin-top:100px}.table-block{padding:17px 20px;border-bottom:1px solid var(--line)}.table-block h3{font-size:13px;margin:0 0 8px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;white-space:nowrap}th{background:#edf4f0}.table-block .muted{display:block;margin:7px 0}.output-search{display:flex;align-items:center;gap:10px;margin:14px 19px}.output-search input{flex:1}.output-search span{font-size:10px;white-space:nowrap;color:var(--muted)}#stage-records{padding:0 19px 24px}.record{border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0;background:#fff}.record h4{font-size:13px;font-weight:550;margin:0 0 9px;overflow-wrap:anywhere}.record p{font-size:12px;margin:7px 0;color:var(--muted);overflow-wrap:anywhere}.record .tag{margin-right:4px}.record .record-actions{display:flex;gap:7px;margin-top:11px;flex-wrap:wrap}.record-actions button{font-size:10px;padding:5px 8px}.record details{margin-top:10px}summary{font-size:11px;cursor:pointer;color:var(--teal)}pre{font:11px/1.6 ui-monospace,SFMono-Regular,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f7f5;padding:12px;border-radius:5px;max-height:420px;overflow:auto}.record .zero{color:#a56038}.stage-note{font-size:11px;color:var(--muted);padding:0 0 8px}.file-links{font-size:10px;display:flex;gap:9px;flex-wrap:wrap;padding:9px 0}.file-time{font-size:10px;color:var(--muted)}#case-summary p{font-size:12px;color:var(--muted)}#case-controls>button{font-size:11px;width:100%}#status{position:fixed;bottom:15px;right:20px;padding:9px 15px;background:#17343b;color:white;border-radius:6px;z-index:10;font-size:12px;box-shadow:0 3px 15px #152b3320}#status:empty{display:none}
@media(min-width:1700px){.graph-layout{grid-template-columns:minmax(0,1fr) 380px}}@media(max-width:1100px){header{gap:25px;padding:0 20px}.shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{padding:24px 17px}.graph-layout{grid-template-columns:minmax(0,1fr) 270px}.snapshot-label{display:none}.graph-tools{left:10px}.graph-hint{left:10px;font-size:9px}.replay-layout{grid-template-columns:40% minmax(0,1fr)}}@media(max-width:800px){header{height:72px;gap:20px;justify-content:space-between}.brand{font-size:20px}.tab{height:72px;padding:20px 10px;font-size:12px}.shell{display:block}.sidebar{display:block;border-right:0}.sidebar h1,.sidebar .intro,.sidebar>.eyebrow,.sidebar .stats,.sidebar .legend,.sidebar footer{display:none}.sidebar section{margin-top:0}.sidebar label:first-child{margin-top:0}.button-row{margin-top:10px}.graph-layout{grid-template-columns:1fr;height:auto}.graph-pane{height:60vh;min-height:400px}.inspector{max-height:60vh;border-top:1px solid var(--line);border-left:0}.view-header{padding:16px 20px}.replay-layout{grid-template-columns:1fr;height:auto;min-height:0}.source-pane{max-height:50vh;min-height:200px;border-bottom:1px solid var(--line)}.output-pane{max-height:none}.stages{padding:12px}.graph-hint{max-width:90%}#case-summary p{margin:6px 0}}
