/* Inviter games on the invitation (uses the design tokens from inv.css: --acc --paper --ink --soft --head --script --body). */
.pgame[hidden],.pin [hidden],.pgame [hidden],.pwall [hidden]{display:none!important}
.pt-k{font:500 12px/1 var(--body);letter-spacing:.24em;text-transform:uppercase;color:var(--acc);margin:0 0 10px}
.pthanks{text-align:center}.pthanks h2{font-family:var(--script);font-size:clamp(38px,9vw,60px);font-weight:400;line-height:1.05}.pt-n{font-size:17px}.pt-n b{font:400 34px/1 var(--head);color:var(--acc);vertical-align:-4px;margin-right:4px}
.pt-gal{margin-top:18px}

/* countdown unlocks */
.un-list{display:grid;gap:12px;margin-top:16px;text-align:left}
.un{position:relative;padding:16px 18px;border-radius:16px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);background:color-mix(in srgb,var(--paper) 86%,var(--acc) 4%);overflow:hidden}
.un-d{display:block;font:600 11px/1 var(--body);letter-spacing:.18em;text-transform:uppercase;color:var(--acc);margin-bottom:8px}
.un p{margin:0;font-size:17px}.un.open{border-color:color-mix(in srgb,var(--acc) 45%,transparent);box-shadow:0 10px 30px -18px var(--acc)}
.un:not(.open){background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--ink) 4%,transparent) 0 8px,transparent 8px 16px),color-mix(in srgb,var(--paper) 92%,var(--ink) 3%)}
.un-lock{display:flex;align-items:center;gap:10px;color:color-mix(in srgb,var(--ink) 62%,transparent)}
.lk{width:14px;height:11px;border:2px solid currentColor;border-radius:3px;position:relative;margin-top:6px;flex:none}.lk:before{content:"";position:absolute;left:1px;top:-9px;width:8px;height:8px;border:2px solid currentColor;border-bottom:0;border-radius:6px 6px 0 0}

/* the fun task */
.pgame{text-align:center}.pgame.in{animation:pg-in .7s cubic-bezier(.2,.8,.2,1) both}@keyframes pg-in{from{opacity:0;transform:translateY(24px) scale(.97)}}
.wheel-w{position:relative;width:min(300px,78vw);aspect-ratio:1;margin:18px auto 20px}
.wheel{position:absolute;inset:0;border-radius:50%;transition:transform 4.1s cubic-bezier(.12,.75,.1,1);box-shadow:0 0 0 6px var(--paper),0 0 0 7px color-mix(in srgb,var(--acc) 50%,transparent),0 24px 50px -24px rgba(0,0,0,.45);
  background:repeating-conic-gradient(from 0deg,var(--acc) 0 calc(360deg / var(--n)),color-mix(in srgb,var(--acc) 22%,var(--paper)) 0 calc(720deg / var(--n)))}
.wheel span{position:absolute;inset:0;transform:rotate(calc((var(--k) + .5) * 360deg / var(--n)))}
.wheel i{position:absolute;left:50%;top:7%;transform:translateX(-50%);width:30%;font:600 9px/1.12 var(--body);font-style:normal;color:var(--paper);text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.wheel span:nth-child(even) i{color:var(--ink);text-shadow:none}
.wheel-w:after{content:"";position:absolute;inset:40%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,var(--paper) 60%);box-shadow:0 4px 14px rgba(0,0,0,.25)}
.wheel-pin{position:absolute;left:50%;top:-12px;transform:translateX(-50%);width:0;height:0;border:12px solid transparent;border-top:20px solid var(--ink);filter:drop-shadow(0 3px 3px rgba(0,0,0,.25));z-index:2}
.g-res{min-height:1.4em}.g-res b{color:var(--acc)}
.qopts{display:grid;gap:10px;margin:18px 0}
.qo{font:500 17px/1.3 var(--body);padding:15px 18px;border-radius:14px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .15s,border-color .2s,background .2s}
.qo:hover:not(:disabled){transform:translateY(-1px);border-color:var(--acc)}.qo:active:not(:disabled){transform:scale(.98)}
.qo.mine{border-color:var(--ink)}.qo.right{background:color-mix(in srgb,var(--acc) 18%,var(--paper));border-color:var(--acc);font-weight:600}.qo:disabled{cursor:default}

