*,:before,:after{box-sizing:border-box}:root{--bg:#0b0d0a;--paper:#12150f;--ink:#efe9d8;--mute:#8d8a7c;--rail:#2c3328;--planned:#8a8778;--live:#e6a23c;--wait:#6aa8a0;--done:#7a8f62;--line:#1c2118}html,body,#root{background:var(--bg);min-height:100%;color:var(--ink);margin:0}body{background:radial-gradient(1200px 600px at 12% -10%, #e6a23c12, transparent 55%), radial-gradient(900px 500px at 90% 110%, #6aa8a00f, transparent 50%), var(--bg);font-family:ui-sans-serif,system-ui,Segoe UI,sans-serif}.page{min-height:100dvh;padding:.7rem .85rem 1.4rem}.tree,.kids{margin:0;padding:0;list-style:none}.tree{max-width:56rem}.root-item>.node{padding:.32rem .5rem}.root-item>.node .code{font-size:.72rem}.kids{margin-left:.55rem;padding-left:.95rem;position:relative}.kids>li{position:relative}.kids>li:before{content:"";border-left:1px solid var(--rail);border-bottom:1px solid var(--rail);width:.92rem;height:.92rem;position:absolute;top:0;left:-.95rem}.kids>li:not(:last-child):after{content:"";border-left:1px solid var(--rail);position:absolute;top:.92rem;bottom:0;left:-.95rem}.kids.waiting-rail>li:before,.kids.waiting-rail>li:not(:last-child):after{border-left-style:dashed;border-left-color:color-mix(in srgb, var(--wait) 55%, var(--rail))}.kids.waiting-rail>li:before{border-bottom-style:dashed;border-bottom-color:color-mix(in srgb, var(--wait) 55%, var(--rail))}.node{border:1px solid var(--line);background:color-mix(in srgb, var(--paper) 88%, transparent);border-radius:6px;flex-wrap:wrap;align-items:center;gap:.28rem .45rem;width:100%;margin:.08rem 0;padding:.24rem .48rem;transition:opacity .16s,border-color .16s,background .16s;display:flex}.node.dimmed{opacity:.34}.node.related{border-color:color-mix(in srgb, var(--wait) 35%, var(--line))}.node.selected{border-color:color-mix(in srgb, var(--live) 55%, var(--line));background:color-mix(in srgb, var(--paper) 70%, #1a160c)}.node.waiting{border-style:dashed;border-color:color-mix(in srgb, var(--wait) 42%, var(--line))}.node-main{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:.32rem .45rem;margin:0;padding:0;display:flex}.node-main:focus-visible,.wait-chip:focus-visible{outline:1px solid var(--live);outline-offset:2px}.pip{border-radius:99px;flex:none;width:.5rem;height:.5rem}.node.planned .pip{box-shadow:inset 0 0 0 1.5px var(--planned);background:0 0}.node.in-progress .pip{background:var(--live);box-shadow:0 0 0 3px color-mix(in srgb, var(--live) 22%, transparent);animation:2.4s ease-in-out infinite pulse}.node.done .pip{background:var(--done)}.node.done .name,.node.done .code{color:color-mix(in srgb, var(--ink) 55%, var(--mute))}@keyframes pulse{0%,to{box-shadow:0 0 0 3px color-mix(in srgb, var(--live) 18%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--live) 8%, transparent)}}.code{letter-spacing:.08em;color:color-mix(in srgb, var(--ink) 78%, var(--live));font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:600}.name{letter-spacing:.01em;font-size:.88rem;font-weight:500}.status{letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem}.node.in-progress .status{color:var(--live)}.node.planned .status{color:var(--planned)}.waits{flex-wrap:wrap;gap:.22rem;margin-left:auto;display:flex}.wait-chip{border:1px dashed color-mix(in srgb, var(--wait) 70%, transparent);background:color-mix(in srgb, var(--wait) 10%, transparent);color:var(--wait);letter-spacing:.08em;cursor:pointer;border-radius:999px;margin:0;padding:.08rem .32rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem;font-weight:500}.key{gap:.7rem;margin:0 0 .5rem;display:flex}.key-item{letter-spacing:.12em;text-transform:uppercase;color:var(--mute);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.58rem}.key-item:before{content:"";vertical-align:.05rem;border-radius:99px;width:.42rem;height:.42rem;margin-right:.32rem;display:inline-block}.key-item.planned:before{box-shadow:inset 0 0 0 1.5px var(--planned)}.key-item.live:before{background:var(--live)}.key-item.wait:before{box-shadow:inset 0 0 0 1.5px var(--wait);background:color-mix(in srgb, var(--wait) 18%, transparent)}@media (prefers-reduced-motion:reduce){.node.in-progress .pip{animation:none}}@media (width<=720px){.page{padding:.55rem .55rem 1.1rem}.name{font-size:.84rem}.code{font-size:.62rem}.waits{width:100%;margin-left:1.05rem}.kids{margin-left:.4rem;padding-left:.82rem}.kids>li:before{width:.78rem;height:.88rem;left:-.82rem}.kids>li:not(:last-child):after{top:.88rem;left:-.82rem}}
