html,body{overscroll-behavior:none;background:#081820;height:100%;margin:0;padding:0;overflow:hidden}body,body *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}input,textarea,select,[contenteditable],[data-selectable],.tools,.tools *,.debug,.debug *{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}canvas{image-rendering:pixelated;image-rendering:crisp-edges;touch-action:none;display:block}pre.crash{color:#f88;white-space:pre-wrap;padding:1em;font:13px/1.5 ui-monospace,Menlo,monospace}.pm-name-form{z-index:30;box-sizing:border-box;color:#000;clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 5px,100% calc(100% - 5px),calc(100% - 5px) 100%,5px 100%,0 calc(100% - 5px),0 5px);width:min(440px,100vw - 48px);box-shadow:none;text-align:center;background:#fff;border:6px double #000;outline:0;padding:24px;font:700 16px/1.2 ui-monospace,Menlo,monospace;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.pm-name-form[hidden]{display:none}.pm-name-form label{flex-direction:column;gap:14px;display:flex}.pm-name-form input{box-sizing:border-box;color:#000;letter-spacing:.12em;text-align:center;text-transform:uppercase;background:#fff;border:3px solid #000;border-radius:0;outline:none;width:100%;padding:12px 14px;font:700 24px/1 ui-monospace,Menlo,monospace}.pm-name-form input:focus{box-shadow:0 0 0 3px #98a830}.pm-name-form span{min-height:1.2em;margin-top:14px;font-size:13px;display:block}.pm-chat-input{z-index:30;left:50%;bottom:max(18px, env(safe-area-inset-bottom));width:min(680px,100vw - 36px);position:fixed;transform:translate(-50%)}.pm-chat-input[hidden]{display:none}.pm-chat-input input{box-sizing:border-box;color:#282830;background:#f8f8e0;border:3px solid #282830;border-radius:0;outline:3px solid #f8f8e0;width:100%;padding:12px 14px;font:700 16px/1.2 ui-monospace,Menlo,monospace;box-shadow:0 4px #08182073}.pm-chat-input input::placeholder{color:#706f68;opacity:1}.pm-ui{--face:linear-gradient(180deg, #f4f4f7 0%, #e2e2e8 46%, #c6c6d0 100%);--face-down:linear-gradient(180deg, #cdcdd6 0%, #bcbcc6 100%);--line:#777783;--glyph:#363640;z-index:10;pointer-events:none;font:700 13px/1 ui-monospace,Menlo,monospace;position:fixed;inset:0}.pm-ui *{box-sizing:border-box}.pm-ui button,.pm-ui .pm-dpad{pointer-events:auto;touch-action:none}.pm-ui button{font:inherit;color:var(--glyph);cursor:pointer;background:var(--face);border:1px solid var(--line);margin:0;padding:0;transition:background 60ms ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:inset 0 1px #ffffffd9,0 3px 5px #00000061}.pm-ui button.on,.pm-ui button:active{background:var(--face-down);transform:translateY(1px);box-shadow:inset 0 1px 3px #00000047}.pm-menu-btn{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));border-radius:8px;flex-direction:column;justify-content:center;gap:4px;width:42px;height:42px;padding:0 10px;display:flex;position:absolute}.pm-menu-btn[hidden]{display:none}.pm-chat-btn{top:calc(max(14px, env(safe-area-inset-top)) + 50px);right:max(14px, env(safe-area-inset-right));border-radius:8px;place-items:center;width:42px;height:42px;display:none;position:absolute}.pm-chat-btn[hidden]{display:none}.pm-chat-glyph{background:var(--glyph);clip-path:polygon(0 0,100% 0,100% 72%,68% 72%,52% 100%,52% 72%,0 72%);width:22px;height:18px;display:block;position:relative}.pm-chat-window{background:#e8e8ed;width:16px;height:7px;position:absolute;top:3px;left:3px}.pm-chat-window:after{content:"";background:var(--glyph);width:2px;height:2px;box-shadow:4px 0 var(--glyph), 8px 0 var(--glyph);position:absolute;top:3px;left:3px}.pm-bar{background:var(--glyph);border-radius:1px;height:2px;display:block}.pm-menu-open .pm-menu-btn,.pm-menu-open .pm-chat-btn{display:none}.pm-pad{padding:0 max(18px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));position:absolute;bottom:0;left:0;right:0}.pm-thumbs{justify-content:space-between;align-items:flex-end;gap:8px;display:flex}@media (hover:hover) and (pointer:fine){.pm-pad{display:none}}@media (hover:none),(pointer:coarse){.pm-chat-input{top:calc(max(14px, env(safe-area-inset-top)) + 8px);bottom:auto}.pm-chat-btn:not([hidden]){display:grid}.pm-menu-open .pm-chat-btn:not([hidden]){display:none}}.pm-dpad{--size:clamp(120px, 34vw, 156px);width:var(--size);height:var(--size);perspective:480px;filter:drop-shadow(1px 0 0 var(--line)) drop-shadow(-1px 0 0 var(--line)) drop-shadow(0 1px 0 var(--line)) drop-shadow(0 -1px 0 var(--line)) drop-shadow(0 3px 4px #00000061);flex:none}.pm-ui.pm-controls-hint button:not([hidden]){animation:.36s ease-in-out pm-controls-hint;box-shadow:inset 0 1px #ffffffe6,0 0 0 3px #98a830,0 4px 8px #00000075}.pm-ui.pm-controls-hint .pm-dpad{filter:drop-shadow(1px 0 #98a830)drop-shadow(-1px 0 #98a830)drop-shadow(0 1px #98a830)drop-shadow(0 -1px #98a830)drop-shadow(0 0 2px #98a830)drop-shadow(0 4px 5px #00000070);animation:.36s ease-in-out pm-controls-hint}@keyframes pm-controls-hint{0%,to{translate:0}18%{translate:-5px}36%{translate:5px}54%{translate:-4px}72%{translate:4px}}.pm-cross{background:var(--face);clip-path:polygon(34% 0,66% 0,66% 34%,100% 34%,100% 66%,66% 66%,66% 100%,34% 100%,34% 66%,0 66%,0 34%,34% 34%);width:100%;height:100%;transition:transform 60ms ease-out;position:relative}.pm-cross[data-dir=up]{transform:rotateX(6deg)}.pm-cross[data-dir=down]{transform:rotateX(-6deg)}.pm-cross[data-dir=left]{transform:rotateY(-6deg)}.pm-cross[data-dir=right]{transform:rotateY(6deg)}.pm-arm{transition:background 60ms ease-out;position:absolute}.pm-up{width:32%;height:34%;top:0;left:34%}.pm-down{width:32%;height:34%;bottom:0;left:34%}.pm-left{width:34%;height:32%;top:34%;left:0}.pm-right{width:34%;height:32%;top:34%;right:0}.pm-cross[data-dir=up] .pm-up,.pm-cross[data-dir=down] .pm-down,.pm-cross[data-dir=left] .pm-left,.pm-cross[data-dir=right] .pm-right{background:#4a4a5624}.pm-arm:after{content:"";opacity:.42;border:7px solid #0000;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pm-up:after{border-bottom-color:var(--glyph);margin-top:-3px}.pm-down:after{border-top-color:var(--glyph);margin-top:3px}.pm-left:after{border-right-color:var(--glyph);margin-left:-3px}.pm-right:after{border-left-color:var(--glyph);margin-left:3px}.pm-face{flex:none;align-items:flex-end;gap:14px;padding-bottom:8px;display:flex}.pm-btn{letter-spacing:1px;border-radius:50%;width:clamp(56px,16vw,70px);height:clamp(56px,16vw,70px);font-size:15px}.pm-b{margin-bottom:clamp(24px,7vw,34px)}.pm-dex{--shell:linear-gradient(118deg, #ffffff29 0 8%, transparent 20% 67%, #ffffff12 78%, transparent 90%), linear-gradient(180deg, #e2483a 0%, #c4322a 46%, #9c211b 100%);--shell-down:linear-gradient(180deg, #b62c24 0%, #94201a 100%);--shell-line:#7a1a16;--shell-ink:#ffe4de;--screen-bg:#f8f8e0;--screen-ink:#282830;--void:#081820;z-index:20;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#081820b8;justify-content:center;align-items:center;font:700 13px/1 ui-monospace,Menlo,monospace;display:none;position:fixed;inset:0}.pm-dex.is-open{display:flex}.pm-dex *{box-sizing:border-box}.pm-dex-body{border:1px solid var(--shell-line);background:var(--shell);border-radius:18px;flex-direction:column;gap:14px;width:min(440px,100%);height:min(470px,100%);padding:14px;animation:.14s ease-out pm-dex-in;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff57,inset 0 -1px #00000038,0 10px 30px #00000073}.pm-dex.is-complete .pm-dex-body{border-color:#e2b43f;box-shadow:inset 0 1px #fff9c2ad,inset 0 -1px #5b2b0e4d,0 0 0 2px #f4cd5461,0 10px 30px #00000073}.pm-dex-gleam,.pm-dex-sparkles{z-index:3;pointer-events:none;position:absolute}.pm-dex-gleam{opacity:0;background:linear-gradient(90deg,#0000,#fffac280,#0000);width:22%;top:-20%;bottom:-20%;left:-42%;transform:skew(-14deg)}.pm-dex.is-open.is-complete .pm-dex-gleam{animation:6s ease-out .18s infinite both pm-dex-gleam}@keyframes pm-dex-gleam{0%{opacity:0;left:-42%}1.368%{opacity:.7}6.232%{opacity:.7}7.6%,to{opacity:0;left:122%}}.pm-dex-sparkles{display:none;inset:0}.pm-dex.is-complete .pm-dex-sparkles{display:block}.pm-dex-sparkle{opacity:.78;clip-path:polygon(40% 0,60% 0,60% 40%,100% 40%,100% 60%,60% 60%,60% 100%,40% 100%,40% 60%,0 60%,0 40%,40% 40%);background:#fff2a1;width:9px;height:9px;position:absolute}.pm-dex-sparkle:first-child{top:12px;right:18px}.pm-dex-sparkle:nth-child(2){top:76px;left:8px;transform:scale(.7)}.pm-dex-sparkle:nth-child(3){bottom:58px;right:9px;transform:scale(.55)}.pm-dex.is-open.is-complete .pm-dex-sparkle{animation:.62s steps(4,end) .38s both pm-dex-sparkle}.pm-dex.is-open.is-complete .pm-dex-sparkle:nth-child(2){animation-delay:.5s}.pm-dex.is-open.is-complete .pm-dex-sparkle:nth-child(3){animation-delay:.61s}@keyframes pm-dex-sparkle{0%{opacity:0}45%{opacity:1;filter:brightness(1.25)}to{opacity:.78;filter:none}}@keyframes pm-dex-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.pm-dex-top{flex:none;align-items:center;gap:12px;display:flex}.pm-dex-lens{width:46px;height:46px;box-shadow:inset 0 0 0 2px #fffc, inset 0 0 0 3px var(--shell-line), 0 1px 2px #00000059;background:radial-gradient(circle at 34% 28%,#fffffff2 0 12%,#0000 30%),radial-gradient(circle at 62% 74%,#1d5fa8 0%,#2f8fd8 44%,#78d0f4 100%);border-radius:50%;flex:none}.pm-dex-lights{flex-direction:column;gap:5px;display:flex}.pm-dex-light{border-radius:50%;width:9px;height:9px;box-shadow:inset 0 1px #fff9,inset 0 0 0 1px #0000006b,0 1px 1px #0000004d}.pm-dex-light.is-red{background:#ff6a52}.pm-dex-light.is-green{background:#3fbf6a}.pm-dex-light.is-amber{background:#e8b53c;animation:2.4s step-end infinite pm-dex-blink}@keyframes pm-dex-blink{0%,55%{opacity:1}56%,to{opacity:.28}}.pm-dex-brand{min-width:0;color:var(--shell-ink);flex:1;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.pm-dex-title{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.pm-dex-word{letter-spacing:2px;text-shadow:0 1px #0000004d;font-size:15px}.pm-dex-count{letter-spacing:1px;opacity:.72;font-size:12px}.pm-dex-complete{color:#573508;letter-spacing:.8px;text-shadow:0 1px #ffffff59;white-space:nowrap;background:linear-gradient(#fff2a1 0%,#e8b53c 100%);border:1px solid #5c350b9e;border-radius:3px;padding:3px 6px;font-size:9px;line-height:1;box-shadow:inset 0 1px #ffffffb8,0 1px 1px #4a1c0859}.pm-dex-complete[hidden]{display:none}.pm-dex-screen{background:var(--void);border-radius:8px;flex:none;height:clamp(96px,22vh,132px);padding:5px;position:relative;box-shadow:inset 0 2px 5px #0009,0 1px #ffffff38}.pm-dex-canvas{background:var(--screen-bg);border-radius:2px;width:100%;height:100%}.pm-dex-scan{pointer-events:none;background:repeating-linear-gradient(#0818200f 0 1px,#0000 1px 3px);border-radius:2px;position:absolute;inset:5px}.pm-dex-plate{background:var(--screen-bg);min-height:0;color:var(--screen-ink);border-radius:8px;flex-direction:column;flex:auto;gap:9px;padding:11px 12px;display:flex;box-shadow:inset 0 0 0 1px #2828302e,0 1px #ffffff38}.pm-dex-head{align-items:baseline;gap:10px;min-width:0;display:flex}.pm-dex-no{letter-spacing:1px;opacity:.55;flex:none;font-size:12px}.pm-dex-name{letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;font-size:17px;overflow:hidden}.pm-dex-types{flex-wrap:wrap;gap:6px;min-height:20px;display:flex}.pm-dex-type{color:#fff;letter-spacing:1px;text-shadow:0 1px #00000038;border-radius:999px;padding:4px 9px;font-size:11px}.pm-dex-type.is-unknown{background:#2828303d}.pm-dex-lore{flex:1;min-height:0;margin:0;font-size:13px;font-weight:400;line-height:1.5;overflow-y:auto}.pm-dex-lore.is-unknown{letter-spacing:1px;opacity:.45;font-size:12px}.pm-dex-controls{flex:none;align-items:center;gap:10px;display:flex}.pm-dex-controls button{height:42px;color:var(--shell-ink);font:inherit;letter-spacing:1px;cursor:pointer;touch-action:none;background:var(--shell-down);border:1px solid var(--shell-line);border-radius:999px;margin:0;padding:0 16px;transition:background 60ms ease-out,transform 60ms ease-out,box-shadow 60ms ease-out;box-shadow:inset 0 1px #ffffff4d,0 1px 2px #0000004d}.pm-dex-controls button.on,.pm-dex-controls button:active{background:#8c1c16;transform:translateY(1px);box-shadow:inset 0 1px 3px #0006}.pm-dex-controls button:disabled{cursor:default;opacity:.4}.pm-dex-arrow{flex:none;width:58px;font-size:15px}.pm-dex-close{flex:1}body.pm-dex-open .pm-ui{display:none}@media (prefers-reduced-motion:reduce){.pm-ui.pm-controls-hint button:not([hidden]),.pm-ui.pm-controls-hint .pm-dpad{animation:none;translate:none}.pm-dex-body,.pm-dex-light.is-amber,.pm-dex.is-open.is-complete .pm-dex-gleam,.pm-dex.is-open.is-complete .pm-dex-sparkle{animation:none}}
