@font-face{font-family:be vietnam pro;font-style:normal;font-weight:400;font-display:swap;src:url(/web/fonts/BeVietnamPro-Regular.woff2?v=1)format("woff2")}@font-face{font-family:be vietnam pro;font-style:normal;font-weight:500;font-display:swap;src:url(/web/fonts/BeVietnamPro-Medium.woff2?v=1)format("woff2")}@font-face{font-family:be vietnam pro;font-style:normal;font-weight:600;font-display:swap;src:url(/web/fonts/BeVietnamPro-SemiBold.woff2?v=1)format("woff2")}@font-face{font-family:be vietnam pro;font-style:normal;font-weight:700;font-display:swap;src:url(/web/fonts/BeVietnamPro-Bold.woff2?v=1)format("woff2")}@font-face{font-family:be vietnam pro;font-style:normal;font-weight:800;font-display:swap;src:url(/web/fonts/BeVietnamPro-ExtraBold.woff2?v=1)format("woff2")}html,body{height:100%;margin:0;background-color:var(--page-bg);height:100%;overflow:hidden}body{min-height:100dvh;background-image:url(/web/corner.svg?v=1),url(/web/bg.svg?v=1);background-position:right 3rem bottom 3rem,50%;background-size:220px,cover;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed;margin:0;color:var(--fg);font:12px/1.2 be vietnam pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh;overflow-y:auto}.goapp-app-info{min-height:100dvh;background-image:url(/web/corner.svg?v=1),url(/web/bg.svg?v=1);background-position:right 3rem bottom 3rem,50%;background-size:220px,cover;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed;margin:0;color:transparent!important;font:0/1.2 be vietnam pro,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;min-height:100dvh;overflow-y:auto}.goapp-spin{animation:none!important;border-radius:5.5%}:root{--wash-1:#ffffff0d;--wash-2:#ffffff10;--wash-3:#ffffff14;--wash-4:#ffffff18;--wash-5:#ffffff1f;--wash-6:#ffffff20;--wash-7:#ffffff24;--shadow-1:#0006;--shadow-2:#0007;--shadow-3:#0008;--shadow-4:#0009;--shadow-5:#000a;--brand:#0046c7;--brand-bright:#6a9cfb;--brand-rule:#0046c780;--brand-tint:#1a2f56;--page-bg:#162347;--login-bg:#536879;--surface-log:#090c13;--surface-sunken:#070a1050;--surface-control:#0d111b;--surface-inset:#0d111920;--surface-scrim:#0e121b;--surface-control-hover:#141a26;--surface-tag:#1d222d;--surface:#252a35;--surface-track:#393f4d;--tag-border:#505562;--plot-bg:#383d49;--axis-top:#f1f1f178;--axis-bottom:#3b404c;--axis-rule:#585f6a;--tick:#717987;--tick-week:#6a7280;--tick-day:#707785;--tick-label:#cfd3da;--day-label:#cdd3dc;--fg-bright:#fff;--fg:#f2f2f2;--fg-bar:#eee;--fg-log:#e6e6e6;--fg-control:#e6e7ea;--fg-soft:#d4d4d4;--fg-crumb:#cfcfcf;--fg-note:#bfc6d2;--fg-sub:#bdbdbd;--muted:#a8adb8;--crumb-sep:#6b6b6b;--light-bg:#fff;--light-btn:#f7f7f7;--light-btn-hover:#efefef;--light-border:#e2e2e2;--light-btn-border:#d0d0d0;--light-ink:#111;--light-ink-soft:#333;--light-ink-deep:#0f172a;--light-underline:#0f172acc;--light-grad-top:#eef2f6;--light-grad-bottom:#dde3eb;--light-edge:#c9d3e1;--light-cut:#000;--thumb-bg:#c7d2e0;--thumb-ring:#c7d2e044;--avatar-mid:#d6d6d6;--avatar-edge:#bdbdbd;--success:#65b97a;--error:#e35d6a;--partial:#e3c53b;--merged:#9b7fd4;--branch-feature:#0046c7;--branch-fix:var(--error);--branch-release:#3d3370;--branch-other:#65b97a;--branch-trunk:#536879;--release-minor:#4fbec4;--release-patch:#ba8cff;--focus-ring:#dde3eb;--pale-ring:#dde3eb;--bar-stroke:rgba(0,0,0,.35);--bar-sheen:rgba(255,255,255,.06);--bar-sheen-out:rgba(255,255,255,0);--border:var(--wash-3);--hover:var(--wash-1);--accent:var(--brand-bright);--accent-tint:var(--brand-tint);--log-bg:var(--surface-log);--log-fg:var(--fg-log);--scrim:color-mix(in oklab, var(--surface-scrim) 65%, transparent);--rows-visible:20;--rows-total:14;--row-h:20px;--row-gap:2px;--axis-h:26px;--label-h:20px;--label-gap:6px;--arrow-h:10px;--arrow-w:14px;--arrow-gap:2px;--pierce:22px;--line-w:2px;--edge-cut:18px;--pill-inset:3.2px;--pill-pad-x:6px;--opt-nudge:clamp(-1px, calc((12px - var(--row-h)) * 0.06), 0.6px);--rest-leeway:72px;--toggle-h:32px;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-shell{height:100vh;display:flex;flex-direction:column;overflow:hidden}.page-header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--brand-rule)}.crumbs{display:flex;align-items:center;gap:8px;min-width:0}.crumb{color:var(--fg-crumb);text-decoration:none;font-size:13px;font-weight:500;white-space:nowrap}.crumb::before{content:"/";color:var(--crumb-sep);font-weight:400;margin-right:8px}.crumb:hover{color:var(--fg-bright)}.crumb.current{color:var(--fg-bright);font-weight:600}.page-header,.detail-tree,.overview-head,.tile{background:color-mix(in oklab,var(--surface) 80%,transparent);backdrop-filter:blur(6px)}.brand{display:flex;align-items:center;gap:10px;color:var(--fg-bright);text-decoration:none}.brand .mark{width:24px;height:24px;border-radius:6px;display:block;object-fit:cover;box-shadow:0 0 0 1px var(--shadow-2),0 1px 2px var(--shadow-3);background:var(--brand)}.brand .title{font-weight:700;font-size:14px;letter-spacing:.2px}.page-nav{margin-left:auto;margin-right:12px}.navlink{color:var(--fg-control);text-decoration:none;font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;border:1px solid var(--wash-7);background:var(--surface-control)}.navlink:hover{background:var(--surface-control-hover);color:var(--fg-bright)}.user{position:relative}.user details{position:relative}.user summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer}.user summary::-webkit-details-marker{display:none}.avatar{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-weight:800;font-size:11px;color:var(--light-ink);background:radial-gradient(120% 120% at 30% 20%,var(--light-bg),var(--avatar-mid) 60%,var(--avatar-edge));box-shadow:0 0 0 1px var(--shadow-2),0 2px 6px var(--shadow-2)}.user .name{font-size:12px;opacity:.9}.menu{position:absolute;right:0;margin-top:8px;min-width:220px;background:var(--light-bg);color:var(--light-ink);border:1px solid var(--light-border);border-radius:8px;padding:10px;box-shadow:0 12px 30px var(--shadow-3)}.menu .id{font-size:12px;color:var(--light-ink-soft);margin:0 0 8px}.menu .btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border-radius:6px;border:1px solid var(--light-btn-border);background:var(--light-btn);color:var(--light-ink);text-decoration:none;font-weight:600;cursor:pointer}.menu .btn:hover{background:var(--light-btn-hover)}.wrap{flex:1;min-height:0;overflow-y:auto;padding:40px}.grid{display:grid;gap:20px;grid-template-columns:repeat(12,1fr)}.grid-msg{grid-column:span 12;color:var(--fg-crumb);padding:20px}.grid-msg.error{color:var(--error)}.card{grid-column:span 12;background:color-mix(in oklab,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 30px var(--shadow-1);overflow:hidden}@media(min-width:1500px){.card{grid-column:span 6}.wrap:has(#layout-one:checked) .grid .card{grid-column:span 12!important}.wrap:has(#layout-two:checked) .grid .card{grid-column:span 6!important}}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.card h2{margin:0;font-size:14px}.meta{display:flex;align-items:center;gap:10px;font-size:12px;opacity:.9}.lang{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:var(--wash-2);border:1px solid var(--wash-6)}.lang .dot{width:8px;height:8px;border-radius:999px}.card-body{padding:10px 12px 0}.card-foot{padding:12px 12px 14px;border-top:1px solid var(--border);background:var(--surface-inset)}.stats{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:720px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.stat{border:1px solid var(--wash-5);border-radius:8px;padding:10px 12px;background:var(--surface-sunken);min-height:56px;display:flex;flex-direction:column;justify-content:center}.stat .label{font-size:11px;color:var(--fg-crumb);opacity:.9}.stat .value{margin-top:4px;font-weight:800;font-size:14px;letter-spacing:.2px;color:var(--fg-bright)}.stat .sub{margin-top:2px;font-size:11px;color:var(--fg-sub)}.toolbar{margin:8px 0 18px;background:var(--scrim);border:1px solid var(--wash-4);border-radius:10px;padding:12px;box-shadow:0 6px 18px var(--shadow-1)inset}.toolbar .row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-height:var(--toggle-h)}.toolbar label{font-weight:700;color:var(--fg-bright);font-size:12px;letter-spacing:.2px;line-height:16px}.slider-wrap{--thumb:16px;position:relative;flex:auto;min-width:240px;max-width:none;height:var(--thumb);padding:0;margin:0;align-self:center}input[type=range].timespan{-webkit-appearance:none;appearance:none;width:100%;height:var(--thumb);background:0 0;margin:0;cursor:ew-resize}input[type=range].timespan:focus{outline:none}input[type=range].timespan::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--surface-track);box-shadow:0 0 0 1px var(--wash-6)inset,0 1px 0 var(--shadow-3)inset}input[type=range].timespan::-moz-range-track{height:6px;border-radius:999px;background:var(--surface-track);box-shadow:0 0 0 1px var(--wash-6)inset,0 1px 0 var(--shadow-3)inset}input[type=range].timespan::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:var(--thumb);height:var(--thumb);border-radius:50%;background:var(--thumb-bg);border:2px solid var(--light-ink-deep);margin-top:calc((6px - var(--thumb))/2);box-shadow:0 0 0 2px var(--thumb-ring),0 2px 10px var(--shadow-4)}input[type=range].timespan::-moz-range-thumb{width:var(--thumb);height:var(--thumb);border-radius:50%;background:var(--thumb-bg);border:2px solid var(--light-ink-deep);box-shadow:0 0 0 2px var(--thumb-ring),0 2px 10px var(--shadow-4)}.ticks{position:absolute;left:0;right:0;bottom:-18px;height:18px;pointer-events:none;font-size:11px;color:var(--tick-label)}.ticks .tick{position:absolute;bottom:0;transform:translateX(-50%);left:calc( (var(--thumb)/2) + var(--v) * (100% - var(--thumb)) );text-align:center;white-space:nowrap}.ticks .tick::before{content:"";position:absolute;left:50%;top:-8px;transform:translateX(-50%);width:1px;height:6px;background:var(--tick)}.layout-toggle{margin-left:auto;display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--wash-7);border-radius:10px;background:var(--surface-control);position:relative;min-height:var(--toggle-h)}.layout-toggle input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.layout-toggle label{position:relative;padding:6px 10px;font-weight:700;font-size:12px;letter-spacing:.2px;color:var(--fg-control);background:0 0;cursor:pointer;user-select:none;border-radius:8px;transition:background .18s ease,color .18s ease,box-shadow .18s ease}#layout-one:checked+label,#layout-two:checked+label{background:linear-gradient(var(--light-grad-top),var(--light-grad-bottom));color:var(--light-ink-deep);box-shadow:0 1px 0 var(--light-cut)inset,0 0 0 1px var(--light-edge)inset,0 2px 10px var(--shadow-1)}#layout-one:checked+label::after,#layout-two:checked+label::after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:18px;height:2px;border-radius:2px;background:var(--light-underline)}@media(max-width:1500px){.layout-toggle{visibility:hidden;width:0;padding:0;border:0;margin:0}}.timeline{--below:calc(var(--pierce) + var(--arrow-h) + var(--arrow-gap) + var(--label-gap) + var(--label-h));position:relative;width:100%;margin:auto;min-height:calc(var(--axis-h) + (var(--rows-visible)*var(--row-h) + (var(--rows-visible) - 1)*var(--row-gap)));margin-bottom:calc(var(--below) + 8px);border:2px solid var(--brand);border-radius:6px;background:linear-gradient(var(--axis-top),var(--axis-bottom))top/100% var(--axis-h)no-repeat,var(--plot-bg);overflow-x:clip;overflow-y:visible;isolation:isolate}.axis--months{position:absolute;inset:0 0 auto 0;height:var(--axis-h);pointer-events:none;z-index:3;-webkit-mask:linear-gradient(to right,transparent 0 var(--edge-cut),var(--page-bg) calc(var(--edge-cut) - .01px) calc(100% - var(--edge-cut)),transparent calc(100% - var(--edge-cut)) 100%);mask:linear-gradient(to right,transparent 0 var(--edge-cut),var(--page-bg) calc(var(--edge-cut) - .01px) calc(100% - var(--edge-cut)),transparent calc(100% - var(--edge-cut)) 100%)}.axis--months::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--axis-rule)}.axis--months .month{position:absolute;left:var(--x);top:4px;transform:translateX(-50%);font-size:11px;color:var(--fg-bright);white-space:nowrap}.axis--months .month::after{content:"";position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);width:1px;height:6px;background:var(--tick)}.axis--months .week{position:absolute;left:var(--x);bottom:0;transform:translateX(-50%);width:1px;height:8px;background:var(--tick-week);opacity:.95}.axis--months .day{position:absolute;left:var(--x);bottom:0;transform:translateX(-50%);width:1px;height:6px;background:var(--tick-day);opacity:.9}.axis--months .day::before{content:attr(data-label);position:absolute;left:50%;bottom:8px;transform:translateX(-50%);font-size:10px;line-height:1;color:var(--day-label);white-space:nowrap}.plot{position:absolute;inset:calc(var(--axis-h) + var(--row-gap))0 0 0;overflow-y:auto;overflow-x:visible;z-index:1;z-index:auto}.plot .content{position:relative;height:calc(var(--rows-total)*var(--row-h) + (var(--rows-total) - 1)*var(--row-gap))}.slot{position:absolute;top:calc(var(--row) * (var(--row-h) + var(--row-gap)));height:var(--row-h);overflow:visible;--leeway:0px;left:calc(var(--start) - var(--leeway));width:max(0px,calc((var(--end) - var(--start)) + var(--leeway)));container-type:inline-size}.bar{--r:calc(var(--row-h)/2);--gap:var(--pill-inset);--pill-h:calc(var(--row-h) - 2*var(--pill-inset));--roff:calc((var(--row-h) - var(--pill-h))/2);--r-left-dynamic:clamp(2px, calc(var(--r) - 25cqw), var(--r));--pad-left-dynamic:clamp(0px, 18cqw, 6px);position:absolute;right:0;top:0;height:100%;display:grid;grid-template-columns:minmax(0,1fr)max-content;align-items:center;column-gap:var(--gap);padding-left:var(--pad-left-dynamic);width:100%;min-width:min-content;max-width:100%;background:radial-gradient(100% 100% at 100% 50%,var(--bar-sheen),var(--bar-sheen-out) 52%)no-repeat,linear-gradient(90deg,color-mix(in oklab,var(--bar-color,var(--fg-bar)) 75%,var(--page-bg)),var(--bar-color,var(--fg-bar)));border-radius:var(--r-left-dynamic)var(--r)var(--r)var(--r-left-dynamic);box-shadow:0 0 0 1px var(--bar-stroke);font-size:11px;color:inherit;text-decoration:none;cursor:pointer;contain:layout paint;z-index:1;z-index:1}.bar:hover{width:max-content;min-width:100%;max-width:none;z-index:60;border-radius:2px var(--r)var(--r)2px;padding-left:6px;box-shadow:0 0 0 1px var(--bar-stroke),0 0 0 1px color-mix(in oklab,var(--bar-color) 25%,transparent),0 2px 12px var(--shadow-3);filter:drop-shadow(0 0 4px color-mix(in oklab,var(--bar-color) 40%,transparent))}.bar:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.bar .label{grid-column:1;display:flex;align-items:center;justify-content:center;height:100%;line-height:1;white-space:nowrap;overflow:hidden;text-rendering:geometricPrecision}.bar .cap{grid-column:2;display:flex;justify-content:flex-end;align-items:center;gap:3px;padding-right:clamp(0px,calc(var(--roff) - var(--opt-nudge)),100px);height:100%}.bar .pr{height:var(--pill-h);min-width:var(--pill-h);padding:0 var(--pill-pad-x);display:inline-flex;align-items:center;justify-content:center;font-size:10px;line-height:1;color:var(--light-ink);background:var(--light-bg);border-radius:calc(var(--pill-h)/2);transform:translateZ(0)}.bar--blue{--bar-color:var(--branch-feature)}.bar--red{--bar-color:var(--branch-fix);color:var(--fg-bright)}.bar--green{--bar-color:var(--branch-other)}.bar--purple{--bar-color:var(--branch-release)}.bar--trunk{--bar-color:var(--branch-trunk);color:var(--fg)}.release{position:absolute;left:var(--x);top:calc(var(--axis-h) + var(--row-gap));bottom:calc(-1 * (var(--pierce) + var(--arrow-h) + var(--arrow-gap) + var(--label-gap) + var(--label-h)));width:0;pointer-events:none;z-index:4;color:inherit;--pierce-depth:var(--pierce);bottom:calc(-1 * (var(--pierce-depth) + var(--arrow-h) + var(--arrow-gap) + var(--label-gap) + var(--label-h)));z-index:4}.release::before{content:"";position:absolute;left:0;top:0;bottom:calc(var(--label-h) + var(--label-gap) + var(--arrow-gap) + var(--arrow-h));border-left:var(--line-w)solid;opacity:.55;transition:border-color .15s ease,opacity .15s ease,filter .15s ease}.release::after{content:"";position:absolute;left:50%;bottom:calc(var(--label-h) + var(--label-gap));transform:translateX(calc(-50% + var(--line-w)/2));width:var(--arrow-w);height:var(--arrow-h);background:linear-gradient(135deg,transparent 45%,currentColor 45% 55%,transparent 55%)0/50% 100% no-repeat,linear-gradient(225deg,transparent 45%,currentColor 45% 55%,transparent 55%)100%/50% 100% no-repeat;transition:filter .15s ease}.release .tag{pointer-events:auto;position:absolute;bottom:0;left:50%;transform:translateX(calc(-50% + var(--line-w)/2));padding:2px 6px;height:var(--label-h);display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--fg-bar);text-decoration:none;background:var(--surface-tag);border:1px solid var(--tag-border);border-radius:4px;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;z-index:1}.release .tag:focus-visible{outline:2px solid var(--pale-ring);outline-offset:2px}.release:has(.tag:hover){z-index:20;--line-w:3px}.release:has(.tag:hover)::before{opacity:1;filter:drop-shadow(0 0 4px currentColor)}.release:has(.tag:hover)::after{filter:drop-shadow(0 0 3px currentColor)}.release .tag:hover{background:color-mix(in oklab,var(--surface-tag) 70%,currentColor 30%);border-color:color-mix(in oklab,var(--tag-border) 40%,currentColor 60%);box-shadow:0 2px 12px var(--shadow-3),0 0 0 1px color-mix(in oklab,currentColor 25%,transparent)}.release--minor{--pierce-depth:24px;color:var(--release-minor)}.release--patch{--pierce-depth:0px;color:var(--release-patch)}.release--patch::before{border-left-style:dashed}.auth-stage{min-height:100dvh;display:grid;place-items:center;padding:24px;background-color:var(--login-bg);background-image:url(/web/login-bg.svg?v=1);background-position:50%;background-size:cover;background-repeat:no-repeat;background-attachment:fixed}.auth-card{width:min(420px,92vw);background:color-mix(in oklab,var(--surface) 92%,transparent);border:1px solid var(--wash-7);border-radius:12px;box-shadow:0 18px 50px var(--shadow-5),0 0 0 1px var(--shadow-1)inset;padding:18px 18px 16px}.auth-card .brand{justify-content:flex-start}.auth-card .brand .mark{width:28px;height:28px;border-radius:6px}.auth-title{margin:10px 0 8px;font-size:16px;font-weight:800;letter-spacing:.2px}.auth-desc{margin:0 0 14px;color:var(--fg-soft);font-size:12px;line-height:1.4}.sso-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:10px;background:linear-gradient(var(--light-grad-top),var(--light-grad-bottom));color:var(--light-ink-deep);font-weight:800;letter-spacing:.2px;font-size:13px;border:1px solid var(--light-edge);box-shadow:0 1px 0 var(--light-cut)inset,0 2px 10px var(--shadow-2);cursor:pointer;box-sizing:border-box;display:flex;width:100%;max-width:100%;text-decoration:none}.sso-btn:visited{color:var(--light-ink-deep)}.sso-btn:hover{filter:brightness(.97)}.sso-btn:active{transform:translateY(.5px);box-shadow:0 0 0 var(--light-cut)inset,0 1px 6px var(--shadow-3)}.sso-sub{margin-top:8px;font-size:11px;color:var(--fg-note);text-align:center}.dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--muted)}.dot-running{background:var(--accent);animation:dot-pulse 1.2s ease-in-out infinite}.dot-succeeded{background:var(--success)}.dot-failed{background:var(--error)}.dot-partial{background:var(--partial)}.head-status{flex-shrink:0;width:.5rem;height:.5rem}.bar-status{flex:none;width:.5rem;height:.5rem;z-index:2;box-shadow:0 0 0 1.5px color-mix(in oklab,var(--bar-color,var(--page-bg)) 60%,var(--page-bg))}@keyframes dot-pulse{0%,100%{opacity:1}50%{opacity:.35}}.logs-head{padding:.6rem 1rem;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:.85rem;color:var(--muted);background:var(--scrim)}.logs-body{flex:1;margin:0;padding:1rem;overflow:auto;background:var(--log-bg);color:var(--log-fg);font-family:var(--mono);font-size:.8rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.logview{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.follow-btn{position:absolute;bottom:.5rem;right:.5rem;z-index:2;padding:.15rem .55rem;border-radius:999px;cursor:pointer;font-size:.65rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--border);background:var(--scrim)}.follow-btn.on{color:var(--success);border-color:var(--success);background:color-mix(in oklab,var(--success) 16%,transparent)}.follow-btn.off{color:var(--muted)}.copy-btn{position:absolute;top:.5rem;right:.5rem;z-index:2;padding:.15rem .55rem;border-radius:999px;cursor:pointer;font-size:.65rem;font-weight:600;letter-spacing:.02em;border:1px solid var(--border);background:var(--scrim);color:var(--muted)}.copy-btn:hover:not(:disabled){color:var(--fg)}.copy-btn:disabled{opacity:.45;cursor:default}.copy-btn.noted{color:var(--success);border-color:var(--success);background:color-mix(in oklab,var(--success) 16%,transparent)}.detail-cols{flex:1;display:flex;min-height:0}.detail-tree{width:24rem;flex-shrink:0;overflow-y:auto;padding:1rem 1.1rem;border-right:1px solid var(--border)}.detail-msg{padding:1.25rem;color:var(--muted)}.detail-msg.error{color:var(--error)}.detail-episode{margin-bottom:1.5rem}.detail-episode.releases{opacity:.85}.episode-head{display:flex;align-items:center;gap:.5rem;padding-bottom:.4rem;margin-bottom:.6rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg)}.episode-head:hover{background:var(--hover)}.episode-head-link{display:flex;align-items:center;gap:.5rem;flex:auto;min-width:0;text-decoration:none;color:inherit}.caret{flex-shrink:0;width:.9rem;text-align:center;color:var(--muted);font-size:.7rem;transition:transform 220ms ease}.detail-episode.open>.episode-head .caret{transform:rotate(90deg)}.occ-wrap{display:grid;grid-template-rows:0fr;transition:grid-template-rows 220ms ease}.detail-episode.open>.occ-wrap{grid-template-rows:1fr}.occ-wrap>*{min-height:0;overflow:hidden}.episode-name{font-weight:600;font-size:.95rem}.episode-head .pr,.branch-episode-head .pr{font-size:.6rem;font-weight:600;line-height:1.4;padding:.05rem .35rem;border-radius:999px;color:var(--accent);border:1px solid var(--accent);text-decoration:none;cursor:pointer;transition:background-color 120ms ease,box-shadow 120ms ease}.episode-head .pr.draft,.branch-episode-head .pr.draft{color:var(--muted);border-color:var(--muted)}.episode-head .pr.open,.branch-episode-head .pr.open{color:var(--success);border-color:var(--success)}.episode-head .pr.merged,.branch-episode-head .pr.merged{color:var(--merged);border-color:var(--merged)}.episode-head .pr.closed,.branch-episode-head .pr.closed{color:var(--error);border-color:var(--error)}.episode-head .pr:hover,.branch-episode-head .pr:hover{background:color-mix(in oklab,currentColor 20%,transparent);font-weight:700;box-shadow:0 0 0 1px currentColor}.bar .pr.draft{background:var(--muted);color:var(--fg-bright)}.bar .pr.open{background:var(--success);color:var(--fg-bright)}.bar .pr.merged{background:var(--merged);color:var(--fg-bright)}.bar .pr.closed{background:var(--error);color:var(--fg-bright)}.occ-list{display:flex;flex-direction:column;gap:.35rem}.occ{border-left:3px solid transparent;padding-left:.4rem}.occ.focused{border-left-color:var(--accent)}.occ-head{display:flex;align-items:baseline;gap:.5rem;padding:.3rem .4rem;border-radius:5px;text-decoration:none;color:var(--fg)}.occ-head:hover{background:var(--hover)}.occ.focused .occ-head{background:var(--accent-tint)}.occ-sha{font-family:var(--mono);font-size:.78rem;color:var(--accent);text-decoration:none}.occ-sha:hover{text-decoration:underline}.event-main{flex:1;min-width:0;display:flex;align-items:baseline;gap:.5rem;text-decoration:none;color:var(--fg)}.occ-kind{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.occ-msg{color:var(--fg);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occ-date{margin-left:auto;padding-left:.5rem;color:var(--muted);font-size:.68rem;white-space:nowrap}.occ-empty{color:var(--muted);font-size:.8rem;padding:.1rem 0}.sub-list{display:flex;flex-direction:column;gap:.1rem;margin:.25rem 0 .35rem .85rem}.sub{display:flex;align-items:center;gap:.5rem;padding:.22rem .45rem;border-left:2px solid var(--border);border-radius:0 4px 4px 0;text-decoration:none;color:var(--fg);font-size:.8rem}.sub:hover{background:var(--hover)}.sub.focused{border-left-color:var(--accent);background:var(--accent-tint)}.sub-label{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sub-status{color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.03em}.sub-empty{color:var(--muted);font-size:.8rem;padding-left:.85rem}.detail-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.detail-main.empty{align-items:center;justify-content:center}.detail-hint{color:var(--muted);font-size:.9rem}.overview-head{display:flex;align-items:baseline;gap:.6rem;flex-shrink:0;padding:.7rem 1rem;border-bottom:1px solid var(--border)}.overview-msg{color:var(--fg);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overview-empty{padding:1.25rem;color:var(--muted)}.tile-grid{flex:1;overflow-y:auto;padding:1rem;display:grid;grid-auto-rows:1fr;gap:1rem}.tile{display:flex;flex-direction:column;min-height:15rem;border:1px solid var(--border);border-radius:6px;overflow:hidden}.tile-head{display:flex;align-items:center;gap:.5rem;flex-shrink:0;padding:.45rem .7rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--fg);font-size:.82rem}.tile-head:hover{background:var(--hover)}.tile-label{flex:1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-status{color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.03em}.attempt-nav{display:inline-flex;align-items:center;gap:.25rem;flex-shrink:0}.attempt-count{color:var(--muted);font-size:.64rem;font-variant-numeric:tabular-nums}.attempt-step{appearance:none;background:0 0;border:none;cursor:pointer;padding:0 .15rem;color:var(--muted);font-size:.8rem;line-height:1;text-decoration:none}.attempt-step:hover{color:var(--fg)}.attempt-step.disabled{color:var(--border);pointer-events:none}.logs-head .attempt-nav{border:1px solid var(--border);border-radius:999px;padding:.05rem .4rem;gap:.35rem}.detail-main.fullbuild .logs-head{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.logs-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occ-nav{display:flex;gap:.5rem;font-size:1.05rem;line-height:1}.overview-head .occ-nav{align-self:center}.variant-step{color:var(--muted);text-decoration:none}.variant-step:hover{color:var(--fg)}.variant-step.disabled{color:var(--border);pointer-events:none}.sub-panel{display:flex;flex-wrap:wrap;gap:.4rem;padding:.5rem .6rem;flex-shrink:0}.navlink.disabled{color:var(--border);border-color:var(--border);pointer-events:none}button.navlink:disabled{color:var(--border);border-color:var(--border);cursor:default}.run-panels{padding:1rem;padding-bottom:0;display:grid;gap:1rem}.run-panels:empty{display:none}.compartment-panel{display:flex;flex-direction:column;gap:.35rem;border:1px solid var(--border);border-radius:6px;padding:.5rem .75rem;background:var(--scrim)}.compartment-panel-label{color:var(--muted);font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;font-family:var(--mono)}.compartment-panel-body{display:flex;align-items:center;gap:.5rem}.run-panel{display:flex;align-items:center;gap:.5rem}.run-panel-msg{color:var(--muted);font-size:.75rem}.ctx-branch{color:var(--accent);text-decoration:none;font-weight:600;font-size:.82rem}.ctx-branch:hover{text-decoration:underline}.ctx-branch.empty{display:none}.detail-episode.focused>.episode-head{background:var(--accent-tint);border-radius:5px}.branch-view{overflow-y:auto}.ctx-branch-title{font-weight:600;font-size:.95rem;color:var(--accent);text-decoration:none}.ctx-branch-title:hover{text-decoration:underline}.branch-episode{padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--scrim)}.branch-episode-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-weight:600;font-size:.85rem}.branch-events{display:flex;flex-direction:column;gap:.25rem}.branch-event{display:flex;align-items:baseline;gap:.55rem;padding:.35rem .5rem;border-radius:5px;text-decoration:none;color:var(--fg)}.branch-event:hover{background:var(--hover)}.branch-empty{color:var(--muted);font-size:.8rem}@media(max-width:900px){.detail-cols{flex-direction:column}.detail-tree{width:auto;flex-shrink:1;max-height:38vh;border-right:none;border-bottom:1px solid var(--border)}.tile-grid{grid-template-columns:1fr!important}.run-panels{grid-template-columns:1fr!important}}