@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:#e6e6e3;--card:#ecece9;--graphite:#2e2e2e;--pencil:#3c3c3c;--soft:#9a9a98;--gold:#e7a83a;--gold-pale:#f6e2b5;--pink:#e75c74;--navy:#1e395e;--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}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(--pencil);stroke-width:1.7px;stroke-linejoin: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)}}.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:var(--gold-pale)}.sign.on .string{height:40px}.sign.on .hang{animation:1.6s ease-in-out infinite alternate swing}.sign.on .board{background: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}.points{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.points label{position:relative}.points input{z-index:1;opacity:0;margin:0;position:absolute;inset:0}.points span{border:1.8px solid var(--pencil);pointer-events:none;background:repeating-linear-gradient(135deg, #3c3c3c1f 0 1px, transparent 1px 5px), var(--paper);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(--gold);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:var(--gold-pale)}.choice input,.agree input{width:24px;height:24px;accent-color: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{color:#555;background:#d8d8d5}.next{background:var(--gold-pale);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);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}.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(--paper);stroke:var(--pencil);stroke-width:1.7px;stroke-linejoin:round;transition:fill .6s}.after.c1,.person.on.c1 .body{fill:#e7a83a;background:#e7a83a}.after.c2,.person.on.c2 .body{fill:#e75c74;background:#e75c74}.after.c3,.person.on.c3 .body{fill:#7fa6d9;background:#7fa6d9}.after.c4,.person.on.c4 .body{fill:#8bcfae;background:#8bcfae}.after.c5,.person.on.c5 .body{fill:#ef9550;background:#ef9550}.after.c6,.person.on.c6 .body{fill:#b9a3e3;background:#b9a3e3}.after.c7,.person.on.c7 .body{fill:#6cc3c1;background:#6cc3c1}.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}}.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{animation:none}.dancing .move1{opacity:1}.string,.venue,.points span{transition:none}}
