:root{--sky:#7cb8c8;--panel:#fbf3dc;--panel-2:#f1e3bf;--panel-fg:#2b1c12;--muted:#6b5440;--frame:#9a6334;--frame-dk:#5e3a1c;--ink:#2b1c12;--accent:#3f7d3a;--accent-fg:#fbf3dc;--gold:#e0a43a;--page:#f6edd3;--page-fg:#2b1c12;--page-line:#dccaa0;--f-display:var(--font-geist-pixel-square),ui-monospace,monospace;--f-body:var(--font-geist-pixel-square),ui-monospace,monospace;--f-label:var(--font-geist-pixel-square),ui-monospace,monospace}:root[data-theme=dark]{--sky:#1b2440;--panel:#ecdfbd;--panel-2:#dfcd9f;--panel-fg:#2b1c12;--muted:#5e4934;--frame:#7d4f29;--frame-dk:#3f2712;--ink:#140d08;--accent:#4f9a48;--accent-fg:#fbf3dc;--gold:#f2c35a;--page:#161b2b;--page-fg:#ece2c8;--page-line:#33395a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{margin:0}body{background:var(--sky);color:var(--panel-fg);font-family:var(--f-body);font-synthesis:weight}*{box-sizing:border-box}.village{height:100dvh;overflow:hidden}body.on-case{background:var(--page)}img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.topbar{z-index:20;padding:calc(env(safe-area-inset-top,0px) + 10px) 16px 10px;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;inset:0 0 auto}.logo{font-family:var(--f-display);color:var(--panel);text-shadow:2px 2px 0 var(--ink);letter-spacing:.02em;font-size:20px;font-weight:700;text-decoration:none}.nav{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.plate{font-family:var(--f-body);cursor:pointer;color:#141414;white-space:nowrap;background:#fff;border:2px solid #333;align-items:center;gap:6px;padding:12px 13px;font-size:16px;line-height:1.25;text-decoration:none;transition:transform .12s,box-shadow .12s;display:inline-flex;box-shadow:3px 3px #333}.plate:hover{transform:translate(-1px,-1px);box-shadow:4px 4px #333}.plate:active{transform:translate(2px,2px);box-shadow:1px 1px #333}.plate img{width:18px;height:18px}.nav .plate{padding:8px 10px;font-size:13px}.nav .plate img{width:16px;height:16px}#themeBtn{padding:7px}#themeBtn img{width:20px;height:20px}.topbar .bar{align-items:center;gap:6px;display:flex}.burger{padding:7px;display:none}.burger svg{fill:none;stroke:currentColor;stroke-width:2.4px;width:20px;height:20px}.stage{height:100%;position:relative;overflow:hidden;container-type:size}.world{scrollbar-width:none;overscroll-behavior-x:contain;outline:none;height:100%;position:relative;overflow:hidden}.world::-webkit-scrollbar{display:none}.track{isolation:isolate;align-items:flex-end;width:max-content;height:100%;padding:0 12cqh 21cqh 70cqh;display:flex;position:relative}.track:before{content:"";z-index:-1;pointer-events:none;background:var(--path) repeat-x left bottom/auto 100%;position:absolute;inset:0}.scenery{pointer-events:none;position:absolute;inset:0}.layer{pointer-events:none;will-change:transform;background-position:0 100%;background-repeat:repeat-x;background-size:auto 100%;width:calc(100% + 300cqh);position:absolute;inset:0 auto 0 0}.layer.sky{will-change:auto;width:100%}.tint{opacity:0;pointer-events:none;background:#0f2f58;position:absolute;inset:0}:root[data-theme=dark] .tint{opacity:.7}.clouds .drift{animation:360s linear infinite drift;position:absolute;inset:0}.clouds img{width:auto;position:absolute}@keyframes drift{to{transform:translate(-300cqh)}}.layer.fg{z-index:11}.slot{height:100%;padding-top:calc(env(safe-area-inset-top,0px) + 70px);flex:none;align-items:flex-end;gap:4cqh;display:flex;position:relative}.slot+.slot{margin-left:8cqh}.prop{pointer-events:none;flex:none;align-self:flex-end}.eyebrow{font-family:var(--f-label);letter-spacing:.04em;color:var(--accent);margin:0 0 8px;font-size:11px}h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;font-weight:700;line-height:1.08}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag{font-family:var(--f-label);letter-spacing:.02em;background:var(--panel-2);border:2px solid var(--frame-dk);padding:4px 6px;font-size:10px}.art{flex:none;position:relative}.art>img{width:auto;height:100%}.signtext{text-align:center;color:#26292f;font-family:var(--f-display);pointer-events:none;place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;container-type:size}.signtext b{font-size:min(55cqh,15cqw);font-weight:400;translate:0 3.1cqh}.signtext small{font-family:var(--f-label);letter-spacing:.1em;margin-top:4cqh;font-size:min(20cqh,6.2cqw);font-weight:400;display:block}.post{align-self:flex-end;height:34cqh}.post .signtext{width:74%;height:21.3%;top:27%;left:10%}.street{height:94.5cqh;margin-bottom:-21cqh;padding:0}.street>*{position:absolute}.street img{width:auto}.fence{z-index:-1;pointer-events:none;background-position:0 0;background-repeat:repeat-x;background-size:auto 100%}.fence-post,.flowers,.tree{pointer-events:none}.fence-post.back{z-index:-1}.sign{cursor:pointer;box-sizing:border-box;border-style:solid;border-image-slice:0 88 fill;border-image-repeat:stretch}.sign span{pointer-events:none;place-items:center;height:44%;display:grid;position:absolute;inset:23.5% -4% auto}.sign b{font-family:var(--f-display);text-align:center;white-space:nowrap;color:#26292f;font-size:2.3cqh;font-weight:400;line-height:1}.shop{cursor:pointer;background:0 0;border:0;padding:0}.shop img{height:100%}.shop:hover img{filter:brightness(1.06)}.shop:focus-visible{outline-offset:-6px}.house{cursor:pointer;background:0 0;border:0;padding:0}.house img{width:auto;height:100%}.house:hover img{filter:brightness(1.06)}.house:focus-visible{outline-offset:-6px}.mailbox{aspect-ratio:456/720;cursor:pointer;height:30cqh;display:block;position:relative}.mailbox img{position:absolute;bottom:0;left:50%;translate:-50%}.mailbox .open{opacity:0}.mailbox:hover .open,.mailbox:focus-visible .open{opacity:1}.mailbox:hover .closed,.mailbox:focus-visible .closed{opacity:0}.veil{z-index:15;background:var(--sky);opacity:0;pointer-events:none;transition:opacity .2s;position:absolute;inset:0}.veil.on{opacity:1}.walker{pointer-events:none;z-index:10;height:32cqh;position:absolute;inset:auto 0 0}.hero-walker{pointer-events:auto;cursor:grab;touch-action:none;background:0 0;border:0;width:19cqh;height:19cqh;padding:0;position:absolute;bottom:15cqh}.hero-walker:active{cursor:grabbing}.hero-walker img{object-fit:contain;object-position:bottom;width:100%;height:100%;position:relative}.shadow{background:#140d0847;border-radius:50%;width:40%;height:6%;position:absolute;bottom:0;left:35%}.hero-walker[data-face=l] .shadow{left:25%}.hero-walker[data-face=f] .shadow{left:32%}.room{z-index:30;background:#d9a26a;position:fixed;inset:0;overflow:hidden}.room-stage{aspect-ratio:2400/1351;width:max(100vw,177.646dvh);position:absolute;top:50%;left:50%;overflow:hidden;translate:-50% -50%}.room-art{width:100%;height:100%;position:relative}.window-cloud{animation:cloud-drift var(--drift,80s) linear var(--drift-at,0s) infinite}@keyframes cloud-drift{0%{left:47%}to{left:18%}}.room-back{left:16px;top:calc(env(safe-area-inset-top,0px) + 16px);z-index:2;position:fixed}.room-bar{display:contents}.room-map{display:none}.thing{cursor:pointer;background:0 0;border:0;padding:0;line-height:0;position:absolute}.thing.scenery{pointer-events:none}.thing img{width:100%;height:auto}.thing:hover img{filter:brightness(1.07)}.thing[aria-expanded=true] img{filter:brightness(1.12)drop-shadow(0 0 2px #ffffffe6)}.thing:focus-visible{outline-offset:2px}.sheet-wrap{z-index:3;background:#140d0861;place-items:center;padding:16px;animation:.2s both sheet-in;display:grid;position:fixed;inset:0}.sheet{background:0 0;border:20px solid #0000;border-width:30px 20px 26px;border-image:url(/img/studio/letter-edge.webp) 110 70 90 fill;outline:none;flex-direction:column;width:min(860px,100%);max-height:min(84dvh,820px);padding:30px;animation:.26s cubic-bezier(.2,.7,.3,1) both sheet-rise;display:flex;position:relative}@keyframes sheet-in{0%{opacity:0}}@keyframes sheet-rise{0%{opacity:0;transform:translateY(14px)}}.sheet:after{content:"";aspect-ratio:220/236;pointer-events:none;opacity:.85;z-index:0;background:url(/img/studio/paper-leaf.webp) 50%/contain no-repeat;width:66px;position:absolute;bottom:0;right:4px}.sheet-top{flex:none;justify-content:space-between;align-items:center;gap:16px;padding:4px 4px 10px;display:flex}.sheet-top h2,.sheet-about h2{color:var(--ink);font-size:24px;font-weight:700;line-height:1.2;font-family:var(--f-display);margin:0}.sheet-x{cursor:pointer;width:36px;height:36px;color:var(--ink);opacity:.65;background:0 0;border:0;flex:none;place-items:center;margin:-4px -4px 0 0;padding:0;transition:opacity .12s;display:grid}.sheet-x:hover{opacity:1}.sheet-x svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:20px;height:20px}.sheet-body{z-index:1;overscroll-behavior:contain;scrollbar-width:none;min-height:0;color:var(--muted);padding:0 4px 22px;font-size:16px;line-height:1.6;position:relative;overflow-y:auto}.sheet-body::-webkit-scrollbar{display:none}.sheet-body p{margin:0 0 14px}.sheet-body p:last-child{margin-bottom:0}.sheet-body h3{color:var(--ink);font-size:18px;font-weight:500;line-height:1.3;font-family:var(--f-display);margin:0 0 6px}.sheet-body a{color:var(--ink)}.sheet-about{grid-template-columns:240px minmax(0,1fr);align-items:center;gap:48px;display:grid}.sheet-about img{width:100%;height:auto}.sheet-about h2{margin-bottom:12px}.sheet-top.bare{z-index:2;justify-content:flex-end;height:0;padding:0;position:relative}@media (max-width:560px){.sheet-about{grid-template-columns:minmax(0,1fr);gap:16px}.sheet-about img{justify-self:center;width:160px}}.sheet-guide{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 28px;margin:20px 0 0;padding:0;list-style:none;display:grid}.sheet-guide li{align-items:center;gap:16px;display:flex}.sheet-guide-pic{flex:none;place-items:center;width:72px;height:72px;display:grid}.sheet-guide-pic img{width:auto;max-width:100%;height:auto;max-height:100%}.sheet-guide b{color:var(--ink);font-weight:700;display:block}.sheet-body .sheet-guide-out{margin-top:20px;font-size:14px}.sheet-guide-go{justify-content:flex-end;margin-top:8px;display:flex}@media (max-width:560px){.sheet-guide{grid-template-columns:minmax(0,1fr)}}.sheet-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.sheet-chips li{color:var(--ink);align-items:center;gap:12px;padding:6px 0;font-size:16px;display:flex}.sheet-chips img{flex:none;width:48px;height:48px}@media (max-width:560px){.sheet-chips{grid-template-columns:minmax(0,1fr)}}.sheet-tools{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:48px 16px;margin:16px 0 0;padding:0;list-style:none;display:grid}.sheet-tools li{text-align:left;color:var(--ink);flex-direction:column;align-items:flex-start;gap:8px;font-size:16px;display:flex}.sheet-tools img{object-fit:contain;width:60px;height:60px}.sheet-run{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sheet-run>*+*{border-top:1px solid var(--page-line);margin-top:24px;padding-top:24px}.sheet-run>li>ul{margin:8px 0 0;padding-left:20px}.sheet-run>li>ul li{margin-top:4px}.sheet-when{color:var(--muted);margin:0 0 4px;font-size:14px}.sheet-run blockquote{margin:0}.sheet-run>blockquote+blockquote{margin-top:40px;padding-top:40px}.sheet-run blockquote footer{color:var(--ink);margin-top:10px;font-size:14px}.sheet-run blockquote footer span{color:var(--muted);display:block}.sheet-links{flex-wrap:wrap;gap:10px;margin:16px 0 0;padding:0;list-style:none;display:flex}@media (max-width:560px){.sheet{border-width:22px 15px 19px}.sheet-top h2,.sheet-about h2{font-size:20px}}@media (max-aspect-ratio:3/4){.room{overscroll-behavior-x:contain;overflow:auto hidden}.room-stage{width:auto;height:100%;position:relative;top:auto;left:auto;translate:none}.room-bar{z-index:2;left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 16px);pointer-events:none;justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:fixed}.room-bar>*{pointer-events:auto}.room-back{position:static}.room-map{aspect-ratio:2400/1351;touch-action:none;cursor:grab;background:#d9a26a;border:2px solid #333;flex:0 240px;min-width:0;display:block;position:relative;overflow:hidden;box-shadow:3px 3px #333}.room-map:active{cursor:grabbing}.room-map img{pointer-events:none;height:auto;position:absolute}.room-map-view{outline-offset:-3px;pointer-events:none;background:#ffffff2e;border:2px solid #fff;outline:1px solid #333;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #333}}.pct{z-index:12;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 6px);font-family:var(--f-label);letter-spacing:.08em;color:#fbf3dc;text-shadow:1px 1px #2b1c12;font-variant-numeric:tabular-nums;font-size:10px;position:absolute}.music-btn{z-index:12;left:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);padding:6px 8px;position:absolute}.music-btn svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.music-btn svg path:first-child{fill:currentColor}.v-say{--edge:26px;--tail-w:52px;--tail-nose:7px;--tail-left:24px;--tail-drop:27.65px;z-index:14;border:var(--edge) solid transparent;width:min(480px,100cqw - 32px);max-height:calc(66cqh - 94px);font-family:var(--f-body);color:var(--ink);cursor:default;opacity:0;border-image:url(/img/bubble.webp) 75 fill;flex-direction:column;font-size:16px;line-height:1.5;transition:opacity .4s,transform .4s;display:flex;position:absolute;bottom:calc(34cqh + 30px);left:16px;transform:translateY(8px)}.v-say.in{opacity:1;transform:none}.v-tail{left:calc(var(--tail-left) - var(--edge));bottom:calc(-1 * (var(--edge) + var(--tail-drop)));width:var(--tail-w);aspect-ratio:126/76;background:url(/img/bubble-tail.webp) 50%/100% 100% no-repeat;position:absolute}.v-say-body{overscroll-behavior:contain;min-height:0;padding:2px;overflow-y:auto}.v-say p{max-width:none;margin:0 0 12px}.v-say p:last-child{margin-bottom:0}.v-say .v-title{font-family:var(--f-display);letter-spacing:.04em;font-weight:700}.v-ghost{opacity:0}.v-end{opacity:0;margin-top:4px;transition:opacity .35s}.v-end.on{opacity:1}.v-say .v-hint{color:var(--muted);margin:12px 0 0;font-size:12px}@media (max-width:640px){.topbar .logo{font-size:17px}}@media (max-width:699px){.burger{display:inline-flex}.nav{background:#fff;border:2px solid #333;flex-flow:column;gap:0;min-width:200px;display:none;position:absolute;top:calc(100% - 2px);right:16px;box-shadow:4px 4px #333}.nav.open{display:flex}.nav .plate{width:100%;box-shadow:none;border:0;justify-content:flex-start;padding:12px 18px;font-size:16px}.nav .plate:hover,.nav .plate:active{box-shadow:none;background:#f4f1ea;transform:none}.nav .plate+.plate{border-top:1px solid #ddd}}@media (max-width:560px){.v-say{--edge:18px;--tail-w:44px;--tail-nose:6px;--tail-left:16px;--tail-drop:23.4px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
