:root,[data-theme=graphite]{--bg:#131312;--raise:#191917;--deep:#0e0e0d;--fg:#e9e5dc;--text:#bab6ad;--dim:#7f7b72;--line:#272623;--line2:#363531;--acc:#f0cf65;--b:#8fb3d6;--g:#9cc48a;--r:#d98a7a;--art:#6e6a62;--artfill:#4a4842}[data-theme=python]{--bg:#0e141c;--raise:#131c27;--deep:#0a0f15;--fg:#e8edf3;--text:#aab6c3;--dim:#6f7f90;--line:#1d2834;--line2:#2a3947;--acc:#ffd43b;--b:#7fb0e0;--g:#9cc48a;--r:#e08b7c;--art:#5d7086;--artfill:#34475b}:root{--sans:"Schibsted Grotesk",system-ui,sans-serif;--mono:"Fragment Mono",ui-monospace,monospace}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);transition:background .4s}body{color:var(--text);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}::selection{background:var(--acc);color:#111}a{color:var(--fg);text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}.wrap{max-width:1120px;margin:0 auto;padding:0 40px}.u{border-bottom:1px solid var(--line2);transition:border-color .2s}.u:hover{border-color:var(--acc)}.alt{display:none}.alt.on{display:block}nav{justify-content:space-between;align-items:center;height:76px;font-size:14px;display:flex}nav .me{color:var(--fg);font-weight:500}nav .links{gap:28px;display:flex}nav .links a{color:var(--dim);transition:color .2s}nav .links a:hover{color:var(--fg)}.hero{padding-top:290px;position:relative}svg.tree{pointer-events:none;width:100%;height:290px;position:absolute;top:0;left:0;overflow:visible}.tree path{fill:none;stroke:var(--line2);stroke-width:1px;transition:stroke .25s}.tree path.on{stroke:var(--acc)}.tree circle{fill:var(--bg);stroke:var(--dim);stroke-width:1px;transition:all .25s}.tree circle.on{fill:var(--acc);stroke:var(--acc)}.tree text{font:11px var(--mono);fill:var(--dim);transition:fill .25s}.tree text.on{fill:var(--fg)}.tree .n{opacity:0;animation:.5s forwards fade}.tree .treecat{pointer-events:auto;cursor:default}.tree .treecat text{fill:var(--text);white-space:pre;font-size:11px}.tree .treecat:hover text{fill:var(--acc)}@keyframes fade{to{opacity:1}}h1.sent{letter-spacing:-.025em;color:var(--fg);font-size:clamp(38px,5.6vw,66px);font-weight:500;line-height:1.08}h1 [data-w]{cursor:help;background:linear-gradient(var(--line2),var(--line2)) 0 100%/100% 1px no-repeat;padding-bottom:2px;transition:color .2s}h1 [data-w]:hover{color:#fff;background-image:linear-gradient(var(--acc),var(--acc))}.hint{color:var(--dim);margin-top:20px;font-size:14px}.hover{z-index:5;background:var(--raise);border:1px solid var(--line2);opacity:0;pointer-events:none;border-radius:6px;width:max-content;max-width:min(380px,100vw - 40px);transition:opacity .15s,transform .15s;position:absolute;transform:translateY(-4px);box-shadow:0 14px 36px #0009}.hover.show{opacity:1;transform:none}.hover .sig{font:13px/1.5 var(--mono);color:var(--fg);border-bottom:1px solid var(--line);padding:10px 14px}.hover .path{font:12px var(--mono);color:var(--dim);padding:7px 14px 0;display:none}.hover .doc{color:var(--text);padding:10px 14px 12px;font-size:14px;line-height:1.55}.k{color:var(--acc)}.t{color:var(--b)}.s{color:var(--g)}.p{color:var(--dim)}.o{color:var(--b)}.i{color:var(--g)}.intro{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:56px;margin-top:56px;padding:44px 0 0;display:grid}.intro p{max-width:500px;font-size:17px}.intro p+p{margin-top:12px}.intro em{color:var(--fg);font-style:normal}.facts{grid-template-columns:auto 1fr;align-content:start;gap:10px 28px;font-size:15px;display:grid}.facts dt{color:var(--dim)}section{grid-template-columns:220px 1fr;gap:40px;padding:104px 0 0;display:grid}.sh{color:var(--dim);align-self:start;font-size:14px;position:sticky;top:24px}.sh b{color:var(--fg);font-size:15px;font-weight:500;display:block}.kedi-lede{color:var(--fg);max-width:620px;font-size:19px;line-height:1.5}.kedi-lede+p{max-width:620px;margin-top:12px}.kedi-links{gap:22px;margin:18px 0 28px;font-size:15px;display:flex}.ascii{font:13px/1.2 var(--mono);white-space:pre;color:var(--fg)}.term{background:var(--deep);border:1px solid var(--line);border-radius:8px;overflow:hidden}.term-h{border-bottom:1px solid var(--line);font:13px var(--mono);color:var(--dim);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.term-b{font:14px/1.75 var(--mono);color:var(--fg);padding:20px 22px 18px}.term-b .head{align-items:center;gap:16px;margin-bottom:14px;display:flex}.term-b .head b{font-weight:400;display:block}.term-b .head small{color:var(--dim);font-size:12px}.pr{color:var(--dim)}.caret{background:var(--fg);vertical-align:-3px;width:.6em;height:1.1em;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.term-f{border-top:1px solid var(--line);font:12px var(--mono);color:var(--dim);align-items:center;gap:14px;padding:10px 16px;display:flex}.term-f button{width:26px;height:26px;color:var(--text);border-radius:5px;place-items:center;display:grid}.term-f button:hover{background:var(--line)}.prog{background:var(--line2);border-radius:2px;flex:1;height:3px;overflow:hidden}.prog i{background:var(--acc);width:0;height:100%;display:block}.k2{border:1px solid var(--line);background:var(--raise);border-radius:8px;grid-template-columns:260px 1fr;display:grid;overflow:hidden}.k2 .stage{border-right:1px solid var(--line);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fg) 6%,transparent) 1px,transparent 0) 0 0/14px 14px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:28px;display:flex}.k2 .big{font:26px/1.15 var(--mono);white-space:pre;color:var(--fg)}.k2 .mood{font:12px var(--mono);color:var(--dim);height:16px}.k2 .play{font:14px/2 var(--mono);color:var(--fg);padding:26px 28px}.k2 .play .cap{font:13px var(--sans);color:var(--dim);margin-bottom:12px;line-height:1.5}.k2 input{font:14px var(--mono);color:var(--b);background:var(--deep);border:1px solid var(--line2);width:9.5ch;caret-color:var(--acc);border-radius:4px;padding:1px 6px}.k2 input:focus{border-color:var(--acc);outline:0}.k2 .out{color:var(--text);padding-left:2ch}.src{background:var(--deep);border:1px solid var(--line);border-radius:8px;overflow:hidden}.src-h{border-bottom:1px solid var(--line);font:13px var(--mono);justify-content:space-between;align-items:center;display:flex}.src-h .tab{color:var(--fg);border-right:1px solid var(--line);background:var(--bg);padding:10px 16px}.src-h button{border:1px solid var(--line2);font:12px var(--mono);color:var(--text);border-radius:5px;margin-right:10px;padding:4px 10px}.src-h button:hover{border-color:var(--acc);color:var(--fg)}.code{min-width:0;font:14px/1.85 var(--mono);grid-template-columns:auto minmax(0,1fr);padding:16px 0;display:grid}.code .ln{color:#4c4a45;text-align:right;user-select:none;white-space:pre;padding:0 18px 0 20px}.code pre{font:inherit;color:var(--fg);padding-right:20px;overflow-x:auto}.code [data-n]{border-radius:3px;transition:background .12s}.code [data-n].hl{background:color-mix(in srgb,var(--acc) 16%,transparent)}.crumb{border-top:1px solid var(--line);font:12px var(--mono);color:var(--dim);white-space:nowrap;text-overflow:ellipsis;min-height:38px;padding:9px 18px;overflow:hidden}.crumb b{color:var(--acc);font-weight:400}.runout{border-top:1px solid var(--line);font:13px/1.8 var(--mono);color:var(--text);padding:12px 20px;display:none}.runout.on{display:block}.cards{grid-template-columns:1fr 1fr;gap:16px;display:grid}.card{background:var(--raise);border:1px solid var(--line);border-radius:8px;flex-direction:column;transition:border-color .25s;display:flex;overflow:hidden}.card:hover{border-color:var(--line2)}.art{border-bottom:1px solid var(--line);background:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fg) 6%,transparent) 1px,transparent 0) 0 0/14px 14px;justify-content:center;align-items:center;height:150px;display:flex}.art svg{width:240px;height:110px;overflow:visible}.cbody{flex-direction:column;flex:1;padding:18px 20px 20px;display:flex}.card h3{color:var(--fg);justify-content:space-between;align-items:baseline;gap:12px;font-size:17px;font-weight:500;display:flex}.card h3 span{color:var(--dim);font-size:13px;font-weight:400}.card p{flex:1;margin-top:6px;font-size:15px}.meta{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.chip{color:var(--dim);border:1px solid var(--line2);border-radius:99px;padding:2px 9px;font-size:12px}.lnn{fill:none;stroke:var(--art);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round}.fillbg{fill:var(--raise)}.snap g{transition:transform .5s cubic-bezier(.2,.8,.2,1)}.snap .s1{transform:translate(-8px,-8px)}.snap .s3{transform:translate(8px,8px)}.act .snap .s1{transform:translate(-58px,-6px)}.act .snap .s3{transform:translate(58px,6px)}.snap .add{stroke:var(--g)}.snap .del{stroke:var(--r)}.bench rect{fill:var(--artfill);transition:height .5s cubic-bezier(.2,.8,.2,1),y .5s cubic-bezier(.2,.8,.2,1),fill .3s}.bench rect.best{fill:var(--acc)}.gepa circle{fill:var(--art);transition:transform 1.1s cubic-bezier(.3,.7,.2,1),fill .4s}.gepa circle.best{fill:var(--acc)}.acp .pk{fill:var(--acc);opacity:0}.act .acp .pk{animation:1.4s linear infinite go}.act .acp .pk.back{fill:var(--b);animation:1.4s linear infinite back}.acp .pk:nth-of-type(2){animation-delay:.47s!important}.acp .pk:nth-of-type(3){animation-delay:.94s!important}@keyframes go{0%{opacity:0;transform:translate(0)}10%,90%{opacity:1}to{opacity:0;transform:translate(76px)}}@keyframes back{0%{opacity:0;transform:translate(0)}10%,90%{opacity:1}to{opacity:0;transform:translate(-76px)}}.acp text,.flow text{font:10px var(--mono);fill:var(--dim)}.pindex{grid-template-columns:1fr 300px;gap:32px;display:grid}.prow{border-top:1px solid var(--line);cursor:default;grid-template-columns:1fr auto;align-items:baseline;gap:4px 20px;padding:18px 0;display:grid}.prow:last-child{border-bottom:1px solid var(--line)}.prow h3{letter-spacing:-.02em;color:var(--dim);font-size:30px;font-weight:500;line-height:1.1;transition:color .2s}.prow span{color:var(--dim);font-size:13px}.prow p{opacity:0;grid-column:1/-1;max-height:0;font-size:15px;transition:max-height .35s,opacity .25s;overflow:hidden}.prow.act h3{color:var(--fg)}.prow.act p{opacity:1;max-height:80px;margin-top:4px}.preview{border:1px solid var(--line);background:var(--raise);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fg) 6%,transparent) 1px,transparent 0);background-size:14px 14px;border-radius:8px;justify-content:center;align-self:start;align-items:center;height:230px;display:flex;position:sticky;top:24px}.preview svg{width:240px;height:110px;overflow:visible}.pgraph{border:1px solid var(--line);background:var(--raise);border-radius:8px;overflow:hidden}.pgraph svg{width:100%;height:auto;display:block}.gn rect{fill:var(--bg);stroke:var(--line2);transition:stroke .2s,fill .2s}.gn text{font:13px var(--sans);fill:var(--text);transition:fill .2s}.gn{cursor:pointer}.gn.ext rect{stroke-dasharray:3 3;fill:#0000}.gn.ext text{fill:var(--dim);font-family:var(--mono);font-size:12px}.gn.main rect{stroke:var(--acc)}.gn.main text{fill:var(--fg);font-weight:500}.gn.on rect{stroke:var(--acc);fill:color-mix(in srgb,var(--acc) 10%,var(--bg))}.gn.on text{fill:var(--fg)}.ge path{fill:none;stroke:var(--line2);stroke-width:1.2px;transition:stroke .2s}.ge text{font:11px var(--mono);fill:var(--dim);opacity:0;transition:opacity .2s}.ge.on path{stroke:var(--acc)}.ge.on text{opacity:1}.gdetail{border-top:1px solid var(--line);grid-template-columns:200px 1fr;gap:20px;min-height:96px;padding:18px 22px;display:grid}.gdetail b{color:var(--fg);font-size:17px;font-weight:500}.gdetail small{color:var(--dim);font-size:13px;display:block}.gdetail p{font-size:15px}.case{border-top:1px solid var(--line);grid-template-columns:1fr 300px;gap:40px;padding:32px 0 36px;display:grid}.case:last-child{border-bottom:1px solid var(--line)}.case h3{color:var(--fg);letter-spacing:-.01em;font-size:24px;font-weight:500}.case .ctx{color:var(--dim);margin-top:2px;font-size:14px}.pa{grid-template-columns:84px 1fr;gap:10px 20px;max-width:600px;margin-top:22px;font-size:15px;display:grid}.pa dt{color:var(--dim)}.case .links{gap:20px;margin-top:22px;font-size:15px;display:flex}.case-art{background:var(--raise);border:1px solid var(--line);border-radius:8px;justify-content:center;align-self:center;align-items:center;height:200px;display:flex}.case-art svg{width:260px;height:160px;overflow:visible}.flow .pulse{fill:var(--acc);opacity:0}.case:hover .flow .pulse{animation:2.2s linear infinite flow}@keyframes flow{0%{opacity:0;offset-distance:0%}8%{opacity:1}92%{opacity:1}to{opacity:0;offset-distance:100%}}.flow .ok{stroke:var(--g)}.deck .pin{transform-box:fill-box;transform-origin:50%;transition:transform .35s cubic-bezier(.3,1.6,.5,1);transform:scale(0)}.case:hover .deck .pin{transform:scale(1)}.case:hover .deck .pin:nth-of-type(2){transition-delay:.12s}.case:hover .deck .pin:nth-of-type(3){transition-delay:.24s}.posts a{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:4px 24px;padding:20px 0;display:grid}.posts a:last-child{border-bottom:1px solid var(--line)}.posts .ti{color:var(--fg);grid-area:1/1;font-size:19px;font-weight:500;transition:color .2s}.posts a:hover .ti{color:var(--acc)}.posts .dt{color:var(--dim);white-space:nowrap;grid-area:1/2;padding-top:4px;font-size:13px}.posts .de{grid-area:2/1;font-size:15px}.posts .badges{grid-area:3/1/auto/-1;gap:6px;margin-top:8px;display:flex}.badge{color:var(--dim);border:1px solid var(--line2);border-radius:4px;align-items:center;gap:6px;padding:1px 8px;font-size:12px;display:inline-flex}.badge i{border-radius:50%;width:6px;height:6px}.more{margin-top:20px;font-size:15px;display:inline-block}.feat{border:1px solid var(--line);background:var(--raise);border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:8px;display:grid;overflow:hidden}.feat .fx{border-right:1px solid var(--line);background:var(--deep);flex-direction:column;display:flex}.feat .fx svg{flex:1;width:100%;min-height:260px}.feat .fx small{color:var(--dim);border-top:1px solid var(--line);padding:10px 16px;font-size:12px}.feat .ft{flex-direction:column;padding:26px 28px;display:flex}.feat .ft span{color:var(--dim);font-size:13px}.feat h3{color:var(--fg);letter-spacing:-.015em;margin:8px 0 12px;font-size:28px;font-weight:500;line-height:1.15}.feat p{flex:1;font-size:16px}.feat .go{align-self:flex-start;margin-top:18px;font-size:15px}.ring text{font:11px var(--mono);fill:var(--dim)}.ring .core{fill:var(--bg);stroke:var(--acc)}.ring .sat{fill:var(--bg);stroke:var(--line2)}.ring .sat.hit{stroke:var(--acc)}.ring .orb{fill:none;stroke:var(--line2);stroke-dasharray:2 5}.ring .pkt{fill:var(--acc)}.compact a{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:20px;padding:13px 0;display:grid}.compact a span:first-child{color:var(--fg)}.compact a:hover span:first-child{color:var(--acc)}.compact a span:last-child{color:var(--dim);font-size:13px}.filters{gap:6px;margin:30px 0 4px;display:flex}.filters button{color:var(--dim);border:1px solid var(--line2);border-radius:99px;padding:3px 12px;font-size:13px}.filters button.on{color:#111;background:var(--fg);border-color:var(--fg)}.yr{color:var(--dim);padding:22px 0 6px;font-size:13px}.irow{border-top:1px solid var(--line);grid-template-columns:70px 1fr auto auto;align-items:baseline;gap:18px;padding:10px 0;display:grid}.irow .d{color:var(--dim);font-size:13px}.irow .t{color:var(--fg);font-size:16px}.irow:hover .t{color:var(--acc)}.irow .x{gap:4px;display:flex}.irow .x i{border-radius:50%;width:6px;height:6px;display:inline-block}.irow .l{color:var(--dim);text-align:right;width:22px;font-size:12px}.xp{border-top:1px solid var(--line);grid-template-columns:140px 1fr;gap:4px 24px;padding:18px 0;display:grid}.xp:last-child{border-bottom:1px solid var(--line)}.xp .when{color:var(--dim);padding-top:2px;font-size:14px}.xp b{color:var(--fg);font-weight:500}.xp p{grid-column:2;font-size:15px}.num{color:var(--fg)}footer{border-top:1px solid var(--line);color:var(--dim);grid-template-columns:auto 1fr auto;align-items:end;gap:28px;margin-top:140px;padding:28px 0 110px;font-size:14px;display:grid;position:relative}footer .fcat{font:12px/1.2 var(--mono);white-space:pre;color:var(--text);cursor:default;position:absolute;top:-50px;right:20px}footer .fcat .zz{color:var(--dim)}footer a{color:var(--dim);margin-right:20px}footer a:hover{color:var(--fg)}footer .clock{color:var(--text)}footer .colo{grid-column:1/-1;font-size:13px}.kpanel{background:var(--deep);border:1px solid var(--line);border-radius:8px;overflow:hidden}.ktabs{border-bottom:1px solid var(--line);align-items:stretch;display:flex}.ktabs [role=tab]{font:13px var(--mono);color:var(--dim);border-right:1px solid var(--line);padding:11px 18px;transition:color .2s;position:relative}.ktabs [role=tab]:hover{color:var(--text)}.ktabs [role=tab].on{color:var(--fg);background:var(--bg);box-shadow:inset 0 1px 0 var(--acc)}.ktabs [role=tab].nudge:after{content:"";background:var(--acc);border-radius:50%;width:5px;height:5px;animation:1.4s step-end 3 blink;position:absolute;top:9px;right:7px}.kright{font:12px var(--mono);color:var(--dim);align-items:center;margin-left:auto;padding-right:12px;display:flex}.kright [data-for]{display:none}.kpanel[data-active=replay] .kright [data-for=replay],.kpanel[data-active=source] .kright [data-for=source]{display:inline-block}#runbtn{border:1px solid var(--line2);font:12px var(--mono);color:var(--text);border-radius:5px;padding:4px 10px}#runbtn:hover{border-color:var(--acc);color:var(--fg)}.kbody{min-width:0;display:none}.kbody.on{flex-direction:column;display:flex}.kbody .term-b{flex:1}.kbody .code{flex:1;align-content:start}.stage-box{border:1px solid var(--line);background:var(--raise);border-radius:8px;grid-template-columns:1.1fr 1fr;min-height:280px;display:grid;overflow:hidden}.sart{border-right:1px solid var(--line);background:var(--deep);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--fg) 6%,transparent) 1px,transparent 0);background-size:14px 14px;justify-content:center;align-items:center;display:flex}.sart svg{width:min(340px,88%);height:auto;overflow:visible}.stxt{flex-direction:column;padding:26px 28px;display:flex}.stxt .when{color:var(--dim);font-size:13px}.stxt h3{color:var(--fg);letter-spacing:-.015em;margin:6px 0 10px;font-size:28px;font-weight:500;line-height:1.1}.stxt p{flex:1;font-size:15.5px}.slinks{gap:18px;margin-top:16px;font-size:15px;display:flex}.stage-box.swap .stxt>*,.stage-box.swap .sart svg{animation:.4s cubic-bezier(.2,.8,.2,1) both sw}.stage-box.swap .stxt>:nth-child(2){animation-delay:30ms}.stage-box.swap .stxt>:nth-child(3){animation-delay:60ms}@keyframes sw{0%{opacity:0;transform:translateY(5px)}}.plist{margin-top:6px}.pl{text-align:left;border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:baseline;gap:18px;width:100%;padding:14px 0 14px 22px;display:grid;position:relative}.pl .nm{letter-spacing:-.015em;color:var(--dim);font-size:24px;font-weight:500;line-height:1.2;transition:color .2s}.pl .l1{color:var(--dim);font-size:14px}.pl .wh{color:var(--dim);font-size:13px}.pl:before{content:"";background:var(--acc);border-radius:50%;width:6px;height:6px;transition:transform .25s cubic-bezier(.3,1.6,.5,1);position:absolute;top:50%;left:4px;transform:translateY(-50%)scale(0)}.pl:hover .nm{color:var(--text)}.pl.on .nm{color:var(--fg)}.pl.on:before{transform:translateY(-50%)scale(1)}.side{grid-template-columns:1fr 380px;gap:32px;display:grid}.plist.big{margin-top:0}.plist.big .pl{grid-template-columns:1fr auto;gap:2px 18px;padding:18px 0 18px 22px}.plist.big .pl:first-child{border-top:1px solid var(--line)}.plist.big .nm{letter-spacing:-.025em;font-size:36px}.plist.big .l1{grid-area:2/1}.plist.big .wh{grid-area:1/2}.plist.big .pl:before{top:42px}.stage-box.tall{grid-template-columns:1fr;align-self:start;position:sticky;top:24px}.stage-box.tall .sart{border-right:0;border-bottom:1px solid var(--line);height:200px}.stage-box.tall .stxt h3{display:none}.notes{border-top:1px solid var(--line);grid-template-columns:1fr 300px;gap:56px;margin-top:56px;padding-top:44px;display:grid}.notes .big{max-width:640px;font-size:22px;line-height:1.5}.notes .big+.big{margin-top:16px}.notes .elsewhere{color:var(--dim);margin-top:26px;font-size:15px}.nref{color:var(--fg);background:linear-gradient(var(--line2),var(--line2)) 0 100%/100% 1px no-repeat;cursor:default;transition:background .2s}.nref:after{content:attr(data-n);font:11px var(--mono);color:var(--acc);vertical-align:super;margin-left:2px}.nref.on{background-image:linear-gradient(var(--acc),var(--acc))}.notes aside{position:relative}.note{color:var(--dim);font-size:14px;line-height:1.55;transition:color .2s;position:absolute;left:0;right:0}.note b{font:11px var(--mono);color:var(--acc);margin-right:8px;font-weight:400}.note.on{color:var(--fg)}.lately{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:56px;margin-top:56px;padding-top:44px;display:grid}.lately p{max-width:500px;font-size:17px}.lately p+p{margin-top:12px}.lately em{color:var(--fg);font-style:normal}.lately .reach{color:var(--dim);margin-top:20px;font-size:15px}.lately h4{color:var(--fg);margin-bottom:10px;font-size:15px;font-weight:500}.log{list-style:none;position:relative}.log:before{content:"";background:var(--line2);width:1px;position:absolute;top:18px;bottom:18px;left:3px}.log li{grid-template-columns:76px 1fr;gap:14px;padding:7px 0 7px 20px;font-size:15px;display:grid;position:relative}.log li:before{content:"";border:1px solid var(--dim);background:var(--bg);border-radius:50%;width:7px;height:7px;position:absolute;top:15px;left:0}.log li:first-child:before{background:var(--acc);border-color:var(--acc)}.log time{color:var(--dim);font-size:14px}.tl-axis,.tl-row{grid-template-columns:210px 1fr;align-items:center;gap:24px;display:grid}.tl-axis .yrs{height:22px;color:var(--dim);font-size:12px;position:relative}.tl-axis .yrs span{position:absolute;transform:translate(-50%)}.tl-axis .yrs .nowlab{color:var(--acc)}.tl-row{border-top:1px solid var(--line);cursor:default;padding:12px 0}.tl-row:last-child{border-bottom:1px solid var(--line)}.tl-row .lab b{color:var(--text);font-size:15px;font-weight:500;transition:color .2s;display:block}.tl-row .lab small{color:var(--dim);font-size:13px}.tl-row.on .lab b{color:var(--fg)}.track{background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 20%);height:30px;position:relative}.track:after{content:"";left:var(--now);background:color-mix(in srgb,var(--acc) 55%,transparent);width:1px;position:absolute;top:-12px;bottom:-12px}.track .bar{background:var(--artfill);border-radius:2px;height:8px;transition:background .2s;position:absolute;top:11px}.track .bar.open{-webkit-mask:linear-gradient(90deg,#000 70%,#0006);mask:linear-gradient(90deg,#000 70%,#0006)}.tl-row.on .bar{background:var(--acc)}.tl-detail{max-width:640px;min-height:50px;margin-top:18px;font-size:15px}.track .bar.thin{height:2px;top:14px}.ms{background:var(--bg);border:1.5px solid var(--dim);cursor:pointer;border-radius:50%;width:12px;height:12px;margin-left:-6px;padding:0;transition:all .2s;position:absolute;top:9px}.ms:hover,.ms.on{background:var(--acc);border-color:var(--acc);transform:scale(1.15)}.tl-detail .dd{color:var(--dim);margin-right:14px;font-size:14px}.git{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 0}.git svg{width:100%;height:auto;display:block;overflow:visible}.gy{stroke:var(--line);stroke-width:1px}.gyl{font:11px var(--sans);fill:var(--dim)}.gnow{stroke:var(--acc);stroke-opacity:.5;stroke-width:1px}.gl{fill:none;stroke:var(--line2);stroke-width:2px}.gl.main{stroke:var(--art)}.gname{font:12px var(--mono);fill:var(--dim)}.ghead{font:11px var(--mono);fill:var(--acc)}.gc{fill:var(--bg);stroke:var(--art);stroke-width:2px;cursor:pointer;transition:fill .2s,stroke .2s}.gc.merge{stroke:var(--fg)}.gc:hover,.gc.on{fill:var(--acc);stroke:var(--acc)}.gc:focus{outline:none}.git-detail{flex-wrap:wrap;align-items:baseline;gap:16px;min-height:26px;margin-top:16px;font-size:15px;display:flex}.git-detail .gh{font:13px var(--mono);color:var(--acc)}.git-detail .gm{font:14px var(--mono);color:var(--fg)}.git-detail .gd{color:var(--dim);font-size:13px}.social{gap:6px;margin-top:28px;display:flex}.social a{border:1px solid var(--line2);width:38px;height:38px;color:var(--text);border-radius:8px;place-items:center;transition:color .2s,border-color .2s;display:grid;position:relative}.social a:hover,.social a:focus-visible{color:var(--fg);border-color:var(--acc)}.social a:after{content:attr(data-tip);white-space:nowrap;color:var(--text);background:var(--raise);border:1px solid var(--line2);opacity:0;pointer-events:none;border-radius:5px;padding:3px 8px;font-size:12px;transition:all .15s;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-3px)}.social a:hover:after,.social a:focus-visible:after{opacity:1;transform:translate(-50%)}.tbx{grid-template-columns:1fr 1fr;gap:40px;display:grid}.tbx .xp{grid-template-columns:110px 1fr}.tools{border-top:1px solid var(--line);grid-template-columns:96px 1fr;align-content:start;gap:9px 18px;padding-top:18px;font-size:15px;display:grid}.tools dt{color:var(--dim)}@media (width<=900px){.notes,.lately,.tbx,.stage-box,.side,.tl-axis,.tl-row{grid-template-columns:1fr;gap:20px}.note{margin-top:10px;position:static}.stage-box.tall{position:static}.sart{border-right:0;border-bottom:1px solid var(--line);min-height:180px}.tl-axis{display:none}.hero{padding-top:40px}svg.tree{display:none}.hover .path{display:block}.intro,section,.case,.pindex,.k2,.feat,.gdetail{grid-template-columns:minmax(0,1fr);gap:24px}.cards{grid-template-columns:minmax(0,1fr)}.sh,.preview{position:static}.k2 .stage,.feat .fx{border-right:0;border-bottom:1px solid var(--line)}}@media (width<=640px){.wrap{padding:0 20px}nav{flex-wrap:wrap;gap:10px 16px;height:auto;padding:20px 0 4px}nav .links{flex-wrap:wrap;gap:6px 18px}footer{grid-template-columns:1fr;align-items:start;gap:14px;padding-bottom:90px}footer .colo{grid-column:auto}footer a{margin:0 16px 4px 0;display:inline-block}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.tree .n{opacity:1}}a.chip{color:var(--text);transition:color .2s,border-color .2s}a.chip:hover{color:var(--fg);border-color:var(--dim)}.tl-plain{border-top:1px solid var(--line);list-style:none}.tl-plain li{border-bottom:1px solid var(--line);padding:14px 0}.tl-plain b{color:var(--fg);margin-right:12px;font-weight:500}.tl-plain small{color:var(--dim);font-size:13px}.tl-plain p{margin-top:4px;font-size:15px}@media (width<=640px){.ktabs [role=tab]{white-space:nowrap;padding:11px 12px}section{padding-top:64px}.pa{grid-template-columns:1fr;gap:2px 0}.pa dd{margin-bottom:12px}.xp{grid-template-columns:1fr}.xp p{grid-column:auto}.code{font-size:12px}.code .ln{padding:0 12px 0 14px}.kpanel .kright [data-for=replay]{display:none!important}}.feat.solo{grid-template-columns:1fr}.hover .ts-keyword{color:var(--acc)}.hover .ts-type,.hover .ts-function{color:var(--b)}.hover .ts-punct,.hover .ts-operator{color:var(--dim)}.hover .ts-comment{color:var(--dim);font-style:italic}.hover .ts-string{color:var(--g)}.hover .ts-number{color:var(--r)}
