@font-face{font-family:LT Superior Serif;src:url(/_astro/LTSuperiorSerif-Regular.DiApPqRe.otf)format("opentype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:LT Superior Serif;src:url(/_astro/LTSuperiorSerif-Medium.CWZLDiLW.otf)format("opentype");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:LT Superior Serif;src:url(/_astro/LTSuperiorSerif-Semibold.0Oc4Fn54.otf)format("opentype");font-style:normal;font-weight:600;font-display:swap}@font-face{font-family:Timeless Sans;src:url(/_astro/TimelessSans-SansRegular.BcMiLrbp.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Timeless Sans;src:url(/_astro/TimelessSans-SansMedium.C7vjp-Js.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap}@font-face{font-family:Timeless Sans;src:url(/_astro/TimelessSans-SansSemibold.BycZiviw.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap}:root{color-scheme:light dark;--theme-name:Personal Blog;--theme-icon-family:Lucide;--theme-icon-style:outlined;--toolbar-divider-bleed:0;--focus-ring-outline:initial;--icon-stroke-width:2;--icon-light-display:none;--icon-regular-display:inline;--icon-bold-display:none;--motion-duration:.4s;--motion-easing:linear(0, .2375, .5904, .8358, .9599, 1.0061, 1.0152, 1.0116, 1.0062, 1.0025, 1.0006, .9999, 1);--motion-type:spring;--motion-visual-duration:.2;--motion-bounce:.2;--motion-enabled:1;--motion-small-iterations:infinite;--motion-large-duration:.6s;--motion-large-easing:linear(0, .0846, .2691, .4778, .6674, .8179, .9249, .9926, 1.0293, 1.0442, 1.0452, 1.0388, 1.0296, 1.0202, 1.0121, 1.0061, 1.0019, .9995, .9983, 1);--motion-large-type:spring;--motion-large-visual-duration:.36;--motion-large-bounce:.3;--motion-large-iterations:infinite;--motion-popup-scale:.96;--motion-press-distance:1px;--option-badge-background:light-dark(#e7e7e7,#3d3d3d);--option-badge-foreground:light-dark(#000,#fff);--navigation-active-foreground:light-dark(#000,#fff);--emphasis-chart-fill:#07376b33;--emphasis-balance-background:light-dark(#cdcdcd,#565656);--emphasis-rewards-background:light-dark(#f4f4f4,#2b2b2b);--emphasis-icon-background:light-dark(#f4f4f4,#2b2b2b);--emphasis-icon-foreground:light-dark(#000,#fff);--emphasis-type-background:light-dark(#f4f4f4,#2b2b2b);--emphasis-type-foreground:light-dark(#000,#fff);--navigation-active-background:light-dark(#e7e7e7,#3d3d3d);--surface-raised-image:none;--surface-raised-shadow:0 0 0 0 transparent;--surface-recessed-image:none;--surface-recessed-shadow:0 0 0 0 transparent;--space-zero:0px;--space-xxs:4px;--space-xs:8px;--space-s:11px;--space-m:15px;--space-l:23px;--space-xl:30px;--space-xxl:46px;--tracking-xs:-.04em;--tracking-s:-.06em;--tracking-m:-.015em;--tracking-l:-.015em;--tracking-xl:0em;--size-xxs:10px;--line-xxs:13px;--letter-spacing-xxs:0em;--size-xs:12px;--line-xs:16px;--letter-spacing-xs:-.015em;--size-s:14px;--line-s:20px;--letter-spacing-s:-.015em;--size-m:16px;--line-m:24px;--letter-spacing-m:-.015em;--size-l:25px;--line-l:33px;--letter-spacing-l:-.06em;--size-xl:38px;--line-xl:42px;--letter-spacing-xl:-.06em;--size-xxl:52px;--line-xxl:56px;--letter-spacing-xxl:-.04em;--radius-zero:0px;--radius-xs:0px;--radius-s:5px;--radius-m:9px;--radius-l:16px;--radius-xl:27px;--radius-full:9999px;--border-none:0px;--border-s:0px;--border-m:0px;--border-l:0px;--border-default-color:light-dark(#e7e7e733,#3d3d3d33);--border-shadow-none:0 0 0 0 transparent;--border-shadow-s:0 0 0 0 transparent;--border-shadow-m:0 0 0 0 transparent;--border-shadow-l:0 0 0 0 transparent;--font-ui:"Timeless Sans", sans-serif;--weight-ui-regular:400;--weight-ui-medium:500;--weight-ui-heavy:600;--font-brand:"LT Superior Serif", Georgia, serif;--weight-brand-regular:400;--weight-brand-medium:500;--weight-brand-heavy:600;--font-editorial:"LT Superior Serif", Georgia, serif;--weight-editorial-regular:400;--weight-editorial-medium:500;--weight-editorial-heavy:600;--font-data:ui-monospace, SFMono-Regular, Menlo, monospace;--weight-data-regular:400;--weight-data-medium:500;--weight-data-heavy:600;--color-none:transparent;--color-1:#07376b;--color-1-transparent:#07376b33;--color-2:#ff5a00;--color-2-transparent:#ff5a0033;--color-3:#87d8f5;--color-3-transparent:#87d8f533;--color-4:#ffed9b;--color-4-transparent:#ffed9b33;--neutral-1:light-dark(#fff,#000);--neutral-1-transparent:light-dark(#fff3,#0003);--neutral-2:light-dark(#fbfbfb,#202020);--neutral-2-transparent:light-dark(#fbfbfb33,#20202033);--neutral-3:light-dark(#f4f4f4,#2b2b2b);--neutral-3-transparent:light-dark(#f4f4f433,#2b2b2b33);--neutral-4:light-dark(#e7e7e7,#3d3d3d);--neutral-4-transparent:light-dark(#e7e7e733,#3d3d3d33);--neutral-5:light-dark(#cdcdcd,#565656);--neutral-5-transparent:light-dark(#cdcdcd33,#56565633);--neutral-6:light-dark(#a1a1a1,#838383);--neutral-6-transparent:light-dark(#a1a1a133,#83838333);--neutral-7:light-dark(#7d7d7d,#ababab);--neutral-7-transparent:light-dark(#7d7d7d33,#ababab33);--neutral-8:light-dark(#555,#cfcfcf);--neutral-8-transparent:light-dark(#5553,#cfcfcf33);--neutral-9:light-dark(#333,#f4f4f4);--neutral-9-transparent:light-dark(#3333,#f4f4f433);--neutral-10:light-dark(#000,#fff);--neutral-10-transparent:light-dark(#0003,#fff3);--success:#00906c;--success-transparent:#00906c33;--warning:#ffea00;--warning-transparent:#ffea0033;--error:#fc032d;--error-transparent:#fc032d33;--shadow-none:none;--shadow-s:0px 2px 4px 0px #0000;--shadow-m:0px 2px 6px 0px #0000000d, 0px 8px 24px 0px #00000013;--shadow-l:.75px 4px 12.5px 1px #0000000f, 3px 16px 50px 4px #00000016;--cte-canvas:light-dark(#fff,#000);--cte-surface:light-dark(#fbfbfb,#202020);--cte-surface-muted:light-dark(#f4f4f4,#2b2b2b);--cte-text:light-dark(#000,#fff);--cte-text-muted:light-dark(var(--neutral-8),var(--neutral-7));--cte-border:light-dark(#e7e7e733,#3d3d3d33);--cte-accent:#07376b;--cte-accent-text:light-dark(#fbfbfb,#f4f4f4);--cte-danger:#fc032d;--cte-focus:light-dark(#07376b,var(--color-3));--cte-font:"Timeless Sans", sans-serif;--cte-font-size:14px;--cte-font-weight:400;--cte-line-height:20px;--cte-letter-spacing:-.015em;--cte-detail-font-size:12px;--cte-detail-line-height:16px;--cte-detail-letter-spacing:-.015em;--focus-outline:2px solid var(--cte-focus);--stroke-width:1px;--focus-width:2px;--edge-none:var(--border-shadow-none), var(--border-shadow-s)}:root[data-theme=day]{color-scheme:light}:root[data-theme=night]{color-scheme:dark}:root{--night-canvas:#0a1426;--night-surface:#101d33;--night-surface-2:#18294a;--night-hairline:#22355a;--night-text:#eef3fa;--night-text-muted:#a9b8ce;--stroke-rule:2px;--size-read:19px;--line-read:33px;--letter-spacing-read:var(--tracking-m);--tracking-title:-.03em;--cte-canvas:light-dark(#fff,var(--night-canvas));--cte-surface:light-dark(#fbfbfb,var(--night-surface));--cte-surface-muted:light-dark(#f4f4f4,var(--night-surface));--cte-text:light-dark(#000,var(--night-text));--cte-text-muted:light-dark(var(--neutral-8),var(--night-text-muted));--cte-accent:light-dark(var(--color-1),var(--color-3));--cte-accent-text:light-dark(#fbfbfb,#000);--cte-focus:light-dark(var(--color-1),var(--color-3));--site-text-secondary:light-dark(var(--neutral-9),var(--night-text));--site-hairline:light-dark(var(--neutral-4),var(--night-hairline));--site-control-edge:light-dark(var(--neutral-7),var(--night-text-muted));--site-hover:light-dark(var(--neutral-3),var(--night-surface));--site-raised:light-dark(var(--neutral-1),var(--night-surface));--site-raised-shadow:var(--shadow-m);--site-accent-count:light-dark(var(--color-4),#333);--site-glyph-note:light-dark(var(--color-1),var(--color-3));--site-glyph-writing:var(--color-2);--site-mark:var(--color-2);--tint-navy:light-dark(color-mix(in srgb, var(--color-1) 14%, transparent),var(--night-surface-2));--tint-sky:color-mix(in srgb, var(--color-3) 30%, transparent);--tint-butter:light-dark(color-mix(in srgb, var(--color-4) 80%, transparent),color-mix(in srgb, var(--color-4) 26%, transparent));--tint-orange:light-dark(color-mix(in srgb, var(--color-2) 12%, transparent),color-mix(in srgb, var(--color-2) 18%, transparent));--astro-code-foreground:var(--cte-text);--astro-code-background:var(--cte-surface-muted);--astro-code-token-constant:var(--cte-accent);--astro-code-token-keyword:var(--cte-accent);--astro-code-token-function:var(--cte-text);--astro-code-token-parameter:var(--cte-text);--astro-code-token-string:var(--cte-text-muted);--astro-code-token-string-expression:var(--cte-text-muted);--astro-code-token-comment:var(--cte-text-muted);--astro-code-token-punctuation:var(--site-text-secondary);--astro-code-token-link:var(--cte-accent);--astro-code-token-inserted:var(--cte-text);--astro-code-token-deleted:var(--cte-text-muted);--page-max:1200px;--col-side:320px;--col-gap:80px;--col-main:800px;--measure-read:640px;--measure-feed:600px;--page-inline:var(--space-l)}@media (width>=40rem){:root{--page-inline:var(--space-xxl)}}@media (width>=80rem){:root{--page-inline:80px}}@media (width<=85rem){:root{--col-gap:64px}}@media print{:root{color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--space-xxl)}@media (prefers-reduced-motion:no-preference){html:focus-within{scroll-behavior:smooth}}body{min-height:100dvh;margin:var(--space-zero);background:var(--cte-canvas);color:var(--cte-text);font-family:var(--font-editorial);font-weight:var(--weight-editorial-regular);font-size:var(--size-m);line-height:var(--line-m);letter-spacing:var(--letter-spacing-m);text-wrap:pretty;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none;text-rendering:optimizelegibility;flex-direction:column;display:flex}::selection{background:var(--tint-sky);color:var(--cte-text)}h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:var(--space-zero)}h1,h2,h3,h4{font-size:inherit;font-weight:inherit}ul[role=list],ol[role=list]{padding:var(--space-zero);list-style:none}img,svg{max-width:100%;display:block}img{height:auto}.icon{flex-shrink:0;display:inline-block}button{margin:var(--space-zero);padding:var(--space-zero);color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration-color:var(--site-control-edge);text-decoration-thickness:var(--stroke-width);text-underline-offset:var(--space-xxs);border-radius:var(--radius-s);transition:color var(--motion-duration) var(--motion-easing), background-color var(--motion-duration) var(--motion-easing), text-decoration-color var(--motion-duration) var(--motion-easing)}@media (hover:hover) and (pointer:fine){a:hover{text-decoration-color:currentColor}}:focus-visible{outline:var(--focus-outline);outline-offset:var(--space-xxs)}:focus:not(:focus-visible){outline:none}.pressable{transition:transform var(--motion-duration) var(--motion-easing), background-color var(--motion-duration) var(--motion-easing), color var(--motion-duration) var(--motion-easing)}.pressable:active{transform:translateY(var(--motion-press-distance))}.type-ui-s{font-family:var(--font-ui);font-weight:var(--weight-ui-regular);font-size:var(--size-s);line-height:var(--line-s);letter-spacing:var(--letter-spacing-s)}.type-ui-s-strong{font-family:var(--font-ui);font-weight:var(--weight-ui-medium);font-size:var(--size-s);line-height:var(--line-s);letter-spacing:var(--letter-spacing-s)}.type-ui-xs{font-family:var(--font-ui);font-weight:var(--weight-ui-regular);font-size:var(--size-xs);line-height:var(--line-xs);letter-spacing:var(--letter-spacing-xs)}.type-data-xs{font-family:var(--font-data);font-weight:var(--weight-data-regular);font-size:var(--size-xs);line-height:var(--line-xs);letter-spacing:var(--letter-spacing-xs);font-variant-numeric:tabular-nums}.type-editorial-m{font-family:var(--font-editorial);font-weight:var(--weight-editorial-regular);font-size:var(--size-m);line-height:var(--line-m);letter-spacing:var(--letter-spacing-m)}.type-read{font-family:var(--font-editorial);font-weight:var(--weight-editorial-regular);font-size:var(--size-read);line-height:var(--line-read);letter-spacing:var(--letter-spacing-read)}.type-brand-m{font-family:var(--font-brand);font-weight:var(--weight-brand-regular);font-size:var(--size-m);line-height:var(--line-m);letter-spacing:var(--letter-spacing-m)}.type-title-l{font-family:var(--font-brand);font-weight:var(--weight-brand-regular);font-size:var(--size-l);line-height:var(--line-l);letter-spacing:var(--tracking-title)}.type-title-xl{font-family:var(--font-brand);font-weight:var(--weight-brand-regular);font-size:var(--size-xl);line-height:var(--line-xl);letter-spacing:var(--tracking-title)}.type-title-xxl{font-family:var(--font-brand);font-weight:var(--weight-brand-regular);font-size:var(--size-xxl);line-height:var(--line-xxl);letter-spacing:var(--letter-spacing-xxl)}@media (width<=40rem){.type-title-xxl{font-size:var(--size-xl);line-height:var(--line-xl);letter-spacing:var(--tracking-title)}}.muted{color:var(--cte-text-muted)}.secondary{color:var(--site-text-secondary)}.link-accent{align-items:center;gap:var(--space-xs);color:var(--cte-accent);text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.link-accent:hover{text-decoration:underline}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:10;top:var(--space-s);left:var(--space-l);padding:var(--space-s) var(--space-l);border-radius:var(--radius-s);background:var(--site-hover);color:var(--cte-text);box-shadow:var(--border-shadow-s), var(--border-shadow-none);text-decoration:none;position:absolute;transform:translateY(-250%)}.skip:focus-visible{transform:translateY(0)}.site-main{flex:1 0 auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:0s!important;animation-duration:0s!important;animation-iteration-count:1!important}.pressable:active{transform:none}}.prose{color:var(--cte-text);font-family:var(--font-editorial);font-weight:var(--weight-editorial-regular);font-size:var(--size-read);line-height:var(--line-read);letter-spacing:var(--letter-spacing-read);overflow-wrap:break-word}.prose>*+*{margin-top:var(--space-l)}.prose>:first-child{margin-top:var(--space-zero)}.prose a{text-decoration-line:underline}.prose strong{font-weight:var(--weight-editorial-heavy)}.prose em,.prose i{font-synthesis:style}.prose ul,.prose ol{padding-left:var(--space-l)}.prose ul{list-style:outside}.prose li+li{margin-top:var(--space-xs)}.prose li::marker{color:var(--cte-text-muted)}.prose blockquote{padding-left:var(--space-m);box-shadow:inset var(--stroke-rule) 0 0 var(--site-hairline);color:var(--site-text-secondary)}.prose hr{height:var(--stroke-width);background:var(--site-hairline);margin-block:var(--space-xxl);border:0}.prose>.heading{align-items:baseline;gap:var(--space-s);display:flex}.prose>.heading--h2,.prose>h2{margin-top:var(--space-xxl)}.prose>.heading--h3,.prose>h3{margin-top:var(--space-xl)}.prose h2{font-family:var(--font-brand);font-weight:var(--weight-brand-regular);font-size:var(--size-l);line-height:var(--line-l);letter-spacing:var(--tracking-title);text-wrap:balance}.prose h3{font-family:var(--font-brand);font-weight:var(--weight-brand-medium);font-size:var(--size-read);line-height:var(--line-read);letter-spacing:var(--letter-spacing-read);text-wrap:balance}.prose h2,.prose h3{scroll-margin-top:var(--space-xxl)}.heading__anchor{border-radius:var(--radius-s);width:24px;height:24px;color:var(--site-control-edge);align-self:center;place-items:center;text-decoration:none;display:inline-grid}@media (hover:hover) and (pointer:fine){.heading__anchor:hover{color:var(--cte-text);background:var(--site-hover)}}.prose :not(pre)>code{padding:var(--space-zero) var(--space-xxs);border-radius:var(--radius-s);background:var(--cte-surface-muted);font-family:var(--font-data);font-weight:var(--weight-data-regular);font-size:var(--size-m);letter-spacing:var(--letter-spacing-m)}.prose .code{border-radius:var(--radius-m);background:var(--cte-surface-muted);overflow:clip}.code__bar{justify-content:space-between;align-items:center;gap:var(--space-m);min-height:40px;padding:var(--space-xxs) var(--space-s) var(--space-xxs) var(--space-m);box-shadow:inset 0 calc(-1 * var(--stroke-width)) 0 var(--site-hairline);color:var(--cte-text-muted);font-family:var(--font-data);font-weight:var(--weight-data-regular);font-size:var(--size-xs);line-height:var(--line-xs);letter-spacing:var(--letter-spacing-xs);display:flex}.code__copy{align-items:center;gap:var(--space-xxs);padding:var(--space-xxs) var(--space-xs);border-radius:var(--radius-s);color:var(--site-text-secondary);font-family:var(--font-ui);font-weight:var(--weight-ui-medium);font-size:var(--size-xs);line-height:var(--line-xs);letter-spacing:var(--letter-spacing-xs);transition:background-color var(--motion-duration) var(--motion-easing);margin-left:auto;display:inline-flex}.code__copy[hidden]{display:none}@media (hover:hover) and (pointer:fine){.code__copy:hover{background:var(--site-hover);color:var(--cte-text)}}.code__copy:active{transform:translateY(var(--motion-press-distance))}.prose pre{margin:var(--space-zero);padding:var(--space-m);font-family:var(--font-data);font-weight:var(--weight-data-regular);font-size:var(--size-s);line-height:var(--line-m);letter-spacing:var(--letter-spacing-s);text-wrap:nowrap;tab-size:2;overflow-x:auto;background:0 0!important}.prose pre code{font:inherit;letter-spacing:inherit}.prose .callout{gap:var(--space-s);padding:var(--space-m);border-radius:var(--radius-m);background:var(--tint-sky);color:var(--cte-text);font-family:var(--font-ui);font-weight:var(--weight-ui-regular);font-size:var(--size-s);line-height:var(--line-m);letter-spacing:var(--letter-spacing-s);display:flex}.callout__icon{margin-top:calc((var(--line-m) - 18px) / 2);color:var(--cte-accent);flex-shrink:0}.callout__body>*+*{margin-top:var(--space-xs)}.prose .figure{gap:var(--space-m);margin-block:var(--space-xxl);padding-block:var(--space-xxl);background:var(--cte-surface-muted);box-shadow:0 0 0 100vmax var(--cte-surface-muted);clip-path:inset(0 -100vmax);flex-direction:column;display:flex;position:relative}.figure img{border-radius:var(--radius-m);background:var(--site-raised);width:100%}.figure__caption{gap:var(--space-s);max-width:var(--measure-read);color:var(--site-text-secondary);font-family:var(--font-ui);font-weight:var(--weight-ui-regular);font-size:var(--size-s);line-height:var(--line-s);letter-spacing:var(--letter-spacing-s);display:flex}.figure__label{color:var(--cte-text);font-family:var(--font-data);font-weight:var(--weight-data-regular);font-size:var(--size-xs);line-height:var(--line-s);letter-spacing:var(--letter-spacing-xs);flex-shrink:0}.prose img{border-radius:var(--radius-m)}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);font-weight:var(--weight-ui-regular);font-size:var(--size-s);line-height:var(--line-s);letter-spacing:var(--letter-spacing-s)}.prose th,.prose td{padding:var(--space-xs) var(--space-s) var(--space-xs) var(--space-zero);box-shadow:inset 0 calc(-1 * var(--stroke-width)) 0 var(--site-hairline);text-align:left}.prose th{font-weight:var(--weight-ui-medium)}.callout :not(pre)>code{font-size:var(--size-s);letter-spacing:var(--letter-spacing-s)}:root{--wash-day-1:#65add1;--wash-day-2:#76c2e3;--wash-day-3:var(--color-3);--wash-day-4:#a4e1f8;--wash-day-5:#c0eafa;--wash-day-6:#e3f6fd;--wash-dawn-1:#a886a6;--wash-dawn-2:#ee9283;--wash-dawn-3:#ffb174;--wash-dawn-4:#ffcc7d;--wash-dawn-5:#fff5c5;--wash-dawn-6:#fffae3;--wash-dusk-1:#73718a;--wash-dusk-2:#90688a;--wash-dusk-3:#cc6c56;--wash-dusk-4:#ff843b;--wash-dusk-5:#ffba6d;--wash-dusk-6:#fff8d9;--wash-night-1:#010b1f;--wash-night-2:#01142f;--wash-night-3:#021e3f;--wash-night-4:#071932;--sky-night-3:#1a4d7f;--wash-night-haze:#e6edf7;--wash-cloud:#fff;--wash-star:#fff;--wash-star-dim:#ababab;--sky-switch-on:light-dark(var(--wash-day-5),var(--night-surface-2));--sky-switch-off:light-dark(var(--neutral-7),var(--night-text-muted));--sky-tip-background:light-dark(var(--neutral-9),var(--night-text));--sky-tip-text:light-dark(var(--neutral-1),var(--night-canvas));--sky-fade:var(--motion-large-duration);--sky-art:164px;--sky-mist-end:420px;--sky-gap:140px}@media (width>=40rem){:root{--sky-art:216px;--sky-mist-end:520px;--sky-gap:194px}}@media (width>=64rem){:root{--sky-gap:148px}}.sky{z-index:-1;height:var(--sky-gap);pointer-events:none;user-select:none;flex-shrink:0;position:relative}.sky--slim{--sky-art:64px;--sky-mist-end:160px;--sky-gap:64px}@media (width>=64rem){.sky--slim{--sky-gap:20px}}.sky__layer{height:var(--sky-mist-end);opacity:0;visibility:hidden;transition:opacity 0s linear var(--sky-fade), visibility 0s linear var(--sky-fade);position:absolute;inset:0 0 auto;overflow:hidden}.sky__size{flex-direction:column;height:100%;display:flex}.sky__size--desktop{display:none}@media (width>=40rem){.sky__size--desktop{display:flex}.sky__size--mobile{display:none}}.sky__clip{height:var(--sky-art);flex-shrink:0;position:relative;overflow:hidden}.sky__art{max-width:none;display:block}.sky__mist{background:linear-gradient(180deg, var(--mist), var(--cte-canvas));background:linear-gradient(in oklab 180deg, var(--mist), var(--cte-canvas));flex:1}.sky__body{max-width:none;image-rendering:pixelated;--high:24px;--low:180px;left:calc(var(--sky-x,.75) * (100% - 48px));top:calc(var(--high) + (var(--low) - var(--high)) * (1 - var(--sky-alt,.8)));position:absolute}@supports (top:round(1px, 4px)){.sky__body{left:round(calc(var(--sky-x,.75) * (100% - 48px)), 4px);top:round(calc(var(--high) + (var(--low) - var(--high)) * (1 - var(--sky-alt,.8))), 4px)}}.sky__size--mobile .sky__body{--high:16px;--low:132px}.sky__layer{--sky-play:paused}.sky[data-paused] .sky__layer{--sky-play:paused!important}.sky__fx{width:100%;max-width:none;animation-play-state:var(--sky-play);position:absolute;top:0;left:0}.sky__drift{left:calc(-1 * var(--tile));width:calc(100% + var(--tile));animation:sky-drift var(--drift) steps(var(--steps)) infinite;animation-play-state:var(--sky-play);will-change:transform}@keyframes sky-drift{to{transform:translateX(var(--tile))}}.sky__twinkle{animation:5.3s step-end infinite sky-twinkle;animation-play-state:var(--sky-play)}.sky__twinkle--1{animation-duration:7.1s;animation-delay:-2.4s}.sky__twinkle--2{animation-duration:9.7s;animation-delay:-5.1s}@keyframes sky-twinkle{0%,to{opacity:1}38%{opacity:.35}42%{opacity:1}71%{opacity:.6}75%{opacity:1}}.sky__sparkle{animation:3.7s step-end infinite sky-sparkle;animation-play-state:var(--sky-play)}.sky__sparkle--1{animation-duration:4.9s;animation-delay:-1.8s}@keyframes sky-sparkle{0%,to{opacity:1}8%{opacity:.2}12%{opacity:1}16%{opacity:.2}20%{opacity:1}}.sky__meteor{opacity:0;max-width:none;animation:29s -21s infinite sky-meteor;animation-play-state:var(--sky-play);position:absolute;top:20px;left:72%}.sky__size--mobile .sky__meteor{top:12px;left:78%}@keyframes sky-meteor{0%,96%{opacity:0;animation-timing-function:step-end;transform:translate(0)}96.01%{opacity:1;animation-timing-function:steps(18,end);transform:translate(0)}98.8%{opacity:1;animation-timing-function:step-end;transform:translate(-216px,108px)}99%,to{opacity:0;transform:translate(-216px,108px)}}:root[data-sky=dawn] .sky__layer[data-state=dawn],:root[data-sky=day] .sky__layer[data-state=day],:root[data-sky=dusk] .sky__layer[data-state=dusk],:root[data-sky=night] .sky__layer[data-state=night],:root:not([data-sky]) .sky__layer[data-state=day]{z-index:1;opacity:1;visibility:visible;transition:opacity var(--sky-fade) ease, visibility 0s;--sky-play:running}.sky__layer[data-state=day]{--b1:var(--wash-day-1);--b2:var(--wash-day-2);--b3:var(--wash-day-3);--b4:var(--wash-day-4);--b5:var(--wash-day-5);--b6:var(--wash-day-6);--mist:var(--wash-day-6)}.sky__layer[data-state=dawn]{--b1:var(--wash-dawn-1);--b2:var(--wash-dawn-2);--b3:var(--wash-dawn-3);--b4:var(--wash-dawn-4);--b5:var(--wash-dawn-5);--b6:var(--wash-dawn-6);--mist:var(--wash-dawn-6)}.sky__layer[data-state=dusk]{--b1:var(--wash-dusk-1);--b2:var(--wash-dusk-2);--b3:var(--wash-dusk-3);--b4:var(--wash-dusk-4);--b5:var(--wash-dusk-5);--b6:var(--wash-dusk-6);--mist:var(--wash-dusk-6)}.sky__layer[data-state=night]{--b1:var(--wash-night-1);--b2:var(--wash-night-2);--b3:var(--wash-night-3);--b4:var(--wash-night-4);--mist:var(--wash-night-4)}:root[data-theme=day] .sky__layer[data-state=night]{--b3:var(--sky-night-3);--b4:var(--wash-night-haze);--mist:var(--wash-night-haze)}:root [data-sky-sticky][data-stuck=false]{background-color:#0000}::view-transition-old(root),::view-transition-new(root){animation-duration:var(--sky-fade)}.rail__home:has(>.rail__sky){align-items:center}.rail__home:has(>.rail__sky)>:first-child{margin-right:auto}.rail__home>.rail__sky{margin:calc(-1 * var(--space-xs))}@media (width>=64rem){.rail__home:has(>.rail__sky){align-items:flex-start}.rail__home>.rail__sky{margin-block:calc(-1 * var(--space-xxs))}}:root:not([data-sky-choice]) [data-sky-switch]{display:none}@media (prefers-reduced-motion:reduce){.sky__layer{transition:none}.sky__fx,.sky__meteor{animation:none}.sky__meteor{display:none}}@media print{.sky{display:none}}:root{--world-sky-0:light-dark(var(--wash-day-3),var(--wash-night-1));--world-sky-1:light-dark(var(--wash-day-4),var(--wash-night-2));--world-sky-2:light-dark(var(--wash-day-5),var(--wash-night-3));--world-sky-3:light-dark(var(--wash-day-6),var(--wash-night-4));--world-skyline-far:light-dark(#b6dff2,color-mix(in oklab, var(--night-canvas) 72%, var(--night-surface-2)));--world-skyline-window:light-dark(#a6d6ec,color-mix(in oklab, var(--night-canvas) 60%, var(--night-surface-2)));--world-skyline-near:light-dark(#9ccfe7,color-mix(in oklab, var(--night-canvas) 40%, var(--night-surface-2)));--world-curb:light-dark(#e7e1d6,var(--night-surface));--world-room-study:light-dark(#f6e7c8,#f3cf8a);--world-room-office:light-dark(#e9f3f8,#f1d496);--world-room-writer:light-dark(#f4eadc,#f0c983);--world-room-dark:light-dark(#5a6378,#121d33);--world-sprite-filter:brightness(1);--world-room-filter:none;--world-ground-filter:var(--world-sprite-filter);--world-outline-in:#fff;--world-outline-out:var(--color-1);--world-outlined:var(--world-sprite-filter) var(--world-outline);--world-outline:drop-shadow(1px 0 0 var(--world-outline-in)) drop-shadow(-1px 0 0 var(--world-outline-in)) drop-shadow(0 1px 0 var(--world-outline-in)) drop-shadow(0 -1px 0 var(--world-outline-in)) drop-shadow(1px 0 0 var(--world-outline-out)) drop-shadow(-1px 0 0 var(--world-outline-out)) drop-shadow(0 1px 0 var(--world-outline-out)) drop-shadow(0 -1px 0 var(--world-outline-out));--world-frame:light-dark(var(--color-1),var(--color-3));--world-firefly:var(--color-4)}:root[data-sky=day]{--world-sky-0:var(--wash-day-3);--world-sky-1:var(--wash-day-4);--world-sky-2:var(--wash-day-5);--world-sky-3:var(--wash-day-6);--world-skyline-far:#b6dff2;--world-skyline-window:#a6d6ec;--world-skyline-near:#9ccfe7}:root[data-sky=dawn]{--world-sky-0:var(--wash-dawn-3);--world-sky-1:var(--wash-dawn-4);--world-sky-2:var(--wash-dawn-5);--world-sky-3:var(--wash-dawn-6);--world-skyline-far:color-mix(in oklab, var(--wash-dawn-4) 45%, var(--wash-dawn-6));--world-skyline-window:color-mix(in oklab, var(--wash-dawn-4) 70%, var(--wash-dawn-6));--world-skyline-near:color-mix(in oklab, var(--wash-dawn-3) 55%, var(--wash-dawn-5));--world-sprite-filter:sepia(.12) saturate(1.08)}:root[data-sky=dusk]{--world-sky-0:var(--wash-dusk-3);--world-sky-1:var(--wash-dusk-4);--world-sky-2:var(--wash-dusk-5);--world-sky-3:var(--wash-dusk-6);--world-skyline-far:color-mix(in oklab, var(--wash-dusk-3) 40%, var(--wash-dusk-5));--world-skyline-window:var(--wash-dusk-6);--world-skyline-near:color-mix(in oklab, var(--wash-dusk-2) 50%, var(--wash-dusk-3));--world-sprite-filter:sepia(.22) saturate(1.05) brightness(.94)}:root[data-sky=night]{--world-sky-0:var(--wash-night-1);--world-sky-1:var(--wash-night-2);--world-sky-2:var(--wash-night-3);--world-sky-3:var(--wash-night-4);--world-skyline-far:color-mix(in oklab, var(--night-canvas) 72%, var(--night-surface-2));--world-skyline-near:color-mix(in oklab, var(--night-canvas) 40%, var(--night-surface-2));--world-ground-filter:brightness(.56) saturate(.7) hue-rotate(-8deg);--world-skyline-window:color-mix(in oklab, var(--color-4) 70%, transparent);--world-sprite-filter:brightness(.72) saturate(.8) hue-rotate(-8deg);--world-outline-in:var(--color-4)}@media (prefers-color-scheme:dark){:root:not([data-sky]):not([data-theme=day]){--world-sprite-filter:brightness(.72) saturate(.8)}}:root[data-theme=night]:not([data-sky]){--world-sprite-filter:brightness(.72) saturate(.8)}.world{--s:3;--sky-top:40;--view-h:var(--stage-h);height:calc((var(--view-h) + var(--sky-top)) * var(--s) * 1px);margin-top:var(--space-xxl);content-visibility:auto;contain-intrinsic-size:auto calc((var(--view-h) + var(--sky-top)) * var(--s) * 1px);position:relative}@media (width>=40rem){.world{--s:4;--sky-top:80}}.world.is-awake{content-visibility:visible}:root .world~.site-footer{margin-top:var(--space-zero);background:var(--world-curb);box-shadow:none}.world-text{max-width:calc(var(--page-max) + 2 * var(--page-inline));padding:var(--space-xl) var(--page-inline) var(--space-zero);background:var(--world-curb);box-shadow:0 0 0 100vmax var(--world-curb);clip-path:inset(0 -100vmax);color:var(--cte-text);margin-inline:auto}.world-text__title{margin-bottom:var(--space-m)}.world-text__list{gap:var(--space-m);max-width:var(--col-main);flex-direction:column;display:flex}.world-text__who{gap:var(--space-xxs);flex-direction:column;display:flex}.world-text__who p{text-wrap:pretty}.world-text__links{gap:var(--space-xxs) var(--space-m);flex-wrap:wrap;display:flex}.world__back,.world__ground,.world__floor{zoom:var(--s);pointer-events:none;position:absolute;inset-inline:0}.world__back{height:calc((var(--sky-top) + var(--stage-h) - 40) * 1px);top:0}.world__back svg{max-width:none;display:block;overflow:visible}.world__sky{flex-direction:column;display:flex;position:absolute;inset:0}.world__sky-up{flex:1;min-height:0}.world__sky-low{flex:none}.world__heavens{position:absolute;inset:0;overflow:hidden}.world__decor{position:absolute;top:6px;left:0}.world__back .world__heavens>svg{display:none}.world__drift{left:calc(-1 * var(--tile));width:calc(100% + var(--tile))}.world__body{--low:calc((var(--sky-top) + 22) * 1px);left:calc(var(--sky-x,.75) * (100% - 12px));top:calc(8px + (var(--low) - 8px) * (1 - var(--sky-alt,.8)));display:none;position:absolute}@supports (top:round(1px, 1px)){.world__body{left:round(calc(var(--sky-x,.75) * (100% - 12px)), 1px);top:round(calc(8px + (var(--low) - 8px) * (1 - var(--sky-alt,.8))), 1px)}}:root[data-sky=dawn] .world__heavens [data-state=dawn],:root:is([data-sky=day],:not([data-sky])) .world__heavens [data-state=day],:root[data-sky=dusk] .world__heavens [data-state=dusk],:root[data-sky=night] .world__heavens [data-state=night]{display:block}@media (prefers-reduced-motion:no-preference){.world__drift{animation:sky-drift calc(var(--steps) * .75s) steps(var(--steps)) infinite}}.world__skyline{position:absolute;bottom:0;left:0}.skyline__far{fill:var(--world-skyline-far)}.skyline__windows{fill:var(--world-skyline-window)}.skyline__near{fill:var(--world-skyline-near)}.world__ground,.world__floor{height:calc((40 - (var(--stage-h) - var(--view-h))) * 1px);bottom:0}.world__ground{background:var(--ground) repeat-x calc(50% + 32px) top / 64px 40px;image-rendering:pixelated;filter:var(--world-ground-filter)}.world__track{flex:none;min-width:100%;display:flex;position:relative;overflow:clip visible}.world__scroller{inset:calc(var(--sky-top) * var(--s) * 1px) 0 0;isolation:isolate;overscroll-behavior-x:contain;scrollbar-width:none;display:flex;position:absolute;overflow:auto hidden}.world__scroller::-webkit-scrollbar{display:none}.street{zoom:var(--s);-webkit-tap-highlight-color:transparent;outline:none;flex:none;margin-inline:auto;position:relative;overflow:clip}.street:focus-visible{box-shadow:inset 0 0 0 1px var(--cte-focus,var(--color-3))}.px{background-image:var(--atlas);background-size:var(--atlas-w) var(--atlas-h);image-rendering:pixelated;filter:var(--world-sprite-filter);background-repeat:no-repeat;display:block;position:absolute}.art{pointer-events:none}.art-lit{pointer-events:none;opacity:0;filter:none}:root[data-sky=dusk] .art-lit{opacity:.75}:root[data-sky=night] .art-lit{opacity:1}.decor[data-season]{display:none}:root[data-season=spring] .decor[data-season=spring],:root[data-season=summer] .decor[data-season=summer],:root[data-season=autumn] .decor[data-season=autumn],:root[data-season=winter] .decor[data-season=winter]{display:block}:root[data-season=spring] .decor[data-not-season=spring],:root[data-season=summer] .decor[data-not-season=summer],:root[data-season=autumn] .decor[data-not-season=autumn],:root[data-season=winter] .decor[data-not-season=winter]{display:none}.room{background:var(--world-room-study);display:block;position:absolute}.room--office{background:var(--world-room-office)}.room--writer{background:var(--world-room-writer)}.room.is-dark{background:var(--world-room-dark)}:is(.npc,.prop)[data-room] :is(.npc__sprite,.prop__sprite){filter:var(--world-room-filter)}.street.is-study-dark :is(.npc,.prop)[data-room=study] .npc__sprite,.street.is-study-dark :is(.npc,.prop)[data-room=study] .prop__sprite{filter:brightness(.45)saturate(.7)}.lamp{pointer-events:none;display:block;position:absolute}.lamp__glow,.lamp__pool,.lamp__bulb{filter:none;pointer-events:none;display:none}:root:is([data-sky=dusk],[data-sky=night]) :is(.lamp__glow,.lamp__pool,.lamp__bulb){display:block}:root[data-sky=dusk] :is(.lamp__glow,.lamp__pool){opacity:.6}[data-art]{--sheet:var(--sheet-base)}:root[data-sky=dawn] [data-v-dawn]{--sheet:var(--sheet-dawn)}:root[data-sky=day] [data-v-day]{--sheet:var(--sheet-day)}:root[data-sky=dusk] [data-v-dusk]{--sheet:var(--sheet-dusk)}:root[data-sky=night] [data-v-night]{--sheet:var(--sheet-night)}:root[data-season=spring] [data-v-spring]{--sheet:var(--sheet-spring)}:root[data-season=summer] [data-v-summer]{--sheet:var(--sheet-summer)}:root[data-season=autumn] [data-v-autumn]{--sheet:var(--sheet-autumn)}:root[data-season=winter] [data-v-winter]{--sheet:var(--sheet-winter)}.thing,.npc,.prop{color:inherit;-webkit-tap-highlight-color:transparent;outline:none;display:block;position:absolute}.npc,.you{--row:var(--r-idle);--frames:6;--dur:1.2s}.npc[data-act=phone]{--row:var(--r-phone);--frames:12;--dur:2.4s}.npc[data-act=read]{--row:var(--r-read);--frames:12;--dur:2.4s}.npc[data-act=board],.you.is-facing-up{--row:var(--r-back)}.npc[data-act=sit]{--row:var(--r-sitRight)}.npc[data-act=sit] .npc__sprite{translate:0 -6px}.npc[data-act=sit][data-dir=left]{--row:var(--r-sitLeft)}.npc[data-act=doze]{--row:var(--r-doze);--dur:3.2s}.npc.is-walking,.you.is-walking{--dur:.6s;--frames:6}.npc.is-walking[data-dir=right],.you.is-walking[data-dir=right]{--row:var(--r-walkRight)}.npc.is-walking[data-dir=left],.you.is-walking[data-dir=left]{--row:var(--r-walkLeft)}.npc.is-away .npc__sprite{visibility:hidden}.npc[data-out]{width:var(--away-w);height:var(--away-h);translate:var(--away-dx) var(--away-dy)!important}.npc[data-out] .npc__sprite{background-image:var(--atlas);background-size:var(--atlas-w) var(--atlas-h);background-position:var(--away-bg);animation:none}.street.is-traveller-out :is(.decor[data-decor=bus-sign],.prop[data-prop=suitcase]){display:none}.npc__sprite{background-image:var(--sheet);background-repeat:no-repeat;background-size:192px;background-position:0 calc(var(--row) * -32px);image-rendering:pixelated;filter:var(--world-sprite-filter);animation:npc-play var(--dur) steps(var(--frames)) infinite;display:block;position:absolute;inset:0}@keyframes npc-play{0%{background-position-x:0}to{background-position-x:calc(var(--frames) * -16px)}}.prop__letter{display:none}.prop.has-letter .prop__sprite{visibility:hidden}.prop.has-letter .prop__letter{display:block}.thing:focus-visible :is(.npc__sprite,.prop__sprite,.prop__letter),.thing.is-near :is(.npc__sprite,.prop__sprite,.prop__letter),.thing.is-talking :is(.npc__sprite,.prop__sprite,.prop__letter){filter:var(--world-sprite-filter) drop-shadow(1px 0 0 var(--world-outline-in)) drop-shadow(-1px 0 0 var(--world-outline-in)) drop-shadow(0 1px 0 var(--world-outline-in)) drop-shadow(0 -1px 0 var(--world-outline-in)) drop-shadow(1px 0 0 var(--world-outline-out)) drop-shadow(-1px 0 0 var(--world-outline-out)) drop-shadow(0 1px 0 var(--world-outline-out)) drop-shadow(0 -1px 0 var(--world-outline-out))}@media (hover:hover) and (pointer:fine){.thing:hover :is(.npc__sprite,.prop__sprite,.prop__letter){filter:var(--world-sprite-filter) drop-shadow(1px 0 0 var(--world-outline-in)) drop-shadow(-1px 0 0 var(--world-outline-in)) drop-shadow(0 1px 0 var(--world-outline-in)) drop-shadow(0 -1px 0 var(--world-outline-in)) drop-shadow(1px 0 0 var(--world-outline-out)) drop-shadow(-1px 0 0 var(--world-outline-out)) drop-shadow(0 1px 0 var(--world-outline-out)) drop-shadow(0 -1px 0 var(--world-outline-out))}.street.is-walkable{cursor:pointer}}.you{width:16px;height:32px;transform:translateX(var(--you-x));pointer-events:none;display:block;position:absolute}.you[hidden]{display:none}.tap-hint{pointer-events:none;width:0;height:0;display:block;position:absolute}.tap-hint:before{content:"";width:4px;height:2px;box-shadow:0 0 0 1px var(--world-outline-in), 0 0 0 2px var(--world-outline-out);position:absolute;top:-1px;left:-2px}.street.is-hinting :is(.you__sprite,.thing.is-hint .npc__sprite){filter:var(--world-outlined)}@media (prefers-reduced-motion:no-preference){.street.is-hinting .you__sprite{animation:npc-play var(--dur) steps(var(--frames)) infinite, hint-blink 1.6s infinite, hint-hop 1.6s infinite}.street.is-hinting .thing.is-hint .npc__sprite{animation:npc-play var(--dur) steps(var(--frames)) infinite, hint-blink 1.6s infinite}.street.is-hinting .tap-hint:before{animation:1.6s infinite hint-ripple}}@keyframes hint-blink{0%,49.9%{filter:var(--world-outlined)}50%,to{filter:var(--world-sprite-filter)}}@keyframes hint-hop{0%,59.9%{translate:0}60%,69.9%{translate:0 -2px}70%,79.9%{translate:0 -1px}80%,to{translate:0}}@keyframes hint-ripple{0%,24.9%{opacity:1;width:4px;height:2px;top:-1px;left:-2px}25%,49.9%{opacity:1;width:8px;height:4px;top:-2px;left:-4px}50%,74.9%{opacity:.6;width:12px;height:6px;top:-3px;left:-6px}75%,to{opacity:0}}.duck,.cat,.bird,.crow{--fw:0px;pointer-events:none}.duck{--fw:10px}.cat{--fw:14px}.street [hidden]{display:none!important}.bus{pointer-events:none}.is-flipped{scale:-1 1}:root:is([data-sky=dusk],[data-sky=night]) .bird{display:none}.weather{pointer-events:none;z-index:200;display:none;position:absolute;inset:0}.leaf,.firefly{left:var(--lx,var(--fx));top:var(--ly,var(--fy));display:none;position:absolute}.leaf{background:var(--color-2);width:2px;height:1px}.leaf:nth-child(3n){background:var(--color-4)}.leaf:nth-child(3n+1){background:color-mix(in oklab, var(--color-2), #8a3b12 30%)}.firefly{background:var(--world-firefly);width:1px;height:1px;box-shadow:0 0 2px 1px color-mix(in oklab, var(--world-firefly) 55%, transparent)}@media (prefers-reduced-motion:no-preference){.duck,.bird,.cat,.crow{animation:px-strip var(--dur,.8s) steps(var(--frames)) infinite}.duck{--dur:1.6s}.bird{--dur:2.4s}.cat,.crow{--dur:.6s}:root[data-sky=night] .duck{animation:none}.weather{display:block}:root[data-season=autumn]:not([data-sky=night]) .leaf{animation:leaf-fall 7s steps(28) var(--delay) infinite;display:block}:root[data-sky=night]:not([data-season=winter]) .firefly{animation:firefly 5s steps(10) var(--delay) infinite;display:block}}@keyframes px-strip{0%{background-position-x:var(--strip)}to{background-position-x:calc(var(--strip) - var(--frames) * var(--fw))}}@keyframes leaf-fall{0%{opacity:0;translate:0}10%{opacity:1}50%{translate:var(--drift) 36px}90%{opacity:1}to{translate:calc(var(--drift) * -.5) 72px;opacity:0}}@keyframes firefly{0%,to{opacity:0;translate:0}20%{opacity:1}50%{opacity:.4;translate:3px -4px}70%{opacity:1}90%{opacity:0;translate:-2px -2px}}.world.is-paused *{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){.npc__sprite,.px{animation:none!important}.weather{display:none}}.bubble{--tail-x:50%;--fill:var(--cte-canvas);z-index:30;width:max-content;max-width:min(340px, calc(100vw - 2 * var(--space-l)));background:linear-gradient(var(--world-frame) 0 0) 4px 4px / 4px 4px no-repeat, linear-gradient(var(--world-frame) 0 0) calc(100% - 4px) 4px / 4px 4px no-repeat, linear-gradient(var(--world-frame) 0 0) 4px calc(100% - 4px) / 4px 4px no-repeat, linear-gradient(var(--world-frame) 0 0) calc(100% - 4px) calc(100% - 4px) / 4px 4px no-repeat, var(--fill);box-shadow:inset 0 0 0 4px var(--world-frame);clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 4px,100% 4px,100% calc(100% - 4px),calc(100% - 4px) calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 4px),0 calc(100% - 4px),0 4px,4px 4px);transform-origin:var(--tail-x) 100%;outline:none;position:absolute}.bubble[hidden]{display:none}.bubble>*{margin-inline:var(--space-l)}.bubble__who{margin-top:var(--space-m);color:var(--cte-text-muted)}.bubble__line{margin-top:var(--space-xxs);color:var(--cte-text)}.bubble__line:focus-visible{outline:none}.bubble__note{margin-top:var(--space-xs);color:var(--cte-text-muted)}.bubble__replies{gap:var(--space-xxs) var(--space-l);margin-top:var(--space-s);margin-bottom:var(--space-m);flex-wrap:wrap;display:flex}.bubble__replies:empty{display:none}.bubble__reply{color:var(--cte-accent);text-align:start;text-decoration:underline;text-decoration-color:var(--site-control-edge);text-underline-offset:var(--space-xxs)}.bubble__reply:focus-visible{outline:var(--focus-outline,2px solid var(--cte-focus));outline-offset:var(--space-xxs)}@media (hover:hover) and (pointer:fine){.bubble__reply:hover{text-decoration-color:currentColor}}.bubble__next{width:calc(100% - 2 * var(--space-l));height:var(--space-xl);margin-bottom:var(--space-xs);border-radius:var(--radius-s);outline:none;justify-content:flex-end;display:flex}.bubble__next[hidden]{display:none}.bubble__next:focus-visible .bubble__caret{outline:var(--focus-outline,2px solid var(--cte-focus));outline-offset:var(--space-xxs)}.bubble__caret{width:12px;height:8px;margin-top:var(--space-xs);background:var(--cte-accent);clip-path:polygon(0 0,12px 0,12px 4px,8px 4px,8px 8px,4px 8px,4px 4px,0 4px)}@media (prefers-reduced-motion:no-preference){.bubble__caret{animation:1.2s steps(2,end) infinite caret-nudge}.bubble.is-opening{animation:bubble-pop var(--motion-large-visual-duration,.36s) var(--motion-easing) both}}@keyframes caret-nudge{50%{translate:0 4px}}@keyframes bubble-pop{0%{opacity:0;scale:.92}}.bubble-tail{z-index:31;background:var(--world-frame);clip-path:polygon(0 0,16px 0,16px 4px,12px 4px,12px 8px,4px 8px,4px 4px,0 4px);pointer-events:none;width:16px;height:8px;position:absolute}.bubble-tail:before{content:"";background:var(--cte-canvas);width:8px;height:4px;position:absolute;top:0;left:4px}.bubble-tail[hidden]{display:none}.bubble-tail.is-up{scale:1 -1}@media (width<=40rem){.bubble{width:auto;max-width:none;position:fixed;inset:auto var(--space-s) calc(var(--space-s) + env(safe-area-inset-bottom)) var(--space-s)!important}.bubble-tail{display:none}}@media (prefers-reduced-motion:no-preference){.prop.has-letter.is-new .prop__letter{animation:.6s step-end both mailbox-flag}}@keyframes mailbox-flag{0%{translate:0 2px}33%{translate:0 -1px}66%,to{translate:none}}.letter{width:min(30rem, calc(100vw - 2 * var(--space-l)));max-height:calc(100dvh - 2 * var(--space-l));padding:var(--space-xl);border-radius:var(--radius-l);background:var(--site-raised);color:var(--cte-text);box-shadow:inset 0 0 0 var(--stroke-width) var(--site-hairline), var(--site-raised-shadow);text-wrap:pretty;border:0;margin:auto;overflow:auto}.letter::backdrop{background:color-mix(in oklab, var(--cte-canvas) 60%, transparent)}.letter__body{outline:none}.letter__body>p+p{margin-top:var(--space-m)}.letter__note{margin-top:var(--space-s);color:var(--cte-text-muted)}.letter__end{justify-content:space-between;align-items:center;gap:var(--space-s) var(--space-l);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.letter__reply{align-items:center;gap:var(--space-xs) var(--space-s);flex-wrap:wrap;display:flex}.letter__address{color:var(--cte-text-muted)}.letter__close{padding:var(--space-xs) var(--space-l);border-radius:var(--radius-s);background:var(--site-hover);color:var(--cte-text);box-shadow:var(--border-shadow-s), var(--border-shadow-none);margin-inline-start:auto}@media (prefers-reduced-motion:no-preference){.letter[open]{animation:letter-open var(--motion-duration) var(--motion-easing) both}.letter[open]::backdrop{animation:letter-scrim var(--motion-duration) var(--motion-easing) both}}@keyframes letter-open{0%{opacity:0;scale:var(--motion-popup-scale)}}@keyframes letter-scrim{0%{opacity:0}}@media (width<=40rem){.letter{padding:var(--space-l)}}.world{view-timeline:--world-arrive block}.world__heavens{--rise:8}.world__skyline{--rise:16}.street>:is(.art:not(.art--park),.art-lit,.room,.thing[data-room]){--rise:28}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.world__heavens,.world__skyline,.street>:is(.art:not(.art--park),.art-lit,.room,.thing[data-room]){animation-name:world-rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--world-arrive;animation-range:entry entry 75%}.world.is-paused :is(.world__heavens,.world__skyline),.world.is-paused .street>:is(.art,.art-lit,.room,.thing[data-room]){animation-play-state:running!important}}}@keyframes world-rise{0%{transform:translateY(calc(var(--rise) * 1px))}to{transform:none}}.street.is-noticing .npc:not([data-act=sit],[data-act=doze],[data-asleep],[data-out],.is-walking,.is-away){--row:var(--r-idle);--frames:6;--dur:1.2s}@media (prefers-reduced-motion:no-preference){.street.is-noticing .npc:not([data-act=sit],[data-act=doze],[data-asleep],[data-out],.is-walking,.is-away) .npc__sprite{animation:npc-play var(--dur) steps(var(--frames)) infinite, notice-hop .5s var(--notice-delay,0s) 1 both}}@keyframes notice-hop{0%,24.9%{transform:none}25%,49.9%{transform:translateY(-2px)}50%,74.9%{transform:translateY(-1px)}75%,to{transform:none}}:root{--horizon-far:color-mix(in oklab, var(--wash-day-1) 34%, var(--wash-day-5));--horizon-town:color-mix(in oklab, var(--wash-day-1) 70%, var(--wash-day-4));--horizon-bus:color-mix(in oklab, var(--color-1) 30%, var(--horizon-town));--horizon-glass:color-mix(in oklab, var(--horizon-town) 55%, var(--wash-day-5));--horizon-lit:var(--color-4);--horizon-far-lit:color-mix(in oklab, var(--color-4) 55%, var(--horizon-far));--horizon-far-on:0}:root[data-sky=dawn]{--horizon-far:color-mix(in oklab, var(--wash-dawn-2) 40%, var(--wash-dawn-4));--horizon-town:color-mix(in oklab, var(--wash-dawn-1) 80%, var(--wash-dawn-3));--horizon-glass:color-mix(in oklab, var(--horizon-town) 55%, var(--wash-dawn-5))}:root[data-sky=dusk]{--horizon-far:color-mix(in oklab, var(--wash-dusk-2) 55%, var(--wash-dusk-3));--horizon-town:color-mix(in oklab, var(--wash-dusk-1) 85%, var(--wash-dusk-2));--horizon-glass:var(--wash-dusk-5);--horizon-far-on:.75}:root[data-sky=night]{--horizon-far:color-mix(in oklab, var(--wash-night-1) 45%, var(--sky-night-3));--horizon-town:var(--wash-night-1);--horizon-bus:color-mix(in oklab, var(--color-1) 50%, var(--horizon-town));--horizon-glass:var(--horizon-lit);--horizon-far-on:1}:root[data-sky=night][data-theme=night]{--horizon-far:color-mix(in oklab, var(--wash-night-1) 30%, var(--night-surface-2))}.horizon{top:calc(var(--sky-art) - var(--hz-h));z-index:0;height:var(--hz-h);-webkit-tap-highlight-color:transparent;outline:none;display:block;position:absolute;left:0;right:0;overflow:hidden}.horizon__art{display:block;position:absolute;inset:0}.horizon__layer{height:var(--hz-h);image-rendering:pixelated;display:block;position:absolute;bottom:0;mask-position:0 100%;mask-repeat:no-repeat}.horizon{--hz-mid:calc(50%)}@supports (left:round(down, 50%, 1px)){.horizon{--hz-mid:round(down, 50%, 1px)}}.horizon__far{left:calc(var(--hz-mid) - var(--hz-far-w) * 2.5);width:calc(var(--hz-far-w) * 5);background:var(--horizon-far);mask-image:var(--hz-far);mask-repeat:repeat-x}.horizon__town{left:calc(var(--hz-mid) - var(--hz-town-w) / 2);width:var(--hz-town-w);background:var(--horizon-town);mask-image:var(--hz-town)}.horizon__far.horizon__lit{background:var(--horizon-far-lit);mask-image:var(--hz-far-lit);opacity:var(--horizon-far-on)}.horizon__town.horizon__lit{background:var(--horizon-glass);mask-image:var(--hz-town-lit)}.horizon__bus{bottom:0;left:calc(-1 * var(--hz-bus-w));width:var(--hz-bus-w);height:var(--hz-bus-h);visibility:hidden;position:absolute}.horizon__bus>.horizon__layer{width:100%;height:100%;left:0}.horizon__bus-body{background:var(--horizon-bus);mask-image:var(--hz-bus)}.horizon__bus-lit{background:var(--horizon-glass);mask-image:var(--hz-bus-lit)}.horizon:focus-visible .horizon__art{filter:var(--world-outline)}@media (hover:hover) and (pointer:fine){.horizon:hover .horizon__art{filter:var(--world-outline)}}@media (prefers-reduced-motion:no-preference){.horizon__bus[data-running]{visibility:visible}}@media (width<=39.99rem){.horizon{--hz-k:.6667;height:calc(var(--hz-h) * var(--hz-k));top:calc(var(--sky-art) - var(--hz-h) * var(--hz-k))}.horizon__art{zoom:var(--hz-k)}}@media print{.horizon{display:none}}.world__scroller{top:calc((var(--sky-top) - var(--stage-head,0)) * var(--s) * 1px);padding-top:calc(var(--stage-head,0) * var(--s) * 1px)}.street{overflow:clip visible}@media (width>=1536px){.world__scroller{justify-content:center;overflow:clip}.street{margin-inline:0;overflow:visible}.world__track{justify-content:center}}.horizon__out{left:calc(var(--hz-mid) - var(--hz-out-w) / 2);width:var(--hz-out-w);background:var(--horizon-town);mask-image:var(--hz-out)}.horizon__out.horizon__lit{background:var(--horizon-glass);mask-image:var(--hz-out-lit)}.world-sound{z-index:20;top:calc((var(--sky-top) - var(--stage-head,0) - 14) * var(--s) * 1px);right:calc(4px * var(--s));width:calc(13px * var(--s));height:calc(13px * var(--s));cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;padding:0;position:absolute}.world-sound[hidden]{display:none}.world-sound:before{content:"";position:absolute;inset:-3px}.world-sound svg{width:100%;height:100%;display:block}.world-sound__ink{fill:var(--world-frame)}.world-sound__fill{fill:var(--cte-canvas)}.world-sound[aria-pressed=true] .world-sound__fill{fill:var(--sky-switch-on)}.world-sound[aria-pressed=true] .world-sound__off,.world-sound[aria-pressed=false] .world-sound__on{display:none}.world-sound:focus-visible{outline:var(--focus-outline);outline-offset:2px}@media (hover:hover) and (pointer:fine){.world-sound:hover .world-sound__fill{fill:var(--site-hover)}}.street .door .prop__sprite{opacity:0}.street .door:is(:focus-visible,.is-near) .prop__sprite{opacity:1}@media (hover:hover) and (pointer:fine){.street .door:hover .prop__sprite{opacity:1}}.street .door:after{content:"";background:var(--world-outline-out);clip-path:polygon(3px 0,4px 0,7px 3px,7px 5px,5px 5px,5px 3px,2px 3px,2px 5px,0 5px,0 3px);width:7px;height:5px;display:none;position:absolute;top:-9px;left:calc(50% - 3px)}.street .door.is-near:after{display:block}.world__body{--up:clamp(0, (var(--sky-alt,.8) - .3) * 1000, 1);--clear:max(4px, calc((var(--sky-top) - var(--stage-head,0) - 16) * 1px));--at:calc(8px + (var(--low) - 8px) * (1 - var(--sky-alt,.8)));top:calc(var(--at) - var(--up) * max(0px, var(--at) - var(--clear)))}@supports (top:round(1px, 1px)){.world__body{top:round(calc(var(--at) - var(--up) * max(0px, var(--at) - var(--clear))), 1px)}}.bus-part{pointer-events:none;display:none}.street[data-bus-here] .bus__door[data-open]{background-position:calc(var(--fx) - var(--frame,0) * var(--fw)) var(--fy);display:block}.bus__lit,.living-van-lit,.bus__door-lit{filter:none;pointer-events:none;opacity:0}.street[data-bus-here] .bus__door-lit[data-open]{display:none}:root:is([data-sky=dusk],[data-sky=night]) .street[data-bus-here] .bus__door-lit[data-open],:root:is([data-sky=dusk],[data-sky=night]) .street[data-bus-here] .bus__lit{display:block}:root[data-sky=dusk] :is(.bus__lit,.living-van-lit,.bus__door-lit){opacity:.75}:root[data-sky=night] :is(.bus__lit,.living-van-lit,.bus__door-lit){opacity:1}.socials[data-astro-cid-qbunpjfh]{align-items:center;gap:var(--space-xxs);margin-inline:calc(-1 * var(--space-xs));display:flex}.socials__link[data-astro-cid-qbunpjfh]{border-radius:var(--radius-full);width:32px;height:32px;color:var(--cte-text-muted);place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.socials__link[data-astro-cid-qbunpjfh]:hover{background:var(--site-hover);color:var(--cte-text)}}.site-footer[data-astro-cid-nns7i3if]{margin-top:var(--space-xxl);box-shadow:inset 0 var(--stroke-width) 0 var(--site-hairline)}.site-footer__inner[data-astro-cid-nns7i3if]{align-items:center;gap:var(--space-s) var(--space-l);max-width:calc(var(--page-max) + 2 * var(--page-inline));padding:var(--space-l) var(--page-inline);color:var(--site-text-secondary);flex-wrap:wrap;margin-inline:auto;display:flex}.site-footer__line[data-astro-cid-nns7i3if]{gap:var(--space-xs) var(--space-l);flex-wrap:wrap;display:flex}.site-footer__link[data-astro-cid-nns7i3if]{text-decoration:none}@media (hover:hover) and (pointer:fine){.site-footer__link[data-astro-cid-nns7i3if]:hover{text-decoration:underline}}:root{--sky-wx-grey:color-mix(in oklab, var(--wash-night-haze) 50%, var(--night-text-muted));--sky-wx-dark:color-mix(in oklab, var(--night-text-muted) 75%, var(--wash-dusk-1));--sky-wx-storm:color-mix(in oklab, var(--wash-dusk-1) 70%, var(--night-text-muted));--sky-wx-fog:color-mix(in oklab, var(--wash-night-haze) 60%, var(--wash-cloud));--sky-wx-haze:var(--wash-night-haze);--sky-wx-haze-fog:color-mix(in oklab, var(--wash-night-haze) 60%, var(--wash-cloud));--sky-wx-rain:color-mix(in oklab, var(--wash-day-6) 50%, var(--night-text-muted));--sky-wx-snow:var(--wash-cloud);--sky-wx-k:0;--sky-wx-mk:0;--sky-wx-g:var(--sky-wx-grey);--sky-wx-h:var(--sky-wx-haze)}:root[data-sky=dawn]{--sky-wx-grey:color-mix(in oklab, var(--wash-dawn-1) 50%, var(--wash-dawn-5));--sky-wx-dark:color-mix(in oklab, var(--wash-dawn-1) 70%, var(--night-text-muted));--sky-wx-fog:color-mix(in oklab, var(--wash-dawn-6) 70%, var(--wash-cloud));--sky-wx-rain:color-mix(in oklab, var(--wash-dawn-1) 55%, var(--wash-dawn-6));--sky-wx-snow:var(--wash-dawn-6)}:root[data-sky=dusk]{--sky-wx-grey:color-mix(in oklab, var(--wash-dusk-1) 60%, var(--wash-dusk-5));--sky-wx-dark:color-mix(in oklab, var(--wash-dusk-1) 80%, var(--night-text-muted));--sky-wx-fog:color-mix(in oklab, var(--wash-dusk-6) 70%, var(--wash-dusk-5));--sky-wx-rain:color-mix(in oklab, var(--wash-dusk-1) 50%, var(--wash-dusk-6));--sky-wx-snow:var(--wash-dusk-6)}:root[data-sky=night]{--sky-wx-grey:color-mix(in oklab, var(--night-surface-2) 70%, var(--night-hairline));--sky-wx-dark:var(--night-surface-2);--sky-wx-storm:color-mix(in oklab, var(--night-surface-2) 85%, var(--wash-dusk-1));--sky-wx-fog:color-mix(in oklab, var(--night-surface-2) 50%, var(--night-hairline));--sky-wx-rain:color-mix(in oklab, var(--night-text-muted) 70%, var(--wash-night-3));--sky-wx-snow:var(--wash-night-haze)}:root[data-theme=night]{--sky-wx-haze:var(--night-surface);--sky-wx-haze-fog:var(--night-surface-2)}:root[data-weather=cloudy]{--sky-wx-k:calc(.2 + .4 * var(--weather-intensity,.8));--sky-wx-mk:calc(.5 * var(--weather-intensity,.8))}:root[data-weather=snow]{--sky-wx-k:calc(.3 + .2 * var(--weather-intensity,.6));--sky-wx-mk:.45}:root[data-weather=rain]{--sky-wx-g:var(--sky-wx-dark);--sky-wx-k:calc(.35 + .2 * var(--weather-intensity,.6));--sky-wx-mk:.55}:root[data-weather=storm]{--sky-wx-g:var(--sky-wx-storm);--sky-wx-k:calc(.55 + .15 * var(--weather-intensity,.9));--sky-wx-mk:.65}:root[data-weather=fog]{--sky-wx-g:var(--sky-wx-fog);--sky-wx-h:var(--sky-wx-haze-fog);--sky-wx-k:calc(.45 + .35 * var(--weather-intensity,.7));--sky-wx-mk:.6}@supports (color:color-mix(in oklab, red, blue)){:root[data-weather]:not([data-weather=clear]) .sky__layer{--sky-wx-p:calc(var(--sky-wx-k) * 100%);--sky-wx-mp:calc(var(--sky-wx-mk) * 100%)}:root[data-weather]:not([data-weather=clear]) .sky__layer[data-state=day]{--b1:color-mix(in oklab, var(--wash-day-1), var(--sky-wx-g) var(--sky-wx-p));--b2:color-mix(in oklab, var(--wash-day-2), var(--sky-wx-g) var(--sky-wx-p));--b3:color-mix(in oklab, var(--wash-day-3), var(--sky-wx-g) var(--sky-wx-p));--b4:color-mix(in oklab, var(--wash-day-4), var(--sky-wx-g) var(--sky-wx-p));--b5:color-mix(in oklab, var(--wash-day-5), var(--sky-wx-g) var(--sky-wx-p));--b6:color-mix(in oklab, var(--wash-day-6), var(--sky-wx-h) var(--sky-wx-mp));--mist:var(--b6)}:root[data-weather]:not([data-weather=clear]) .sky__layer[data-state=dawn]{--b1:color-mix(in oklab, var(--wash-dawn-1), var(--sky-wx-g) var(--sky-wx-p));--b2:color-mix(in oklab, var(--wash-dawn-2), var(--sky-wx-g) var(--sky-wx-p));--b3:color-mix(in oklab, var(--wash-dawn-3), var(--sky-wx-g) var(--sky-wx-p));--b4:color-mix(in oklab, var(--wash-dawn-4), var(--sky-wx-g) var(--sky-wx-p));--b5:color-mix(in oklab, var(--wash-dawn-5), var(--sky-wx-g) var(--sky-wx-p));--b6:color-mix(in oklab, var(--wash-dawn-6), var(--sky-wx-h) var(--sky-wx-mp));--mist:var(--b6)}:root[data-weather]:not([data-weather=clear]) .sky__layer[data-state=dusk]{--b1:color-mix(in oklab, var(--wash-dusk-1), var(--sky-wx-g) var(--sky-wx-p));--b2:color-mix(in oklab, var(--wash-dusk-2), var(--sky-wx-g) var(--sky-wx-p));--b3:color-mix(in oklab, var(--wash-dusk-3), var(--sky-wx-g) var(--sky-wx-p));--b4:color-mix(in oklab, var(--wash-dusk-4), var(--sky-wx-g) var(--sky-wx-p));--b5:color-mix(in oklab, var(--wash-dusk-5), var(--sky-wx-g) var(--sky-wx-p));--b6:color-mix(in oklab, var(--wash-dusk-6), var(--sky-wx-h) var(--sky-wx-mp));--mist:var(--b6)}:root[data-weather]:not([data-weather=clear]) .sky__layer[data-state=night]{--b1:color-mix(in oklab, var(--wash-night-1), var(--sky-wx-g) var(--sky-wx-p));--b2:color-mix(in oklab, var(--wash-night-2), var(--sky-wx-g) var(--sky-wx-p));--b3:color-mix(in oklab, var(--wash-night-3), var(--sky-wx-g) var(--sky-wx-p));--b4:color-mix(in oklab, var(--wash-night-4), var(--sky-wx-h) var(--sky-wx-mp));--mist:var(--b4)}:root[data-theme=day][data-weather]:not([data-weather=clear]) .sky__layer[data-state=night]{--b3:color-mix(in oklab, var(--sky-night-3), var(--sky-wx-g) var(--sky-wx-p));--b4:color-mix(in oklab, var(--wash-night-haze), var(--sky-wx-h) var(--sky-wx-mp));--mist:var(--b4)}}:root:is([data-weather=cloudy],[data-weather=rain],[data-weather=storm],[data-weather=snow],[data-weather=fog]) .sky__drift{filter:grayscale(.75)brightness(.86)}:root[data-weather=cloudy] .sky__body{opacity:calc(1 - .6 * var(--weather-intensity,.8))}:root:is([data-weather=rain],[data-weather=storm],[data-weather=snow],[data-weather=fog]) .sky__body{opacity:.4}:root[data-weather=cloudy] :is(.sky__twinkle,.sky__sparkle){opacity:calc(1 - var(--weather-intensity,.8))!important}:root:is([data-weather=rain],[data-weather=storm],[data-weather=snow],[data-weather=fog]) :is(.sky__twinkle,.sky__sparkle){opacity:.12!important}:root[data-weather]:not([data-weather=clear]) .sky__meteor{display:none}:root[data-wind=breezy] .sky__drift{animation-duration:calc(var(--drift) * .6)}:root[data-wind=windy] .sky__drift{animation-duration:calc(var(--drift) * .4)}.sky-wx{z-index:2;height:var(--sky-art);pointer-events:none;--wx-play:running;display:none;position:absolute;inset:0 0 auto;overflow:hidden;mask-image:linear-gradient(#000 0 78%,#0000008c 78% 90%,#00000040 90%)}.sky[data-paused] .sky-wx{--wx-play:paused}.sky-wx__x{top:0;left:calc(-1 * var(--wx-w));width:calc(100% + var(--wx-w));height:100%;animation-play-state:var(--wx-play);display:none;position:absolute}.sky-wx__y{top:calc(-1 * var(--wx-h));width:100%;max-width:none;animation:sky-wx-fall var(--wx-dur) steps(var(--wx-steps-y)) infinite;animation-play-state:var(--wx-play);will-change:transform;position:absolute;left:0}@keyframes sky-wx-fall{to{transform:translateY(var(--wx-h))}}@keyframes sky-wx-blow{to{transform:translateX(var(--wx-w))}}.sky-wx__x--rain{--wx-dur:2.9s;opacity:calc(.35 + .25 * var(--weather-intensity,.6))}.sky-wx__y--rain path{fill:var(--sky-wx-rain)}:root[data-weather=storm] .sky-wx__x--rain{--wx-dur:2.2s;opacity:.65}.sky-wx__x--snow{--wx-dur:17.3s}.sky-wx__y--snow path{fill:var(--sky-wx-snow)}:root[data-wind=breezy] .sky-wx__x{animation:sky-wx-blow calc(var(--wx-dur) * 2) steps(var(--wx-steps-x)) infinite;animation-play-state:var(--wx-play)}:root[data-wind=windy] .sky-wx__x{animation:sky-wx-blow var(--wx-dur) steps(var(--wx-steps-x)) infinite;animation-play-state:var(--wx-play)}@media (prefers-reduced-motion:no-preference){:root:is([data-weather=rain],[data-weather=storm],[data-weather=snow]) .sky-wx,:root:is([data-weather=rain],[data-weather=storm]) .sky-wx__x--rain,:root[data-weather=snow] .sky-wx__x--snow{display:block}}:root:is([data-weather=cloudy],[data-weather=rain],[data-weather=storm],[data-weather=snow],[data-weather=fog]) .horizon__art>*{filter:saturate(.55)}.horizon__layer.horizon__cap{background:var(--sky-wx-snow);opacity:1;display:none}:root[data-weather=snow] .horizon__layer.horizon__cap{display:block}.horizon__far.horizon__cap{mask-image:var(--hz-far-cap)}.horizon__town.horizon__cap{mask-image:var(--hz-town-cap)}.horizon__out.horizon__cap{mask-image:var(--hz-out-cap)}.wx-line{align-items:center;gap:var(--space-xs);min-width:0;height:36px;color:var(--cte-text-muted);display:flex}:root:not([data-sky-choice]) .wx-line{display:none}.wx-line__icon{background:var(--wx-icons) no-repeat calc(var(--wx-i,0) * -36px) 0 / var(--wx-icons-w) 36px;width:36px;height:36px;image-rendering:pixelated;flex:none}.wx-line:not([data-filled])>*{visibility:hidden}.wx-line__temp{color:var(--cte-text);white-space:nowrap;font-variant-numeric:tabular-nums;flex:none}.wx-line__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.wx-line__temp:not([hidden]){gap:var(--space-xxs);display:inline-flex}.wx-line__temp[hidden]{display:none}.wx-line__f{color:var(--cte-text-muted)}.identity__wx{margin-top:var(--space-s)}.wx-line--compact{gap:var(--space-xxs);justify-content:flex-end;min-width:76px}.wx-line--compact .wx-line__label{display:none}.wx-line--compact .wx-line__temp:not([hidden]){flex-direction:column;align-items:flex-end;gap:0}.wx-line--compact .wx-line__temp:has(.wx-line__f){font-size:var(--size-xs);line-height:var(--line-xs);letter-spacing:var(--letter-spacing-xs)}.identity__actions>.wx-line{margin-right:var(--space-xxs)}@media (width<=23.99rem){.identity__actions>.wx-line{min-width:36px}.identity__actions>.wx-line .wx-line__temp{display:none}}@media (width<=20.99rem){.identity__actions>.wx-line{display:none}}:root .rail__home:has(>.rail__wx)>.rail__wx{flex-basis:100%}@media (width>=64rem){:root .rail__home:has(>.rail__wx){flex-flow:wrap;align-items:center}:root .rail__home:has(>.rail__wx)>:not(.rail__sky,.rail__wx){flex-basis:100%}:root .rail__home:has(>.rail__wx)>.rail__wx{flex:1 1 0}}@media print{.sky-wx,.wx-line{display:none}}:root[data-weather=fog]{--sky-wx-k:calc(.62 + .3 * var(--weather-intensity,.7));--sky-wx-mk:.82}:root[data-weather=fog] .sky__drift{opacity:.3}:root[data-weather=fog] .horizon__art>*{opacity:.5}:root[data-weather=fog] .sky__clip:before,:root[data-weather=fog] .sky__clip:after{content:"";z-index:1;background:repeating-conic-gradient(var(--sky-wx-fog) 0 25%, #0000 0 100%) 0 0 / 8px 8px;opacity:.7;pointer-events:none;height:46%;position:absolute;inset:auto 0 0}:root[data-weather=fog] .sky__clip:before{background-position:4px 4px;height:22%}.street .prop[data-prop=whiteboard]{z-index:3!important}.street .npc[data-npc=builder]{z-index:4!important}.street .prop[data-prop=desk]{z-index:5!important}.day-room{pointer-events:none}.day-room--lamp-on,.day-room--screen-glow,.day-room--lamp-glow{filter:none;display:none}.day-room--mug{display:none}.street:is([data-shift=evening],[data-shift=late],[data-shift=asleep]) :is(.day-room--lamp-on,.day-room--lamp-glow),.street:is([data-shift=late],[data-shift=asleep]) .day-room--screen-glow{display:block}.street[data-shift=late] .day-room--screen-glow{opacity:.7}.street[data-shift=evening] .day-room--lamp-glow{opacity:.6}.street[data-shift=asleep] .room[data-room=office-up]{background:var(--world-room-dark)}.street[data-shift=asleep] .prop[data-prop=whiteboard] .prop__sprite,.street[data-shift=asleep] :is(.day-room--chair,.day-room--laptop,.day-room--lamp){filter:brightness(.45)saturate(.7)}.street[data-shift=asleep] .prop[data-prop=desk] .prop__sprite{filter:brightness(.6)saturate(.8)}.street .npc[data-npc=builder][data-act=doze] .npc__sprite{translate:0 var(--doze-y,9px)}.street[data-shift=dawn] .day-room--mug{display:block}.street[data-shift=dawn] .npc[data-npc=builder]{translate:var(--dawn-at,-14px -2px)}.street>:is(.day-room,.day-book,.day-door){--rise:28}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.street>:is(.day-room,.day-book,.day-door){animation-name:world-rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--world-arrive;animation-range:entry entry 75%}.world.is-paused .street>:is(.day-room,.day-book,.day-door){animation-play-state:running!important}}}.phone-door{pointer-events:none;background-position:calc(var(--fx) - var(--frame,0) * var(--fw)) var(--fy)}.phone-ring{pointer-events:none;filter:none;display:none}.street[data-ringing] .phone-ring{display:block}@media (prefers-reduced-motion:no-preference){.street[data-ringing] :is(.prop[data-prop=phone-box] .prop__sprite,.phone-door){animation:.8s step-end infinite phone-shake}.street[data-ringing] .phone-ring{animation:.8s step-end infinite phone-ring}}@keyframes phone-shake{0%{translate:1px}12.5%{translate:-1px}25%{translate:1px}37.5%{translate:-1px}50%,to{translate:0}}@keyframes phone-ring{0%,49.9%{opacity:1}50%,to{opacity:0}}.npc[data-act=pick]{--row:var(--r-pickRight);--frames:12;--dur:1s}.npc[data-act=pick][data-dir=left]{--row:var(--r-pickLeft)}.npc[data-act=pick] .npc__sprite{animation:npc-once var(--dur) steps(var(--frames), jump-none) 1 forwards}@keyframes npc-once{0%{background-position-x:0}to{background-position-x:calc((var(--frames) - 1) * -16px)}}.prop[data-carried] .prop__sprite{translate:0 -1px}.street.is-traveller-out .prop[data-prop=suitcase][data-arriving]{display:block}.day-book{pointer-events:none;--frames:12;--dur:2.4s;display:block;position:absolute}.day-book__sprite{background-position:var(--fx) var(--fy);filter:var(--world-room-filter);inset:0}.day-book[data-act]:not([data-act=read]){display:none}.street.is-study-dark .day-book__sprite{filter:brightness(.45)saturate(.7)}.npc[data-reads][data-act=read],.day-book[data-reads]{--frames:6;--dur:3s}@media (prefers-reduced-motion:no-preference){.day-book__sprite{animation:book-play var(--dur) steps(var(--frames)) infinite}.npc[data-reads][data-act=read][data-page] .npc__sprite{animation:1.2s steps(6,end) forwards page-turn}.day-book[data-page] .day-book__sprite{animation:1.2s steps(6,end) forwards book-turn}}@keyframes book-play{0%{background-position-x:var(--fx)}to{background-position-x:calc(var(--fx) - var(--frames) * 16px)}}@keyframes book-turn{0%{background-position-x:calc(var(--fx) - 96px)}to{background-position-x:calc(var(--fx) - 192px)}}@keyframes page-turn{0%{background-position-x:-96px}to{background-position-x:-192px}}.street .lamp[data-lit=off] :is(.lamp__glow,.lamp__bulb),.street .lamp__pool[data-lit=off]{display:none}.street .lamp[data-lit=on] :is(.lamp__glow,.lamp__bulb),.street .lamp__pool[data-lit=on]{display:block}.street .lamp[data-lit=on] .lamp__glow,.street .lamp__pool[data-lit=on]{opacity:.6}.npc[data-act=lift]{--row:var(--r-liftRight);--frames:12;--dur:1.4s}.npc[data-act=lift][data-dir=left]{--row:var(--r-liftLeft)}.npc[data-act=lift] .npc__sprite{animation:npc-once var(--dur) steps(var(--frames), jump-none) 1 forwards}.npc.is-away[data-going] .npc__sprite{visibility:visible}.npc[data-coming] .npc__sprite{visibility:hidden}.day-door{pointer-events:none;background-position:calc(var(--fx) - var(--frame,0) * var(--fw)) var(--fy)}.day-truck{pointer-events:none}.day-pole{pointer-events:none;--pf:0;--pu:0;--pr:2;background-position:calc(var(--fx) - (var(--pf) + var(--pu)) * 40px) var(--fy);width:40px;height:40px;display:none;top:-12px;left:-4px}.npc[data-held]>.day-pole:not([hidden]){display:block}.npc[data-dir=left]>.day-pole{--pf:1}.day-pole[data-reach=far]{--pr:3}.street[data-lamplighter=out] .day-pole{--pu:4}.npc[data-act=lift]>.day-pole{animation:1.4s step-end forwards day-pole-lift}@keyframes day-pole-lift{0%{background-position-x:calc(var(--fx) - var(--pu) * 40px)}17%{background-position-x:calc(var(--fx) - (var(--pr) + var(--pu)) * 40px)}83%,to{background-position-x:calc(var(--fx) - var(--pu) * 40px)}}.day-door--lit{filter:none;opacity:0}:root[data-sky=dusk] .day-door--lit{opacity:.75}:root[data-sky=night] .day-door--lit{opacity:1}.you>.you__gift{pointer-events:none}@media (prefers-reduced-motion:no-preference){.you.is-gifted{animation:.6s step-end living-hop}.street.is-hinting .you>.you__gift{animation:npc-play var(--dur) steps(var(--frames)) infinite, hint-hop 1.6s infinite}}@keyframes living-hop{0%{translate:0 -2px}33%{translate:0 -1px}66%,to{translate:none}}.street .npc.thing[data-npc][data-gift]{--row:var(--r-giftFront);--frames:10;--dur:1s}.street .npc.thing[data-npc][data-gift=right]{--row:var(--r-giftRight)}.street .npc.thing[data-npc][data-gift=left]{--row:var(--r-giftLeft)}.street .npc.thing[data-npc][data-gift] .npc__sprite{animation:living-once var(--dur) steps(var(--frames), jump-none) 1 forwards}@keyframes living-once{0%{background-position-x:0}to{background-position-x:calc((var(--frames) - 1) * -16px)}}.living-van{pointer-events:none}.living-postman{pointer-events:none;--row:var(--r-idle);--frames:6;--dur:1.2s;width:16px;height:32px;display:block;position:absolute}.living-postman[data-act=walk]{--row:var(--r-walkRight);--dur:.6s}.living-postman[data-act=walk][data-dir=left]{--row:var(--r-walkLeft)}.living-postman[data-act=post]{--row:var(--r-giftRight);--frames:10;--dur:1s}.living-postman[data-act=tip]{--row:var(--r-tip);--frames:6;--dur:.9s}.living-postman:is([data-act=post],[data-act=tip]) .npc__sprite{animation:living-once var(--dur) steps(var(--frames), jump-none) 1 forwards}.living-roof{pointer-events:none;display:block;position:absolute}.living-blades{pointer-events:none}@media (prefers-reduced-motion:no-preference){.street[data-blades=turning] .living-blades{animation:px-strip var(--blades-dur,1s) steps(var(--frames)) infinite}}.street[data-line=bare] .living-clothes{display:none}@media (prefers-reduced-motion:no-preference){.street[data-line=out]:is([data-sway=breezy],[data-sway=windy]) .living-clothes{animation:px-strip var(--clothes-dur,1.2s) steps(var(--frames)) infinite}}.street .prop[data-prop=clothesline] .prop__sprite{filter:var(--world-sprite-filter)}.street .prop[data-prop=clothesline]:is(:focus-visible,.is-near,.is-talking) .prop__sprite,.street:has(.prop[data-prop=clothesline]:is(:focus-visible,.is-near,.is-talking)) .living-clothes{filter:var(--world-outlined)}@media (hover:hover) and (pointer:fine){.street .prop[data-prop=clothesline]:hover .prop__sprite,.street:has(.prop[data-prop=clothesline]:hover) .living-clothes{filter:var(--world-outlined)}}.street:not([data-lemonade=out]) .prop[data-prop=lemonade]{display:none}.living-mushrooms{pointer-events:none;display:none}.street[data-mushrooms] .living-mushrooms{display:block}.street>:is(.living-roof,.prop[data-prop=clothesline]){--rise:28}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.street>:is(.living-roof,.prop[data-prop=clothesline]){animation-name:world-rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--world-arrive;animation-range:entry entry 75%}.world.is-paused .street>:is(.living-roof,.prop[data-prop=clothesline]){animation-play-state:running!important}}}.street>[data-street3][hidden]{display:none!important}.street3-awning{background-position-x:calc(var(--strip) - var(--frame,0) * var(--fw))!important}.street3-awning[data-frame="1"]{--frame:1}.street3-awning[data-frame="2"]{--frame:2}.street3-awning[data-frame="3"]{--frame:3}.street3-awning[data-frame="4"]{--frame:4}.street3-awning[data-frame="5"]{--frame:5}.street3-fountain{pointer-events:none;display:block;position:absolute}.street3-fountain>.px{pointer-events:none}.street3-fountain__off,.street3-fountain__ice,.street[data-fountain=off] .street3-fountain__run,.street[data-fountain=frozen] .street3-fountain__run{display:none}.street[data-fountain=off] .street3-fountain__off,.street[data-fountain=frozen] .street3-fountain__ice{display:block}@media (prefers-reduced-motion:no-preference){.street[data-fountain=running] .street3-fountain__run{animation:px-strip var(--dur,.8s) steps(var(--frames)) infinite}.street3-drinker{animation:px-strip 2.4s steps(var(--frames)) infinite}}.street3-drinker[hidden]{display:none}.street3-thing>span{image-rendering:pixelated;filter:var(--world-sprite-filter);background-repeat:no-repeat;display:block;position:absolute}@media (prefers-reduced-motion:no-preference){.street3-vendor{animation:px-strip 1.2s steps(var(--frames)) infinite}}.street3-sale{pointer-events:none;display:none}.street[data-sale] .street3-sale{display:block}.street3-halloween{pointer-events:none;display:none}.street[data-halloween] .street3-pumpkin{display:block}:root:is([data-sky=dusk],[data-sky=night]) .street[data-halloween] :is(.street3-jack,.street3-jack__glow){filter:none;display:block}:root[data-sky=dusk] .street[data-halloween] .street3-jack__glow{opacity:.6}.street[data-halloween][data-cat-sits] .street3-cat{display:block}@media (prefers-reduced-motion:no-preference){.street3-cat{animation:4s step-end infinite street3-blink}}@keyframes street3-blink{0%,92%,to{background-position-x:var(--strip)}93%,96%{background-position-x:calc(var(--strip) - var(--fw))}}@media (prefers-reduced-motion:reduce){.street3-vendor,.street3-cat{animation:none!important}}.street3-rise{pointer-events:none}.street>.street3-rise{--rise:28}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.street>.street3-rise{animation-name:world-rise;animation-timing-function:linear;animation-fill-mode:both;animation-timeline:--world-arrive;animation-range:entry entry 75%}.world.is-paused .street>.street3-rise{animation-play-state:running!important}}}.street3-awning-snow{pointer-events:none;display:none;position:absolute}:root[data-weather] .street3-awning:not([data-frame="0"])+.street3-awning-snow{display:none!important}.world{--edge-out:240}@media (width<=1535.98px){.world.is-awake .world__track{width:calc((var(--stage-w) + 2 * var(--edge-out)) * var(--s) * 1px)}.world.is-awake .street{overflow:visible}}.world-edge{z-index:20;bottom:calc(2px * var(--s));cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:0;padding:0;display:block;position:absolute}.world-edge--west{left:calc(4px * var(--s))}.world-edge--east{right:calc(4px * var(--s))}.world-edge[hidden],.world[data-inside] .world-edge{display:none}@media (width>=1536px){.world-edge{display:none!important}}.world-edge:before{content:"";position:absolute;inset:-3px}.world-edge__art{zoom:var(--s);background:var(--cte-canvas);height:13px;box-shadow:inset 0 0 0 1px var(--world-frame);clip-path:polygon(1px 0,calc(100% - 1px) 0,calc(100% - 1px) 1px,100% 1px,100% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 100%,1px 100%,1px calc(100% - 1px),0 calc(100% - 1px),0 1px,1px 1px);align-items:center;gap:1px;padding:0 2px;display:flex}.world-edge__arrow{background:var(--world-frame);clip-path:polygon(3px 0,4px 0,4px 7px,3px 7px,3px 6px,2px 6px,2px 5px,1px 5px,1px 4px,0 4px,0 3px,1px 3px,1px 2px,2px 2px,2px 1px,3px 1px);flex:none;width:4px;height:7px}.world-edge--east .world-edge__arrow{order:1;scale:-1 1}.world-edge__icon{background:var(--edge-icons) no-repeat calc(var(--i,0) * -9px) 0 / var(--edge-icons-w) 9px;width:9px;height:9px;image-rendering:pixelated;filter:var(--world-sprite-filter);flex:none}.world-edge__icon[hidden]{display:none}.world-edge:focus-visible{outline:var(--focus-outline);outline-offset:2px}@media (hover:hover) and (pointer:fine){.world-edge:hover .world-edge__art{background:var(--site-hover)}}@media print{.world-edge{display:none}}.wx-ground{inset-inline:0;height:calc((40 - (var(--stage-h) - var(--view-h))) * 1px);zoom:var(--s);pointer-events:none;display:none;position:absolute;bottom:0;overflow:hidden}:root[data-weather=snow] .wx-ground{display:block}.wx-ground>*{pointer-events:none;display:none;position:absolute}.wx-ground>.wx-ground-snow{top:0;bottom:auto;mask-position:calc(50% + 32px) 0}@media print{.wx-ground{display:none}}:root{--world-sky-t:color-mix(in oklab, var(--wash-dusk-3) 50%, var(--cte-canvas))}.world__dusk-step{display:none}:root[data-sky=dusk] .world__dusk-step{display:inline}.world__dusk-band{height:8px}.world__dusk-seam{y:14px}@media (width>=40rem){.world__dusk-band{height:22px}.world__dusk-seam{y:28px}}.horizon__fall{pointer-events:none;display:none;position:absolute;inset:0;overflow:hidden}.horizon__fall>span{image-rendering:pixelated;will-change:transform;display:none;position:absolute;inset:-64px 0 0;mask-size:64px 64px;mask-repeat:repeat}.horizon__fall-rain{background:var(--sky-wx-rain,#9fb4c8);mask-image:var(--hz-wx-rain-0);opacity:.4}:root[data-wind=breezy] .horizon__fall-rain{mask-image:var(--hz-wx-rain-1)}:root[data-wind=windy] .horizon__fall-rain{mask-image:var(--hz-wx-rain-2)}:root[data-weather=storm] .horizon__fall-rain{opacity:.5}.horizon__fall-snow{background:var(--sky-wx-snow,#fff);mask-image:var(--hz-wx-snow);opacity:.75}@media (prefers-reduced-motion:no-preference){:root:is([data-weather=rain],[data-weather=storm],[data-weather=snow]) .horizon__fall{display:block}:root:is([data-weather=rain],[data-weather=storm]) .horizon__fall-rain{animation:.96s steps(32,end) infinite hz-wx-fall;display:block}:root[data-weather=snow] .horizon__fall-snow{animation:9.6s steps(64,end) infinite hz-wx-fall;display:block}.horizon[data-paused] .horizon__fall>span{animation-play-state:paused}}@keyframes hz-wx-fall{to{transform:translateY(64px)}}
