:root{--ink:#2b2440;--paper:#fffdf7;--sun:#ffcd4a;--coral:#ff7a59;--sky:#7cc8f2;--soft:#5e5873;--line:3px solid var(--ink);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:#cdeefc;margin:0;font:18px/1.4 ui-rounded,SF Pro Rounded,Arial Rounded MT Bold,Nunito,system-ui,-apple-system,Segoe UI,sans-serif}#app{height:100%}button{font:inherit;color:var(--ink);cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:4px solid #2f80ed}h1,h2,h3{margin:0;line-height:1.12}.big,.ghost,.pill,.tile,.chip,.placebtn{border:var(--line);box-shadow:0 4px 0 var(--ink);background:#fff;border-radius:18px;font-weight:800;transition:transform 80ms,box-shadow 80ms}.big:active,.ghost:active,.pill:active,.tile:active,.chip:active,.placebtn:active{box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.big{background:var(--sun);min-height:62px;padding:14px 44px;font-size:clamp(22px,3vw,28px)}.ghost{white-space:nowrap;min-height:50px;padding:10px 20px;font-size:18px}.link{text-underline-offset:3px;color:var(--soft);background:0 0;border:0;padding:6px 4px;font-weight:700;text-decoration:underline}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;display:flex}.screen{min-height:100%;padding:calc(16px + env(safe-area-inset-top)) 16px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(#9fd8f6,#e4f6ff);flex-direction:column;justify-content:center;align-items:center;display:flex;overflow-y:auto}#title,#end{justify-content:flex-start;height:100%}.poster{aspect-ratio:16/8;flex:none;width:min(100%,760px);margin-top:clamp(0px,3vh,30px)}.art{width:100%;height:100%;font-family:inherit;display:block}.poster .art{border:var(--line);border-radius:24px;box-shadow:0 6px #2b24402e}.card{text-align:center;background:var(--paper);border:var(--line);border-radius:26px;width:min(100%,640px);margin-top:18px;padding:clamp(18px,3vw,30px);box-shadow:0 6px #2b24402e}.card h1{letter-spacing:-.01em;font-size:clamp(34px,6vw,56px)}.tag{margin:10px 0 20px;font-size:clamp(19px,2.4vw,23px)}.ages{color:var(--soft);margin:16px 0 4px}.links{color:var(--soft);margin:6px 0 0}#end-lines p{margin:14px 0 0;font-size:clamp(18px,2.2vw,21px)}.tomorrow{background:#fff1c2;border:2px dashed #e0a520;border-radius:16px;margin:18px 0 20px;padding:12px 16px;font-weight:800}.madeby{margin:18px 0 0}.madeby a{color:var(--soft);font-weight:700}#maker{justify-content:flex-start}.mapwrap{width:min(100%,640px)}.maphead{align-items:center;gap:14px;display:flex}.maphead h2{font-size:clamp(26px,4vw,36px)}.mapnote{margin:12px 2px 16px;font-size:18px}.ormake{margin:14px 0 0}#trip{background:var(--paper);grid-template-rows:auto minmax(180px,1fr) auto;height:100%;display:grid}#bar{background:var(--paper);border-bottom:var(--line);padding:calc(8px + env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));align-items:center;gap:10px;display:flex}.pill{min-height:44px;box-shadow:0 3px 0 var(--ink);white-space:nowrap;border-radius:99px;padding:6px 14px;font-size:16px}#where{flex-direction:column;flex:1;align-items:center;min-width:0;line-height:1.15;display:flex}#place-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(16px,2.2vw,20px);overflow:hidden}#dots{letter-spacing:4px;color:var(--soft);font-size:13px}#star-count{white-space:nowrap;font-weight:800}#stage{background:#d9f1ff;min-height:0;position:relative;overflow:hidden}#stage .art{position:absolute;inset:0}.art.grey{filter:grayscale(.9)brightness(1.03)}.art{transition:filter .8s}#panel{background:var(--paper);border-top:var(--line);padding:14px max(14px, env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));min-height:230px}.inner{width:min(100%,760px);margin:0 auto}.note{text-align:center;margin:0 0 10px;font-size:clamp(17px,2.2vw,21px);font-weight:600}.note.first{color:#2f6fd1;font-weight:800}.prompt{color:var(--soft);text-align:center;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:15px;font-weight:800}.hint{text-align:center;color:var(--soft);margin:4px 0 0;font-size:clamp(17px,2.2vw,20px)}.choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.tile{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:92px;padding:10px 6px;font-size:clamp(15px,1.9vw,18px);line-height:1.15;display:flex}.tile .i{font-size:clamp(28px,3.4vw,34px);line-height:1}.tile kbd{font:inherit;color:var(--soft);font-size:12px;display:none}@media (hover:hover) and (pointer:fine){.tile kbd{display:block}}.one{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.chips{gap:10px;display:grid}.chip{background:#fff7d6;min-height:54px;padding:12px 16px;font-size:clamp(17px,2.1vw,20px)}.arrived h2{text-align:center;margin:0 0 8px;font-size:clamp(24px,3.4vw,32px)}.arrived p{text-align:center;margin:0 0 10px;font-size:clamp(17px,2.1vw,20px)}.arrived .real{background:#eef8ff;border-radius:14px;padding:10px 14px;font-weight:700}#bubble{z-index:2;border:var(--line);font-weight:800;font-size:var(--fs,22px);text-align:center;background:#fff;border-radius:22px;width:max-content;max-width:460px;padding:12px 18px;line-height:1.2;animation:.25s ease-out pop;position:absolute;box-shadow:0 5px #2b244038}#bubble:after,#bubble:before{content:"";left:var(--tail,30px);border:12px solid #0000;width:0;height:0;position:absolute}#bubble:before{border-top:15px solid var(--ink);margin-left:-12px;bottom:-27px}#bubble:after{border-top:13px solid var(--bub,#fff);margin-left:-12px;bottom:-20px}#bubble.top:before,#bubble.top:after,#bubble.you:before,#bubble.you:after{display:none}#bubble.shout{animation:.25s ease-out pop,.5s ease-in-out .25s 2 shake}#bubble.squeaky{--bub:#fff0fa;font-size:calc(var(--fs,22px) * .85);background:#fff0fa;font-weight:700}#bubble.squeaky .w{white-space:nowrap;display:inline-block}#bubble.squeaky .w span{animation:.5s ease-in-out infinite alternate squeak;display:inline-block}#bubble.giant{--bub:#eef2ff;letter-spacing:.14em;background:#eef2ff;font-weight:600}#bubble.calm{--bub:#f2fff0;background:#f2fff0;border-style:dashed;font-weight:700}#bubble.you{background:#fff1c2;font-weight:800}#bubble .who{letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-bottom:2px;font-size:13px;font-weight:800;display:block}#mumble{z-index:1;border:2px solid var(--ink);color:var(--soft);opacity:0;white-space:nowrap;pointer-events:none;background:#fff;border-radius:12px;padding:3px 9px;font-size:13px;font-weight:700;transition:opacity .4s;position:absolute;transform:translate(-50%,-100%)}#mumble.on{opacity:1}#praise{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.praise{white-space:nowrap;border:2.5px solid var(--ink);background:#fff;border-radius:99px;padding:3px 12px;font-size:17px;font-weight:800;animation:1.3s ease-out forwards rise;position:absolute;transform:translate(-50%,-50%)}.praise.streak{background:#fff1c2;font-size:20px}.praise.super{background:#ffd6e7;padding:5px 16px;font-size:22px}@keyframes rise{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.08)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-190%)scale(1)}}#star-count{display:inline-block}#star-count.bump{animation:.35s ease-out bump}@keyframes bump{40%{transform:scale(1.35)}}.starsline{color:#b07800;font-weight:800}.endstars{color:#b07800;margin:14px 0 0;font-size:19px;font-weight:800}#bubble .zzz{letter-spacing:.3em;color:var(--soft);font-size:15px;animation:2s ease-in-out infinite zzz;display:block}@keyframes zzz{0%,to{opacity:.5;transform:translate(0)}50%{opacity:1;transform:translate(8px,-4px)}}.makercard{background:var(--paper);border:var(--line);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);align-items:center;gap:14px;padding:12px;display:grid}.makerart{aspect-ratio:160/176;background:linear-gradient(#bfe6fb,#eaf7ff);border-radius:16px;width:100%;height:auto}.label{margin:14px 0 8px;font-size:18px;font-weight:800;display:block}.makerbits .label:first-child{margin-top:0}.swatches{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.swatch{aspect-ratio:1;background:#fff;border:2.5px solid #d8d4e2;border-radius:12px;padding:2px}.swatch svg{width:100%;height:100%;display:block}.swatch.on{border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}.dots{grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;max-width:360px;display:grid}.dot{aspect-ratio:1;border:3px solid #fff;border-radius:50%;width:100%;padding:0;box-shadow:0 0 0 2px #d8d4e2}.dot.on{box-shadow:0 0 0 3px var(--ink)}#maker-line{width:100%;font:inherit;border:var(--line);color:var(--ink);background:#fff;border-radius:14px;padding:12px 14px;font-size:20px;font-weight:700}.ideas{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.chip.small{min-height:0;box-shadow:0 2px 0 var(--ink);padding:7px 12px;font-size:15px}#maker-go{width:100%;margin-top:8px}#maker-go:disabled{color:var(--soft);box-shadow:none;cursor:default;background:#ece9f2;font-size:20px;transform:none}.mapnote.small{color:var(--soft);font-size:15px}@media (width<=480px){.makercard{grid-template-columns:1fr}.makerart{max-height:190px}}.overlay{z-index:10;background:#2b24408c;place-items:center;padding:16px;display:grid;position:fixed;inset:0;overflow-y:auto}.sheet{background:var(--paper);border:var(--line);text-align:left;border-radius:24px;width:min(100%,640px);padding:clamp(18px,3vw,30px)}.sheet h2{margin-bottom:10px;font-size:clamp(26px,3.6vw,34px)}.sheet h3{margin:18px 0 6px;font-size:20px}.sheet p,.sheet li{font-size:18px}.sheet p{margin:10px 0}.sheet ol{margin:6px 0 0;padding-left:24px}.sheet li{margin:6px 0}.sheet .care{background:#fff1e8;border-radius:12px;padding:10px 14px}.sheet .small{color:var(--soft);font-size:16px}.sheet .big{margin-top:14px}.bob{animation:1.7s ease-in-out infinite bob}.wave{transform-box:fill-box;transform-origin:0 100%;animation:.9s ease-in-out infinite alternate wave}.jelly{transform-box:fill-box;transform-origin:50% 100%;animation:.7s ease-in-out infinite jelly}.flutter{transform-box:fill-box;transform-origin:50%;animation:.35s ease-in-out infinite alternate flutter}.flutter.late{animation-delay:-.2s}.sun .yawning,.sun.yawn .awake{display:none}.sun.yawn .yawning{display:inline}@keyframes bob{50%{transform:translateY(-7px)}}@keyframes wave{0%{transform:rotate(-14deg)}to{transform:rotate(16deg)}}@keyframes jelly{0%,to{transform:skew(0)scaleY(1)}25%{transform:skew(5deg)scaleY(.97)}75%{transform:skew(-5deg)scaleY(1.03)}}@keyframes flutter{0%{transform:scaleX(1)translateY(0)}to{transform:scaleX(.55)translateY(-3px)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes shake{25%{transform:translate(-4px)rotate(-1deg)}75%{transform:translate(4px)rotate(1deg)}}@keyframes squeak{0%{transform:translateY(1px)}to{transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.bob,.wave,.jelly,.flutter,#bubble,#bubble.shout,#bubble.squeaky .w span,.praise,#star-count.bump,#bubble .zzz{animation:none!important}.art{transition:none}}@media (width<=480px){#panel{min-height:300px}.poster{aspect-ratio:4/3}.tile{min-height:86px;padding:8px 4px}.big{padding:12px 34px}}@media (height<=520px) and (orientation:landscape){#panel{min-height:0;padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}.tile{flex-direction:row;gap:8px;min-height:64px}.tile .i{font-size:24px}.poster{aspect-ratio:16/6}}.sun .craters,.nightstars,.vehicle .deco{display:none}.sun .craters{fill:#d9cfa0;opacity:.7}.nightstars{fill:#fff7d6}.twinkle{animation:3s ease-in-out infinite twinkle}@keyframes twinkle{50%{opacity:.25}}.bat{transform-box:fill-box;transform-origin:50%;animation:.28s ease-in-out infinite alternate batflap}@keyframes batflap{to{transform:scaleY(.45)}}.flap{transform-box:fill-box;transform-origin:100% 40%;animation:.6s ease-in-out infinite alternate wingflap}@keyframes wingflap{to{transform:rotate(-12deg)}}:root[data-theme=halloween]{--sun:#ff9a3c}[data-theme=halloween] .sun .rays{display:none}[data-theme=halloween] .sun .disc{fill:#fdf2c4;stroke:#d9c98a}[data-theme=halloween] .sun .craters,[data-theme=halloween] .nightstars,[data-theme=halloween] .vehicle .deco{display:inline}[data-theme=halloween] .clouds{fill:#241b3a;opacity:.9}[data-theme=halloween] body,[data-theme=halloween] .screen{background:linear-gradient(#1f1638,#4a2a63)}[data-theme=halloween] #stage{background:#241a45}[data-theme=halloween] .makerart{background:linear-gradient(#2b1f4d,#6a3d6e)}[data-theme=halloween] .maphead h2,[data-theme=halloween] #maker .label,[data-theme=halloween] #maker .mapnote{color:#fff7e8}[data-theme=halloween] #maker .mapnote.small{color:#e6dcf5}[data-theme=halloween] #maker .makerbits .label{color:var(--ink)}.seasonbadge{color:#ffd08a;background:#2b2440;border-radius:99px;margin:0 0 10px;padding:5px 16px;font-size:17px;font-weight:800;display:inline-block}.seasonend{color:#c2540a;margin:10px 0 0;font-size:clamp(18px,2.2vw,21px);font-weight:800}.madeby a{margin-top:4px;display:inline-block}@media (prefers-reduced-motion:reduce){.twinkle,.bat,.flap{animation:none!important}}
