:root{--board:#41b25d;--board-2:#2e8e46;--board-3:#23733a;--list:#eef4ef;--surface:#fff;--surface-2:#f6faf7;--ink:#222;--ink-2:#5f665f;--ink-3:#959b95;--line:#dde4de;--line-2:#e9efea;--shadow:0 1px 1px #14321c33, 0 0 1px #14321c47;--shadow-2:0 8px 24px #14321c33;--c-ok:#41b25d;--c-main:#2e8e46;--c-dev:#2fa3d6;--c-feature:#f0a01e;--c-release:#9b6bd3;--c-review:#2fa3d6;--c-issue:#f5c400;--c-muted:#b9c0ba;--c-danger:#f23a3c;--font:"Quicksand", "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif}*{box-sizing:border-box}html,body{background:var(--board);color:var(--ink);font-family:var(--font);font-feature-settings:"tnum" 1;margin:0;font-size:14px;line-height:1.55}button,input{font:inherit;color:inherit}code{font-family:var(--font);background:var(--line-2);border-radius:4px;padding:0 6px;font-size:12px;font-weight:500}h1,h2,h3{margin:0;font-weight:700;line-height:1.3}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline-offset:2px;box-shadow:0 0 0 4px var(--board);outline:2px solid #fff}.panel{background:var(--surface);box-shadow:var(--shadow);border-radius:12px}.app{background:linear-gradient(175deg, var(--board-2) 0%, var(--board) 45%, #6cc583 120%);flex-direction:column;min-height:100vh;display:flex}.topbar{background:var(--board-3);color:#fff;z-index:20;align-items:center;gap:18px;padding:8px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;margin-right:6px;display:flex}.brand-word{letter-spacing:.02em;font-family:Quicksand,sans-serif;font-size:20px;font-weight:700;line-height:1}.brand-name{opacity:.9;font-family:Quicksand,sans-serif;font-size:14px;font-weight:600}.nav{gap:4px;display:flex}.nav-item{color:#fff;cursor:pointer;background:#ffffff29;border:0;border-radius:6px;padding:5px 14px;font-weight:700}.nav-item:hover{background:#ffffff47}.nav-item.active{color:var(--board);background:#fff}.repo{align-items:center;gap:12px;margin-left:auto;font-size:13px;display:flex}.repo-name{font-weight:700}.repo-when{opacity:.85}.btn{background:var(--line-2);color:var(--ink);cursor:pointer;border:0;border-radius:6px;padding:6px 12px;font-weight:500}.btn:hover:not(:disabled){background:var(--line)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--board);color:#fff}.btn.primary:hover:not(:disabled){background:var(--board-2)}.btn.ghost{color:#fff;background:#ffffff29}.btn.ghost:hover:not(:disabled){background:#ffffff47}.source{margin:14px 16px 0;padding:14px 16px}.source-form{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.source-form label{color:var(--ink-2);flex-direction:column;gap:4px;font-size:12px;font-weight:500;display:flex}.source-form label.grow{flex:280px}.input{border:2px solid var(--line);background:var(--surface);border-radius:6px;min-width:140px;padding:6px 8px}.input:focus{border-color:var(--board);box-shadow:none;outline:none}.source-note{color:var(--ink-2);margin-top:8px;font-size:12px}.error{color:var(--c-danger);margin-top:8px;font-weight:500}.layout{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.layout.with-aside{grid-template-columns:minmax(0,1fr) 440px}.content{min-width:0;padding:18px 16px 40px;overflow:auto}.aside{max-height:calc(100vh - 72px);box-shadow:var(--shadow-2);align-self:start;margin:12px 16px 12px 0;padding:20px 22px 28px;position:sticky;top:60px;overflow:auto}.aside-close{width:30px;height:30px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:20px;line-height:1;position:absolute;top:10px;right:12px}.aside-close:hover{background:var(--line-2);color:var(--ink)}.view-head{color:#fff;margin-bottom:14px}.view-head h1{margin-bottom:4px;font-size:22px}.intro{opacity:.92}.view-head .term{border-bottom-color:#ffffffb3}.toggles{gap:8px;margin-top:10px;display:flex}.toggle{cursor:pointer;background:#ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:13px;font-weight:500;display:inline-flex}.toggle.on{color:var(--ink);background:#fff}.toggle.on .term{border-bottom-color:var(--ink-2)}.toggle input{accent-color:var(--c-ok);margin:0}.empty{color:var(--ink-3)}.more{color:var(--ink-3);font-size:12px}.count{color:var(--ink-2);margin-left:6px;font-size:13px;font-weight:500}.link{color:var(--board);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-weight:500;text-decoration:underline}.badge,.pill{color:#fff;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.6;display:inline-block}.badge.open,.pill.feature{background:var(--c-feature)}.badge.merged{background:var(--c-ok)}.badge.closed{background:var(--c-muted)}.badge.draft,.pill.draft{background:var(--line);color:var(--ink-2)}.pill.release{background:var(--c-release)}.pill.hotfix{background:var(--c-danger)}.labels{flex-wrap:wrap;gap:4px;margin:0 0 6px;display:flex}.label{border-radius:999px;padding:0 8px;font-size:11px;font-weight:700;line-height:1.7}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--line-2);cursor:pointer;text-align:left;border:0;border-radius:6px;padding:4px 10px;font-weight:500}.chip:hover{background:var(--line)}.term{border-bottom:2px dotted var(--ink-3);cursor:help;position:relative}.term-tip{z-index:10;background:var(--ink);color:#fff;width:260px;box-shadow:var(--shadow-2);border-radius:8px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.55;display:none;position:absolute;top:calc(100% + 8px);left:0}.term-tip b{margin-right:6px;display:inline-block}.term-tip i{color:#b9c0ba;font-style:normal}.term-tip span{margin-top:4px;display:block}.term:hover .term-tip,.term:focus .term-tip,.term:focus-within .term-tip{display:block}.history{display:flex;overflow:hidden}.history-graph{border-right:1px solid var(--line-2);background:var(--surface-2);border-radius:12px 0 0 12px;flex:none}.history-graph svg{display:block}.trunk{stroke-width:5px;stroke-linecap:round}.trunk.main{stroke:var(--c-main)}.trunk.dev{stroke:var(--c-dev)}.life path{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round}.life path.open{stroke-dasharray:5 5}.life.sel path{stroke-width:5px}.life.dim{opacity:.25}.node{fill:currentColor;stroke:#fff;stroke-width:2px}.node.pr_open{fill:#fff;stroke:currentColor;stroke-width:3px}.node.pr_close{fill:#fff;stroke:currentColor;stroke-width:2px}.node.dim{opacity:.25}.node.sel{stroke-width:3px}.history-rows{flex:1;min-width:0}.history-head{border-bottom:1px solid var(--line-2);color:var(--ink-2);align-items:center;gap:8px;padding:0 16px;font-size:12px;font-weight:500;display:flex}.tip circle{stroke:#fff;stroke-width:3px}.tip.main circle{fill:var(--c-main)}.tip.dev circle{fill:var(--c-dev)}.tip text{font-family:var(--font);fill:var(--ink-2);font-size:11.5px}.tip .tip-name{font-size:13px;font-weight:700}.tip.main .tip-name{fill:var(--c-main)}.tip.dev .tip-name{fill:var(--c-dev)}.tip .tip-role{fill:var(--ink);font-weight:700}.tip .tip-at{fill:var(--ink-3)}.pr-tag{cursor:pointer}.pr-tag rect{fill:currentColor;stroke:#fff;stroke-width:2px}.pr-tag text{fill:#fff;font-family:"Quicksand", var(--font);text-anchor:middle;font-size:11px;font-weight:700}.pr-tag.dim{opacity:.25}.pr-tag.sel rect{stroke:var(--ink)}.history-head .toggle{background:var(--list);color:var(--ink-2)}.history-head .toggle.on{background:color-mix(in srgb, var(--c-ok) 16%, #fff);color:var(--ink)}.hrow{border-bottom:1px solid var(--line-2);align-items:center;display:flex}.hrow.day{padding-left:16px}.day-pill{background:var(--list);color:var(--ink-2);border-radius:999px;padding:2px 12px;font-size:12px;font-weight:700}.hrow-btn{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:62px minmax(0,1fr) auto 76px;align-items:center;column-gap:12px;width:100%;height:100%;padding:0 16px;display:grid}.hrow-btn:disabled{cursor:default}.hrow-btn:hover:not(:disabled),.hrow.sel .hrow-btn{background:var(--surface-2)}.hrow.dim{opacity:.4}.hrow-kind{text-align:center;color:color-mix(in srgb, var(--k) 62%, #222);background:color-mix(in srgb, var(--k) 20%, #fff);border-radius:999px;font-size:11px;font-weight:700;line-height:1.7}.hrow-text{white-space:nowrap;text-overflow:ellipsis;align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.hrow-text b{text-overflow:ellipsis;flex:0 auto;min-width:0;font-weight:500;overflow:hidden}.hrow.pr_open .hrow-text b,.hrow.pr_merge .hrow-text b,.hrow.issue_open .hrow-text b{font-weight:700}.hrow.commit .hrow-text b{font-weight:400}.hrow-sub{min-width:40px;color:var(--ink-2);text-overflow:ellipsis;flex:1 1 0;font-size:12px;overflow:hidden}.hrow-who{color:var(--ink-3);white-space:nowrap;font-size:12px}.hrow-time{color:var(--ink-3);text-align:right;font-size:12px}.board{align-items:flex-start;gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.col{background:var(--list);border-radius:12px;flex-direction:column;flex:0 0 272px;max-height:calc(100vh - 190px);padding:8px;display:flex}.col-head{border-bottom:4px dotted var(--board);margin-bottom:6px;padding:4px 8px 8px}.col-head h2{font-size:14px;display:inline}.col-hint{color:var(--ink-2);font-size:11px}.col>ul{flex-direction:column;gap:8px;padding:2px;display:flex;overflow-y:auto}.col .more,.col .empty{padding:4px 8px;font-size:12px}.card{text-align:left;background:var(--surface);width:100%;box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.card:hover{background:#fbfdfb}.card.active{box-shadow:inset 0 0 0 2px var(--board), var(--shadow)}.card-pills{gap:4px;display:flex}.card-title{font-weight:500;line-height:1.4}.card-num{color:var(--ink-3);font-weight:400}.card-branch{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.card-branch .arrow{color:var(--ink-3);font-size:12px}.card-meta{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:4px;font-size:11px;display:flex}.ico-pr{border:2px solid var(--c-feature);border-radius:50%;width:10px;height:10px;display:inline-block}.card-foot{justify-content:space-between;align-items:flex-end;gap:8px;margin-top:2px;display:flex}.avatars{flex-direction:row-reverse;display:inline-flex}.avatars .avatar+.avatar{margin-right:-6px}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden;box-shadow:0 0 0 2px #fff}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.avatar.faint{opacity:.45;filter:grayscale(.6)}.people{grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;margin:10px 0 0;font-size:12.5px;display:grid}.people dt{color:var(--ink-2);font-weight:500}.people dd{flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.person{align-items:center;gap:6px;font-weight:500;display:inline-flex}.pill.preview{background:color-mix(in srgb, var(--c-dev) 16%, #fff);color:color-mix(in srgb, var(--c-dev) 65%, #222)}.previews ul{flex-direction:column;gap:6px;display:flex}.pv{justify-content:space-between;align-items:center;gap:10px;min-height:34px;display:flex}.pv-name{font-weight:700}.pv.skipped .pv-name,.pv.building .pv-name{color:var(--ink-2)}.pv-note{color:var(--ink-3);text-align:right;font-size:12px}.pv.failed .pv-note{color:var(--c-danger)}.pv-open{flex:none;text-decoration:none}.pv-hint{color:var(--ink-2);margin-top:8px;font-size:12px}.gh-icon{vertical-align:-3px;flex:none;display:inline-block}.gh-icon .s{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.gh-icon .f{fill:currentColor}.gh-icon.issue-open,.gh-icon.pr-open{color:#1a7f37}.gh-icon.issue-closed,.gh-icon.pr-merged{color:#8250df}.gh-icon.pr-closed{color:#cf222e}.gh-icon.pr-draft{color:#59636e}.card-top{align-items:center;gap:6px;display:flex}.num-label{font-family:"Quicksand", var(--font);color:var(--ink-2);font-size:12px;font-weight:700}.card-top .pill{margin-left:auto}.issue-title{font-size:14.5px;font-weight:700;line-height:1.45}.issue-card .labels{margin:2px 0 0}.flow-diagram{background:var(--surface-2);border-radius:8px;flex-direction:column;align-items:flex-start;margin:2px 0;padding:8px 10px;display:flex}.br{font-family:"Quicksand", var(--font);color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:6px;max-width:100%;padding:1px 8px;font-size:12px;font-weight:700;overflow:hidden}.br.feature{background:var(--c-feature)}.br.release{background:var(--c-release)}.br.hotfix{background:var(--c-danger)}.br.dev{background:var(--c-dev)}.br.main{background:var(--c-main)}.br.other{background:var(--ink-3)}.flow-arrow{color:var(--ink-2);border-left:2px solid var(--ink-3);margin-left:12px;padding:3px 0 7px 14px;font-size:11px;position:relative}.flow-arrow:after{content:"";border:5px solid #0000;border-top:6px solid var(--ink-3);border-bottom:0;position:absolute;bottom:0;left:-6px}.flow-diagram.open .flow-arrow{border-left-style:dashed}.pr-card.closed{box-shadow:none;outline-offset:-1px;background:#eceeec;outline:1px dashed #c3c9c4}.pr-card.closed:hover{background:#e4e7e4}.pr-card.closed.active{outline:2px solid var(--c-muted)}.pr-card.closed .num-label{color:var(--ink-3)}.pr-card.closed .pr-title{color:var(--ink-3);-webkit-text-decoration:line-through #00000059;text-decoration:line-through #00000059}.pr-card.closed .flow-diagram{background:0 0;padding-left:0}.flow-diagram.closed .br{color:var(--ink-3);background:0 0;box-shadow:inset 0 0 0 1px #c3c9c4}.flow-diagram.closed .flow-arrow{color:var(--ink-3);border-left:2px dashed #c3c9c4}.flow-diagram.closed .flow-arrow:after{content:"×";color:#cf222e;border:0;font-size:13px;font-weight:700;line-height:1;bottom:-7px;left:-7px}.pr-card.closed .avatars,.pr-card.closed .card-top .pill,.pr-card.closed .card-meta{filter:grayscale();opacity:.6}.pr-title{color:var(--ink-2);font-size:13px;font-weight:500}.detail-kind{vertical-align:middle;align-items:center;gap:6px;margin-right:8px;display:inline-flex}.detail-kind .num-label{color:var(--ink);font-size:14px}.chip .gh-icon{margin-right:2px}.brand,.nav,.nav-item,.person-picker,.pp-all,.repo-name,.repo-when,.repo .btn{white-space:nowrap;flex-shrink:0}.topbar{flex-wrap:wrap;row-gap:8px}.person-picker{background:#ffffff24;border-radius:999px;align-items:center;gap:4px;padding:3px 4px;display:flex}.pp-all,.pp-person{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:999px}.pp-all{padding:4px 12px;font-size:13px;font-weight:700}.pp-all.on{color:var(--board-2);background:#fff}.pp-person{padding:2px}.pp-person .avatar{box-shadow:none;opacity:.6}.pp-person:hover .avatar{opacity:.9}.pp-person.on{background:#fff}.pp-person.on .avatar{opacity:1}.person-filter{flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:10px;display:flex}.pf-label{font-size:13px;font-weight:700}.pp-person{align-items:center;gap:6px;display:inline-flex}.pp-name{padding-right:8px;font-size:12.5px;font-weight:700;line-height:1}.pp-person.on .pp-name{color:var(--board-2)}.pf-note{opacity:.92;font-size:12.5px}.link.light{color:#fff}.gh-open{color:#fff;background:#24292f;border-radius:6px;margin:2px 0 8px;padding:3px 10px;font-size:12px;font-weight:700;text-decoration:none;display:inline-block}.gh-open:hover{background:#000}.commits a.oid{color:var(--board-2);text-underline-offset:2px;text-decoration:underline}.detail-head{margin-bottom:20px;padding-right:24px}.detail-head .num{color:var(--ink-3);margin-right:8px}.detail-head h2{margin:6px 0 8px;font-size:18px}.flow{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.flow .arrow{color:var(--ink-3)}.meta{color:var(--ink-2);font-size:12px}.detail section{background:var(--surface-2);border-radius:8px;margin-bottom:20px;padding:12px 14px}.detail h3{color:var(--ink);margin-bottom:8px;font-size:13px;font-weight:700}.steps{padding-left:24px;position:relative}.steps:before{content:"";background:var(--line);width:2px;position:absolute;top:10px;bottom:10px;left:7px}.step{color:var(--ink-3);justify-content:space-between;gap:10px;padding:4px 0;display:flex;position:relative}.step.done{color:var(--ink)}.step.faint{color:var(--ink-2)}.step-dot{border:2px solid var(--line);background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:9px;left:-24px}.step.done .step-dot{background:var(--c-ok);border-color:var(--c-ok)}.step.faint .step-dot{border-color:var(--c-ok);background:#fff}.step-at{color:var(--ink-3);white-space:nowrap;font-size:12px}.commits li,.files li{border-bottom:1px solid var(--line-2);align-items:baseline;gap:8px;padding:4px 0;font-size:12.5px;display:flex}.commits li:last-child,.files li:last-child{border-bottom:0}.commits .oid{color:var(--ink-3);flex:none}.commits .msg{flex:1;min-width:0}.commits .at,.files .adds,.files .dels{color:var(--ink-3);flex:none;font-size:11px}.files .path{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.files .adds{color:var(--c-ok);font-weight:700}.files .dels{color:var(--c-danger);font-weight:700}.story{padding-left:26px;position:relative}.story:before{content:"";background:var(--line);width:2px;position:absolute;top:10px;bottom:10px;left:8px}.beat{padding:6px 0;position:relative}.beat-dot{border:3px solid var(--line);background:#fff;border-radius:50%;width:18px;height:18px;position:absolute;top:11px;left:-26px}.beat.issue .beat-dot{border-color:var(--c-issue)}.beat.branch .beat-dot{border-color:var(--c-feature);background:var(--c-feature)}.beat.merge .beat-dot{border-color:var(--c-dev);background:var(--c-dev)}.beat.release .beat-dot{border-color:var(--c-main);background:var(--c-main)}.beat.done .beat-dot{border-color:var(--ink);background:var(--ink)}.beat.open .beat-dot{border-color:var(--c-feature);border-style:dashed}.beat-at{color:var(--ink-3);font-size:12px}@media (width<=900px){.topbar{flex-wrap:wrap;gap:8px}.repo{flex-wrap:wrap;row-gap:6px;width:100%;margin-left:0}.history{overflow-x:auto}.history-rows{min-width:440px}.history-head{flex-wrap:wrap}.layout,.layout.with-aside{grid-template-columns:1fr}.content{padding:14px 12px}.aside{border-radius:12px 12px 0 0;max-height:70vh;margin:0;position:fixed;inset:auto 0 0}.hrow-btn{grid-template-columns:56px minmax(0,1fr) 76px}.hrow-who{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.login{background:var(--board-3);place-items:center;min-height:100vh;padding:24px 16px;display:grid}.login-card{background:#fff;border-radius:14px;gap:14px;width:min(460px,100%);padding:28px 28px 24px;display:grid;box-shadow:0 8px 28px #0000002e}.login-card h1{margin:0;font-size:1.25rem}.login-card p{margin:0;line-height:1.75}.login-brand{color:var(--board-3)}.login-btn{justify-self:start;align-items:center;gap:8px;padding:10px 18px;font-size:1rem;text-decoration:none;display:inline-flex}.login-note{color:var(--ink-2);font-size:.85rem}.me{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.me-name{font-weight:600}.boot{text-align:center;place-content:center;gap:12px;min-height:60vh;padding:24px 16px;display:grid}.boot-actions{justify-content:center;gap:8px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.repo-select{font:inherit;color:#fff;background:#ffffff24;border:1px solid #ffffff59;border-radius:8px;max-width:260px;padding:5px 8px;font-weight:700}.repo-select option{color:var(--ink)}.btn.ghost-dark{border:1px solid var(--line);color:var(--ink-2);background:0 0;justify-self:start}.login-card .btn.login-btn:not(.primary){background:var(--surface-2);border:1px solid var(--line);color:var(--ink)}a.btn{align-items:center;text-decoration:none;display:inline-flex}.history-more{color:#fff;text-align:center;justify-items:center;gap:10px;padding:18px 16px 28px;display:grid}.history-range,.history-end{opacity:.92;margin:0;font-size:.9rem}.history-empty{margin:0 0 12px;padding:14px 16px}.life.loose path{stroke-dasharray:5 5}.br-tag rect{fill:#fff;stroke:currentColor;stroke-width:1.5px;stroke-dasharray:3 2}.br-tag text{fill:currentColor;font-family:"Quicksand", var(--font);text-anchor:middle;font-size:11px;font-weight:700}.br-tag.dim{opacity:.25}
