.ptp{--ptp-sand: #f6e6c4;--ptp-sand-2: #ecd5a6;--ptp-paper: #fffaf0;--ptp-ink: #1f2a44;--ptp-ink-2: #2c3a5e;--ptp-dim: #5b6278;--ptp-line: rgba(31, 42, 68, .14);--ptp-felt: #38b24f;--ptp-felt-hi: #47c25d;--ptp-felt-deep: #23863a;--ptp-red: #e5463b;--ptp-red-deep: #c23328;--ptp-yellow: #f6c431;--ptp-yellow-deep: #e0a91a;--ptp-blue: #2f7fd8;--ptp-blue-deep: #2163b0;--ptp-green: #2aa876;--ptp-pink: #f48fb1;--ptp-display: "Lilita One", "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;--ptp-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--ptp-safe-t: env(safe-area-inset-top, 0px);--ptp-safe-r: env(safe-area-inset-right, 0px);--ptp-safe-b: env(safe-area-inset-bottom, 0px);--ptp-safe-l: env(safe-area-inset-left, 0px);margin:0;min-height:100vh;background:var(--ptp-sand);color:var(--ptp-ink);font:400 16px/1.55 var(--ptp-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.ptp *,.ptp *:before,.ptp *:after{box-sizing:border-box}html.ptp-locked,html.ptp-locked body{overflow:hidden}.ptp-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ptp-stage{position:relative;overflow:hidden;isolation:isolate;background:var(--ptp-sand);padding:0 max(16px,var(--ptp-safe-r)) 48px max(16px,var(--ptp-safe-l))}.ptp-art,.ptp-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;z-index:-1}.ptp-canvas{display:none}.ptp-bar{grid-area:bar;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:calc(var(--ptp-safe-t) + 12px)}.ptp-back{order:-1}.ptp-back,.ptp-skip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;text-decoration:none;font:800 12.5px/1 var(--ptp-body);letter-spacing:.04em;color:var(--ptp-paper);background:var(--ptp-ink);box-shadow:0 3px #1f2a4440}.ptp-back span{font-size:18px;line-height:0;margin-top:-2px}.ptp-skip{background:var(--ptp-paper);color:var(--ptp-ink);box-shadow:inset 0 0 0 2px var(--ptp-ink),0 3px #1f2a4440}.ptp-back:hover{background:var(--ptp-blue-deep)}.ptp-skip:hover{background:var(--ptp-yellow)}.ptp-head{grid-area:head;position:relative;z-index:2;padding-top:26px;text-align:center}.ptp-kicker{margin:0 0 6px;font:800 12px/1.3 var(--ptp-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ptp-ink-2)}.ptp-title{margin:0;font:400 clamp(46px,13vw,92px)/.95 var(--ptp-display);letter-spacing:.01em;color:var(--ptp-red);text-shadow:0 3px 0 var(--ptp-ink),2px 5px 0 var(--ptp-ink)}.ptp-lede{margin:12px auto 0;max-width:32ch;font-size:clamp(16px,4.3vw,19px);font-weight:600;color:var(--ptp-ink-2)}.ptp-scene{grid-area:scene;min-height:0}.ptp-dock{grid-area:dock;position:relative;z-index:2;perspective:1400px}.ptp-hint{display:none;margin:0 0 8px;min-height:1.3em;text-align:center;font:800 13px/1.3 var(--ptp-body);letter-spacing:.02em;color:var(--ptp-ink)}.ptp-hint b{color:var(--ptp-red);font-weight:800}.ptp-face{position:relative;border-radius:18px;background:var(--ptp-paper);color:var(--ptp-ink);box-shadow:0 0 0 2px var(--ptp-ink),0 6px 0 var(--ptp-ink),0 22px 40px -22px #1f2a4499}.ptp-front{padding:12px}.ptp-score{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;text-align:center}.ptp-score th,.ptp-score td{padding:4px 2px;border-bottom:1.5px dashed var(--ptp-line)}.ptp-score thead th{font:800 10.5px/1.2 var(--ptp-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ptp-dim)}.ptp-score th[scope=row]{width:26%;text-align:left;padding-left:6px;font:800 10.5px/1.2 var(--ptp-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ptp-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ptp-score td{font:400 19px/1.1 var(--ptp-display);color:var(--ptp-ink)}.ptp-score .ptp-par td{font-size:15px;color:var(--ptp-dim)}.ptp-score .ptp-you th,.ptp-score .ptp-you td{border-bottom:0}.ptp-score .ptp-you td{color:var(--ptp-blue-deep)}.ptp-score .ptp-you td.is-under{color:var(--ptp-red)}.ptp-score .ptp-you td.is-ace{color:var(--ptp-paper);background:radial-gradient(circle closest-side,var(--ptp-red) 92%,transparent 96%)}.ptp-score td:last-child,.ptp-score thead th:last-child{background:#f6c4312e}.ptp-score thead th:last-child{border-radius:8px 8px 0 0}.ptp-score .ptp-you td:last-child{border-radius:0 0 8px 8px}.ptp-score .is-current{box-shadow:inset 0 -3px 0 var(--ptp-yellow)}.ptp-score td.is-fresh{animation:ptp-pop .6s cubic-bezier(.2,1.6,.4,1)}@keyframes ptp-pop{0%{transform:scale(.4)}to{transform:none}}.ptp-notes{list-style:none;margin:0;padding:0}.ptp-note{position:relative}.ptp-note-num{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font:400 17px/1 var(--ptp-display);color:var(--ptp-paper);background:var(--ptp-red);box-shadow:inset 0 -3px #0000002e}.ptp-note:nth-child(2) .ptp-note-num{background:var(--ptp-blue)}.ptp-note:nth-child(3) .ptp-note-num{background:var(--ptp-green)}.ptp-note-body{display:grid;gap:1px;min-width:0}.ptp-note-label{font:800 10.5px/1.2 var(--ptp-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ptp-dim)}.ptp-note-value{font:400 clamp(18px,5vw,21px)/1.12 var(--ptp-display);letter-spacing:.005em;overflow-wrap:anywhere}.ptp-note-text{font-size:14px;line-height:1.35;color:var(--ptp-dim)}.ptp-note-wait,.ptp-controls,.ptp-score{display:none}.ptp-done-kicker{margin:0 0 6px;font:800 11.5px/1.3 var(--ptp-body);letter-spacing:.14em;text-transform:uppercase;color:var(--ptp-dim)}.ptp-done-title{margin:0 0 16px;font:400 clamp(28px,7.6vw,44px)/1.02 var(--ptp-display)}.ptp-done-title span{color:var(--ptp-red)}html:not(.ptp-motion) .ptp-stage{text-align:center}html:not(.ptp-motion) .ptp-stage:after{content:"";position:absolute;inset:auto 0 0;height:90px;z-index:-1;background:linear-gradient(rgba(246,230,196,0),var(--ptp-sand))}html:not(.ptp-motion) .ptp-head{padding-top:40px}html:not(.ptp-motion) .ptp-dock{width:min(100%,480px);margin:36px auto 0}html:not(.ptp-motion) .ptp-front{padding:8px 18px;text-align:left}html:not(.ptp-motion) .ptp-note{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:center;padding:14px 0}html:not(.ptp-motion) .ptp-note+.ptp-note{border-top:1.5px dashed var(--ptp-line)}html:not(.ptp-motion) .ptp-reverse{margin-top:26px;padding:24px 20px 26px}.ptp-motion .ptp-stage{height:100vh;height:100svh;min-height:0;padding:0 max(16px,var(--ptp-safe-r)) 0 max(16px,var(--ptp-safe-l));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"bar" "head" "scene" "dock";touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.ptp-motion .ptp-stage.is-done{touch-action:auto;user-select:auto;-webkit-user-select:auto}.ptp-motion .ptp-stage.is-ready{cursor:grab}.ptp-motion .ptp-stage.is-aiming{cursor:grabbing}.ptp-motion .ptp-canvas{display:block;opacity:0;transition:opacity .5s ease}.ptp-motion .ptp-stage.is-live .ptp-canvas{opacity:1}.ptp-motion .ptp-stage.is-live .ptp-art{visibility:hidden}.ptp-motion .ptp-head{padding-top:8px}.ptp-motion .ptp-kicker{font-size:11px;margin-bottom:2px}.ptp-motion .ptp-title{font-size:clamp(34px,10vw,76px)}.ptp-motion .ptp-lede{display:none}.ptp-motion .ptp-dock{padding:6px 0 calc(var(--ptp-safe-b) + 14px)}.ptp-motion .ptp-hint{display:block}.ptp-motion .ptp-stage.is-resting .ptp-hint{color:var(--ptp-red)}.ptp-motion .ptp-score{display:table;margin-bottom:8px}.ptp-motion .ptp-card{display:grid;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.5,-.25,.3,1.3)}.ptp-motion .ptp-face{grid-area:1 / 1;-webkit-backface-visibility:hidden;backface-visibility:hidden}.ptp-motion .ptp-reverse{transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:16px 18px;text-align:center;background:repeating-linear-gradient(90deg,var(--ptp-red) 0 22px,var(--ptp-paper) 22px 44px) top / 100% 10px no-repeat,var(--ptp-paper)}.ptp-motion .ptp-stage.is-done .ptp-card{transform:rotateY(180deg)}.ptp-motion .ptp-done-title{margin-bottom:14px;font-size:clamp(28px,8vw,40px)}.ptp-motion .ptp-reverse .ptp-btn{width:100%;max-width:420px}.ptp-motion .ptp-note{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:8px 6px 2px;min-height:58px}.ptp-motion .ptp-note:not(.is-placed) .ptp-note-num{background:transparent;color:var(--ptp-dim);box-shadow:inset 0 0 0 2px var(--ptp-line)}.ptp-motion .ptp-note:not(.is-placed) .ptp-note-wait{display:block;font:700 13.5px/1.3 var(--ptp-body);color:var(--ptp-dim)}.ptp-motion .ptp-note:not(.is-placed) .ptp-note-value,.ptp-motion .ptp-note:not(.is-placed) .ptp-note-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.ptp-motion .ptp-note.is-fresh{animation:ptp-reveal .7s cubic-bezier(.2,.8,.2,1)}@keyframes ptp-reveal{0%{transform:translateY(8px) scale(.97);opacity:.2}to{transform:none;opacity:1}}.ptp-motion .ptp-controls{display:flex;align-items:center;justify-content:center;gap:12px;height:50px;margin-top:4px}.ptp-motion .ptp-keys{display:inline;text-align:center}.ptp-motion .ptp-controls:has(.ptp-gimme:not([hidden])) .ptp-keys{display:none}.ptp-keys{display:none;font:700 12.5px/1.2 var(--ptp-body);color:var(--ptp-dim)}.ptp-keys kbd{display:inline-block;min-width:22px;padding:2px 5px;margin:0 1px;border-radius:5px;font:800 11px/1.2 var(--ptp-body);color:var(--ptp-ink);background:var(--ptp-sand);box-shadow:inset 0 -2px 0 var(--ptp-sand-2),0 0 0 1px var(--ptp-line)}.ptp-gimme{min-height:46px;padding:0 22px;border:0;border-radius:999px;background:var(--ptp-yellow);color:var(--ptp-ink);font:400 18px/1 var(--ptp-display);letter-spacing:.02em;box-shadow:inset 0 -4px 0 var(--ptp-yellow-deep),0 0 0 2px var(--ptp-ink);cursor:pointer;touch-action:manipulation;animation:ptp-nudge 1.6s ease-in-out infinite}.ptp-gimme[hidden]{display:none}.ptp-gimme:hover{filter:brightness(1.05)}.ptp-gimme:active{transform:translateY(2px)}@keyframes ptp-nudge{0%,70%,to{transform:none}80%{transform:rotate(-3deg)}90%{transform:rotate(3deg)}}@media(max-width:899px),(max-height:819px){.ptp-motion .ptp-note:not(.is-current){position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}}.ptp-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border:0;border-radius:999px;background:var(--ptp-paper);color:var(--ptp-ink);font:800 15.5px/1 var(--ptp-body);text-decoration:none;box-shadow:inset 0 0 0 2px var(--ptp-ink),0 4px 0 var(--ptp-ink);cursor:pointer;transition:background .2s ease,transform .12s ease,box-shadow .12s ease}.ptp-btn:hover:not(:disabled){background:var(--ptp-yellow)}.ptp-btn:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 0 0 2px var(--ptp-ink),0 1px 0 var(--ptp-ink)}.ptp-btn-solid{background:var(--ptp-red);color:var(--ptp-paper)}.ptp-btn-solid:hover:not(:disabled){background:var(--ptp-red-deep)}.ptp-btn:disabled{opacity:.45;cursor:not-allowed}.ptp a:focus-visible,.ptp button:focus-visible,.ptp input:focus-visible{outline:3px solid var(--ptp-blue);outline-offset:3px}.ptp-details{position:relative;outline:none;padding:64px max(20px,var(--ptp-safe-r)) calc(var(--ptp-safe-b) + 36px) max(20px,var(--ptp-safe-l));background:repeating-linear-gradient(90deg,var(--ptp-red) 0 40px,var(--ptp-yellow) 40px 80px,var(--ptp-blue) 80px 120px,var(--ptp-green) 120px 160px) top / 100% 10px no-repeat,var(--ptp-sand)}.ptp-motion .ptp-details{padding-top:72px}.ptp-wrap{max-width:880px;margin:0 auto}.ptp-eyebrow{margin:0 0 10px;font:800 12px/1.3 var(--ptp-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ptp-red-deep)}.ptp-dtitle{margin:0 0 12px;font:400 clamp(38px,10.5vw,78px)/.98 var(--ptp-display);color:var(--ptp-ink)}.ptp-dlede{margin:0;max-width:44ch;font-size:clamp(16px,4.3vw,19px);color:var(--ptp-dim)}.ptp-facts{margin:34px 0 0;display:grid;grid-template-columns:1fr;background:var(--ptp-paper);border-radius:18px;padding:4px 18px;box-shadow:0 0 0 2px var(--ptp-ink),0 6px 0 var(--ptp-ink)}.ptp-facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:15px 0;border-bottom:1.5px dashed var(--ptp-line)}.ptp-facts>div:last-child{border-bottom:0}.ptp-facts dt{font:800 10.5px/1.8 var(--ptp-body);letter-spacing:.16em;text-transform:uppercase;color:var(--ptp-dim)}.ptp-facts dd{margin:0;display:grid;gap:3px;align-content:start}.ptp-facts b{font:400 19px/1.2 var(--ptp-display);letter-spacing:.01em}.ptp-facts dd>span{font-size:14.5px;color:var(--ptp-dim)}.ptp-pack{margin-top:40px}.ptp-pack-title{margin:0 0 12px;font:400 28px/1 var(--ptp-display)}.ptp-bring{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;column-gap:32px}.ptp-bring li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1.5px dashed var(--ptp-line);font-size:15.5px;font-weight:600}.ptp-bring li:before{content:"";flex:none;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 30%,var(--c, var(--ptp-red)) 32%)}.ptp-bring li:nth-child(4n+2):before{--c: var(--ptp-yellow)}.ptp-bring li:nth-child(4n+3):before{--c: var(--ptp-blue)}.ptp-bring li:nth-child(4n+4):before{--c: var(--ptp-green)}.ptp-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.ptp-rsvp{margin-top:54px;padding:30px 22px;border-radius:22px;background:repeating-linear-gradient(90deg,var(--ptp-red) 0 26px,var(--ptp-paper) 26px 52px) top / 100% 12px no-repeat,var(--ptp-ink);color:var(--ptp-paper);box-shadow:0 6px #121a2d,0 30px 60px -32px #1f2a44bf}.ptp-rsvp .ptp-eyebrow{margin-top:10px;color:var(--ptp-yellow)}.ptp-rsvp-title{margin:0 0 8px;font:400 clamp(30px,8.4vw,48px)/1.02 var(--ptp-display)}.ptp-rsvp-note{margin:0 0 20px;color:#fffaf0c7;font-size:15px;max-width:46ch}.ptp-form label{display:block;margin-bottom:8px;font:800 11px/1 var(--ptp-body);letter-spacing:.18em;text-transform:uppercase;color:var(--ptp-yellow)}.ptp-form input{width:100%;padding:12px 2px;border:0;border-bottom:2px dashed var(--ptp-paper);border-radius:0;background:transparent;color:var(--ptp-paper);font:400 22px/1.2 var(--ptp-display);letter-spacing:.01em}.ptp-form input::placeholder{color:#fffaf073}.ptp-form input:focus{outline:none;border-bottom-color:var(--ptp-yellow);border-bottom-style:solid}.ptp-answers{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.ptp-rsvp .ptp-btn{box-shadow:inset 0 0 0 2px var(--ptp-paper),0 4px #0c1222;background:transparent;color:var(--ptp-paper)}.ptp-rsvp .ptp-btn-solid{background:var(--ptp-yellow);color:var(--ptp-ink);box-shadow:0 4px 0 var(--ptp-yellow-deep)}.ptp-rsvp .ptp-btn:hover:not(:disabled){background:var(--ptp-paper);color:var(--ptp-ink)}.ptp-rsvp .ptp-btn:focus-visible{outline-color:var(--ptp-yellow)}#status{min-height:1.5em;margin:16px 0 0;font-weight:700;color:var(--ptp-paper)}.ptp-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:44px;padding-top:20px;border-top:1.5px dashed var(--ptp-line)}.ptp-foot a{color:var(--ptp-dim);font:800 13px/1 var(--ptp-body);letter-spacing:.03em;text-decoration:none}.ptp-foot a:hover{color:var(--ptp-red)}@media(min-width:900px),(orientation:landscape)and (min-width:560px){.ptp-motion .ptp-stage{grid-template-columns:minmax(0,1fr) minmax(290px,400px);grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,1fr);grid-template-areas:"bar bar" "scene ." "scene head" "scene dock" "scene .";column-gap:clamp(16px,4vw,64px);padding-right:max(16px,var(--ptp-safe-r),4vw);padding-bottom:calc(var(--ptp-safe-b) + 12px)}.ptp-motion .ptp-head{text-align:left;padding:0 0 16px}.ptp-motion .ptp-dock{padding:0}.ptp-motion .ptp-hint{text-align:left}}@media(min-width:900px)and (min-height:700px){.ptp-motion .ptp-title{font-size:clamp(56px,5.4vw,84px)}.ptp-motion .ptp-lede{display:block;margin:12px 0 0;font-size:17px}}@media(min-width:900px)and (min-height:820px){.ptp-motion .ptp-note{min-height:54px}.ptp-motion .ptp-note+.ptp-note{border-top:1.5px dashed var(--ptp-line)}.ptp-motion .ptp-note-value{font-size:18px}.ptp-motion .ptp-note-text{font-size:13px}}@media(orientation:landscape)and (max-height:500px){.ptp-motion .ptp-kicker{display:none}.ptp-motion .ptp-title{font-size:32px}.ptp-motion .ptp-head{padding-bottom:8px}.ptp-motion .ptp-hint{display:none}.ptp-motion .ptp-note{min-height:0}}@media(max-height:700px)and (max-width:899px){.ptp-motion .ptp-par,.ptp-motion .ptp-kicker{display:none}}@media(min-width:900px){.ptp-facts{grid-template-columns:1fr 1fr;column-gap:40px;padding:4px 28px}.ptp-facts>div:nth-last-child(2){border-bottom:0}.ptp-bring{grid-template-columns:1fr 1fr}.ptp-rsvp{padding:42px 46px}.ptp-details{padding-top:96px}}
