.view { height: 100%; display: flex; flex-direction: column; min-height: 0; } .split { flex: 1; min-height: 0; } .flex { flex: 1; } .dim { color: var(--fg-subtle); } .hint { margin-top: 6px; color: var(--fg-subtle); font-size: var(--fs-small); } .error { padding: 10px 12px; color: var(--danger); } .loading { display: flex; align-items: center; gap: 8px; padding: 12px; color: var(--fg-muted); } .ellipsis { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .repo { min-width: 0; margin-left: 8px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--fg-subtle); font-size: var(--fs-small); } .banner { flex: none; display: flex; align-items: center; gap: 6px; min-height: 28px; padding: 2px 6px 2px 10px; font-size: var(--fs-small); color: var(--fg-secondary); border-bottom: 1px solid var(--border); } .bannerText { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--font-mono); } /* List pane */ .listPane { height: 100%; display: flex; flex-direction: column; min-height: 0; } .filters { flex: none; display: flex; flex-direction: column; gap: 6px; padding: 6px 8px; border-bottom: 1px solid var(--border); } .search { width: 100%; } .filterRow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-height: var(--h-control); } .filterRow > :not(.flex) { flex: none; } .list { flex: 1; min-height: 0; } .listRow { display: flex; flex-direction: column; justify-content: center; gap: 2px; min-width: 0; width: 100%; padding: 0 4px; } .listTitle { display: flex; align-items: center; gap: 6px; color: var(--fg-strong); } .listMeta { color: var(--fg-subtle); font-size: var(--fs-small); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* Details pane */ .details { height: 100%; display: flex; flex-direction: column; min-height: 0; } .header { flex: none; display: flex; flex-direction: column; gap: 6px; padding: 10px 12px 8px; } .titleRow { display: flex; align-items: center; gap: 8px; } .title { margin: 0; font-size: var(--fs-input-large); font-weight: 600; color: var(--fg-strong); -webkit-user-select: text; user-select: text; } .metaRow { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; color: var(--fg-secondary); font-size: var(--fs-small); } .conflict { color: var(--danger); } .actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; } .actions > :not(.flex) { flex: none; } .scroll { flex: 1; min-height: 0; overflow: auto; padding: 10px 12px; -webkit-user-select: text; user-select: text; } .section { margin-top: 14px; padding-top: 10px; border-top: 1px solid var(--border); } .sectionTitle { margin: 0 0 6px; font-size: var(--fs-small); font-weight: 600; color: var(--fg-secondary); } .checkRow, .commitRow { display: flex; align-items: center; gap: 8px; min-height: var(--h-row); } .check-success, .review-APPROVED { color: var(--success); } .check-failure, .review-CHANGES_REQUESTED { color: var(--danger); } .check-pending, .review-REQUESTED { color: var(--warning); } .check-skipped, .check-cancelled, .check-neutral, .review-COMMENTED, .review-DISMISSED { color: var(--fg-subtle); } .labels { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 6px; } .label { padding: 0 6px; border: 1px solid var(--border-strong); border-radius: var(--radius-small); font-size: var(--fs-small); color: var(--fg-secondary); } .link { padding: 0; border: none; background: none; color: var(--link); font: inherit; cursor: pointer; } .link:hover { color: var(--link-hover); text-decoration: underline; } .fileRow { display: flex; align-items: center; gap: 6px; width: 100%; min-height: var(--h-row); padding: 0 4px; border: none; border-radius: var(--radius-row); background: none; color: var(--fg); font: inherit; text-align: left; } .fileRow:hover { background: var(--bg-tree-hover); } .fileName { flex: none; } .change-ADDED { color: var(--vcs-added); } .change-DELETED { color: var(--vcs-deleted); } .change-MODIFIED, .change-CHANGED, .change-RENAMED, .change-COPIED { color: var(--vcs-modified); } .added { color: var(--vcs-added); font-family: var(--font-mono); font-size: var(--fs-small); } .deleted { color: var(--vcs-deleted); font-family: var(--font-mono); font-size: var(--fs-small); } .oid { font-family: var(--font-mono); font-size: var(--fs-small); color: var(--fg-subtle); } .comment { margin-bottom: 10px; padding: 8px 10px; border: 1px solid var(--border); border-radius: var(--radius-control); } .commentHead { display: flex; align-items: center; gap: 8px; font-size: var(--fs-small); color: var(--fg-secondary); } .threadItem { margin-top: 8px; } .threadItem + .threadItem { padding-top: 8px; border-top: 1px solid var(--border); } .newComment { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; } .markdown { color: var(--fg); line-height: 1.5; overflow-wrap: anywhere; } .markdown :global(pre) { padding: 6px 8px; overflow: auto; background: var(--bg-editor); border-radius: var(--radius-small); font-family: var(--font-mono); font-size: var(--fs-code); } .markdown :global(code) { font-family: var(--font-mono); } .markdown :global(a) { color: var(--link); } .markdown :global(img) { max-width: 100%; } .markdown :global(h1), .markdown :global(h2), .markdown :global(h3) { font-size: var(--fs-ui); color: var(--fg-strong); } /* Dialogs */ .form { display: flex; flex-direction: column; gap: 8px; padding: 14px; } .formRow { display: flex; align-items: center; gap: 10px; } .fieldLabel { color: var(--fg-secondary); font-size: var(--fs-small); } .textarea { resize: vertical; min-height: 48px; padding: 4px 8px; border: 1px solid var(--border); border-radius: var(--radius-small); background: var(--bg-input); color: var(--fg); font: inherit; } .textarea:focus { outline: none; border-color: var(--focus-ring); }