:root{--bg:#002c1b;--bg-deep:#001a10;--fg:#fff;--fg-dim:#ffffff9e;--fg-faint:#ffffff52;--signal:#4affa0;--signal-soft:#4affa024;--warm:#ffb9a8;--line:#ffffff17;--line-strong:#ffffff2e;--font-mono:"JetBrains Mono", "Berkeley Mono", "IBM Plex Mono", "SF Mono", Menlo, ui-monospace, Consolas, monospace}*{box-sizing:border-box}html,body{height:100%;color:var(--fg);background:var(--bg);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;padding:0;font-size:13px;line-height:1.5}#root{height:100%}a{color:var(--fg);text-decoration:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px}a:hover{color:var(--signal);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}code{font-family:var(--font-mono);background:0 0;border:0;padding:0;font-size:.95em}::selection{color:var(--fg);background:#4affa047}.app{grid-template-rows:29px 1fr 29px;gap:0;min-width:0;max-width:100vw;height:100%;padding:0;display:grid;overflow:hidden}.app__hero{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:29px;padding:0 12px;display:flex}.hero__title{align-items:center;gap:8px;min-width:0;display:flex}.hero__brand{color:var(--fg);font-size:12.5px;font-weight:600;text-decoration:none}.hero__brand:hover{color:var(--signal)}.hero__brand:before{content:"treepo"}.hero__about{font:inherit;font-family:var(--mono,ui-monospace, SFMono-Regular, Menlo, monospace);color:var(--fg-faint);cursor:pointer;letter-spacing:.01em;background:0 0;border:0;padding:0;font-size:11.5px;font-weight:500}.hero__about:hover{color:var(--fg)}.hero__nav{align-items:center;gap:10px;display:inline-flex}.hero__navlink{font:inherit;font-family:var(--font-mono);color:var(--fg-faint);cursor:pointer;letter-spacing:.01em;background:0 0;border:0;padding:0;font-size:11.5px;font-weight:500;text-decoration:none}.hero__navlink:hover{color:var(--fg)}.hero__navlink.is-active{color:var(--signal)}.hero__slash{color:var(--fg-faint)}.hero__tag{color:var(--fg-dim);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.hero__sub{color:var(--fg-dim);white-space:nowrap;align-items:center;gap:14px;font-size:12px;display:flex}.hero__sub .stat{align-items:baseline;gap:5px;display:inline-flex}.hero__sub .stat strong{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.hero__sub .stat-label{color:var(--fg-faint)}.hero__sub .live{color:var(--signal);align-items:center;gap:6px;display:inline-flex}.hero__sub .live .dot{background:var(--signal);border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite pulse;box-shadow:0 0 #4affa099}@keyframes pulse{0%{box-shadow:0 0 #4affa08c}to{box-shadow:0 0 0 8px #4affa000}}.cta{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--signal);border:1px solid var(--signal);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;height:22px;padding:3px 12px;font-size:11px;font-weight:700;transition:transform 80ms,box-shadow 80ms,background .1s,color .1s;display:inline-flex;box-shadow:2px 2px #4affa059}.cta:hover{transform:translate(-1px,-1px);box-shadow:3px 3px #4affa08c}.cta:active{transform:translate(1px,1px);box-shadow:0 0 #4affa059}.cta__plus{letter-spacing:0;font-size:13px;font-weight:700;line-height:1}.cta--ghost{color:var(--signal);border-color:var(--line-strong);box-shadow:none;background:0 0}.cta--ghost:hover{background:var(--signal);color:var(--bg);border-color:var(--signal);box-shadow:none;transform:none}.modal{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;background:#000f09b8;place-items:center;animation:.14s ease-out fade-in;display:grid;position:fixed;inset:0}.modal__panel{background:var(--bg);border:1px solid var(--signal);grid-template-rows:auto 1fr auto;width:min(520px,100vw - 32px);animation:.16s ease-out pop-in;display:grid;box-shadow:4px 4px #4affa040}.modal__head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:28px;padding:0 12px;display:flex}.modal__title{color:var(--fg);letter-spacing:.02em;font-size:12px;font-weight:600}.modal__prompt{color:var(--signal);margin-right:6px}.modal__close{color:var(--fg-dim);cursor:pointer;font-size:18px;line-height:1;font-family:var(--font-mono);background:0 0;border:0;padding:0 4px}.modal__close:hover{color:var(--signal)}.modal__body{color:var(--fg-dim);gap:10px;padding:18px 16px 16px;font-size:13px;line-height:1.55;display:grid}.modal__body p{margin:0}.modal__tag{letter-spacing:.22em;text-transform:uppercase;color:var(--signal);font-size:11px;font-weight:700}.modal__list{color:var(--fg-dim);gap:4px;margin:2px 0 0;padding:0;list-style:none;display:grid}.modal__list li{padding-left:14px;font-size:12.5px;position:relative}.modal__list li:before{content:"›";color:var(--signal);position:absolute;left:0}.modal__list code{color:var(--fg)}.modal__credit{color:var(--fg-faint);margin-top:6px;font-size:11.5px}.modal__foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:10px 12px;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes pop-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.app__main{grid-template-columns:300px minmax(0,1fr);gap:0;min-height:0;display:grid}.pane{background:0 0;flex-direction:column;min-width:0;min-height:0;display:flex}.pane--tree{border-right:1px solid var(--line)}.pane__head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;height:29px;padding:0 12px;display:flex}.pane__title{color:var(--signal);letter-spacing:.14em;text-transform:lowercase;font-size:10.5px}.pane__sub{color:var(--fg-faint);font-variant-numeric:tabular-nums;letter-spacing:.08em;opacity:.7;font-size:10px}.pane__meta{color:var(--fg-faint);font-size:10.5px}file-tree-container{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--trees-bg-override:transparent;--trees-bg-muted-override:#ffffff08;--trees-fg-override:var(--fg);--trees-fg-muted-override:var(--fg-dim);--trees-accent-override:var(--signal);--trees-border-color-override:var(--line);--trees-indent-guide-bg-override:#ffffff0f;--trees-focus-ring-color-override:var(--signal);--trees-focus-ring-width-override:1px;--trees-font-family-override:var(--font-mono);--trees-font-size-override:12.5px;--trees-font-weight-regular-override:400;--trees-font-weight-semibold-override:600;--trees-border-radius-override:0;--trees-padding-inline-override:0;--trees-item-padding-x-override:10px;--trees-item-margin-x-override:0;--trees-row-height-override:24px;--trees-icon-width-override:14px;--trees-search-bg-override:var(--bg-deep);--trees-search-fg-override:var(--fg);--trees-search-font-weight-override:400;--trees-input-bg-override:var(--bg-deep);--trees-selected-fg-override:var(--fg);--trees-selected-focused-border-color-override:var(--signal);background:0 0;flex:1;min-height:0;display:block}.feed-panel{flex-direction:column;height:100%;min-height:0;display:flex}.feed-panel__head{border-bottom:1px solid var(--line);background:var(--bg-deep);flex-shrink:0;justify-content:space-between;align-items:center;height:29px;padding:0 12px;display:flex}.feed-panel__title{letter-spacing:.16em;text-transform:uppercase;color:var(--signal);align-items:center;gap:8px;font-size:10.5px;font-weight:600;display:inline-flex}.feed-panel__dot{background:var(--signal);border-radius:50%;width:7px;height:7px;animation:1.8s ease-out infinite pulse;box-shadow:0 0 #4affa099}.feed-panel__meta{color:var(--fg-faint);font-size:11px}.feed-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;position:relative;overflow-y:auto}.feed-list__sizer{pointer-events:none;width:1px}.feed-row{border-bottom:1px solid var(--line-dim,#ffffff0a);height:29px;color:var(--fg-dim);box-sizing:border-box;grid-template-columns:12px 44px 14px minmax(140px,180px) 14px 64px 14px minmax(180px,1.3fr) 14px 68px 14px minmax(120px,1.3fr) 14px 44px 12px;align-items:center;font-size:12px;transition:background .12s,color .12s,box-shadow .12s;display:grid}.feed-row--virtual{position:absolute;top:0;left:0;right:0}.feed-row>.feed-row__badge{grid-column:2}.feed-row>.feed-row__forest{grid-column:4}.feed-row>.feed-row__hash{grid-column:6}.feed-row>.feed-row__msg{grid-column:8}.feed-row>.feed-row__stats{grid-column:10}.feed-row>.feed-row__path,.feed-row>.feed-row__extra{grid-column:12}.feed-row>.feed-row__time{grid-column:14}.feed-row.is-clickable{cursor:pointer}.feed-row.is-clickable:hover{color:var(--fg);box-shadow:inset 2px 0 0 0 var(--signal);background:#4affa00a}.feed-row.is-clickable:focus-visible{box-shadow:inset 2px 0 0 0 var(--signal);background:#4affa00d;outline:0}.feed-row.is-live{animation:.32s ease-out both feed-in}.feed-row--commit.is-live{background:#4affa00a}.feed-row--run_started .feed-row__badge,.feed-row--run_ended .feed-row__badge{color:var(--fg-dim);border:1px solid var(--line-strong);letter-spacing:.04em;text-transform:none;background:0 0}.feed-row--run_ended.is-live{background:#4affa006}.feed-row__badge{letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--signal);white-space:nowrap;justify-self:start;padding:1px 6px;font-size:10px;font-weight:700;line-height:1.4}.feed-row--seed_commit .feed-row__badge{color:var(--fg-faint);border:1px solid var(--line-strong);background:0 0;font-weight:400}.feed-row--log .feed-row__badge{color:var(--fg-faint);background:0 0;border:0;padding:0;font-size:11px}.feed-row__forest{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.feed-row__hash{color:var(--signal);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11.5px;overflow:hidden}.feed-row__hash--none{color:var(--fg-faint)}.feed-row__stats{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;grid-template-columns:1fr 1fr;column-gap:6px;font-size:11.5px;display:grid}.feed-row__stats .add{color:var(--signal)}.feed-row__stats .del{color:var(--warm)}.feed-row__stats--none{color:var(--fg-faint)}.feed-row__msg{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.feed-row__path{color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;text-align:left;direction:rtl;min-width:0;font-size:11px;overflow:hidden}.feed-row__extra{color:var(--fg-dim);font-size:11px}.feed-row__time{color:var(--fg-faint);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.feed-empty{color:var(--fg-faint);text-align:center;grid-column:1/-1;padding:20px 16px;font-size:12px}@keyframes feed-in{0%{opacity:0;background:#4affa024;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=960px){.feed-list{padding:0}.feed-row{border-bottom:1px solid var(--line-dim,#ffffff0a);grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"msg msg msg stats""forest hash path time";gap:3px 10px;height:auto;min-height:0;padding:10px 12px;font-size:12px;display:grid}.feed-row>.feed-row__badge{display:none}.feed-row>.feed-row__msg{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;grid-area:msg/1/msg/4;min-width:0;font-size:13px;font-weight:500;overflow:hidden}.feed-row>.feed-row__stats{text-align:right;grid-area:stats/4;align-self:center;font-size:11px}.feed-row>.feed-row__stats--none{display:none}.feed-row>.feed-row__forest{color:var(--fg-dim);text-overflow:ellipsis;white-space:nowrap;grid-area:forest/auto;max-width:40vw;font-size:10.5px;font-weight:500;overflow:hidden}.feed-row>.feed-row__hash{color:var(--signal);grid-area:hash/auto;font-size:10.5px}.feed-row>.feed-row__hash--none{display:none}.feed-row>.feed-row__path,.feed-row>.feed-row__extra{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;grid-area:path/auto;min-width:0;font-size:10.5px;overflow:hidden}.feed-row>.feed-row__time{color:var(--fg-faint);grid-area:time/auto;font-size:10.5px}.feed-row.is-clickable:hover{box-shadow:none;background:0 0}.feed-row.is-clickable:active{background:#4affa00f}.feed-panel__head{padding:10px 12px}.feed-panel__meta{font-size:10.5px}}.history{grid-template-rows:1fr auto;min-width:0;height:100%;min-height:0;display:grid}.diff{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.diff__body{min-width:0;min-height:0;font-family:var(--font-mono);flex:1;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:0;font-size:12px;line-height:1.55;display:grid}.diff__body:has(.diff__current--solo){grid-template-columns:minmax(0,1fr)}.diff__patch,.diff__current{flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.diff__scroll{contain:inline-size;flex:1;min-width:0;min-height:0;display:block;overflow:auto}.diff__scroll>pierre-diffs-patch-diff,.diff__scroll>pierre-diffs-file,.diff__scroll>*{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.diff__patch{border-right:1px solid var(--line)}.diff__current{background:var(--bg-deep)}.pane-label{letter-spacing:.18em;text-transform:uppercase;color:var(--signal);border-bottom:1px solid var(--line);z-index:2;background:var(--bg);flex-shrink:0;align-items:center;gap:8px;height:29px;min-height:29px;padding:0 12px;font-size:10px;font-weight:600;display:flex;position:sticky;top:0}.diff__current .pane-label{background:var(--bg-deep)}.pane-label__target{color:var(--fg-faint);text-transform:none;letter-spacing:0;z-index:1;border-bottom:1px solid var(--line);background:inherit;white-space:nowrap;flex-shrink:0;align-items:center;height:29px;min-height:29px;padding:0 12px;font-size:11px;font-weight:400;display:flex;position:sticky;top:29px;overflow:hidden}.diff__patch .pane-label__target{background:var(--bg)}.diff__current .pane-label__target{background:var(--bg-deep)}.pane-label__target code{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:100%;font-size:11px;display:block;overflow:hidden}diffs-container{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--diffs-font-family:var(--font-mono);--diffs-font-size:12px;--diffs-line-height:19px;--diffs-bg-buffer-override:transparent;--diffs-bg-context-override:transparent;--diffs-bg-context-number-override:#ffffff05;--diffs-bg-hover-override:#ffffff09;--diffs-bg-separator-override:#ffffff0f;--diffs-fg-number-override:var(--fg-faint);--diffs-fg-number-addition-override:var(--signal);--diffs-fg-number-deletion-override:var(--warm);--diffs-modified-color-override:var(--signal);--diffs-addition-color-override:#fff;--diffs-bg-addition-override:#4affa01c;--diffs-bg-addition-number-override:#4affa038;--diffs-bg-addition-hover-override:#4affa02e;--diffs-bg-addition-emphasis-override:#4affa057;--diffs-deletion-color-override:#ffe6dd;--diffs-bg-deletion-override:#ffb9a814;--diffs-bg-deletion-number-override:#ffb9a82e;--diffs-bg-deletion-hover-override:#ffb9a824;--diffs-bg-deletion-emphasis-override:#ffb9a847;display:block;--diffs-light:var(--fg)!important;--diffs-dark:var(--fg)!important;--diffs-light-bg:transparent!important;--diffs-dark-bg:transparent!important}.timeline{border-top:1px solid var(--line);background:var(--bg-deep);grid-template-rows:20px 16px;gap:3px;min-width:0;padding:6px 12px 7px;display:grid;overflow:hidden}.timeline__head{color:var(--fg-dim);align-items:center;gap:12px;min-width:0;min-height:20px;font-size:11.5px;display:flex;overflow:hidden}.timeline__controls{flex:none;align-items:center;gap:6px;margin-left:auto;display:inline-flex}.timeline__play{font-family:var(--font-mono);color:var(--signal);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:0 0;flex:none;justify-content:center;align-items:center;width:22px;height:18px;padding:0;font-size:11px;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.timeline__play:hover:not(:disabled),.timeline__play.is-playing{background:var(--signal);color:var(--bg);border-color:var(--signal)}.timeline__play:disabled{opacity:.35;cursor:default}.timeline__loop{font-family:var(--font-mono);color:var(--fg-faint);border:1px solid var(--line-strong);cursor:pointer;white-space:nowrap;background:0 0;flex:none;justify-content:center;align-items:center;width:22px;height:18px;padding:0;font-size:12px;transition:background .1s,color .1s,border-color .1s;display:inline-flex}.timeline__loop:hover{color:var(--fg);border-color:var(--fg-dim)}.timeline__loop.is-active{background:var(--signal);color:var(--bg);border-color:var(--signal);box-shadow:none}.timeline__loop.is-active:hover{color:var(--bg);border-color:var(--signal)}.timeline__speed{appearance:none;font-family:var(--font-mono);color:var(--signal);border:1px solid var(--line-strong);cursor:pointer;letter-spacing:.04em;background:0 0;background-image:linear-gradient(45deg, transparent 50%, var(--signal) 50%), linear-gradient(135deg, var(--signal) 50%, transparent 50%);background-position:calc(100% - 8px),calc(100% - 4px);background-repeat:no-repeat;background-size:4px 4px;flex:none;height:18px;padding:0 14px 0 6px;font-size:10px;font-weight:600;line-height:16px;transition:border-color .1s,background-color .1s}.timeline__speed:hover,.timeline__speed:focus-visible{border-color:var(--signal);outline:0}.timeline__speed option{background:var(--bg-deep);color:var(--fg)}.timeline__meta{white-space:nowrap;flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.timeline__meta code{color:var(--signal);flex:none}.timeline__meta .msg{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.timeline__meta .sep{color:var(--fg-faint);flex:none}.timeline__stats{flex:none;gap:6px;margin-left:auto;padding-left:8px;display:inline-flex}.timeline__stats .add{color:var(--signal)}.timeline__stats .del{color:var(--warm)}.timeline__scrub{min-width:0;height:16px;display:block}.timeline__idx{font-family:var(--font-mono);color:var(--fg-faint);font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap;text-align:right;min-width:52px;font-size:10.5px}.timeline__idx-sep{color:var(--fg-faint);margin:0 2px}.timeline__stage{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--signal);white-space:nowrap;min-width:72px;font-size:10px}.scrubber{appearance:none;cursor:pointer;background:0 0;width:100%;height:16px;margin:0;padding:0;display:block}.scrubber:disabled{cursor:default;opacity:.4}.scrubber:focus-visible{outline:0}.scrubber::-webkit-slider-runnable-track{background:linear-gradient(to right, var(--signal) 0%, var(--signal) var(--scrub-pct,0%), #ffffff24 var(--scrub-pct,0%), #ffffff24 100%);border:0;height:2px}.scrubber::-webkit-slider-thumb{appearance:none;background:var(--fg);cursor:grab;border:0;width:3px;height:12px;margin-top:-5px;transition:box-shadow .12s,transform .12s;box-shadow:0 0 0 2px #4affa047}.scrubber:hover::-webkit-slider-thumb{box-shadow:0 0 0 3px #4affa066}.scrubber:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px #4affa066}.scrubber:active::-webkit-slider-thumb{cursor:grabbing}.scrubber::-moz-range-track{background:#ffffff24;border:0;height:2px}.scrubber::-moz-range-progress{background:var(--signal);height:2px}.scrubber::-moz-range-thumb{background:var(--fg);cursor:grab;border:0;border-radius:0;width:3px;height:12px;box-shadow:0 0 0 2px #4affa047}.scrubber:hover::-moz-range-thumb{box-shadow:0 0 0 3px #4affa066}.scrubber:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px #4affa066}.app__foot{color:var(--fg-faint);border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:29px;padding:0 12px;font-size:11px;display:flex}.app__foot .foot__left{color:var(--fg-dim);align-items:center;gap:8px;display:inline-flex}.app__foot .foot__sep{color:var(--fg-faint)}.app__foot a{color:var(--fg);-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong)}.app__foot a:hover{color:var(--signal);-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal)}.app--loading,.app--error{justify-content:center;align-items:center;height:100%;display:flex}.loading{color:var(--fg-dim);letter-spacing:.04em;font-size:12px}.error{border:1px solid var(--warm);background:var(--bg-deep);max-width:420px;color:var(--warm);padding:16px}.error h2{margin:0 0 8px;font-size:14px;font-weight:600}.error p{color:var(--fg-dim);margin:0 0 6px}.empty-tree{color:var(--fg-faint);text-align:center;padding:16px;font-size:12px;line-height:1.6}.forest-list{flex-direction:column;height:100%;min-height:0;display:flex}.forest-list__head{border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;height:28px;padding:0 12px;display:flex}.forest-list__title{letter-spacing:.04em;color:var(--fg);align-items:center;gap:6px;font-size:11px;display:inline-flex}.forest-list__dot{background:var(--signal);border-radius:999px;width:7px;height:7px;box-shadow:0 0 6px #4affa0b3}.forest-list__meta{color:var(--fg-faint);font-size:10.5px}.forest-rows{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.forest-row{border-bottom:1px solid var(--line);cursor:pointer;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) minmax(200px,1fr);align-items:baseline;gap:12px;height:28px;padding:0 12px;transition:background .12s;display:grid}.forest-row:hover{background:var(--signal-soft)}.forest-row:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.forest-row__name{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.forest-row__slug{color:var(--fg-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.forest-row__slug code{color:var(--fg-dim)}.forest-row__stats{color:var(--fg-dim);justify-content:flex-end;align-items:baseline;gap:8px;font-size:11px;display:inline-flex}.forest-row__stats .sep{color:var(--fg-faint)}.forest-row__stats strong{color:var(--fg);font-weight:600}.forest-row.is-empty .forest-row__pending{color:var(--fg-faint);font-style:italic}.diff__current--solo{border-right:0;grid-column:1/-1}.history--empty{flex-direction:column;display:flex}.empty-forest{color:var(--fg-dim);max-width:560px;padding:24px 16px;font-size:12.5px;line-height:1.7}.empty-forest h2{color:var(--fg);margin:0 0 12px;font-size:15px;font-weight:600}.empty-forest p{margin:0 0 8px}.commit-list{flex:1;min-height:0;max-height:180px;margin:0;padding:0;list-style:none;overflow-y:auto}.commit-row{border-bottom:1px solid var(--line);grid-template-columns:56px minmax(200px,1fr) minmax(140px,200px) 92px;align-items:baseline;gap:12px;height:24px;padding:0 12px;font-size:11.5px;display:grid}.commit-row__oid{color:var(--signal);font-size:11px}.commit-row__msg{color:var(--fg);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.commit-row__author{color:var(--fg-dim);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.commit-row__date{color:var(--fg-faint);text-align:right;font-size:11px}.timeline__label{color:var(--fg);letter-spacing:.04em;font-size:11px}.timeline__meta{color:var(--fg-dim);align-items:baseline;gap:8px;font-size:11px;display:inline-flex}.timeline__meta strong{color:var(--fg);font-weight:600}.timeline__meta .sep{color:var(--fg-faint)}.modal__actions{gap:8px;margin-top:12px;display:flex}.app--mobile{grid-template-rows:36px 1fr}.app__hero--mobile{gap:10px;height:36px;padding:0 10px}.app__hero--mobile .hero__stats{color:var(--fg-dim);white-space:nowrap;align-items:center;gap:12px;margin-left:auto;margin-right:6px;font-size:11px;display:flex}.app__hero--mobile .hero__stats .stat{align-items:baseline;gap:4px;display:inline-flex}.app__hero--mobile .hero__stats .stat strong{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}.app__hero--mobile .hero__stats .stat-label{color:var(--fg-faint)}.cta--sm{height:26px;padding:2px 10px;font-size:10.5px}.app__main--mobile{flex-direction:column;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}.app__main--mobile.has-scrubber{padding-bottom:96px}.app__main--mobile .feed-panel,.app__main--mobile .history--empty{height:100%;overflow:auto}.mobile-view{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex}.mobile-view__head{border-bottom:1px solid var(--line);grid-template-columns:32px 1fr auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.mobile-view__back{appearance:none;color:var(--fg);border:1px solid var(--line-strong);cursor:pointer;width:28px;height:28px;font-size:14px;font-family:var(--font-mono);background:0 0;border-radius:0;place-items:center;padding:0;display:grid}.mobile-view__back:hover{border-color:var(--signal);color:var(--signal)}.mobile-view__path{min-width:0;color:var(--fg-dim);white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:6px;font-size:11px;display:flex;overflow:hidden}.mobile-view__forest{color:var(--signal);flex:none;font-weight:600}.mobile-view__sep{color:var(--fg-faint)}.mobile-view__path code{color:var(--fg);text-overflow:ellipsis;min-width:0;overflow:hidden}.mobile-toggle{border:1px solid var(--line-strong);background:var(--bg-deep);flex:none;display:inline-flex}.mobile-toggle__btn{appearance:none;color:var(--fg-dim);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;height:28px;padding:4px 10px;font-size:10.5px;line-height:1}.mobile-toggle__btn.is-active{background:var(--signal);color:var(--bg);font-weight:700}.mobile-toggle__btn:disabled{color:var(--fg-faint);cursor:not-allowed}.mobile-toggle__btn+.mobile-toggle__btn{border-left:1px solid var(--line-strong)}.mobile-view__body{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.mobile-view__body>.diff__scroll{contain:inline-size;flex:1;min-width:0;min-height:0;display:block;overflow:auto}.mobile-view__body>.diff__scroll>pierre-diffs-patch-diff,.mobile-view__body>.diff__scroll>pierre-diffs-file,.mobile-view__body>.diff__scroll>*{box-sizing:border-box;width:100%;min-width:0;max-width:100%;display:block}.split{background:var(--bg);flex:1;width:100%;min-height:0}.split__panel{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.split__separator{background:var(--line);cursor:ns-resize;touch-action:none;background:var(--bg-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex:none;justify-content:center;align-items:center;height:20px;display:flex;position:relative}.split__separator:before{content:"";background:var(--line-strong);border-radius:2px;width:48px;height:3px;transition:background .12s}.split__separator[data-drag-state=hover]:before,.split__separator[data-drag-state=dragging]:before{background:var(--signal)}.mobile-tree{flex-direction:column;height:100%;min-height:0;display:flex}.mobile-tree__head{border-bottom:1px solid var(--line);flex:none;align-items:baseline;gap:8px;padding:8px 12px 6px;font-size:11px;display:flex}.mobile-tree__title{color:var(--fg);letter-spacing:.04em;font-weight:600}.mobile-tree__sub{color:var(--fg-faint);font-size:10.5px}.mobile-tree__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.scrubber-dock{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:50;background:color-mix(in oklab, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px)saturate(140%);border:1px solid var(--line-strong);pointer-events:auto;position:fixed;box-shadow:0 8px 24px #0006,0 2px 6px #0003}.scrubber-dock .timeline{padding:8px 10px 10px}.timeline--compact{flex-direction:column;gap:6px;padding:6px 10px 8px;display:flex}.timeline--compact .timeline__head{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;font-size:11px;display:flex;overflow:hidden}.timeline--compact .timeline__controls{gap:8px}.timeline--compact .timeline__play,.timeline--compact .timeline__loop{width:32px;height:28px;padding:0;font-size:13px}.timeline--compact .timeline__speed{height:28px;padding:0 16px 0 8px;font-size:11px;line-height:26px}.timeline--compact .timeline__meta{text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:6px;min-width:0;font-size:10.5px;display:flex;overflow:hidden}.timeline--compact .timeline__meta .msg{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.timeline--compact .timeline__scrub{align-items:center;gap:8px;display:flex}.timeline--compact .timeline__idx{min-width:38px;font-size:10.5px}@media (width<=960px){html,body{font-size:13px}}.app__main--map{background:radial-gradient(1200px 600px at 50% 42%, #4affa00a, transparent 60%), var(--bg);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.map-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.map-pane__head{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;height:29px;padding:0 12px;display:flex}.map-pane__legend{color:var(--fg-faint);white-space:nowrap;align-items:center;gap:8px;font-size:11px;display:inline-flex}.map-pane__legend-item{color:var(--fg-dim);align-items:center;gap:5px;display:inline-flex}.map-pane__legend-sep{color:var(--fg-faint)}.map-pane__legend-muted{color:var(--fg-faint);opacity:.7}.map-pane__loading,.map-pane__error{color:var(--fg-dim);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:24px;font-size:12px;display:flex}.map-pane__error code{color:var(--warm);text-align:center;opacity:.8;max-width:480px;font-size:11px}.map-svg{flex:1;width:100%;min-width:0;height:100%;min-height:0;display:block}.map-svg__outline{fill:none;stroke:var(--fg);stroke-width:.75px;stroke-linejoin:round;opacity:.85;vector-effect:non-scaling-stroke}.map-svg__graticule{fill:none;stroke:var(--fg);stroke-width:.5px;stroke-linejoin:round;stroke-linecap:round;opacity:.08;vector-effect:non-scaling-stroke}.map-svg__land{fill:none;stroke:var(--fg);stroke-width:.5px;stroke-linejoin:round;stroke-linecap:round;opacity:.55;vector-effect:non-scaling-stroke}.map-crosshair__parallel,.map-crosshair__meridian{fill:none;stroke:var(--signal);stroke-width:.6px;opacity:.55;vector-effect:non-scaling-stroke;stroke-dasharray:2 3}.map-crosshair__dot{fill:var(--signal);stroke:none;opacity:.9}.map-cursor-label rect{fill:var(--bg-deep);stroke:var(--line-strong);stroke-width:.5px;opacity:.92;vector-effect:non-scaling-stroke}.map-cursor-label text{fill:var(--fg);font-family:var(--font-mono);letter-spacing:.02em;dominant-baseline:alphabetic;font-size:9px}.map-cursor-label.is-forest rect{stroke:var(--signal)}.map-cursor-label.is-forest text{fill:var(--signal)}.map-tree{pointer-events:none}.map-tree__canopy{fill:var(--signal);stroke:none;opacity:.92}.map-tree__trunk{stroke:var(--signal);stroke-width:.7px;opacity:.55;vector-effect:non-scaling-stroke}.map-tree--glyph{vertical-align:middle;display:inline-block}.map-cluster{cursor:default;transition:opacity .16s}.map-cluster.is-dimmed{opacity:.55}.map-cluster.is-highlighted .map-tree__canopy{fill:var(--fg);opacity:1}.map-cluster.is-highlighted .map-tree__trunk{opacity:.9}.map-cluster__extra{fill:var(--fg-faint);font-family:var(--font-mono);letter-spacing:.02em;pointer-events:none;font-size:5.5px}.map-cluster__pulse{fill:none;stroke:var(--signal);stroke-width:.8px;vector-effect:non-scaling-stroke;opacity:.9;transform-origin:50%;transform-box:fill-box;pointer-events:none;animation:1.5s ease-out forwards map-cluster-pulse}@keyframes map-cluster-pulse{0%{r:2;opacity:.9;stroke-width:1.6px}70%{opacity:.35}to{r:26;opacity:0;stroke-width:.2px}}.map-cluster.is-pulsing .map-tree__canopy{animation:1.2s ease-out tree-glow}@keyframes tree-glow{0%{fill:var(--fg)}to{fill:var(--signal)}}@media (width<=720px){.map-svg__land{opacity:.5}.map-pane__head{scrollbar-width:none;overflow-x:auto}.map-pane__head::-webkit-scrollbar{display:none}}
