:root{--cardinal: #990000;--cardinal-deep: #6e0000;--gold: #ffcc00;--gold-bright: #ffd633;--ink: #11141a;--cream: #fff8ec;--cream-dim: rgba(255, 248, 236, .72);--display: "Geist", system-ui, sans-serif;--body: "Schibsted Grotesk", system-ui, sans-serif;--pad: clamp(20px, 6vw, 32px)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--body);color:var(--cream);background:var(--cardinal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overscroll-behavior:none}#app{min-height:100dvh}.screen{position:relative;min-height:100dvh;display:flex;flex-direction:column;padding:max(env(safe-area-inset-top),var(--pad)) var(--pad) max(env(safe-area-inset-bottom),20px);background:radial-gradient(120% 80% at 50% -10%,var(--cardinal) 0%,var(--cardinal-deep) 100%);overflow:hidden;animation:screen-in .32s ease both}@keyframes screen-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.screen:before{content:"";position:absolute;inset:-20% -20% auto -20%;height:60%;background:radial-gradient(60% 100% at 50% 0%,rgba(255,204,0,.16),transparent 70%);pointer-events:none}.powered-by{margin-top:auto;padding-top:22px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--cream)}.powered-by span{font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:.02em;opacity:.9}.powered-by svg{display:block;transform:translateY(1px)}.screen--enter .enter-body{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px;z-index:1}.cobrand{display:flex;align-items:center;justify-content:center;gap:14px;z-index:1;padding:4px 0 2px}.cobrand-crest{height:52px;width:auto;display:block;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.cobrand-x{font-family:var(--display);font-weight:700;font-size:16px;color:var(--gold);opacity:.85}.cobrand-rthms svg{display:block}.headline{font-family:var(--display);font-weight:900;font-size:clamp(44px,13vw,68px);line-height:.94;letter-spacing:-.02em;text-transform:uppercase}.headline .gold{color:var(--gold)}.subhead{margin-top:18px;font-size:clamp(17px,4.6vw,20px);font-weight:500;color:var(--cream-dim)}.enter-form{margin-top:34px;display:flex;flex-direction:column;gap:14px}.name-input{width:100%;font-family:var(--body);font-size:19px;font-weight:500;color:var(--ink);background:var(--cream);border:3px solid transparent;border-radius:16px;padding:18px 20px;outline:none;transition:border-color .15s ease,transform .15s ease}.name-input::placeholder{color:#11141a66}.name-input:focus{border-color:var(--gold)}.name-input.shake{animation:shake .42s cubic-bezier(.36,.07,.19,.97);border-color:var(--gold)}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.cta{width:100%;font-family:var(--display);font-weight:900;font-size:20px;letter-spacing:.02em;text-transform:uppercase;color:var(--ink);background:var(--gold);border:none;border-radius:16px;padding:19px 20px;cursor:pointer;box-shadow:0 10px 30px #00000047;transition:transform .1s ease,background .15s ease,box-shadow .15s ease}.cta:hover{background:var(--gold-bright)}.cta:active{transform:translateY(2px) scale(.99);box-shadow:0 6px 18px #00000047}.cta--ghost{background:transparent;color:var(--cream);border:2px solid rgba(255,248,236,.45);box-shadow:none}.cta--ghost:hover{background:#fff8ec14}.cta--share{background:var(--gold)}.screen--matching .matching-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;z-index:1}.wave-pulse{animation:pulse 1.5s ease-in-out infinite;filter:drop-shadow(0 12px 40px rgba(0,0,0,.35))}.wave-pulse svg{display:block}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.92}}.matching-line{font-family:var(--display);font-weight:900;font-size:clamp(22px,6vw,28px);letter-spacing:.01em;text-transform:uppercase;text-align:center;max-width:15ch;color:var(--cream);transition:opacity .22s ease,transform .22s ease}.matching-line.fade-swap{opacity:0;transform:translateY(6px)}.screen--reveal{padding-top:max(env(safe-area-inset-top),24px)}.reveal-scroll{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;z-index:1;position:relative}:root{--chalkgag-erase-dur: 1.5s;--chalkgag-residue-fade: 1s;--chalkgag-keep: linear-gradient(104deg, transparent 42%, #000 54%);--chalkgag-dust: linear-gradient(104deg, #000 46%, transparent 58%)}.wipe-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}.match-avatar.fade-el{animation:pop-in .42s cubic-bezier(.34,1.56,.64,1) both,reveal-fade-in .55s ease both}.match-name.fade-el{animation:reveal-fade-in .55s ease both}@keyframes reveal-fade-in{0%{opacity:0}to{opacity:1}}.erasing{-webkit-mask-image:var(--chalkgag-keep);mask-image:var(--chalkgag-keep);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:300% 100%;mask-size:300% 100%;animation:chalkgag-erase var(--chalkgag-erase-dur) linear forwards}@keyframes chalkgag-erase{0%{-webkit-mask-position:82% 0;mask-position:82% 0}22%{-webkit-mask-position:70% 0;mask-position:70% 0}28%{-webkit-mask-position:69% 0;mask-position:69% 0}48%{-webkit-mask-position:55% 0;mask-position:55% 0}54%{-webkit-mask-position:54% 0;mask-position:54% 0}74%{-webkit-mask-position:39% 0;mask-position:39% 0}80%{-webkit-mask-position:38% 0;mask-position:38% 0}92%{-webkit-mask-position:23% 0;mask-position:23% 0}to{-webkit-mask-position:12% 0;mask-position:12% 0}}.gag-overlay{position:absolute;left:-20px;right:-20px;z-index:6;pointer-events:none}.eraser{position:absolute;top:50%;left:50%;margin:-42px 0 0 -75px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));animation:chalkgag-sweep var(--chalkgag-erase-dur) ease-in-out forwards}@keyframes chalkgag-sweep{0%{transform:translate(-160px,-290px) rotate(-42deg);opacity:0}5%{opacity:1}22%{transform:translate(-135px,165px) rotate(-44deg)}28%{transform:translate(-120px,140px) rotate(-36deg)}48%{transform:translate(-30px,-170px) rotate(-46deg)}54%{transform:translate(-15px,-145px) rotate(-38deg)}74%{transform:translate(75px,170px) rotate(-44deg)}80%{transform:translate(90px,145px) rotate(-36deg)}92%{transform:translate(185px,-140px) rotate(-44deg)}97%{opacity:1}to{transform:translate(265px,215px) rotate(-38deg);opacity:0}}.chalk-ghost{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.55;-webkit-mask-image:var(--chalkgag-dust);mask-image:var(--chalkgag-dust);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-position:100% 0;mask-position:100% 0}.painting .chalk-ghost{animation:chalkgag-erase var(--chalkgag-erase-dur) linear forwards}.residue-fading .chalk-ghost{-webkit-mask-position:-20% 0;mask-position:-20% 0;animation:chalkgag-dust-out var(--chalkgag-residue-fade) ease forwards}@keyframes chalkgag-dust-out{to{opacity:0}}.ghost-avatar{position:absolute;background:radial-gradient(ellipse 62% 52% at 30% 34%,rgba(255,204,0,.44),transparent 70%),radial-gradient(ellipse 52% 62% at 71% 62%,rgba(255,214,51,.32),transparent 72%),radial-gradient(ellipse 44% 36% at 56% 18%,rgba(255,190,0,.26),transparent 74%),radial-gradient(ellipse 36% 42% at 16% 76%,rgba(255,214,51,.22),transparent 76%),radial-gradient(rgba(255,204,0,.2) 1.5px,transparent 2.2px) 0 0 / 11px 13px;border-radius:16% 18% 15% 19%/17% 15% 19% 16%;filter:blur(2.5px);transform:rotate(-1.5deg)}.ghost-name{position:absolute;font-family:var(--display);font-weight:900;font-size:clamp(28px,8vw,38px);line-height:1.02;letter-spacing:-.01em;background:radial-gradient(ellipse 70% 90% at 40% 40%,#ffcc00b3,#ffcc0059 70%),radial-gradient(rgba(255,214,51,.5) 1.2px,transparent 1.8px) 0 0 / 7px 8px;-webkit-background-clip:text;background-clip:text;color:transparent;filter:blur(1.6px);transform:rotate(-1deg);white-space:nowrap}.reveal-kicker{font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}.match-avatar{margin-top:6px;animation:pop-in .42s cubic-bezier(.34,1.56,.64,1) both}.match-avatar svg{display:block;border-radius:27px;box-shadow:0 16px 40px #0006}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.match-name{font-family:var(--display);font-weight:900;font-size:clamp(28px,8vw,38px);line-height:1.02;letter-spacing:-.01em;margin-top:16px}.percent{font-family:var(--display);font-weight:900;font-size:clamp(64px,20vw,92px);line-height:1;color:var(--gold);margin-top:10px;text-shadow:0 6px 24px rgba(0,0,0,.25)}.percent-sign{font-size:.5em;vertical-align:super}.percent-label{font-size:14px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cream-dim);margin-top:-2px}.reveal-section{width:100%;margin-top:26px}.section-title{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}.why-list{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:9px}.why-chip{font-family:var(--body);font-weight:600;font-size:15px;color:var(--cream);background:#fff8ec1f;border:1px solid rgba(255,248,236,.22);border-radius:999px;padding:10px 16px}.challenge-card{font-family:var(--body);font-weight:600;font-size:clamp(17px,4.8vw,20px);line-height:1.3;color:var(--ink);background:var(--cream);border-radius:18px;padding:20px 22px;box-shadow:0 12px 30px #00000047}.reveal-actions{width:100%;margin-top:30px;display:flex;flex-direction:column;gap:12px}.screen--claim .claim-body{flex:1;display:flex;flex-direction:column;justify-content:center;z-index:1}.claim-title{font-family:var(--display);font-weight:900;font-size:clamp(38px,11vw,56px);line-height:.96;letter-spacing:-.02em;text-transform:uppercase}.claim-title .gold{color:var(--gold)}.claim-sub{margin-top:16px;font-size:clamp(16px,4.4vw,19px);font-weight:500;color:var(--cream-dim)}.claim-form{margin-top:30px;display:flex;flex-direction:column;gap:12px}.handle-field{display:flex;align-items:center;gap:2px;background:var(--cream);border:3px solid transparent;border-radius:16px;padding:0 18px;transition:border-color .15s ease}.handle-field:focus-within{border-color:var(--gold)}.handle-at{font-family:var(--body);font-size:19px;font-weight:600;color:#11141a8c}.handle-input{flex:1;min-width:0;font-family:var(--body);font-size:19px;font-weight:500;color:var(--ink);background:transparent;border:none;outline:none;padding:18px 6px 18px 2px}.handle-input::placeholder{color:#11141a66}.handle-ok{flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#1f9d55;color:#fff;font-size:14px;font-weight:700;opacity:0;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.handle-ok.visible{opacity:1;transform:scale(1)}.cta:disabled{opacity:.5;cursor:default;box-shadow:none}.avatar-link{display:inline-block;line-height:0;border-radius:28px}.avatar-link:active{transform:scale(.97)}.claim-error{font-family:var(--body);font-size:15px;font-weight:500;color:var(--gold);margin:-2px 0 0}.screen--claimed .claimed-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:1}.claimed-mark{animation:pop-in .5s cubic-bezier(.34,1.56,.64,1) both;filter:drop-shadow(0 12px 34px rgba(0,0,0,.35))}.claimed-mark svg{display:block}.claimed-kicker{margin-top:22px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}.claimed-handle{margin-top:8px;font-family:var(--display);font-weight:900;font-size:clamp(40px,12vw,60px);line-height:.98;letter-spacing:-.02em;color:var(--gold);word-break:break-word}.claimed-sub{color:var(--cream);text-transform:uppercase}.claimed-line{margin-top:20px;max-width:22ch;font-size:clamp(16px,4.4vw,19px);font-weight:500;line-height:1.35;color:var(--cream-dim)}.claimed-line strong{color:var(--cream);font-weight:700}.claimed-actions{width:100%;margin-top:34px}.confetti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:50}.confetti-piece{position:absolute;top:-24px;width:10px;height:14px;border-radius:2px;animation-name:confetti-fall;animation-timing-function:cubic-bezier(.4,.1,.5,1);animation-iteration-count:1;animation-fill-mode:both}@keyframes confetti-fall{0%{transform:translateY(-10vh) rotate(0);opacity:1}to{transform:translateY(105vh) rotate(var(--spin, 180deg));opacity:1}}@media(min-width:560px){.enter-body,.matching-body,.reveal-scroll,.claim-body,.claimed-body,.powered-by{width:100%;max-width:460px;margin-left:auto;margin-right:auto}}@media(prefers-reduced-motion:reduce){.screen,.wave-pulse,.wave-pulse svg,.match-avatar{animation:none}}
