@a9n-shoji/rvw 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ :root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f8fa;--panel:#fff;--panel-2:#f3f4f6;--line:#d8dee4;--line-strong:#afb8c1;--text:#1f2328;--muted:#57606a;--accent:#0969da;--accent-emphasis:#1f6feb;--accent-soft:#ddf4ff;--accent-contrast:#fff;--tab-accent:#0969da;--focus:#218bff;--danger:#cf222e;--danger-soft:#ffebe9;--warning:#fff8c5;--warning-text:#633c01;--warning-line:#d4a72c;--search-match-bg:#ffdf5d;--search-match-text:#3b2f00;--success:#1a7f37;--attention:#9a6700;--done:#8250df;--info:#0969da;--reference-context:#386b73;--reference-context-soft:#e9f1f2;--file-tree-active-text:#0550ae;--header-bg:#24292f;--header-border:#1b1f23;--header-text:#f6f8fa;--header-muted:#b1bac4;--header-control-bg:#2f363d;--header-control-border:#57606a;--header-control-hover:#3a424a;--header-active-bg:#f0f6fc;--header-active-text:#24292f;--header-badge-bg:#1f6feb;--header-badge-text:#fff;--shadow-small:#1f232817;--shadow-medium:#1f232826;--shadow-large:#1f23283d;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--comment-body-size:13px;--comment-ui-size:12px;--comment-meta-size:11px;--comment-badge-size:10px;font-synthesis:none;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=system]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root[data-theme=system]{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161b22;--panel-2:#21262d;--line:#30363d;--line-strong:#484f58;--text:#e6edf3;--muted:#8b949e;--accent:#58a6ff;--accent-emphasis:#1f6feb;--accent-soft:#1f2d3d;--accent-contrast:#fff;--tab-accent:#58a6ff;--focus:#58a6ff;--danger:#ff7b72;--danger-soft:#3c1e22;--warning:#332b00;--warning-text:#e3b341;--warning-line:#6e5a1c;--search-match-bg:#7c5c12;--search-match-text:#fff2bd;--success:#3fb950;--attention:#d29922;--done:#d2a8ff;--info:#58a6ff;--reference-context:#78b6bd;--reference-context-soft:#1c3034;--file-tree-active-text:#cae8ff;--header-bg:#010409;--header-border:#21262d;--header-text:#f0f6fc;--header-muted:#8b949e;--header-control-bg:#161b22;--header-control-border:#484f58;--header-control-hover:#21262d;--header-active-bg:#f0f6fc;--header-active-text:#1f2328;--header-badge-bg:#1f6feb;--header-badge-text:#fff;--shadow-small:#01040966;--shadow-medium:#01040980;--shadow-large:#010409a3}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;overflow:hidden}button,input,select,textarea{font:inherit}button{border:1px solid var(--accent-emphasis);background:var(--accent-emphasis);color:var(--accent-contrast);cursor:pointer;border-radius:6px;padding:7px 11px}button:disabled{cursor:not-allowed;opacity:.48}input,select,textarea{border:1px solid var(--line-strong);background:var(--panel);width:100%;color:var(--text);border-radius:6px;padding:8px 9px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}textarea{resize:vertical}code{font-family:var(--mono);overflow-wrap:anywhere;font-size:11px}.app-shell{flex-direction:column;height:100dvh;min-height:0;max-height:100dvh;display:flex;overflow:hidden}.skip-link{z-index:1000;border:2px solid var(--focus);background:var(--panel);color:var(--text);border-radius:6px;padding:8px 12px;font-weight:700;text-decoration:none;position:fixed;inset:8px auto auto 8px;transform:translateY(calc(-100% - 16px))}.skip-link:focus{transform:none}.topbar{background:var(--header-bg);height:68px;color:var(--header-text);border-bottom:1px solid var(--header-border);flex:0 0 68px;align-items:center;gap:14px;padding:0 14px;display:flex}.brand{letter-spacing:.08em;flex:none;align-items:center;gap:9px;display:flex}.brand-button{color:inherit;background:0 0;border:0;border-radius:6px;padding:4px;text-decoration:none}.brand-button:hover{background:var(--header-control-hover)}.brand-mark{background:var(--header-active-bg);width:30px;height:30px;color:var(--header-active-text);font:800 20px/1 var(--mono);border-radius:8px 3px;place-items:center;display:grid}.pr-heading{flex:1 20 260px;min-width:150px}.pr-heading span{color:var(--header-muted);margin-bottom:2px;font-size:11px;display:block}.pr-heading h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:16px;overflow:hidden}.pr-heading h1 a{color:inherit;text-decoration:none}.pr-heading h1 a:hover,.pr-heading h1 a:focus-visible{text-underline-offset:3px;text-decoration:underline}.button--quiet{border-color:var(--line-strong);color:inherit;background:0 0}.button--danger-quiet{color:var(--danger);background:0 0;border-color:#0000}.review-scope-bar{background:0 0;border:0;flex:0 auto;align-items:center;gap:8px;min-width:0;padding:0;display:flex;overflow:visible}.review-scope-control{flex-direction:column;flex:none;gap:4px;display:flex}.review-scope-control>span{color:var(--header-muted);font-size:10px;font-weight:650}.commit-range-picker{z-index:30;position:relative}.commit-range-trigger{border-color:var(--header-control-border);background:var(--header-control-bg);width:min(430px,36vw);min-width:280px;height:32px;color:var(--header-text);text-align:left;border-radius:6px;align-items:center;gap:7px;padding:4px 7px 4px 9px;display:flex}.commit-range-trigger:hover,.commit-range-trigger[aria-expanded=true]{border-color:var(--header-muted);background:var(--header-control-hover)}.commit-range-summary{min-width:0;font:11px var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.commit-range-count{color:var(--header-muted);white-space:nowrap;flex:none;font-size:10px}.commit-selection-badge,.commit-latest-badge{background:var(--header-badge-bg);min-height:18px;color:var(--header-badge-text);border-radius:999px;flex:none;align-items:center;padding:1px 6px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.commit-range-chevron{color:var(--header-muted);flex:none;font-size:10px}.commit-range-popover{border:1px solid var(--line-strong);background:var(--panel);width:min(440px,100vw - 24px);color:var(--text);box-shadow:0 14px 36px var(--shadow-large);border-radius:9px;padding:8px;position:absolute;top:calc(100% + 7px);left:0}.commit-range-shortcuts{gap:6px;display:flex}.commit-range-shortcuts button{border-color:var(--line-strong);background:var(--panel-2);color:var(--text);flex:1;padding:6px 8px;font-size:11px}.commit-range-shortcuts button:hover{border-color:var(--accent)}.commit-range-hint{color:var(--muted);margin:7px 2px 6px;font-size:10px}.commit-range-list{border:1px solid var(--line);background:var(--panel);-webkit-user-select:none;user-select:none;border-radius:7px;flex-direction:column;max-height:min(360px,100vh - 150px);display:flex;overflow-y:auto}.commit-range-option{border:0;border-bottom:1px solid var(--line);min-height:44px;color:var(--text);text-align:left;touch-action:none;background:0 0;border-radius:0;flex:none;align-items:center;gap:9px;padding:6px 9px;display:flex}.commit-range-option:last-child{border-bottom:0}.commit-range-option:hover{background:var(--panel-2)}.commit-range-option.selected{background:var(--accent-soft)}.commit-range-option-indicator{border:2px solid var(--line-strong);background:var(--panel);border-radius:50%;flex:0 0 12px;width:12px;height:12px}.commit-range-option.selected .commit-range-option-indicator{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 2px var(--panel)}.commit-range-option--middle .commit-range-option-indicator{border-radius:2px}.commit-range-option-copy{flex:1;gap:2px;min-width:0;display:grid}.commit-range-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.commit-range-option-copy code{color:var(--muted)}.commit-range-option-meta{align-items:center;gap:8px;min-width:0;display:flex}.commit-range-option-meta time{color:var(--header-muted);font:500 9px var(--mono);white-space:nowrap}.commit-range-special{border-bottom:1px solid var(--line);color:var(--muted);font:11px var(--mono);padding:8px 10px}.review-scope-bar .segmented{border-color:var(--header-control-border);background:var(--header-control-bg);height:32px;padding:2px}.review-scope-bar .segmented button{min-width:56px;color:var(--header-muted);white-space:nowrap;padding:5px 8px}.review-scope-bar .segmented button.active{background:var(--header-active-bg);color:var(--header-active-text);box-shadow:none;font-weight:700}.review-scope-display .segmented button{min-width:62px}.diff-style-modes{width:128px}.review-scope-bar .diff-style-modes button{flex:1 1 0;min-width:0}.topbar-menu{z-index:20;flex:none;position:relative}.topbar-menu-toggle{border-color:var(--header-control-border);width:36px;height:36px;color:var(--header-text);background:0 0;place-items:center;padding:0;display:grid}.topbar-menu-toggle:hover,.topbar-menu-toggle[aria-expanded=true]{border-color:var(--header-control-border);background:var(--header-control-hover)}.topbar-menu-toggle svg{width:18px;height:18px}.topbar-menu-popover{border:1px solid var(--line-strong);background:var(--panel);width:210px;box-shadow:0 10px 28px var(--shadow-large);border-radius:8px;gap:2px;padding:5px;display:grid;position:absolute;top:calc(100% + 7px);right:0}.topbar-menu-popover button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;padding:8px 9px;font-size:12px}.topbar-menu-popover button:hover{background:var(--panel-2)}.topbar-menu-popover .topbar-menu-command{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-menu-command kbd{color:var(--muted);font:10px var(--mono)}.topbar-menu-section{border-top:1px solid var(--line);margin:3px 0;padding:5px 0 3px;display:grid}.topbar-menu-section-label{color:var(--muted);padding:2px 9px 5px;font-size:10px;font-weight:700}.topbar-menu-section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.topbar-menu-section button{justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-menu-check{color:var(--accent);font-weight:800}.topbar-menu-popover .topbar-menu-danger{border-top:1px solid var(--line);color:var(--danger)}.diff-whitespace-empty{border-top:1px solid var(--line);color:var(--muted);gap:6px;padding:22px 16px 24px;font-size:12px;display:grid}.diff-whitespace-empty strong{color:var(--text);font-size:13px}.button--wide{width:100%;margin-top:10px}.button--back{color:var(--accent);background:0 0;border:0;padding:3px 0 12px}.pending-banner{background:var(--warning);min-height:38px;color:var(--warning-text);border-bottom:1px solid var(--warning-line);align-items:center;gap:12px;padding:7px 20px;font-size:13px;display:flex}.quick-open-backdrop{z-index:100;background:#00000047;justify-content:center;align-items:flex-start;padding:clamp(44px,9vh,92px) 16px 16px;display:flex;position:fixed;inset:0}.quick-open-dialog{border:1px solid var(--line-strong);background:var(--panel);border-radius:9px;flex-direction:column;width:min(720px,100vw - 32px);max-height:min(650px,100vh - 92px);display:flex;overflow:hidden;box-shadow:0 18px 52px #0000005c}.quick-open-input-shell{border-bottom:1px solid var(--line);flex:none;align-items:center;padding:10px;display:flex;position:relative}.quick-open-input-shell>svg{z-index:1;width:17px;height:17px;color:var(--muted);pointer-events:none;position:absolute;left:22px}.quick-open-input-shell>input{border-color:var(--accent);height:42px;box-shadow:0 0 0 1px var(--accent-soft);border-radius:6px;padding:9px 42px 9px 40px;font-size:14px}.quick-open-input-shell>input:focus-visible{outline:1px solid var(--focus);outline-offset:0}.quick-open-clear{width:28px;height:28px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;font-size:20px;line-height:1;display:grid;position:absolute;right:17px}.quick-open-clear:hover{background:var(--panel-2);color:var(--text)}.quick-open-summary{border-bottom:1px solid var(--line);min-height:29px;color:var(--muted);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:5px 14px;font-size:10px;display:flex}.quick-open-results{flex:auto;min-height:88px;padding:4px 0;overflow-y:auto}.quick-open-result{width:100%;min-height:42px;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:10px;padding:6px 13px;display:flex}.quick-open-result:hover,.quick-open-result.selected{background:var(--accent-soft);color:var(--file-tree-active-text)}.quick-open-icon-group{flex:0 0 34px;align-items:center;gap:3px;width:34px;display:flex}.quick-open-copy{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.quick-open-copy strong{min-width:0;font:650 13px/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.quick-open-copy>span{min-width:0;color:var(--muted);font:11px/1.35 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.quick-open-copy mark{color:var(--accent);background:0 0;border-radius:2px;font-weight:800}.quick-open-badge{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent);border-radius:999px;flex:none;padding:2px 6px;font-size:9px;font-weight:750}.quick-open-open-dot{background:var(--accent);border-radius:50%;flex:0 0 7px;width:7px;height:7px}.quick-open-state{min-height:110px;color:var(--muted);text-align:center;place-content:center;gap:5px;padding:20px;font-size:12px;display:grid}.quick-open-state strong{color:var(--text)}.quick-open-footer{border-top:1px solid var(--line);background:var(--panel-2);min-height:32px;color:var(--muted);flex:none;justify-content:flex-end;align-items:center;gap:14px;padding:5px 12px;font-size:10px;display:flex}.quick-open-footer span{align-items:center;gap:4px;display:inline-flex}.quick-open-footer kbd{border:1px solid var(--line-strong);background:var(--panel);min-width:20px;color:var(--text);font:9px/1.2 var(--mono);text-align:center;border-bottom-width:2px;border-radius:4px;padding:2px 4px}.error-notice{border:1px solid color-mix(in srgb, var(--danger) 55%, var(--line));background:color-mix(in srgb, var(--danger) 9%, var(--panel));color:var(--danger);border-radius:7px;margin:10px 14px;padding:10px 12px;font-size:12px}.error-notice>div{justify-content:space-between;gap:10px;display:flex}.error-notice p{white-space:pre-wrap;margin:5px 0 0}.error-notice ul{margin:7px 0 0;padding-left:20px}.sync-feedback{border-bottom:1px solid color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 10%, var(--panel));color:var(--text);text-align:right;padding:7px 14px;font-size:11px}.viewer-error{place-items:center;min-height:55vh;display:grid}.viewer-error .error-notice{width:min(620px,100% - 32px)}.workspace{grid-template-columns:var(--sidebar-width,330px) 6px minmax(0, 1fr);flex:1;min-height:0;display:grid;overflow:hidden}.workspace.is-resizing,.main-view.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.workspace.is-resizing.is-row-resizing{cursor:row-resize}.sidebar{background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.horizontal-resize-handle{z-index:8;cursor:col-resize;touch-action:none;background:var(--panel);outline:none;min-width:6px;min-height:0;position:relative}.horizontal-resize-handle:after{background:var(--line-strong);content:"";transition:inset .1s,background .1s;position:absolute;inset:0 2px}.horizontal-resize-handle:hover:after,.horizontal-resize-handle:focus-visible:after,.horizontal-resize-handle.active:after{background:var(--accent);inset-inline:1px}.vertical-resize-handle{z-index:9;cursor:row-resize;touch-action:none;outline:none;height:6px;position:absolute;top:-3px;left:0;right:0}.vertical-resize-handle:after{background:var(--line-strong);content:"";transition:inset .1s,background .1s;position:absolute;inset:2px 0}.vertical-resize-handle:hover:after,.vertical-resize-handle:focus-visible:after,.vertical-resize-handle.active:after{background:var(--accent);inset-block:1px}.sidebar-stack{--sidebar-stack-min-height:102px;--sidebar-stack-compact-share:25%;border-bottom:1px solid var(--line);flex-direction:column;flex:none;min-height:37px;display:flex}.sidebar-stack--code{--sidebar-stack-min-height:260px;--sidebar-stack-compact-share:58%}.sidebar-stack--comments{--sidebar-stack-min-height:210px;--sidebar-stack-compact-share:28%;position:relative}.sidebar-stack.is-expanded{min-height:min(var(--sidebar-stack-min-height), var(--sidebar-stack-compact-share));flex:auto}.sidebar-stack-toggle{background:var(--panel-2);width:100%;color:var(--text);text-align:left;border:0;border-radius:0;flex:none;align-items:center;gap:8px;padding:10px 14px;font-size:12px;font-weight:650;display:flex}.sidebar-stack-toggle:hover{background:var(--accent-soft)}.sidebar-stack-header{background:var(--panel-2);flex:none;display:flex}.sidebar-stack-header .sidebar-stack-toggle{flex:1;min-width:0}.sidebar-stack-action{width:40px;color:var(--muted);background:0 0;border:0;border-radius:0;flex:0 0 40px;place-items:center;padding:0;display:grid;position:relative}.sidebar-stack-action:hover,.sidebar-stack-action.active{background:var(--accent-soft);color:var(--accent)}.sidebar-stack-action svg{width:16px;height:16px}.sidebar-stack-toggle>span:nth-child(2){flex:1;min-width:0}.sidebar-stack-chevron{width:16px;height:16px;color:var(--muted);flex:0 0 18px}.sidebar-stack-count{background:var(--accent-soft);min-width:19px;height:19px;color:var(--accent);border-radius:10px;place-items:center;font-size:10px;display:inline-grid}.sidebar-stack-icon{width:16px;height:16px;color:var(--muted);flex:0 0 16px}.sidebar-stack-body[hidden]{display:none}.sidebar-stack-body{overscroll-behavior:contain;flex:auto;min-height:0;overflow:hidden auto}.segmented{background:var(--panel-2);border:1px solid var(--line);border-radius:7px;gap:2px;padding:3px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;flex:1;padding:6px 7px;font-size:12px}.segmented button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 3px var(--shadow-small)}.segmented.compact{margin-top:1px}.file-panel,.comment-sidebar-detail,.sidebar-stack-body>section{padding:12px 14px 18px}.file-panel{padding:10px 14px 16px}.file-panel>input{height:34px;margin-top:8px;font-size:12px}.file-scope-checkbox{min-height:31px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:3px 0;padding:4px 7px;font-size:11px;display:flex}.file-scope-checkbox:hover{color:var(--text)}.file-scope-checkbox>input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex:0 0 15px;margin:0;padding:0}.file-tree{flex-direction:column;margin:3px -4px 14px;display:flex;overflow:visible}.file-tree-summary{min-height:31px;color:var(--muted);align-items:center;gap:7px;padding:0 2px 0 8px;font-size:11px;display:flex}.file-tree-summary>span{flex:1;min-width:0}.file-tree-summary>button{width:26px;height:26px;color:var(--muted);background:0 0;border:0;flex:0 0 26px;place-items:center;padding:0;display:grid}.file-tree-summary>button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.file-tree-summary>button svg{width:16px;height:16px}.file-tree>*{flex-shrink:0}.file-tree-virtualized{contain:layout style;width:100%;position:relative}.file-tree-virtualized>.file-tree-row{height:31px;position:absolute;left:0}.file-tree-row{width:100%;height:31px;color:var(--text);text-align:left;font:650 14px/1.35 var(--mono);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;align-items:center;gap:0;padding:6px 8px;display:flex;overflow:hidden}.file-tree-row:hover,.file-tree-row.active{background:var(--accent-soft);color:var(--file-tree-active-text)}.file-tree-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.directory-chevron{color:var(--muted);text-align:center;flex:0 0 14px;margin-right:4px;font-size:10px}.file-tree-icon-group{flex:none;align-items:center;gap:2px;margin-right:8px;display:flex}.tree-entry-icon{width:16px;height:16px;color:var(--muted);flex:0 0 16px}.file-type-icon{color:var(--file-icon-light-fg);--file-icon-bg:var(--file-icon-light-bg);place-items:center;display:inline-grid}.file-type-icon>svg{width:100%;height:100%;display:block}.file-type-icon>svg .bg{fill:var(--file-icon-bg)}:root[data-theme=dark] .file-type-icon{color:var(--file-icon-dark-fg);--file-icon-bg:var(--file-icon-dark-bg)}@media (prefers-color-scheme:dark){:root[data-theme=system] .file-type-icon{color:var(--file-icon-dark-fg);--file-icon-bg:var(--file-icon-dark-bg)}}.file-change-icon{flex:0 0 14px;place-items:center;width:14px;height:14px;display:grid}.file-change-icon svg{width:14px;height:14px}.file-change-icon--added{color:var(--success)}.file-change-icon--deleted{color:var(--danger)}.file-change-icon--modified{color:var(--attention)}.file-change-icon--renamed{color:var(--done)}.file-change-icon--type-changed{color:var(--info)}.search-panel{padding:12px 12px 16px}.search-input-shell{position:relative}.search-input-shell>input{height:34px;padding-right:72px;font-size:12px}.search-options{gap:1px;display:flex;position:absolute;top:5px;right:5px}.search-options button{width:28px;height:24px;color:var(--muted);font:11px/1 var(--mono);background:0 0;border:0;border-radius:4px;place-items:center;padding:0;display:grid}.search-options button:hover{background:var(--panel-2);color:var(--text)}.search-options button.active{background:var(--accent-soft);color:var(--accent)}.search-options button:last-child>span{border-bottom:1px solid;padding-bottom:1px}.search-summary{min-height:33px;color:var(--muted);align-items:center;gap:7px;padding:7px 2px 4px 5px;font-size:11px;display:flex}.search-summary>span:first-child{flex:1;min-width:0}.search-refreshing{color:var(--accent);font-size:10px}.search-summary>button{width:26px;height:26px;color:var(--muted);background:0 0;border:0;flex:0 0 26px;place-items:center;padding:0;display:grid}.search-summary>button:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.search-summary>button svg{width:16px;height:16px}.search-panel>.error-notice{margin:8px 0 0}.search-results{margin:2px -5px 0}.search-result-group{border-bottom:1px solid var(--line)}.search-result-group:last-child{border-bottom:0}.search-result-file{width:100%;min-height:32px;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:5px 6px;display:flex}.search-result-file:hover{background:var(--panel-2)}.search-result-file-icon-group{flex:none;align-items:center;gap:2px;display:flex}.search-result-file-icon-group>.tree-entry-icon{flex-basis:14px;width:14px;height:14px}.search-result-chevron{width:14px;height:14px;color:var(--muted);flex:0 0 14px;place-items:center;display:grid}.search-result-chevron svg{width:14px;height:14px}.search-result-file-label{flex:1;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.search-result-file strong{min-width:0;max-width:68%;font:650 11px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.search-result-directory{min-width:0;color:var(--muted);font:500 10px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.search-result-count{background:var(--panel-2);min-width:21px;height:19px;color:var(--muted);border-radius:10px;place-items:center;padding:0 5px;font-size:10px;display:inline-grid}.search-result-lines{padding:0 0 4px 20px}.search-result-line{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:4px;grid-template-columns:28px minmax(0,1fr);align-items:baseline;gap:5px;padding:5px 7px;display:grid}.search-result-line:hover{background:var(--accent-soft)}.search-result-line-number{color:var(--muted);font:10px/1.4 var(--mono);text-align:right}.search-result-line code{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.search-result-line mark{background:var(--search-match-bg);color:var(--search-match-text);border-radius:2px;font-weight:750}.search-empty{color:var(--muted);margin:8px 2px 0;font-size:11px}.truncated{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-text);border-radius:5px;margin:8px 0 0;padding:7px 8px;font-size:11px}.main-view{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden auto}.main-view.two-pane{grid-template-columns:minmax(0,1fr) 6px minmax(0,1fr);overflow:auto hidden}.document-pane{background:var(--bg);min-width:0;min-height:0;position:relative;overflow:auto}.pane-resize-handle{background:var(--bg)}.document-pane-drop-target{border:1px dashed var(--line-strong);background:color-mix(in srgb, var(--accent) 4%, var(--panel));border-radius:10px;min-height:calc(100% - 72px);margin:16px}.document-tabs-shell{z-index:6;border-bottom:1px solid var(--line-strong);background:var(--panel-2);min-width:0;height:40px;display:flex;position:sticky;top:0}.document-tabs-shell.reference-display-active{border-bottom-color:color-mix(in srgb, var(--reference-context) 52%, var(--line-strong))}.pane-find-layer{z-index:7;pointer-events:none;justify-content:flex-end;height:0;padding-right:10px;display:flex;position:sticky;top:44px}.document-pane:has(.markdown-view-toolbar) .pane-find-layer{top:86px}.document-pane:has(.walkthrough-viewer) .pane-find-layer{top:118px}.pane-find-widget{border:1px solid var(--line-strong);background:var(--panel);width:min(430px,100% - 6px);height:35px;box-shadow:0 5px 18px var(--shadow-medium);pointer-events:auto;border-radius:3px;align-items:center;gap:2px;padding:4px;display:flex}.pane-find-input-shell{border:1px solid var(--line-strong);background:var(--bg);flex:auto;align-items:center;min-width:96px;height:25px;display:flex}.pane-find-input-shell:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pane-find-input-shell.invalid,.pane-find-input-shell.invalid:focus-within{border-color:var(--danger);box-shadow:0 0 0 1px var(--danger)}.pane-find-input-shell input{min-width:48px;height:23px;color:var(--text);font:12px var(--mono);background:0 0;border:0;outline:0;flex:auto;padding:3px 5px}.pane-find-input-shell>button,.pane-find-action{width:23px;height:23px;color:var(--muted);font:650 10px var(--mono);background:0 0;border:0;border-radius:3px;flex:0 0 23px;place-items:center;padding:0;display:grid}.pane-find-input-shell>button:hover,.pane-find-action:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.pane-find-input-shell>button.active{background:var(--accent-soft);color:var(--accent)}.pane-find-whole-word{border-bottom:1px solid;padding-bottom:1px}.pane-find-status{width:42px;color:var(--muted);font:10px var(--mono);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:0 0 42px;overflow:hidden}.pane-find-status.invalid{color:var(--danger)}.pane-find-action svg{width:15px;height:15px}.pane-find-action:disabled{opacity:.35}::highlight(rvw-pane-find-left-match){background-color:var(--lightningcss-light,#eab3086b)var(--lightningcss-dark,#facc1561)}::highlight(rvw-pane-find-right-match){background-color:var(--lightningcss-light,#eab3086b)var(--lightningcss-dark,#facc1561)}::highlight(rvw-pane-find-left-current){color:var(--lightningcss-light,#17120a)var(--lightningcss-dark,#fff);background-color:var(--lightningcss-light,#f58b0ad1)var(--lightningcss-dark,#f97316c7)}::highlight(rvw-pane-find-right-current){color:var(--lightningcss-light,#17120a)var(--lightningcss-dark,#fff);background-color:var(--lightningcss-light,#f58b0ad1)var(--lightningcss-dark,#f97316c7)}.document-tabs{scrollbar-width:thin;flex:1;min-width:0;display:flex;overflow-x:auto}.reference-display-control{border-left:1px solid var(--line);flex:none;align-items:center;padding:0 6px;display:flex;position:relative}.reference-display-chip{border:1px solid color-mix(in srgb, var(--reference-context) 42%, var(--line));background:var(--reference-context-soft);min-height:24px;color:var(--reference-context);white-space:nowrap;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:750}.reference-display-chip:hover,.reference-display-chip:focus-visible,.reference-display-chip[aria-expanded=true]{border-color:color-mix(in srgb, var(--reference-context) 68%, var(--line));background:color-mix(in srgb, var(--reference-context) 15%, var(--panel));outline:none}.reference-display-chip:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--focus) 38%, transparent)}.reference-display-tooltip{z-index:9;border:1px solid var(--line-strong);background:var(--text);width:max-content;max-width:min(270px,100vw - 24px);box-shadow:0 5px 16px var(--shadow-medium);color:var(--panel);border-radius:5px;padding:5px 7px;font-size:10px;line-height:1.4;display:none;position:absolute;top:calc(100% + 5px);right:2px}.reference-display-control:hover .reference-display-tooltip,.reference-display-control:focus-within .reference-display-tooltip{display:block}.reference-display-popover{z-index:10;border:1px solid color-mix(in srgb, var(--reference-context) 38%, var(--line-strong));background:var(--panel);width:auto;max-width:370px;max-height:min(460px,100vh - 128px);box-shadow:0 10px 30px var(--shadow-medium);color:var(--text);border-radius:8px;outline:none;gap:10px;margin-left:auto;padding:11px;display:grid;position:absolute;top:calc(100% + 5px);left:6px;right:6px;overflow:auto}.reference-display-popover:focus-visible{border-color:color-mix(in srgb, var(--focus) 62%, var(--line))}.reference-display-popover-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.reference-display-popover-heading>strong{font-size:12px}.reference-display-popover-heading>button{width:24px;height:24px;color:var(--muted);background:0 0;border:0;place-items:center;padding:0;font-size:18px;line-height:1;display:grid}.reference-display-popover-heading>button:hover,.reference-display-popover-heading>button:focus-visible{background:var(--panel-2);color:var(--text)}.reference-display-popover dl{gap:8px;margin:0;display:grid}.reference-display-popover dl>div{border:1px solid var(--line);background:color-mix(in srgb, var(--reference-context) 4%, var(--panel));border-radius:6px;gap:4px;padding:8px;display:grid}.reference-display-popover dt{color:var(--muted);font-size:10px;font-weight:750}.reference-display-popover dd{gap:3px;margin:0;font-size:11px;line-height:1.4;display:grid}.reference-display-popover code{overflow-wrap:anywhere;color:var(--muted);font-size:9px}.reference-display-target-status{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.reference-display-return-action{border-color:color-mix(in srgb, var(--reference-context) 55%, var(--line));background:var(--reference-context-soft);min-height:30px;color:var(--reference-context);justify-self:start;font-size:11px;font-weight:750}.reference-display-return-action:hover:not(:disabled),.reference-display-return-action:focus-visible:not(:disabled){border-color:var(--reference-context);background:color-mix(in srgb, var(--reference-context) 16%, var(--panel))}.reference-display-return-action:disabled{color:var(--muted);cursor:default;opacity:.66}.document-tab{border-right:1px solid var(--line);background:var(--panel-2);min-width:126px;max-width:210px;color:var(--muted);flex:0 180px;display:flex;position:relative}.document-tab[draggable=true]{cursor:grab}.document-tab[draggable=true]:active{cursor:grabbing}.document-tab.active{background:var(--panel);color:var(--text)}.document-tab.active:before{background:var(--line-strong);content:"";height:2px;position:absolute;inset:0 0 auto}.document-pane.active .document-tab.active:before{background:var(--tab-accent)}.document-tab-activate{min-width:0;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;flex:1;align-items:center;gap:7px;padding:0 4px 0 10px;display:flex}.document-tab-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font:600 11px var(--mono);overflow:hidden}.document-tab-icon-group{flex:none;align-items:center;gap:2px;display:flex}.document-tab-close,.document-tabs-menu-toggle{width:30px;color:var(--muted);background:0 0;border:0;border-radius:0;flex:0 0 30px;place-items:center;padding:0;display:grid}.document-tab-close:hover,.document-tabs-menu-toggle:hover{background:var(--accent-soft);color:var(--accent)}.document-tabs-menu{border-left:1px solid var(--line);flex:0 0 38px;display:flex;position:relative}.document-tabs-menu-toggle{flex-basis:38px;width:38px}.document-tabs-menu-popover{z-index:8;border:1px solid var(--line-strong);background:var(--panel);width:min(330px,100vw - 32px);max-height:320px;box-shadow:0 8px 28px var(--shadow-medium);border-radius:7px;padding:5px;position:absolute;top:calc(100% + 4px);right:4px;overflow:auto}.document-tabs-menu-popover>span{color:var(--muted);padding:9px;font-size:12px;display:block}.document-tabs-menu-popover button{width:100%;color:var(--text);text-align:left;font:500 11px var(--mono);background:0 0;border:0;align-items:center;gap:8px;padding:7px 8px;display:flex}.document-tabs-menu-popover button:hover,.document-tabs-menu-popover button.active{background:var(--accent-soft);color:var(--accent)}.document-tabs-menu-popover button:disabled{color:var(--muted);cursor:default;opacity:.55}.document-tabs-menu-separator{background:var(--line);height:1px;margin:4px -5px}.document-tabs-menu-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.empty-document-viewer{min-height:55vh;color:var(--muted);text-align:center;align-content:center;place-items:center;gap:6px;display:grid}.empty-document-viewer strong{color:var(--text);font-size:13px}.empty-document-viewer span{font-size:12px}.document-viewer{min-height:100%;padding-bottom:24px}.reference-fallback-banner{border:1px solid color-mix(in srgb, var(--warning-text) 24%, var(--line));background:var(--warning);color:var(--warning-text);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin:16px 16px 0;padding:10px 12px;display:flex}.reference-fallback-banner>div{gap:2px;min-width:0;display:grid}.reference-fallback-banner strong{font-size:12px}.reference-fallback-banner span{font-size:11px}.reference-fallback-banner button{border-color:color-mix(in srgb, var(--warning-text) 30%, var(--line));background:var(--panel);min-height:30px;color:var(--text);flex:none;font-size:11px;font-weight:700}.diff-style-modes button{min-width:54px}.diff-surface{border:1px solid var(--line);background:var(--panel);box-shadow:0 2px 14px var(--shadow-small);border-radius:9px;margin:16px;overflow:clip}.markdown-view-toolbar{z-index:5;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:12px;min-height:42px;padding:6px 16px;display:flex;position:sticky;top:40px}.markdown-view-toolbar>span{align-items:center;gap:7px;min-width:0;display:flex}.markdown-view-toolbar>span code{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.markdown-view-modes{flex:0 0 150px;width:150px}.markdown-preview>header{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:39px;color:var(--muted);align-items:center;gap:10px;padding:6px 12px;font-size:10px;display:flex}.markdown-preview>header>span:first-child{color:var(--text);font-weight:700}.markdown-preview>header>span:nth-child(2){text-align:right;flex:1;min-width:0}.markdown-comment-surface{-webkit-user-select:text;user-select:text;min-width:0;position:relative}.markdown-preview>.markdown-comment-surface>article{width:min(900px,100%);margin:0 auto;padding:38px clamp(24px,5vw,64px) 80px;font-size:14px;line-height:1.7}.markdown-preview>.markdown-comment-surface>article>:first-child{margin-top:0}.markdown-selection-popover{z-index:18;position:absolute;transform:translate(-50%)}.markdown-selection-popover.is-composing{width:min(460px,100% - 24px)}.markdown-selection-popover .inline-comment-composer{box-shadow:0 12px 30px color-mix(in srgb, var(--text) 18%, transparent);margin:0}.markdown-selection-composer-slot{margin:12px 0;display:flow-root}.markdown-selection-composer-slot:empty{display:none}.markdown-selection-composer-slot .inline-comment-composer{width:min(680px,100% - 24px);box-shadow:0 8px 24px color-mix(in srgb, var(--text) 12%, transparent);margin:0 auto}.markdown-selection-comment-action{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));background:var(--accent);min-height:32px;box-shadow:0 7px 22px color-mix(in srgb, var(--text) 18%, transparent);color:var(--accent-contrast);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:700}.rvw-markdown-selected{background:color-mix(in srgb, var(--accent) 24%, transparent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent)}.rvw-markdown-commented{text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 68%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 68%, transparent);text-underline-offset:3px;text-decoration-thickness:2px}.markdown-inline-comments{gap:8px;margin:10px 0 18px;display:grid}.markdown-inline-comments>.comment-thread{border:1px solid color-mix(in srgb, var(--accent) 30%, var(--line));background:var(--panel);box-shadow:0 3px 12px var(--shadow-small);border-radius:8px}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3{line-height:1.3}.markdown-preview h1{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:12px;font-size:28px}.markdown-preview h2{margin:34px 0 12px;font-size:20px}.markdown-preview h3{margin:24px 0 10px;font-size:16px}.markdown-preview p,.markdown-preview ul,.markdown-preview ol{margin:11px 0}.markdown-preview blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted);margin:18px 0;padding:8px 15px}.markdown-preview code{border:1px solid var(--line);background:var(--panel-2);font-size:inherit;border-radius:4px;padding:2px 5px}.markdown-preview pre{border:1px solid var(--line);background:var(--panel-2);border-radius:8px;padding:16px;overflow:auto}.markdown-preview pre code{border:0;padding:0}.markdown-mermaid-shell{border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 3px 14px var(--shadow-small);border-radius:9px;margin:20px 0;overflow:hidden}.markdown-mermaid-shell.is-source-highlighted{border-color:color-mix(in srgb, var(--accent) 68%, var(--line));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 24%, transparent), 0 3px 14px var(--shadow-small)}.markdown-mermaid-shell.is-source-selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 30%, transparent), 0 3px 14px var(--shadow-small)}.markdown-mermaid-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:32px;color:var(--muted);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:10px;font-weight:700;display:flex}.markdown-mermaid{min-height:160px;padding:18px;overflow:auto}.markdown-mermaid svg{width:100%;min-width:480px;max-height:440px;margin:0 auto;display:block}.markdown-mermaid-error{background:var(--warning);color:var(--warning-text);padding:14px;font-size:12px}.markdown-preview img{max-width:100%;height:auto}.markdown-image-placeholder{overflow-wrap:anywhere;border:1px dashed var(--line-strong);background:var(--panel-2);max-width:100%;color:var(--muted);border-radius:6px;align-items:center;padding:4px 8px;font-size:12px;line-height:1.5;display:inline-flex}.markdown-preview details{margin:11px 0}.markdown-preview summary{cursor:pointer;font-weight:650}.markdown-preview details[open]>summary{margin-bottom:8px}.markdown-table-scroll{border:1px solid var(--line-strong);border-radius:7px;width:100%;margin:18px 0;overflow-x:auto}.markdown-table-scroll table{border-collapse:collapse;border-spacing:0;width:max-content;min-width:100%}.markdown-table-scroll th,.markdown-table-scroll td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:left;vertical-align:top;white-space:normal;word-break:normal;-webkit-user-select:text;user-select:text;max-width:40ch;padding:8px 12px}.markdown-table-scroll th:last-child,.markdown-table-scroll td:last-child{border-right:0}.markdown-table-scroll tr:last-child td{border-bottom:0}.markdown-table-scroll th{background:var(--panel-2);font-weight:700}.markdown-table-scroll tbody tr:nth-child(2n){background:color-mix(in srgb, var(--panel-2) 55%, transparent)}.markdown-preview .contains-task-list,.walkthrough-markdown .contains-task-list{padding-left:0;list-style:none}.markdown-preview .task-list-item,.walkthrough-markdown .task-list-item{list-style:none}.markdown-preview .task-list-item>input[type=checkbox],.walkthrough-markdown .task-list-item>input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent-emphasis);vertical-align:-2px;border-radius:3px;margin:0 8px 0 0;padding:0}diffs-container>[slot=header-metadata]{align-items:center;gap:7px;display:flex}.diff-fallback-badge{border:1px solid var(--line-strong);background:var(--panel-2);min-height:24px;color:var(--muted);white-space:nowrap;border-radius:12px;align-items:center;padding:3px 8px;font-size:10px;display:inline-flex}.viewer-loading,.viewer-unavailable{min-height:55vh;color:var(--muted);place-items:center;display:grid}.viewer-unavailable{align-content:center;gap:10px}.viewer-unavailable>span{border:1px solid var(--line-strong);width:52px;height:52px;font:700 12px var(--mono);border-radius:8px;place-items:center;display:grid}.repository-image-viewer{width:100%;overflow-x:auto}.repository-image-grid{min-width:0;display:grid}.repository-image-viewer--split .repository-image-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:680px}.repository-image-pane{border-right:1px solid var(--line);min-width:0}.repository-image-pane:last-child{border-right:0}.repository-image-pane>header{border-bottom:1px solid var(--line);background:var(--panel-2);align-items:center;gap:9px;min-height:39px;padding:5px 10px 5px 12px;display:flex}.repository-image-pane>header strong{flex:none;font-size:11px}.repository-image-pane>header code{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.repository-image-asset{background-color:var(--panel);background-image:linear-gradient(45deg, color-mix(in srgb, var(--muted) 9%, transparent) 25%, transparent 25%), linear-gradient(-45deg, color-mix(in srgb, var(--muted) 9%, transparent) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, color-mix(in srgb, var(--muted) 9%, transparent) 75%), linear-gradient(-45deg, transparent 75%, color-mix(in srgb, var(--muted) 9%, transparent) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;place-items:center;min-height:55vh;padding:24px;display:grid;position:relative;overflow:hidden}.repository-image-asset img{object-fit:contain;max-width:100%;height:auto;display:block}.repository-image-status,.repository-image-empty{min-height:55vh;color:var(--muted);text-align:center;place-items:center;padding:24px;font-size:12px;display:grid}.repository-image-status{position:absolute;inset:0}.repository-image-status--error{color:var(--danger)}.repository-image-comments{border-top:1px solid var(--line);background:var(--panel);gap:8px;padding:10px;display:grid}.comment-icon-button{border-color:var(--line-strong);width:32px;height:32px;color:var(--muted);background:0 0;place-items:center;padding:0;display:grid}.comment-icon-button:hover,.comment-icon-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.diff-header-file-actions{flex:none;align-items:center;gap:6px;display:inline-flex}.reference-display-header-action{min-height:25px;color:var(--reference-context);white-space:nowrap;background:0 0;border:0;padding:3px 7px;font-size:10px;font-weight:750}.reference-display-header-action:hover:not(:disabled),.reference-display-header-action:focus-visible:not(:disabled){background:var(--reference-context-soft);color:var(--reference-context)}.reference-display-header-action:disabled{color:var(--muted);cursor:default;opacity:.65}.file-structure-references{flex:none;display:grid;position:relative}.file-structure-references-trigger[aria-expanded=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.file-structure-references-trigger[aria-disabled=true]{cursor:not-allowed;opacity:.48}.file-structure-references-trigger[aria-disabled=true]:hover{border-color:var(--line-strong);color:var(--muted);background:0 0}.file-structure-references-trigger.is-error{border-color:color-mix(in srgb, var(--danger) 55%, var(--line));color:var(--danger)}.file-structure-references-error-badge{border:1px solid var(--panel);background:var(--danger);color:#fff;pointer-events:none;border-radius:999px;place-items:center;width:13px;height:13px;font-size:9px;font-weight:800;line-height:1;display:grid;position:absolute;top:-4px;right:-4px}.file-structure-references-popover{z-index:1000;border:1px solid var(--line-strong);background:var(--panel);width:min(340px,100vw - 16px);max-height:min(420px,100vh - 24px);box-shadow:0 14px 36px var(--shadow-medium);border-radius:9px;padding:5px;display:grid;position:fixed;overflow:auto}.file-structure-references-popover>button{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;border-radius:6px;justify-items:start;gap:3px;padding:9px 10px;display:grid}.file-structure-references-popover>button:hover,.file-structure-references-popover>button:focus-visible{background:var(--accent-soft);outline:none}.file-structure-references-popover strong,.file-structure-references-popover>button>span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.file-structure-references-popover strong{font-size:12px}.file-structure-references-popover>button>span{color:var(--muted);font-size:11px}.file-structure-references-additional{color:var(--accent);margin-left:6px;font-weight:750;display:inline-block}.inline-comment-composer{background:var(--panel);border:1px solid var(--line-strong);box-shadow:0 4px 16px var(--shadow-medium);border-radius:8px;gap:9px;padding:12px;display:grid}.inline-comment-composer--file{margin:16px 16px 0}.inline-comment-composer--line{width:min(680px,100% - 16px);margin:8px}.inline-comment-composer>strong{color:var(--muted);font-size:12px}.inline-comment-composer .error-notice{margin:0}.inline-comment-composer textarea{min-height:84px;font-size:13px}.inline-comment-actions{justify-content:flex-end;gap:7px;display:flex}.inline-comment-actions button{font-size:12px}.inline-comment-actions .button--quiet{color:var(--muted)}.form-error{color:var(--danger);margin:7px 0 0;font-size:11px}.review-tree-items{flex-direction:column;margin:0 -4px;display:flex}.review-tree-item.file-tree-row{flex:0 0 31px}.review-tree-count{background:var(--panel-2);min-width:18px;height:18px;color:var(--muted);border-radius:9px;flex:0 0 18px;place-items:center;margin-left:4px;font-size:10px;display:inline-grid}.review-tree-walkthrough-icon{color:var(--done)}.review-tree-walkthrough-icon svg{width:16px;height:16px}.review-tree-walkthrough-list{flex-direction:column;display:flex}.review-tree-walkthrough.file-tree-row{padding-left:22px}.walkthrough-viewer{background:radial-gradient(circle at 30% -5%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 34rem), var(--bg);min-height:calc(100% - 40px)}.walkthrough-viewer-header{z-index:4;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:18px;min-height:74px;padding:12px 20px;display:flex;position:sticky;top:40px}.walkthrough-viewer-title{flex:auto;align-items:center;gap:12px;min-width:0;display:flex;overflow:hidden}.walkthrough-viewer-heading-copy{min-width:0;overflow:hidden}.walkthrough-viewer-icon{border:1px solid color-mix(in srgb, var(--done) 42%, var(--line));background:color-mix(in srgb, var(--done) 12%, var(--panel));width:38px;height:38px;color:var(--done);border-radius:10px;flex:0 0 38px;place-items:center;display:grid}.walkthrough-viewer-icon svg{width:19px;height:19px}.walkthrough-kicker{color:var(--muted);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;margin-bottom:3px;font-size:10px;font-weight:750;display:block;overflow:hidden}.walkthrough-viewer-title h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;overflow:hidden}.walkthrough-comment-button{flex:0 0 32px;position:relative}.walkthrough-viewer-actions{flex:none;align-items:center;gap:6px;display:flex}.code-reference-notice{border:1px solid color-mix(in srgb, var(--warning-text) 24%, var(--line));background:var(--warning);max-width:min(420px,100% - 40px);box-shadow:0 6px 18px color-mix(in srgb, var(--text) 12%, transparent);color:var(--warning-text);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:650;overflow:hidden}.walkthrough-reference-notice{position:absolute;top:calc(100% + 8px);right:20px}.comment-reference-notice{max-width:100%;margin-top:5px;display:inline-block}.walkthrough-delete-button{color:var(--muted)}.walkthrough-delete-button:hover:not(:disabled){border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:var(--danger-soft);color:var(--danger)}.walkthrough-comment-button>span{background:var(--accent);min-width:17px;height:17px;color:var(--accent-contrast);font:700 9px var(--mono);border-radius:999px;place-items:center;padding:0 4px;display:grid;position:absolute;top:-6px;right:-6px}.walkthrough-viewer>.error-notice{margin:10px 16px 0}.walkthrough-comment-area{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 76%, transparent);gap:10px;padding:0 16px 16px;display:grid}.walkthrough-comment-area>.inline-comment-composer--file{margin-inline:0}.walkthrough-comment-area>.comment-thread{border:1px solid var(--line);background:var(--panel);border-radius:8px}.walkthrough-markdown-surface{min-width:0}.walkthrough-markdown{width:min(940px,100%);min-width:0;margin:0 auto;padding:38px clamp(26px,4vw,58px) 100px;font-size:14px;line-height:1.7}.walkthrough-markdown>:first-child{margin-top:0}.walkthrough-markdown h1,.walkthrough-markdown h2,.walkthrough-markdown h3{color:var(--text);scroll-margin-top:130px;line-height:1.28}.walkthrough-markdown h1{border-bottom:1px solid var(--line);letter-spacing:-.025em;margin:0 0 18px;padding-bottom:12px;font-size:27px}.walkthrough-markdown h2{margin:38px 0 13px;padding-top:6px;font-size:20px}.walkthrough-markdown h3{margin:25px 0 10px;font-size:16px}.walkthrough-markdown p,.walkthrough-markdown ul,.walkthrough-markdown ol{margin:11px 0}.walkthrough-markdown li+li{margin-top:5px}.walkthrough-markdown blockquote{border-left:3px solid var(--done);background:color-mix(in srgb, var(--done) 7%, var(--panel));color:var(--muted);margin:18px 0;padding:8px 15px}.walkthrough-markdown code{border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:inherit;border-radius:4px;padding:2px 5px}.walkthrough-markdown pre{border:1px solid var(--line);background:var(--panel-2);border-radius:9px;margin:18px 0;padding:16px;overflow:auto}.walkthrough-markdown pre code{background:0 0;border:0;padding:0}.code-inline-reference{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--line));background:color-mix(in srgb, var(--accent) 8%, var(--panel));max-width:100%;color:var(--accent);-webkit-user-select:text;user-select:text;vertical-align:baseline;border-radius:5px;align-items:center;gap:5px;margin:0 2px;padding:2px 6px;line-height:1.35;display:inline-flex}.code-inline-reference:hover{border-color:var(--accent);background:var(--accent-soft)}.code-inline-reference svg{flex:none;width:13px;height:13px}.code-inline-reference>span{font:650 12px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.code-inline-reference small{color:var(--muted);font:9px var(--mono);white-space:nowrap}.main-view.two-pane .walkthrough-markdown{padding-inline:clamp(22px,4vw,44px)}.main-view.two-pane .walkthrough-diagram svg{min-width:520px}.walkthrough-diagram-shell{border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 4px 18px var(--shadow-small);border-radius:10px;margin:22px 0 28px;overflow:hidden}.walkthrough-diagram-shell.has-comment{border-color:color-mix(in srgb, var(--accent) 55%, var(--line-strong));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 12%, transparent)}.walkthrough-diagram-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:9px;font-weight:650;display:flex}.walkthrough-diagram-toolbar>span:nth-child(2){text-align:right;flex:1;min-width:0}.walkthrough-diagram-comment{min-height:27px;color:var(--accent);flex:none;align-items:center;gap:5px;padding:3px 8px;font-size:10px;display:inline-flex}.walkthrough-diagram-comment svg{width:13px;height:13px}.walkthrough-diagram{min-height:190px;padding:22px;overflow:auto}.walkthrough-diagram-comment-composer{border-top:1px solid var(--line);background:var(--panel-2);padding:0 10px 10px}.walkthrough-diagram-comment-composer .inline-comment-composer--line{width:100%;margin:10px 0 0}.walkthrough-diagram svg{width:100%;min-width:580px;max-height:480px;margin:0 auto;display:block}.walkthrough-diagram-node--linked{cursor:pointer;filter:drop-shadow(0 2px 3px var(--shadow-small));outline:none}.walkthrough-diagram-node--linked rect,.walkthrough-diagram-node--linked polygon,.walkthrough-diagram-node--linked circle,.walkthrough-diagram-node--linked path{transition:fill .1s,stroke-width .1s;fill:color-mix(in srgb, var(--accent) 7%, var(--panel))!important;stroke:var(--accent)!important;stroke-width:1.6px!important}.walkthrough-diagram-node--linked line{stroke:color-mix(in srgb, var(--accent) 72%, var(--line-strong))!important;stroke-width:1.2px!important}.walkthrough-diagram-node--linked:hover rect,.walkthrough-diagram-node--linked:focus-visible rect,.walkthrough-diagram-node--linked:hover polygon,.walkthrough-diagram-node--linked:focus-visible polygon,.walkthrough-diagram-node--linked:hover circle,.walkthrough-diagram-node--linked:focus-visible circle,.walkthrough-diagram-node--linked:hover path,.walkthrough-diagram-node--linked:focus-visible path{fill:color-mix(in srgb, var(--accent) 14%, var(--panel))!important;stroke-width:3px!important}.walkthrough-diagram-error{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-text);border-radius:8px;margin:18px 0;padding:12px;font-size:12px}.walkthrough-html-preview-shell{border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 4px 18px var(--shadow-small);border-radius:10px;margin:22px 0 28px;overflow:visible}.walkthrough-html-preview-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:12px;padding:7px 10px;font-size:9px;font-weight:650;display:flex}.walkthrough-html-preview-toolbar>span:nth-child(2){text-align:right;flex:1;min-width:0}.walkthrough-html-preview-frame-shell{min-width:0;position:relative}.walkthrough-html-preview-frame-shell iframe{background:var(--panel);border:0;width:100%;min-height:240px;display:block}.walkthrough-html-overlay{z-index:4;pointer-events:none;position:absolute;inset:0;overflow:visible}.walkthrough-html-comment-action,.walkthrough-html-marker{pointer-events:auto;box-shadow:0 3px 10px var(--shadow-medium);position:absolute}.walkthrough-html-comment-action{border-color:var(--accent);background:var(--panel);min-height:28px;color:var(--accent);align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:inline-flex;transform:translate(-50%)}.walkthrough-html-comment-action:hover{background:var(--accent-soft)}.walkthrough-html-comment-action svg{width:13px;height:13px}.walkthrough-html-marker{border:1px solid color-mix(in srgb, var(--accent) 70%, var(--line));background:var(--panel);width:25px;height:25px;color:var(--accent);border-radius:999px;place-items:center;padding:5px;display:grid;transform:translate(-75%,-25%)}.walkthrough-html-marker.is-active{background:var(--accent);color:var(--accent-contrast)}.walkthrough-html-marker svg{width:13px;height:13px}.walkthrough-html-comment-composer{z-index:2;border:1px solid var(--line-strong);background:var(--panel);width:min(420px,100% - 24px);box-shadow:0 8px 24px var(--shadow-medium);pointer-events:auto;border-radius:8px;padding:10px;position:absolute;transform:translate(-50%,8px)}.walkthrough-html-comment-composer .inline-comment-composer--line{width:100%;margin:0}.walkthrough-html-preview-error{border:1px solid var(--warning-line);background:var(--warning);color:var(--warning-text);border-radius:8px;margin:18px 0;padding:12px;font-size:12px}.comment-sidebar{font-size:var(--comment-body-size)}.comment-state-filter button{font-size:var(--comment-ui-size)}.comment-state-filter button span{color:var(--muted);font-size:var(--comment-meta-size);margin-left:3px}.comment-list-toolbar,.pr-comment-actions,.comment-reply-actions,.comment-edit-actions,.comment-actions{align-items:center;gap:7px;display:flex}.comment-list-toolbar{justify-content:space-between;margin-top:8px}.comment-list-toolbar button,.comment-actions button,.comment-reply-actions button,.comment-edit-actions button,.pr-comment-actions button{font-size:var(--comment-ui-size)}.comment-list-toolbar button{color:var(--muted);padding:5px 7px}.comment-select-all{color:var(--muted);cursor:pointer;font-size:var(--comment-ui-size);align-items:center;gap:6px;display:flex}.comment-pr-create{margin-left:auto}.comment-select-all input,.comment-select-toggle input{width:auto}.comment-list{flex-direction:column;gap:8px;margin-top:10px;display:flex}.comment-list-item{align-items:flex-start;min-width:0;display:flex;position:relative}.comment-select-toggle{cursor:pointer;flex:0 0 28px;justify-content:center;align-self:flex-start;height:40px;padding-top:11px;display:flex}.comment-select-toggle input{flex:none;width:16px;height:16px;margin:0}.comment-list-item-content>.comment-thread{cursor:pointer}.comment-list-item.is-selected>.comment-list-item-content>.comment-thread{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-soft)}.comment-list-item-content{flex:1;min-width:0}.comment-list-item-content>.comment-thread{min-width:0}.comment-list-item-content>.error-notice{margin:6px 0 0}.pr-comment-composer{border:1px solid var(--line);background:var(--panel-2);border-radius:7px;gap:7px;margin-top:8px;padding:10px;display:grid}.pr-comment-composer label{color:var(--muted);font-size:var(--comment-meta-size);font-weight:650}.pr-comment-composer textarea,.comment-reply-composer textarea{font-size:var(--comment-body-size);line-height:1.5}.pr-comment-actions,.comment-reply-actions{justify-content:flex-end}.comment-copy-selection{z-index:5;box-shadow:0 3px 10px var(--shadow-medium);font-size:var(--comment-ui-size);margin-top:10px;position:sticky;bottom:8px}.comment-thread{border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:var(--comment-body-size);border-radius:7px;position:relative;overflow:visible}.comment-thread--inline{border-left:3px solid var(--accent);width:min(100% - 16px,736px);box-shadow:0 3px 12px var(--shadow-small);margin:5px 8px 10px}.comment-thread-header{align-items:flex-start;min-width:0;display:flex}.comment-thread-toggle,.comment-thread-summary{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;border-radius:0;flex:1;align-items:flex-start;gap:7px;padding:10px;display:flex}.comment-thread-toggle:hover{background:var(--accent-soft)}.comment-thread-chevron{color:var(--muted);font:700 16px/1 var(--mono);flex:none}.comment-thread-summary-copy{flex:1;gap:4px;min-width:0;display:grid}.comment-thread.is-collapsed .comment-thread-summary-copy{align-self:center}.comment-thread.is-collapsed .comment-thread-excerpt,.comment-thread.is-collapsed .comment-thread-meta{display:none}.comment-thread-target,.comment-thread-excerpt,.comment-thread-meta{min-width:0;overflow:hidden}.comment-thread-target{color:var(--text);font:650 var(--comment-ui-size)/1.4 var(--mono);text-overflow:ellipsis;white-space:nowrap}.comment-thread-excerpt{font-size:var(--comment-body-size);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box}.comment-thread-meta,.comment-post-meta,.comment-post>small{color:var(--muted);font-size:var(--comment-meta-size);line-height:1.4}.comment-thread-header-actions,.comment-thread-badges{flex:none;align-items:center;display:flex}.comment-thread-header-actions{gap:4px;padding:7px 7px 0 0}.comment-thread-badges{flex-direction:column;align-items:flex-end;gap:4px}.comment-thread-content{border-top:1px solid var(--line);padding:0 10px 10px}.comment-thread.is-collapsed .comment-thread-header{align-items:center}.comment-thread.is-collapsed .comment-thread-header-actions{padding-top:5px;padding-bottom:5px}.comment-thread--inline .comment-thread-header{align-items:center;min-height:34px}.comment-thread--inline .comment-thread-toggle{align-items:center;gap:6px;padding:7px 8px}.comment-thread--inline .comment-thread-chevron{font-size:14px}.comment-thread--inline .comment-thread-summary-copy{display:block}.comment-thread--inline .comment-thread-header-actions,.comment-thread--inline.is-collapsed .comment-thread-header-actions{align-self:stretch;padding:3px 4px 3px 0}.comment-thread--inline .comment-thread-badges{flex-direction:row}.comment-outdated-note{background:var(--danger-soft);color:var(--danger);font-size:var(--comment-meta-size);border-radius:5px;margin:9px 0 0;padding:7px 8px;line-height:1.45}.comment-source-quote{border-left:3px solid var(--line-strong);background:var(--panel-2);margin-top:9px;padding:8px}.comment-source-quote small{color:var(--muted)}.comment-source-quote pre{white-space:pre-wrap;font:inherit;margin:5px 0 0;font-size:12px;overflow:auto}.comment-post{border-bottom:1px solid var(--line);padding:8px 0}.comment-post:last-child{border-bottom:0}.comment-post-meta{justify-content:space-between;align-items:center;gap:8px;display:flex}.comment-post-meta>span,.comment-post-meta-end{align-items:center;gap:6px;display:inline-flex}.comment-post-meta strong{color:var(--text);font-size:var(--comment-meta-size)}.comment-post-meta small{color:var(--muted);font-size:var(--comment-badge-size)}.comment-markdown{overflow-wrap:anywhere;font-size:var(--comment-body-size);margin:4px 0 0;line-height:1.5}.comment-markdown>:first-child{margin-top:0}.comment-markdown>:last-child{margin-bottom:0}.comment-markdown p,.comment-markdown ul,.comment-markdown ol,.comment-markdown blockquote,.comment-markdown pre,.comment-markdown details,.comment-markdown-table-scroll{margin:7px 0}.comment-markdown h1,.comment-markdown h2,.comment-markdown h3,.comment-markdown h4,.comment-markdown h5,.comment-markdown h6{color:var(--text);font-size:var(--comment-body-size);border:0;margin:10px 0 6px;padding:0;line-height:1.35}.comment-markdown h1,.comment-markdown h2{font-size:calc(var(--comment-body-size) + 2px)}.comment-markdown ul,.comment-markdown ol{padding-left:20px}.comment-markdown li+li{margin-top:2px}.comment-markdown blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--muted);padding:5px 8px}.comment-markdown a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.comment-markdown-unavailable-link{color:var(--muted);text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.comment-markdown code{border:1px solid var(--line);background:var(--panel-2);font-size:inherit;border-radius:4px;padding:1px 4px}.comment-markdown pre{border:1px solid var(--line);background:var(--panel-2);white-space:pre;border-radius:6px;max-width:100%;padding:9px;overflow:auto}.comment-markdown pre code{background:0 0;border:0;padding:0}.comment-markdown img{border-radius:6px;max-width:100%;height:auto;margin:7px 0;display:block}.comment-markdown details>summary{cursor:pointer;font-weight:650}.comment-markdown-table-scroll{border:1px solid var(--line-strong);border-radius:6px;width:100%;overflow-x:auto}.comment-markdown-table-scroll table{border-collapse:collapse;border-spacing:0;width:max-content;min-width:100%}.comment-markdown-table-scroll th,.comment-markdown-table-scroll td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere;text-align:left;vertical-align:top;white-space:normal;max-width:28ch;padding:5px 7px}.comment-markdown-table-scroll th:last-child,.comment-markdown-table-scroll td:last-child{border-right:0}.comment-markdown-table-scroll tr:last-child td{border-bottom:0}.comment-markdown-table-scroll th{background:var(--panel-2);font-weight:700}.comment-markdown .contains-task-list{padding-left:0;list-style:none}.comment-markdown .task-list-item{list-style:none}.comment-markdown .task-list-item>input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent-emphasis);vertical-align:-2px;margin:0 6px 0 0;padding:0}.comment-mermaid-shell{border:1px solid var(--line-strong);background:var(--panel);border-radius:7px;margin:8px 0;overflow:hidden}.comment-mermaid-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:29px;color:var(--muted);font-size:var(--comment-badge-size);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:7px;padding:5px 7px;font-weight:700;display:flex}.comment-mermaid{min-height:120px;padding:10px;overflow:auto}.comment-mermaid svg{width:100%;min-width:420px;max-height:360px;margin:0 auto;display:block}.comment-mermaid-placeholder,.comment-mermaid-error{color:var(--muted);font-size:var(--comment-meta-size);padding:12px}.comment-mermaid-error{background:var(--warning);color:var(--warning-text)}.mermaid-expand-button{width:26px;height:24px;color:var(--muted);background:0 0;border-color:#0000;flex:none;place-items:center;padding:4px;display:grid}.mermaid-expand-button:hover,.mermaid-expand-button:focus-visible{border-color:var(--line-strong);background:var(--panel);color:var(--text)}.mermaid-expand-button svg{width:15px;height:15px}.mermaid-expanded-backdrop{z-index:1000;background:#0000006b;place-items:center;padding:clamp(10px,2vw,24px);display:grid;position:fixed;inset:0}.mermaid-expanded-view{border:1px solid var(--line-strong);background:var(--panel);width:min(1680px,100vw - clamp(20px,4vw,48px));min-width:0;height:min(1040px,100vh - clamp(20px,4vw,48px));min-height:0;color:var(--text);border-radius:11px;grid-template-rows:auto minmax(0,1fr);display:grid;overflow:hidden;box-shadow:0 24px 72px #0000007a}.mermaid-expanded-toolbar{border-bottom:1px solid var(--line);background:var(--panel-2);justify-content:space-between;align-items:center;gap:16px;min-height:48px;padding:7px 8px 7px 16px;display:flex}.mermaid-expanded-toolbar>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.mermaid-expanded-actions,.mermaid-zoom-controls{align-items:center;gap:5px;display:flex}.mermaid-zoom-controls{border-right:1px solid var(--line);padding-right:5px}.mermaid-expanded-actions button{border-color:var(--line-strong);min-height:31px;color:var(--muted);background:0 0;justify-content:center;align-items:center;gap:5px;padding:5px 9px;font-size:11px;display:inline-flex}.mermaid-expanded-actions button:hover:not(:disabled),.mermaid-expanded-actions button.active,.mermaid-expanded-actions button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.mermaid-expanded-actions button:disabled{opacity:.45;cursor:default}.mermaid-expanded-actions button svg{width:15px;height:15px}.mermaid-expanded-actions .mermaid-expanded-close{width:32px;padding:5px}.mermaid-comments-toggle>span{background:var(--panel);min-width:17px;height:17px;color:var(--muted);border-radius:9px;place-items:center;padding:0 4px;font-size:9px;display:inline-grid}.mermaid-expanded-workspace{grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.mermaid-expanded-view.has-rail .mermaid-expanded-workspace{grid-template-columns:minmax(0, 1fr) 6px var(--mermaid-review-rail-width,380px)}.mermaid-expanded-workspace.is-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.mermaid-rail-resize-handle{background:var(--panel-2)}.mermaid-expanded-canvas{overscroll-behavior:contain;background:radial-gradient(circle, color-mix(in srgb, var(--line) 42%, transparent) .7px, transparent .8px) 0 0 / 18px 18px, var(--bg);min-width:0;min-height:0;overflow:auto}.mermaid-expanded-canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.mermaid-expanded-stage{place-items:center;width:max-content;min-width:100%;min-height:100%;padding:24px;display:grid}.mermaid-expanded-diagram{flex:none}.mermaid-expanded-diagram svg{display:block;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important}.mermaid-expanded-error{border:1px solid var(--warning-line);background:var(--warning);max-width:680px;color:var(--warning-text);border-radius:8px;padding:16px;font-size:12px}.mermaid-review-rail{border-left:1px solid var(--line);background:var(--panel);min-width:0;min-height:0;overflow:hidden}.mermaid-comments-mode,.mermaid-reference-peek{grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;display:grid}.mermaid-comments-mode>header{border-bottom:1px solid var(--line);background:var(--panel-2);justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 12px;font-size:12px;display:flex}.mermaid-comments-mode>header>span{border:1px solid var(--line);min-width:20px;height:20px;color:var(--muted);border-radius:10px;place-items:center;font-size:10px;display:inline-grid}.mermaid-comments-scroll{overscroll-behavior:contain;min-height:0;padding:10px;overflow:auto}.mermaid-diagram-comments{gap:10px;display:grid}.mermaid-diagram-comments>.comment-thread{border:1px solid var(--line);background:var(--panel);border-radius:8px}.mermaid-diagram-comments .inline-comment-composer--line{width:100%;margin:0}.mermaid-comments-empty{color:var(--muted);text-align:center;margin:20px 8px 8px;font-size:12px;line-height:1.5}.mermaid-comment-action{justify-content:center;justify-self:stretch;align-items:center;gap:6px;min-height:34px;font-size:12px;display:inline-flex}.mermaid-comment-action svg{width:14px;height:14px}.mermaid-reference-peek{grid-template-rows:auto minmax(0,1fr) auto}.mermaid-reference-peek>header{border-bottom:1px solid var(--line);background:var(--panel-2);padding:10px 12px}.mermaid-reference-peek .button--back{min-height:24px;margin-bottom:8px;padding:0;font-size:11px;display:block}.mermaid-reference-location{align-items:center;gap:8px;min-width:0;display:flex}.mermaid-reference-location>svg{flex:none;width:17px;height:17px}.mermaid-reference-location>span{gap:2px;min-width:0;display:grid}.mermaid-reference-location strong{font:650 11px var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mermaid-reference-location small{color:var(--muted);font:10px var(--mono)}.mermaid-reference-source{background:var(--bg);min-height:0;overflow:auto}.mermaid-reference-source>p{color:var(--muted);margin:18px;font-size:12px;line-height:1.5}.mermaid-reference-source pre{min-width:max-content;font:11px/1.65 var(--mono);margin:0;padding:10px 0}.mermaid-reference-source pre>span{grid-template-columns:5ch minmax(max-content,1fr);display:grid}.mermaid-reference-source pre>span>span{color:var(--muted);text-align:right;-webkit-user-select:none;user-select:none;padding:0 10px 0 4px}.mermaid-reference-source pre code{border-left:1px solid var(--line);color:var(--text);white-space:pre;padding:0 14px 0 10px}.mermaid-reference-source pre>span.is-referenced{background:color-mix(in srgb, var(--accent) 13%, transparent)}.mermaid-reference-source pre>span.is-referenced code{border-left:2px solid var(--accent);padding-left:9px}.mermaid-reference-highlight .shiki{min-width:max-content}.mermaid-reference-highlight .shiki code{color:inherit;border:0;padding:0;display:block}.mermaid-reference-highlight .mermaid-reference-code-line{white-space:pre;min-width:100%;min-height:1.65em;padding-right:14px;display:inline-block}.mermaid-reference-highlight .mermaid-reference-code-line:before{border-right:1px solid var(--line);width:5ch;color:var(--muted);content:attr(data-line);text-align:right;-webkit-user-select:none;user-select:none;margin-right:10px;padding-right:10px;display:inline-block}.mermaid-reference-highlight .mermaid-reference-code-line.is-referenced{background:color-mix(in srgb, var(--accent) 13%, transparent)}.mermaid-reference-highlight .mermaid-reference-code-line.is-referenced:before{border-right:2px solid var(--accent);padding-right:9px}:root[data-theme=dark] .mermaid-reference-highlight .shiki,:root[data-theme=dark] .mermaid-reference-highlight .shiki span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important}.mermaid-reference-peek>footer{border-top:1px solid var(--line);background:var(--panel-2);justify-content:flex-end;padding:10px 12px;display:flex}.mermaid-reference-peek>footer button{font-size:11px}@media (width<=820px){.mermaid-expanded-view.has-rail .mermaid-expanded-workspace{grid-template-columns:minmax(0,1fr);position:relative}.mermaid-rail-resize-handle{display:none}.mermaid-review-rail{z-index:2;width:min(var(--mermaid-review-rail-width,380px), 100%);box-shadow:-12px 0 28px var(--shadow-medium);position:absolute;inset:0 0 0 auto}.mermaid-expanded-toolbar{padding-left:10px}.mermaid-expanded-toolbar>strong{display:none}}@media (prefers-color-scheme:dark){:root[data-theme=system] .mermaid-reference-highlight .shiki,:root[data-theme=system] .mermaid-reference-highlight .shiki span{background-color:var(--shiki-dark-bg)!important;color:var(--shiki-dark)!important}}.comment-reply-composer{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:7px;margin-top:9px;display:grid}.comment-reply-composer textarea{resize:vertical;min-height:34px}.comment-edit-composer textarea{min-height:76px}.comment-edit-composer{gap:7px;margin-top:7px;display:grid}.comment-edit-actions{justify-content:flex-end}.comment-actions{border-top:1px solid var(--line);flex-wrap:wrap;margin-top:9px;padding-top:8px}.comment-actions button{padding:5px 7px}.comment-action-feedback{color:var(--accent);font-size:var(--comment-meta-size)}.comment-action-feedback--header{white-space:nowrap;align-self:center}.comment-more{flex:none;display:inline-flex;position:relative}.comment-more-trigger{width:28px;height:28px;color:var(--muted);font:700 18px/1 var(--mono);background:0 0;border-color:#0000;place-items:center;padding:0 0 7px;display:grid}.comment-more-trigger:hover,.comment-more-trigger[aria-expanded=true]{border-color:var(--line);background:var(--panel-2);color:var(--text)}.comment-more-menu{z-index:30;border:1px solid var(--line-strong);background:var(--panel);min-width:142px;box-shadow:0 7px 18px var(--shadow-large);border-radius:7px;margin:0;padding:4px;display:grid;position:fixed;inset:auto}.comment-more-menu button{color:var(--text);text-align:left;font-size:var(--comment-ui-size);background:0 0;border-color:#0000;justify-content:flex-start;padding:7px 9px}.comment-more-menu button:hover{background:var(--panel-2)}.comment-more-menu button.is-danger{color:var(--danger)}.badge{background:var(--accent-soft);color:var(--accent);font-size:var(--comment-badge-size);border-radius:10px;padding:2px 6px;display:inline-flex}.badge--resolved{background:var(--panel-2);color:var(--muted)}.badge--outdated,.badge--error{background:var(--danger-soft);color:var(--danger)}.empty-state{text-align:center;color:var(--muted);padding:28px 8px;font-size:12px}.fatal-state{align-content:center;place-items:center;min-height:100vh;display:grid}.fatal-state h1{font:800 42px var(--mono);margin:0}.pull-request-list-screen{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.pull-request-list-header{border-bottom:1px solid var(--header-border);background:var(--header-bg);min-height:76px;color:var(--header-text);flex:none;align-items:center;gap:20px;padding:12px max(20px,50vw - 660px);display:flex}.pull-request-list-header h1{margin:0;font-size:18px;line-height:1.25}.pull-request-list-header p{color:var(--header-muted);margin:3px 0 0;font-size:12px}.pull-request-list-content{width:100%;max-width:1360px;min-height:0;margin:0 auto;padding:24px 20px 40px;overflow-y:auto}.pull-request-list-status{color:var(--muted);text-align:center;padding:72px 20px}.pull-request-list-filters{justify-content:flex-end;align-items:center;gap:14px;margin-bottom:10px;display:flex}.pull-request-status-refresh{min-height:30px;padding:4px 10px;font-size:12px}.pull-request-status-refresh-result{border:1px solid color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 8%, var(--panel));color:var(--success);border-radius:6px;margin:0 0 10px;padding:9px 12px;font-size:12px}.pull-request-status-refresh-result--error{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--danger) 8%, var(--panel));color:var(--danger)}.pull-request-status-refresh-result details{margin-top:5px}.pull-request-status-refresh-result ul{margin:5px 0 0;padding-left:20px}.pull-request-list-filter{min-height:30px;color:var(--muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.pull-request-list-filter:hover{color:var(--text)}.pull-request-list-filter>input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);flex:0 0 15px;margin:0;padding:0}.pull-request-list{border:1px solid var(--line);background:var(--panel);box-shadow:0 1px 2px var(--shadow-small);border-radius:10px;overflow:hidden}.pull-request-list-columns,.pull-request-row{grid-template-columns:minmax(180px,1fr) minmax(260px,2fr) minmax(290px,1.5fr) minmax(100px,.6fr) minmax(100px,.6fr);align-items:center;column-gap:18px;display:grid}.pull-request-list-columns{border-bottom:1px solid var(--line);background:var(--panel-2);min-height:34px;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;padding:0 18px;font-size:10px;font-weight:700}.pull-request-row{min-height:76px;color:inherit;padding:12px 18px;text-decoration:none}.pull-request-row+.pull-request-row{border-top:1px solid var(--line)}.pull-request-row:hover{background:var(--accent-soft)}.pull-request-row__identity{align-content:center;gap:5px;min-width:0;font-size:12px;display:grid}.pull-request-row__reference,.pull-request-row__badges{align-items:baseline;gap:8px;min-width:0;display:flex}.pull-request-row__repository{min-width:0;color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pull-request-row__number{color:var(--accent);font-family:var(--mono);flex:none;font-weight:700}.pull-request-status,.pull-request-approval{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);font:700 9px/1.4 var(--mono);letter-spacing:.02em;border-radius:999px;flex:none;padding:2px 7px}.pull-request-status--open,.pull-request-approval{border-color:color-mix(in srgb, var(--success) 45%, var(--line));background:color-mix(in srgb, var(--success) 10%, var(--panel));color:var(--success)}.pull-request-status--closed{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));background:color-mix(in srgb, var(--danger) 9%, var(--panel));color:var(--danger)}.pull-request-status--merged{border-color:color-mix(in srgb, var(--done) 45%, var(--line));background:color-mix(in srgb, var(--done) 10%, var(--panel));color:var(--done)}.pull-request-row__title{overflow-wrap:anywhere;white-space:normal;min-width:0;font-size:14px;line-height:1.35}.pull-request-row__counts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pull-request-count{border:1px solid var(--line);background:var(--panel-2);min-width:76px;color:var(--muted);font:600 10px/1.4 var(--mono);text-align:center;white-space:nowrap;border-radius:999px;padding:3px 7px}.pull-request-count--unresolved{border-color:color-mix(in srgb, var(--attention) 45%, var(--line));background:color-mix(in srgb, var(--attention) 12%, var(--panel));color:var(--attention)}.pull-request-count--resolved{color:var(--success)}.pull-request-count--walkthrough{color:var(--done)}.pull-request-count--structure{color:var(--info)}.pull-request-row__date{color:var(--muted);gap:3px;font-size:11px;display:grid}.pull-request-row__date>span{display:none}.pull-request-row__date time{white-space:nowrap}.pull-request-row__date--updated time{color:var(--text);font-weight:600}.pull-request-list-empty{border:1px dashed var(--line-strong);background:var(--panel);text-align:center;border-radius:12px;justify-items:center;max-width:680px;margin:64px auto;padding:54px 32px;display:grid}.pull-request-list-empty h2{margin:18px 0 6px;font-size:18px}.pull-request-list-empty p{color:var(--muted);margin:0;font-size:13px}.pull-request-list-empty code{color:var(--text);font-size:inherit}.pull-request-pagination{color:var(--muted);justify-content:center;align-items:center;gap:16px;padding:18px 0 0;font-size:12px;display:flex}.pull-request-pagination .button--quiet{min-width:72px}@media (width<=1050px){.pull-request-list-columns{display:none}.pull-request-row{grid-template-columns:minmax(180px,.8fr) minmax(280px,1.5fr);row-gap:10px}.pull-request-row__counts{grid-column:1/-1}.pull-request-row__date{grid-area:3}.pull-request-row__date>span{display:inline}}@media (width<=640px){.pull-request-list-header{padding-inline:16px}.pull-request-list-content{padding:16px 12px 32px}.pull-request-list-filters{flex-direction:column-reverse;align-items:flex-end;gap:8px}.pull-request-row{grid-template-columns:1fr;padding:14px}.pull-request-row__title,.pull-request-row__counts,.pull-request-row__date{grid-area:auto/1}.pull-request-row__title{white-space:normal}.pull-request-row__counts{flex-wrap:wrap}}@media (prefers-color-scheme:dark){:root:not([data-theme]),:root[data-theme=system]{--bg:#0d1117;--panel:#161b22;--panel-2:#21262d;--line:#30363d;--line-strong:#484f58;--text:#e6edf3;--muted:#8b949e;--accent:#58a6ff;--accent-emphasis:#1f6feb;--accent-soft:#1f2d3d;--accent-contrast:#fff;--tab-accent:#58a6ff;--focus:#58a6ff;--danger:#ff7b72;--danger-soft:#3c1e22;--warning:#332b00;--warning-text:#e3b341;--warning-line:#6e5a1c;--search-match-bg:#7c5c12;--search-match-text:#fff2bd;--success:#3fb950;--attention:#d29922;--done:#d2a8ff;--info:#58a6ff;--file-tree-active-text:#cae8ff;--header-bg:#010409;--header-border:#21262d;--header-text:#f0f6fc;--header-muted:#8b949e;--header-control-bg:#161b22;--header-control-border:#484f58;--header-control-hover:#21262d;--header-active-bg:#f0f6fc;--header-active-text:#1f2328;--header-badge-bg:#1f6feb;--header-badge-text:#fff;--shadow-small:#01040966;--shadow-medium:#01040980;--shadow-large:#010409a3}}@media (width<=850px){.topbar{gap:10px;padding:0 10px}.pr-heading{flex-basis:150px;min-width:120px}.commit-range-trigger{width:34vw;min-width:240px}.workspace{grid-template-columns:min(var(--sidebar-width,280px), 280px) 6px minmax(0, 1fr);overflow:hidden}.walkthrough-markdown{padding-inline:28px}}@media (width<=800px){.pr-heading{display:none}.review-scope-bar{flex:auto}.review-scope-commits{flex:auto;min-width:0}.commit-range-picker{min-width:0}.commit-range-trigger{width:100%;min-width:0}}@media (width<=560px){.brand strong{display:none}.commit-range-trigger{width:100%;min-width:0}.diff-style-modes{width:96px}.workspace{grid-template-columns:min(var(--sidebar-width,280px), 280px) 6px minmax(500px, 1fr);overflow:auto hidden}.main-view.two-pane{min-width:566px;overflow-x:hidden}.review-scope-bar .segmented button,.review-scope-display .segmented button,.diff-style-modes button{min-width:44px;padding-inline:5px}}.review-tree-structure-list,.review-tree-walkthrough-list{display:grid}.review-tree-structure-list .review-tree-item,.review-tree-walkthrough-list .review-tree-item{padding-left:28px}.review-tree-structure-icon{color:var(--done)}.structure-viewer{min-width:0;height:calc(100% - 40px);min-height:0;color:var(--text);background:radial-gradient(circle at 14% 2%, color-mix(in srgb, var(--attention) 9%, transparent), transparent 32rem), var(--bg);flex-direction:column;display:flex;position:relative;overflow:hidden;container-type:inline-size}.structure-header{z-index:12;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 92%, transparent);flex:none;align-items:center;gap:8px;min-height:40px;padding:5px 8px 5px 12px;display:flex;position:relative}.structure-header-main{flex:auto;align-items:center;gap:7px;min-width:0;display:flex}.structure-header h2{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:15px;line-height:1.25;overflow:hidden}.structure-kicker{color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;flex:none;font-size:9px}.structure-source-oid{border:1px solid var(--line);color:var(--muted);background:var(--bg);font:8px/1.2 var(--mono);border-radius:4px;flex:none;padding:2px 5px}.structure-scope-details{flex:none;position:static}.structure-scope-details[open]{z-index:14}.structure-scope-details>summary{border:1px solid var(--line);color:var(--muted);background:var(--bg);font:9px/1.35 var(--mono);cursor:pointer;border-radius:999px;padding:2px 6px;list-style:none}.structure-scope-details>summary::-webkit-details-marker{display:none}.structure-scope-details[open]>summary,.structure-scope-details>summary:hover{border-color:var(--line-strong);color:var(--text)}.structure-scope-details>p{z-index:15;border:1px solid var(--line-strong);width:min(560px,100% - 24px);max-height:180px;color:var(--muted);background:var(--panel);box-shadow:0 10px 24px var(--shadow-large);white-space:pre-wrap;border-radius:8px;margin:0;padding:10px 11px;font-size:11px;line-height:1.45;position:absolute;top:calc(100% + 8px);right:12px;overflow:auto}.structure-header-side{flex:none;justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.structure-presentation-overview{border-bottom:1px solid var(--line);min-width:0;color:var(--text);background:color-mix(in srgb, var(--accent) 4%, var(--panel));font-family:var(--sans);flex:none;font-size:10px;line-height:1.35;display:grid}.structure-presentation-guide-header{align-items:center;gap:7px;min-width:0;min-height:36px;padding:4px 8px;display:flex}.structure-presentation-guide-header>strong{color:var(--accent);font:700 9px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;flex:none}.structure-presentation-guide-controls{overscroll-behavior-x:contain;scrollbar-width:thin;flex:auto;justify-content:flex-end;gap:3px;min-width:0;display:flex;overflow-x:auto}.structure-presentation-guide-toggle{border:1px solid var(--line);min-height:24px;color:var(--muted);background:var(--panel);font:700 8px/1.2 var(--mono);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:3px;padding:2px 6px;display:inline-flex}.structure-presentation-guide-toggle:hover,.structure-presentation-guide-toggle[aria-expanded=true]{border-color:color-mix(in srgb, var(--accent) 55%, var(--line));color:var(--accent);background:var(--accent-soft)}.structure-presentation-guide-toggle:focus-visible,.structure-presentation-overview-node:focus-visible,.structure-region-map-card:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.structure-presentation-guide-section{border-top:1px solid color-mix(in srgb, var(--line) 72%, transparent);grid-template-columns:108px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:5px 12px;display:grid}.structure-presentation-guide-section>strong{color:var(--accent);font:700 8px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase}.structure-presentation-overview-thesis>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.structure-presentation-overview-node{border:1px solid var(--line-strong);width:max-content;min-width:0;max-width:190px;min-height:30px;color:var(--text);background:var(--panel);font:700 9px/1.3 var(--mono);overflow-wrap:anywhere;text-align:left;cursor:pointer;border-radius:6px;flex:none;align-items:center;gap:5px;padding:4px 7px;display:inline-flex}.structure-presentation-overview-node.compact{text-overflow:ellipsis;white-space:nowrap;max-width:min(230px,34%);min-height:24px;padding:2px 6px;overflow:hidden}.structure-presentation-overview-node:hover{border-color:var(--accent);background:var(--accent-soft)}.structure-presentation-overview-node[data-focused=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--panel));box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 13%, transparent)}.structure-presentation-overview-start{color:var(--panel);background:var(--accent);letter-spacing:.035em;text-transform:uppercase;border-radius:999px;flex:none;padding:1px 4px;font-size:7px;line-height:1.4}.structure-delete,.structure-header-action,.structure-toolbar button,.structure-expand-relations{border:1px solid var(--line);min-height:26px;color:var(--text);background:var(--panel);cursor:pointer;border-radius:6px;font-size:11px}.structure-delete,.structure-header-action{white-space:nowrap;flex:none;padding:3px 7px}.structure-delete:hover,.structure-header-action:hover,.structure-toolbar button:hover,.structure-expand-relations:hover{border-color:var(--line-strong);background:var(--panel-2)}.structure-delete.danger{color:var(--danger)}.structure-delete:disabled{opacity:.6;cursor:wait}.structure-export-menu{flex:none;position:static}.structure-export-menu>summary{align-items:center;gap:4px;list-style:none;display:flex}.structure-export-menu>summary::-webkit-details-marker{display:none}.structure-export-menu>summary[aria-disabled=true]{opacity:.6;cursor:wait}.structure-export-menu[open]>summary{border-color:var(--accent);background:var(--accent-soft)}.structure-export-popover{z-index:16;border:1px solid var(--line-strong);background:var(--panel);width:min(272px,100% - 16px);box-shadow:0 10px 24px var(--shadow-large);border-radius:8px;gap:5px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);right:8px}.structure-export-popover>button{border-color:var(--line);color:var(--text);background:var(--panel);text-align:left;grid-template-columns:42px minmax(0,1fr);align-items:baseline;gap:6px;padding:7px 8px;display:grid}.structure-export-popover>button:hover{border-color:var(--accent);background:var(--accent-soft)}.structure-export-popover>button strong{font:700 11px/1.3 var(--mono)}.structure-export-popover>button span,.structure-export-popover>p{color:var(--muted);font-size:10px;line-height:1.4}.structure-export-popover>p{margin:2px 3px 1px}.structure-body{flex:auto;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative;overflow:hidden}.structure-canvas-shell{border-right:1px solid var(--line);background-color:var(--bg);background-image:linear-gradient(color-mix(in srgb, var(--line) 36%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--line) 36%, transparent) 1px, transparent 1px);background-size:24px 24px;min-width:0;min-height:0;position:relative;overflow:hidden}.structure-regions-canvas{width:100%;height:100%;min-height:360px;color:var(--text);grid-template-rows:auto minmax(0,1fr);display:grid;position:relative;overflow:hidden}.structure-regions-canvas-intro{z-index:3;border:1px solid color-mix(in srgb, var(--attention) 36%, var(--line));background:color-mix(in srgb, var(--panel) 94%, transparent);min-width:0;box-shadow:0 4px 14px var(--shadow-medium);border-radius:9px;justify-content:space-between;align-items:center;gap:18px;margin:54px 12px 6px;padding:9px 12px;display:flex;position:relative}.structure-regions-canvas-intro>div{gap:2px;min-width:0;display:grid}.structure-regions-canvas-intro strong{color:var(--attention);font:700 10px/1.35 var(--mono);letter-spacing:.035em;text-transform:uppercase}.structure-regions-canvas-intro span{color:var(--text);font:700 9px/1.35 var(--mono)}.structure-regions-canvas-intro p{max-width:420px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.4}.structure-regions-canvas-scroll{overscroll-behavior:contain;cursor:grab;touch-action:none;min-width:0;min-height:0;position:relative;overflow:hidden}.structure-regions-canvas-scroll:active{cursor:grabbing}.structure-regions-canvas-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.structure-region-map{transform-origin:0 0;will-change:transform;min-width:min-content;margin:0;position:relative}.structure-region-map-relations{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:visible}.structure-region-map-relation>.structure-region-map-relation-line{fill:none;stroke:color-mix(in srgb, var(--muted) 68%, var(--line-strong));stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.structure-region-map-relation.context-boundary>.structure-region-map-relation-line{stroke-dasharray:4 4}.structure-region-map-relation.core>.structure-region-map-relation-line{stroke:color-mix(in srgb, var(--done) 82%, var(--line-strong));stroke-width:2.4px}.structure-region-map-relation[data-direction=mixed]>.structure-region-map-relation-line{stroke-dasharray:8 3 2 3}.structure-region-map-label-leader{fill:none;stroke:color-mix(in srgb, var(--muted) 62%, transparent);stroke-width:1px;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}.structure-region-map-arrowhead{fill:color-mix(in srgb, var(--muted) 68%, var(--line-strong))}.structure-region-map-arrowhead.core{fill:color-mix(in srgb, var(--done) 82%, var(--line-strong))}.structure-region-map-relation-action{z-index:2;border:1px solid color-mix(in srgb, var(--line-strong) 88%, transparent);color:var(--text);background:color-mix(in srgb, var(--panel) 96%, transparent);box-shadow:0 3px 10px var(--shadow-medium);cursor:pointer;border-radius:11px;padding:7px 10px;display:grid;position:absolute}.structure-region-map-relation-action:hover,.structure-region-map-relation-action[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 9%, var(--panel))}.structure-region-map-relation-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.structure-region-map-relation-action.core{border-color:color-mix(in srgb, var(--done) 68%, var(--line))}.structure-region-map-relation-label{font:700 10px/1.3 var(--mono);text-align:center;gap:2px;display:grid}.structure-region-map-relation-action.core .structure-region-map-relation-label{color:color-mix(in srgb, var(--done) 84%, var(--text))}.structure-region-map-card,.structure-region-context-card{z-index:1;border:1px dashed color-mix(in srgb, var(--attention) 58%, var(--line));color:var(--text);background:color-mix(in srgb, var(--attention) 7%, var(--panel));box-shadow:0 5px 16px color-mix(in srgb, var(--text) 7%, transparent);font:10px/1.35 var(--sans);text-align:left;border-radius:10px;grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;gap:8px;padding:11px 12px 10px;display:grid;position:absolute;overflow:hidden}.structure-region-map-card{cursor:pointer}.structure-region-map-card:hover{border-color:var(--attention);background:color-mix(in srgb, var(--attention) 14%, var(--panel));box-shadow:0 7px 20px color-mix(in srgb, var(--attention) 15%, transparent)}.structure-region-map-card[data-framed-region=true]{border-style:solid;border-color:var(--attention);background:color-mix(in srgb, var(--attention) 15%, var(--panel))}.structure-region-map-card-heading,.structure-region-context-card-heading{align-items:center;gap:6px;min-width:0;display:flex}.structure-region-context-card-heading>strong{min-width:0;font:700 11px/1.3 var(--mono);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.structure-region-map-card-heading{flex-wrap:wrap;align-content:flex-start;align-items:flex-start;row-gap:4px}.structure-region-map-card-heading>strong{width:100%;min-width:0;font:700 11px/1.35 var(--mono);overflow-wrap:anywhere;white-space:normal;flex:1 0 100%;overflow:visible}.structure-region-map-card-start,.structure-region-map-card-core,.structure-region-context-card-start,.structure-region-context-card-core{color:var(--panel);background:var(--accent);font:700 7px/1.35 var(--mono);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;flex:none;padding:2px 5px}.structure-region-map-card-core{color:color-mix(in srgb, var(--done) 88%, var(--text));background:color-mix(in srgb, var(--done) 14%, var(--panel))}.structure-region-map-card-summary{min-width:0;color:var(--text);white-space:normal;line-height:1.45;overflow:auto}.structure-region-map-card-count,.structure-region-context-card-count{color:var(--muted);font:8px/1.25 var(--mono)}.structure-region-context-card{border-style:dotted;border-color:color-mix(in srgb, var(--muted) 68%, var(--line));background:color-mix(in srgb, var(--muted) 5%, var(--panel));cursor:pointer}.structure-region-context-card:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--panel))}.structure-region-context-card[data-core-context=true]{border-color:color-mix(in srgb, var(--done) 65%, var(--line))}.structure-region-context-card-heading>strong{color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.structure-region-context-card-core{color:color-mix(in srgb, var(--done) 88%, var(--text));background:color-mix(in srgb, var(--done) 14%, var(--panel))}.structure-region-context-card-label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-width:0;line-height:1.4;display:-webkit-box;overflow:hidden}.structure-region-relation-inspector{z-index:20;border:1px solid color-mix(in srgb, var(--accent) 52%, var(--line));background:color-mix(in srgb, var(--panel) 97%, transparent);width:min(430px,100% - 24px);max-height:calc(100% - 124px);box-shadow:0 12px 34px var(--shadow-strong);border-radius:10px;display:grid;position:absolute;top:112px;right:12px;overflow:hidden}.structure-region-relation-inspector>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;display:flex}.structure-region-relation-inspector>header>div{align-items:baseline;gap:8px;display:flex}.structure-region-relation-inspector>header strong{font:700 11px/1.35 var(--mono)}.structure-region-relation-inspector>header span,.structure-region-relation-no-source{color:var(--muted);font:8px/1.35 var(--mono)}.structure-region-relation-inspector>header>button{width:26px;height:26px;padding:0}.structure-region-relation-inspector>ul{gap:0;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.structure-region-relation-inspector-orientation{border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent);color:var(--muted);font:700 9px/1.4 var(--mono);overflow-wrap:anywhere;margin:0;padding:7px 10px;overflow:hidden}.structure-region-relation-inspector li{border-bottom:1px solid color-mix(in srgb, var(--line) 74%, transparent);grid-template-columns:minmax(0,1fr);gap:5px;padding:8px 10px;display:grid}.structure-region-relation-inspector li:last-child{border-bottom:0}.structure-region-relation-edge-id{min-width:0;color:var(--muted);font:700 8px/1.35 var(--mono);overflow-wrap:anywhere;white-space:normal;overflow:hidden}.structure-region-relation-edge{min-width:0;color:var(--text);font:600 10px/1.4 var(--sans);text-align:left;overflow-wrap:anywhere;white-space:normal;background:0 0;border:0;padding:5px 7px;overflow:hidden}.structure-region-relation-edge:hover,.structure-region-relation-edge:focus-visible{color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.structure-region-relation-sources{gap:4px;display:grid}.structure-region-relation-source{border-color:color-mix(in srgb, var(--accent) 30%, var(--line));width:100%;min-width:0;min-height:27px;color:var(--accent);background:color-mix(in srgb, var(--accent) 5%, transparent);font:700 8px/1 var(--mono);text-align:left;grid-template-columns:auto minmax(0,1fr);padding:4px 6px;display:grid}.structure-region-relation-source>span:last-child{overflow-wrap:anywhere;white-space:normal;overflow:hidden}.structure-toolbar{z-index:10;border:1px solid var(--line-strong);background:color-mix(in srgb, var(--panel-2) 94%, transparent);width:max-content;max-width:calc(100% - 16px);min-height:34px;box-shadow:0 5px 16px var(--shadow-medium);scrollbar-width:thin;border-radius:8px;align-items:center;gap:6px;padding:3px 4px;display:flex;position:absolute;top:8px;left:8px;overflow-x:auto}.structure-toolbar-group{flex:none;align-items:center;gap:3px;display:flex}.structure-toolbar-group[hidden]{display:none}.structure-view-mode{border-right:1px solid var(--line);padding-right:5px}.structure-toolbar-group>span{color:var(--muted);white-space:nowrap;padding:0 3px;font-size:10px}.structure-toolbar button{white-space:nowrap;min-height:26px;padding:3px 6px}.structure-toolbar button.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.structure-toolbar button:disabled{opacity:.48;cursor:default}.structure-status{z-index:11;border:1px solid var(--warning-line);max-width:min(560px,100% - 20px);color:var(--warning-text);background:var(--warning);box-shadow:0 5px 16px var(--shadow-medium);border-radius:6px;padding:6px 9px;font-size:11px;position:absolute;bottom:10px;left:10px}.structure-canvas{overscroll-behavior:contain;cursor:grab;touch-action:none;width:100%;height:100%;min-height:360px;position:relative;overflow:hidden}.structure-canvas:active{cursor:grabbing}.structure-region-lens{z-index:6;overscroll-behavior:contain;border:1px solid color-mix(in srgb, var(--attention) 72%, var(--line-strong));width:min(600px,100% - 20px);max-height:min(180px,100% - 112px);color:var(--text);background:color-mix(in srgb, var(--panel) 94%, var(--attention) 6%);box-shadow:0 5px 16px var(--shadow-medium);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);scrollbar-width:thin;border-radius:8px;gap:2px;padding:6px 9px 7px;display:grid;position:absolute;top:45px;left:10px;overflow:auto}.structure-region-lens:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.structure-region-lens-kicker{color:var(--attention);font:700 8px/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase;flex:none}.structure-region-lens-heading{align-items:baseline;gap:7px;min-width:0;display:flex}.structure-region-lens-heading>strong{min-width:0;font:700 12px/1.35 var(--mono);overflow-wrap:anywhere;flex:auto}.structure-region-lens>p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.structure-region-lens-count{color:color-mix(in srgb, var(--attention) 82%, var(--text));font:700 8px/1.35 var(--mono);white-space:nowrap;flex:none}.structure-region-lens-context{color:var(--muted);font:8px/1.3 var(--mono);overflow-wrap:anywhere}.structure-world{transform-origin:0 0;position:absolute;top:0;left:0}.structure-world.camera-transition{transition:transform .22s cubic-bezier(.2,.75,.25,1)}.structure-world.layout-transition .structure-node,.structure-world.layout-transition .structure-edge-label{transition:left .22s cubic-bezier(.2,.75,.25,1),top .22s cubic-bezier(.2,.75,.25,1)}.structure-world.layout-transition .structure-edges{opacity:0}.structure-edges{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:visible}.structure-edges marker path{fill:context-stroke}:is(.structure-edge,.structure-edge-arrow-carrier){--structure-edge-theme:color-mix(in srgb, var(--muted) 52%, var(--line));--structure-edge-active:var(--accent);fill:none;stroke:var(--structure-edge-theme);opacity:.46;vector-effect:non-scaling-stroke}.structure-edge{stroke-width:1.4px}.structure-edge-arrow-carrier{pointer-events:none;stroke-width:0!important;stroke-dasharray:none!important}:is(.structure-edge,.structure-edge-arrow-carrier)[data-source-change-kind=added]{--structure-edge-theme:var(--success);--structure-edge-active:var(--success);opacity:.7}:is(.structure-edge,.structure-edge-arrow-carrier)[data-source-change-kind=modified]{--structure-edge-theme:var(--attention);--structure-edge-active:var(--attention);opacity:.7}:is(.structure-edge,.structure-edge-arrow-carrier)[data-source-change-kind=deleted]{--structure-edge-theme:var(--danger);--structure-edge-active:var(--danger);opacity:.7}:is(.structure-edge,.structure-edge-arrow-carrier)[data-source-change-kind=renamed]{--structure-edge-theme:var(--done);--structure-edge-active:var(--done);opacity:.7}:is(.structure-edge,.structure-edge-arrow-carrier)[data-source-change-kind=type-changed]{--structure-edge-theme:var(--info);--structure-edge-active:var(--info);opacity:.7}:is(.structure-edge,.structure-edge-arrow-carrier)[data-source-change-kind=mixed]{--structure-edge-theme:var(--attention);--structure-edge-active:var(--attention);opacity:.7}:is(.structure-edge,.structure-edge-arrow-carrier).primary-backbone{stroke:color-mix(in srgb, var(--done) 78%, var(--structure-edge-theme));opacity:.88}.structure-edge.primary-backbone{stroke-width:2.1px;stroke-dasharray:6 3}:is(.structure-edge,.structure-edge-arrow-carrier).focused{stroke:var(--structure-edge-active);opacity:.88}.structure-edge.focused{stroke-width:2.4px}:is(.structure-edge,.structure-edge-arrow-carrier).selected{stroke:var(--structure-edge-active)}.structure-edge.selected{stroke-width:3.2px}:is(.structure-edge,.structure-edge-arrow-carrier).context-distant{opacity:.2}:is(.structure-edge,.structure-edge-arrow-carrier).muted{opacity:.14}:is(.structure-edge,.structure-edge-arrow-carrier).framed-region-relation:not(.selected){stroke:color-mix(in srgb, var(--attention) 88%, var(--structure-edge-theme));opacity:.96}.structure-edge.framed-region-relation:not(.selected){stroke-width:2.5px}:is(.structure-edge,.structure-edge-arrow-carrier).region-frame-context:not(.selected){opacity:.1}:is(.structure-edge,.structure-edge-arrow-carrier).selected{opacity:1}.structure-edge-label-emphasis{--structure-edge-label-emphasis-color:var(--accent);pointer-events:none}.structure-edge-label-emphasis-halo,.structure-edge-label-emphasis-line{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.structure-edge-label-emphasis-halo{stroke:color-mix(in srgb, var(--panel) 92%, transparent);stroke-width:6px}.structure-edge-label-emphasis-line{stroke:var(--structure-edge-label-emphasis-color);stroke-width:2.6px}.structure-edge-label-emphasis[data-source-change-kind=added]{--structure-edge-label-emphasis-color:var(--success)}.structure-edge-label-emphasis[data-source-change-kind=modified]{--structure-edge-label-emphasis-color:var(--attention)}.structure-edge-label-emphasis[data-source-change-kind=deleted]{--structure-edge-label-emphasis-color:var(--danger)}.structure-edge-label-emphasis[data-source-change-kind=renamed]{--structure-edge-label-emphasis-color:var(--done)}.structure-edge-label-emphasis[data-source-change-kind=type-changed]{--structure-edge-label-emphasis-color:var(--info)}.structure-edge-label-emphasis[data-source-change-kind=mixed]{--structure-edge-label-emphasis-color:var(--attention)}.structure-edge-label-leader{--structure-edge-label-leader-anchor:var(--accent);pointer-events:none}path.structure-edge-label-leader,.structure-edge-label-leader-line,.structure-edge-label-leader-halo{fill:none;vector-effect:non-scaling-stroke}.structure-edge-label-leader-halo{stroke:var(--panel);stroke-width:4px;stroke-linecap:round;opacity:.94}path.structure-edge-label-leader,.structure-edge-label-leader-line{stroke:color-mix(in srgb, var(--muted) 82%, var(--line-strong));stroke-width:1.1px;stroke-linecap:round;stroke-dasharray:1 4;opacity:.68}.structure-edge-label-leader-anchor{fill:var(--structure-edge-label-leader-anchor);stroke:var(--panel);stroke-width:1px;vector-effect:non-scaling-stroke}.structure-edge-label-leader[data-source-change-kind=added]{--structure-edge-label-leader-anchor:var(--success)}.structure-edge-label-leader[data-source-change-kind=modified]{--structure-edge-label-leader-anchor:var(--attention)}.structure-edge-label-leader[data-source-change-kind=deleted]{--structure-edge-label-leader-anchor:var(--danger)}.structure-edge-label-leader[data-source-change-kind=renamed]{--structure-edge-label-leader-anchor:var(--done)}.structure-edge-label-leader[data-source-change-kind=type-changed]{--structure-edge-label-leader-anchor:var(--info)}.structure-edge-label-leader[data-source-change-kind=mixed]{--structure-edge-label-leader-anchor:var(--attention)}path.structure-edge-label-leader.focus-incident,path.structure-edge-label-leader.selected,.structure-edge-label-leader.focus-incident .structure-edge-label-leader-line,.structure-edge-label-leader.selected .structure-edge-label-leader-line{stroke:var(--accent);opacity:.9}.structure-edge-label-leader.context-distant{opacity:.2}.structure-edge-label-leader.muted{opacity:.1}.structure-edge-label-leader.framed-region-relation:not(.selected){--structure-edge-label-leader-anchor:var(--attention);opacity:.95}.structure-edge-label-leader.region-frame-context:not(.selected){opacity:.08}.structure-edge-label-leader.selected{opacity:1}.structure-node{z-index:2;box-sizing:border-box;--structure-node-theme:var(--accent);--structure-node-outline:var(--line-strong);--structure-node-active-outline:var(--structure-node-theme);cursor:grab;-webkit-user-select:none;user-select:none;contain:layout paint style;border-radius:9px;width:228px;height:112px;position:absolute}.structure-node[data-source-change-kind=added]{--structure-node-theme:var(--success);--structure-node-outline:color-mix(in srgb, var(--success) 54%, var(--line-strong))}.structure-node[data-source-change-kind=modified]{--structure-node-theme:var(--attention);--structure-node-outline:color-mix(in srgb, var(--attention) 54%, var(--line-strong))}.structure-node[data-source-change-kind=deleted]{--structure-node-theme:var(--danger);--structure-node-outline:color-mix(in srgb, var(--danger) 54%, var(--line-strong))}.structure-node[data-source-change-kind=renamed]{--structure-node-theme:var(--done);--structure-node-outline:color-mix(in srgb, var(--done) 54%, var(--line-strong))}.structure-node[data-source-change-kind=type-changed]{--structure-node-theme:var(--info);--structure-node-outline:color-mix(in srgb, var(--info) 54%, var(--line-strong))}.structure-node-focus{overscroll-behavior:contain;border:1px solid var(--structure-node-outline);width:100%;height:100%;color:inherit;background:var(--panel);font:inherit;text-align:left;cursor:grab;box-shadow:0 5px 12px var(--shadow-small);touch-action:pan-y;scrollbar-width:thin;border-radius:8px;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;display:flex;overflow:auto}.structure-node-focus:focus-visible{outline:2px solid var(--focus);outline-offset:-3px}.structure-node:hover .structure-node-focus,.structure-node.neighboring .structure-node-focus{border-color:var(--structure-node-active-outline)}.structure-node.focused .structure-node-focus{border:2px solid var(--structure-node-active-outline);background:color-mix(in srgb, var(--structure-node-theme) 9%, var(--panel));box-shadow:0 0 0 3px color-mix(in srgb, var(--structure-node-theme) 14%, transparent)}.structure-node-local-center-marker{z-index:4;box-sizing:border-box;border:2px dashed color-mix(in srgb, var(--done) 78%, var(--accent));pointer-events:none;border-radius:6px;position:absolute;inset:3px}.structure-node-neighborhood{z-index:5;border:1px solid color-mix(in srgb, var(--done) 64%, var(--line));width:25px;height:22px;color:color-mix(in srgb, var(--done) 80%, var(--text));background:color-mix(in srgb, var(--panel) 92%, transparent);font:700 11px/1 var(--mono);cursor:pointer;border-radius:7px;place-items:center;padding:0;display:grid;position:absolute;bottom:6px;right:6px}@media (hover:hover) and (pointer:fine){.structure-node-neighborhood{opacity:0;pointer-events:none;transition:opacity .12s}.structure-node:hover .structure-node-neighborhood,.structure-node:focus-within .structure-node-neighborhood{opacity:1;pointer-events:auto}}.structure-node-neighborhood:hover,.structure-node-neighborhood:focus-visible{border-color:var(--done);outline:2px solid var(--focus);outline-offset:1px}.structure-node.edge-endpoint .structure-node-focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 20%, transparent)}.structure-node.notation-class .structure-node-focus,.structure-node.notation-interface .structure-node-focus{border-radius:2px}.structure-node.notation-class .structure-node-description,.structure-node.notation-interface .structure-node-description{border-top:1px solid var(--structure-node-outline);width:100%;padding-top:3px}.structure-node.notation-interface .structure-node-focus{border-style:dashed}.structure-node.notation-database .structure-node-focus{border-radius:50%/14%;padding:21px 10px 6px}.structure-node.notation-database>.structure-source.compact{top:8px;right:8px}.structure-node.notation-database .structure-node-focus>.structure-source-identity{min-height:14px}.structure-node.notation-database:before{z-index:3;border-bottom:1px solid var(--structure-node-outline);content:"";pointer-events:none;border-radius:50%;height:20px;position:absolute;top:1px;left:1px;right:1px}.structure-node.notation-database.focused:before,.structure-node.notation-database.neighboring:before{border-bottom-color:var(--structure-node-active-outline)}.structure-node.notation-component .structure-node-focus{box-shadow:inset 7px 0 color-mix(in srgb, var(--structure-node-theme) 18%, transparent), 0 5px 12px var(--shadow-small);border-radius:3px;padding-left:22px}.structure-node.notation-component:before,.structure-node.notation-component:after{z-index:3;border:1px solid var(--structure-node-outline);background:var(--panel);content:"";pointer-events:none;width:13px;height:8px;position:absolute;left:2px}.structure-node.notation-component:before{top:36px}.structure-node.notation-component:after{top:52px}.structure-node.notation-external{background:var(--structure-node-outline);clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%);padding:2px}.structure-node.notation-external .structure-node-focus{clip-path:polygon(9% 0,91% 0,100% 50%,91% 100%,9% 100%,0 50%);box-shadow:none;border:0;border-radius:0;padding:6px 18px}.structure-node.notation-external>.structure-source.compact{top:8px;right:18px}.structure-node.notation-external.focused,.structure-node.notation-external.neighboring{background:var(--structure-node-active-outline)}.structure-node.notation-concept,.structure-node.notation-concept .structure-node-focus{border-radius:56px}.structure-node.notation-concept .structure-node-focus{padding:12px 24px 6px}.structure-node.notation-concept>.structure-source.compact{top:12px;right:24px}.structure-node.origin .structure-node-focus{box-shadow:inset 4px 0 color-mix(in srgb, var(--accent) 72%, transparent), 0 5px 12px var(--shadow-small)}.structure-node.origin.focused .structure-node-focus{box-shadow:inset 4px 0 color-mix(in srgb, var(--accent) 84%, transparent), 0 0 0 3px color-mix(in srgb, var(--structure-node-theme) 14%, transparent)}.structure-node.primary-backbone .structure-node-focus{background-image:linear-gradient(90deg, color-mix(in srgb, var(--done) 74%, transparent), color-mix(in srgb, var(--done) 22%, transparent));background-repeat:no-repeat;background-size:100% 3px}.structure-node.framed-region-member .structure-node-focus{border:3px solid var(--attention);background-color:color-mix(in srgb, var(--attention) 13%, var(--panel));box-shadow:inset 5px 0 color-mix(in srgb, var(--attention) 72%, transparent), inset 0 0 0 2px color-mix(in srgb, var(--attention) 12%, transparent)}.structure-node.context-distant{opacity:.5}.structure-node.region-frame-context:not(.focused){opacity:.24}.structure-node.region-frame-context.focused{opacity:.76}.structure-node.context-distant.edge-endpoint{opacity:1}.structure-node-presentation-start{z-index:4;border:2px solid var(--panel);background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 70%, var(--line));pointer-events:none;border-radius:50%;position:absolute;top:7px;right:40px}.structure-node-title{width:100%;min-width:0;display:block}.structure-node-title-text{min-width:0;font-family:var(--mono);overflow-wrap:anywhere;word-break:break-word;font-size:11px;font-weight:700;line-height:1.32;display:block;overflow:visible}.structure-node-description{width:100%;min-width:0;color:var(--muted);text-align:left;white-space:pre-wrap;font-size:9px;line-height:1.42;display:block;overflow:visible}.structure-source{border:1px solid var(--line);max-width:100%;min-height:26px;color:var(--accent);background:var(--panel);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:9px;display:inline-flex;overflow:hidden}.structure-source:hover{border-color:var(--accent)}.structure-source.compact{z-index:3;border-radius:7px;place-items:center;width:28px;height:24px;min-height:0;padding:0;font-size:8px;display:grid;position:absolute;top:6px;right:6px}.structure-edge-label{z-index:1;--structure-edge-label-active-outline:var(--accent);align-items:center;gap:3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.structure-edge-label:has(.structure-edge-sources[open]){z-index:8}.structure-edge-label[data-source-change-kind=added]{--structure-edge-label-active-outline:var(--success)}.structure-edge-label[data-source-change-kind=modified]{--structure-edge-label-active-outline:var(--attention)}.structure-edge-label[data-source-change-kind=deleted]{--structure-edge-label-active-outline:var(--danger)}.structure-edge-label[data-source-change-kind=renamed]{--structure-edge-label-active-outline:var(--done)}.structure-edge-label[data-source-change-kind=type-changed]{--structure-edge-label-active-outline:var(--info)}.structure-edge-label[data-source-change-kind=mixed]{--structure-edge-label-active-outline:var(--attention)}.structure-edge-select{box-sizing:border-box;border:1px solid var(--structure-edge-label-active-outline);color:var(--structure-edge-label-active-outline);background:var(--panel);height:100%;box-shadow:0 2px 5px var(--shadow-small);overflow-wrap:anywhere;text-align:left;white-space:normal;border-radius:999px;flex:none;align-items:center;gap:3px;padding:3px 3px 3px 8px;font-size:10px;line-height:14px;display:flex}.structure-edge-select.selected{background:color-mix(in srgb, var(--accent) 14%, var(--panel));box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.structure-edge-label-text{flex:auto;min-width:0;line-height:14px;display:block}.structure-edge-label.crowded .structure-edge-select{border-style:dashed}.structure-edge-label.framed-region-relation:not(.selected) .structure-edge-select{border-color:var(--attention);color:color-mix(in srgb, var(--attention) 86%, var(--text));background:color-mix(in srgb, var(--attention) 10%, var(--panel));border-width:2px}.structure-edge-label.primary-backbone .structure-edge-select{border-color:color-mix(in srgb, var(--done) 74%, var(--line));color:var(--done);background:color-mix(in srgb, var(--done) 7%, var(--panel));border-width:1.5px}.structure-edge-label.context-distant{opacity:.48}.structure-edge-label.muted{opacity:.28}.structure-edge-label.region-frame-context:not(.selected){opacity:.16}.structure-edge-label.selected{opacity:1}.structure-viewer[data-semantic-zoom=overview] .structure-edge-label:not(.primary-backbone,.focus-incident,.framed-region-relation,.selected) .structure-edge-label-text,.structure-viewer[data-semantic-zoom=overview] .structure-edge-label.primary-backbone.context-distant:not(.focus-incident,.framed-region-relation,.selected) .structure-edge-label-text{visibility:hidden}.structure-viewer[data-semantic-zoom=overview] .structure-edge-label-leader:not(.primary-backbone,.focus-incident,.framed-region-relation,.selected),.structure-viewer[data-semantic-zoom=overview] .structure-edge-label-leader.primary-backbone.context-distant:not(.focus-incident,.framed-region-relation,.selected){opacity:.12}.structure-edge-label .structure-source.compact{background:var(--panel);border-radius:50%;width:26px;height:26px;position:static}.structure-edge-sources{flex:none;position:relative}.structure-edge-sources[open]{z-index:6}.structure-edge-sources>summary{list-style:none;position:relative}.structure-edge-sources>summary::-webkit-details-marker{display:none}.structure-edge-source-count{border:1px solid var(--panel);min-width:13px;height:13px;color:var(--panel);background:var(--accent);font-family:var(--mono);border-radius:999px;place-items:center;padding:0 2px;font-size:7px;line-height:1;display:grid;position:absolute;bottom:-4px;right:-4px}.structure-edge-source-menu{z-index:7;border:1px solid var(--line-strong);background:var(--panel);width:min(300px,42vw);max-height:180px;box-shadow:0 10px 24px var(--shadow-large);border-radius:7px;gap:5px;padding:7px;display:grid;position:absolute;top:calc(100% + 5px);right:0;overflow:auto}.structure-edge-label[data-source-menu-placement=above-left] .structure-edge-source-menu{inset:auto 0 calc(100% + 5px) auto}.structure-edge-label[data-source-menu-placement=below-right] .structure-edge-source-menu{left:0;right:auto}.structure-edge-label[data-source-menu-placement=above-right] .structure-edge-source-menu{inset:auto auto calc(100% + 5px) 0}.structure-edge-source-menu .structure-source{width:100%}.structure-source-identity{flex:none;align-items:center;gap:2px;display:inline-flex}.structure-source-identity>.tree-entry-icon{flex-basis:14px;width:14px;height:14px}.structure-source-name{max-width:116px;color:var(--muted);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:600;line-height:1.2;display:block;overflow:hidden}.structure-node-focus>.structure-source-identity{align-items:flex-end;width:calc(100% - 30px);min-width:0;max-width:none;min-height:24px}.structure-node-focus>.structure-source-identity .structure-source-name{flex:auto;min-width:0;max-width:none}.structure-source-identity>.file-change-icon,.structure-source-identity>.file-change-icon svg{width:12px;height:12px}.structure-source-count,.structure-source-change-aggregate{min-width:17px;height:14px;color:var(--muted);background:var(--bg-subtle);font-family:var(--mono);border-radius:999px;place-items:center;padding:0 3px;font-size:8px;font-weight:700;line-height:1;display:inline-grid}.structure-source-change-aggregate{color:var(--attention)}.structure-canvas-status{z-index:4;border:1px solid color-mix(in srgb, var(--line) 72%, transparent);max-width:min(320px,100% - 220px);color:var(--muted);background:color-mix(in srgb, var(--panel) 88%, transparent);box-shadow:0 2px 7px var(--shadow-small);font-family:var(--mono);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:7px;gap:2px;padding:6px 8px;font-size:9px;line-height:1.35;display:grid;position:absolute;top:50px;left:10px}.structure-canvas-status strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.structure-minimap{z-index:4;border:1px solid color-mix(in srgb, var(--line-strong) 74%, transparent);background:color-mix(in srgb, var(--panel) 88%, transparent);width:164px;height:98px;box-shadow:0 3px 9px var(--shadow-small);pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:7px;position:absolute;bottom:10px;right:10px;overflow:hidden}.structure-minimap circle{fill:color-mix(in srgb, var(--muted) 64%, var(--line))}.structure-minimap-primary-backbone{fill:none;stroke:color-mix(in srgb, var(--done) 76%, var(--line));stroke-width:1.6px;stroke-dasharray:4 2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.structure-minimap circle.primary-backbone{fill:color-mix(in srgb, var(--done) 78%, var(--muted))}.structure-minimap circle.region-member{stroke:var(--attention);stroke-width:1px;vector-effect:non-scaling-stroke}.structure-minimap circle.framed-region-member{fill:color-mix(in srgb, var(--attention) 70%, var(--muted));stroke-width:2px}.structure-minimap circle.focused{fill:var(--accent)}.structure-minimap circle.local-center{stroke:var(--done);stroke-width:2.4px;vector-effect:non-scaling-stroke}.structure-minimap-presentation-start{fill:none;stroke:var(--accent);stroke-width:1.5px;vector-effect:non-scaling-stroke}.structure-minimap-viewport{fill:color-mix(in srgb, var(--accent) 10%, transparent);stroke:color-mix(in srgb, var(--accent) 72%, transparent);stroke-width:1px;vector-effect:non-scaling-stroke}@container (width<=760px){.structure-presentation-guide-section{grid-template-columns:72px minmax(0,1fr);gap:6px;padding-left:8px;padding-right:8px}.structure-presentation-overview-thesis>span{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.structure-canvas{min-height:0}.structure-canvas-status{max-width:calc(100% - 20px)}.structure-region-lens{width:min(340px,100% - 16px);max-height:min(180px,100% - 104px);left:8px}.structure-region-lens-heading{flex-wrap:wrap;align-items:flex-start;row-gap:2px}.structure-region-lens-heading>strong{flex:1 0 100%;order:2}.structure-region-lens-count{margin-left:auto}}@media (prefers-reduced-motion:reduce){.structure-world.camera-transition,.structure-world.layout-transition .structure-node,.structure-world.layout-transition .structure-edge-label{transition:none}.structure-world.layout-transition .structure-edges{opacity:1;animation:none}}
@@ -5,14 +5,14 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <meta name="color-scheme" content="light dark" />
7
7
  <title>rvw</title>
