.dm-hue{--dm: oklch(.58 .16 var(--h));--dm-2: oklch(.62 .15 calc(var(--h) + 40));--dm-soft: oklch(.58 .16 var(--h) / .1);--dm-line: oklch(.58 .16 var(--h) / .35)}.dark .dm-hue{--dm: oklch(.76 .14 var(--h));--dm-2: oklch(.8 .12 calc(var(--h) + 40));--dm-soft: oklch(.76 .14 var(--h) / .12);--dm-line: oklch(.76 .14 var(--h) / .4)}.dm-glyph{display:block;overflow:visible}.dm-glyph>*{stroke-dasharray:1;stroke-dashoffset:0}[data-reveal] .dm-glyph>*{stroke-dashoffset:1}[data-reveal].is-visible .dm-glyph>*{stroke-dashoffset:0;transition:stroke-dashoffset 1.1s cubic-bezier(.65,0,.35,1);transition-delay:calc(var(--reveal-delay, 0ms) + .25s)}@media(prefers-reduced-motion:reduce){[data-reveal] .dm-glyph>*{stroke-dashoffset:0;transition:none}}.dm-page{position:relative;isolation:isolate}.dm-ink{color:var(--dm)}.dm-aurora{position:absolute;inset:0 0 auto;z-index:-1;height:720px;overflow:hidden;pointer-events:none;mask-image:linear-gradient(to bottom,#000 35%,transparent)}.dm-aurora span{position:absolute;width:620px;height:620px;border-radius:9999px;filter:blur(90px);animation:dm-drift 22s ease-in-out infinite alternate}.dm-aurora span:first-child{top:-260px;left:8%;background:oklch(.72 .15 var(--h) / .22)}.dm-aurora span:last-child{top:-200px;right:4%;background:oklch(.74 .13 calc(var(--h) + 40) / .16);animation-duration:28s;animation-direction:alternate-reverse}@keyframes dm-drift{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(90px,60px,0) scale(1.12)}}.dm-rail{margin:1.75rem -1.5rem 0;mask-image:linear-gradient(90deg,transparent,#000 1.5rem,#000 calc(100% - 1.5rem),transparent)}.dm-rail-track{position:relative;display:flex;gap:.5rem;overflow-x:auto;padding:.25rem 1.5rem;scrollbar-width:none}.dm-rail-track::-webkit-scrollbar{display:none}.dm-pill{display:inline-flex;flex:none;align-items:center;gap:.5rem;border:1px solid var(--line-1);border-radius:9999px;padding:.4rem .85rem;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-2);transition:color .3s ease,border-color .3s ease,background-color .3s ease}.dm-pill:hover{color:var(--ink-1);border-color:var(--dm-line)}.dm-pill.is-on{color:var(--ink-1);border-color:var(--dm-line);background-color:var(--dm-soft)}.dm-pill-dot{width:6px;height:6px;border-radius:9999px;background:var(--dm)}.dm-pill-n{opacity:.55}.dm-head-glyph{display:grid;place-items:center;width:4.5rem;height:4.5rem;border:1px solid var(--dm-line);border-radius:1.25rem;background:var(--dm-soft);color:var(--dm);box-shadow:0 18px 50px -12px var(--dm-line)}.dm-head-glyph .dm-glyph{width:2.25rem;height:2.25rem}.dm-stack-list{display:flex;flex-wrap:wrap;gap:.4rem}.dm-stack-list li{border:1px solid var(--line-1);border-radius:9999px;padding:.2rem .65rem;font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-2)}.dm-card{position:relative;display:flex;height:100%;flex-direction:column;overflow:hidden;border-radius:1rem;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .4s ease,box-shadow .4s ease}.dm-card:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;background:radial-gradient(440px circle at var(--mx, 50%) var(--my, 0),var(--dm-soft),transparent 65%);transition:opacity .35s ease}.dm-card:hover{transform:translateY(-4px);border-color:var(--dm-line);box-shadow:0 28px 70px -20px var(--dm-line)}.dm-card:hover:before{opacity:1}.dm-card-cover{aspect-ratio:16 / 8;overflow:hidden;border-bottom:1px solid var(--line-1)}.dm-card-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}.dm-card:hover .dm-card-cover img{transform:scale(1.045)}.dm-card-body{display:flex;flex:1;flex-direction:column;padding:1.5rem}.dm-card-link:after{content:"";position:absolute;inset:0;z-index:2}.dm-card-link:focus-visible{outline:none}.dm-card:has(.dm-card-link:focus-visible){outline:2px solid var(--dm);outline-offset:3px}.dm-card-tick{color:var(--ink-2);transition:transform .3s ease,color .3s ease}.dm-card:hover .dm-card-tick{color:var(--dm);transform:translate(2px,-2px)}.dm-card-angle{position:relative;padding-left:.9rem;font-size:.9375rem;line-height:1.55;color:var(--ink-1)}.dm-card-angle:before{content:"";position:absolute;top:.25em;bottom:.25em;left:0;width:2px;border-radius:2px;background:linear-gradient(var(--dm),var(--dm-2))}.dm-also{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:1.25rem;padding-top:1.1rem;border-top:1px solid var(--line-1)}.dm-also-label{margin-right:.2rem;font-family:var(--font-mono);font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}.dm-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid var(--line-1);border-radius:9999px;padding:.18rem .6rem;font-family:var(--font-mono);font-size:.6875rem;color:var(--ink-2);transition:color .25s ease,border-color .25s ease,background-color .25s ease}.dm-chip:before{content:"";width:5px;height:5px;border-radius:9999px;background:var(--dm)}.dm-chip:hover{color:var(--ink-1);border-color:var(--dm-line);background-color:var(--dm-soft)}.dm-hop{display:flex;align-items:center;gap:1rem;border-radius:1rem;padding:1.25rem 1.5rem;transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .3s ease}.dm-hop:hover{transform:translateY(-2px);border-color:var(--dm-line)}.dm-hop .dm-glyph{flex:none;width:1.75rem;height:1.75rem;color:var(--dm)}@media(prefers-reduced-motion:reduce){.dm-aurora span{animation:none}.dm-card,.dm-card:hover,.dm-hop:hover{transform:none}.dm-card-cover img,.dm-card:hover .dm-card-cover img{transform:none;transition:none}}.dm-index{display:grid;grid-template-areas:"head" "map" "list";row-gap:3rem}.dm-index-head{grid-area:head}.dm-index-map{grid-area:map}.dm-index-list{grid-area:list}@media(min-width:1024px){.dm-index{grid-template-columns:minmax(0,1fr) minmax(0,.95fr);grid-template-areas:"head map" "list map";column-gap:3.5rem}}.dm-cycle{display:grid}.dm-word{grid-area:1 / 1;padding-bottom:.08em;background:linear-gradient(100deg,var(--dm),var(--dm-2));-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;filter:blur(10px);transform:translateY(.38em);transition:opacity .65s cubic-bezier(.22,1,.36,1),filter .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.dm-word.is-on{opacity:1;filter:none;transform:none}.dm-word.is-out{transform:translateY(-.38em)}.dm-list{display:grid;gap:.75rem}.dm-row{position:relative;display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:1.1rem;overflow:hidden;border-radius:1rem;padding:1.1rem 1.25rem;transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .35s ease,box-shadow .45s ease}.dm-row:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(380px circle at var(--mx, 30%) var(--my, 50%),var(--dm-soft),transparent 70%);transition:opacity .35s ease}.dm-row:hover,.dm-row:focus-visible{transform:translateY(-2px);border-color:var(--dm-line);box-shadow:0 22px 60px -24px var(--dm-line);outline:none}.dm-row:hover:before,.dm-row:focus-visible:before{opacity:1}.dm-row>*{position:relative}.dm-row-rank{font-family:var(--font-mono);font-size:.75rem;color:var(--ink-2);transition:color .3s ease}.dm-row:hover .dm-row-rank{color:var(--dm)}.dm-row-glyph{display:grid;place-items:center;width:2.75rem;height:2.75rem;border:1px solid var(--line-1);border-radius:.85rem;color:var(--dm);transition:background-color .35s ease,border-color .35s ease,transform .5s cubic-bezier(.34,1.56,.64,1)}.dm-row-glyph .dm-glyph{width:1.35rem;height:1.35rem}.dm-row:hover .dm-row-glyph{border-color:var(--dm-line);background-color:var(--dm-soft);transform:rotate(-8deg) scale(1.08)}.dm-row-main{display:flex;min-width:0;flex-direction:column}.dm-row-top{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.dm-row-name{font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--ink-1)}.dm-row-count{flex:none;font-family:var(--font-mono);font-size:.75rem;color:var(--ink-2);white-space:nowrap}.dm-row-count strong{font-size:.95rem;font-weight:600;color:var(--ink-1);transition:color .3s ease}.dm-row:hover .dm-row-count strong{color:var(--dm)}.dm-row-tag{margin-top:.2rem;font-size:.875rem;line-height:1.45;color:var(--ink-2)}.dm-row-foot{display:flex;align-items:center;gap:1rem;margin-top:.75rem}.dm-row-bar{display:block;flex:1;height:3px;overflow:hidden;border-radius:9999px;background:var(--line-1)}.dm-row-bar>span{display:block;width:calc(var(--share) * 100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--dm),var(--dm-2));transform:scaleX(0);transform-origin:left}[data-reveal].is-visible .dm-row-bar>span{transform:scaleX(1);transition:transform 1.2s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--reveal-delay, 0ms) + .3s)}.dm-row-stack{display:flex;flex:none;padding-left:18px}.dm-row-stack img{width:42px;height:25px;margin-left:-18px;border:2px solid var(--bg-surface);border-radius:7px;object-fit:cover;box-shadow:0 2px 8px var(--card-shadow);transition:transform .5s cubic-bezier(.34,1.56,.64,1);transition-delay:calc(var(--j) * 30ms)}.dm-row:hover .dm-row-stack img{transform:translate(calc((var(--j) - 3) * 7px)) translateY(-2px) rotate(calc((var(--j) - 1.5) * 5deg))}.dm-row-arrow{color:var(--ink-2);transition:transform .35s cubic-bezier(.22,1,.36,1),color .3s ease}.dm-row:hover .dm-row-arrow{color:var(--dm);transform:translate(4px)}@media(max-width:639px){.dm-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.9rem;padding:1rem}.dm-row-rank,.dm-row-arrow{display:none}}@media(prefers-reduced-motion:reduce){.dm-word{transition:none}.dm-row,.dm-row:hover,.dm-row:hover .dm-row-glyph,.dm-row:hover .dm-row-stack img{transform:none}.dm-row-bar>span{transform:none}}.dm-map{position:relative;margin:0}.dm-map-svg{display:block;width:100%;height:auto;overflow:visible;font-family:var(--font-mono)}.dm-map-ring{fill:none;stroke:var(--line-1);stroke-dasharray:2 5}.dm-link{stroke:var(--ink-2);stroke-width:1;stroke-linecap:round;opacity:.28;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:opacity .4s ease,stroke .4s ease,stroke-width .4s ease}.dm-map.is-in .dm-link{stroke-dashoffset:0;transition:stroke-dashoffset 1.3s cubic-bezier(.65,0,.35,1) calc(var(--i) * 22ms + .25s),opacity .4s ease,stroke .4s ease}.dm-map.is-drawn .dm-link{stroke-dasharray:none}.dm-map.has-focus .dm-link{opacity:.06}.dm-map.has-focus .dm-link.is-lit{stroke:var(--dm);stroke-width:1.6;opacity:1}.dm-map.is-drawn.has-focus .dm-link.is-lit{stroke-dasharray:3 6;animation:dm-flow .9s linear infinite}@keyframes dm-flow{0%{stroke-dashoffset:9}to{stroke-dashoffset:0}}.dm-pnode,.dm-dnode{transition:opacity .4s ease}.dm-pnode{outline:none}.dm-pnode-hit{fill:transparent}.dm-pnode-dot{fill:var(--bg-surface);stroke:var(--ink-2);stroke-width:1.4;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .6s cubic-bezier(.34,1.56,.64,1),fill .3s ease,stroke .3s ease}.dm-map.is-in .dm-pnode-dot{transform:scale(1);transition-delay:calc(var(--i) * 45ms + .9s),0s,0s}.dm-map.is-drawn .dm-pnode-dot{transition-delay:0s}.dm-map.has-focus .dm-pnode{opacity:.22}.dm-map.has-focus .dm-pnode.is-lit{opacity:1}.dm-pnode.is-lit .dm-pnode-dot{fill:var(--ink-1);stroke:var(--ink-1);transform:scale(1.25)}.dm-dnode{outline:none}.dm-dnode-halo{fill:var(--dm-soft);stroke:var(--dm-line);stroke-width:1;transform-box:fill-box;transform-origin:center;opacity:0;transition:opacity .5s ease}.dm-map.is-in .dm-dnode-halo{opacity:1;transition-delay:calc(var(--i) * 60ms + .4s)}.dm-dnode-core{fill:var(--dm);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .7s cubic-bezier(.34,1.56,.64,1)}.dm-map.is-in .dm-dnode-core{transform:scale(1);transition-delay:calc(var(--i) * 60ms + .2s)}.dm-map.is-drawn .dm-dnode-core,.dm-map.is-drawn .dm-dnode-halo{transition-delay:0s}.dm-dnode-count{font-size:10px;font-weight:600;fill:var(--bg-surface);pointer-events:none;opacity:0;transition:opacity .4s ease}.dm-dnode-label{font-size:13px;fill:var(--ink-2);opacity:0;transition:opacity .5s ease,fill .3s ease}.dm-map.is-in .dm-dnode-count,.dm-map.is-in .dm-dnode-label{opacity:1;transition-delay:calc(var(--i) * 60ms + .7s),0s}.dm-map.is-drawn .dm-dnode-count,.dm-map.is-drawn .dm-dnode-label{transition-delay:0s}.dm-map.has-focus .dm-dnode{opacity:.32}.dm-map.has-focus .dm-dnode.is-lit{opacity:1}.dm-dnode.is-lit .dm-dnode-label{fill:var(--dm)}.dm-dnode.is-lit .dm-dnode-halo{animation:dm-pulse 1.8s cubic-bezier(.22,1,.36,1) infinite}@keyframes dm-pulse{0%{transform:scale(.85)}60%{transform:scale(1.35);opacity:.25}to{transform:scale(1.45);opacity:0}}.dm-tip{position:absolute;top:var(--y, 0);left:var(--x, 0);z-index:5;display:flex;width:min(280px,calc(100% - 8px));align-items:center;gap:.75rem;border-radius:.85rem;padding:.5rem .75rem .5rem .5rem;pointer-events:none;opacity:0;transform:translate(-50%,calc(-100% - 14px)) scale(.96);transform-origin:50% 100%;transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1)}.dm-tip.is-below{transform:translate(-50%,14px) scale(.96);transform-origin:50% 0}.dm-tip.is-on{opacity:1;transform:translate(-50%,calc(-100% - 10px))}.dm-tip.is-below.is-on{transform:translate(-50%,10px)}.dm-tip-cover{flex:none;width:76px;height:43px;border:1px solid var(--line-1);border-radius:.5rem;object-fit:cover}.dm-tip-body{display:flex;min-width:0;flex-direction:column;gap:.15rem}.dm-tip-title{overflow:hidden;font-size:.8125rem;font-weight:600;color:var(--ink-1);text-overflow:ellipsis;white-space:nowrap}.dm-tip-desc{overflow:hidden;font-size:.75rem;color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap}@media(max-width:639px){.dm-dnode-label{font-size:20px}.dm-dnode-count{font-size:12px}}@media(prefers-reduced-motion:reduce){.dm-tip,.dm-link,.dm-pnode-dot,.dm-dnode-core,.dm-dnode-halo,.dm-dnode-count,.dm-dnode-label{transition:none}.dm-dnode.is-lit .dm-dnode-halo,.dm-map.is-drawn.has-focus .dm-link.is-lit{animation:none}}#site-nav{view-transition-name:site-nav}::view-transition-group(*){animation-duration:.6s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation:.25s ease both dm-vt-out}::view-transition-new(root){animation:.5s cubic-bezier(.22,1,.36,1) .05s both dm-vt-in}@keyframes dm-vt-out{to{opacity:0}}@keyframes dm-vt-in{0%{opacity:0;transform:translateY(12px)}}.vt-arrive [data-vt],.vt-arrive .dm-list>[data-reveal]{animation:none;opacity:1;transform:none;transition:none}.vt-arrive [data-vt] .dm-glyph>*{stroke-dashoffset:0;transition:none}
