@font-face{font-family:Climate Crisis;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/climate-crisis-latin-400-normal-CAXJ3jrU.woff2)format("woff2"),url(/assets/climate-crisis-latin-400-normal-IZDilu-D.woff)format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2)format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff)format("woff")}:root{--bg:#f6f0e2;--ink:#ff3b1f}*{box-sizing:border-box;margin:0}html,body{height:100%}body{background:var(--bg);color:var(--ink);-webkit-user-select:none;user-select:none;touch-action:none;font-family:Space Mono,ui-monospace,Menlo,monospace;overflow:hidden}main{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:0 16px;display:flex}h1{letter-spacing:.05em;white-space:nowrap;font-family:Climate Crisis,Impact,sans-serif;font-size:clamp(3rem,15vw,11rem);font-weight:400;line-height:1}.letter{cursor:pointer;will-change:transform;transition:scale .15s;display:inline-block}.letter:not(.fallen):hover{scale:1.06}.letter.fallen{cursor:grab}.letter.fallen:active{cursor:grabbing}.tagline{letter-spacing:.14em;text-transform:uppercase;flex-wrap:wrap;justify-content:center;gap:.35em .9em;margin-top:clamp(14px,3vh,28px);font-size:clamp(.72rem,1.9vw,.95rem);display:flex}#reset{z-index:1;font:inherit;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);border:1.5px solid var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:.75rem;position:fixed;top:16px;right:16px}@media (hover:hover){#reset:hover{background:var(--ink);color:var(--bg)}}#reset:active{background:var(--ink);color:var(--bg)}@media (width<=560px){#reset{left:16px;right:auto}.tagline{flex-direction:column;gap:.45em}.tagline .sep{display:none}}.tagline.says{flex-direction:row;max-width:36em;line-height:1.7}.hoop{pointer-events:none;z-index:-1;transition:transform .8s cubic-bezier(.2,1.3,.4,1);position:fixed;inset:0;transform:translate(110%)}.hoop.in{transform:none}.hoop.out{transition:transform .35s cubic-bezier(.5,0,.75,0);transform:translate(110%)}.hoop .net-g,.hoop .rim-g{transform-box:fill-box;transform-origin:50% 0}.hoop .net-g.swish{animation:.55s cubic-bezier(.3,1.4,.5,1) swish}.hoop .rim-g.jolt{animation:.3s ease-out jolt}.hoop .net-g.sway{animation:.5s ease-out sway}@keyframes swish{35%{transform:scale(.88,1.3)}70%{transform:scale(1.03,.95)}}@keyframes jolt{30%{transform:translateY(3px)rotate(-2deg)}65%{transform:translateY(-1px)rotate(1deg)}}@keyframes sway{30%{transform:skew(6deg)}65%{transform:skew(-3deg)}}.hoop .board{fill:var(--bg);stroke:var(--ink);stroke-width:3px}.hoop .rim{stroke:var(--ink);stroke-linecap:round}.hoop .net{stroke:var(--ink);stroke-linecap:round;opacity:.55}#score{font-family:Climate Crisis,Impact,sans-serif;font-size:clamp(2.2rem,7vw,4rem);line-height:1;animation:.5s cubic-bezier(.2,1.4,.4,1) both score-in;position:fixed;top:18px;left:50%;translate:-50%}#score.out{animation:.25s ease-in forwards fade-out}#score.pop{animation:.45s cubic-bezier(.2,1.6,.4,1) score-pop}@keyframes score-in{0%{opacity:0;scale:.4}}@keyframes score-pop{40%{scale:1.35}}@media (prefers-reduced-motion:reduce){.hoop,.hoop.out{transition:none}.hoop .net-g,.hoop .rim-g{animation:none!important}#score,#score.out{animation:.25s ease-in forwards fade-out}#score.pop{animation:none}}.ball{pointer-events:none;will-change:transform;position:fixed;top:0;left:0}.ball.out{animation:.25s ease-in forwards fade-out}@keyframes fade-out{to{opacity:0;scale:.6}}.ball svg{width:100%;height:100%;display:block;overflow:visible}.ball circle{fill:var(--ink)}.ball path{fill:none;stroke:var(--bg);stroke-width:4px;stroke-linecap:round}.oops{pointer-events:none;white-space:nowrap;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.72rem,1.9vw,.95rem);animation:3.6s ease-out forwards oops;position:fixed;translate:-50% -100%}@keyframes oops{0%{opacity:0;transform:translateY(6px)scale(.9)}8%,80%{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}@media (prefers-reduced-motion:reduce){.oops{animation:none}}
