/* Phii's optional playground. Kept separate from the page's ambient mascots. */
#phii-play-dialog{--pp-bg:#FAFAFC;--pp-ink:#1B2838;--pp-muted:#657279;--pp-line:#DCE7E4;--pp-green:#247A6C;--pp-mint:#B9EADD;--pp-soft:#ECF5F1;--pp-violet:#9471BA;--dog-ink:#3C887C;--dog-paper:#FAFAFC;--dog-collar:#997BB5;width:min(540px,calc(100% - 24px));max-width:540px;max-height:calc(100svh - 24px);margin:auto;padding:0;overflow:auto;color:var(--pp-ink);background:var(--pp-bg);border:1px solid #fff;border-radius:26px;box-shadow:inset 0 0 0 1px #DDE6E533,0 35px 110px #10293B44;font-family:Inter,system-ui,sans-serif;isolation:isolate;overscroll-behavior:contain}
html[data-theme="dark"] #phii-play-dialog{--pp-bg:#0F1827;--pp-ink:#EFF3F8;--pp-muted:#ABB9C9;--pp-line:#354657;--pp-green:#95E2CE;--pp-mint:#72D7BD;--pp-soft:#182B35;--pp-violet:#B38BE6;--dog-ink:#AAECDD;--dog-paper:#0F1827;--dog-collar:#B38BE6;border-color:#8291A745;box-shadow:inset 0 1px 0 #FFFFFF16,0 35px 110px #0009}
#phii-play-dialog::backdrop{background:#0F182780;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#phii-play-dialog button{font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#phii-play-dialog button:focus-visible{outline:3px solid var(--pp-violet);outline-offset:3px}
#phii-play-dialog [hidden]{display:none!important}
#phii-play-dialog .phii-play__head{position:sticky;top:0;z-index:4;height:auto;min-height:0;border:0;background:var(--pp-bg);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:25px 24px 0}
#phii-play-dialog .phii-play__eyebrow{display:block;color:var(--pp-green);font-size:10px;font-weight:650;letter-spacing:.12em;text-transform:uppercase;margin-bottom:7px}
#phii-play-dialog h2{font-family:Inter,system-ui,sans-serif;font-size:26px;line-height:1.16;letter-spacing:-.045em;font-weight:600;margin:0;color:var(--pp-ink);text-wrap:balance}
#phii-play-dialog .phii-play__close{width:44px;height:44px;min-width:44px;margin:-7px -7px 0 0;border:1px solid var(--pp-line);border-radius:50%;background:transparent;color:var(--pp-muted);display:grid;place-items:center}
#phii-play-dialog .phii-play__close svg{width:19px;height:19px}
#phii-play-dialog .phii-play__help{font-size:12px;line-height:1.65;margin:12px 24px 0;color:var(--pp-muted);max-width:400px}
#phii-play-dialog .phii-game{--phii-dog-size:148px;position:relative;height:212px;margin:9px 14px 0;overflow:hidden;border-radius:20px;user-select:none;-webkit-user-select:none;touch-action:pan-y;background:radial-gradient(ellipse at 64% 69%,#B1EAD42B,transparent 65%)}
html[data-theme="dark"] #phii-play-dialog .phii-game{background:radial-gradient(ellipse at 64% 69%,#49BCA316,transparent 65%)}
#phii-play-dialog .phii-game__sky span{position:absolute;color:var(--pp-violet);font-size:11px;opacity:.33}
#phii-play-dialog .phii-game__sky span:nth-child(1){top:63px;left:12%}#phii-play-dialog .phii-game__sky span:nth-child(2){top:39px;right:21%}#phii-play-dialog .phii-game__sky span:nth-child(3){top:92px;right:7%;font-size:8px}
#phii-play-dialog .phii-game__bubble{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);padding:7px 13px;margin:0;font-size:12px;line-height:1.5;color:var(--pp-green);background:var(--pp-soft);border:1px solid var(--pp-line);border-radius:13px;box-shadow:inset 0 1px 0 #ffffff35;text-align:center;pointer-events:none}
#phii-play-dialog .phii-game__ground{position:absolute;bottom:31px;left:14px;right:14px;height:1px;background:linear-gradient(90deg,transparent,var(--pp-line) 15%,var(--pp-line) 85%,transparent)}
#phii-play-dialog .phii-game__hint{position:absolute;bottom:7px;left:0;right:0;color:var(--pp-muted);font-size:10px;text-align:center;pointer-events:none;opacity:.8}
#phii-play-dialog .phii-game__dog{position:absolute;left:25%;bottom:22px;display:block;width:148px;height:111px;padding:0;background:none;color:var(--pp-green);border:0;transform:translateX(-50%);transition:left var(--phii-run-time,800ms) linear;border-radius:20px;z-index:2}
#phii-play-dialog .phii-game__facing{display:block;width:100%;height:100%;transform-origin:center}
#phii-play-dialog .phii-game__dog.is-left .phii-game__facing{transform:scaleX(-1)}
#phii-play-dialog .phii-game__dog svg{display:block;width:100%;height:100%;max-width:none;overflow:visible}
#phii-play-dialog .phii-game__dog :is(.dog-rig,.dog-body,.dog-head,.dog-tail,.dog-eye,.dog-leg,.dog-shadow){transform-box:view-box;transform:none;animation:none}
#phii-play-dialog .dog-rig{transform-origin:106px 135px}#phii-play-dialog .dog-head{transform-origin:137px 84px}#phii-play-dialog .dog-body{transform-origin:74px 99px}#phii-play-dialog .dog-tail{transform-origin:67px 79px}#phii-play-dialog .dog-eye{transform-origin:157px 61px}#phii-play-dialog .dog-shadow{transform-origin:106px 138px}
#phii-play-dialog .back-near{transform-origin:73px 99px}#phii-play-dialog .back-far{transform-origin:86px 98px}#phii-play-dialog .front-near{transform-origin:130px 100px}#phii-play-dialog .front-far{transform-origin:135px 99px}
#phii-play-dialog[open] .phii-game__dog .dog-tail{animation:pp-wag 1.2s ease-in-out infinite}
#phii-play-dialog[open] .phii-game__dog .dog-eye{animation:pp-blink 4s ease-in-out infinite}
#phii-play-dialog[open] .phii-game__dog:not(.is-running):not(.is-happy):not(.is-sniff) .dog-head{animation:pp-curious 5s ease-in-out infinite}
#phii-play-dialog[open] .phii-game__dog.is-running .dog-rig{animation:pp-trot .26s ease-in-out infinite}
#phii-play-dialog[open] .phii-game__dog.is-running :is(.front-near,.back-far){animation:pp-leg .3s ease-in-out infinite alternate}
#phii-play-dialog[open] .phii-game__dog.is-running :is(.front-far,.back-near){animation:pp-leg .3s ease-in-out -.3s infinite alternate}
#phii-play-dialog[open] .phii-game__dog.is-sniff .dog-head{animation:pp-sniff .65s ease-in-out both}
#phii-play-dialog[open] .phii-game__dog.is-happy .dog-rig{animation:pp-hop .7s ease-in-out both}
#phii-play-dialog[open] .phii-game__dog.is-happy .dog-tail{animation:pp-wag .25s ease-in-out infinite}
#phii-play-dialog .phii-game__heart{position:absolute;top:2px;left:44%;font-size:26px;line-height:1;color:var(--pp-violet);opacity:0;pointer-events:none}
#phii-play-dialog[open] .is-happy .phii-game__heart{animation:pp-heart .8s ease-out both}
#phii-play-dialog .phii-game__spark{position:absolute;bottom:calc(11px + var(--phii-dog-size)*.4);width:22px;height:22px;transform:translateX(-50%);color:var(--pp-violet);filter:drop-shadow(0 0 8px #B38BE633);pointer-events:none}
#phii-play-dialog .phii-game__spark svg{width:100%;height:100%}
#phii-play-dialog[open] .phii-game__spark:not([hidden]){animation:pp-spark .45s ease-out both}
#phii-play-dialog .phii-play__controls{display:flex;justify-content:center;gap:10px;margin:4px 20px 19px}
#phii-play-dialog .phii-play__throw,#phii-play-dialog .phii-play__pat{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;font-size:12px;font-weight:550;border-radius:999px;border:1px solid var(--pp-line);background:var(--pp-soft);color:var(--pp-green)}
#phii-play-dialog .phii-play__pat{background:transparent;color:var(--pp-muted)}
#phii-play-dialog .phii-play__throw:hover{border-color:var(--pp-green)}
#phii-play-dialog .phii-play__finding{margin:0 24px;padding:16px 0 15px;border-block:1px solid var(--pp-line)}
#phii-play-dialog .phii-play__progress{display:flex;align-items:center;gap:9px;color:var(--pp-muted);font-size:10px;line-height:1.3;min-height:22px}
#phii-play-dialog .phii-play__dots{display:flex;gap:4px}#phii-play-dialog .phii-play__dots i{width:6px;height:6px;background:var(--pp-line);border-radius:50%;transition:background .2s}
#phii-play-dialog .phii-play__dots i.is-found{background:var(--pp-green)}
#phii-play-dialog [data-phii-motion],#phii-play-dialog [data-phii-replay]{margin:-10px -4px -10px 0;min-height:44px;padding:8px 6px;border:0;background:none;color:var(--pp-green);font-size:10px;text-decoration:underline;text-underline-offset:3px}
#phii-play-dialog [data-phii-motion]{margin-left:auto;text-decoration:none;color:var(--pp-muted)}
#phii-play-dialog .phii-play__message{min-height:80px;padding-top:10px}
#phii-play-dialog .phii-play__message h3{font-family:Inter,system-ui,sans-serif;margin:0 0 5px;font-size:17px;line-height:1.3;letter-spacing:-.025em;font-weight:600;color:var(--pp-ink)}
#phii-play-dialog .phii-play__message p{font-size:12px;line-height:1.6;color:var(--pp-muted);margin:0;max-width:415px}
#phii-play-dialog .phii-play__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 24px 23px}
#phii-play-dialog .phii-play__foot>span{font-size:11px;color:var(--pp-muted);max-width:155px;line-height:1.5}
#phii-play-dialog .phii-play__start{border:1px solid #39BBA2;min-height:46px;border-radius:999px;padding:11px 17px;display:flex;align-items:center;gap:14px;background:#2BBFA8;color:#092D2A;box-shadow:inset 0 1px 0 #FFFFFF66;font-size:12px;font-weight:600;white-space:nowrap}
html[data-theme="dark"] #phii-play-dialog .phii-play__start{background:#72D7BD;border-color:#92E9D5}
#phii-play-dialog .phii-play__sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#phii-play-dialog.is-still *{animation:none!important;transition:none!important}
#phii-play-dialog.is-still .phii-game__heart{opacity:0}#phii-play-dialog.is-still .is-happy .phii-game__heart{opacity:1}
@keyframes pp-wag{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(11deg)}}
@keyframes pp-blink{0%,43%,49%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}
@keyframes pp-curious{0%,42%,100%{transform:none}52%,66%{transform:rotate(-7deg)}78%,88%{transform:rotate(5deg)}}
@keyframes pp-leg{from{transform:rotate(-9deg)}to{transform:rotate(9deg)}}
@keyframes pp-trot{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes pp-sniff{0%,100%{transform:none}35%,70%{transform:rotate(13deg) translateY(2px)}50%{transform:rotate(9deg)}}
@keyframes pp-hop{0%,100%{transform:none}17%{transform:scaleY(.95) translateY(2px)}47%{transform:translateY(-16px) rotate(-2deg)}78%{transform:scaleY(.96) translateY(1px)}}
@keyframes pp-heart{0%{transform:translateY(0) scale(.5);opacity:0}40%{opacity:1}100%{transform:translateY(-22px) scale(1.1);opacity:0}}
@keyframes pp-spark{from{transform:translate(-50%,-50px) scale(.5);opacity:0}75%{transform:translate(-50%,3px) scale(1.05)}to{transform:translate(-50%,0) scale(1);opacity:1}}
@media(max-width:420px){#phii-play-dialog .phii-play__head{padding:20px 17px 0}#phii-play-dialog h2{font-size:23px;max-width:230px}#phii-play-dialog .phii-play__help{margin:10px 17px 0;font-size:11px}#phii-play-dialog .phii-game{--phii-dog-size:122px;margin:6px 7px 0;height:186px}#phii-play-dialog .phii-game__dog{width:122px;height:91.5px}#phii-play-dialog .phii-game__bubble{font-size:11px}#phii-play-dialog .phii-play__finding{margin-inline:17px;padding-top:13px}#phii-play-dialog .phii-play__message{min-height:87px}#phii-play-dialog .phii-play__message h3{font-size:16px}#phii-play-dialog .phii-play__foot{padding:15px 17px 19px;gap:9px}#phii-play-dialog .phii-play__foot>span{font-size:10px;max-width:95px}#phii-play-dialog .phii-play__start{font-size:11px;padding:10px 13px;gap:9px}#phii-play-dialog .phii-play__controls{margin:1px 12px 14px;gap:8px}}
@media(prefers-reduced-motion:reduce){#phii-play-dialog *{animation:none!important;transition:none!important}#phii-play-dialog .is-happy .phii-game__heart{opacity:1}}
