.landing{width:100vw;height:100vh;background:#fff;cursor:pointer;overflow:hidden;position:relative}.landing-images{position:absolute;top:10%;left:0;right:0;height:50vh;display:flex;align-items:center;justify-content:space-between;padding-left:6%;padding-right:6%}.landing-frame-container{position:relative;width:40vw;aspect-ratio:1.1 / 1;flex-shrink:0}.landing-frame-img{position:absolute;top:0;left:0;width:100%;height:100%;display:block;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;z-index:3;pointer-events:none}.landing-artwork-img{position:absolute;inset:14% 13% 11%;width:74%;height:75%;object-fit:cover;z-index:1;opacity:0;transition:opacity .8s ease}.landing-artwork-img.loaded{opacity:1}.landing-artwork-loading{position:absolute;inset:14% 13% 11%;z-index:2;display:flex;align-items:center;justify-content:center}.landing-artwork-spinner{width:12px;height:12px;border-radius:50%;background:#c4a96a;animation:artworkPulse 1.5s ease-in-out infinite}@keyframes artworkPulse{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:.6;transform:scale(1)}}.landing-artwork-fallback{position:absolute;inset:14% 13% 11%;z-index:1;display:flex;align-items:center;justify-content:center;background:#f5f0e8}.landing-artwork-fallback-text{font-family:Luxurious Roman,serif;font-size:18px;color:#c4a96a;letter-spacing:.15em;-webkit-user-select:none;user-select:none}.landing-artwork-overlay{position:absolute;inset:14% 13% 11%;z-index:2;background:#000000bf;opacity:0;transition:opacity .3s ease;display:flex;align-items:flex-start;overflow:hidden;cursor:default}.landing-frame-container:hover .landing-artwork-overlay{opacity:1}.landing-artwork-info{padding:12% 10%;width:100%;overflow-y:auto;max-height:100%}.landing-artwork-info-title{margin-bottom:10px}.landing-artwork-info-title-text{font-family:Luxurious Roman,serif;font-size:21px;color:#fff;line-height:1.25;display:block}.landing-artwork-info-row{margin-bottom:4px}.landing-artwork-info-label{font-family:Luxurious Roman,serif;font-size:11.5px;color:#ffffff80;text-transform:uppercase;letter-spacing:.1em;display:block;line-height:1;margin-bottom:1px}.landing-artwork-info-value{font-family:Cormorant Garamond,serif;font-size:14px;color:#ffffffe6;line-height:1.3;display:block}.landing-artwork-info-bio{margin-top:-2px;margin-bottom:6px}.landing-artwork-info-bio .landing-artwork-info-value{font-style:italic;font-size:12.5px;color:#ffffffa6}.landing-goose-img{width:40vw;height:auto;display:block;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.landing-text{position:absolute;bottom:3vh;right:2vw;display:flex;flex-direction:column;align-items:flex-end;z-index:10}.landing-text-benjamins{font-family:Ballet,cursive;font-size:20vw;color:#064232;line-height:.85;letter-spacing:.01em;-webkit-user-select:none;user-select:none;white-space:nowrap}.landing-text-board{font-family:Luxurious Roman,serif;font-weight:400;font-size:16vw;color:#1a1a1a;line-height:1;letter-spacing:0em;text-transform:uppercase;-webkit-user-select:none;user-select:none;margin-top:-20px;align-self:flex-start;margin-left:-40%}.dashboard{position:relative;width:100vw;height:100vh;overflow:hidden;background:#fff}.dashboard-date{position:absolute;top:10.5%;left:33%;width:30%;text-align:center;font-family:Ballet,cursive;font-weight:400;font-size:6.5vw;color:#064232;letter-spacing:.02em}.dashboard-blossom{position:absolute;top:0;right:0;width:34.3%;height:auto;object-fit:contain;z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none}.tile{position:absolute}.tile-frame-wrapper{position:relative;width:100%;height:100%}.tile-frame{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.tile-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:1}.tile-label{font-family:Luxurious Roman,cursive;color:#064232;-webkit-user-select:none;user-select:none}.tile-label-script{font-style:normal;font-weight:400}.tile-lovenote{top:37%;right:3%;width:28%;aspect-ratio:426 / 403;z-index:11}.tile-lovenote .tile-label{font-size:20rem}.title-content-lovenote{inset:25% 9% 10% 9.1%;z-index:2;background:#064232;overflow:hidden}.love-note-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow-y:auto;overflow-x:hidden}.love-note-content::-webkit-scrollbar{width:6px}.love-note-content::-webkit-scrollbar-track{background:#c4a96a1a;border-radius:3px}.love-note-content::-webkit-scrollbar-thumb{background:#c4a96a66;border-radius:3px}.love-note-content::-webkit-scrollbar-thumb:hover{background:#c4a96a99}.love-note-text{font-family:Luxurious Roman,cursive;font-size:2vw;color:#f5babb;font-weight:700;line-height:1.7;text-align:center;margin:0;padding:10% 5%;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%}.tile-game{top:52%;left:4%;width:28%;aspect-ratio:433 / 300;cursor:pointer}.tile-game .tile-label{font-size:2.4rem}.tile-content-game{inset:23% 6% 8%;padding:0;background:#064232}.game-penguin-img{width:100vw;height:12vw;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.game-modal-backdrop{position:fixed;inset:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:200}.game-modal{width:80vw;height:80vh;background:#fff;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 40px #00000059}.game-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e8e0d4}.game-modal-title{font-family:Luxurious Roman,cursive;font-size:1.3rem;color:#1a1a1a;letter-spacing:.04em}.game-modal-close{background:none;border:none;font-size:1.8rem;color:#1a1a1a;cursor:pointer;line-height:1;padding:0 4px;opacity:.5;transition:opacity .2s ease}.game-modal-close:hover{opacity:1}.game-modal-iframe{flex:1;width:100%;border:none}.game-modal-fallback{flex:1;display:flex;align-items:center;justify-content:center}.game-modal-fallback p{font-family:Luxurious Roman,cursive;font-size:1.2rem;color:#c4a96a;letter-spacing:.15em}.tile-weather{top:32%;left:50%;transform:translate(-50%);width:28%;aspect-ratio:349 / 488}.tile-content-weather{inset:15.5% 10% 6.5% 7%;z-index:2;flex-direction:column;gap:.3rem;padding:0;text-align:center}.weather-bg{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:10% 8%;transition:background 1s ease,color 1s ease}.weather-bg[data-theme=night]{background:#1a1a3e;color:#f0f0f0}.weather-bg[data-theme=golden]{background:linear-gradient(135deg,#f4845f,#f8a978,#fbc687);color:#2d2015}.weather-bg[data-theme=clear]{background:#87ceeb;color:#1a1a2e}.weather-bg[data-theme=cloudy]{background:#8e9aaf;color:#f0f0f0}.weather-bg[data-theme=rain]{background:#1a535c;color:#f0f0f0}.weather-title{font-family:Luxurious Roman,cursive;font-weight:400;font-size:1.5rem;color:inherit;margin-bottom:.1rem}.weather-temp{font-family:Luxurious Roman,cursive;font-size:1.15rem;color:inherit;letter-spacing:.08em}.weather-sun{font-family:Luxurious Roman,cursive;font-size:.95rem;color:inherit;opacity:.85;margin-top:.3rem}.weather-updated{font-family:Luxurious Roman,cursive;font-size:.85rem;color:inherit;opacity:.5;margin-top:.5rem}.tile-pic{top:3%;left:4%;width:26%;aspect-ratio:393 / 398}.tile-content-pic{inset:21% 11.6% 4.6% 12.5%;z-index:2;padding:0;overflow:hidden}.pic-widget-photo{width:100%;height:100%;object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.pic-widget-caption{width:100%;text-align:center;font-family:Luxurious Roman,cursive;font-weight:400;font-size:1.3vw;color:#064232;line-height:1.4;-webkit-user-select:none;user-select:none;margin:.5vw 0 0}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--font-script: "Cormorant Garamond", serif;--font-display: "Playfair Display", serif;--font-body: "Cormorant Garamond", serif;--color-bg: #ffffff;--color-text: #1a1a1a;--color-text-light: #4a4a4a}html,body{height:100%;width:100%;overflow-x:hidden}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