8
- <script type="module" crossorigin src="/assets/index-zyXQjX9Z.js"></script>
8
+ <script type="module" crossorigin src="/assets/index--jtTJT6K.js"></script>
9
9
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
10
10
  <link rel="modulepreload" crossorigin href="/assets/FileIcon-wDKKQgGv.js">
11
11
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-Czpn1I53.js">
12
12
  <link rel="modulepreload" crossorigin href="/assets/MermaidSurface-CKiZv7R8.js">
13
13
  <link rel="modulepreload" crossorigin href="/assets/ccount-DFmD81E1.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/WalkthroughPanel-DvyIFY5z.js">
15
- <link rel="stylesheet" crossorigin href="/assets/index-CbUV8NfH.css">
15
+ <link rel="stylesheet" crossorigin href="/assets/index-D2onU0ZK.css">
16
16
  </head>
17
17
  <body>
18
18
  <div id="root"></div>
@@ -0,0 +1,5 @@
1
+ ALTER TABLE walkthroughs
2
+ ADD COLUMN updated_at TEXT NOT NULL DEFAULT '';
3
+
4
+ UPDATE walkthroughs
5
+ SET updated_at = created_at;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE pull_requests
2
+ ADD COLUMN github_approval_count INTEGER CHECK(github_approval_count >= 0);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a9n-shoji/rvw",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Human-centered repository viewer for understanding and refining GitHub pull request changes",
5
5
  "keywords": [
6
6
  "code-review",
@@ -57,10 +57,10 @@
57
57
  "eslint": "^10.8.1",
58
58
  "fuzzysort": "^3.1.0",
59
59
  "globals": "^17.9.0",
60
- "hono": "^4.13.1",
61
60
  "hast-util-from-html": "^2.0.3",
62
61
  "hast-util-sanitize": "^5.0.2",
63
62
  "hast-util-to-html": "^9.0.5",
63
+ "hono": "^4.13.7",
64
64
  "mdast-util-from-markdown": "^2.0.3",
65
65
  "mermaid": "^11.16.1",
66
66
  "npm": "11.19.0",
@@ -77,7 +77,7 @@
77
77
  "typescript": "^6.0.3",
78
78
  "typescript-eslint": "^8.66.0",
79
79
  "vite": "^8.2.1",
80
- "vitest": "^4.1.10",
80
+ "vitest": "^4.1.11",
81
81
  "zod": "^4.4.3"
82
82
  },
