@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{--paper:#faf6ee;--paper-2:#f3ecdf;--ink:#2b2622;--muted:#6d645b;--line:#e6dccb;--accent:#b4532a;--accent-ink:#8f3e1d;--font-display:"Fraunces", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--gutter:16px;color-scheme:light}@media (prefers-color-scheme:dark){:root.view-text{--paper:#1c1916;--paper-2:#26221e;--ink:#efe8dc;--muted:#a99e91;--line:#3a342e;--accent:#e08a5f;--accent-ink:#f0a67f;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font:400 16px/1.65 var(--font-body);margin:0;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);margin:0 0 .5em;font-weight:500;line-height:1.2}h1{font-size:2.2rem}h2{margin-top:2rem;font-size:1.35rem}h3{font-size:1.05rem}a{color:var(--accent-ink);text-underline-offset:3px;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:.875rem}.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}ul.plain{margin:0;padding:0;list-style:none}.empty{color:var(--muted);font-style:italic}.view-text .room,.view-room main.home{display:none}.view-room body{overflow:hidden}.view-toggle{text-align:center;z-index:40;min-width:108px;font:500 .875rem/1 var(--font-body);color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#faf6eeeb;border-radius:999px;padding:9px 14px;position:fixed;bottom:16px;right:16px;box-shadow:0 4px 14px #2b262229}.view-toggle[hidden]{display:none}.view-toggle:hover{background:var(--paper)}.view-text .view-toggle{color:var(--ink);background:var(--paper-2)}.room-backdrop{z-index:10;background:#1c161173;animation:.2s ease-out both fade-in;position:fixed;inset:0}.view-room main.panel{animation:.22s ease-out both panel-in}@keyframes fade-in{0%{opacity:0}}@keyframes panel-in{0%{opacity:0;transform:translate(-50%,calc(8px - 50%))}}.view-text .room-backdrop{display:none}main.page,main.home,.view-text main.panel{max-width:680px;padding:2rem var(--gutter) 4rem;margin:0 auto}.view-room main.panel{z-index:20;width:min(680px, calc(100vw - 2 * var(--gutter)));background:var(--paper);border:1px solid var(--line);border-radius:14px;max-height:calc(100svh - 96px);padding:clamp(20px,5vw,28px) clamp(18px,5vw,32px) 32px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 18px 50px #2b262247}.panel-close{float:right;text-align:center;width:36px;height:36px;color:var(--muted);background:var(--paper);border-radius:50%;margin:-12px -16px 0 0;font-size:24px;line-height:34px;text-decoration:none;display:none;position:sticky;top:0}.view-room .panel-close{display:block}.back-home{color:var(--muted);margin-bottom:1.5rem;font-size:.9rem;text-decoration:none;display:inline-block}.back-home:hover{color:var(--ink)}.view-room .back-home{display:none}.panel-close:hover{color:var(--ink);background:var(--paper-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.list>li{border-bottom:1px solid var(--line);padding:.7rem 0}.list>li:last-child{border-bottom:0}.list .sub{margin:.15rem 0 0}.meta{color:var(--muted);white-space:nowrap;font-size:.85rem}.links-row{flex-wrap:wrap;gap:6px 16px;display:flex}h2>a{color:inherit;text-decoration:none}h2>a:hover{color:var(--accent)}.room{background:#efe6d6;height:100svh;position:relative}.room-viewport{overscroll-behavior-x:contain;scrollbar-width:none;align-items:center;display:flex;position:absolute;inset:0;overflow:auto hidden}.room-viewport::-webkit-scrollbar{display:none}.room-stage{aspect-ratio:3/2;flex:none;width:max(100vw,150svh);position:relative}.room-hint{z-index:30;color:#faf6ee;white-space:nowrap;pointer-events:none;opacity:0;background:#2b2622b8;border-radius:999px;margin:0;padding:8px 14px;font-size:.85rem;transition:opacity .4s;position:fixed;bottom:72px;left:50%;transform:translate(-50%)}.room.show-hint .room-hint{opacity:1}@media (hover:none),(pointer:coarse){.hotspot text{opacity:.92}}.room-art{display:none;position:absolute;inset:0}.room-art img{object-fit:cover;width:100%;height:100%;display:block}.room[data-period=morning] .v-morning,.room[data-period=afternoon] .v-afternoon,.room[data-period=night] .v-night{display:block}.room[data-prev] .room-art{animation:.6s both room-fade-in}.room[data-prev=morning] .v-morning,.room[data-prev=afternoon] .v-afternoon,.room[data-prev=night] .v-night{z-index:1;animation:.6s both room-fade-out;display:block}@keyframes room-fade-in{0%{opacity:0}to{opacity:1}}@keyframes room-fade-out{0%{opacity:1}to{opacity:0}}.hotspots{z-index:3;width:100%;height:100%;position:absolute;inset:0}.hotspot polygon{fill:#0000;stroke:#0000;stroke-width:3px;stroke-dasharray:10 7;stroke-linejoin:round;transition:fill .2s,stroke .2s}.hotspot text{font:500 22px var(--font-body);fill:#2b2622;stroke:#faf6ee;stroke-width:6px;paint-order:stroke;opacity:0;pointer-events:none;transition:opacity .2s}.hotspot:focus{outline:none}.room[data-period=morning] .hide-morning,.room[data-period=afternoon] .hide-afternoon,.room[data-period=night] .hide-night{display:none}.hotspot:hover polygon,.hotspot:focus-visible polygon,.show-hotspots .hotspot polygon{fill:#fadca02e;stroke:#2b2622}.hotspot:hover text,.hotspot:focus-visible text,.show-hotspots .hotspot text{opacity:1}.ambient{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.steam path{fill:none;stroke:#ffffffd9;stroke-width:3.5px;stroke-linecap:round}.steam{opacity:0;transition:opacity .4s}.steam path{animation:2.6s ease-in-out infinite steam-rise}.steam path+path{animation-delay:1.3s}.room:has(.hotspot[data-id=coffee]:hover) .steam-kettle,.room:has(.hotspot[data-id=coffee]:focus-visible) .steam-kettle,.room[data-period=morning] .steam-mug{opacity:1}@keyframes steam-rise{0%{opacity:0;transform:translateY(6px)}30%{opacity:.9}to{opacity:0;transform:translateY(-14px)}}@media (prefers-reduced-motion:reduce){.steam{display:none}}.name-note{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.name-line{fill:#2b2622;font-family:Caveat,Bradley Hand,Segoe Print,cursive;font-weight:600}.room.write-name .name-line{clip-path:inset(0 100% 0 0);animation:.9s steps(18,end) forwards write-in;animation-delay:calc(.6s + var(--line) * .9s)}@keyframes write-in{to{clip-path:inset(0)}}@media (prefers-reduced-motion:reduce){.room.write-name .name-line{clip-path:none;animation:none}}.clock{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.clock line{stroke:#2b2622;stroke-linecap:round;opacity:0;transition:opacity .3s}.clock-hour{stroke-width:6px}.clock-minute{stroke-width:4px}.clock-pin{fill:#2b2622}.room[data-clock] .clock line{opacity:1}
