.pm-game{color:var(--ink);max-width:1080px;margin:0 auto;line-height:1.55}.pm-game button{font:inherit;cursor:pointer}.pm-game button:disabled{opacity:.5;cursor:default}.pm-game :is(button,[tabindex]):focus-visible{outline:3px solid var(--sage-deep);outline-offset:4px}.pm-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.pm-heading h1{letter-spacing:-.04em;margin:5px 0 9px;font-family:Fraunces,serif;font-size:clamp(2rem,5.5vw,3rem);font-weight:700;line-height:1.2}.pm-heading>div>p:last-child{color:var(--ink-soft);font-size:1rem}.pm-eyebrow{color:var(--sage-deep);letter-spacing:.12em;font-size:.72rem;font-weight:800}.pm-icon-button{border:1px solid var(--border);background:var(--card);min-width:52px;height:52px;color:var(--sage-deep);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.pm-icon-button>svg{width:23px;height:23px}.pm-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:570px;margin:0 0 22px;display:grid}.pm-modes button{border:1px solid var(--border);background:var(--card);min-height:54px;color:var(--ink);border-radius:18px;justify-content:center;align-items:center;gap:9px;padding:10px 15px;font-weight:800;display:flex}.pm-modes button[aria-pressed=true]{background:var(--sage-deep);color:var(--primary-foreground);box-shadow:0 4px #124b3d26}.pm-modes svg{flex-shrink:0;width:24px}.pm-workshop{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);align-items:start;gap:24px;display:grid}.pm-stage{z-index:5;border:1px solid var(--border);background:linear-gradient(155deg,#fffdf2,#f1f0d9);border-radius:32px;padding:20px;position:sticky;top:16px;overflow:hidden;box-shadow:0 6px #d2c79f,0 17px 30px #465b2c17}.pm-stage-label{z-index:1;flex-direction:column;align-items:center;gap:3px;display:flex;position:relative}.pm-stage-label>span{color:#68815c;letter-spacing:.14em;font-size:.68rem;font-weight:800}.pm-stage-label>strong{color:#184d3d;font-family:"Baloo 2",sans-serif;font-size:1.5rem;line-height:1.4}.pm-portrait{isolation:isolate;background:radial-gradient(at 50% 64%,#fceab766,#0000 61%);border-radius:25px;height:430px;position:relative}.pm-portrait>.pm-character{z-index:2;filter:drop-shadow(0 8px 4px #63482b17);width:100%;height:100%;animation:.35s ease-out pm-arrive;position:relative}.pm-stage-floor{z-index:0;background:linear-gradient(#dcddbb,#e8e6c7);border:1px solid #d7d7b4;border-radius:50%;width:86%;height:12%;position:absolute;bottom:3%;left:7%}.pm-stage-star{color:#bba04a;opacity:.5;z-index:1;font-size:35px;position:absolute}.pm-stage-star-a{top:14%;left:5%;transform:rotate(-18deg)}.pm-stage-star-b{font-size:44px;top:39%;right:3%}.pm-character .pm-selected-part{filter:drop-shadow(0 0 4px #e7c465)}.pm-character [role=button]{cursor:pointer}.pm-character [role=button]:focus-visible{filter:drop-shadow(0 0 7px #286950);outline:none}.pm-speech-bubble{text-align:center;color:#285442;background:#fffef2;border:1px solid #dedab9;border-radius:18px;place-items:center;min-height:70px;margin:4px 0 15px;padding:12px 15px;font-size:.95rem;font-weight:650;display:grid;position:relative}.pm-speech-bubble:before{content:"";background:#fffef2;border-top:1px solid #dedab9;border-left:1px solid #dedab9;width:14px;height:14px;position:absolute;top:-8px;left:calc(50% - 7px);transform:rotate(45deg)}.pm-funny-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pm-funny-actions button{color:#52603d;background:#f6e9bc;border:1px solid #d6c594;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:62px;font-size:.88rem;font-weight:800;display:flex;box-shadow:0 3px #d8c79b}.pm-funny-actions svg,.pm-funny-actions button>span{color:#91762c;width:25px;height:25px;font-size:25px;line-height:25px}.pm-funny-actions button:hover{background:#ffedb0}.pm-funny-actions button:active{box-shadow:none;transform:translateY(2px)}.pm-dressing-room{min-width:0}.pm-category-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-bottom:16px;display:grid}.pm-category-list button{border:1px solid var(--border);background:var(--card);min-height:76px;color:var(--ink-soft);border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:0;padding:6px 4px;font-size:.74rem;font-weight:800;display:flex}.pm-category-list .pm-part-preview{width:40px;height:42px}.pm-category-list button[aria-pressed=true]{border-color:var(--sage-deep);box-shadow:inset 0 0 0 1px var(--sage-deep);color:var(--sage-deep);background:var(--accent)}.pm-parts{background:var(--card);border:1px solid var(--border);box-shadow:0 4px 0 color-mix(in srgb,var(--border) 65%,transparent);border-radius:24px;padding:19px}.pm-parts-title{justify-content:space-between;align-items:center;gap:12px;margin-bottom:17px;display:flex}.pm-parts-title h2{font-family:"Baloo 2",sans-serif;font-size:1.55rem;font-weight:750}.pm-parts-title p{color:var(--ink-soft);font-size:.87rem}.pm-parts-title>span{white-space:nowrap;color:var(--ink-soft);background:var(--accent);border-radius:30px;padding:5px 9px;font-size:.7rem;font-weight:750}.pm-part-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.pm-part-grid button{border:1px solid var(--border);background:linear-gradient(150deg,var(--card),var(--background));min-width:0;min-height:127px;color:var(--ink);border-bottom-width:3px;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:11px 7px;font-size:.78rem;font-weight:750;display:flex;position:relative}.pm-part-preview{width:100%;height:75px;overflow:visible}.pm-part-grid button[aria-pressed=true]{background:linear-gradient(150deg,#fff4cf,#f7e5a3);border-color:#a87d28;box-shadow:0 2px #cbae58}.pm-part-grid button:hover{border-color:var(--sage-deep);transform:translateY(-2px)}.pm-option-check{color:#957124;background:#fff4cc;border-radius:50%;width:18px;height:18px;padding:1px;position:absolute;top:6px;right:6px}.pm-tools{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.pm-button{border:1px solid var(--border);background:var(--card);min-height:52px;color:var(--ink);border-bottom-width:3px;border-radius:17px;justify-content:center;align-items:center;gap:9px;padding:10px 13px;font-size:.9rem;font-weight:750;display:flex}.pm-button>svg{flex-shrink:0;width:22px;height:22px}.pm-button-gold{color:#48502f;background:linear-gradient(#ffe68e,#f2ce67);border-color:#d0b05b}.pm-button-love{color:#7b4e58;background:#f2e1e1;border-color:#dac1bf}.pm-button-love svg{fill:#d8a1ac;stroke:#ad7784}.pm-tip{color:var(--ink-soft);margin:17px 3px 0;font-size:.83rem;line-height:1.7}.pm-challenge{background:linear-gradient(130deg,#fff8da,var(--card));color:var(--ink);border:1px solid #d7c28c;border-radius:23px;margin-bottom:20px;padding:20px}.pm-challenge h2{margin:5px 0;font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:750}.pm-challenge>p{color:var(--ink-soft);font-size:.92rem}.pm-targets{justify-content:center;gap:14px;padding:15px 0;display:flex}.pm-targets button{color:#3c6049;background:#fffdf2;border:1px dashed #c3b78b;border-radius:15px;flex-direction:column;align-items:center;gap:4px;min-width:110px;padding:7px 14px;font-size:.78rem;font-weight:750;display:flex}.pm-targets .pm-part-preview{width:80px;height:62px}.pm-challenge-actions{grid-template-columns:1fr 1fr;gap:10px;margin:0 0 17px;display:grid}.pm-challenge-actions .pm-button{padding:9px;font-size:.85rem}.pm-gallery{border:1px solid var(--border);background:var(--card);border-radius:26px;margin-top:32px;padding:24px}.pm-gallery h2{align-items:center;gap:9px;font-family:"Baloo 2",sans-serif;font-size:1.5rem;font-weight:750;display:flex}.pm-gallery h2>svg{color:#b97986;fill:#e9c5c8;width:23px}.pm-gallery>div>p{color:var(--ink-soft);margin-top:4px;font-size:.9rem}.pm-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.pm-gallery-grid button{border:1px solid var(--border);background:var(--background);color:var(--ink);border-radius:19px;flex-direction:column;align-items:center;padding:9px;font-size:.78rem;font-weight:700;display:flex}.pm-gallery-grid .pm-character{filter:drop-shadow(0 3px 2px #78572719);width:100%;height:160px}.pm-gallery-grid span{margin:7px 0 3px}.pm-save-note{color:var(--ink-soft);text-align:center;margin:24px 0 4px;font-size:.78rem;line-height:1.7}.pm-embedded{margin:20px 0}.pm-embedded .pm-heading h1{font-size:2rem}.pm-embedded .pm-stage{top:8px}.pm-embedded .pm-workshop{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px}.pm-embedded .pm-portrait{height:340px}@keyframes pm-arrive{0%{transform:scale(.96)rotate(-1deg)}70%{transform:scale(1.015)rotate(1deg)}to{transform:scale(1)rotate(0)}}@keyframes pm-laugh{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-8px)scale(1.02)}}@keyframes pm-dance{0%,to{transform:rotate(-7deg)translate(-8px,-2px)}25%{transform:rotate(5deg)translate(8px,-11px)}50%{transform:rotate(-4deg)translate(-4px,-3px)}75%{transform:rotate(8deg)translate(10px,-10px)}}@keyframes pm-sneeze{0%,35%{transform:rotate(-3deg)scale(.98)}45%{transform:rotate(4deg)translate(8px)}58%{transform:rotate(-3deg)translate(-5px)}to{transform:none}}.pm-portrait .pm-emotion-laugh .pm-figure{transform-origin:50% 70%;animation:.26s ease-in-out infinite pm-laugh}.pm-portrait .pm-emotion-dance .pm-figure{transform-origin:50% 83%;animation:.62s ease-in-out infinite pm-dance}.pm-portrait .pm-emotion-sneeze .pm-figure{transform-origin:50% 65%;animation:.8s ease-in-out pm-sneeze}.pm-no-motion *,.pm-no-motion :before,.pm-no-motion :after{transition:none!important;animation:none!important}html[data-contrast=high] .pm-game :is(.pm-stage,.pm-speech-bubble,.pm-funny-actions button,.pm-button-gold,.pm-button-love,.pm-challenge,.pm-targets button,.pm-part-grid button[aria-pressed=true]){background:var(--card);color:var(--ink);border-color:var(--ink)}html[data-contrast=high] .pm-game :is(.pm-stage-label>strong,.pm-stage-label>span,.pm-funny-actions svg){color:var(--ink)}@media (width<=840px){.pm-workshop,.pm-embedded .pm-workshop{gap:15px}.pm-category-list{grid-template-columns:repeat(4,minmax(0,1fr))}.pm-category-list button{min-height:68px}.pm-category-list .pm-part-preview{height:33px}.pm-portrait,.pm-embedded .pm-portrait{height:360px}.pm-part-grid{gap:7px}.pm-parts{padding:15px}.pm-part-grid button{min-height:117px;font-size:.7rem}.pm-stage{padding:15px}.pm-tools{gap:8px}.pm-button{font-size:.8rem}}@media (width<=700px){.pm-heading{gap:12px;margin-bottom:17px}.pm-heading h1{font-size:2.2rem}.pm-heading>div>p:last-child{font-size:.9rem}.pm-icon-button{min-width:46px;height:46px}.pm-modes{gap:8px;margin-bottom:18px}.pm-modes button{min-height:49px;padding:10px 8px;font-size:.86rem}.pm-modes svg{width:20px}.pm-workshop,.pm-embedded .pm-workshop{grid-template-columns:1fr;gap:22px}.pm-stage{border-radius:25px;padding:12px;position:relative;top:8px}.pm-portrait,.pm-embedded .pm-portrait{height:clamp(265px,42svh,390px)}.pm-stage-label>strong{font-size:1.35rem}.pm-stage-label>span{font-size:.63rem}.pm-speech-bubble{min-height:58px;margin-bottom:12px;padding:10px 12px;font-size:.86rem}.pm-funny-actions button{min-height:54px;font-size:.82rem}.pm-funny-actions svg,.pm-funny-actions button>span{width:22px;height:22px;font-size:22px;line-height:22px}.pm-category-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;margin-bottom:15px}.pm-category-list button{border-radius:12px;min-height:67px;padding:5px 1px;font-size:.67rem}.pm-category-list .pm-part-preview{width:34px;height:35px}.pm-parts-title h2{font-size:1.45rem}.pm-part-grid button{min-height:120px;font-size:.76rem}.pm-part-preview{height:76px}.pm-tools .pm-button{min-height:52px;font-size:.88rem}.pm-gallery{padding:17px}.pm-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pm-challenge{padding:17px}.pm-tip{font-size:.8rem}}@media (width<=370px){.pm-category-list{grid-template-columns:repeat(4,minmax(0,1fr))}.pm-category-list button{min-height:65px;font-size:.7rem}.pm-part-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pm-part-grid button{min-height:122px}.pm-portrait,.pm-embedded .pm-portrait{height:280px}.pm-heading h1{font-size:1.9rem}.pm-heading>div>p:last-child{font-size:.83rem}.pm-modes button{font-size:.77rem}.pm-challenge-actions{gap:6px}.pm-gallery h2{font-size:1.23rem}}@media (prefers-reduced-motion:reduce){.pm-game *,.pm-game :before,.pm-game :after{transition:none!important;animation:none!important}}
