:root{--hue-primary: 210;--hue-neutral: var(--hue-primary);--hue-tertiary: calc(var(--hue-primary) + 80);--chroma-primary: .13;--chroma-neutral: .012;--chroma-neutral-variant: .025;color-scheme:dark;--tone-primary: 80%;--tone-on-primary: 27%;--tone-primary-container: 37%;--tone-on-primary-container: 92%;--tone-surface-dim: 13%;--tone-surface: 16%;--tone-surface-container: 20%;--tone-surface-container-high: 24%;--tone-surface-container-highest: 28%;--tone-on-surface: 93%;--tone-on-surface-variant: 75%;--tone-outline: 38%;--tone-outline-variant: 28%;--tone-accent: 78%;--tone-muted: 60%;--hover-overlay: 4%;--scrim: oklch(0% 0 0 / .6);--shadow-color: oklch(0% 0 0 / .5);--md-sys-color-primary: oklch(var(--tone-primary) var(--chroma-primary) var(--hue-primary));--md-sys-color-on-primary: oklch(var(--tone-on-primary) calc(var(--chroma-primary) * .6) var(--hue-primary));--md-sys-color-primary-container: oklch(var(--tone-primary-container) calc(var(--chroma-primary) * .7) var(--hue-primary));--md-sys-color-on-primary-container: oklch(var(--tone-on-primary-container) calc(var(--chroma-primary) * .4) var(--hue-primary));--md-sys-color-secondary: oklch(var(--tone-primary) calc(var(--chroma-primary) * .3) var(--hue-primary));--md-sys-color-on-secondary: oklch(var(--tone-on-primary) calc(var(--chroma-primary) * .2) var(--hue-primary));--md-sys-color-surface-dim: oklch(var(--tone-surface-dim) var(--chroma-neutral) var(--hue-neutral));--md-sys-color-surface: oklch(var(--tone-surface) var(--chroma-neutral) var(--hue-neutral));--md-sys-color-surface-container: oklch(var(--tone-surface-container) var(--chroma-neutral) var(--hue-neutral));--md-sys-color-surface-container-high: oklch(var(--tone-surface-container-high) var(--chroma-neutral) var(--hue-neutral));--md-sys-color-surface-container-highest: oklch(var(--tone-surface-container-highest) var(--chroma-neutral) var(--hue-neutral));--md-sys-color-on-surface: oklch(var(--tone-on-surface) var(--chroma-neutral) var(--hue-neutral));--md-sys-color-on-surface-variant: oklch(var(--tone-on-surface-variant) var(--chroma-neutral-variant) var(--hue-neutral));--md-sys-color-outline: oklch(var(--tone-outline) var(--chroma-neutral-variant) var(--hue-neutral));--md-sys-color-outline-variant: oklch(var(--tone-outline-variant) var(--chroma-neutral-variant) var(--hue-neutral));--md-sys-color-hover: color-mix(in oklch, var(--md-sys-color-on-surface) var(--hover-overlay), transparent);--md-sys-color-icechunk: oklch(var(--tone-accent) var(--chroma-primary) calc(var(--hue-primary) - 15));--md-sys-color-dataset: oklch(var(--tone-accent) var(--chroma-primary) var(--hue-tertiary));--md-sys-color-dir: var(--md-sys-color-on-surface-variant);--md-sys-color-file: oklch(var(--tone-muted) var(--chroma-neutral-variant) var(--hue-neutral));--md-sys-color-error: oklch(var(--tone-accent) .15 25);--md-sys-color-success: oklch(var(--tone-accent) .16 150);--md-sys-color-warning: oklch(var(--tone-accent) .15 80);--md-ref-typeface-brand: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--md-ref-typeface-plain: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--type-headline: 650 clamp(18px, .5vw + 15px, 21px) / 1.25 var(--md-ref-typeface-brand);--type-title-lg: 600 15px / 1.35 var(--md-ref-typeface-brand);--type-title: 600 13.5px / 1.4 var(--md-ref-typeface-brand);--type-body: 400 13.5px / 1.5 var(--md-ref-typeface-plain);--type-body-sm: 400 12px / 1.45 var(--md-ref-typeface-plain);--type-label: 550 12.5px / 1.2 var(--md-ref-typeface-plain);--type-label-sm: 600 10.5px / 1.2 var(--md-ref-typeface-plain);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 28px;--radius-full: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--elevation-1: 0 1px 2px color-mix(in oklch, var(--shadow-color) 60%, transparent), 0 1px 3px 1px color-mix(in oklch, var(--shadow-color) 30%, transparent);--elevation-2: 0 1px 2px color-mix(in oklch, var(--shadow-color) 60%, transparent), 0 4px 10px 3px color-mix(in oklch, var(--shadow-color) 30%, transparent);--elevation-3: 0 8px 16px color-mix(in oklch, var(--shadow-color) 45%, transparent), 0 24px 48px 8px color-mix(in oklch, var(--shadow-color) 35%, transparent);--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-decelerate: cubic-bezier(.05, .7, .1, 1);--dur-short: .15s;--dur-medium: .25s;--dur-long: .4s;--state-hover: .08;--state-pressed: .12;--topbar-h: 52px;--drawer-w: 232px;--rail-w: 72px;--page-pad-x: clamp(12px, 2.6vw, 32px);--page-pad-y: clamp(12px, 2vw, 24px);--content-max: 1240px}:root[data-theme=light]{color-scheme:light;--tone-primary: 50%;--tone-on-primary: 100%;--tone-primary-container: 91%;--tone-on-primary-container: 25%;--tone-surface-dim: 95%;--tone-surface: 98%;--tone-surface-container: 100%;--tone-surface-container-high: 95.5%;--tone-surface-container-highest: 92%;--tone-on-surface: 22%;--tone-on-surface-variant: 45%;--tone-outline: 84%;--tone-outline-variant: 91%;--tone-accent: 52%;--tone-muted: 62%;--hover-overlay: 3%;--scrim: oklch(20% .02 var(--hue-neutral) / .35);--shadow-color: oklch(20% .02 var(--hue-neutral) / .16)}*{box-sizing:border-box}html,body{margin:0;padding:0;background-color:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);font:var(--type-body);font-size:14px;font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;height:100%;overflow:hidden}#root{display:flex;flex-direction:column;height:100vh;height:100dvh}h1,h2,h3{margin:0}code{font-family:var(--font-mono);font-size:.92em}::selection{background:color-mix(in oklch,var(--md-sys-color-primary) 30%,transparent)}:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--md-sys-color-outline) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--md-sys-color-outline);border:3px solid transparent;border-radius:var(--radius-full);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}:where(.btn,.icon-btn,.gl-nav-item,.crumb-btn,.seg-btn,.commit-sha.clickable,.brand){position:relative;isolation:isolate;overflow:hidden;-webkit-tap-highlight-color:transparent}:where(.btn,.icon-btn,.gl-nav-item,.crumb-btn,.seg-btn,.commit-sha.clickable,.brand):after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:currentColor;opacity:0;pointer-events:none;z-index:-1;transition:opacity var(--dur-short) var(--ease-standard)}:where(.btn,.icon-btn,.gl-nav-item,.crumb-btn,.seg-btn,.commit-sha.clickable,.brand):hover:not(:disabled):after{opacity:var(--state-hover)}:where(.btn,.icon-btn,.gl-nav-item,.crumb-btn,.seg-btn,.commit-sha.clickable,.brand):active:not(:disabled):after{opacity:var(--state-pressed)}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}}@keyframes fade-in{0%{opacity:0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.icon{width:16px;height:16px;flex-shrink:0}.md-card{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-5);container-type:inline-size;animation:rise-in var(--dur-long) var(--ease-decelerate) both}.md-card-header{min-height:46px;padding:7px var(--space-4);border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);flex-wrap:wrap}.md-card-title{font:var(--type-title);display:flex;align-items:center;gap:var(--space-2);min-width:0;flex:1 1 auto}.md-card-title>span:not(.badge){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.md-card-title .icon{color:var(--md-sys-color-on-surface-variant)}.card-subtle{color:var(--md-sys-color-on-surface-variant);font-weight:450}.card-actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.card-body{padding:var(--space-6)}.mono{font-family:var(--font-mono)}.muted{color:var(--md-sys-color-on-surface-variant)}.hint{font:var(--type-body-sm);color:var(--md-sys-color-on-surface-variant)}.hint-error{font:var(--type-body-sm);color:var(--md-sys-color-error)}.gl-input,.gl-select{height:34px;background:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-sm);padding:0 10px;font:var(--type-body);font-size:13px;outline:none;min-width:0;max-width:100%;transition:border-color var(--dur-short) var(--ease-standard),box-shadow var(--dur-short) var(--ease-standard)}.gl-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:28px;text-overflow:ellipsis;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 15px) 55%,calc(100% - 11px) 55%;background-size:4px 4px;background-repeat:no-repeat}.gl-input.mono{font-family:var(--font-mono);font-size:12.5px}.gl-input.grow{flex:1 1 200px}.gl-input.narrow{width:96px}.gl-textarea{background:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface);border:1px solid var(--md-sys-color-outline);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;font-family:var(--font-mono);line-height:1.55;outline:none;width:100%;resize:vertical;transition:border-color var(--dur-short) var(--ease-standard),box-shadow var(--dur-short) var(--ease-standard)}.gl-input:hover:not(:disabled):not(:focus),.gl-select:hover:not(:disabled):not(:focus),.gl-textarea:hover:not(:disabled):not(:focus){border-color:var(--md-sys-color-on-surface-variant)}.gl-select:focus,.gl-input:focus,.gl-textarea:focus{border-color:var(--md-sys-color-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--md-sys-color-primary) 22%,transparent)}.gl-input:disabled,.gl-textarea:disabled{opacity:.55;cursor:not-allowed}.form-field{display:flex;flex-direction:column;gap:6px;min-width:0}.form-label{font:var(--type-label);font-size:12px;color:var(--md-sys-color-on-surface-variant)}.form-grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--space-3) var(--space-4)}.inline-controller-form{padding:var(--space-4);display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);align-items:end}.inline-controller-form .btn{width:100%}.table-wrap{overflow-x:auto}.gl-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.gl-table th{text-align:left;padding:0 var(--space-3);height:34px;font:var(--type-label-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--md-sys-color-on-surface-variant);background:color-mix(in oklch,var(--md-sys-color-surface-container-high) 60%,transparent);border-bottom:1px solid var(--md-sys-color-outline-variant);white-space:nowrap}.gl-table th:first-child,.gl-table td:first-child{padding-left:var(--space-4)}.gl-table th:last-child,.gl-table td:last-child{padding-right:var(--space-4)}.gl-table td{padding:0 var(--space-3);height:42px;border-bottom:1px solid var(--md-sys-color-outline-variant);font-size:13px;vertical-align:middle}.gl-table tr:last-child td{border-bottom:none}.gl-table tbody tr{transition:background var(--dur-short) var(--ease-standard)}.gl-table tbody tr:hover{background:var(--md-sys-color-hover)}.gl-table tbody tr.selected{background:color-mix(in oklch,var(--md-sys-color-primary) 10%,transparent);box-shadow:inset 3px 0 0 var(--md-sys-color-primary)}.gl-table .col-actions{text-align:right;white-space:nowrap;width:1%}.cell-mono{font-family:var(--font-mono);font-size:12px;color:var(--md-sys-color-on-surface-variant);max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-muted{color:var(--md-sys-color-on-surface-variant);font-size:12.5px;white-space:nowrap}.badge-row{display:inline-flex;gap:6px;flex-wrap:wrap}.row-actions{display:inline-flex;justify-content:flex-end;align-items:center;gap:6px}@media (hover: hover){.gl-table tbody tr .row-actions .btn-outlined:not(:focus-visible){border-color:transparent}.gl-table tbody tr:hover .row-actions .btn-outlined{border-color:var(--md-sys-color-outline)}}@container (max-width: 720px){.col-optional{display:none}}@container (max-width: 480px){.col-optional-sm,.row-actions .btn-label{display:none}}.entry-link{display:inline-flex;align-items:center;gap:10px;color:var(--md-sys-color-on-surface);text-decoration:none;cursor:pointer;font-weight:550;background:none;border:none;padding:0;font-family:inherit;font-size:inherit;text-align:left;min-width:0;transition:color var(--dur-short) var(--ease-standard)}.entry-link>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-link:hover{color:var(--md-sys-color-primary)}.entry-link:hover>span{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.badge{display:inline-flex;align-items:center;gap:4px;height:20px;font-size:10.5px;font-weight:600;padding:0 7px;border-radius:var(--radius-full);letter-spacing:.02em;white-space:nowrap;border:1px solid transparent}.badge .icon{width:12px;height:12px}.badge-icechunk,.badge-dataset,.badge-branch,.badge-tag{background:color-mix(in oklch,var(--badge-color) 14%,transparent);color:var(--badge-color);border-color:color-mix(in oklch,var(--badge-color) 35%,transparent)}.badge-dir,.badge-file{background:color-mix(in oklch,var(--badge-color) 12%,transparent);color:var(--badge-color)}.badge-icechunk{--badge-color: var(--md-sys-color-icechunk)}.badge-dataset{--badge-color: var(--md-sys-color-dataset)}.badge-dir{--badge-color: var(--md-sys-color-dir)}.badge-file{--badge-color: var(--md-sys-color-file)}.badge-branch{--badge-color: var(--md-sys-color-success)}.badge-tag{--badge-color: var(--md-sys-color-warning)}.code-viewer{margin:0;padding:var(--space-3) var(--space-4);background:var(--md-sys-color-surface-dim);color:var(--md-sys-color-on-surface);font-family:var(--font-mono);font-size:12px;line-height:1.6;overflow:auto;max-height:540px;-moz-tab-size:2;tab-size:2}.inspector-meta-bar{padding:var(--space-2) var(--space-5);background:var(--md-sys-color-surface-container-high);border-bottom:1px solid var(--md-sys-color-outline-variant);font-size:12px;font-family:var(--font-mono);display:flex;gap:var(--space-2) var(--space-5);flex-wrap:wrap}.hex-dump-header{padding:var(--space-2) var(--space-5);background:var(--md-sys-color-surface-container-high);border-top:1px solid var(--md-sys-color-outline-variant);border-bottom:1px solid var(--md-sys-color-outline-variant);font:var(--type-label-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--md-sys-color-on-surface-variant)}.progress{position:relative;height:4px;border-radius:var(--radius-full);background:var(--md-sys-color-surface-container-highest);overflow:hidden}.progress-bar{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--md-sys-color-primary);transform-origin:left center;transition:transform var(--dur-medium) var(--ease-standard)}.progress-indeterminate .progress-bar{transform:none;width:40%;animation:progress-slide 1.4s var(--ease-standard) infinite}@keyframes progress-slide{0%{left:-40%}to{left:100%}}.range-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.loading-row{padding:var(--space-6);color:var(--md-sys-color-on-surface-variant)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 14px;border-radius:var(--radius-full);font:var(--type-label);font-size:13px;white-space:nowrap;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:box-shadow var(--dur-short) var(--ease-standard),border-color var(--dur-short) var(--ease-standard),background var(--dur-short) var(--ease-standard)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}.btn-primary:hover:not(:disabled){box-shadow:var(--elevation-1)}.btn-tonal{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container)}.btn-outlined{background:transparent;border-color:var(--md-sys-color-outline);color:var(--md-sys-color-on-surface)}.btn-text{background:transparent;color:var(--md-sys-color-primary);padding:0 var(--space-3)}.btn-danger{background:color-mix(in oklch,var(--md-sys-color-error) 12%,transparent);border-color:color-mix(in oklch,var(--md-sys-color-error) 32%,transparent);color:var(--md-sys-color-error)}.btn-sm{height:26px;padding:0 10px;font-size:12px;gap:5px}.btn-sm .icon{width:14px;height:14px}.btn-sm.btn-text{padding:0 8px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;flex-shrink:0;border-radius:var(--radius-full);border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer}.icon-btn:hover{color:var(--md-sys-color-on-surface)}.icon-btn-sm{width:26px;height:26px}.icon-btn-sm .icon{width:14px;height:14px}.segmented{display:inline-flex;align-items:center;gap:2px;padding:2px;background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-full);max-width:100%;overflow-x:auto;scrollbar-width:none}.segmented::-webkit-scrollbar{display:none}.seg-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:26px;padding:0 10px;border:none;border-radius:var(--radius-full);background:transparent;color:var(--md-sys-color-on-surface-variant);font:var(--type-label);font-size:12px;white-space:nowrap;cursor:pointer;flex-shrink:0;transition:background var(--dur-medium) var(--ease-standard),color var(--dur-medium) var(--ease-standard),box-shadow var(--dur-medium) var(--ease-standard)}.seg-btn:hover{color:var(--md-sys-color-on-surface)}.seg-btn.active{background:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);box-shadow:var(--elevation-1)}.seg-count{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums;opacity:.7}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-6);animation:fade-in var(--dur-medium) var(--ease-standard)}.modal-box{background:var(--md-sys-color-surface-container-high);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:calc(100dvh - 2 * var(--space-6));display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--elevation-3);animation:dialog-in var(--dur-long) var(--ease-decelerate)}.modal-box>form{display:flex;flex-direction:column;min-height:0}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.97)}}.modal-header{padding:var(--space-3) var(--space-3) var(--space-2) var(--space-5);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font:var(--type-title-lg);flex-shrink:0}.modal-body{padding:var(--space-2) var(--space-5) var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);overflow-y:auto;min-height:0}.modal-footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--md-sys-color-outline-variant);display:flex;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-2);flex-shrink:0}.commit-entry-box{border:1px solid var(--md-sys-color-outline-variant);background:var(--md-sys-color-surface-container);border-radius:var(--radius-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.commit-entry-head{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.toast-banner{min-height:40px;padding:4px 4px 4px var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);font-size:13px;font-weight:500;animation:rise-in var(--dur-medium) var(--ease-decelerate)}.toast-banner>span{min-width:0;overflow-wrap:anywhere}.toast-error,.toast-success{background:color-mix(in oklch,var(--toast-color) 14%,transparent);border:1px solid color-mix(in oklch,var(--toast-color) 35%,transparent);color:var(--toast-color)}.toast-error .btn-text,.toast-success .btn-text{color:inherit}.toast-error{--toast-color: var(--md-sys-color-error)}.toast-success{--toast-color: var(--md-sys-color-success)}.empty-state{padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center;color:var(--md-sys-color-on-surface-variant);text-wrap:balance}.empty-state p{margin:0;max-width:52ch}@media (max-width: 599px){.modal-backdrop{align-items:flex-end;padding:0}.modal-box{max-width:none!important;max-height:92dvh;border-radius:var(--radius-xl) var(--radius-xl) 0 0;animation-name:sheet-in}.modal-footer .btn{flex:1 1 auto}.form-grid-2{grid-template-columns:minmax(0,1fr)}.md-card{margin-bottom:var(--space-4)}.md-card-header{padding:var(--space-3) var(--space-4)}.gl-table th:first-child,.gl-table td:first-child{padding-left:var(--space-4)}.gl-table th:last-child,.gl-table td:last-child{padding-right:var(--space-4)}}@keyframes sheet-in{0%{transform:translateY(100%)}}.project-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-6);padding-bottom:var(--space-5);margin-bottom:var(--space-5);border-bottom:1px solid var(--md-sys-color-outline-variant);flex-wrap:wrap;animation:rise-in var(--dur-long) var(--ease-decelerate) both}.project-banner-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1 1 420px}.project-banner-text{min-width:0;display:flex;flex-direction:column;gap:4px}.page-title-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0}.page-title{font:var(--type-headline);letter-spacing:-.015em;overflow-wrap:anywhere}.project-avatar-lg{width:44px;height:44px;border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in oklch,var(--md-sys-color-icechunk) 20%,transparent),color-mix(in oklch,var(--md-sys-color-primary) 25%,transparent));border:1px solid color-mix(in oklch,var(--md-sys-color-icechunk) 40%,transparent);color:var(--md-sys-color-icechunk);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.project-stats-row{display:flex;align-items:center;gap:4px var(--space-4);flex-wrap:wrap;color:var(--md-sys-color-on-surface-variant);font-size:12px}.stat-pill{display:inline-flex;align-items:center;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap;max-width:100%}.stat-pill .icon{width:13px;height:13px;opacity:.8}.stat-pill strong{color:var(--md-sys-color-on-surface);font-weight:600}.stat-pill.mono{font-size:11.5px;overflow:hidden;text-overflow:ellipsis}.banner-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.ref-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap}.ref-bar-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;flex:1 1 320px}.ref-select{width:260px}.ref-path{display:flex;align-items:center;gap:2px;min-width:0;overflow-x:auto;scrollbar-width:none}.ref-bar-right{display:flex;align-items:center;min-width:0}.snapshot-bar,.last-commit-bar{background:var(--md-sys-color-surface-container);border:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;gap:6px var(--space-3);flex-wrap:wrap;padding:6px 8px 6px 14px;min-height:42px}.snapshot-bar{border-radius:var(--radius-md);margin-bottom:var(--space-5)}.snapshot-bar:has(+.last-commit-bar){border-radius:var(--radius-md) var(--radius-md) 0 0;margin-bottom:0}.last-commit-bar{justify-content:space-between;border-radius:0 0 var(--radius-md) var(--radius-md);margin-top:-1px;margin-bottom:var(--space-5);background:color-mix(in oklch,var(--md-sys-color-surface-container) 55%,transparent)}.snapshot-bar-ref{font-size:12px;color:var(--md-sys-color-on-surface-variant)}.snapshot-bar-ref code{color:var(--md-sys-color-on-surface)}.snapshot-bar-action{margin-left:auto}.lc-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 300px}.lc-icon{display:inline-flex;flex-shrink:0;color:var(--md-sys-color-on-surface-variant)}.lc-text{display:flex;align-items:baseline;gap:4px var(--space-3);flex-wrap:wrap;min-width:0}.lc-message{font-weight:550;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.lc-meta{color:var(--md-sys-color-on-surface-variant);font-size:12px;white-space:nowrap}.lc-side{display:flex;align-items:center;gap:6px;min-width:0}.commit-sha{display:inline-block;max-width:100%;vertical-align:middle;font-family:var(--font-mono);font-size:11.5px;line-height:16px;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-primary);padding:3px 7px;border-radius:var(--radius-xs);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.commit-sha.clickable{cursor:pointer}.commit-sha.clickable:hover{border-color:var(--md-sys-color-primary)}.copyable{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0;max-width:100%}.copyable-label{font:var(--type-label-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--md-sys-color-on-surface-variant);white-space:nowrap}.copyable-value{font-family:var(--font-mono);font-size:11.5px;line-height:16px;background:var(--md-sys-color-surface-container-highest);color:var(--md-sys-color-primary);padding:3px 7px;border-radius:var(--radius-xs);border:1px solid var(--md-sys-color-outline-variant);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all;min-width:0}.copyable-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border-radius:var(--radius-xs);border:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;flex-shrink:0;transition:color var(--dur-short) var(--ease-standard),border-color var(--dur-short) var(--ease-standard),transform var(--dur-short) var(--ease-standard)}.copyable-btn .icon{width:13px;height:13px}.copyable-btn:hover:not(:disabled){color:var(--md-sys-color-primary);border-color:var(--md-sys-color-primary)}.copyable-btn:active:not(:disabled){transform:scale(.92)}.copyable-btn:disabled{opacity:.4;cursor:default}.pull-card{padding:10px 10px 10px var(--space-4)}.pull-card-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2) var(--space-3);flex-wrap:wrap}.pull-card-row+.pull-card-row,.pull-card-stats.block,.pull-card-error{margin-top:6px}.pull-card-stats{font-size:12.5px;color:var(--md-sys-color-on-surface-variant);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pull-card-error{color:var(--md-sys-color-error);font-size:12.5px}.pull-card-progress{margin-top:var(--space-3)}.pull-card-errors{margin:var(--space-2) 0 0;padding-left:18px;font-size:12px;color:var(--md-sys-color-error);max-height:120px;overflow:auto}.timeline{display:flex;flex-direction:column;padding:var(--space-2) 0}.timeline-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:6px var(--space-4);padding:10px var(--space-4) 10px 44px;transition:background var(--dur-short) var(--ease-standard)}.timeline-item:hover{background:var(--md-sys-color-hover)}.timeline-item:before{content:"";position:absolute;left:21px;top:0;bottom:0;width:2px;background:var(--md-sys-color-outline-variant)}.timeline-item:first-child:before{top:50%}.timeline-item:last-child:before{bottom:50%}.timeline-item:only-child:before{display:none}.timeline-dot{position:absolute;left:17px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--md-sys-color-surface-container);border:2px solid var(--md-sys-color-primary);transition:transform var(--dur-short) var(--ease-standard)}.timeline-item:first-child .timeline-dot{background:var(--md-sys-color-primary);box-shadow:0 0 0 4px color-mix(in oklch,var(--md-sys-color-primary) 18%,transparent)}.timeline-item:hover .timeline-dot{transform:scale(1.25)}.timeline-body{min-width:0;flex:1 1 260px}.timeline-title{font:var(--type-title);display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;overflow-wrap:anywhere}.timeline-meta{color:var(--md-sys-color-on-surface-variant);font-size:12px;margin-top:2px}.timeline-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}@container (max-width: 640px){.timeline-item{flex-direction:column;align-items:flex-start;padding-right:var(--space-4)}.timeline-dot{top:20px}.timeline-item:first-child:before{top:20px}.timeline-item:last-child:before{bottom:auto;height:20px}}@media (max-width: 599px){.project-banner{padding-bottom:var(--space-4);margin-bottom:var(--space-4)}.project-avatar-lg{width:36px;height:36px;font-size:14px;border-radius:var(--radius-sm)}.banner-actions{width:100%}.banner-actions .btn{flex:1 1 auto}.ref-select,.ref-bar-right,.segmented{width:100%}.seg-btn{flex:1 0 auto}.snapshot-bar-action{margin-left:0;width:100%}}.login-screen{min-height:100vh;display:grid;place-items:center;padding:var(--space-4)}.login-card{width:min(400px,100%);margin:0}.app-topbar{position:relative;z-index:20;height:var(--topbar-h);background:var(--md-sys-color-surface-container);border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-3) 0 0;flex-shrink:0}.brand{display:flex;align-items:center;gap:10px;width:var(--drawer-w);height:100%;padding:0 var(--space-4);flex-shrink:0;font:var(--type-title-lg);letter-spacing:-.01em;color:var(--md-sys-color-on-surface);background:none;border:none;border-radius:0;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left}.brand-badge{background:linear-gradient(135deg,oklch(72% var(--chroma-primary) calc(var(--hue-primary) - 15)),oklch(52% var(--chroma-primary) calc(var(--hue-primary) + 15)));color:oklch(99% .01 var(--hue-primary));width:28px;height:28px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;letter-spacing:.02em;flex-shrink:0}.brand-name{white-space:nowrap}.topbar-breadcrumbs{display:flex;align-items:center;gap:2px;flex:1;min-width:0;height:32px;padding:0 3px;background:var(--md-sys-color-surface);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-sm);overflow-x:auto;white-space:nowrap;scrollbar-width:none}.topbar-breadcrumbs::-webkit-scrollbar{display:none}.crumb-btn{display:inline-flex;align-items:center;height:24px;background:transparent;border:none;color:var(--md-sys-color-on-surface-variant);font:var(--type-label);font-weight:500;padding:0 7px;border-radius:var(--radius-xs);cursor:pointer;flex-shrink:0}.crumb-btn:hover{color:var(--md-sys-color-on-surface)}.crumb-btn.active{color:var(--md-sys-color-primary);font-weight:600}span.crumb-btn{cursor:default}.crumb-sep{color:var(--md-sys-color-outline);font-size:12px;flex-shrink:0}.topbar-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.upstream-chip{display:inline-flex;align-items:center;gap:6px;height:28px;max-width:220px;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--md-sys-color-outline-variant);background:transparent;color:var(--md-sys-color-on-surface-variant);cursor:pointer;transition:color var(--dur-short) var(--ease-standard),border-color var(--dur-short) var(--ease-standard)}.upstream-chip:hover{color:var(--md-sys-color-on-surface);border-color:var(--md-sys-color-outline)}.upstream-url{font-family:var(--font-mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-body{display:flex;flex:1;min-height:0;overflow:hidden}.gl-sidebar{width:var(--drawer-w);background:var(--md-sys-color-surface-container);border-right:1px solid var(--md-sys-color-outline-variant);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;-webkit-user-select:none;user-select:none}.gl-sidebar-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--md-sys-color-outline-variant);display:flex;align-items:center;gap:10px;min-width:0}.repo-avatar{width:30px;height:30px;border-radius:var(--radius-sm);background:color-mix(in oklch,var(--md-sys-color-icechunk) 14%,transparent);border:1px solid color-mix(in oklch,var(--md-sys-color-icechunk) 35%,transparent);color:var(--md-sys-color-icechunk);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.repo-header-meta{min-width:0}.repo-header-title{font:var(--type-title);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.repo-header-sub{font-size:11px;color:var(--md-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gl-nav{padding:var(--space-2);display:flex;flex-direction:column;gap:1px;flex:1}.gl-nav-section{font:var(--type-label-sm);text-transform:uppercase;letter-spacing:.07em;color:var(--md-sys-color-on-surface-variant);padding:var(--space-3) 10px 6px}.gl-nav-item{display:flex;align-items:center;gap:10px;height:34px;padding:0 10px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--md-sys-color-on-surface-variant);font:var(--type-label);font-size:13px;font-weight:500;cursor:pointer;text-align:left;flex-shrink:0;transition:background var(--dur-short) var(--ease-standard),color var(--dur-short) var(--ease-standard)}.gl-nav-item:hover{color:var(--md-sys-color-on-surface)}.gl-nav-item.active{background:color-mix(in oklch,var(--md-sys-color-primary) 14%,transparent);color:var(--md-sys-color-primary);font-weight:600}.gl-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--dur-short) var(--ease-standard)}.gl-nav-icon .icon{color:inherit!important}.gl-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-main{flex:1;min-width:0;overflow-y:auto;padding:var(--page-pad-y) var(--page-pad-x) var(--space-10)}.container-max{max-width:var(--content-max);margin:0 auto}.progress.page-progress{position:sticky;top:calc(-1 * var(--page-pad-y));z-index:5;margin-top:calc(-1 * var(--page-pad-y));margin-bottom:calc(var(--page-pad-y) - 4px);background:transparent}@media (max-width: 1279px){.topbar-actions .btn-label{display:none}.topbar-actions .btn-sm:has(.btn-label){width:28px;padding:0}}@media (max-width: 1099px){.brand{width:var(--rail-w);padding:0;justify-content:center}.brand-name{display:none}.gl-sidebar{width:var(--rail-w)}.gl-sidebar-header{justify-content:center;padding:var(--space-3) 0}.gl-sidebar-header .repo-header-meta,.gl-nav-section{display:none}.gl-nav{padding:var(--space-2) 0;gap:var(--space-2);align-items:center}.gl-nav-section+.gl-nav-item{margin-top:var(--space-2)}.gl-nav-item{flex-direction:column;justify-content:flex-start;gap:3px;width:100%;height:auto;padding:0 2px;border-radius:0;font-size:10.5px;text-align:center;overflow:visible}.gl-nav-item.active{background:none}.gl-nav-item:after{display:none}.gl-nav-icon{width:48px;height:28px;border-radius:var(--radius-full)}.gl-nav-item:hover .gl-nav-icon{background:var(--md-sys-color-hover)}.gl-nav-item.active .gl-nav-icon{background:color-mix(in oklch,var(--md-sys-color-primary) 16%,transparent)}.gl-nav-label{max-width:100%;white-space:normal;line-height:1.2}}@media (max-width: 839px){.topbar-create,.upstream-url{display:none}}@media (max-width: 599px){:root{--rail-w: 56px}.app-topbar{gap:var(--space-2);padding-right:var(--space-2)}.gl-nav-label{display:none}.gl-nav-icon{width:40px;height:32px}}