/* the guest wall */
.crown{display:block;text-align:center;font-size:17px;margin:4px 0 14px}.crown .cw{margin-right:8px;vertical-align:-2px}.crown b{color:var(--acc)}
.cw{display:inline-block;width:26px;height:18px;background:var(--acc);clip-path:polygon(0 100%,0 25%,25% 60%,50% 0,75% 60%,100% 25%,100% 100%);flex:none}.cw.sm{width:13px;height:9px;margin-right:5px;vertical-align:0}
.wallf{text-align:left;margin-top:14px}
.stk{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 0 14px}
.stk button{width:46px;height:46px;border-radius:50%;font-size:22px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);background:var(--paper);cursor:pointer;transition:transform .18s cubic-bezier(.3,1.6,.5,1),border-color .2s}
.stk button:hover{transform:scale(1.08)}.stk button.on{transform:scale(1.15);border:2px solid var(--acc);box-shadow:0 6px 16px -8px var(--acc)}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px;margin-top:22px}
.note{position:relative;padding:16px 14px 12px;background:color-mix(in srgb,var(--paper) 80%,var(--acc) 8%);border-radius:4px 4px 14px 4px;transform:rotate(var(--r,0deg));box-shadow:0 12px 24px -16px rgba(0,0,0,.35);text-align:left;animation:nt-in .5s cubic-bezier(.2,.9,.3,1.2) both}
.note:nth-child(3n){background:color-mix(in srgb,var(--paper) 88%,var(--ink) 5%)}@keyframes nt-in{from{opacity:0;transform:translateY(10px) rotate(0) scale(.94)}}
.n-s{position:absolute;right:8px;top:-12px;font-size:26px;filter:drop-shadow(0 3px 3px rgba(0,0,0,.18))}
.note p{margin:0 0 10px;font-family:var(--script);font-size:21px;line-height:1.2;word-break:break-word}.note small{font-size:12px;color:color-mix(in srgb,var(--ink) 60%,transparent)}

/* check-in stamp */
.pin{text-align:center}
.stamp{position:relative;width:150px;height:150px;margin:18px auto;border-radius:50%;display:grid;place-items:center;align-content:center;color:var(--acc);opacity:.18;transform:rotate(-12deg) scale(.9);transition:opacity .3s}
.st-ring{position:absolute;inset:0;border-radius:50%;border:4px double currentColor}.stamp:before{content:"";position:absolute;inset:12px;border-radius:50%;border:1.5px dashed currentColor}
.stamp b{font:400 40px/1 var(--head)}.stamp small{font:600 11px/1 var(--body);letter-spacing:.2em;text-transform:uppercase;margin-top:6px}
.stamp.on{opacity:1}.stamp.thud{animation:thud .55s cubic-bezier(.3,1.5,.5,1) both}@keyframes thud{0%{transform:rotate(-12deg) scale(2.2);opacity:0}60%{transform:rotate(-12deg) scale(.92);opacity:1}100%{transform:rotate(-12deg) scale(1)}}
.pn-c b{font:400 26px/1 var(--head);color:var(--acc)}

/* photo hunt */
.hunt{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px;text-align:left}
.hunt li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);background:var(--paper)}
.h-c{width:22px;height:22px;border-radius:50%;border:2px solid color-mix(in srgb,var(--ink) 30%,transparent);flex:none;position:relative}
.hunt li.got .h-c{background:var(--acc);border-color:var(--acc)}.hunt li.got .h-c:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid var(--paper);border-width:0 2px 2px 0;transform:rotate(45deg)}
.h-w{flex:1;font-size:16px}.h-b{cursor:pointer;white-space:nowrap}
@media (prefers-reduced-motion:reduce){.wheel{transition-duration:.01s}.note,.pgame.in,.stamp.thud{animation:none}}

