.planet3d{--fx:70%;--fy:45%;--fs:600px;touch-action:pan-y;cursor:grab;user-select:none;animation:1.2s ease-out both p3d-in;position:absolute;inset:0}.planet3d:active{cursor:grabbing}@keyframes p3d-in{0%{opacity:0}}.planet3d:before{content:"";pointer-events:none;background:radial-gradient(circle at var(--fx) var(--fy), #28b7a638 0, #28b7a614 calc(var(--fs) * .55), transparent calc(var(--fs) * 1.1)), radial-gradient(circle at calc(var(--fx) - var(--fs) * .35) var(--fy), #70eac01a, transparent calc(var(--fs) * .8)), radial-gradient(circle at calc(var(--fx) + var(--fs) * .35) var(--fy), #f2c94c14, transparent calc(var(--fs) * .8));position:absolute;inset:0}.planet3d:before,.pcanvas{-webkit-mask-image:linear-gradient(#000 0 78%,#0000 100%);mask-image:linear-gradient(#000 0 78%,#0000 100%)}.pcanvas{inset:0;position:absolute!important}.overlay{pointer-events:none;position:absolute;inset:0;overflow:hidden}.pbadge,.ptag{opacity:0;white-space:nowrap;will-change:transform, opacity;position:absolute;top:0;left:0}.pbadge{font-size:var(--px-12);color:var(--c-prompt);box-shadow:var(--bevel), 0 0 0 2px currentColor;cursor:pointer;background:#0b141fd1;border:0;padding:5px 8px 3px;transition:background .15s,color .15s,translate .15s}.pbadge.dev{color:var(--c-mint)}.pbadge.seam{color:var(--c-acid)}.pbadge.play{color:var(--c-warm)}.pbadge.sat{color:var(--c-prompt)}.pbadge:hover,.pbadge[data-hot],.pbadge[data-active]{background:currentColor;translate:0 -4px;color:var(--c-void)!important}.pbadge.dev:hover,.pbadge.dev[data-hot],.pbadge.dev[data-active]{background:var(--c-mint)}.pbadge.seam:hover,.pbadge.seam[data-hot],.pbadge.seam[data-active]{background:var(--c-acid)}.pbadge.play:hover,.pbadge.play[data-hot],.pbadge.play[data-active]{background:var(--c-warm)}.pbadge.sat:hover,.pbadge.sat[data-hot],.pbadge.sat[data-active]{background:var(--c-prompt)}.ptag{font-size:var(--px-12);color:var(--c-acid);background:#070d15bf;border:1px solid #7dff6a80;padding:2px 6px 0}.ptag:before{content:"> ";color:var(--c-mint)}.pcard{left:var(--fx);top:calc(var(--fy) + var(--fs) * .46);width:min(100% - 32px,420px);box-shadow:var(--bevel), 0 0 0 2px var(--c-line), 0 12px 40px #00000080;z-index:400;cursor:auto;user-select:text;background:#101c2bf2;padding:14px 16px 16px;position:absolute;transform:translate(-50%,-100%)}.pcard-head{align-items:center;gap:10px;display:flex}.pcard-head strong{font-size:var(--px-24);color:var(--c-prompt);font-weight:400}.pside{font-size:var(--px-12);color:var(--c-void);background:var(--c-mint);padding:2px 6px 0}.pside.seam{background:var(--c-acid)}.pside.play{background:var(--c-warm)}.pside.sat{background:var(--c-prompt)}.pclose{color:var(--c-text-dim);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:22px;line-height:1}.pcard p{margin:10px 0;font-size:14px;line-height:1.6}.pcmd{background:var(--c-void);align-items:center;gap:8px;padding:8px 8px 8px 10px;display:flex}.pcmd code{white-space:nowrap;min-width:0;font-family:var(--f-code);color:var(--c-mint);flex:1;font-size:13px;overflow-x:auto}.pcmd code:before{content:"$ ";color:var(--c-acid)}.pcopy{font-size:var(--px-12);background:var(--c-teal);color:var(--c-void);cursor:pointer;border:0;flex:none;padding:5px 8px 3px}.pmore{font-size:var(--px-12);color:var(--c-acid);margin-top:10px;text-decoration:none;display:inline-block}.ptap{opacity:0;white-space:nowrap;position:absolute;top:0;left:0;pointer-events:none!important;z-index:350!important}.ptap>span{opacity:0;font-size:var(--px-12);color:var(--c-void);background:var(--c-mint);box-shadow:var(--bevel), 0 0 18px #70eac08c;padding:5px 9px 3px;display:block}.ptap>span:before{content:"$ "}.ptap[data-side=seam]>span{background:var(--c-acid);box-shadow:var(--bevel), 0 0 18px #7dff6a8c}.ptap[data-side=play]>span{background:var(--c-warm);box-shadow:var(--bevel), 0 0 18px #f2c94c80}.ptap>span.go{animation:2.2s steps(12,end) forwards ptap}@keyframes ptap{0%{opacity:0;transform:translateY(8px)}12%,70%{opacity:1;transform:translateY(-6px)}to{opacity:0;transform:translateY(-18px)}}.phint{left:var(--fx);top:calc(var(--fy) + var(--fs) * .5);font-size:var(--px-12);color:var(--c-text-dim);white-space:nowrap;pointer-events:none;margin:0;transition:opacity .6s;animation:.8s 2.2s both phint-in;position:absolute;transform:translate(-50%)}@keyframes phint-in{0%{opacity:0}}.planet3d[data-used] .phint{opacity:0}@media (prefers-reduced-motion:reduce){.ptap>span.go{animation:2.2s step-end forwards ptap-static}@keyframes ptap-static{0%,90%{opacity:1}to{opacity:0}}}
