@font-face{font-family:Creepster;src:url(./creepster-DnKpM-ys.woff2)format("woff2");font-display:swap}@font-face{font-family:Fredoka;src:url(./fredoka-DM6njrJ3.woff2)format("woff2");font-weight:300 700;font-display:swap}@font-face{font-family:Potta One;src:url(./potta-ja-CIOZ907L.woff2)format("woff2");font-display:swap}@font-face{font-family:Zen Maru Gothic;src:url(./zen-maru-ja-500-DxRYduLR.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Zen Maru Gothic;src:url(./zen-maru-ja-700-BEBpDE7X.woff2)format("woff2");font-weight:700;font-display:swap}:root{--ink:#ece8ff;--dim:#9a94c0;--berry:#4a56c8;--berry-2:#5b4fd2;--juice:#7d6ae4;--bloom:#b9aeff;--frost:#dfe2ff;--season:#ff8a2a;--season-deep:#a8400c;--season-glow:#ff8a2a73;--moon:#fff2c8;--panel:linear-gradient(180deg, #241e46eb, #0e0c20f0);--edge:#b9aeff59;--display:"Creepster", "Chiller", fantasy;--font:"Fredoka", "Nunito", "Trebuchet MS", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root:lang(ja){--display:"Creepster", "Potta One", "Hiragino Maru Gothic ProN", fantasy;--font:"Fredoka", "Zen Maru Gothic", "Hiragino Maru Gothic ProN", "Yu Gothic", "Meiryo", system-ui, sans-serif}body[data-season=harvest]{--season:#f0a83c;--season-deep:#8a4a10;--season-glow:#f0a83c73}body[data-season=winter]{--season:#9fdcff;--season-deep:#2a6aa8;--season-glow:#9fdcff80}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none;background:#05040f;margin:0;overflow:hidden}#view{touch-action:none;position:fixed;inset:0}#view canvas{outline:none;display:block}.label{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);font-size:11px;font-weight:600;display:block}#top{padding:max(14px, env(safe-area-inset-top)) max(212px, calc(env(safe-area-inset-right) + 200px)) 0 max(18px, env(safe-area-inset-left));pointer-events:none;text-shadow:0 2px #000,0 0 14px #000;grid-template-columns:1fr auto 1fr;align-items:start;display:grid;position:fixed;top:0;left:0;right:0}#top[hidden]{display:none}#night{letter-spacing:.04em;color:var(--frost);font-size:17px;font-weight:600}#night .label{color:var(--season);text-shadow:0 0 10px var(--season-glow), 0 2px 0 #000}.bag{text-align:center}#candy{letter-spacing:.02em;font-variant-numeric:tabular-nums;background:linear-gradient(180deg, #fff6d0 0%, var(--season) 45%, var(--season-deep) 100%);color:#0000;text-shadow:none;filter:drop-shadow(0 2px 0 #000) drop-shadow(0 0 14px var(--season-glow));-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:700;line-height:1;display:block}#candy.pop{animation:.25s ease-out bump}@keyframes bump{40%{transform:scale(1.18)}}#map{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));max-width:180px;max-height:180px;image-rendering:pixelated;background:var(--panel);border:1px solid var(--edge);pointer-events:none;border-radius:14px;padding:8px;position:fixed;box-shadow:inset 0 0 0 1px #0009,0 6px 22px #0000008c,0 0 26px #7d6ae42e}#map[hidden]{display:none}#bottom{left:max(14px, env(safe-area-inset-left));bottom:max(14px, env(safe-area-inset-bottom));background:var(--panel);border:1px solid var(--edge);pointer-events:none;border-radius:18px;align-items:center;gap:14px;padding:10px 16px 10px 12px;display:flex;position:fixed;box-shadow:0 6px 22px #0000008c,0 0 26px #7d6ae426}#bottom[hidden]{display:none}#lanterns{gap:6px;display:flex}#lanterns i{background:radial-gradient(circle at 40% 35%,#4c4660,#1e1a2c 75%);border-radius:48% 48% 44% 44%/56% 56% 44% 44%;width:26px;height:24px;position:relative;box-shadow:inset 0 -3px #00000059,0 0 0 1px #00000080}#lanterns i:before{content:"";background:#3e3a2c;border-radius:2px;width:4px;height:7px;margin-left:-2px;position:absolute;top:-5px;left:50%}#lanterns i.lit{background:radial-gradient(circle at 42% 38%, #ffe08a, var(--season) 45%, var(--season-deep) 100%);box-shadow:inset 0 -3px 0 #00000040, 0 0 14px var(--season-glow), 0 0 0 1px #00000080;animation:.5s ease-out kindle}#lanterns i.lit:before{background:#5a7a30}#lanterns i.lit:after{content:"";opacity:.9;background:linear-gradient(135deg,#0000 45%,#5a1a00 46% 54%,#0000 55%) 0 0/6px 6px no-repeat,linear-gradient(225deg,#0000 45%,#5a1a00 46% 54%,#0000 55%) 100% 0/6px 6px no-repeat,radial-gradient(60% 40% at 50% 100%,#5a1a00 60%,#0000 62%) 50% 100%/100% 7px no-repeat;position:absolute;inset:7px 6px 5px}@keyframes kindle{30%{transform:scale(1.35)}}#clock{justify-items:start;line-height:1.1;display:grid}#clock .face{letter-spacing:.28em;text-transform:uppercase;color:var(--dim);font-size:10px;font-weight:600}#clock .time{font-variant-numeric:tabular-nums;color:var(--moon);text-shadow:0 0 10px #fff0c859;font-size:20px;font-weight:600}#clock.late .time{color:#ff8a8a;text-shadow:0 0 10px #ff5a5a66}#spook{right:max(16px, env(safe-area-inset-right));bottom:calc(max(14px, env(safe-area-inset-bottom)) + 44px);width:86px;height:86px;font-family:var(--display);letter-spacing:.06em;color:var(--frost);background:radial-gradient(circle at 40% 35%, var(--berry-2), #1c1840 72%);text-shadow:0 2px #000,0 0 12px #b9aeffcc;border:0;border-radius:50%;place-items:center;padding:0;font-size:22px;display:grid;position:fixed;box-shadow:0 8px 24px #0009,0 0 30px #7d6ae473,inset 0 2px #ffffff2e}#spook[hidden]{display:none}#spook svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}#spook circle{fill:none;stroke-width:6px}#spook .track{stroke:#ffffff14}#spook .ready{stroke:var(--bloom);stroke-linecap:round;stroke-dasharray:289;stroke-dashoffset:0;filter:drop-shadow(0 0 4px var(--bloom))}#spook span{position:relative}#spook:active{transform:scale(.94)}#spook.cooling{color:var(--dim)}@media (pointer:fine){#spook{width:72px;height:72px;font-size:18px}}#banner{white-space:pre-line;text-align:center;font-family:var(--display);letter-spacing:.06em;pointer-events:none;color:var(--moon);text-shadow:0 3px 0 #000, 0 0 22px #000000e6, 0 0 34px var(--season-glow);font-size:clamp(26px,5.5vw,48px);line-height:1.15;position:fixed;top:30%;left:50%;transform:translate(-50%,-50%)}#banner.big{font-size:clamp(34px,8vw,74px)}#banner.berry{color:var(--bloom);text-shadow:0 3px #000,0 0 22px #000000e6,0 0 34px #7d6ae4b3}#banner small{font-family:var(--font);letter-spacing:.04em;color:var(--frost);text-shadow:0 2px #000,0 0 12px #000;margin-top:10px;font-size:16px;font-weight:500;display:block}#banner.pop{animation:.4s cubic-bezier(.2,1.6,.4,1) pop}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.5)}}#pause{text-align:center;font-family:var(--display);letter-spacing:.08em;color:var(--bloom);text-shadow:0 3px #000,0 0 30px #7d6ae4b3;background:radial-gradient(70% 55%,#05040f66 0%,#05040fcc 75%,#05040feb 100%);place-content:center;font-size:64px;display:grid;position:fixed;inset:0}#pause[hidden]{display:none}#pause small{font-family:var(--font);letter-spacing:.1em;color:var(--dim);text-shadow:0 2px #000;margin-top:8px;font-size:15px;display:block}#title{pointer-events:none;text-align:center;background:radial-gradient(72% 58% at 50% 46%,#05040f00 0%,#05040f80 72%,#05040fdb 100%),linear-gradient(#05040f00 52%,#05040ff0 100%);flex-direction:column;justify-content:space-between;align-items:center;padding:max(4vh,22px) 16px max(3vh,18px);display:flex;position:fixed;inset:0}#title[hidden]{display:none}.crest{justify-items:center;display:grid}#title h1{font-family:var(--display);letter-spacing:.05em;margin:0;font-size:clamp(64px,15vw,168px);font-weight:400;line-height:.95}#title h1 .word{background:linear-gradient(180deg, var(--frost) 0%, var(--bloom) 22%, var(--juice) 48%, var(--berry) 72%, #2a2470 100%);color:#0000;filter:drop-shadow(0 3px #120e30)drop-shadow(0 7px #05040f)drop-shadow(0 0 30px #7d6ae4bf);will-change:transform;-webkit-background-clip:text;background-clip:text;padding:0 .08em;animation:4.2s ease-in-out infinite breathe;display:inline-block;position:relative}@keyframes breathe{50%{transform:translateY(-4px)}}.tag{letter-spacing:.5em;color:var(--dim);text-transform:lowercase;text-shadow:0 2px #000;margin:6px 0 0;font-size:15px;font-weight:500}#title .menu{pointer-events:auto;flex-direction:column;align-items:center;gap:14px;width:100%;display:flex}#title .go{align-items:center;gap:12px;display:flex}#choose,#picker header{display:none}#picker,#picker .sheet{display:contents}button{font:inherit;color:inherit;cursor:pointer}#start,#tally .go,#tally .again{font-family:var(--display);letter-spacing:.12em;color:#fff;background:radial-gradient(ellipse at 50% 20%, var(--juice), var(--berry-2) 45%, #241c70 100%);text-shadow:0 2px #1a1050,0 0 14px #dfe2ffb3;border:0;border-radius:999px;padding:10px 46px 12px;font-size:34px;position:relative;box-shadow:inset 0 2px #ffffff59,inset 0 -4px #0000004d,0 0 0 2px #b9aeff80,0 10px 24px #0009,0 0 40px #7d6ae48c}#start:after,#tally .go:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;will-change:opacity;animation:2.6s ease-in-out infinite glowpulse;position:absolute;inset:0;box-shadow:0 0 0 2px #b9aeffb3,0 0 60px #7d6ae4cc}#start:hover,#tally .go:hover,#tally .go:focus-visible,#tally .again:hover{filter:brightness(1.15)}#start:active,#tally .go:active,#tally .again:active{transform:translateY(2px)scale(.98)}@keyframes glowpulse{50%{opacity:1}}#nights{gap:8px;width:min(820px,100%);display:grid}#nights .month{grid-template-columns:96px repeat(4,minmax(0,1fr));align-items:stretch;gap:6px;display:grid}#nights .month>b{font-family:var(--display);letter-spacing:.04em;color:var(--season);text-shadow:0 2px 0 #000, 0 0 12px var(--season-glow);place-self:center end;padding-right:6px;font-size:22px;font-weight:400}#nights .month[data-season=halloween]{--season:#ff8a2a;--season-glow:#ff8a2a73}#nights .month[data-season=harvest]{--season:#f0a83c;--season-glow:#f0a83c73}#nights .month[data-season=winter]{--season:#9fdcff;--season-glow:#9fdcff80}.night{text-align:left;min-width:0;color:var(--ink);background:linear-gradient(#30285cd9,#161230e6);border:1px solid #b9aeff38;border-radius:12px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;padding:7px 10px;display:grid;box-shadow:inset 0 1px #ffffff14,0 3px 10px #00000080}.night .n{font-family:var(--display);color:var(--season);text-shadow:0 0 10px var(--season-glow);text-align:center;grid-row:span 2;min-width:1.1em;font-size:24px}.night .name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.night .moons{letter-spacing:.15em;color:#fff2c840;font-size:11px}.night .moons b{color:var(--moon);text-shadow:0 0 8px #fff2c8b3;font-weight:400}.night:hover:not(:disabled){background:linear-gradient(#463a82e6,#1e1840eb);border-color:#b9aeff80}.night:disabled{cursor:default;opacity:.38}#best{letter-spacing:.16em;color:var(--moon);text-shadow:0 2px #000;min-height:1em;margin:0;font-size:14px}.wisps{pointer-events:none;position:absolute;inset:0;overflow:hidden}.wisps i{background:var(--bloom);opacity:0;border-radius:50%;width:6px;height:6px;animation:11s linear infinite rise;position:absolute;bottom:-20px;box-shadow:0 0 10px 4px #7d6ae499}@keyframes rise{0%{opacity:0;transform:translate(0)scale(.6)}12%{opacity:.75}70%{opacity:.45}to{transform:translate(var(--drift,30px), -108vh) scale(1.1);opacity:0}}.wisps i:first-child{--drift:40px;animation-duration:12s;animation-delay:-.4s;left:8%}.wisps i:nth-child(2){--drift:-30px;animation-duration:9.5s;animation-delay:-3.1s;left:17%}.wisps i:nth-child(3){--drift:22px;animation-duration:13s;animation-delay:-6.6s;left:26%}.wisps i:nth-child(4){--drift:-44px;animation-duration:10.5s;animation-delay:-1.9s;left:35%}.wisps i:nth-child(5){--drift:14px;animation-duration:12.5s;animation-delay:-8.2s;left:44%}.wisps i:nth-child(6){--drift:-18px;animation-duration:9s;animation-delay:-4.7s;left:53%}.wisps i:nth-child(7){--drift:36px;animation-duration:14s;animation-delay:-10.1s;left:62%}.wisps i:nth-child(8){--drift:-26px;animation-duration:11s;animation-delay:-2.6s;left:71%}.wisps i:nth-child(9){--drift:20px;animation-duration:10s;animation-delay:-7.3s;left:80%}.wisps i:nth-child(10){--drift:-36px;animation-duration:12s;animation-delay:-5.5s;left:89%}.wisps i:nth-child(11){--drift:10px;animation-duration:15s;animation-delay:-9.4s;left:13%}.wisps i:nth-child(12){--drift:-12px;animation-duration:13.5s;animation-delay:-11.8s;left:48%}.wisps i:nth-child(13){--drift:28px;animation-duration:16s;animation-delay:-12.9s;left:75%}.wisps i:nth-child(14){--drift:-40px;animation-duration:10.8s;animation-delay:-.9s;left:94%}.help{color:var(--dim);flex-wrap:wrap;justify-content:center;gap:4px 18px;max-width:780px;margin:0;font-size:12.5px;display:flex}kbd{font:inherit;color:var(--ink);background:#ffffff0a;border:1px solid #b9aeff59;border-radius:6px;margin:0 1px;padding:1px 6px;font-size:11px}#tally{background:radial-gradient(60% 55%,#140e3266 0%,#05040fc7 75%,#05040feb 100%);place-items:center;padding:16px;display:grid;position:fixed;inset:0}#tally[hidden]{display:none}#tally .card{text-align:center;background:radial-gradient(80% 45% at 50% 0,#7d6ae438,#0000 70%),linear-gradient(#2a2256f7,#0e0b22fa);border:1px solid #b9aeff66;border-radius:24px;width:min(440px,100%);padding:22px 28px 24px;animation:.45s cubic-bezier(.2,1.5,.4,1) slam;box-shadow:0 18px 50px #000000bf,0 0 70px #7d6ae44d,inset 0 1px #ffffff1a}@keyframes slam{0%{opacity:0;transform:scale(.8)translateY(20px)}}#tally .month{letter-spacing:.3em;text-transform:uppercase;color:var(--season);margin:0;font-size:12px;font-weight:600}#tally h2{font-family:var(--display);letter-spacing:.04em;color:var(--frost);text-shadow:0 3px #000,0 0 24px #7d6ae4cc;margin:2px 0 6px;font-size:44px;font-weight:400}#tally .moons{justify-content:center;gap:14px;margin:6px 0 14px;display:flex}#tally .moons i{background:radial-gradient(circle at 38% 34%,#3a3456,#1a1630 70%);border-radius:50%;width:46px;height:46px;box-shadow:inset -8px -6px #00000040,0 0 0 1px #ffffff0f}#tally .moons i.won{background:radial-gradient(circle at 38% 34%, #fffdf0, var(--moon) 55%, #d8cc9c 100%);animation:.5s cubic-bezier(.2,1.6,.4,1) backwards rise-moon;box-shadow:inset -8px -6px #a08c5a59,0 0 22px #fff2c8b3}#tally .moons i.won:nth-child(2){animation-delay:.25s}#tally .moons i.won:nth-child(3){animation-delay:.5s}@keyframes rise-moon{0%{opacity:0;transform:scale(.2)translateY(12px)}}#tally dl{background:#0000004d;border-radius:14px;gap:6px;margin:0 0 12px;padding:10px 14px;display:grid}#tally .row{justify-content:space-between;align-items:baseline;font-size:15px;display:flex}#tally dt{color:var(--dim);letter-spacing:.16em;text-transform:uppercase;font-size:12px;font-weight:600}#tally dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}#tally dd small{color:var(--dim);font-weight:400}#tally .row.met dd{color:var(--moon)}#tally .note{color:var(--dim);min-height:1.2em;margin:0 0 16px;font-size:14px}#tally .buttons{justify-content:center;gap:10px;display:flex}#tally .go{padding:8px 34px 10px;font-size:26px}#tally .again{background:radial-gradient(at 50% 20%,#4a4470,#24204a 60%,#15122e 100%);padding:8px 22px 10px;font-size:22px;box-shadow:inset 0 2px #fff3,inset 0 -4px #0000004d,0 0 0 2px #b9aeff4d,0 10px 24px #0009}#mute{right:max(14px, env(safe-area-inset-right));bottom:max(12px, env(safe-area-inset-bottom));letter-spacing:.2em;text-transform:uppercase;color:var(--dim);background:#14102cd9;border:1px solid #b9aeff4d;border-radius:999px;padding:6px 12px;font-size:11px;font-weight:600;position:fixed}#mute[aria-pressed=true]{color:#ff9a9a}#mute svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px;display:none}#mute .speaker{fill:currentColor}#mute .cross,#mute[aria-pressed=true] .waves{display:none}#mute[aria-pressed=true] .cross{display:inline}#lang{top:max(12px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));letter-spacing:.08em;color:var(--dim);background:#14102c99;border:1px solid #b9aeff4d;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600;position:fixed}#lang[hidden],.picking #lang{display:none}#lang:hover,#lang:focus-visible{color:var(--frost);border-color:#b9aeff99}#lang .short{display:none}#lang span:lang(ja){font-family:Fredoka,Zen Maru Gothic,Hiragino Maru Gothic ProN,sans-serif}:lang(ja) .tag{letter-spacing:.3em}:lang(ja) #title h1{letter-spacing:.02em}:lang(ja) .label,:lang(ja) #clock .face,:lang(ja) #tally .month,:lang(ja) #tally dt,:lang(ja) #mute,:lang(ja) #choose,:lang(ja) #best{letter-spacing:.08em}:lang(ja) #start,:lang(ja) #tally .go,:lang(ja) #tally .again{letter-spacing:.04em}#error{white-space:pre-wrap;text-align:center;font:15px/1.6 var(--font);color:#ffb0c0;place-content:center;margin:0;padding:24px;display:grid;position:fixed;inset:0}#error[hidden]{display:none}@media (pointer:coarse){.help .keys{display:none}}@media (pointer:fine){.help .touch{display:none}}@media (max-width:700px),(max-height:520px){#title{padding:max(4vh, 18px, env(safe-area-inset-top)) 16px max(4vh, 18px, env(safe-area-inset-bottom))}#title h1{font-size:clamp(56px,17vw,96px)}.tag{letter-spacing:.42em;font-size:13px}#title .help{display:none}#title .go{flex-direction:column;gap:6px}#start{padding:10px 52px 12px;font-size:30px}#choose{letter-spacing:.2em;color:var(--dim);text-shadow:0 2px #000;background:0 0;border:0;padding:8px 14px;font-size:14px;font-weight:500;display:block}#choose:after{content:" ›"}#choose[aria-expanded=true]{color:var(--frost)}.wisps i:nth-child(odd){display:none}.titled #mute{top:max(12px, env(safe-area-inset-top));background:#14102c99;place-items:center;width:38px;height:38px;padding:0;display:grid;bottom:auto}.titled #mute svg{display:block}#lang{letter-spacing:0;place-items:center;width:38px;height:38px;padding:0;font-size:14px;display:grid}#lang[hidden],#lang .long{display:none}#lang .short{display:inline}.titled #mute .word{display:none}#picker{z-index:5;background:#05040f9e;justify-content:center;align-items:flex-end;animation:.2s ease-out dim;display:none;position:fixed;inset:0}#picker.open{display:flex}.picking #mute{visibility:hidden}#picker .sheet{touch-action:pan-y;width:min(560px,100%);max-height:min(82vh,100%);padding:14px 14px max(16px, env(safe-area-inset-bottom));background:linear-gradient(#2a2256fa,#0e0b22fc);border:1px solid #b9aeff59;border-bottom:0;border-radius:22px 22px 0 0;flex-direction:column;gap:10px;animation:.28s cubic-bezier(.2,1.2,.4,1) sheet;display:flex;overflow-y:auto;box-shadow:0 -12px 40px #000000b3,0 0 50px #7d6ae440}#picker header{justify-content:space-between;align-items:center;padding:0 2px 2px;display:flex}#picker header b{font-family:var(--display);letter-spacing:.05em;color:var(--frost);font-size:24px;font-weight:400}#picker .close{width:36px;height:36px;color:var(--dim);background:#ffffff0f;border:0;border-radius:50%;padding:0;font-size:24px;line-height:1}#picker #nights{width:100%}#picker #best{text-align:center}@keyframes sheet{0%{opacity:0;transform:translateY(40px)}}@keyframes dim{0%{opacity:0}}}@media (max-height:520px){#title{padding-top:max(10px, env(safe-area-inset-top));padding-bottom:max(10px, env(safe-area-inset-bottom))}#title h1{font-size:clamp(40px,15vh,80px)}.tag{margin-top:0;font-size:11px}#title .go{gap:2px}#start{padding:7px 40px 9px;font-size:24px}#choose{padding:4px 14px;font-size:12px}.titled #mute{right:max(14px, env(safe-area-inset-right))}#picker .sheet{gap:6px;width:min(820px,100%);max-height:94vh;padding-top:10px}#nights{gap:6px}#nights .month{grid-template-columns:86px repeat(4,minmax(0,1fr))}#nights .month>b{grid-column:auto;justify-self:end}}@media (prefers-reduced-motion:reduce){.wisps{display:none}#title h1 .word,#start:after,#tally .go:after{animation:none}}@media (max-width:700px){#top{padding-right:max(120px, calc(env(safe-area-inset-right) + 112px));grid-template-columns:1fr auto}#night{font-size:13px}#candy{font-size:34px}#map{border-radius:10px;max-width:104px;max-height:104px;padding:5px}#nights .month{grid-template-columns:repeat(2,minmax(0,1fr))}#nights .month>b{grid-column:1/-1;justify-self:start;font-size:18px}#bottom{gap:10px;padding:8px 12px 8px 10px}#lanterns i{width:20px;height:18px}#clock .time{font-size:16px}}
