:root{--night: #0d0618;--night-2: #160b29;--ink: #1a0f2e;--purple: #4b2a86;--purple-2: #2b1650;--violet: #8b5cf6;--green: #7dff4f;--green-2: #39d353;--orange: #ff7a1a;--red: #e5304d;--moon: #ffd76a;--ghost: #f3eefe;--muted: #b9a8d9;--cyan: #4fd6ff;--pink: #ff5fa2;--card: rgba(36, 18, 68, .72);--card-border: rgba(173, 140, 255, .28);--radius: 22px;--font-title: "Rubik Wet Paint", "Rubik", system-ui, sans-serif;--font: "Rubik", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:var(--night)}html,body{margin:0;min-height:100%;color:var(--ghost);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{min-height:100dvh}#app{position:relative;z-index:1;min-height:100dvh}button,input,select{font:inherit;color:inherit}.title{font-family:var(--font-title);font-weight:400;letter-spacing:.02em;line-height:1.05;color:var(--green);text-shadow:0 0 18px rgba(125,255,79,.45),0 4px 0 var(--ink);margin:0}.title--orange{color:var(--orange);text-shadow:0 0 18px rgba(255,122,26,.5),0 4px 0 var(--ink)}.subtitle{color:var(--muted);font-weight:500;margin:0}.card{background:var(--card);border:2px solid var(--card-border);border-radius:var(--radius);box-shadow:0 18px 50px #00000073,inset 0 1px #ffffff0f;backdrop-filter:blur(6px)}.btn{--c: var(--orange);--c-dark: #b34a00;position:relative;border:0;border-radius:18px;padding:.85em 1.6em;font-weight:800;font-size:1.05rem;letter-spacing:.01em;color:var(--ink);background:var(--c);box-shadow:0 6px 0 var(--c-dark),0 10px 24px #00000059;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease,filter .15s;user-select:none;touch-action:manipulation}.btn:hover{filter:brightness(1.08)}.btn:active{transform:translateY(4px);box-shadow:0 2px 0 var(--c-dark),0 4px 10px #00000059}.btn:disabled{filter:grayscale(.85) brightness(.7);cursor:default;transform:none}.btn--green{--c: var(--green);--c-dark: #2f9a1c}.btn--purple{--c: var(--violet);--c-dark: #4c25a8;color:var(--ghost)}.btn--ghost{--c: rgba(255, 255, 255, .08);--c-dark: rgba(0, 0, 0, .35);color:var(--ghost);box-shadow:0 4px 0 var(--c-dark);border:2px solid var(--card-border)}.btn--big{font-size:1.35rem;padding:1em 2em;border-radius:22px}.btn--block{width:100%}.icon-btn{border:2px solid var(--card-border);background:#140a2899;color:var(--ghost);width:46px;height:46px;border-radius:14px;display:grid;place-items:center;cursor:pointer;font-size:1.2rem}.icon-btn:hover{background:#3c1e6eb3}.field{display:flex;flex-direction:column;gap:8px;text-align:left}.field label{font-size:.85rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.input{width:100%;border-radius:16px;border:2px solid var(--card-border);background:#0a0416bf;padding:.85em 1em;font-size:1.2rem;font-weight:700;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--green);box-shadow:0 0 0 4px #7dff4f2e}.input--code{text-align:center;font-size:2.2rem;letter-spacing:.35em;text-transform:uppercase;padding-left:1.3em}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:2px solid var(--card-border);background:#0a041699;border-radius:999px;padding:.45em 1em;font-weight:700;cursor:pointer;transition:all .15s}.chip--on{background:var(--green);border-color:var(--green);color:var(--ink)}.toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;user-select:none}.toggle input{display:none}.toggle .track{width:52px;height:30px;border-radius:999px;background:#ffffff1f;position:relative;transition:background .15s;flex:none}.toggle .track:after{content:"";position:absolute;top:4px;left:4px;width:22px;height:22px;border-radius:50%;background:var(--ghost);transition:transform .18s}.toggle input:checked+.track{background:var(--green-2)}.toggle input:checked+.track:after{transform:translate(22px)}.banner{position:fixed;left:50%;top:12px;transform:translate(-50%);z-index:50;padding:10px 18px;border-radius:999px;background:#e5304deb;color:#fff;font-weight:700;box-shadow:0 10px 30px #0006;display:flex;gap:10px;align-items:center;animation:drop-in .3s ease;white-space:nowrap}.banner--weak{background:#ffaa28eb;color:var(--ink)}.spinner{width:16px;height:16px;border-radius:50%;border:3px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}.overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:#080312b8;backdrop-filter:blur(6px);animation:fade-in .25s ease;text-align:center;padding:24px}.overlay .big-count{font-family:var(--font-title);font-size:clamp(6rem,22vw,16rem);color:var(--green);text-shadow:0 0 40px rgba(125,255,79,.6);animation:pulse-count 1s ease infinite}.center-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;text-align:center}.opt-shape{flex:none;filter:drop-shadow(0 2px 0 rgba(0,0,0,.35))}.timer-ring{position:relative;display:grid;place-items:center}.timer-ring svg{transform:rotate(-90deg)}.timer-ring .num{position:absolute;font-weight:900;font-variant-numeric:tabular-nums}.timer-ring--low .num{color:var(--red);animation:pulse-count .5s ease infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-20px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.3) translateY(40px)}60%{opacity:1;transform:scale(1.12) translateY(-8px)}to{transform:scale(1) translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}}@keyframes pulse-count{50%{transform:scale(1.08)}}@keyframes float{50%{transform:translateY(-10px)}}@keyframes glow-pulse{50%{box-shadow:0 0 0 6px #7dff4f40,0 0 40px #7dff4f80}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.pop-in{animation:pop-in .55s cubic-bezier(.2,1.4,.4,1) both}.rise-in{animation:rise-in .5s ease both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:where(button,[role=button],summary,input,textarea,select,a):focus-visible{outline:3px solid var(--moon);outline-offset:3px}.ptp-portal{position:fixed;inset:0;z-index:var(--ptp-portal-z, 100);pointer-events:none;visibility:hidden;overflow:hidden;contain:layout paint}.ptp-portal[data-state=live]{visibility:visible}.ptp-portal__dim{position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 50% 50%,#0a031666,#0a0316d1 38%,#07020f 80%);will-change:opacity}.ptp-portal__canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.ptp-portal__fade{display:none;position:absolute;inset:0;opacity:0;background:radial-gradient(circle at 50% 50%,#7dff4f8c,#4b2a869e 42%,#0d0618d1)}.ptp-portal[data-reduced] .ptp-portal__canvas,.ptp-portal[data-reduced] .ptp-portal__dim{display:none}.ptp-portal[data-reduced] .ptp-portal__fade{display:block}.ptp-flash{position:fixed;inset:0;z-index:9500;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 50%,#ffffff 0%,#ffffff 28%,var(--ptp-flash, #7dff4f) 100%)}.ptp-bg{--bgh: 100vh;--bgmin: 100vmin;--moon-size: calc(var(--bgmin) * .27);container-type:size;position:fixed;inset:0;z-index:var(--ptp-bg-z, -1);overflow:hidden;pointer-events:none;background:#0d0618;contain:layout paint}.ptp-bg--phone{--moon-size: calc(var(--bgmin) * .44)}@supports (height: 1cqh){.ptp-bg{--bgh: 100cqh;--bgmin: 100cqmin}}.ptp-bg>*{position:absolute}.ptp-bg__sky{inset:0;background:radial-gradient(130% 62% at 50% 112%,rgba(57,211,83,.22),transparent 62%),radial-gradient(80% 55% at 82% 16%,rgba(75,42,134,.6),transparent 72%),radial-gradient(70% 50% at 8% 40%,rgba(43,22,80,.7),transparent 70%),linear-gradient(180deg,#060211,#0d0618 36%,#1a0b36 76%,#2b1650)}.ptp-bg__stars{inset:0;background-repeat:no-repeat;animation:ptp-twinkle 5.5s ease-in-out infinite alternate;will-change:opacity}.ptp-bg__stars--b{animation-duration:7.3s;animation-delay:-2.4s}.ptp-bg__stars--c{animation-duration:4.1s;animation-delay:-1.1s}@keyframes ptp-twinkle{0%{opacity:.35}to{opacity:1}}.ptp-bg__moonglow{right:calc(9% - var(--moon-size) * 1.3);top:calc(9% - var(--moon-size) * 1.3);width:calc(var(--moon-size) * 3.6);height:calc(var(--moon-size) * 3.6);border-radius:50%;background:radial-gradient(circle,rgba(255,215,106,.34) 0%,rgba(255,190,90,.16) 22%,rgba(140,80,200,.1) 42%,transparent 68%);animation:ptp-moonpulse 9s ease-in-out infinite alternate;will-change:opacity,transform}@keyframes ptp-moonpulse{0%{opacity:.72;transform:scale(.97)}to{opacity:1;transform:scale(1.04)}}.ptp-bg__moon{right:9%;top:9%;width:var(--moon-size);height:var(--moon-size);border-radius:50%;background:radial-gradient(circle at 36% 34%,#fff7d2,#ffe28a 34%,#ffd76a 58%,#e9b24a);box-shadow:0 0 40px 10px #ffd76a6b,0 0 130px 40px #ffbe5a33,inset calc(var(--bgmin) * -.03) calc(var(--bgmin) * -.02) calc(var(--bgmin) * .05) #a060186b;overflow:hidden}.ptp-bg__moon:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 38%,rgba(170,110,30,.34) 0 9%,transparent 10%),radial-gradient(circle at 58% 24%,rgba(170,110,30,.26) 0 6%,transparent 7%),radial-gradient(circle at 66% 58%,rgba(170,110,30,.32) 0 11%,transparent 12%),radial-gradient(circle at 40% 72%,rgba(170,110,30,.24) 0 7%,transparent 8%),radial-gradient(circle at 78% 36%,rgba(170,110,30,.2) 0 4%,transparent 5%),radial-gradient(circle at 20% 62%,rgba(170,110,30,.2) 0 5%,transparent 6%)}.ptp-bg__moon:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 34% 30%,transparent 55%,rgba(60,20,90,.4) 100%)}.ptp-bg__fog{left:-50%;width:200%;height:46%;bottom:-6%;background:radial-gradient(ellipse 20% 55% at 10% 62%,rgba(125,80,210,.3),transparent 72%),radial-gradient(ellipse 26% 50% at 36% 46%,rgba(75,42,134,.38),transparent 72%),radial-gradient(ellipse 18% 60% at 62% 64%,rgba(57,211,83,.12),transparent 72%),radial-gradient(ellipse 24% 52% at 86% 50%,rgba(125,80,210,.3),transparent 72%);animation:ptp-fog-drift 70s ease-in-out infinite alternate;will-change:transform}.ptp-bg__fog--back{bottom:14%;height:40%;opacity:.62;animation-duration:96s;animation-direction:alternate-reverse}.ptp-bg__fog--green{bottom:-9%;height:34%;opacity:.95;animation-duration:54s;background:radial-gradient(ellipse 22% 55% at 18% 60%,rgba(57,211,83,.16),transparent 72%),radial-gradient(ellipse 24% 50% at 52% 55%,rgba(125,255,79,.1),transparent 72%),radial-gradient(ellipse 20% 60% at 80% 60%,rgba(57,211,83,.15),transparent 72%)}@keyframes ptp-fog-drift{0%{transform:translateZ(0)}to{transform:translate3d(25%,0,0)}}.ptp-bg__horizon{left:0;bottom:0;width:100%;height:calc(var(--bgh) * .13);display:block;fill:#070210}.ptp-bg__ember{left:50%;bottom:calc(var(--bgh) * -.03);width:var(--s, 6px);height:var(--s, 6px);border-radius:50%;background:radial-gradient(circle,var(--c, rgba(255, 122, 26, .95)) 0%,transparent 72%);opacity:0;animation:ptp-ember var(--d, 14s) linear infinite;animation-delay:var(--dl, 0s);will-change:transform,opacity}@keyframes ptp-ember{0%{transform:translateZ(0) scale(.5);opacity:0}10%{opacity:var(--o, .9)}50%{transform:translate3d(var(--sw, 40px),calc(var(--bgh) * -.58),0) scale(1)}82%{opacity:calc(var(--o, .9) * .55)}to{transform:translate3d(calc(var(--sw, 40px) * -.7),calc(var(--bgh) * -1.12),0) scale(.35);opacity:0}}.ptp-bg__bat{left:0;top:0;width:120px;height:60px;opacity:0;will-change:transform,opacity}.ptp-bg__bat-bob{width:100%;height:100%;animation:ptp-bat-bob 1.1s ease-in-out infinite alternate}.ptp-bg__bat svg{display:block;width:100%;height:100%;overflow:visible;fill:#05020a}.ptp-bg__wing{transform-origin:60px 30px}.ptp-bg__wing--l{animation:ptp-flap-l .3s ease-in-out infinite alternate}.ptp-bg__wing--r{animation:ptp-flap-r .3s ease-in-out infinite alternate}@keyframes ptp-bat-bob{0%{transform:translateY(-12px)}to{transform:translateY(12px)}}@keyframes ptp-flap-r{0%{transform:rotate(-26deg) scaleY(1)}to{transform:rotate(24deg) scaleY(.82)}}@keyframes ptp-flap-l{0%{transform:rotate(26deg) scaleY(1)}to{transform:rotate(-24deg) scaleY(.82)}}.ptp-bg__vignette{inset:0;background:radial-gradient(ellipse at 50% 46%,transparent 52%,rgba(4,1,9,.6) 100%)}.ptp-bg--phone .ptp-bg__fog--green,.ptp-bg--phone .ptp-bg__moonglow{animation:none}.ptp-bg--phone .ptp-bg__fog--green{display:none}.ptp-bg--phone .ptp-bg__bat{width:84px;height:42px}.ptp-bg[data-paused],.ptp-bg[data-paused] *{animation-play-state:paused!important}.ptp-bg[data-reduced] *,.ptp-bg[data-reduced] *:before,.ptp-bg[data-reduced] *:after{animation:none!important}.ptp-bg[data-reduced] .ptp-bg__ember,.ptp-bg[data-reduced] .ptp-bg__bat{display:none}.ptp-char{display:block;overflow:visible;flex:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;--speed: 1;--bob: 3.2s;--blink: 4.2s;--amp: 3px;--hop: 1.1s;--ptp-d: 0s}.ptp-char *{animation-delay:calc(var(--ptp-delay, 0s) + var(--ptp-d, 0s));animation-timing-function:ease-in-out;animation-iteration-count:infinite}.ptp-char--pumpkin{--bob: 3.4s;--blink: 4.3s;--ptp-d: -.4s}.ptp-char--ghost{--bob: 3.9s;--blink: 3.7s;--ptp-d: -1.7s;--amp: 6px;--hop: 1.3s}.ptp-char--vampire{--bob: 3.1s;--blink: 4.9s;--ptp-d: -2.2s}.ptp-char--witch{--bob: 3.6s;--blink: 3.9s;--ptp-d: -.9s}.ptp-char--skeleton{--bob: 2.7s;--blink: 5.2s;--ptp-d: -2.8s;--hop: .95s}.ptp-char--werewolf{--bob: 3s;--blink: 4.5s;--ptp-d: -1.3s}.ptp-char--mummy{--bob: 3.9s;--blink: 4s;--ptp-d: -3.1s;--hop: 1.25s}.ptp-char--frankenstein{--bob: 4.2s;--blink: 5s;--ptp-d: -.2s;--hop: 1.3s}.ptp-char--empty{--bob: 4.6s;--amp: 5px;--ptp-d: -1s}.ptp-mood--idle{--speed: 1}.ptp-mood--happy{--speed: 1.8}.ptp-mood--sad{--speed: .55}.ptp-mood--think{--speed: .8}.ptp-mood--scared{--speed: 2.6}.ptp-char .ptp-bob{transform-box:view-box;transform-origin:100px 205px;animation-name:ptp-breathe;animation-duration:calc(var(--bob) / var(--speed))}.ptp-char .ptp-shadow{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-shadow-breathe;animation-duration:calc(var(--bob) / var(--speed))}.ptp-char--ghost .ptp-bob,.ptp-char--empty .ptp-bob{animation-name:ptp-float}.ptp-char--ghost .ptp-shadow,.ptp-char--empty .ptp-shadow{animation-name:ptp-shadow-float}.ptp-mood--happy .ptp-bob{animation-name:ptp-hop;animation-duration:var(--hop);animation-timing-function:linear}.ptp-mood--happy .ptp-shadow{animation-name:ptp-shadow-hop;animation-duration:var(--hop);animation-timing-function:linear}.ptp-mood--sad .ptp-bob{transform:translateY(4px) scale(1.03,.95);animation-name:ptp-sad;animation-duration:5s}.ptp-mood--scared .ptp-bob{transform:scale(1.02,.97);animation-name:ptp-shiver;animation-duration:.16s;animation-timing-function:linear}.ptp-mood--scared .ptp-shadow{animation:none}@keyframes ptp-breathe{0%,to{transform:scale(1)}50%{transform:scale(.988,1.022)}}@keyframes ptp-float{0%,to{transform:translateY(0)}50%{transform:translateY(calc(var(--amp) * -1))}}@keyframes ptp-shadow-breathe{0%,to{transform:scale(1)}50%{transform:scaleX(.97)}}@keyframes ptp-shadow-float{0%,to{transform:scale(1);opacity:.34}50%{transform:scale(.84,.9);opacity:.22}}@keyframes ptp-hop{0%{transform:translateY(0) scale(1.06,.92)}16%{transform:translateY(-4px) scale(.96,1.05)}40%{transform:translateY(-22px) scale(.95,1.07)}62%{transform:translateY(0) scale(1.07,.9)}74%{transform:translateY(-3px) scale(.99,1.02)}86%,to{transform:translateY(0) scale(1)}}@keyframes ptp-shadow-hop{0%,62%,to{transform:scale(1);opacity:.34}40%{transform:scale(.66,.8);opacity:.18}}@keyframes ptp-sad{0%,to{transform:translateY(4px) scale(1.03,.95)}50%{transform:translateY(5px) scale(1.04,.935)}}@keyframes ptp-shiver{0%,to{transform:translate(0) scale(1.02,.97)}25%{transform:translate(-2.2px,.6px) scale(1.02,.97)}50%{transform:translate(2.2px,-.4px) scale(1.02,.97)}75%{transform:translate(-1.5px,.4px) scale(1.02,.97)}}.ptp-char .ptp-head{transform-box:view-box;transform-origin:100px 140px;transition:transform .4s cubic-bezier(.3,1.5,.5,1)}.ptp-char--witch .ptp-head{transform-origin:100px 150px}.ptp-char--ghost .ptp-head,.ptp-char--empty .ptp-head{transform-origin:100px 190px}.ptp-mood--think .ptp-head{transform:rotate(-7deg);animation-name:ptp-think;animation-duration:3.6s}.ptp-mood--sad .ptp-head{transform:translateY(3px) rotate(3deg)}@keyframes ptp-think{0%,to{transform:rotate(-7deg)}50%{transform:rotate(-4.5deg)}}.ptp-char .eye{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-blink;animation-duration:var(--blink)}@keyframes ptp-blink{0%,91%,to{transform:scaleY(1)}94.5%{transform:scaleY(.08)}}.ptp-char .eye-arc,.ptp-mood--happy .eye-open{display:none}.ptp-mood--happy .eye-arc{display:inline}.ptp-mood--happy .eye{animation:none}.ptp-char .eye-white,.ptp-char .pupil-dot{transform-box:fill-box;transform-origin:50% 50%;transition:transform .25s ease}.ptp-char .pupil{transition:transform .3s ease}.ptp-mood--scared .eye-white{transform:scale(1.16)}.ptp-mood--scared .pupil-dot{transform:scale(.6)}.ptp-mood--sad .pupil{transform:translateY(2.6px)}.ptp-mood--think .pupil{transform:translate(3.5px,-4.5px);animation-name:ptp-look;animation-duration:3.4s}@keyframes ptp-look{0%,to{transform:translate(3.5px,-4.5px)}50%{transform:translate(-3px,-5px)}}.ptp-mood--scared .pupil{animation-name:ptp-dart;animation-duration:.5s}@keyframes ptp-dart{0%,to{transform:translate(-1.5px)}50%{transform:translate(1.5px)}}.ptp-char .brow{transform-box:fill-box;transform-origin:50% 50%;transition:transform .28s ease}.ptp-mood--happy .brow{transform:translateY(-4px)}.ptp-mood--sad .brow-l{transform:translateY(2px) rotate(-17deg)}.ptp-mood--sad .brow-r{transform:translateY(2px) rotate(17deg)}.ptp-mood--scared .brow-l{transform:translateY(-6px) rotate(-8deg)}.ptp-mood--scared .brow-r{transform:translateY(-6px) rotate(8deg)}.ptp-mood--think .brow-l{transform:translateY(-5px) rotate(-8deg)}.ptp-mood--think .brow-r{transform:translateY(1px) rotate(6deg)}.ptp-char .mo{display:none}.ptp-mood--idle .mo-idle,.ptp-mood--happy .mo-happy,.ptp-mood--sad .mo-sad,.ptp-mood--think .mo-think,.ptp-mood--scared .mo-scared{display:inline}.ptp-mood--scared .mo-scared{transform-box:fill-box;transform-origin:50% 0%;animation-name:ptp-gasp;animation-duration:.3s}@keyframes ptp-gasp{0%,to{transform:scale(1)}50%{transform:scale(.94,1.1)}}.ptp-char .blush{transition:opacity .3s ease}.ptp-mood--happy .blush{opacity:.95}.ptp-mood--sad .blush{opacity:.15}.ptp-mood--scared .blush{opacity:.12}.ptp-char .fx{display:none}.ptp-mood--sad .fx-sad,.ptp-mood--scared .fx-scared,.ptp-mood--think .fx-think,.ptp-mood--happy .fx-happy{display:inline}.ptp-char .tear{transform-box:fill-box;transform-origin:50% 0%;animation-name:ptp-tear;animation-duration:2.2s;animation-timing-function:ease-in}.ptp-char .tear-1{--ptp-d: -1.1s}@keyframes ptp-tear{0%{transform:translateY(-2px) scale(.3);opacity:0}18%{transform:translateY(0) scale(1);opacity:1}80%{transform:translateY(16px) scale(1);opacity:1}to{transform:translateY(24px) scale(.9);opacity:0}}.ptp-char .sweat{transform-box:fill-box;transform-origin:50% 0%;animation-name:ptp-sweat;animation-duration:1.1s;animation-timing-function:ease-in}@keyframes ptp-sweat{0%{transform:translateY(-3px) scale(.5);opacity:0}20%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(15px) scale(1);opacity:0}}.ptp-char .dot{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-dot;animation-duration:1.8s}.ptp-char .dot-1{--ptp-d: .3s}.ptp-char .dot-2{--ptp-d: .6s}@keyframes ptp-dot{0%,to{transform:scale(.55);opacity:.35}35%,70%{transform:scale(1);opacity:1}}.ptp-char .spark{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-twinkle;animation-duration:1.3s}.ptp-char .spark-1{--ptp-d: -.4s}.ptp-char .spark-2{--ptp-d: -.9s}@keyframes ptp-twinkle{0%,to{transform:scale(.35) rotate(0);opacity:.3}50%{transform:scale(1.1) rotate(25deg);opacity:1}}.ptp-char [class*=-arm-l]{transform-box:fill-box;transform-origin:100% 0%;animation-name:ptp-arm-l;animation-duration:calc(2.9s / var(--speed));transition:transform .3s ease}.ptp-char [class*=-arm-r]{transform-box:fill-box;transform-origin:0% 0%;animation-name:ptp-arm-r;animation-duration:calc(3.3s / var(--speed));--ptp-d: -1.2s;transition:transform .3s ease}@keyframes ptp-arm-l{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}@keyframes ptp-arm-r{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}.ptp-mood--happy [class*=-arm-l]{animation-name:ptp-cheer-l;animation-duration:var(--hop);animation-timing-function:linear}.ptp-mood--happy [class*=-arm-r]{animation-name:ptp-cheer-r;animation-duration:var(--hop);animation-timing-function:linear}@keyframes ptp-cheer-l{0%,to{transform:rotate(40deg)}40%{transform:rotate(78deg)}62%{transform:rotate(30deg)}}@keyframes ptp-cheer-r{0%,to{transform:rotate(-40deg)}40%{transform:rotate(-78deg)}62%{transform:rotate(-30deg)}}.ptp-mood--sad [class*=-arm-l]{animation:none;transform:rotate(-9deg)}.ptp-mood--sad [class*=-arm-r]{animation:none;transform:rotate(9deg)}.ptp-mood--scared [class*=-arm-l]{animation-name:ptp-fear-l;animation-duration:.18s;animation-timing-function:linear}.ptp-mood--scared [class*=-arm-r]{animation-name:ptp-fear-r;animation-duration:.18s;animation-timing-function:linear}@keyframes ptp-fear-l{0%,to{transform:rotate(52deg)}50%{transform:rotate(57deg)}}@keyframes ptp-fear-r{0%,to{transform:rotate(-52deg)}50%{transform:rotate(-57deg)}}.ptp-mood--think [class*=-arm-r]{animation:none;transform:rotate(-22deg)}.ptp-char .pm-spill{animation-name:ptp-flicker;animation-duration:calc(2.3s / var(--speed));animation-timing-function:linear}.ptp-char .pm-core{animation-name:ptp-flicker-core;animation-duration:calc(1.7s / var(--speed));animation-timing-function:linear;--ptp-d: -.6s}@keyframes ptp-flicker{0%{opacity:1}8%{opacity:.55}14%{opacity:1}30%{opacity:.8}36%{opacity:.45}42%{opacity:1}70%{opacity:.85}78%{opacity:.5}86%,to{opacity:1}}@keyframes ptp-flicker-core{0%{opacity:1}12%{opacity:.35}20%{opacity:.9}45%{opacity:.5}52%{opacity:1}80%{opacity:.4}90%,to{opacity:1}}.ptp-char .pm-stem{transform-box:fill-box;transform-origin:50% 100%;animation-name:ptp-sway;animation-duration:calc(3.8s / var(--speed))}.ptp-char .pm-vine{transform-box:fill-box;transform-origin:0% 100%;animation-name:ptp-curl;animation-duration:calc(2.6s / var(--speed));--ptp-d: -.8s}@keyframes ptp-sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes ptp-curl{0%,to{transform:rotate(-7deg)}50%{transform:rotate(9deg)}}.ptp-char .pm-eye{transform-box:fill-box;transform-origin:50% 90%;transition:transform .28s ease}.ptp-mood--sad .pm-eye-l{transform:rotate(16deg)}.ptp-mood--sad .pm-eye-r{transform:rotate(-16deg)}.ptp-mood--scared .pm-eye{transform:scale(1.2)}.ptp-mood--think .pm-eye-l{transform:translate(2px,-3px)}.ptp-mood--think .pm-eye-r{transform:translate(2px,-3px) scale(1.14)}.ptp-char .gh-halo{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-halo;animation-duration:calc(3.4s / var(--speed))}@keyframes ptp-halo{0%,to{transform:scale(.95);opacity:.7}50%{transform:scale(1.05);opacity:1}}.ptp-char .gh-hem{transform-box:view-box;transform-origin:100px 175px;animation-name:ptp-hem;animation-duration:calc(2.2s / var(--speed))}@keyframes ptp-hem{0%,to{transform:skew(-4.5deg) scaleX(1)}50%{transform:skew(4.5deg) scaleX(1.025)}}.ptp-char .gh-arm-r{transform-box:view-box;transform-origin:150px 126px;animation-name:ptp-wave;animation-duration:calc(1.5s / var(--speed))}@keyframes ptp-wave{0%,to{transform:rotate(-14deg)}50%{transform:rotate(14deg)}}.ptp-char--ghost.ptp-mood--sad .gh-arm-r{animation:none;transform:rotate(-70deg)}.ptp-char--ghost.ptp-mood--scared .gh-arm-r{animation-name:ptp-fear-r;transform:none}.ptp-char--ghost.ptp-mood--happy .gh-arm-r{animation-name:ptp-wave;animation-duration:.5s;animation-timing-function:ease-in-out}.ptp-char--ghost.ptp-mood--happy .gh-arm-l{animation-name:ptp-cheer-l}.ptp-char .vm-cape{transform-box:view-box;transform-origin:100px 60px;animation-name:ptp-cape;animation-duration:calc(3.6s / var(--speed))}@keyframes ptp-cape{0%,to{transform:skew(-1.8deg) scaleX(1)}50%{transform:skew(1.8deg) scaleX(1.02)}}.ptp-char .vm-brow-r{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-brow-raise;animation-duration:5.6s}@keyframes ptp-brow-raise{0%,58%,90%,to{transform:translateY(0) rotate(0)}64%,80%{transform:translateY(-8px) rotate(-7deg)}}.ptp-char .wi-hat{transform-box:view-box;transform-origin:100px 72px;animation-name:ptp-hat;animation-duration:calc(4.2s / var(--speed))}@keyframes ptp-hat{0%,to{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}.ptp-char .wi-tip{transform-box:view-box;transform-origin:100px 32px;animation-name:ptp-tip;animation-duration:calc(2.4s / var(--speed));--ptp-d: -.7s}@keyframes ptp-tip{0%,to{transform:rotate(-4deg)}50%{transform:rotate(7deg)}}.ptp-char .wi-broom{transform-box:view-box;transform-origin:160px 206px;animation-name:ptp-broom;animation-duration:calc(3.2s / var(--speed))}@keyframes ptp-broom{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2.2deg)}}.ptp-char.ptp-char--witch .wi-arm-r{animation:none!important;transform:none!important}.ptp-char .wi-hair{transform-box:view-box;transform-origin:100px 100px;animation-name:ptp-hair;animation-duration:calc(3.1s / var(--speed))}@keyframes ptp-hair{0%,to{transform:scale(1)}50%{transform:scale(1.02,1.01)}}.ptp-char .sk-jaw{transform-box:fill-box;transform-origin:50% 0%;animation-name:ptp-chatter;animation-duration:calc(4s / var(--speed));animation-timing-function:linear;transition:transform .25s ease}@keyframes ptp-chatter{0%,52%,to{transform:translateY(0)}55%{transform:translateY(5px)}58%{transform:translateY(0)}61%{transform:translateY(5.5px)}64%{transform:translateY(0)}67%{transform:translateY(5px)}70%{transform:translateY(0)}73%{transform:translateY(4px)}76%{transform:translateY(0)}}.ptp-mood--happy .sk-jaw{transform:translateY(9px);animation-name:ptp-laugh;animation-duration:.36s;animation-timing-function:ease-in-out}@keyframes ptp-laugh{0%,to{transform:translateY(8px)}50%{transform:translateY(13px)}}.ptp-mood--sad .sk-jaw{animation:none;transform:translateY(3px) rotate(-2deg)}.ptp-mood--think .sk-jaw{animation:none;transform:translate(5px,2px) rotate(5deg)}.ptp-mood--scared .sk-jaw{transform:translateY(9px);animation-name:ptp-clatter;animation-duration:.14s;animation-timing-function:linear}@keyframes ptp-clatter{0%,to{transform:translateY(4px)}50%{transform:translateY(12px)}}.ptp-char .ww-ear{transform-box:fill-box;transform-origin:50% 100%;transition:transform .3s ease}.ptp-char .ww-ear-r{animation-name:ptp-twitch;animation-duration:4.6s}.ptp-char .ww-ear-l{animation-name:ptp-twitch-l;animation-duration:6.1s;--ptp-d: -2.3s}@keyframes ptp-twitch{0%,84%,to{transform:rotate(0)}86%{transform:rotate(-14deg)}88%{transform:rotate(5deg)}90%{transform:rotate(-10deg)}93%{transform:rotate(0)}}@keyframes ptp-twitch-l{0%,70%,to{transform:rotate(0)}73%{transform:rotate(10deg)}76%{transform:rotate(-3deg)}79%{transform:rotate(0)}}.ptp-mood--sad .ww-ear-l,.ptp-mood--scared .ww-ear-l{animation:none;transform:rotate(-26deg)}.ptp-mood--sad .ww-ear-r,.ptp-mood--scared .ww-ear-r{animation:none;transform:rotate(26deg)}.ptp-mood--think .ww-ear-r{animation:none;transform:rotate(10deg)}.ptp-char .ww-tail{transform-box:view-box;transform-origin:126px 182px;animation-name:ptp-wag;animation-duration:calc(1.5s / var(--speed))}@keyframes ptp-wag{0%,to{transform:rotate(-9deg)}50%{transform:rotate(11deg)}}.ptp-mood--sad .ww-tail{animation:none;transform:rotate(18deg) translateY(4px)}.ptp-mood--scared .ww-tail{animation:none;transform:rotate(24deg) scale(.9)}.ptp-char .mu-flap{transform-box:view-box;transform-origin:128px 46px;animation-name:ptp-flutter;animation-duration:calc(2.2s / var(--speed))}.ptp-char .mu-flap2{transform-box:view-box;transform-origin:70px 178px;animation-name:ptp-flutter-b;animation-duration:calc(2.8s / var(--speed));--ptp-d: -1.1s}@keyframes ptp-flutter{0%,to{transform:rotate(-5deg) skewY(-3deg)}50%{transform:rotate(7deg) skewY(5deg)}}@keyframes ptp-flutter-b{0%,to{transform:rotate(4deg)}50%{transform:rotate(-6deg)}}.ptp-char .mu-glow{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-glow;animation-duration:calc(2.4s / var(--speed))}@keyframes ptp-glow{0%,to{transform:scale(.82);opacity:.55}50%{transform:scale(1.18);opacity:1}}.ptp-char--mummy .eye-arc{stroke:#d9ffb8}.ptp-char .fr-spark{opacity:0;transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-zap;animation-timing-function:linear}.ptp-char .fr-spark-l1{animation-duration:calc(2.6s / var(--speed))}.ptp-char .fr-spark-l2{animation-duration:calc(3.1s / var(--speed));--ptp-d: -1.2s}.ptp-char .fr-spark-l3{animation-duration:calc(2.3s / var(--speed));--ptp-d: -.5s}.ptp-char .fr-spark-r1{animation-duration:calc(2.9s / var(--speed));--ptp-d: -1.6s}.ptp-char .fr-spark-r2{animation-duration:calc(2.4s / var(--speed));--ptp-d: -.3s}.ptp-char .fr-spark-r3{animation-duration:calc(3.3s / var(--speed));--ptp-d: -2s}@keyframes ptp-zap{0%,to{opacity:0;transform:scale(.6) rotate(0)}4%{opacity:1;transform:scale(1.25) rotate(-8deg)}8%{opacity:0}11%{opacity:1;transform:scale(.95) rotate(10deg)}15%{opacity:0}44%{opacity:0;transform:scale(.6)}47%{opacity:1;transform:scale(1.15) rotate(6deg)}51%{opacity:0}}.ptp-still .fr-spark-l1,.ptp-still .fr-spark-r1{opacity:1}.ptp-char .lid{transform-box:fill-box;transform-origin:50% 100%;transition:transform .28s ease}.ptp-mood--happy .lid{display:none}.ptp-mood--sad .lid-l{transform:rotate(6deg) translateY(1px)}.ptp-mood--sad .lid-r{transform:rotate(-6deg) translateY(1px)}.ptp-mood--scared .lid{transform:translateY(-10px)}.ptp-mood--think .lid-r{transform:translateY(-7px)}.ptp-char .em-q{transform-box:fill-box;transform-origin:50% 60%;animation-name:ptp-qpulse;animation-duration:2.6s}@keyframes ptp-qpulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.07);opacity:1}}.ptp-char .em-aura{transform-box:fill-box;transform-origin:50% 50%;animation-name:ptp-halo;animation-duration:4.4s}.ptp-char.ptp-still,.ptp-char.ptp-still *{animation:none!important}@media(prefers-reduced-motion:reduce){.ptp-char,.ptp-char *{animation:none!important;transition:none!important}.ptp-char .fr-spark-l1,.ptp-char .fr-spark-r1{opacity:1}}
