:root{--bg:#000;--cta-ink:#140700;--ink:#f8f8f7;--muted:#d0d0c8;--fg:#ffffff9e;--sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--serif:"Libertinus Serif", Georgia, "Times New Roman", serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);overscroll-behavior:none;height:100%;font:14px/1.4 var(--sans);color:var(--fg);-webkit-user-select:none;user-select:none;font-optical-sizing:auto;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow:hidden}canvas#c{touch-action:none;cursor:grab;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}canvas#c.grabbing{cursor:grabbing}canvas#c.pointer{cursor:pointer}canvas#c.crosshair{cursor:crosshair}#loader{background:var(--bg);z-index:10;transition:opacity .8s;position:fixed;inset:0}#loader.done{opacity:0;pointer-events:none}.ld-num{font:400 16px/1 var(--sans);letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;opacity:0;transition:opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ld-num.on{opacity:1}.ld-line{background:#ffffff24;height:1px;position:absolute;bottom:0;left:0;right:0}.ld-line i{background:var(--ink);transform-origin:0;height:100%;display:block;transform:scaleX(0)}#panel{z-index:5;pointer-events:none;flex-direction:column;gap:32px;width:min(500px,36vw);display:flex;position:fixed;top:50%;left:59.8vw;transform:translateY(-50%)}#panel>*{pointer-events:auto}#panel .eyebrow{font:400 16px/1.3 var(--sans);letter-spacing:-.16px;color:var(--muted);margin:0 0 -12px}#panel h1{font:400 36px/1.05 var(--serif);letter-spacing:-.72px;color:var(--ink);text-wrap:balance;margin:0}#actions{align-items:center;gap:10px;display:flex}.cta{background:var(--ink);height:45px;color:var(--cta-ink);font:400 14px/1 var(--sans);letter-spacing:-.16px;white-space:nowrap;cursor:pointer;border:1px solid #0000;border-radius:96px;padding:0 24px;transition:transform .8s cubic-bezier(.19,1,.22,1)}.cta .ico{display:none}@media (hover:hover){.cta:hover{transform:scale(1.05)}}.cta:active{transform:scale(.97)}#export{min-width:135px}#credit{z-index:5;font:400 13px/1 var(--sans);letter-spacing:-.1px;color:#ffffff8c;text-decoration:none;transition:color .3s;position:fixed;top:28px;right:32px}#credit b{color:var(--ink);font-weight:400}#credit:hover{color:var(--ink)}#credit:hover b{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}#keys{z-index:5;pointer-events:none;opacity:0;transition:opacity .3s,transform .8s cubic-bezier(.19,1,.22,1);display:none;position:fixed;top:50%;left:32px;transform:translate(-8px,-50%)}#keys.on{opacity:1;transform:translateY(-50%)}.krow{height:22px;font:400 11px/1 var(--sans);letter-spacing:-.05px;color:#ffffff80;grid-template-columns:58px auto;align-items:center;column-gap:10px;display:grid}.kk{order:2;justify-content:flex-start;align-items:center;gap:4px;display:flex}.kk i{color:#ffffff4d;font-size:10px;font-style:normal}kbd{height:18px;font:500 10px/1 var(--sans);letter-spacing:0;color:#ffffffd9;background:0 0;border:1px solid #fff3;border-radius:5px;place-items:center;padding:0 7px;display:grid}@media (hover:hover) and (pointer:fine) and (width>=900px) and (aspect-ratio>=23/20){#keys{display:block}}#dock{z-index:5;align-items:flex-end;gap:22px;transition:opacity .2s;display:flex;position:fixed;bottom:44px;left:32.5vw;transform:translate(-50%)}#dock.dragging{opacity:0;pointer-events:none}.pile{cursor:pointer;flex:none;width:60px;height:60px;transition:opacity .25s;position:relative}.pile:before{content:"";filter:blur(3px);background:radial-gradient(closest-side,#000000b3,#0000);height:10px;transition:opacity .25s;position:absolute;bottom:-4px;left:6%;right:6%}.pile.open:before{opacity:0}.pi{cursor:inherit;pointer-events:none;touch-action:none;transform:translate(var(--x), var(--y)) rotate(var(--r));transition:transform .55s cubic-bezier(.2,.9,.3,1.2),opacity .25s;transition-delay:calc((var(--n) - 1 - var(--i)) * 14ms), 0s;background:0 0;border:0;padding:0;position:absolute;inset:0}.pi img{object-fit:contain;pointer-events:none;filter:drop-shadow(0 2px 3px #0000008c);width:100%;height:100%;display:block}.pi.deep{opacity:0}.pile.single{cursor:pointer}.pile.single .pi{pointer-events:auto;cursor:pointer}.pile:not(.open):hover .pi{transform:translate(calc(var(--x) * 1.6), calc(var(--y) * 1.6 - 2px)) rotate(calc(var(--r) * -1.7))}.pile.open .pi{--s:calc(46 / 60);opacity:1;pointer-events:auto;cursor:pointer;transform:translate(var(--tx), var(--ty)) rotate(0deg) scale(var(--s));transition-delay:calc(var(--i) * 24ms), 0s}.pile.open .pi:hover{--s:calc(52 / 60);transform:translate(var(--tx), var(--ty)) rotate(var(--hr,8deg)) scale(var(--s));transition:transform .35s cubic-bezier(.2,.9,.3,1.5),opacity .25s}#dock.has-open .pile:not(.open),#dock.has-open .add{opacity:0;pointer-events:none}.add{width:40px;height:40px;color:var(--fg);cursor:pointer;background:0 0;border:1px dashed #ffffff4d;border-radius:10px;flex:none;align-self:flex-end;place-items:center;margin-bottom:10px;transition:border-color .15s,color .15s,background .15s,opacity .25s;display:grid}.add.busy{pointer-events:none;border-style:solid;animation:1s ease-in-out infinite addpulse}@keyframes addpulse{50%{opacity:.35}}.add:hover{color:var(--ink);background:#ffffff0d;border-color:#fff9}@media (hover:hover){.add{position:relative}.add:after{content:attr(data-tip);white-space:nowrap;font:400 12px/1 var(--sans);letter-spacing:-.1px;color:var(--cta-ink);background:var(--ink);opacity:0;pointer-events:none;border-radius:8px;padding:7px 11px;transition:opacity .2s,transform .35s cubic-bezier(.19,1,.22,1);position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px)}.add:hover:after{opacity:1;transition-delay:.25s;transform:translate(-50%)}}@media (width<=899px),(aspect-ratio<=23/20){#panel{text-align:center;align-items:center;gap:8px;width:auto;top:44px;left:16px;right:16px;transform:none}#panel .eyebrow{margin:0;font-size:14px}#panel h1{max-width:22ch;font-size:28px}#actions{z-index:5;flex-direction:column-reverse;gap:10px;transition:opacity .25s;position:fixed;bottom:56px;right:16px}body.pile-open #actions{opacity:0;pointer-events:none}.cta{place-items:center;width:48px;min-width:0;height:48px;padding:0;display:grid;box-shadow:0 6px 18px #00000073}#export{min-width:0}.cta .lbl{display:none}.cta .ico{display:block}#dock{bottom:56px;left:20px;transform:none}#credit{font-size:12px;inset:auto auto 20px 50%;transform:translate(-50%)}}
