@import url("https://unpkg.com/normalize.css");@import url("https://fonts.googleapis.com/css2?family=Jost:wght@300;400;500;600;700&display=swap");:root{--font-size-min:16;--font-size-max:20;--font-ratio-min:1.2;--font-ratio-max:1.33;--font-width-min:375;--font-width-max:1500;--primary:#1e40af;--secondary:#0ea5e9;--accent:#22d3ee;--text:#0f172a;--bg:#f8fafc;--size:70;--border:8;--columns:40;--motion:0.72;--offset:-3}html{color-scheme:light dark}[data-theme=light]{color-scheme:light only}[data-theme=dark]{color-scheme:dark only}*,:after,:before,body{box-sizing:border-box}body{background:var(--bg);display:grid;place-items:center;min-height:100vh;font-family:var(--font-jost),"Jost","SF Pro Text","SF Pro Icons","AOS Icons","Helvetica Neue",Helvetica,Arial,sans-serif,system-ui;margin:0;padding:20px}.header-bg{position:fixed;inset:0;z-index:-2;background:linear-gradient(135deg,var(--primary),var(--secondary))}.header-bg:after{content:"";position:absolute;inset:0;opacity:.12;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'><circle cx='10' cy='10' r='2' fill='%23e2e8f0'/></svg>") repeat}.container{--ease:ease-out;align-items:center;display:flex;gap:calc(var(--size) * .5px);height:calc((var(--size) + (var(--size) * .5)) * 1px);padding-inline:calc(var(--size) * .25px);border-radius:calc(var(--size) * 2px);position:relative}.container:after,.container:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;border-radius:calc(var(--size) * 2px)}[data-animate-bg=true] .container{--bg:linear-gradient(in hsl longer hue 90deg,hsl(10 100% 70%) 0 100%) calc(var(--border) * -1px) 0 /400% 100%}[data-animate-bg=true] .container:after,[data-animate-bg=true] .container:before{background:var(--bg);animation:scale-bg 8s linear infinite}[data-animate-bg=false] .container{--bg:linear-gradient(transparent 0 100%)}[data-animate-bg=false] .container:after,[data-animate-bg=false] .container:before{background:var(--bg)}.container:before{opacity:.3}.container:after{border:calc(var(--border) * 1px) solid transparent;mask:linear-gradient(transparent,transparent),linear-gradient(white,white);mask-clip:padding-box,border-box;mask-composite:intersect}@keyframes scale-bg{to{background-position:400% 0}}.container button{width:calc(var(--size) * .5px);aspect-ratio:1;display:flex;align-items:center;justify-content:flex-start;padding:0;appearance:none;border:0;background:transparent;margin-left:.5rem;cursor:pointer;color:currentColor}.container button svg{width:100%}ul.items{grid-auto-flow:column;grid-auto-columns:calc(var(--columns) * 1px);height:calc(var(--columns) * 1px);list-style-type:none;margin:0;padding:0;translate:calc((var(--size) - var(--columns)) * .5px) 0}ul.items,ul.items li{align-content:end;display:grid}ul.items li{aspect-ratio:1/3;position:relative;width:calc(var(--size) * 1px);translate:calc((var(--size) - var(--columns)) * -.5px) calc((var(--size) - var(--columns)) * .5px);pointer-events:none}ul.items li:before{content:"";width:100%;aspect-ratio:1;bottom:0;position:absolute;pointer-events:all}.avatar-holder{position:absolute;inset:0;align-content:end;display:grid;--rad-x:calc(var(--circle) - (var(--columns) * 1px) - (var(--border) * 1px))}ul li:not(:first-of-type) .avatar-holder{--circle:calc(((var(--border) * 2px) + (var(--size) * 1px)) * 0.5);mask-image:radial-gradient(var(--circle) var(--circle) at var(--rad-x,0) 50%,transparent calc(var(--circle) - .5px),white var(--circle));mask-size:100% 100%;mask-position:0 calc(var(--size) * 1px);transition:mask-position .18s var(--ease)}ul li:hover+li .avatar-holder{mask-position:0 calc(var(--size) * ((1 - var(--motion)) * 1px))}.avatar{display:inline-block;width:100%;aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden;pointer-events:all;transition:translate .18s var(--ease)}.avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:color-mix(in hsl,canvas,canvasText)}ul.items li:first-of-type img{filter:contrast(1.2)}ul.items li:hover .avatar{translate:0 calc(var(--motion) * -100%)}ul.items li:hover .name{filter:blur(0);opacity:1}.name{transition-property:filter,opacity,translate;transition-timing-function:var(--ease);transition-duration:.18s;text-align:center;text-transform:uppercase;font-weight:400;font-family:var(--font-jost),"Jost",monospace;position:absolute;left:50%;filter:blur(4px);opacity:0;color:currentColor}[data-ring-text=true] ul.items li .name{width:calc(var(--size) * 1px);aspect-ratio:1;border-radius:50%;bottom:0;translate:-50% calc(var(--motion) * -100%)}[data-ring-text=true] ul.items li .name span{offset-path:border-box;offset-distance:calc((var(--offset) + var(--i)) * 1ch);offset-anchor:50% 150%;position:absolute;transition:translate .18s var(--ease);translate:0 100%}[data-ring-text=true] ul.items li:hover .name span{translate:0 0}[data-ring-text=false] ul.items li .name{bottom:calc((var(--size) * (1 + var(--motion))) * 1px);translate:-50% 50%}[data-ring-text=false] ul.items li .name span{translate:0 -150%}[data-ring-text=false] ul.items li:hover .name{translate:-50% -50%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.w-9{width:2.25rem}.size-6{width:1.5rem;height:1.5rem}