/* event page (social) */
.psocial{text-align:center}.psocial h2{margin-top:0}
.soc-new{text-align:left;margin:18px 0 26px;padding:16px;border-radius:18px;background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);box-shadow:0 18px 40px -30px rgba(0,0,0,.4)}
.soc-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--ink) 6%,transparent);margin-bottom:14px}
.soc-tabs button{font:600 14px var(--body);padding:10px;border:0;border-radius:9px;background:transparent;color:var(--ink);cursor:pointer;transition:background .2s,box-shadow .2s}.soc-tabs button.on{background:var(--paper);box-shadow:0 2px 8px -3px rgba(0,0,0,.25)}
.soc-drop{display:block;border:1.5px dashed color-mix(in srgb,var(--acc) 55%,transparent);border-radius:14px;padding:22px 14px;text-align:center;cursor:pointer;margin-bottom:12px;color:var(--acc);font-weight:600}
.soc-drop[hidden]{display:none}.soc-drop.has{padding:10px}.soc-drop.has .soc-pl{display:none}
.soc-thumbs{display:flex;gap:8px;justify-content:center}.soc-thumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.feed{display:grid;gap:16px;text-align:left}
.post{background:var(--paper);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:18px;overflow:hidden;box-shadow:0 14px 36px -28px rgba(0,0,0,.45);animation:nt-in .45s cubic-bezier(.2,.9,.3,1.1) both}
.post header{display:flex;align-items:center;gap:10px;padding:12px 14px}
.av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:600 14px var(--body);color:var(--paper);background:var(--acc);flex:none}
.who{flex:1;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0}.who b{font-size:15.5px}.who small{font-size:12.5px;color:color-mix(in srgb,var(--ink) 55%,transparent)}
.mk{font:600 10.5px var(--body);font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:99px;padding:2px 8px}.mk.host{background:var(--acc);color:var(--paper)}
.pdel{border:0;background:none;color:color-mix(in srgb,var(--ink) 50%,transparent);font-size:12.5px;cursor:pointer}
.pp{display:grid;gap:2px}.pp.n1{grid-template-columns:1fr}.pp.n2{grid-template-columns:1fr 1fr}.pp.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}.pp.n3 .pp-i:first-child{grid-row:span 2}.pp.n4{grid-template-columns:1fr 1fr}
.pp-i{border:0;padding:0;aspect-ratio:1;background:#ddd center/cover;cursor:zoom-in}.pp.n1 .pp-i{aspect-ratio:4/3}.pp.n3 .pp-i:first-child{aspect-ratio:auto}
.pb{margin:0;padding:12px 16px 2px;font-size:16.5px;line-height:1.5;white-space:pre-line}
.post.mem .pb{font-family:var(--script);font-size:24px;line-height:1.25;padding:6px 18px 6px}
.post footer{display:flex;align-items:center;gap:12px;padding:8px 14px}
.ht{display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);background:transparent;border-radius:99px;padding:6px 12px;cursor:pointer;color:var(--ink);font:600 14px var(--body)}
.hi{width:16px;height:14px;background:color-mix(in srgb,var(--ink) 35%,transparent);clip-path:path('M8 14 L1.2 7.2 A3.8 3.8 0 0 1 8 2.6 A3.8 3.8 0 0 1 14.8 7.2 Z');transition:background .2s}
.ht.on{border-color:color-mix(in srgb,#d0304f 45%,transparent)}.ht.on .hi{background:#d0304f}.ht.pop .hi{animation:hpop .45s cubic-bezier(.3,1.8,.5,1)}@keyframes hpop{40%{transform:scale(1.45)}}
.cc{font-size:13px;color:color-mix(in srgb,var(--ink) 55%,transparent)}
.cm{padding:0 14px 14px}.cm p{margin:6px 0;font-size:14.5px;line-height:1.4}.cmf{display:flex;gap:8px;margin-top:8px}.cmf input{flex:1;min-width:0;font:15px var(--body);padding:9px 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--ink) 15%,transparent);background:transparent;color:var(--ink)}
.soc-more{margin-top:16px}.soc-more[hidden]{display:none}
