@font-face{font-family:Excalifont;src:url(/fonts/excalifont-latin.woff2)format("woff2");font-display:swap;unicode-range:U+20-7E,U+A0-A3,U+A5-A6,U+A8-AB,U+AD-B1,U+B4,U+B6-B8,U+BA-FF,U+131,U+152-153,U+2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2212}:root{--paper:#efe8d8;--card:#f6f1e5;--graphite:#2e2e2e;--pencil:#3c3c3c;--soft:#a39e92;--gold:#e7a83a;--gold-pale:#f6e2b5;--pink:#e75c74;--navy:#1e395e;--ink-navy:#3d5a86;--ink-teal:#2f9c97;--ink-lime:#7fae2e;--ink-trunk:#8a6a4a;--c1:#e7a83a;--c2:#f0883e;--c3:#ef7d90;--c4:#4fb8b3;--c5:#c08ad0;--c6:#a5d145;--c7:#6fb0e0;--hand:"Excalifont", "Chalkboard SE", system-ui, sans-serif;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .2 0 0 0 0 .2 0 0 0 0 .2 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{background:var(--paper) var(--grain);color:var(--graphite);margin:0}body{min-height:100vh;font-family:var(--hand);-webkit-text-size-adjust:100%;font-size:18px;line-height:1.4}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(70% 40% at 12% 0,#e7a83a3d,#0000 70%),radial-gradient(55% 35% at 100% 8%,#ef7d9024,#0000 70%),radial-gradient(75% 45% at 85% 100%,#4fb8b333,#0000 70%),radial-gradient(60% 40% at 5% 100%,#a5d1452e,#0000 70%);position:fixed;inset:0}.c1{--q:var(--c1)}.c2{--q:var(--c2)}.c3{--q:var(--c3)}.c4{--q:var(--c4)}.c5{--q:var(--c5)}.c6{--q:var(--c6)}.c7{--q:var(--c7)}a{color:var(--navy)}button,input{font:inherit}main{z-index:2;max-width:32rem;padding:0 14px calc(32px + env(safe-area-inset-bottom));margin:0 auto;position:relative}.sheet{background:var(--card) var(--grain);border:1.8px solid var(--pencil);border-radius:14px 10px 16px 9px/10px 15px 9px 14px;padding:16px 18px 20px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pencil{fill:none;stroke:var(--pencil);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.soft{fill:none;stroke:var(--soft);stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round}.paper{fill:var(--card);stroke:var(--pencil);stroke-width:1.7px;stroke-linejoin:round}.hatched{fill:url(#hatch);stroke:var(--ink-navy);stroke-width:1.7px;stroke-linejoin:round}.navy{stroke:var(--ink-navy)}.teal{stroke:var(--ink-teal)}.lime{stroke:var(--ink-lime)}.trunk{fill:none;stroke:var(--ink-trunk);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.wood{fill:#ecd2a0;stroke:var(--pencil);stroke-width:1.7px;stroke-linejoin:round}.grain-lines{fill:none;stroke:#b98d4f;stroke-width:1.2px;stroke-linecap:round}.boil{animation:.5s step-end infinite boil}@keyframes boil{0%{filter:url(#boil0)}33%{filter:url(#boil1)}66%{filter:url(#boil2)}}@keyframes wobble{0%,to{transform:translate(-1px)rotate(-1deg)}25%{transform:translate(1px,.4px)rotate(1deg)}50%{transform:translate(-.5px,-.4px)rotate(-.4deg)}75%{transform:translate(.8px)rotate(.6deg)}}@keyframes swing{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes sway{0%{transform:rotate(-1.5deg)}to{transform:rotate(1.5deg)}}@keyframes pop{0%{transform:scale(1)}40%{transform:translateY(-6px)scale(1.14)rotate(-4deg)}70%{transform:translateY(-2px)scale(.97)rotate(2deg)}to{transform:translateY(-3px)}}@keyframes hop{0%,to{transform:translateY(0)}35%{transform:translateY(-14%)}60%{transform:translateY(0)scaleY(.94)}}.beam{z-index:3;width:100%;height:40px;display:block;position:relative}.beam path{vector-effect:non-scaling-stroke}.signs{z-index:3;scrollbar-width:none;gap:6px;height:96px;margin-top:-26px;padding:0 12px;display:flex;position:relative;overflow:auto hidden}.signs::-webkit-scrollbar{display:none}.sign{min-width:44px;color:var(--graphite);flex:none;justify-content:center;font-size:16px;line-height:1.1;text-decoration:none;display:flex}.sign:first-child{margin-left:auto}.sign:last-child{margin-right:auto}.hang{transform-origin:50% 0;flex-direction:column;align-items:center;display:flex}.string{background:var(--pencil);width:1.5px;height:22px;transition:height .4s cubic-bezier(.3,1.6,.5,1)}.board{background:var(--card);border:1.7px solid var(--pencil);white-space:nowrap;border-radius:6px 9px 5px 8px/8px 5px 9px 6px;padding:5px 8px 4px;animation:.72s step-end infinite wobble}.sign:nth-child(3n+2) .board{animation-delay:-.24s}.sign:nth-child(3n) .board{animation-delay:-.48s}.sign.done .board{background:color-mix(in srgb, var(--q,var(--gold)) 40%, var(--card))}.sign.on .string{height:40px}.sign.on .hang{animation:1.6s ease-in-out infinite alternate swing}.sign.on .board{background:var(--q,var(--gold));font-size:20px}.sign:focus-visible{outline:none}.sign:focus-visible .board{outline:3px solid var(--navy);outline-offset:2px}.event{margin:0 0 4px;font-size:1.05rem}.event:before{content:"";background:var(--pink);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.ask{margin:0;font-size:1.3rem;font-weight:400;line-height:1.2}.track{scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;align-items:flex-start;margin:0 -18px;display:flex;overflow:auto hidden}.track::-webkit-scrollbar{display:none}.step{scroll-snap-align:start;scroll-snap-stop:always;flex:0 0 100%;min-width:0;padding:4px 18px 6px}fieldset{border:0;min-width:0;margin:0;padding:0}.big{float:left;width:100%;margin:6px 0 14px;padding:0;font-size:5rem;line-height:.95}.big.mid{font-size:min(4rem,min(100vw,32rem)/5.4 - 12.5926px)}.big.long{font-size:2.8rem;line-height:1}.big+*{clear:both}.mark{background:linear-gradient(176deg, transparent 52%, color-mix(in srgb, var(--q) 70%, transparent) 52% 90%, transparent 90%);-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.3em .5em .2em .6em/.6em .3em .5em .2em;padding:0 .12em}.points{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.points label{position:relative}.points input{z-index:1;opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.points span{border:1.8px solid var(--pencil);pointer-events:none;background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--q) 55%, transparent) 0 1.4px, transparent 1.4px 6px), var(--card);justify-content:center;align-items:center;height:64px;font-size:1.7rem;transition:transform .15s;display:flex}.points label:first-child span{border-radius:46% 54% 40% 60%/55% 45%}.points label:nth-child(2) span{border-radius:58% 42% 55% 45%/45% 55%}.points label:nth-child(3) span{border-radius:44% 56% 52% 48%/52% 48% 56% 44%}.points label:nth-child(4) span{border-radius:55% 45% 42% 58%/48% 56% 44% 52%}.points label:nth-child(5) span{border-radius:50% 50% 58% 42%/56% 44% 52% 48%}.points input:checked+span{background:var(--q);animation:.4s ease-out pop;transform:translateY(-3px)}.points input:active+span{transform:scale(.94)}.points input:focus-visible+span{outline:3px solid var(--navy);outline-offset:2px}.ends{justify-content:space-between;gap:12px;margin-top:8px;font-size:1rem;line-height:1.2;display:flex}.ends span:last-child{text-align:right}.hint{margin:0 0 10px;font-size:.95rem}.choice{background:var(--paper);border:1.6px solid var(--pencil);border-radius:10px 14px 9px 12px/12px 9px 14px 10px;align-items:center;gap:12px;min-height:48px;margin-bottom:8px;padding:6px 12px;display:flex}.choice:has(input:checked){background:color-mix(in srgb, var(--q) 45%, var(--card))}.choice input,.agree input{width:24px;height:24px;accent-color:var(--q,var(--gold));flex:none;margin:0}.choice input:disabled+span{opacity:.6}.other{margin-top:4px;display:block}.other input{border:1.8px solid var(--pencil);width:100%;height:48px;color:var(--graphite);font:inherit;background:#fff;border-radius:10px;padding:0 12px}.other .hint{margin-top:6px;display:block}.agree{align-items:flex-start;gap:12px;margin:10px 0 16px;display:flex}.send,.next,.leave{border:1.8px solid var(--pencil);width:100%;min-height:54px;color:var(--graphite);border-radius:12px 9px 14px 8px;padding:8px 16px;font-size:1.6rem;line-height:1.1;display:block}.send{background:var(--pink);color:#2a0e14}.send:disabled{background:color-mix(in srgb, var(--pink) 16%, var(--card));color:#555;border-style:dashed}.next{background:color-mix(in srgb, var(--q) 45%, var(--card));margin-top:14px}.leave{background:var(--gold-pale);font-size:1.3rem}.send:focus-visible,.next:focus-visible,.leave:focus-visible{outline:3px solid var(--navy);outline-offset:2px}.note{margin:14px 0 0}.message{padding-top:24px}.message p{margin:0;font-size:1.15rem}.message .leave{margin-top:20px}.hanging{transform-origin:50% 0;flex-direction:column;align-items:center;margin-top:-26px;animation:3s ease-in-out infinite alternate sway;display:flex}.strings{justify-content:space-between;width:60%;display:flex}.strings i{background:var(--pencil);width:1.5px;height:28px}.title{background:var(--gold);border:1.8px solid var(--pencil);text-align:center;border-radius:10px 14px 8px 12px/12px 8px 14px 10px;margin:0;padding:10px 18px 8px;font-size:2.6rem;font-weight:400;line-height:1.05}.done .strings i{height:max(28px,12vh)}.done .title{font-size:3.2rem}.done .leave{margin-top:32px}.result .title{font-size:2.2rem}.result .sheet{margin-top:16px}.changes{margin:4px 0 16px;padding:0;list-style:none}.changes li{border-bottom:1.5px dashed var(--soft);justify-content:space-between;align-items:center;gap:12px;min-height:54px;display:flex}.changes .label{font-size:1.45rem;line-height:1.05}.scores{align-items:center;gap:6px;font-size:1.5rem;display:flex}.before{color:#555}.after{border:1.8px solid var(--pencil);background:var(--q);border-radius:52% 48% 55% 45%/47% 55% 45% 53%;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.arrow{text-align:center;width:1.1em}.better{width:26px;height:26px;margin-left:2px;display:inline-flex}.better svg{width:100%;height:100%;animation:1.8s ease-in-out infinite alternate twinkle;overflow:visible}.better path{fill:var(--gold);stroke:var(--pencil);stroke-width:1.5px;stroke-linejoin:round}.changes li:nth-child(2n) .better svg{animation-delay:-.9s}@keyframes twinkle{0%{transform:rotate(-12deg)scale(.9)}to{transform:rotate(10deg)scale(1.08)}}.picked{margin:0 0 8px}.small{margin:12px 0 0;font-size:.9rem}.backdrop{z-index:0;pointer-events:none;height:min(374px,48vh);position:fixed;bottom:0;left:0;right:0;overflow:hidden}.defs{width:0;height:0;position:absolute}.stage{aspect-ratio:390/374;height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.venue{width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1);display:block}.crowd{justify-content:center;height:33%;display:flex;position:absolute;bottom:3.5%;left:22%;right:18%}.person{aspect-ratio:80/132;height:100%;margin:0 -4%;overflow:visible}.person .body{fill:var(--card);stroke:var(--pencil);stroke-width:1.7px;stroke-linejoin:round;transition:fill .6s}.person.on .body{fill:var(--q)}.person.on{animation:.5s ease-out hop}.move1,.move2{opacity:0}.person.on .stand{transform-box:view-box;transform-origin:0 0;animation:1.2s ease-in-out infinite alternate sway}.dancing .stand{opacity:0;animation:none}.dancing .move1{animation:.5s step-end infinite move1}.dancing .move2{animation:.5s step-end infinite move2}.person:nth-child(2n) .move1,.person:nth-child(2n) .move2{animation-delay:-.25s}@keyframes move1{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes move2{0%,49%{opacity:0}50%,to{opacity:1}}.bubbles,.puffs{position:absolute;inset:0}.bub{aspect-ratio:1;border:1.6px solid var(--pencil);background:radial-gradient(circle at 34% 30%, #ffffffbf 0 12%, transparent 13%), var(--q);animation:bob var(--t,4s) ease-in-out infinite alternate;border-radius:50% 47% 52% 49%/48% 53% 47% 52%;transition:translate .6s cubic-bezier(.3,1.6,.5,1);position:absolute}.bub.ring{border:3px solid var(--q);background:0 0;box-shadow:0 0 0 1px #3c3c3c59}@keyframes bob{0%{transform:translate(-2px,2px)rotate(-3deg)}to{transform:translate(2px,-3px)rotate(3deg)}}.puffs{justify-content:center;height:33%;display:flex;inset:auto 18% 3.5% 22%}.puffs>span{aspect-ratio:80/132;height:100%;margin:0 -4%;position:relative}.puff{aspect-ratio:1;opacity:0;border:1.4px solid var(--pencil);background:radial-gradient(circle at 34% 30%, #ffffffbf 0 12%, transparent 13%), var(--q);border-radius:50% 46% 52% 48%;width:40%;position:absolute;top:0;left:30%}.puffs .on .puff{animation:1.8s ease-out rise}.dancing .puffs .puff{animation:2.6s ease-out infinite rise}.dancing .puffs>span:nth-child(2n) .puff{animation-delay:-1.3s}.dancing .puffs>span:nth-child(3n) .puff{animation-delay:-.6s}@keyframes rise{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:.95}to{opacity:0;transform:translate(14px,-170%)scale(1.1)}}.banner{z-index:4;background:var(--graphite);color:#fff;text-align:center;border-bottom:4px solid var(--pink);margin:0;padding:12px 16px;position:relative}@media (prefers-reduced-motion:reduce){.boil,.board,.sign.on .hang,.hanging,.person.on .stand,.dancing .move1,.dancing .move2,.points input:checked+span,.person.on,.bub,.better svg{animation:none}.dancing .move1{opacity:1}.puffs{display:none}.string,.venue,.points span,.bub{transition:none}}
