:root{--wine:#983b5a;--page-max:540px}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:#fff7f8;color:#333;font-family:"PingFang SC","Microsoft YaHei",system-ui,-apple-system,sans-serif}
button,input,select{font:inherit}
.pixel-shell{min-height:100vh;background:#fff7f8;display:flex;justify-content:center;align-items:flex-start}
.psd-stage{position:relative;width:min(100vw,var(--page-max));aspect-ratio:1080/1922;background-repeat:no-repeat;background-position:top center;background-size:100% 100%;overflow:hidden}
.psd-input,.psd-select{position:absolute;border:0;outline:0;background:transparent;color:#333;padding:0 1.2%;font-size:clamp(12px,3vw,16px);line-height:1.2;border-radius:0;appearance:none;-webkit-appearance:none;box-shadow:none}
.psd-input:focus,.psd-select:focus{background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(255,90,136,.45)}
.psd-select{padding-right:1.5%}
.psd-hit{position:absolute;border:0;background:transparent;color:transparent;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}
.psd-hit:focus-visible{outline:2px solid rgba(255,255,255,.95);outline-offset:-4px}
.psd-hit:active{background:rgba(255,255,255,.08)}
.pixel-toast{position:fixed;left:50%;top:18px;transform:translateX(-50%);max-width:min(88vw,460px);padding:10px 14px;border-radius:999px;background:rgba(33,25,28,.92);color:#fff;font-size:13px;line-height:1.4;z-index:99;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 8px 28px rgba(0,0,0,.18)}
.pixel-toast.show{opacity:1;transform:translate(-50%,4px)}
.pixel-loading{position:absolute;inset:0;background:rgba(255,247,248,.64);display:none;place-items:center;z-index:20;backdrop-filter:blur(1px)}
.pixel-loading.show{display:grid}
.pixel-loading span{background:var(--wine);color:#fff;padding:11px 18px;border-radius:999px;font-weight:700;font-size:13px;box-shadow:0 10px 30px rgba(152,59,90,.22)}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
/* 所有坐标均来自最新版 PSD 的 1080 × 1922 原始画布。 */
/* 蓬湃音乐节：4 人姓名 + 手机号 */
.music .p1{left:28.70%;top:34.50%;width:20.65%;height:4.84%}
.music .p2{left:72.20%;top:34.50%;width:20.65%;height:4.84%}
.music .p3{left:28.70%;top:39.02%;width:20.65%;height:4.84%}
.music .p4{left:72.20%;top:39.02%;width:20.65%;height:4.84%}
.music .mobile{left:28.70%;top:43.60%;width:64.20%;height:4.79%}
/* CP 跑 / 亲子跑：2 人姓名 + 手机号 */
.pair .p1{left:28.70%;top:40.06%;width:20.65%;height:4.84%}
.pair .p2{left:72.20%;top:40.06%;width:20.65%;height:4.84%}
.pair .mobile{left:28.70%;top:44.59%;width:64.20%;height:4.79%}
/* 相亲大集：姓名 + 性别 + 手机号 + 身份证 */
.match .p1{left:26.10%;top:34.50%;width:23.50%;height:4.84%}
.match .gender{left:60.20%;top:34.50%;width:32.70%;height:4.84%}
.match .mobile{left:28.70%;top:39.07%;width:64.20%;height:4.74%}
.match .idcard{left:28.70%;top:43.60%;width:64.20%;height:4.79%}
/* 最新 6 个二级页按钮图层均为 299×101：x=170/611, y=1352 */
.primary-hit{left:15.7407%;top:70.3434%;width:27.6852%;height:5.2549%}
.cancel-hit{left:56.5741%;top:70.3434%;width:27.6852%;height:5.2549%}
@media(min-width:541px){.psd-input,.psd-select{font-size:15px}}