83
83
  "scripts": {
@@ -33,7 +33,8 @@ For every composition task, read
33
33
  ## Preflight
34
34
 
35
35
  1. Run `rvw protocol --json` and parse stdout as JSON. Require `protocolVersion` 5 and
36
- `agent.transport`, and record the available Walkthrough and Structure capabilities. Immediately
36
+ `agent.transport`, and record the available Walkthrough and Structure capabilities, including
37
+ `walkthrough.list` for Walkthrough discovery. Immediately
37
38
  before every producer invocation, including contextual discovery or a current-value read, require
38
39
  only the capabilities that invocation actually uses. The producer Skills perform their complete
39
40
  operation-specific checks. A contextual read may happen before the composition is selected; creation
@@ -53,8 +54,9 @@ First classify the requested composition outcome, then choose only the Artifact
53
54
  A request to assess, recommend, plan, audit, or explain a composition is read-only, meaning that it
54
55
  permits no Artifact mutation: return proposed surfaces and internal briefs without creating, publishing,
55
56
  or updating. When transport is available, the matching producer may still perform its normal read
56
- operation for an explicitly supplied existing URI; for a required PR-wide file map, `rvw-structure` may
57
- also use the existing `structure list` contract and read a plausible candidate. Invoke a producer for
57
+ operation for an explicitly supplied existing URI. When existing Walkthroughs affect composition,
58
+ `rvw-walkthrough` may use `walkthrough list` and read plausible candidates; for a required PR-wide file
59
+ map, `rvw-structure` may use `structure list` and read a plausible candidate. Invoke a producer for
58
60
  Artifact creation or update only when the user explicitly asks to create, publish, produce, or update
59
61
  Artifacts. Supplying an existing URI or discovering a candidate authorizes contextual reading, not an
60
62
  update.
@@ -187,18 +189,24 @@ order. Invoke it first only when its verified answer genuinely constrains the re
187
189
  ## Existing Artifacts
188
190
 
189
191
  When the user or caller supplies an existing Artifact URI and transport is available, have the matching
190
- producer read its current value before deciding whether the same subject should be updated. For a
191
- PR-wide file map, have `rvw-structure` use `structure list` within its existing contract to inspect
192
- candidate summaries and read a plausible current map before publishing another one. Prefer a still-valid
193
- same-subject map at the selected source, then an authorized in-place update, over a duplicate
194
- publication. If transport is unavailable, the preflight diagnostic wins: do not infer an Artifact's
195
- current subject, contents, or identity from its URI or summary. Read-only composition may read through
196
- the permitted producer path but still stops at the update decision. During an authorized update,
197
- preserve surviving identities and never direct the producer to recycle a retired Node, Edge, or Region
198
- ID for a new claim or chunk. Do not publish a duplicate "revision" by default. `structure list` may also
199
- recover an uncertain publication. There is no general Walkthrough discovery contract: when an existing
200
- Walkthrough URI was not supplied, do not claim exhaustive duplicate detection, read SQLite, or add a
201
- discovery protocol. State uncertainty that exceeds the available discovery operations.
192
+ producer read its current value and skip an unnecessary list. When no Walkthrough URI is supplied and
193
+ existing work affects composition, have `rvw-walkthrough` page through `walkthrough list`; follow
194
+ `hasMore` / `nextOffset` whenever an exhaustive no-match decision is needed, then read every plausible
195
+ candidate with `walkthrough get`. A title alone is not evidence of the Artifact's subject, boundary, or
196
+ current contents. Prefer an authorized in-place update for the verified same subject over a duplicate
197
+ publication; use a new Walkthrough for a different bounded subject. Do not publish a duplicate
198
+ "revision" by default.
199
+
200
+ For a PR-wide file map, have `rvw-structure` use `structure list` to inspect candidate summaries and
201
+ read a plausible current map before publishing another one. Prefer a still-valid same-subject map at
202
+ the selected source, then an authorized in-place update, over a duplicate publication. In an authorized
203
+ production run, publish a new one only when no verified candidate fits or the subject is genuinely
204
+ different. List and get are separate reads rather than a
205
+ fixed snapshot, and neither read grants update or delete authority. If transport is unavailable, the
206
+ preflight diagnostic wins and the read cannot occur. Never rewrite an Artifact into a different subject
207
+ or delete one merely because the new composition omits it; normal preview and explicit deletion
208
+ authorization still apply. Use only these CLI discovery operations—never SQLite, internal file paths,
209
+ remembered URIs, or invented identity.
202
210
 
203
211
  ## Finish as a composition
204
212
 
@@ -97,9 +97,11 @@ describes the absence of side effects; it does not prohibit an authorized contex
97
97
 
98
98
  - A request to assess, recommend, plan, audit, or explain a composition is read-only. Return proposed
99
99
  surfaces, unproduced briefs, and direct-code entrypoints without publishing or updating Artifacts. A
100
- matching producer may perform the normal read operation for an explicitly supplied existing URI. For
101
- the required PR-wide file map, `rvw-structure` may also use the existing `structure list` discovery
102
- contract and read a plausible candidate before deciding whether it already satisfies the role.
100
+ matching producer may perform the normal read operation for an explicitly supplied existing URI.
101
+ When existing Walkthroughs affect the decision, `rvw-walkthrough` may page through `walkthrough list`
102
+ and read plausible candidates. For the required PR-wide file map, `rvw-structure` may use the existing
103
+ `structure list` discovery contract and read a plausible candidate before deciding whether it already
104
+ satisfies the role.
103
105
  - A request to create, publish, produce, or update the selected Artifacts authorizes the corresponding
104
106
  producer handoffs, subject to each producer's full preview, identity, and mutation contract.
105
107
  - An explicitly supplied Artifact URI authorizes reading it as composition context, not updating it.
@@ -428,21 +430,20 @@ Artifact's central question; otherwise name an exact direct-code check in the fi
428
430
  ## Existing-Artifact boundary
429
431
 
430
432
  When an existing URI is explicitly supplied and transport is available, read its current value through
431
- the matching producer and prefer an in-place same-subject update over a duplicate publication. For the
432
- required file map, use `structure list` to inspect candidate summaries, then have `rvw-structure` read a
433
- plausible map and independently verify its subject, source coordinate, file responsibilities, relations,
434
- and boundary before treating it as satisfying the current composition. Reuse a valid current map. In an
435
- authorized production run, update a stale same-subject map in place; publish a new map only when no
436
- verified candidate fits or the subject is genuinely different. A URI or summary alone is not evidence
437
- of the Artifact's current subject or contents. If transport is unavailable, the main Skill's preflight
438
- diagnostic wins and the read cannot occur. Never rewrite an Artifact into a different subject. Never
439
- delete an existing Artifact merely because the new composition omits it; normal preview and explicit
440
- deletion authorization still apply.
441
-
442
- Use only existing CLI discovery. `structure list` can enumerate Structure summaries, but there is no
443
- general Walkthrough list command. State the resulting uncertainty instead of reading the database,
444
- inventing identity, or publishing an unconditional "revised" duplicate. Do not claim that no duplicate
445
- exists beyond what the available discovery and current-value reads establish.
433
+ the matching producer and skip an unnecessary list. When no Walkthrough URI is supplied and existing
434
+ work affects the decision, have `rvw-walkthrough` page through `walkthrough list`, following `hasMore`
435
+ and `nextOffset` for exhaustive discovery, and read each plausible candidate with `walkthrough get`.
436
+ Never choose a same-subject update by title alone. For the required file map, use `structure list` to
437
+ inspect candidate summaries, then have `rvw-structure` read a plausible map and independently verify its
438
+ subject, source coordinate, file responsibilities, relations, and boundary before treating it as
439
+ satisfying the current composition. Reuse a valid current Artifact. In an authorized production run,
440
+ update a stale same-subject Artifact in place; publish a new one only when no verified candidate fits or
441
+ the subject is genuinely different. List and get are separate reads rather than a fixed snapshot, and
442
+ neither grants mutation authority. If transport is unavailable, the main Skill's preflight diagnostic
443
+ wins and the read cannot occur. Never rewrite an Artifact into a different subject or delete one merely
444
+ because the new composition omits it; normal preview and explicit deletion authorization still apply.
445
+ Use only public list/get commands, never SQLite, internal file paths, remembered URIs, or invented
446
+ identity.
446
447
 
447
448
  ## Completion response
448
449
 
@@ -57,7 +57,8 @@ Use only the `rvw` CLI protocol. Never access the SQLite database directly or co
57
57
 
58
58
  1. Run `rvw protocol --json` and parse stdout as JSON.
59
59
  2. Require `protocolVersion` 5 and `agent.transport`. Require only the operation capabilities the
60
- task uses: `walkthrough.read` for `get` or another current-value read, and the corresponding
60
+ task uses: `walkthrough.list` for discovery, `walkthrough.read` for `get` or another current-value
61
+ read, and the corresponding
61
62
  `walkthrough.publish`, `walkthrough.update`, or `walkthrough.delete` capability for each requested
62
63
  mutation. An update or delete also needs `walkthrough.read` because the current Artifact must be
63
64
  read first; a new publication does not.
@@ -68,7 +69,28 @@ Use only the `rvw` CLI protocol. Never access the SQLite database directly or co
68
69
  access is required. `RVW_DATABASE_PATH` selects an explicitly managed database; the CLI uses a
69
70
  running viewer only when it reports that same database.
70
71
 
71
- ## Read the current artifact
72
+ ## Discover and read the current artifact
73
+
74
+ When the user asks to inspect or improve an existing Walkthrough but does not supply its URI, discover
75
+ the candidates for the registered Pull Request:
76
+
77
+ ```bash
78
+ rvw walkthrough list <PULL_REQUEST> --json
79
+ ```
80
+
81
+ The list is discovery metadata, not the Artifact body. If the decision requires knowing whether any
82
+ existing Walkthrough fits, continue with `--offset <nextOffset>` while `page.hasMore` is true; never
83
+ conclude that none exists from only the first page. Do not identify a subject or choose an update from
84
+ the title alone. Run `walkthrough get` for every plausible candidate and compare its complete body,
85
+ scope in practice, references, and `sourceOid` with the user's request and committed source. Improve the
86
+ existing URI when it is the same explanation subject and an update is authorized; publish a new
87
+ Walkthrough only for a genuinely different bounded subject or when no verified candidate fits.
88
+
89
+ Skip list when the user already supplied the exact URI and no broader discovery is needed. Never use
90
+ SQLite queries, internal paths, guessed storage, or remembered URIs as the normal discovery route.
91
+ List and get are separate reads: an item can change or disappear between them, so follow the get result
92
+ or its current error rather than treating the list as a fixed snapshot. Neither successful read
93
+ authorizes update or deletion; preserve the user's requested operation and the deletion preview flow.
72
94
 
73
95
  For an existing `rvw://walkthrough/<uuid>` reference, run:
74
96