.pt{max-width:640px;animation:p12-fade-up .45s var(--ease-out) both;margin:0 auto;padding:22px}.pt-intro,.pt-closed{text-align:center}.pt-big,.pt-shutter{margin:0;font-size:4rem}.pt-shutter{transform-origin:50% 0;animation:1.6s ease-in-out infinite alternate p12-swing}.pt-closed h2{color:var(--red)}.pt-top{align-items:center;gap:12px;display:flex}.pt-count{white-space:nowrap;font-weight:800}.pt-bar{background:var(--line);border-radius:99px;flex:1;height:10px;overflow:hidden}.pt-bar span{background:linear-gradient(90deg, var(--saffron), var(--red));height:100%;transition:width .4s var(--ease-out);display:block}.pt-emoji{text-align:center;animation:p12-pop .5s var(--ease-bounce) both;margin:10px 0 0;font-size:3.2rem}.pt-q{text-align:center;margin:6px 0 16px;font-size:1.35rem}.pt-opts{gap:10px;display:grid}.pt-opt{font:inherit;text-align:left;border:2px solid var(--line);background:var(--bg);min-height:52px;color:var(--ink);cursor:pointer;border-radius:12px;padding:14px 16px;font-size:1.02rem;transition:transform .15s,border-color .15s,background .2s}.pt-opt:hover:not(:disabled){border-color:var(--saffron);transform:translate(4px)}.pt-opt:disabled{opacity:.45;cursor:default}.pt-opt.is-yes{animation:p12-pop .35s var(--ease-bounce);background:#1f7a3a1a;border-color:#1f7a3a}.pt-opt.is-no{border-color:var(--red);background:#b3261e14;animation:.4s pt-shake}.pt-react{animation:p12-fade-up .3s var(--ease-out) both;margin:14px 0 0;font-weight:700}.pt-react.is-yes{color:#1f7a3a}.pt-react.is-no{color:var(--red)}.pt-actions{justify-content:flex-end;min-height:48px;margin-top:14px;display:flex}.pt-done{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px;max-width:1000px;margin:0 auto;display:grid}.pt-cert canvas{width:100%;height:auto;animation:pt-stamp .6s var(--ease-bounce) both;border-radius:10px;display:block;box-shadow:0 10px 30px #00000026}.pt-form{gap:10px;display:grid}.pt-form h2{color:var(--red);margin:0}.pt-score{margin:0;font-size:3rem;font-weight:800;line-height:1}.pt-input{font:inherit;border:1px solid var(--line);background:var(--bg);min-height:48px;color:var(--ink);border-radius:10px;width:100%;padding:12px;font-size:1rem}.pt-foot{text-align:center;margin-top:24px}@keyframes pt-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}@keyframes pt-stamp{0%{opacity:0;transform:scale(1.15)rotate(-3deg)}to{opacity:1;transform:none}}@media (width<=760px){.pt-done{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.pt *,.pt-cert canvas,.pt-shutter{animation:none!important}}
