@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:100 1000;src:url(../media/dm-sans-latin-wght-normal.0tm8u-h63rec8.woff2)format("woff2")}@font-face{font-family:Italiana;font-style:normal;font-display:swap;font-weight:400;src:url(../media/italiana-latin-400-normal.2ss9jnwu92e4p.woff2)format("woff2")}
:root{--ink:#ebe7df;--dim:#a7a9ac;--gold:#dbb984;--panel:#20242a;--line:#ffffff1f}*{box-sizing:border-box}html,body{color:var(--ink);background:#10161d;margin:0;font-family:DM Sans,Arial,sans-serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled{opacity:.45;cursor:default}.experience{background:radial-gradient(at 55% 45%,#354148,#121922 75%);height:100svh;min-height:620px;position:relative;overflow:hidden}.scene-layer{position:absolute;inset:0}.scene-layer canvas{touch-action:none}.topbar{pointer-events:none;justify-content:space-between;align-items:center;padding:28px 42px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.wordmark{color:var(--ink);letter-spacing:.19em;align-items:center;gap:13px;font-size:15px;text-decoration:none;display:flex}.wordmark b{color:var(--gold);font-weight:400}.wordmark small{color:#a6a7ab;letter-spacing:.22em;margin-top:6px;font-size:9px;display:block}.logo-mark{letter-spacing:-.07em;border:1px solid #9a886c;padding:7px 9px;font:26px Italiana,Georgia,serif}.dedication{letter-spacing:.19em;color:#a7a6a5;align-items:center;gap:12px;font-size:10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.dedication svg{color:var(--gold)}.icon-button{border:1px solid var(--line);color:#c5c7c9;background:#1e273077;border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.intro{pointer-events:none;text-shadow:0 2px 25px #111a23;width:290px;position:absolute;top:21%;left:4%}.eyebrow{letter-spacing:.22em;color:var(--gold);font-size:10px;font-weight:500}.intro h1{letter-spacing:-.02em;margin:20px 0;font-family:Italiana,Georgia,serif;font-size:clamp(36px,4.05vw,64px);font-weight:400;line-height:1.07}.intro h1 em{color:#d9bd96;font-weight:400}.intro>p:not(.eyebrow){color:#b0b4b9;font-size:13px;line-height:1.9}.little-line{background:#ae9173;width:38px;height:1px;margin-top:28px}.city-label{text-align:right;pointer-events:none;position:absolute;top:22%;right:3.5%}.city-number{letter-spacing:.15em;color:#8f98a2;font-size:10px}.city-label h2{letter-spacing:.03em;margin:11px 0 7px;font-family:Italiana,Georgia,serif;font-size:32px;font-weight:400}.city-label>span:last-of-type{letter-spacing:.15em;color:#a3a6aa;font-size:9px}.city-label i{background:var(--gold);vertical-align:middle;width:2px;height:2px;margin:0 6px;display:inline-block}.city-label p{color:#929ba5;margin-top:12px;font-size:11px;font-style:italic}.room-actions{gap:9px;display:flex;position:absolute;bottom:138px;left:4%}.room-actions button{color:#cfd1d0;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#17212cd9;border:1px solid #7c88913b;border-radius:4px;align-items:center;gap:10px;padding:12px 15px;font-size:12px;display:flex}.room-actions button:hover{color:var(--gold);border-color:#c4a574}.bottom-bar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(#111923bb,#111923f2);border-top:1px solid #8493a026;justify-content:center;align-items:center;height:104px;display:flex;position:absolute;bottom:0;left:0;right:0}.city-selector{background:#17212bc9;border:1px solid #86939c33;border-radius:40px;gap:3px;padding:6px;display:flex}.city-selector button{color:#a2aab1;background:0 0;border:0;border-radius:30px;padding:12px 17px;font-size:12px;transition:all .3s}.city-selector button[aria-pressed=true]{color:#f0d5a7;background:#aa885e22;box-shadow:inset 0 0 0 1px #b2996a4d}.city-dot{vertical-align:middle;background:#e7c88e;border-radius:50%;width:4px;height:4px;margin-right:8px;display:none}.city-selector button[aria-pressed=true] .city-dot{display:inline-block}.explore-hint{color:#8d9aa7;align-items:center;gap:9px;max-width:205px;font-size:10px;line-height:1.8;display:flex;position:absolute;left:3%}.explore-hint i{margin:0 4px;font-style:normal}.floor-label{letter-spacing:.17em;color:#8d9aa7;font-size:10px;position:absolute;right:3.5%}.floor-label span{color:var(--gold);margin-left:8px}.moment{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);white-space:nowrap;background:#1a252fec;border:1px solid #d5b98744;border-radius:6px;padding:20px 30px;font:24px Italiana,Georgia,serif;animation:.6s appear;position:absolute;bottom:190px;left:50%;transform:translate(-50%)}.loading{color:var(--gold);letter-spacing:.05em;z-index:5;background:#131d27;flex-direction:column;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.loading-ring{border:1px solid #ddbd8c35;border-top-color:var(--gold);border-radius:50%;width:36px;height:36px;animation:2s linear infinite spin}.hotspot{color:#ede4d4;white-space:nowrap;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1a242ad9;border:1px solid #d4c2a956;border-radius:24px;align-items:center;gap:7px;padding:8px 12px;font-size:11px;display:flex;box-shadow:0 4px 20px #0004}.hotspot span{color:var(--gold);font-size:15px}.hotspot:hover{border-color:var(--gold);background:#b3946633}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@media (max-width:1100px){.explore-hint{display:none}.intro{width:220px;top:18%}.intro h1{font-size:42px}.city-label{top:18%}.floor-label{display:none}.city-selector button{padding:11px 14px;font-size:11px}}@media (max-width:650px){.experience{min-height:540px}.topbar{padding:20px}.wordmark{font-size:12px}.wordmark small{font-size:8px}.dedication{display:none}.intro{width:200px;top:110px;left:22px}.intro h1{margin:13px 0;font-size:34px}.intro>p:not(.eyebrow){font-size:11px}.intro .eyebrow{font-size:8px}.little-line{display:none}.city-label{top:120px;right:22px}.city-label h2{font-size:23px}.city-label p{display:none}.city-label>span:last-of-type,.city-number{font-size:8px}.bottom-bar{height:90px}.city-selector{gap:0;max-width:calc(100vw - 20px);padding:5px}.city-selector button{padding:10px 9px;font-size:10px}.city-dot{display:none!important}.room-actions{bottom:112px;left:20px}.room-actions button{padding:10px;font-size:11px}.moment{white-space:normal;text-align:center;width:85%;font-size:20px;bottom:175px}.hotspot{padding:6px 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important}}
.panel{color:#eee8dc;background:#20272c;border:1px solid #73726766;border-radius:15px;width:min(650px,94vw);max-height:88svh;padding:0;overflow:auto;box-shadow:0 30px 150px #0008}.panel-wide{width:min(980px,94vw)}.panel::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0a1219a1}.panel-inner{padding:32px}.panel-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.panel-head .eyebrow{margin:0 0 10px}.panel-head h2{margin:0;font:42px Italiana,Georgia,serif}.panel-description{color:#aab2b5;font-size:14px;line-height:1.7}.connection-note{color:#acb6bc;background:#17212966;border:1px solid #7c919b30;border-radius:5px;padding:11px 14px;font-size:12px;line-height:1.6}.connection-note button{color:var(--gold);background:0 0;border:0;margin-left:12px;text-decoration:underline}.gold-button,.secondary-button{color:#252d2e;background:#d6b889;border:0;border-radius:5px;justify-content:center;align-items:center;gap:8px;padding:12px 17px;font-size:13px;display:inline-flex}.secondary-button{color:#d5d4ca;background:0 0;border:1px solid #81929c66}.gold-button:hover{background:#e6cda7}.text-button{color:#aab3ba;background:0 0;border:0;align-items:center;gap:8px;padding:16px 0;font-size:13px;display:flex}.wall-toolbar{justify-content:space-between;align-items:center;gap:15px;margin:25px 0;display:flex}.wall-toolbar p{color:#aeb6b9;font-size:14px}.memory-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;padding:12px 8px 24px;display:grid}.memory-card{color:#4e5048;text-align:left;background:#e0d9c7;border:0;padding:18px;transition:transform .2s;position:relative;box-shadow:0 8px 16px #0003}.memory-card:hover{z-index:1;transform:translateY(-6px)}.memory-card img{aspect-ratio:1.1;object-fit:cover;width:100%;margin-bottom:15px}.memory-card h3{margin:12px 0;font:24px Italiana,Georgia,serif}.memory-card p{white-space:pre-line;font-size:13px;line-height:1.65}.memory-1{background:#d6bea0}.memory-2{background:#bac5b7}.pin-type{letter-spacing:.15em;text-transform:uppercase;opacity:.7;font-size:9px}.pin-icon{color:#715743;position:absolute;top:5px;left:48%;transform:rotate(-20deg)}.pin-form label,.sign-in label{color:#b9c1c4;margin:18px 0;font-size:13px;display:block}.panel input:not([type=range]):not([type=file]),.panel textarea{color:#eee6d8;resize:vertical;outline-color:var(--gold);background:#151f27;border:1px solid #8e9ca343;border-radius:5px;width:100%;margin-top:8px;padding:13px;display:block}.panel .upload{border:1px dashed #8e9ca366;align-items:center;gap:14px;padding:20px;display:flex}.upload input{max-width:240px;font-size:11px}.type-selector{flex-wrap:wrap;gap:8px;margin:20px 0;display:flex}.type-selector button{color:#b1bbc0;background:0 0;border:1px solid #8498a340;border-radius:20px;padding:9px 15px;font-size:12px}.type-selector button[aria-pressed=true]{color:#ead0a7;background:#b1925d1c;border-color:#bb9b6b}.pin-detail img{object-fit:cover;border-radius:5px;width:100%;max-height:45vh}.pin-detail>p{white-space:pre-line;font-size:20px;line-height:1.7}.empty{text-align:center;color:#b5bbba;grid-column:1/-1;padding:50px 20px;font-size:16px;line-height:1.8}.error{color:#e4aea1;border:1px solid #ad695d;padding:12px;font-size:13px;line-height:1.6}@media (max-width:650px){.panel-inner{padding:22px}.panel-head h2{font-size:32px}.memory-grid{grid-template-columns:repeat(2,1fr);gap:15px}.memory-card{padding:12px}.memory-card h3{font-size:21px}.memory-card p{font-size:12px}.wall-toolbar{align-items:start}.wall-toolbar p{max-width:140px}.upload{flex-wrap:wrap}}.panel{--panel-available-height:calc(100svh - 24px)}.panel.arcade-panel,.panel.fortune-game{max-height:var(--panel-available-height);overflow:hidden}.panel.arcade-panel>.panel-inner,.panel.fortune-game>.panel-inner{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;padding:clamp(12px,2.5svh,24px);display:flex}.panel.arcade-panel .panel-head,.panel.fortune-game .panel-head{flex-shrink:0;gap:12px}.panel.arcade-panel .panel-head h2,.panel.fortune-game .panel-head h2{font-size:clamp(23px,4svh,34px);line-height:1.1}.panel.arcade-panel .panel-head .eyebrow,.panel.fortune-game .panel-head .eyebrow{margin-bottom:5px;font-size:9px}.panel-head .icon-button{flex-shrink:0}.panel.music-panel{height:auto;max-height:var(--panel-available-height);overflow:auto}.music-panel>.panel-inner{padding:16px}.music-panel .panel-head{flex-shrink:0;gap:12px;margin-bottom:12px}.music-panel .panel-head h2{letter-spacing:.03em;color:var(--gold);font:500 14px/1.4 DM Sans,Arial,sans-serif}.music-panel .panel-head .icon-button{width:32px;height:32px}.music-panel .eyebrow:empty{display:none}.music-panel iframe{border:0;border-radius:12px;width:100%;height:352px;display:block}@media (max-height:640px){.music-panel iframe{height:152px}}.music-link{color:#d6b889;text-align:center;margin-top:10px;font-size:12px;display:block}.music-persistence-note{text-align:center;color:var(--dim);flex-shrink:0;margin:8px 0 0;font-size:11px;line-height:1.4}.panel.date-wall{height:min(760px,var(--panel-available-height));overflow:hidden}.date-wall>.panel-inner{flex-direction:column;height:100%;padding:clamp(14px,2.6svh,28px);display:flex}.date-wall .panel-head{flex-shrink:0;gap:8px;margin-bottom:12px}.date-wall .eyebrow:empty{display:none}.date-wall .panel-head>div:first-child{flex:1;min-width:0}.date-wall .panel-head h2{white-space:nowrap;font-size:clamp(19px,3.8vw,32px)}.date-wall .panel-head>.icon-button{width:32px;height:32px}.date-wall-content{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;padding:0 6px 14px;overflow:auto}.date-wall-header-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.date-wall-header-actions button{width:28px;height:28px;color:var(--dim);background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid}.date-wall-header-actions button:hover{color:var(--gold);background:#ffffff08}.date-wall-header-actions button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.date-wall-header-actions button:disabled{opacity:.5;cursor:wait}.wall-hint{color:var(--dim);font-size:12px;line-height:1.5}.wall-feedback{flex-shrink:0;max-height:100px;margin:0 0 10px;overflow:auto}.wall-editor{flex-direction:column;flex:1;min-height:0;display:flex}.wall-editor-fields{overscroll-behavior:contain;flex:1;min-height:0;padding:0 8px 12px;overflow:auto}.wall-editor-fields h3{margin:0 0 12px;font-size:16px;font-weight:500}.wall-editor label,.wall-unlock label{margin:14px 0;font-size:13px;display:block}.wall-editor input[type=file]{width:100%;margin:10px 0;font-size:12px;display:block}.wall-photo-input span{color:var(--dim);font-size:11px;line-height:1.6;display:block}.wall-upload-preview{object-fit:contain;border-radius:3px;max-width:160px;max-height:110px;display:block}.wall-form-actions{border-top:1px solid var(--line);flex-shrink:0;justify-content:flex-end;gap:10px;padding-top:12px;display:flex}.wall-unlock{min-height:0;overflow:auto}.wall-unlock>p{color:var(--dim);font-size:13px;line-height:1.6}.date-written-preview{min-height:150px;padding:18px 10px}.date-written-preview p{-webkit-line-clamp:6;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-box-orient:vertical;font:15px/1.65 Georgia,serif;display:-webkit-box;overflow:hidden}.date-detail-caption p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:14px;line-height:1.7}.date-detail-caption{max-height:35%;overflow:auto}.date-detail-caption.date-text-only{text-align:left;flex:1;max-height:none;padding:16px}.date-group+.date-group{margin-top:28px}.date-group>h3{letter-spacing:.06em;color:var(--gold);border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:12px;font-size:12px;font-weight:500}.date-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.date-photo{color:#353939;text-align:left;background:#eee9df;border:0;border-radius:3px;padding:8px 8px 13px;transition:transform .15s;box-shadow:0 4px 12px #0002}.date-photo:hover{transform:translateY(-3px)}.date-photo img{object-fit:contain;background:#c3bcae;width:100%;height:auto;display:block}.date-photo span{margin:10px 4px 0;font-size:12px;line-height:1.4;display:block}.undated-note{color:var(--dim);margin:0 0 14px;font-size:12px}.date-detail{flex-direction:column;flex:1;min-height:0;display:flex}.date-detail-controls{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.date-detail-controls>div{gap:8px;display:flex}.date-detail-controls .text-button{padding:8px 0}.date-detail-image{flex:1;justify-content:center;min-height:0;display:flex;overflow:hidden}.date-detail-image img{object-fit:contain;border-radius:3px;width:100%;min-width:0;height:100%;min-height:0;display:block}.date-detail-caption{text-align:center;flex-shrink:0;margin-top:12px}.date-detail-caption h3{margin:0 0 5px;font-size:15px;font-weight:500}.date-detail-caption time{color:var(--dim);font-size:11px}@media (max-width:650px){.date-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.date-photo{padding:6px 6px 11px}.date-photo span{font-size:11px}}@media (max-height:500px){.date-wall .panel-head{margin-bottom:8px}.date-detail-controls{margin-bottom:6px}.date-detail-caption{margin-top:6px}.date-detail-caption h3{font-size:12px}.date-detail-controls .icon-button{width:32px;height:32px}.music-panel>.panel-inner{padding:10px 14px}.music-panel .panel-head{margin-bottom:8px}.music-link{margin-top:6px}.panel.arcade-panel>.panel-inner,.panel.fortune-game>.panel-inner{padding:9px 14px}.panel.arcade-panel .panel-head h2,.panel.fortune-game .panel-head h2{font-size:22px}.panel.arcade-panel .panel-head .eyebrow,.panel.fortune-game .panel-head .eyebrow{margin-bottom:2px;font-size:8px}.panel.arcade-panel .icon-button,.panel.fortune-game .icon-button{width:32px;height:32px}}
.scene-hotspots{pointer-events:none;position:absolute;inset:0}.scene-hotspots .hotspot{pointer-events:auto;will-change:transform;visibility:hidden;position:absolute;top:0;left:0}@media (min-width:651px){.city-label{top:14%}}@media (max-width:650px){.scene-hotspots{display:none}}
.fortune-loading{min-height:260px;color:var(--gold);place-items:center;gap:10px;display:grid}.fortune-loading p{color:#b5bdbe;font-size:14px}.fortune-cookie{object-fit:contain;filter:drop-shadow(0 12px 10px #0002);pointer-events:none;-webkit-user-select:none;user-select:none;width:min(280px,66%);height:210px;margin:5px auto -28px;display:block}.fortune-loading .fortune-cookie{height:180px;margin:0;animation:1.8s ease-in-out infinite cookie-breathe}.fortune-note{min-width:0;margin:25px 0 20px;position:relative}.fortune-reveal .fortune-note{margin-top:0}.fortune-slip{isolation:isolate;color:#a94f45;text-align:center;filter:drop-shadow(0 10px 9px #0004);background:url(/textures/fortune-paper.png) 50%/100% 100% no-repeat;flex-direction:column;justify-content:center;align-items:center;min-height:168px;padding:32px 42px 35px;display:flex;position:relative;transform:rotate(-2deg)}.fortune-slip>p{text-transform:uppercase;letter-spacing:.005em;z-index:1;text-wrap:pretty;color:#a94f45;text-shadow:.25px 0 .35px #a94f452b;max-width:100%;margin:0 0 10px;font:600 20px/1.35 Arial Narrow,Arial,sans-serif;position:relative}.fortune-signature{text-transform:uppercase;color:#b25b50;letter-spacing:.025em;z-index:1;font:600 14px/1.2 Arial Narrow,Arial,sans-serif;position:relative}.fortune-edge{z-index:1;background:#4b78a5b8;width:27px;height:10px;position:absolute;box-shadow:inset 0 0 2px #335b85a3}.fortune-edge-left{top:29%;left:3.4%;transform:rotate(1deg)}.fortune-edge-right{width:13px;height:9px;bottom:23%;right:3.3%;transform:rotate(-2deg)}.fortune-meta{color:#9ca9b1;justify-content:space-between;align-items:center;gap:12px;margin:19px 9px 0;font-size:12px;display:flex}.fortune-meta time{font-size:12px}.fortune-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:25px;display:flex}.fortune-collection{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;padding:8px 0 20px;display:grid}.fortune-collection .fortune-note{margin:20px 0 0}.fortune-collection .fortune-slip{min-height:154px;padding:29px 34px}.fortune-collection .fortune-note:nth-child(2n) .fortune-slip{transform:rotate(1.7deg)}.fortune-collection .fortune-note:nth-child(3n) .fortune-slip{transform:rotate(-.5deg)}.fortune-collection .fortune-slip>p{font-size:17px}.fortune-collection .fortune-signature{font-size:13px}.fortune-collection .fortune-meta{flex-wrap:wrap;gap:7px;font-size:12px}.slip-clip{color:#9c9c8d;filter:drop-shadow(1px 2px 1px #0004);z-index:2;position:absolute;top:7px;right:29px;transform:rotate(-14deg)}.room-actions button[aria-pressed=true]{color:#e8c997;border-color:#c9a16699}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes cookie-breathe{50%{transform:translateY(-4px)rotate(2deg)}}.fortune-crack{isolation:isolate;padding-top:172px;position:relative}.cookie-crack-stage{pointer-events:none;--cookie-width:min(250px,68vw);--cookie-split:clamp(66px,15vw,105px);height:220px;position:absolute;inset:0 0 auto}.fortune-crack[data-cookie-phase=intact] .cookie-crack-stage{animation:cookie-anticipation var(--cookie-shake) var(--cookie-hold) ease-in-out both}.cookie-half{top:0;left:calc(50% - var(--cookie-width)/2);width:var(--cookie-width);transform-origin:50%;filter:drop-shadow(0 9px 7px #0003);will-change:transform;height:auto;position:absolute}.cookie-half img{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.cookie-whole{top:0;left:calc(50% - var(--cookie-width)/2);width:var(--cookie-width);filter:drop-shadow(0 9px 7px #0003);-webkit-user-select:none;user-select:none;height:auto;position:absolute}.cookie-image-fallback{aspect-ratio:800/696;color:#e7b76e;fill:#b97938;width:100%;height:auto;display:block}.fortune-crack:is([data-cookie-phase=cracked],[data-cookie-phase=revealed]) .cookie-whole{visibility:hidden}@media (max-height:500px){.fortune-game .cookie-whole{top:10%}}.cookie-half-left{opacity:0;clip-path:polygon(0 0,50% 0,49% 20%,51% 36%,49% 49%,51% 61%,49% 79%,50% 100%,0 100%);transform:translateX(calc(-1 * var(--cookie-split))) translateY(-14px) rotate(-13deg) scale(.76)}.cookie-half-right{opacity:0;clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%,49% 79%,51% 61%,49% 49%,51% 36%,49% 20%);transform:translateX(var(--cookie-split)) translateY(-14px) rotate(13deg) scale(.76)}.fortune-crack:is([data-cookie-phase=cracked],[data-cookie-phase=revealed]) .cookie-half{opacity:1}.fortune-crack[data-cookie-phase=cracked] .cookie-half-left{animation:.7s cubic-bezier(.22,.7,.2,1) forwards cookie-break-left}.fortune-crack[data-cookie-phase=cracked] .cookie-half-right{animation:.7s cubic-bezier(.22,.7,.2,1) forwards cookie-break-right}.cookie-unfolding-paper{z-index:2;opacity:0;transform-origin:50% 0;position:relative}.fortune-crack[data-cookie-phase=cracked] .cookie-unfolding-paper{animation:.35s cubic-bezier(.22,.7,.2,1) both fortune-unfold}.fortune-crack:is([data-cookie-phase=cracked],[data-cookie-phase=revealed]) .cookie-unfolding-paper{opacity:1}.cookie-crumbs{visibility:hidden}.fortune-crack:is([data-cookie-phase=cracked],[data-cookie-phase=revealed]) .cookie-crumbs{visibility:visible}.cookie-crumb{width:var(--crumb-size);height:calc(var(--crumb-size)*.75);clip-path:polygon(12% 8%,75% 0,100% 58%,59% 100%,0 73%);transform:translate(var(--crumb-x),var(--crumb-y)) rotate(var(--crumb-spin));opacity:.9;filter:drop-shadow(0 2px 1px #0003);position:absolute;top:82px;left:50%;overflow:hidden}.fortune-crack[data-cookie-phase=cracked] .cookie-crumb{animation:cookie-crumb-flight 1.25s var(--crumb-delay) cubic-bezier(.2,.55,.3,1) both}.cookie-crumb img{width:85px;max-width:none;height:74px;position:absolute;top:-18px;left:-43px}.fortune-actions button:disabled{opacity:.5;cursor:wait}@keyframes cookie-anticipation{0%,to{transform:translate(0)rotate(0)}5%,15%{transform:translate(-2px,1px)rotate(-1.5deg)}10%,20%{transform:translate(2px,-1px)rotate(1.5deg)}25%,35%,45%{transform:translate(-4px,1px)rotate(-3deg)}30%,40%,50%{transform:translate(4px,-1px)rotate(3deg)}54%,62%,70%,78%{transform:translate(-6px,2px)rotate(-4.5deg)}58%,66%,74%,82%{transform:translate(6px,-2px)rotate(4.5deg)}85%,91%,97%{transform:translate(-9px,2px)rotate(-6deg)}88%,94%{transform:translate(9px,-2px)rotate(6deg)}}@keyframes cookie-break-left{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}15%{transform:translate(-12px)rotate(-5deg)}65%{transform:translateX(calc(-.94 * var(--cookie-split))) translateY(-9px) rotate(-15deg) scale(.8)}to{opacity:1;transform:translateX(calc(-1 * var(--cookie-split))) translateY(-14px) rotate(-13deg) scale(.76)}}@keyframes cookie-break-right{0%{opacity:1;transform:translate(0)rotate(0)scale(1)}15%{transform:translate(12px)rotate(5deg)}65%{transform:translateX(calc(.94 * var(--cookie-split))) translateY(-9px) rotate(15deg) scale(.8)}to{opacity:1;transform:translateX(var(--cookie-split)) translateY(-14px) rotate(13deg) scale(.76)}}@keyframes fortune-unfold{0%{transform:translateY(8px)scale(.98)}to{transform:translateY(0)scale(1)}}@keyframes cookie-crumb-flight{0%,7%{opacity:0;transform:translate(0)rotate(0)scale(.45)}18%{opacity:1}45%{opacity:1;transform:translate(calc(var(--crumb-x)*.5),-32px) rotate(calc(var(--crumb-spin)*.4))}86%{opacity:.95;transform:translate(var(--crumb-x),calc(var(--crumb-y) + 4px)) rotate(var(--crumb-spin))}to{opacity:.9;transform:translate(var(--crumb-x),var(--crumb-y)) rotate(var(--crumb-spin))}}@media (max-width:650px){.fortune-crack{padding-top:152px}.cookie-crack-stage{--cookie-width:220px;--cookie-split:75px}}@media (prefers-reduced-motion:reduce){.fortune-crack .cookie-crack-stage,.fortune-loading .fortune-cookie,.fortune-crack .cookie-half,.fortune-crack .cookie-unfolding-paper{animation:none!important}.cookie-crumb{display:none}}@keyframes cookie-gentle-shake{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-1deg)}40%,80%{transform:rotate(1deg)}}@media (prefers-reduced-motion:reduce){.fortune-crack[data-cookie-phase=intact] .cookie-crack-stage{animation:cookie-gentle-shake var(--cookie-shake) ease-in-out!important}}@media (max-width:650px){.fortune-collection{grid-template-columns:1fr;gap:10px}.fortune-cookie{height:175px;margin-top:15px;margin-bottom:-18px}.fortune-slip{min-height:145px;padding:29px 28px}.fortune-slip>p{font-size:17px}.fortune-signature{font-size:13px}.fortune-edge{width:20px;height:8px}.fortune-edge-right{width:11px}.fortune-collection .fortune-slip{padding:29px 28px}.fortune-meta{margin-top:16px}.room-actions{gap:7px;max-width:calc(100vw - 40px)}.room-actions button{padding:10px}.room-actions span,.room-actions button>svg:not(:first-child){display:none}}.panel.fortune-game{height:min(590px,var(--panel-available-height))}.panel.fortune-game>.panel-inner>.panel-head .eyebrow,.panel.fortune-archive>.panel-inner>.panel-head .eyebrow{color:var(--gold);text-transform:none;letter-spacing:.03em;margin:0;font:500 14px/1.4 DM Sans,Arial,sans-serif}.fortune-game .fortune-crack{flex-direction:column;flex:1;justify-content:flex-end;min-height:0;margin-top:8px;padding-top:0;display:flex}.fortune-game .cookie-crack-stage{--cookie-width:min(300px,58vw,calc(var(--panel-available-height)*.46));--cookie-split:clamp(44px,11vw,80px);height:55%}.fortune-game .fortune-note{margin:0}.fortune-game .fortune-slip{min-height:120px;padding:22px 34px}.fortune-game .fortune-slip>p{font-size:clamp(14px,2.7svh,19px)}.fortune-game .fortune-signature{font-size:12px}.fortune-game .fortune-actions{flex-shrink:0;gap:8px;margin-top:10px}.fortune-game .fortune-actions button{min-height:40px;padding:9px 12px;font-size:12px}.fortune-game .panel-description{margin:5px 0 0;font-size:11px}.fortune-game .fortune-loading,.fortune-game .empty{flex:1;justify-content:center;min-height:0;padding:12px}.fortune-game .fortune-loading .fortune-cookie{width:min(300px,75%);height:min(230px,35svh)}@media (max-width:400px){.fortune-game .fortune-slip{min-height:116px;padding:19px 24px}.fortune-game .fortune-actions button{padding:8px 9px;font-size:11px}}@media (max-height:500px){.fortune-game .fortune-crack{grid-template-columns:35% minmax(0,1fr);align-items:center;gap:10px;margin-top:4px;display:grid}.fortune-game .cookie-crack-stage{--cookie-width:min(190px,35svh);--cookie-split:clamp(22px,4vw,36px);height:100%;position:relative}.fortune-game .cookie-half{top:10%}.fortune-game .cookie-crumb{top:45%;--crumb-size:4px!important}.fortune-game .fortune-slip{min-height:90px;padding:14px 25px}.fortune-game .fortune-slip>p{margin-bottom:5px;font-size:14px}.fortune-game .fortune-signature{font-size:10px}.fortune-game .fortune-actions{margin-top:4px}.fortune-game .fortune-actions button{min-height:32px;padding:6px 10px;font-size:11px}.fortune-game .fortune-loading{gap:3px;padding:3px}.fortune-game .fortune-loading p{margin:3px;font-size:12px}.fortune-game .fortune-loading .fortune-cookie{height:120px}}
.sky-controls{max-width:calc(100vw - 40px);position:absolute;bottom:136px;right:3.5%}.sky-caption{color:#e0d0b4;text-align:right;letter-spacing:.02em;margin:0 3px 10px;font-size:12px}.sky-caption span{color:#a0abb4}.sky-options{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#17212ce8;border:1px solid #86939c3d;border-radius:8px;gap:3px;padding:4px;display:flex}.sky-options button{color:#a8b3bd;background:0 0;border:1px solid #0000;border-radius:5px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 12px;font-size:14px;transition:background .25s,color .25s;display:flex}.sky-options button:hover{color:#f0d5a7;background:#aa885e15}.sky-options button[aria-pressed=true]{color:#f0d5a7;background:#aa885e24;border-color:#b2996a60}@media (max-width:1100px) and (min-width:651px){.sky-options button{padding:8px 10px}.sky-options svg{display:none}}@media (max-width:850px) and (min-width:651px){.sky-controls{bottom:202px}}@media (max-width:650px){.sky-controls{justify-content:center;display:grid;bottom:170px;left:20px;right:20px}.sky-caption{text-align:center;margin-bottom:7px}.sky-options button{padding:8px 11px}.sky-options svg{width:14px}.moment{bottom:247px}}
.view-controls{z-index:6;left:50%;top:max(22px,env(safe-area-inset-top));white-space:nowrap;align-items:center;display:flex;position:absolute;transform:translate(-50%)}.view-controls .zoom-out{position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.experience[data-welcome=false]>.birthday-heading,.experience[data-welcome=false]>.birthday-message{visibility:hidden}.panel:focus{outline:none}.experience[data-interior=false]{min-height:0;padding:max(24px,env(safe-area-inset-top)) 0 max(20px,env(safe-area-inset-bottom));grid-template-rows:auto 44px minmax(0,1fr) auto auto;grid-template-areas:"birthday""view""scene""message""cities";row-gap:clamp(8px,1.5svh,14px);display:grid}.birthday-heading{text-align:center;pointer-events:none;grid-area:birthday;padding:0 18px}.birthday-heading h1{letter-spacing:.005em;text-wrap:balance;margin:0;font:400 clamp(24px,3vw,36px)/1.15 Italiana,Georgia,serif}.experience[data-interior=false]>.view-controls{grid-area:view;place-self:start center;position:relative;top:auto;left:auto;transform:none}.experience[data-interior=false]>.scene-layer{grid-area:scene;min-width:0;min-height:0;position:relative;inset:auto}.birthday-message{text-align:center;pointer-events:none;text-wrap:balance;grid-area:message;justify-self:center;width:calc(100% - 48px);max-width:560px;padding-bottom:clamp(12px,2svh,20px)}.birthday-message p{color:#d9d8d3;margin:0;font-size:clamp(11px,1vw,12px);line-height:1.65}.birthday-message .birthday-games{color:#a8aeb3;margin-top:16px;font-size:10px;line-height:1.5}.experience[data-interior=false]>.room-city-selector{grid-area:cities;justify-self:center;position:relative;bottom:auto;left:auto;transform:none}@media (max-height:500px){.experience[data-interior=false]{padding:max(10px,env(safe-area-inset-top)) 0 max(10px,env(safe-area-inset-bottom));grid-template-rows:auto 34px minmax(0,1fr) auto auto;row-gap:5px}.birthday-heading h1{font-size:22px}.experience[data-interior=false]>.view-controls .view-toggle{min-height:34px;padding:6px 11px;font-size:11px}.experience[data-interior=false]>.view-controls .zoom-out{width:34px;height:34px;min-height:34px}.birthday-message{padding-bottom:10px}.birthday-message p{font-size:11px;line-height:1.4}.birthday-message .birthday-games{margin-top:8px;font-size:10px}.experience[data-interior=false]>.room-city-selector button{padding:5px 12px}}.view-toggle,.zoom-out{color:#ead9bc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#17232cf2;border:1px solid #bba37e70;border-radius:24px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:13px;display:flex}.view-toggle:hover,.zoom-out:hover{background:#29383f;border-color:#dbb984}.zoom-out{border-radius:50%;width:44px;height:44px;padding:0}.panel>.view-controls{position:fixed}.panel:has(>.view-controls){--panel-top:calc(86px + env(safe-area-inset-top));--panel-available-height:calc(100svh - var(--panel-top) - 14px - env(safe-area-inset-bottom));inset:var(--panel-top) 0 auto;max-height:var(--panel-available-height);margin:0 auto}.moment.moment-message{white-space:normal;text-align:center;width:max-content;max-width:calc(100% - 40px);padding:16px 22px;font:clamp(18px,2.3vw,26px)/1.35 Italiana,Georgia,serif}.room-city-selector{left:50%;bottom:max(22px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:absolute;transform:translate(-50%)}.room-city-selector button{white-space:nowrap;flex-direction:column;align-items:center;gap:4px;display:flex}.city-local-time{font-variant-numeric:tabular-nums;letter-spacing:.04em;opacity:.8;font-size:11px;line-height:1.2}.city-toggle-name{line-height:1.3}.experience .sky-caption{background:#15232dcc;border-radius:4px;margin-left:auto;padding:6px 9px;display:table}@media (max-width:650px){.view-controls{top:max(18px,env(safe-area-inset-top))}.view-toggle{padding:9px 12px;font-size:12px}.room-city-selector{bottom:max(18px,env(safe-area-inset-bottom))}.experience .sky-caption{margin:0 auto 7px}}@media (max-height:500px){.panel>.view-controls{top:max(6px,env(safe-area-inset-top))}.panel>.view-controls .view-toggle{min-height:34px;padding:6px 11px;font-size:11px}.panel>.view-controls .zoom-out{width:34px;height:34px;min-height:34px}.panel:has(>.view-controls){--panel-top:calc(52px + env(safe-area-inset-top));--panel-available-height:calc(100svh - var(--panel-top) - 8px - env(safe-area-inset-bottom))}}
