:root{font-family:SFMono-Regular,Consolas,Liberation Mono,Meiryo,monospace;font-size:14px;color:#d6dce3;background:#0c0e11;color-scheme:dark;--mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;--line: #363d46;--muted: #a0aab7;--green: #add785;--panel: #12161b}*{box-sizing:border-box}html,body{height:100%;margin:0}#app{height:100dvh;display:flex;flex-direction:column;overflow:hidden}button,input,select{font:inherit}button{color:inherit;background:#222831;border:1px solid #49515c;padding:3px 7px;min-height:28px;cursor:pointer}button:hover{background:#303943}button:disabled{opacity:.45;cursor:not-allowed}button,input,select,a{outline-offset:2px}:focus-visible{outline:2px solid var(--green)}a{color:#b8d5f5}svg{flex-shrink:0}[hidden]{display:none!important}.sidebar{position:fixed;inset:0 auto 0 0;width:150px;padding:8px 5px;border-right:1px solid var(--line);background:#14181e;display:flex;flex-direction:column;gap:8px}.brand{color:#d6dce3;font-size:1rem;font-weight:400;text-decoration:none;padding:4px}nav{display:grid;gap:2px}nav button{display:flex;align-items:center;gap:6px;text-align:left;padding:5px;font-size:1rem;border-color:transparent;background:transparent}nav button svg{width:15px;height:15px}nav button.active{border-color:#526746;color:#c4e3ac;background:#263221}.nav-count{margin-left:auto;font-size:1rem}.workspace{margin-left:150px}.text-button{border:0;background:transparent;color:#b4cbe6;font-size:1rem;padding:2px 4px}main{padding:6px;max-width:none}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}h1{font-size:16px;font-weight:600;margin:0}.repo-strip{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 6px;background:#181d24;border:1px solid var(--line);margin-bottom:5px}.repo-name{display:flex;align-items:center;gap:7px;min-width:0}.repo-name strong{font-size:1rem;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.repo-name svg{width:14px;height:14px}.badge{color:#c1c8d0;padding:2px 4px;font-size:1rem;white-space:nowrap}.repo-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.repo-actions>span{font-size:1rem;color:var(--muted)}.icon-button{display:inline-flex;align-items:center;justify-content:center;padding:2px 4px;min-width:28px;min-height:28px}.icon-button svg{width:16px;height:16px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 5px;border:1px solid var(--line);background:var(--panel)}.metrics>div{min-width:0;overflow-wrap:anywhere;padding:4px 7px;border-right:1px solid #29313a;border-bottom:1px solid #29313a}.metrics dt{font-size:1rem;color:var(--muted)}.metrics dd{font-size:1rem;margin:3px 0 0}.toolbar{display:flex;gap:4px}.numeric{text-align:right;font-variant-numeric:tabular-nums}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:4px}.panel{background:var(--panel);border:1px solid var(--line);min-width:0;overflow:hidden}.panel-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px;padding:4px 7px;border-bottom:1px solid var(--line);background:#232a33;min-height:27px}.panel-heading h2{font-size:1rem;font-weight:600;margin:0}.panel-heading>span{font-size:1rem;color:#b4bfce}.composition-panel{grid-column:1}.storage-panel{grid-column:2}.histogram-panel{grid-column:3}.reach-panel{grid-column:1;grid-row:2}.signals-panel{grid-column:1;grid-row:3}.large-panel{grid-column:2 / 4;grid-row:2 / 4}.swatch{width:6px;height:6px;background:var(--color);flex-shrink:0;display:inline-block}.storage-chart{padding:8px}.storage-row{margin-bottom:9px}.storage-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:3px;font-size:1rem}.storage-row strong{font-weight:400}.bar-track{background:#252d36;height:8px;position:relative}.logical-bar,.physical-bar{position:absolute;inset:0 auto 0 0;background:var(--color);max-width:100%}.logical-bar{opacity:.3}.physical-bar{height:4px;top:2px}.chart-key{display:flex;flex-wrap:wrap;gap:8px;font-size:1rem;color:var(--muted)}.chart-key span{display:flex;align-items:center;gap:4px}.chart-key span:last-child{margin-left:auto}.chart-key i{width:7px;height:7px;background:#52603e}.chart-key i.filled{background:#b3d78a}.histogram{padding:7px 9px;overflow-x:auto}.histogram-label{min-width:420px;display:flex;justify-content:space-between;font-size:1rem;color:var(--muted)}.histogram-plot{min-width:420px;display:flex;align-items:flex-end;height:132px;gap:6px;border-bottom:1px solid #4b5665;background:repeating-linear-gradient(to top,transparent 0,transparent 29px,#29313b 30px)}.bin{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:0;position:relative}.bin>div{width:80%;background:#8eaf68;border:1px solid #b3d292;border-bottom:0;min-height:1px}.bin>span{font-size:1rem;margin-bottom:2px;color:#c3d4b2}.bin small{position:absolute;top:100%;margin-top:4px;font-size:1rem;white-space:nowrap;color:var(--muted)}.chart-caption{margin-top:25px;font-size:1rem;color:var(--muted);text-align:right}.reachability{padding:7px}.stacked-bar{display:flex;gap:2px;height:7px;background:#27303a;margin-bottom:5px}.reach-row{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:0;border-bottom:1px solid #2c343e;padding:3px 0;font-size:1rem;text-align:left}.reach-row>span:nth-child(2){flex:1}.reach-row strong{font-weight:400}.reach-row small{min-width:80px;text-align:right;color:var(--muted);font-size:1rem}.reach-row svg{width:16px;height:16px}.panel-note{font-size:1rem;color:#b1bbc8;margin:5px 0 0;line-height:1.5}.panel>.panel-note{padding:3px 7px;margin:0;border-top:1px solid var(--line)}.signals{margin:0;padding:2px 7px;font-size:1rem}.signals>div{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-bottom:1px solid #29313a}.signals>div:last-child{border:0}.signals dt{color:var(--muted)}.signals dd{margin:0}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap;font-size:1rem}th{font-size:1rem;font-weight:400;color:#b9c3d0;background:#1b222a;padding:4px 7px;border-bottom:1px solid var(--line)}td{padding:3px 7px;border-bottom:1px solid #2b333d;height:32px}th+th,td+td{border-left:1px solid #272f38}tbody tr:nth-child(2n){background:#171c23}tbody tr:hover{background:#222d39}tbody tr:last-child td{border-bottom:0}.object-link{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;padding:1px 0;text-align:left;font:1rem var(--mono);color:#c3d4e7}.object-link:hover{background:transparent;color:#dcf1ff;text-decoration:underline}.object-link small{display:inline;margin-left:8px;font-size:1rem;color:var(--muted)}.mono,.oid{font-family:var(--mono)}.oid{color:#b2cfea}.muted{color:var(--muted)}.storage-badge,.type-tag{font-size:1rem}.storage-badge,.type-tag.blob{color:#c4dcac}.type-tag.tree{color:#a3c8eb}.type-tag.commit{color:#cfb9eb}.type-tag.tag{color:#e3c598}.reach-tag{font-size:1rem}.reach-tag.reachable{color:#c2d4ac}.reach-tag.reflog{color:#cfbaeb}.reach-tag.unreachable{color:#e6c497}.explorer-toolbar{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:5px}.search{display:flex;align-items:center;gap:5px;min-width:200px;flex:1;padding:3px 5px;border:1px solid #49515c;background:#11161c}.search svg{width:16px;height:16px}.search input{width:100%;background:transparent;border:0;outline:none;color:inherit;font-size:1rem}.search:focus-within{outline:2px solid var(--green);outline-offset:1px}.search kbd{color:var(--muted)}select{padding:3px 5px;border:1px solid #49515c;background:#222831;font-size:1rem}.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px;border-top:1px solid var(--line);font-size:1rem}.pagination>div{display:flex;align-items:center;gap:8px}.pagination button{font-size:1rem}.empty{padding:15px;text-align:center;color:var(--muted)}.pack-name{font-size:1rem}.warning{padding:5px 7px;margin-bottom:5px;color:#e7ca9e;border:1px solid #73603e;background:#292318;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}.warning summary{cursor:pointer}#progress{width:min(560px,calc(100vw - 32px));margin:auto;padding:16px}#progress::backdrop{background:#000b}.loading-content{display:flex;align-items:center;gap:12px}#progress-message{overflow-wrap:anywhere}#progress button{margin-left:auto}.spinner{width:10px;height:10px;border:2px solid #51643e;border-top-color:#c5e9a7;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.drop-overlay{position:fixed;inset:0;background:#0a1017ed;border:2px dashed var(--green);z-index:100;display:flex;align-items:center;justify-content:center;pointer-events:none}.drop-overlay>div{text-align:center}.drop-overlay h2{font-size:20px}.drop-overlay span{color:var(--green);font-size:1rem}dialog{width:min(900px,calc(100vw - 16px));max-height:90dvh;padding:0;border:1px solid #647181;background:#13181e;color:inherit}dialog::backdrop{background:#02060bc9}.dialog-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:#27313d;border-bottom:1px solid #526173;position:sticky;top:0;z-index:1}.dialog-heading h2{font-size:1rem;margin:0}.dialog-heading button{padding:0 6px}#detail-body{padding:8px}.inspector-id{display:flex;align-items:center;gap:8px}.inspector-id code{overflow-wrap:anywhere;min-width:0;font-size:1rem}.inspector-stats{display:grid;grid-template-columns:1fr 1fr 1.5fr;border:1px solid var(--line);margin:7px 0}.inspector-stats>div{padding:5px 7px;border-right:1px solid var(--line)}.inspector-stats>div:last-child{border:0}.inspector-stats small{display:block;font-size:1rem;color:var(--muted);margin-bottom:3px}.inspector-stats strong{font-size:1rem;font-weight:400}.inspector-reach{font-size:1rem;color:#c1d5aa;margin:5px 0}h3{font-size:1rem;margin:10px 0 4px}h3 span{color:var(--muted);margin-left:5px}pre{padding:7px;border:1px solid var(--line);background:#0c1015;overflow:auto;max-height:330px;font:1rem/1.5 var(--mono);margin:4px 0}.links-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.links-grid section{min-width:0}.object-links{border:1px solid var(--line);max-height:260px;overflow:auto}.object-links button{display:flex;align-items:center;gap:6px;width:100%;padding:3px 5px;border:0;border-bottom:1px solid var(--line);text-align:left;background:transparent;font-size:1rem}.object-links button:hover{background:#27303a}.object-links button span:nth-child(2){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-links svg{width:16px;height:16px}.help-content p{font-size:1rem;line-height:1.7;margin:5px 0}@media(max-width:1450px){.sidebar{width:150px}.workspace{margin-left:150px}.brand{font-size:1rem}.dashboard-grid{grid-template-columns:1fr 1fr}.composition-panel{grid-column:1;grid-row:1}.storage-panel{grid-column:2;grid-row:1}.histogram-panel{grid-column:1;grid-row:2}.reach-panel{grid-column:2;grid-row:2}.large-panel{grid-column:1 / 3;grid-row:3}.signals-panel{grid-column:1 / 3;grid-row:4}.signals{display:flex;flex-wrap:wrap;gap:5px 16px}.signals>div{flex:1;min-width:140px;border:0}}@media(max-width:820px){.sidebar{position:static;width:100%;flex-direction:row;flex-wrap:wrap;align-items:center;padding:4px 6px;gap:8px;border-right:0;border-bottom:1px solid var(--line)}.workspace{margin-left:0}nav{display:flex;margin-left:auto;gap:2px}nav button{padding:4px}nav .nav-count{display:none}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.repo-actions>span{display:none}}@media(max-width:760px){main{padding:4px}.page-heading{gap:4px}h1{font-size:16px}.repo-name{flex-wrap:wrap;gap:4px}.repo-name strong{max-width:180px;font-size:1rem}.dashboard-grid{display:flex;flex-direction:column}.links-grid{grid-template-columns:1fr}.inspector-id{flex-wrap:wrap}.inspector-stats{grid-template-columns:1fr 1fr}.inspector-stats>div:last-child{grid-column:1 / 3;border-top:1px solid var(--line)}.explorer-toolbar select{flex:1;min-width:95px;font-size:1rem}.pagination{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.sidebar{position:static;width:100%;flex-direction:row;align-items:center;gap:28px;padding:0 12px;min-height:46px;border-right:0;border-bottom:1px solid var(--line);background:#101317}.brand{white-space:nowrap}nav{display:flex;gap:0;margin:0}nav button{min-height:46px;padding:8px 14px;border:0;border-bottom:2px solid transparent}nav button.active{background:#181e23;border-bottom-color:#add785;color:#d6eac5}.nav-count{color:var(--muted)}.workspace{margin-left:0;flex:1;min-height:0;overflow:auto}.sidebar{flex-shrink:0}main{padding:8px}.graph-page .page-heading h1{display:none}.graph-page main{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto minmax(0,1fr);height:100%;min-height:0;gap:0;padding:0}.graph-page .page-heading{grid-column:2;grid-row:1;margin:0;padding:6px 10px;border-bottom:1px solid var(--line)}.graph-page .repo-strip{grid-column:1;grid-row:1;margin:0;padding:6px 12px;border:0;border-bottom:1px solid var(--line);background:transparent}.graph-page #notice{grid-column:1 / -1;grid-row:2}.graph-page #view{grid-column:1 / -1;grid-row:3;min-height:0}.graph-workbench{display:flex;flex-direction:column;height:100%;min-height:0}.graph-commandbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:8px 12px;border-bottom:1px solid var(--line);background:#12161b}.graph-commandbar label{display:flex;align-items:center;gap:8px;color:var(--muted)}.graph-commandbar button,.graph-commandbar select,.graph-commandbar input{min-height:32px}#graph-find{display:flex;gap:0;margin-left:auto;flex:1;max-width:420px}#graph-find input{background:#0a0d10;border:1px solid #49515c;padding:5px 8px;width:100%;min-width:80px;color:inherit}#graph-find button{border-left:0}.graph-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;flex:1;min-height:0}.graph-stage{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:#0b0e12}.graph-canvas{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;cursor:move}.graph-navigation{position:absolute;bottom:12px;left:12px;display:flex;align-items:center;gap:2px;padding:4px;background:#171c23;border:1px solid #414a54}.graph-navigation button{background:transparent;border-color:transparent;min-height:32px}.graph-navigation button:hover{background:#303943}#graph-zoom{min-width:5ch;text-align:center}.graph-legend{display:flex;flex-wrap:wrap;gap:16px;padding:10px 14px}.graph-legend span{display:flex;align-items:center;gap:7px;color:#c4ccd6}.graph-legend span:before{content:"";width:8px;height:8px;background:var(--node-color)}[data-type=ref]{--node-color: #e1c176}[data-type=tag]{--node-color: #cf9fe5}[data-type=commit]{--node-color: #8bbde5}[data-type=tree]{--node-color: #9abe8b}[data-type=blob]{--node-color: #a3abb7}[data-type=missing]{--node-color: #ed988b}.graph-inspector{padding:12px;border-left:1px solid var(--line);overflow:auto;background:#14181d}.graph-inspector-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.graph-inspector-heading h2{margin:0;font-size:14px;font-weight:500}.graph-inspector-heading span{color:#c5dbb3}.graph-inspector code{display:block;overflow-wrap:anywhere;line-height:1.6;margin:12px 0;color:#b8cfe7}.graph-inspector dl{display:grid;grid-template-columns:1fr 1fr;margin:16px 0}.graph-inspector dt,.graph-inspector dd{padding:7px 0;margin:0;border-bottom:1px solid #2a313a;overflow-wrap:anywhere}.graph-inspector dt{color:var(--muted)}.graph-inspector dd{text-align:right}.graph-inspector h3{font-weight:400;color:var(--muted)}.graph-inspector pre{white-space:pre-wrap;overflow-wrap:anywhere;border:0;background:#0c1014;padding:10px;max-height:none}.inspector-collapsed .graph-layout{grid-template-columns:1fr}.graph-status{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:7px 12px;border-top:1px solid var(--line);background:#12161b}.graph-status span{margin-left:auto;color:var(--muted)}@media(max-width:1000px){.graph-layout{grid-template-columns:minmax(0,1fr) 260px}.graph-status span{display:none}.graph-commandbar{gap:8px}.graph-commandbar label{gap:4px}}@media(max-width:700px){.sidebar{flex-wrap:wrap;gap:0;padding:0 8px}.brand{padding:10px 4px}nav{width:100%;overflow:auto}nav button{flex:1;padding:7px;min-height:40px}.graph-page main{height:100%;min-height:0}.graph-page .repo-strip{flex-wrap:wrap}.graph-page .repo-name strong{max-width:150px}.graph-page .repo-actions{display:none}.graph-commandbar{padding:8px}#graph-find{order:2;max-width:none;flex-basis:100%}.graph-layout{grid-template-columns:1fr}.graph-layout{overflow:auto;grid-template-rows:minmax(240px,1fr) auto}.graph-stage{min-height:240px}.graph-inspector{border-left:0;border-top:1px solid var(--line);max-height:360px}.graph-legend{gap:8px 14px}}.graph-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--line);background:#101419}.graph-filters label{display:flex;align-items:center;gap:8px}.graph-filters output{color:var(--muted);margin-left:auto}.graph-canvas.layout-pending canvas{visibility:hidden}.graph-canvas.layout-pending:after{content:attr(data-layout-message);position:absolute;inset:0;display:grid;place-items:center}.graph-overview{position:absolute;right:12px;bottom:12px;width:180px;height:90px;padding:5px;border:1px solid #59636f;background:#11161eee;cursor:crosshair}.graph-overview svg{display:block;width:100%;height:100%;overflow:hidden}.graph-overview path{stroke:#8090a2;stroke-width:1;vector-effect:non-scaling-stroke;fill:none}@media(max-width:700px){.graph-overview{width:110px;height:62px;bottom:58px}}.graph-object-links{display:grid;gap:4px;max-height:300px;overflow:auto}.graph-object-links button{text-align:left;overflow-wrap:anywhere}.graph-object-links small{display:block;font-size:14px;color:var(--muted)}.graph-legend span:before{width:12px;height:12px}.graph-legend [data-type=commit]:before{border-radius:50%}.graph-legend [data-type=blob]:before{border-radius:3px}.graph-legend [data-type=ref]:before{transform:rotate(45deg);width:10px;height:10px}.graph-legend [data-type=tag]:before{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.graph-legend [data-type=missing]:before{clip-path:polygon(50% 0,100% 100%,0 100%)}.graph-legend .history-key:before{background:#8bbde5;border-radius:3px;width:18px}.delta-hint{cursor:help;text-decoration:underline dotted;text-underline-offset:3px}
