@font-face{font-family:Geist Mono;src:url(/viewer/assets/GeistMono-Variable-BNLlm6Cd.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--bg:oklch(20.7% .008 67);--canvas:oklch(19.5% .008 67);--panel:oklch(22.4% .009 75);--panel-2:oklch(26% .012 67);--line:oklch(26.8% .012 67);--line-2:oklch(30% .012 67);--text:oklch(91% .016 74);--text-2:oklch(78% .02 74);--text-3:oklch(60.3% .023 72);--text-4:oklch(46% .02 70);--accent:oklch(71.4% .154 59);--accent-hover:oklch(65% .14 59);--accent-tx:oklch(71.4% .154 59);--accent-soft:color-mix(in oklch, var(--accent) 14%, transparent);--pike-amber:oklch(76.9% .188 70.08);--pike-blue:oklch(60% .16 250);--pike-success:oklch(69.6% .17 162.48);--pike-error:oklch(63.7% .237 25.331);--font-sans:"Geist Mono", ui-monospace, "SF Mono", monospace;--font-mono:"Geist Mono", ui-monospace, "SF Mono", monospace}.pk,.pk-canvas,.pk-hud-layer,.pk-panel{color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pk *,.pk :before,.pk :after,.pk-canvas *,.pk-hud-layer *,.pk-panel *{box-sizing:border-box}.pk a:focus-visible,.pk button:focus-visible,.pk-panel a:focus-visible,.pk-panel button:focus-visible{outline-offset:2px;outline:2px solid #de532099}.pk-page{background:var(--canvas);height:100svh;min-height:560px;position:relative;overflow:hidden}.pk-page>.pk-canvas{position:absolute;inset:0;min-height:0!important}.pk-grain{z-index:30;pointer-events:none;opacity:.08;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:1.4s steps(6,end) infinite pk-grain;position:fixed;inset:-50%}@keyframes pk-grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-4%)}60%{transform:translate(-4%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}.pk-canvas{background:var(--canvas);touch-action:none;-webkit-user-select:none;user-select:none;cursor:cell;width:100%;position:relative}.pk-canvas canvas{display:block;position:absolute;inset:0}.pk-fps{background:var(--panel);border:1px solid var(--line);color:var(--text-3);font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;border-radius:2px;padding:5px 9px;position:absolute;top:14px;left:50%;transform:translate(-50%)}.pk-minimap{pointer-events:none;width:200px;position:absolute;top:112px;left:24px}.pk-minimap-label,.pk-minimap-count{color:var(--text-4);font:500 9px var(--font-mono);letter-spacing:.18em;text-transform:uppercase;display:block}.pk-minimap-label{margin-bottom:6px}.pk-minimap-count{text-align:right;margin-top:6px}.pk-minimap-world{border:1px solid var(--line-2);background:color-mix(in oklch, var(--panel-2) 70%, transparent);transform-origin:0;border-radius:2px;position:relative;overflow:hidden;transform:perspective(600px)rotateY(14deg)rotateX(4deg);box-shadow:0 10px 30px #00000080}.pk-minimap-world i{border:1px solid var(--text-2);background:color-mix(in oklch, var(--text) 10%, transparent);border-radius:1px;position:absolute}.pk-note{cursor:grab;touch-action:none;background:linear-gradient(#33302b,#262320);border:1px solid #ffffff14;border-radius:10px;transition:border-color .15s,box-shadow .15s;position:absolute;box-shadow:0 14px 30px #000000a6,inset 0 1px #ffffff0d}.pk-note:hover{border-color:#ffffff2e}.pk-note:active{cursor:grabbing}.pk-note.is-editing{border-color:color-mix(in oklch, var(--accent) 55%, transparent);box-shadow:0 14px 30px #000000a6, 0 0 0 3px color-mix(in oklch, var(--accent) 14%, transparent);cursor:text}.pk-note textarea{resize:none;width:auto;height:auto;color:var(--text);font:400 12px/1.55 var(--font-mono);letter-spacing:.01em;pointer-events:none;scrollbar-width:none;background:0 0;border:0;outline:0;margin:0;padding:0;position:absolute;inset:26px 10px 10px 12px;overflow:auto}.pk-note textarea::placeholder{color:var(--text-4)}.pk-note.is-editing textarea{pointer-events:auto}.pk-note-tools{z-index:2;opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.pk-note:hover .pk-note-tools,.pk-note.is-editing .pk-note-tools{opacity:1}.pk-note-tools button{width:18px;height:18px;color:var(--text-2);font:500 13px/1 var(--font-mono);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff14;border-radius:4px;padding:0;transition:background .12s,color .12s}.pk-note-tools button:hover{background:var(--accent);color:#fff;border-color:#0000}.pk-note-tools button:last-child:hover{background:var(--pike-error)}.pk-note-port{z-index:2;background:var(--panel-2);border:1.5px solid var(--accent);width:11px;height:11px;box-shadow:0 0 0 3px color-mix(in oklch, var(--accent) 15%, transparent);cursor:crosshair;opacity:0;border-radius:50%;margin-top:-6px;transition:opacity .15s,transform .15s;position:absolute;top:50%;right:-6px}.pk-note:hover .pk-note-port{opacity:1}.pk-note-port:hover{background:var(--accent);transform:scale(1.25)}.pk-note-image{object-fit:cover;pointer-events:none;border-radius:9px;width:calc(100% - 2px);height:calc(100% - 2px);position:absolute;inset:1px}.pk-note.is-image:not(.is-editing) textarea{opacity:0}.pk-note-link{color:var(--text);font:400 12px/1.4 var(--font-mono);cursor:pointer;flex-direction:column;justify-content:flex-end;gap:2px;padding:12px;text-decoration:none;display:flex;position:absolute;inset:0}.pk-note-link strong{color:var(--accent-tx);font-weight:700}.pk-note-link span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pk-note-link-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:9px}.pk-note.is-link:not(.is-editing) textarea{opacity:0}.pk-hud-layer{z-index:10;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.pk-page.is-ui-hidden .pk-hud-layer,.pk-page.is-ui-hidden .pk-panel,.pk-page.is-ui-hidden .psd,.pk-page.is-ui-hidden .pk-minimap,.pk-page.is-ui-hidden .pk-fps{opacity:0;pointer-events:none}.pk-brand{pointer-events:auto;flex-direction:column;gap:10px;display:flex;position:absolute;top:24px;left:24px}.pk-brand-tile{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line);border-radius:4px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 24px #00000080,inset 0 1px #ffffff0d}.pk-brand-tile svg{width:22px;height:22px;color:var(--accent)}.pk-mark{filter:drop-shadow(0 0 6px color-mix(in oklch, var(--accent,#d98b3a) 55%, transparent));animation:4.5s ease-in-out 1.6s infinite pk-mark-breathe;overflow:visible}.pk-mark-stroke{stroke-dasharray:100;stroke-dashoffset:100px;animation:1.1s cubic-bezier(.4,0,.2,1) .15s forwards pk-mark-draw}.pk-mark-fill{opacity:0;animation:.5s 1.05s forwards pk-mark-fill}@keyframes pk-mark-draw{to{stroke-dashoffset:0}}@keyframes pk-mark-fill{to{opacity:1}}@keyframes pk-mark-breathe{0%,to{filter:drop-shadow(0 0 5px color-mix(in oklch, var(--accent,#d98b3a) 45%, transparent))}50%{filter:drop-shadow(0 0 11px color-mix(in oklch, var(--accent,#d98b3a) 85%, transparent))}}@media (prefers-reduced-motion:reduce){.pk-mark,.pk-mark-stroke,.pk-mark-fill{animation:none}.pk-mark-stroke{stroke-dashoffset:0}.pk-mark-fill{opacity:1}}.pk-brand-label{color:var(--text-3);font:500 10px var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.pk-keys{flex-direction:column;align-items:flex-end;gap:6px;margin:0;padding:0;list-style:none;display:flex;position:absolute}.pk-keys-top{top:24px;right:24px}.pk-keys-bottom{bottom:24px;right:24px}.pk-keys li{color:var(--text-3);font:500 10px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:10px;display:inline-flex}.pk-keys kbd{background:var(--panel);border:1px solid var(--line);min-width:42px;height:24px;color:var(--text-2);font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:2px;justify-content:center;align-items:center;padding:0 9px;display:inline-flex;box-shadow:0 1px 2px #00000080}.pk-title-block{flex-direction:column;gap:12px;display:flex;position:absolute;bottom:24px;left:24px}.pk-canvas-title{color:var(--text);font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:18px;font-weight:700}.pk-hints{pointer-events:auto;flex-wrap:wrap;gap:6px;display:flex}.pk-hints .pk-chip-toy.is-home{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .15s}.pk-hints .pk-chip-toy.is-dragging{cursor:grabbing;z-index:5;background:var(--panel-2);position:relative;box-shadow:0 12px 28px #0009}.pk-hints .pk-chip-toy.is-flying,.pk-hints .pk-chip-toy.is-placed{z-index:5;position:relative;box-shadow:0 6px 16px #00000080}.pk-hints .pk-chip-toy:hover{background:var(--panel-2);color:var(--text)}.pk-hints span{pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;will-change:transform;background:var(--panel);border:1px solid var(--line);height:24px;color:var(--text-2);font:500 10px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:2px;align-items:center;padding:0 9px;transition:box-shadow .15s,background .15s;display:inline-flex}.pk-panel{z-index:11;background:color-mix(in oklch, var(--panel) 94%, transparent);border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:4px;width:min(360px,100% - 48px);max-height:calc(100% - 32px);padding:18px 18px 16px;transition:opacity .2s;position:absolute;overflow-y:auto;box-shadow:0 24px 60px -20px #000c,0 1px 2px #00000080,inset 0 1px #ffffff0d}.pk-panel.is-right{top:50%;right:24px;transform:translateY(-50%)}.pk-panel.is-center{top:50%;left:50%;transform:translate(-50%,-50%)}.pk-panel-kicker{color:var(--text-4);font:500 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:10px;display:block}.pk-panel-kicker b{color:var(--accent-tx);margin-left:8px;font-weight:700}.pk-panel h2{letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:20px;font-weight:700;line-height:1.25}.pk-panel-head p{color:var(--text-2);margin:10px 0 0;font-size:13px;line-height:1.55}.pk-panel-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.pk-panel-note{color:var(--text-3);margin:0;font-size:12px}.pk-panel-error{color:var(--pike-error);margin:10px 0 0;font-size:12px}.pk-panel-list{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.pk-panel-list ul{max-height:220px;margin:0;padding:0;list-style:none;overflow:auto}.pk-panel-list li a{color:var(--text);font:500 12px var(--font-mono);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin:0 -8px;padding:8px;text-decoration:none;display:flex}.pk-panel-list li a em{color:var(--text-3);font:500 11px var(--font-sans)}.pk-panel-list li a:hover{background:var(--panel-2)}.pk-panel-list li a:hover em{color:var(--accent-tx)}.pk-btn{height:36px;font:500 .8125rem var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:8px;padding:0 16px;text-decoration:none;transition:transform .15s,background .15s;display:inline-flex;position:relative}.pk-btn.is-accent{color:#fff;background:linear-gradient(#121213, #121213) padding-box, linear-gradient(#121213 50%, #12121399 80%, #12121300) border-box, linear-gradient(90deg, var(--accent), var(--pike-blue), var(--pike-success), var(--accent-hover), var(--pike-amber)) border-box;background-size:200%;background-origin:border-box;border:2px solid #0000;animation:2s linear infinite pk-rainbow}.pk-btn.is-accent:before{content:"";z-index:-1;background:linear-gradient(90deg, var(--accent), var(--pike-blue), var(--pike-success), var(--accent-hover), var(--pike-amber));filter:blur(.75rem);background-size:200%;width:60%;height:20%;animation:2s linear infinite pk-rainbow;position:absolute;bottom:-20%;left:50%;transform:translate(-50%)}.pk-btn.is-accent:hover{transform:scale(1.02)}.pk-btn.is-accent:active{transform:scale(.98)}@keyframes pk-rainbow{0%{background-position:0%}to{background-position:200%}}.pk-btn.is-ghost{border:1px solid var(--line);color:var(--text);background:0 0}.pk-btn.is-ghost:hover{background:var(--panel)}.pk-btn:disabled{opacity:.5;cursor:wait;transform:none}@media (width<=900px){.pk-keys-bottom,.pk-minimap{display:none}.pk-panel.is-right{width:auto;inset:auto 24px 24px;transform:none}.pk-title-block{top:112px;bottom:auto}.pk-keys-top{top:16px;right:16px}.pk-fps{display:none}}@media (height<=779px){.pk-keys-bottom{display:none}}@media (height<=559px){.pk-page{min-height:100svh}.pk-hints,.pk-keys-top,.pk-minimap,.pk-fps{display:none}}@media (prefers-reduced-motion:reduce){.pk-grain{animation:none}}.pk-page.is-workspace .pk-hud-layer{opacity:0;pointer-events:none}.pk-page.is-workspace>.pk-canvas{opacity:.9}.pk-page.is-workspace .pk-minimap,.pk-page.is-workspace .pk-fps{display:none}
