body:has(.tp){overflow:hidden}.tp{position:fixed;inset:0;z-index:40;display:grid;grid-template-rows:auto 1fr auto;background:var(--ground);color:var(--ink);padding:max(16px,env(safe-area-inset-top)) var(--m) max(20px,env(safe-area-inset-bottom));overscroll-behavior:none;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;cursor:default}.tp-top{display:flex;align-items:center;gap:20px;height:44px}.tp-logo img{width:116px;opacity:.9}.tp-bar{flex:1;max-width:360px;margin-left:auto;height:2px;background:#f5f5f224;overflow:hidden}.tp-bar span{display:block;height:100%;background:var(--ink);transform-origin:left;transform:scaleX(0);transition:transform .7s var(--ease-out)}.tp-stage{display:flex;flex-direction:column;justify-content:center;width:100%;max-width:1080px;margin:0 auto;min-height:0}.tp-card{display:flex;flex-direction:column;gap:clamp(24px,4vh,40px)}.tp-card.is-out{animation:tp-out .28s var(--ease-in) forwards}.tp-say,.tp-ask,.tp-title{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.92;letter-spacing:-.005em;text-wrap:balance}.tp-say{font-size:clamp(46px,8.4vw,128px)}.tp-say.is-long{font-size:clamp(40px,6.4vw,96px)}.tp-ask{font-size:clamp(42px,6.8vw,104px)}.tp-ask.is-long{font-size:clamp(36px,5.4vw,84px)}.tp-reply{font:700 clamp(22px,2.6vw,36px)/1.3 var(--text);text-wrap:pretty;max-width:26ch}.tp-reply:before{content:"";display:block;width:32px;height:2px;margin-bottom:18px;background:var(--ink)}.tp-kicker{font-weight:800;font-size:var(--t-small);text-transform:uppercase;letter-spacing:.18em;color:var(--soft)}.tp-w{display:inline-block}.tp-opts{display:grid;gap:10px;max-width:640px}.tp-opt{display:flex;align-items:center;gap:16px;width:100%;min-height:60px;padding:14px 20px;background:transparent;color:var(--ink);border:1.5px solid rgba(245,245,242,.32);font:700 17px/1.3 var(--text);text-align:left;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease,opacity .3s ease,transform .16s var(--ease-out)}.tp-opt:before{content:"";flex:none;width:10px;height:10px;border:1.5px solid currentColor;border-radius:50%;transition:background-color .2s ease}.tp-opt:active{transform:scale(.98)}.tp-opt.is-picked{background:var(--ink);color:var(--ground);border-color:var(--ink)}.tp-opt.is-picked:before{background:currentColor}.tp-opts.is-chosen .tp-opt:not(.is-picked){opacity:0}.tp-opt-go{justify-content:center;background:var(--ink);color:var(--ground);border-color:var(--ink);font-weight:800;text-transform:uppercase;letter-spacing:.02em;max-width:320px}.tp-opt-go:before{display:none}@media(hover:hover)and (pointer:fine){.tp-opt:hover{border-color:var(--ink)}.tp-opt-go:hover{background:#d9d9d4}}.tp-hint{justify-self:center;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--soft);opacity:0;transition:opacity .4s ease}.tp-hint.is-on{opacity:1}.tp-hint-mouse{display:none}@media(hover:hover)and (pointer:fine){.tp-hint-touch{display:none}.tp-hint-mouse{display:inline}}.tp-stage.is-end{justify-content:flex-start;overflow-y:auto;padding:6vh 0 24px;scrollbar-width:none}.tp-end{gap:22px;max-width:760px}.tp-title{font-size:clamp(54px,9vw,136px)}.tp-end p:not(.tp-kicker){font-size:clamp(17px,1.6vw,20px);color:var(--soft);max-width:58ch;text-wrap:pretty}.tp-end p.tp-strong{color:var(--ink);font-weight:700}.tp-end-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.tp-end-actions .btn{white-space:normal;text-align:center}.tp-ghost{background:transparent;border:1.5px solid rgba(245,245,242,.32)}.tp-again{align-self:flex-start;margin-top:4px;background:none;border:0;padding:8px 0;color:var(--soft);font:700 14px/1 var(--text);text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.tp-again:hover{color:var(--ink)}.tp-lead{display:grid;gap:18px;max-width:520px;margin-top:8px}.tp-form{display:grid;gap:14px;user-select:text;-webkit-user-select:text}.tp-end p.tp-form-lead{color:var(--ink);font-weight:700}.tp-field{display:grid;gap:6px;font-size:var(--t-small);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--soft)}.tp-field input{min-height:56px;padding:0 16px;border:1.5px solid rgba(245,245,242,.32);border-radius:0;background:transparent;color:var(--ink);font:700 17px/1 var(--text);letter-spacing:0;text-transform:none;transition:border-color .2s ease}.tp-field input:focus{outline:none;border-color:var(--ink)}.tp-field input::placeholder{color:#f5f5f24d}.tp-check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.4;color:var(--soft);cursor:pointer}.tp-check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--ink)}.tp-check a{color:var(--ink)}.tp-end p.tp-form-error{color:var(--ink);font-size:15px;font-weight:700}.tp-form .btn{width:100%;white-space:normal}.tp-form .btn:disabled{opacity:.6}.tp-end p.tp-legal{font-size:12px;line-height:1.5}.tp-end p.tp-alt{font-size:15px;margin-top:18px}.tp-sent{display:grid;gap:14px;justify-items:start}.tp-end p.tp-sent-title{font:400 clamp(40px,6vw,72px)/.95 var(--display);text-transform:uppercase;color:var(--ink)}.tp-noscript{display:grid;gap:20px;align-content:center;height:100%;max-width:620px}@media(max-width:600px){.tp-opt{font-size:16px;min-height:56px;padding:12px 16px}.tp-end-actions .btn{width:100%}.tp-logo img{width:96px}}@media(prefers-reduced-motion:no-preference){.tp-in .tp-w{opacity:0;animation:tp-word .76s var(--ease-out) forwards;animation-delay:calc(var(--i) * 70ms)}.tp-in .tp-reply{opacity:0;animation:tp-rise .7s var(--ease-out) forwards}.tp-in .tp-up{opacity:0;animation:tp-rise .6s var(--ease-out) forwards;animation-delay:calc(var(--d, 0) * 1ms)}.tp-done .tp-w,.tp-done .tp-reply,.tp-done .tp-up{animation-duration:1ms;animation-delay:0ms}}@media(prefers-reduced-motion:reduce){.tp-in{animation:tp-fade .24s ease both}.tp-card.is-out{animation:tp-fade .18s ease reverse forwards}.tp-bar span{transition:none}}@keyframes tp-word{0%{opacity:0;transform:translateY(.4em);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes tp-rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes tp-out{to{opacity:0;transform:translateY(-14px);filter:blur(6px)}}@keyframes tp-fade{0%{opacity:0}to{opacity:1}}
