h1{margin:14px 0 2px;font:400 clamp(2.2rem,4.6vw,3.4rem)/1 Zilla Slab,Rozha One,Mukta,serif;transform:rotate(-1deg)}h1 span{color:var(--acc)}.tools{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:12px 0 10px;display:flex}.tools input{border:2px solid var(--ink);background:var(--card);color:var(--ink);flex:220px;min-width:220px;max-width:340px;padding:9px 14px;font:500 18px Zilla Slab,Mukta}.tools input::placeholder{color:var(--mut)}.seg{border:2px solid var(--ink);display:flex}.seg button{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px 14px;font:600 16px Zilla Slab,Mukta}.seg button+button{border-left:2px solid var(--ink)}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.seg b{color:var(--mut);border-right:2px solid var(--ink);align-items:center;padding:8px 12px;font:600 15px Zilla Slab;display:flex}.tb{color:var(--ink);border:2px solid var(--ink);cursor:pointer;background:0 0;padding:8px 14px;font:600 16px Zilla Slab,Mukta}.tb:hover{background:var(--soft)}.tb[aria-pressed=true]{background:var(--ink);color:var(--bg)}.leg{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.leg button{background:var(--card);color:var(--ink);border:2px solid var(--ink);cursor:pointer;align-items:center;gap:8px;padding:5px 12px;font:600 16px Zilla Slab,Mukta;display:flex}.leg i{background:var(--tc);border:2px solid var(--ink);border-radius:50%;width:13px;height:13px}.leg button[aria-pressed=false]{opacity:.45;text-decoration:line-through}.stage{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:22px;display:grid}.cv{border:3px solid var(--ink);background:var(--soft);background-image:radial-gradient(var(--line) 1.3px,transparent 1.6px);touch-action:none;cursor:grab;background-size:28px 28px;height:clamp(500px,100vh - 290px,860px);position:relative;overflow:hidden}.cv.panning{cursor:grabbing}svg{-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.zoom{z-index:2;flex-direction:column;gap:6px;display:flex;position:absolute;top:12px;left:12px}.zoom button{background:var(--card);width:42px;height:42px;color:var(--ink);border:2px solid var(--ink);cursor:pointer;font:700 22px/1 Zilla Slab}.zoom button:hover{background:var(--acc);color:var(--bg)}.hint{z-index:2;color:var(--mut);pointer-events:none;max-width:70%;font:500 21px Caveat;position:absolute;bottom:10px;left:12px}.e{fill:none;stroke:var(--tc,var(--edge));stroke-linecap:round;transition:opacity .35s,stroke-width .35s}.e.t1{stroke-width:7px;opacity:.9}.e.t2{stroke-width:3px;opacity:.8}.e.lk{stroke:var(--mut);stroke-width:1.5px;stroke-dasharray:2 7;opacity:.4}.e.hot{opacity:1}.e.lk.hot{stroke:var(--acc);stroke-width:2.6px;stroke-dasharray:none;opacity:.95}.e.dim{opacity:.07}.n{cursor:pointer;outline:none;transition:opacity .35s}.n.dim{opacity:.16}.n.off,.e.off{display:none}.n .in{transform-box:fill-box;transform-origin:50%;transition:transform .25s}.n:hover .in,.n:focus-visible .in{transform:scale(1.22)}.n .dot{fill:var(--card);stroke:var(--tc);stroke-width:3px}.n.sel .dot{fill:var(--tc);stroke:var(--ink);stroke-width:3.5px}.n.match .dot{fill:var(--acc);stroke:var(--ink)}.n .ring{fill:none;stroke:var(--ink);stroke-width:2px;opacity:0;transition:opacity .25s}.n.sel .ring{opacity:1}.n.topic .dot{fill:var(--tc);stroke:var(--ink);stroke-width:3px}.n.root .dot{fill:var(--acc);stroke:var(--ink);stroke-width:3.5px}.n text{font:500 calc(15px*var(--ls,1)) "Zilla Slab","Mukta";fill:var(--ink);paint-order:stroke;stroke:var(--soft);stroke-width:calc(5px*var(--ls,1));stroke-linejoin:round;pointer-events:none}.n.topic text{font:700 calc(19px*var(--ls,1)) "Zilla Slab";text-anchor:middle}.n.root text{fill:var(--bg);stroke:none;text-anchor:middle;font:400 27px Rozha One}.n.leaf text{transition:opacity .3s}.nolbl .n.leaf:not(.sel):not(.nb):not(.match):not(:hover) text{opacity:0}.n.leaf.sel text{font-weight:700}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.15)}to{opacity:1;transform:scale(1)}}@keyframes fade{0%{opacity:0}}.grow .e.t1,.grow .e.t2{stroke-dasharray:1;animation:draw var(--du,1.4s) cubic-bezier(.4,.1,.25,1) var(--d,0s) backwards}.grow .n .in{animation:pop .9s cubic-bezier(.3,1.35,.5,1) var(--d,0s) backwards}.grow .e.lk{animation:fade 1.6s ease var(--d,5s) backwards}.grow .n.leaf text{animation:fade .9s ease var(--d,5s) backwards}.panel{background:var(--card);border:2px solid var(--ink);box-shadow:6px 7px 0 var(--g1);max-height:calc(100vh - 40px);padding:22px 22px 20px;position:sticky;top:14px;overflow:auto}.panel h2{margin:6px 0 8px;font:400 1.7rem/1.1 Zilla Slab,Rozha One,serif}.panel .k{align-items:center;gap:8px;display:flex}.panel .dt{background:var(--tc);border:2px solid var(--ink);border-radius:50%;width:13px;height:13px}.panel p{margin:0 0 12px;font-size:18px;line-height:1.5}.panel .m{color:var(--mut);font:600 16px Zilla Slab}.panel h3{letter-spacing:.02em;color:var(--mut);margin:18px 0 6px;font:700 15px Zilla Slab}.panel ul{margin:0;padding:0;list-style:none}.panel li{margin:0}.panel li button{text-align:left;width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;align-items:baseline;gap:10px;padding:8px 2px;font:500 18px/1.25 Zilla Slab,Mukta;display:flex}.panel li button:hover{background:var(--soft)}.panel li i{background:var(--tc);border:2px solid var(--ink);border-radius:50%;flex:none;width:10px;height:10px;transform:translateY(1px)}.panel .tags{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.panel .tags button{border:2px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;padding:0 9px;font:500 21px/1.1 Caveat}.panel .tags button:hover{background:var(--acc);color:var(--bg);border-color:var(--acc)}.panel .go{background:var(--acc);color:var(--bg);border:2px solid var(--ink);cursor:pointer;margin-top:10px;padding:9px 16px;font:700 18px Zilla Slab;text-decoration:none;display:inline-block}.panel .go:hover{background:var(--ink)}.panel .x{display:none}.panel .hn{color:var(--mut);font:500 22px/1.2 Caveat}@media (width<=900px){.stage{grid-template-columns:1fr}.cv{height:clamp(420px,66vh,720px)}.panel{z-index:70;border-width:3px 0 0;max-height:48vh;padding:18px 18px 22px;transition:transform .35s;position:fixed;inset:auto 0 0;transform:translateY(105%);box-shadow:0 -10px 30px #0004}.panel.open{transform:none}.panel .x{width:40px;height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;font:700 24px Zilla Slab;display:block;position:absolute;top:8px;right:10px}.panel.intro{display:none}.hint{max-width:90%}}@media (width<=560px){.tools input{max-width:none}}
