.pfp-play{display:flex;justify-content:center}
.pfp-card{display:grid;grid-template-columns:minmax(0,240px) 1fr;gap:24px;align-items:center;max-width:760px;width:100%;padding:20px;border:3px solid var(--g);border-radius:18px;background:#1A1240;box-shadow:6px 6px 0 var(--line)}
.pfp-card img{display:block;width:100%;height:auto;aspect-ratio:831/900;object-fit:contain}
.pfp-card h2{margin:0 0 8px}
.pfp-card p{margin:0 0 16px}
.pfp-card .kicker{margin-bottom:6px}
@media(max-width:640px){.pfp-card{grid-template-columns:1fr;text-align:center}.pfp-card img{max-width:260px;margin:0 auto}}
.pf-hero{padding-bottom:16px}
.pf-hero h1{font-size:clamp(2.4rem,11vw,5.2rem);text-shadow:4px 4px 0 var(--line)}
.pf-privacy{display:inline-block;margin:8px 0 0;font:700 1rem var(--bd);color:var(--line);background:var(--g);border:3px solid var(--line);border-radius:12px;padding:8px 14px;box-shadow:4px 4px 0 var(--line)}
.pf-maker{padding-top:16px}
.pf-grid{display:grid;gap:24px;align-items:start}
.pf-grid>*{min-width:0}
@media(min-width:900px){.pf-grid{grid-template-columns:minmax(0,640px) minmax(0,1fr)}}
.pf-stage{position:relative;width:100%;max-width:640px;margin:0 auto;aspect-ratio:1;touch-action:none}
.pf-stage .pf-canvas{display:block;width:100%;height:auto;aspect-ratio:1;max-width:640px;cursor:crosshair}
.pf-stage.is-round .pf-canvas,.pf-stage.is-round .pf-layer{border-radius:50%}
.pf-stage.is-drop .pf-canvas{outline:4px dashed var(--g);outline-offset:4px}
.pf-layer{position:absolute;inset:0;overflow:hidden;pointer-events:none;border-radius:10px 22px 12px 26px}
.pf-demo{position:absolute;left:12px;top:12px;z-index:2;font:400 1rem var(--hd);letter-spacing:1px;color:var(--line);background:var(--o);border:3px solid var(--line);border-radius:8px;padding:2px 10px;transform:rotate(-3deg);pointer-events:none}
.pf-demo[hidden]{display:none}
.pf-tools{display:grid;gap:10px;padding:16px}
.pf-upload{justify-self:start;cursor:pointer}
.pf-hint{margin:0;color:var(--mute);font-size:.88rem}
.pf-pick,.pf-sel{margin:0;padding:10px;border:3px solid var(--line);border-radius:10px;background:#0A051833;min-width:0}
.pf-pick legend,.pf-sel legend{font:400 1.2rem var(--hd);color:var(--o);padding:0 6px}
.pf-sel:disabled{opacity:.55}
.pf-sel label{display:block;font:400 1.1rem var(--hd);letter-spacing:1px;color:var(--t);margin-top:4px}
.pf-sel input[type=range]{width:100%;min-height:44px;accent-color:var(--g)}
.pf-picker{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}
.pf-picker li{min-width:0}
.pf-picker button{display:block;width:100%;min-width:44px;min-height:44px;aspect-ratio:1;padding:4px;background:var(--ink);border:3px solid var(--line);border-radius:8px;box-shadow:3px 3px 0 var(--line);cursor:pointer}
.pf-picker button:active{transform:translate(3px,3px);box-shadow:none}
.pf-picker img{width:100%;height:100%;object-fit:contain}
.pf-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.pf-dl{justify-self:start}
.pf-msg{min-height:1.4em;margin:0;font-weight:700}
.pf-cta{text-align:center}
.pf-cta .lead{margin:0 auto}
.pf-cta .hero-btns{justify-content:center}
.pf-st{position:absolute;pointer-events:auto;cursor:grab;touch-action:none;transform-origin:50% 50%}
.pf-st img{width:100%;height:100%;object-fit:contain;pointer-events:none}
.pf-st:focus-visible,.pf-st.is-sel{outline:3px dashed var(--o);outline-offset:2px}
.pf-rot{position:absolute;right:-14px;bottom:-14px;width:28px;height:28px;border-radius:50%;background:var(--o);border:3px solid var(--line);cursor:alias;touch-action:none;display:none}
.pf-st.is-sel .pf-rot{display:block}
@media(max-width:599px){.pf-tools{padding:10px}.pf-demo{font-size:.85rem}}
