:root{--bg: #f7f6f4;--surface: #ffffff;--border: #d8d4ce;--text: #1c1b19;--muted: #6b6560;--accent: #1f4b6e;--danger: #8b2e2e;--warn-bg: #f8f0e8;--warn-border: #c9a27a;--ok: #1f5c3a;--ok-bg: #e8f2eb;--bad: #8b2e2e;--bad-bg: #f6eaea;--chip-changed: #1f4b6e;--chip-unchanged: #5a635c;--chip-absent: #8b2e2e;--chip-born: #6b4f1d;--chip-merged: #1a5f5a;--chip-split: #6b3550;--chip-moved: #4a5568;--chip-unknown: #6b6560;--chip-reinstated: #3d4f7a;--comment-mark: #b86e00;--comment-bg: #fdf4e3;--ins-bg: #e3f1d8;--ins-fg: #2d5016;--ins-border: #a8d97a;--del-bg: #fbe0de;--del-fg: #7a1a14;--del-line: #a32a22;--del-border: #e8a8a3;--font: "Segoe UI", "Candara", "Calibri", sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:13px;line-height:1.4}.app{position:relative;display:flex;flex-direction:column;gap:.55rem;padding:.65rem;height:100vh;max-width:100%;min-height:0;overflow:hidden}.badge{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;border:1px solid var(--border);border-radius:999px;padding:.15rem .55rem;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:var(--surface)}.badge:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor}.badge--connected{color:var(--ok);background:var(--ok-bg);border-color:#b7d2c0}.badge--disconnected{color:var(--bad);background:var(--bad-bg);border-color:#e0c0c0}.setup-disclosure{flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:4px}.setup-summary{container:setup-summary / inline-size;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.45rem .6rem;cursor:pointer;list-style:none;user-select:none}.setup-summary::-webkit-details-marker{display:none}.setup-summary:before{content:"▸";color:var(--muted);font-size:.75rem;flex-shrink:0}.setup-disclosure[open]>.setup-summary:before{content:"▾"}.setup-summary-meta{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:.78rem;font-weight:600}.setup-disclosure[open] .setup-panel{border-top:1px solid var(--border)}.setup-panel{border:none;border-radius:0;background:transparent}.panel{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.65rem .7rem}.panel h2{margin:0 0 .45rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.meta-row{display:flex;flex-direction:column;gap:.2rem;margin-bottom:.35rem}.meta-row:last-child{margin-bottom:0}.meta-label{color:var(--muted);font-size:.72rem}.meta-value{word-break:break-word;font-family:Consolas,Cascadia Mono,monospace;font-size:.78rem}.meta-value--subdued{color:var(--muted);font-size:.7rem}.empty-hint{color:var(--muted);margin:0}.empty-hint p{margin:0 0 .35rem}.link-button{padding:0;border:none;background:none;color:var(--accent);font-size:.7rem;cursor:pointer}.link-button:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.field label{font-size:.72rem;color:var(--muted);font-weight:600}.field input{width:100%;border:1px solid var(--border);border-radius:3px;padding:.4rem .45rem;font:inherit;background:#fff;color:var(--text)}.field-row{display:flex;gap:.35rem;align-items:stretch}.field-row input{flex:1;min-width:0}.field input:focus{outline:1px solid var(--accent);border-color:var(--accent)}.field input[readonly]{background:#f1efeb;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.4rem}button{font:inherit;border:1px solid var(--border);background:#fff;color:var(--text);border-radius:3px;padding:.35rem .6rem;cursor:pointer}button:hover:not(:disabled){border-color:#b8b2a9;background:#faf9f7}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#183a56;border-color:#183a56}.scope-toggle{display:flex;flex:0 0 auto;min-width:0;margin-bottom:.3rem;border:1px solid var(--border);border-radius:3px;overflow:hidden}.scope-row{display:flex;gap:.3rem;align-items:stretch;margin-bottom:.3rem}.scope-row .scope-toggle{flex:1 1 auto;margin-bottom:0}.comments-toggle{flex:0 0 auto;padding:0 .5rem;border:1px solid var(--border);border-radius:3px;background:#fff;filter:grayscale(1);opacity:.55}.comments-toggle[aria-pressed=true]{border-color:var(--comment-mark);background:var(--comment-bg);filter:none;opacity:1}.scope-toggle button{flex:1;min-width:0;border:none;border-radius:0;border-right:1px solid var(--border);background:#fff;padding:.35rem .3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-toggle button:disabled{color:var(--muted);background:#f6f6f6;cursor:not-allowed}.scope-toggle button:last-child{border-right:none}.scope-toggle button.active{background:var(--accent);color:#fff}.toolbar{display:flex;flex-direction:column;gap:.25rem;flex-shrink:0}.toolbar-row{display:flex;align-items:center;gap:.4rem}.toolbar-row>button{flex-shrink:0;padding:.35rem .5rem;white-space:nowrap}.setup-toolbar{margin-top:.55rem}.report-export{display:contents;cursor:default}.report-actions{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0}.report-actions-label{color:var(--muted);font-size:.72rem;font-weight:600;white-space:nowrap}.report-actions>button{min-height:24px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;line-height:1.2;color:var(--accent);white-space:nowrap}@container setup-summary (max-width: 380px){.report-actions-label{display:none}}.report-actions>button:hover:not(:disabled){border-color:var(--accent);background:#eaf0f5}.report-status,.report-error{flex-basis:100%;min-width:0;margin:0;font-size:.7rem}.report-status{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:default;user-select:text}.report-status .link-button{margin-left:.4rem}.report-file{color:var(--muted)}.error{color:var(--danger);font-size:.78rem;margin:.35rem 0 0}.threads-panel{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.threads-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;margin-top:.4rem}.thread-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.thread-row{border:1px solid var(--border);border-radius:3px;padding:.5rem .55rem;background:#fff}.thread-row--clickable{cursor:pointer}.thread-row--clickable:hover{border-color:#b8b2a9;background:#faf9f7}.thread-row--clickable:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.thread-row--missing{background:var(--warn-bg);border-color:var(--warn-border);border-style:dashed}.thread-row--missing.thread-row--clickable:hover{background:#f3e8dc}.thread-row--dead{border-color:var(--del-border)}.thread-row--at-caret{box-shadow:inset 3px 0 0 var(--accent)}.thread-row-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.4rem;margin-bottom:.25rem}.thread-row--comment-only{padding:.25rem .55rem;border-style:dashed}.thread-row--comment-only .thread-row-head{flex-wrap:nowrap;justify-content:flex-start;margin-bottom:0}.thread-row--comment-only .thread-crumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-row--comment-only .thread-crumb{flex:0 1 auto}.comment-only-mark{margin-right:.3em;font-size:.9em}.comment-only-line{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--comment-mark);font-size:.85rem;white-space:nowrap}.thread-row--comment-only .status-chips,.thread-row--comment-only .row-goto{flex:0 0 auto}.removed-row-place{display:flex;flex-direction:column;align-items:flex-start;gap:.08rem;margin:0 0 .3rem;font-size:.8rem;line-height:1.35;color:var(--muted)}.removed-row-where{font-weight:650;color:var(--text);overflow-wrap:anywhere}.removed-row-was{overflow-wrap:anywhere}.row-goto{flex:0 0 auto;padding:.1rem .4rem;font-size:.72rem;font-weight:600;line-height:1.5;color:var(--accent);background:transparent;border:1px solid var(--accent);border-radius:3px;cursor:pointer}.row-goto:hover:not(:disabled){color:#fff;background:var(--accent)}.row-goto:disabled{color:var(--muted);border-color:var(--border);cursor:default}.detail-goto{padding:.3rem .6rem;font-size:.78rem;font-weight:600;color:#fff;background:var(--accent);border-color:var(--accent);cursor:pointer}.detail-goto:hover:not(:disabled){background:#183a56;border-color:#183a56}.detail-goto:disabled{color:var(--muted);background:transparent;border-color:var(--border);cursor:default}.thread-crumb{display:flex;align-items:baseline;gap:.35rem;min-width:0;flex:1}.thread-id{font-family:Consolas,Cascadia Mono,monospace;font-weight:700;font-size:1rem;flex-shrink:0}.thread-id:before{content:"["}.thread-id:after{content:"]"}.thread-clause{font-weight:650;font-size:.92rem;flex-shrink:0}.thread-clause-at{font-weight:400;font-size:.78rem;color:var(--muted);white-space:nowrap}.clause-move{display:inline-flex;align-items:baseline;gap:.25em;flex-shrink:0;padding:.05rem .3rem;border:1px solid var(--muted);border-radius:3px;font-size:.82rem;font-weight:600;color:var(--muted);white-space:nowrap}.clause-move-from{text-decoration:line-through}.clause-move-via{color:var(--muted);font-weight:600}.clause-move-to{color:var(--text);font-weight:650}.clause-move-arrow{font-weight:400}.thread-crumb-arrow{color:var(--muted);flex-shrink:0}.thread-heading{color:var(--muted);font-size:.82rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-text{margin:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.thread-text--removed{color:var(--del-fg);text-decoration:line-through;text-decoration-color:var(--del-line);text-decoration-thickness:1px;text-decoration-skip-ink:auto}.summary{margin:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere}.summary--preview{color:var(--muted);font-style:italic}.summary.thread-text--removed,.summary--preview.thread-text--removed{color:var(--del-fg);font-style:normal}.missing-note{margin:.2rem 0 0;font-size:.72rem;color:#7a4e28;font-weight:600}.status-chips{display:flex;flex-wrap:wrap;gap:.2rem;justify-content:flex-end}.status-chip{display:inline-block;border-radius:2px;padding:.08rem .35rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:#fff;white-space:nowrap}.status-chip--changed{background:var(--chip-changed)}.status-chip--comments{background:#fff;color:var(--comment-mark);box-shadow:inset 0 0 0 1px var(--comment-mark)}.status-chip--unchanged{background:var(--chip-unchanged)}.status-chip--absent_from_final,.status-chip--deleted{background:var(--chip-absent)}.status-chip--born,.status-chip--inserted{background:var(--chip-born)}.status-chip--moved{background:var(--chip-moved)}.status-chip--split{background:var(--chip-split)}.status-chip--merged{background:var(--chip-merged)}.status-chip--unknown{background:var(--chip-unknown)}.status-chip--reinstated{background:var(--chip-reinstated)}.status-chip--not-found{background:#a36b2d}.count-line{margin:0;color:var(--muted);font-size:.68rem}.orient-chrome{margin:.45rem 0 0;padding:.3rem .45rem;background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:3px;color:var(--text);font-size:.68rem;line-height:1.35}.version-strip{display:flex;flex-wrap:nowrap;gap:.2rem;overflow-x:auto;max-width:100%;padding:.1rem 0;margin:.35rem 0 0;scrollbar-width:thin}.version-strip--compact{margin-top:.35rem}.hop-filter{display:flex;flex-wrap:nowrap;gap:.2rem;overflow-x:auto;max-width:100%;padding:.05rem 0;scrollbar-width:thin}.hop-filter-cell--active{border-color:var(--accent);color:var(--accent)}button.hop-filter-cell--active:hover:not(:disabled){background:#eaf0f5}.version-cell{flex:0 0 auto;min-width:1.35rem;height:1.35rem;padding:0 .2rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:2px;background:#fff;color:var(--text);font-family:Consolas,Cascadia Mono,monospace;font-size:.68rem;font-weight:700;line-height:1}button.version-cell{cursor:pointer}button.version-cell:hover:not(:disabled):not(.version-cell--event){border-color:var(--accent);background:#eaf0f5}button.version-cell--event:hover:not(:disabled){filter:brightness(1.08)}button.version-cell:disabled{cursor:default;opacity:1}.version-cell--compact{min-width:1.15rem;height:1.15rem;font-size:.62rem;pointer-events:none}.version-cell--comments{position:relative}.version-cell-dot{position:absolute;top:-3px;right:-3px;width:7px;height:7px;border-radius:50%;background:var(--comment-mark);box-shadow:0 0 0 1.5px #fff}.version-cell--compact .version-cell-dot{width:6px;height:6px}.version-cell--absent{opacity:.45;color:var(--muted);background:#f1efeb}.version-cell--event{color:#fff;border-color:transparent}.version-cell--born{background:var(--chip-born)}.version-cell--changed{background:var(--chip-changed)}.version-cell--merged{background:var(--chip-merged)}.version-cell--split{background:var(--chip-split)}.version-cell--moved{background:var(--chip-moved)}.version-cell--died{background:var(--chip-absent)}.version-cell--selected{outline:2px solid var(--text);outline-offset:1px;box-shadow:0 0 0 1px #fff;font-weight:800;z-index:1}.version-cell--selected.version-cell--absent{opacity:.7;color:var(--text)}.thread-detail{display:flex;flex-direction:column;gap:.55rem;min-height:0;flex:1 1 auto;overflow:hidden}.detail-pinned{display:flex;flex-direction:column;gap:.55rem;flex-shrink:0;min-width:0}.thread-detail .version-strip,.thread-detail .detail-head{flex-shrink:0}.detail-strip-row{display:flex;align-items:center;gap:.4rem;min-width:0}.detail-strip-row .version-strip{flex:1 1 auto;min-width:0;margin:0}.detail-strip-actions{flex:0 0 auto;display:flex;gap:.3rem;margin-left:auto}.hop-order{flex:0 0 auto;padding:.1rem .4rem;font-size:.72rem;line-height:1.5;white-space:nowrap;color:var(--muted)}.hop-order:hover:not(:disabled){color:var(--text)}.detail-comments-toggle[aria-pressed=true]{color:var(--comment-mark);border-color:var(--comment-mark);background:var(--comment-bg)}.detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.4rem;flex-shrink:0}.detail-back{padding:.3rem .5rem;font-size:.78rem}.detail-head{display:flex;flex-direction:column;gap:.35rem;min-width:0}.detail-head-text{border:1px solid var(--border);border-radius:3px;padding:.45rem .5rem;background:#faf9f7;max-height:7.5rem;overflow-y:auto;min-height:0}.detail-head-text--removed{border-color:var(--del-border);background:var(--del-bg)}.detail-head-text--merged .removed-banner{color:#4a5568}.removed-banner .link-button{text-transform:none;letter-spacing:0;font-weight:400}.removed-banner{margin:0 0 .3rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--del-fg)}.detail-text{margin:0;font-size:.875rem;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}.detail-head-text--removed .detail-text{color:var(--del-fg);text-decoration:line-through;text-decoration-color:var(--del-line)}.detail-scroll{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:.45rem}.detail-selection{min-width:0;flex-shrink:0}.detail-selection--idle{display:none}.hop-jump{padding:0;border:none;background:none;color:var(--accent);font:inherit;cursor:pointer;text-decoration:underline}.hop-jump:hover{color:var(--text)}.detail-changes{min-width:0;display:flex;flex-direction:column;gap:.45rem}.hop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}.hop-entry{border:1px solid var(--border);border-radius:3px;padding:.45rem .5rem;background:#fff;min-width:0}.hop-entry--highlighted{border-color:var(--text);box-shadow:inset 3px 0 0 var(--accent);background:#f4f7fa}.detail-cell-body{display:flex;flex-direction:column;gap:.35rem}.hop-header{position:relative;display:flex;flex-direction:column;gap:.1rem;padding-bottom:.25rem;border-bottom:1px solid var(--border)}.hop-comments-chip{position:absolute;top:0;right:0;padding:0 .35rem;font-size:.68rem;line-height:1.4;border:1px solid var(--comment-mark);border-radius:2px;background:#fff;color:var(--comment-mark)}.hop-comments-chip[aria-pressed=true]{background:var(--comment-bg)}.hop-number{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.hop-labels{font-family:Consolas,Cascadia Mono,monospace;font-size:.68rem;color:var(--muted);overflow-wrap:anywhere}.hop-clause{font-weight:650;font-size:.72rem;color:var(--text);flex-shrink:0}.detail-clause-line{margin:0 0 .25rem}.structural-detail{margin:0;font-size:.78rem;color:var(--text);font-weight:600}.detail-note{margin:0;font-size:.78rem;color:var(--muted)}.detail-note--quiet{font-size:.72rem;font-style:italic}.reincarnation-note{display:flex;flex-direction:column;gap:.25rem;margin:.35rem 0 0}.reincarnation-note-actions{display:flex;flex-wrap:wrap;gap:.55rem .85rem}.detail-status{margin:.35rem 0 0;color:var(--muted);font-size:.78rem}.detail-error-panel,.detail-loading{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem}.detail-loading .detail-back,.detail-error-panel .detail-back{align-self:flex-start}.redline{margin:0;font-size:.875rem;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap}.note-blocks{margin-top:.6rem;border-top:1px solid var(--border);padding-top:.45rem;display:flex;flex-direction:column;gap:.45rem}.note-block{padding-left:.6rem;border-left:2px solid var(--border);font-size:.9em}.note-block.comment{border-left-color:var(--comment-mark);background:var(--comment-bg);padding:.3rem .45rem .3rem .6rem}.note-block-head{margin-bottom:.15rem}.edit.equal{color:var(--text)}.change{padding:0 .2rem;border-radius:.2rem;border:1px solid transparent;margin:0 .05rem}.change.ins{padding:0;margin:0;border:none;border-radius:0;background:transparent;color:#00f;text-decoration:underline;text-decoration-style:double;text-decoration-color:#00f;text-underline-offset:.12em}.change.del{background:var(--del-bg);color:var(--del-fg);text-decoration:line-through;text-decoration-color:var(--del-line);border-color:var(--del-border)}.hop-grid-scroll{min-width:0;max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:3px}.hop-grid{border-collapse:collapse;width:max-content;min-width:100%;font-size:.85rem;line-height:1.45}.hop-grid-cell,.hop-grid th{min-width:7ch;max-width:34ch;padding:.3rem .4rem;border:1px solid var(--border);vertical-align:top;text-align:left;overflow-wrap:anywhere}.hop-grid th{color:var(--muted);font-weight:650;font-size:.78rem;background:#f6f5f3}.hop-grid-head--context .hop-grid-cell{color:var(--muted);font-size:.78rem;background:#faf9f7}.hop-grid-row--inserted{background:var(--ins-bg, rgba(31, 92, 58, .06))}.hop-grid-row--deleted{background:var(--bad-bg)}.hop-grid-row--opaque .hop-grid-cell{max-width:none}.nonprose{display:inline-flex;align-items:baseline;gap:.3rem;flex-wrap:wrap;padding:.05rem .35rem;border:1px solid var(--border);border-radius:.65rem;background:var(--surface-2, rgba(0, 0, 0, .03));white-space:normal;vertical-align:baseline}.change.ins .nonprose,.change.del .nonprose{text-decoration:none}.change.del .nonprose{border-style:dashed}.nonprose-label{font-weight:600}.nonprose--hover{cursor:help}.nonprose--hover .nonprose-label{text-decoration:underline dotted;text-underline-offset:2px}.nonprose--compact{padding:0 .2rem;gap:.2rem;font-size:.95em}.nonprose-verbatim{font-size:1.1em}.nonprose.omath .nonprose-verbatim{font-family:"Cambria Math",Consolas,monospace}.nonprose-detail{color:var(--muted);font-style:italic}.nonprose-goto{border:none;background:none;padding:0;font:inherit;font-size:.8em;color:var(--accent, #0b5cab);text-decoration:underline;cursor:pointer}.nonprose-absence{flex-basis:100%;font-size:.8em;line-height:1.35}.nonprose-absence.method{color:var(--muted)}.nonprose-absence.staging{color:var(--muted);border-left:2px dashed var(--border);padding-left:.35rem}.nonprose-absence.runtime{color:var(--warn-fg, #8a5300);background:var(--warn-bg, rgba(255, 196, 87, .18));border-radius:.2rem;padding:.05rem .25rem}
