Spaces:
Running
Running
| @import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,700;9..144,900&family=Inter:wght@500;700;800;900&display=swap"); | |
| @tailwind base; | |
| @tailwind components; | |
| @tailwind utilities; | |
| @layer base { | |
| * { | |
| box-sizing: border-box; | |
| } | |
| html, | |
| body, | |
| #root { | |
| width: 100%; | |
| height: 100%; | |
| margin: 0; | |
| overflow: hidden; | |
| background: #1d1712; | |
| } | |
| button, | |
| textarea { | |
| font: inherit; | |
| } | |
| } | |
| @layer components { | |
| .home-stage { | |
| --px: 0px; | |
| --py: 0px; | |
| position: fixed; | |
| inset: 0; | |
| overflow: hidden; | |
| color: #4e3320; | |
| font-family: Inter, system-ui, sans-serif; | |
| perspective: 1400px; | |
| background: #1d1712; | |
| isolation: isolate; | |
| } | |
| .scene-video { | |
| position: absolute; | |
| inset: -2.4vh -2.4vw; | |
| z-index: 0; | |
| width: 104.8vw; | |
| height: 104.8vh; | |
| object-fit: cover; | |
| opacity: 0; | |
| transform: | |
| translate3d(calc(var(--px) * -0.18), calc(var(--py) * -0.12), 0) | |
| scale(1.05); | |
| filter: saturate(1.08) contrast(1.04) brightness(0.88); | |
| transition: opacity 760ms ease, transform 1300ms cubic-bezier(0.19, 1, 0.22, 1), filter 760ms ease; | |
| } | |
| .scene-video.is-active { | |
| opacity: 1; | |
| transform: | |
| translate3d(calc(var(--px) * -0.06), calc(var(--py) * -0.04), 0) | |
| scale(1); | |
| } | |
| .scene-kitchen .scene-video.is-active { | |
| filter: saturate(1.12) contrast(1.03) brightness(0.96); | |
| } | |
| .scene-backyard .scene-video.is-active { | |
| filter: saturate(1.06) contrast(1.02) brightness(0.9); | |
| } | |
| .scene-study { | |
| background: | |
| radial-gradient(circle at 58% 32%, rgba(255, 232, 173, 0.26), transparent 28%), | |
| linear-gradient(180deg, #8a6140, #5b3a25 52%, #2d1d15); | |
| } | |
| .scene-vignette { | |
| position: absolute; | |
| inset: 0; | |
| z-index: 3; | |
| pointer-events: none; | |
| background: | |
| radial-gradient(circle at 50% 44%, transparent 0 35%, rgba(51, 30, 15, 0.08) 56%, rgba(22, 14, 9, 0.54) 100%), | |
| linear-gradient(180deg, rgba(255, 224, 149, 0.1), rgba(22, 14, 9, 0.18)); | |
| } | |
| .weather-layer, | |
| .firefly-layer { | |
| position: absolute; | |
| inset: 0; | |
| z-index: 4; | |
| pointer-events: none; | |
| overflow: hidden; | |
| } | |
| .weather-layer i { | |
| position: absolute; | |
| top: -16vh; | |
| width: 2px; | |
| height: 16vh; | |
| border-radius: 999px; | |
| background: rgba(255, 244, 216, 0.36); | |
| animation: rainFall 1.35s linear infinite; | |
| } | |
| .weather-layer i:nth-child(1) { left: 6%; animation-delay: -0.2s; } | |
| .weather-layer i:nth-child(2) { left: 18%; animation-delay: -0.8s; } | |
| .weather-layer i:nth-child(3) { left: 31%; animation-delay: -0.4s; } | |
| .weather-layer i:nth-child(4) { left: 47%; animation-delay: -1.1s; } | |
| .weather-layer i:nth-child(5) { left: 64%; animation-delay: -0.6s; } | |
| .weather-layer i:nth-child(6) { left: 76%; animation-delay: -1.3s; } | |
| .weather-layer i:nth-child(7) { left: 87%; animation-delay: -0.1s; } | |
| .weather-layer i:nth-child(8) { left: 96%; animation-delay: -0.9s; } | |
| .firefly-layer i { | |
| position: absolute; | |
| width: 8px; | |
| height: 8px; | |
| border-radius: 50%; | |
| background: #ffe69a; | |
| box-shadow: 0 0 22px rgba(255, 220, 112, 0.96); | |
| animation: firefly 6.5s ease-in-out infinite; | |
| } | |
| .firefly-layer i:nth-child(1) { left: 12%; top: 68%; animation-delay: -0.4s; } | |
| .firefly-layer i:nth-child(2) { left: 26%; top: 42%; animation-delay: -1.1s; } | |
| .firefly-layer i:nth-child(3) { left: 66%; top: 61%; animation-delay: -2.2s; } | |
| .firefly-layer i:nth-child(4) { left: 82%; top: 33%; animation-delay: -3.1s; } | |
| .firefly-layer i:nth-child(5) { left: 42%; top: 78%; animation-delay: -4.1s; } | |
| .firefly-layer i:nth-child(6) { left: 55%; top: 24%; animation-delay: -5.3s; } | |
| .travel-warmth { | |
| position: fixed; | |
| inset: 0; | |
| z-index: 90; | |
| pointer-events: none; | |
| opacity: 0; | |
| background: radial-gradient(circle at center, #fff0b9 0%, rgba(246, 178, 76, 0.82) 30%, rgba(98, 58, 28, 0.1) 64%, transparent 100%); | |
| } | |
| .is-traveling .travel-warmth { | |
| animation: warmTravel 920ms ease both; | |
| } | |
| .scene-layer { | |
| position: absolute; | |
| inset: 0; | |
| z-index: 10; | |
| transform: | |
| translate3d(calc(var(--px) * 0.08), calc(var(--py) * 0.05), 80px) | |
| rotateX(calc(var(--py) * 0.012deg)) | |
| rotateY(calc(var(--px) * -0.012deg)); | |
| transition: transform 400ms cubic-bezier(0.19, 1, 0.22, 1); | |
| } | |
| .arrival-title { | |
| position: absolute; | |
| left: clamp(28px, 8vw, 118px); | |
| bottom: clamp(34px, 9vh, 92px); | |
| width: min(520px, 86vw); | |
| color: #fff3d1; | |
| text-shadow: 0 16px 32px rgba(25, 14, 8, 0.48); | |
| animation: sceneArrive 780ms ease both; | |
| } | |
| .arrival-title p, | |
| .scene-note, | |
| .room-nav button { | |
| letter-spacing: 0.14em; | |
| text-transform: uppercase; | |
| } | |
| .arrival-title p { | |
| margin: 0 0 10px; | |
| color: #f7ca78; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .arrival-title h1 { | |
| margin: 0; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(66px, 11vw, 140px); | |
| font-weight: 900; | |
| line-height: 0.84; | |
| } | |
| .arrival-title span { | |
| display: block; | |
| margin-top: 18px; | |
| color: #fff6dc; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(22px, 3vw, 38px); | |
| font-weight: 900; | |
| line-height: 1; | |
| } | |
| .arrival-title button, | |
| .mom-desk button, | |
| .mom-reopen, | |
| .memory-actions button, | |
| .tidy-hallway, | |
| .note-desk button, | |
| .backyard-note button, | |
| .hallway-door, | |
| .backyard-door, | |
| .kitchen-return { | |
| border: 4px solid #6e4429; | |
| border-radius: 999px; | |
| background: linear-gradient(#ffe8ad, #f3ad56); | |
| color: #4e3320; | |
| box-shadow: 0 22px 42px rgba(31, 18, 10, 0.3), inset 0 2px rgba(255, 255, 255, 0.52); | |
| cursor: pointer; | |
| font-weight: 950; | |
| transition: transform 230ms ease, filter 230ms ease, box-shadow 230ms ease; | |
| } | |
| .arrival-title button { | |
| margin-top: 30px; | |
| padding: 16px 25px; | |
| font-size: 15px; | |
| letter-spacing: 0.1em; | |
| text-transform: uppercase; | |
| } | |
| .arrival-title button:hover, | |
| .mom-desk button:hover, | |
| .mom-reopen:hover, | |
| .memory-actions button:hover, | |
| .tidy-hallway:hover, | |
| .note-desk button:hover, | |
| .backyard-note button:hover, | |
| .hallway-door:hover, | |
| .backyard-door:hover, | |
| .kitchen-return:hover, | |
| .room-nav button:hover { | |
| filter: brightness(1.06); | |
| transform: translateY(-5px) scale(1.02); | |
| } | |
| .door-hotspot { | |
| position: absolute; | |
| left: 45%; | |
| bottom: 12%; | |
| width: 15vw; | |
| max-width: 180px; | |
| min-width: 94px; | |
| height: 28vh; | |
| min-height: 160px; | |
| border: 0; | |
| border-radius: 42% 42% 6% 6%; | |
| background: radial-gradient(circle at 50% 50%, rgba(255, 214, 128, 0.2), transparent 68%); | |
| cursor: pointer; | |
| opacity: 0.55; | |
| filter: blur(1px); | |
| animation: doorPulse 3s ease-in-out infinite; | |
| } | |
| .door-hotspot:hover { | |
| opacity: 1; | |
| box-shadow: 0 0 100px rgba(255, 199, 97, 0.45); | |
| } | |
| .room-nav { | |
| position: fixed; | |
| top: 18px; | |
| left: 50%; | |
| z-index: 30; | |
| display: flex; | |
| flex-wrap: wrap; | |
| justify-content: center; | |
| gap: 8px; | |
| width: max-content; | |
| max-width: min(920px, calc(100vw - 28px)); | |
| translate: -50% 0; | |
| border: 3px solid rgba(104, 65, 41, 0.72); | |
| border-radius: 999px; | |
| background: rgba(255, 238, 197, 0.5); | |
| padding: 7px; | |
| box-shadow: 0 18px 40px rgba(30, 17, 9, 0.26), inset 0 1px rgba(255, 255, 255, 0.55); | |
| backdrop-filter: blur(12px) saturate(130%); | |
| } | |
| .scene-arrival .room-nav { | |
| opacity: 0; | |
| pointer-events: none; | |
| } | |
| .room-nav button { | |
| border: 0; | |
| border-radius: 999px; | |
| background: rgba(255, 246, 220, 0.72); | |
| padding: 10px 13px; | |
| color: #563820; | |
| font-size: 11px; | |
| font-weight: 950; | |
| cursor: pointer; | |
| } | |
| .room-nav button.locked { | |
| opacity: 0.52; | |
| filter: grayscale(0.35); | |
| } | |
| .mom-desk { | |
| position: absolute; | |
| z-index: 28; | |
| left: clamp(18px, 3vw, 52px); | |
| bottom: clamp(18px, 4vh, 42px); | |
| display: grid; | |
| width: min(360px, 30vw); | |
| min-width: 292px; | |
| gap: 10px; | |
| border: 5px solid rgba(94, 55, 31, 0.86); | |
| border-radius: 28px 16px 32px 18px; | |
| background: | |
| radial-gradient(circle at 18% 12%, rgba(255, 255, 255, 0.56), transparent 22%), | |
| rgba(255, 244, 216, 0.76); | |
| padding: 13px; | |
| box-shadow: 0 34px 64px rgba(35, 19, 9, 0.34), inset 0 2px rgba(255, 255, 255, 0.58); | |
| backdrop-filter: blur(7px) saturate(135%); | |
| } | |
| .mom-desk::before { | |
| content: "👩"; | |
| position: absolute; | |
| right: -22px; | |
| top: -26px; | |
| display: grid; | |
| width: 58px; | |
| height: 58px; | |
| place-items: center; | |
| border: 4px solid #704529; | |
| border-radius: 50% 44% 48% 42%; | |
| background: #ffe8ad; | |
| box-shadow: 0 16px 24px rgba(31, 18, 10, 0.24); | |
| font-size: 31px; | |
| pointer-events: none; | |
| } | |
| .mom-desk-header { | |
| position: relative; | |
| z-index: 2; | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 12px; | |
| padding-right: 42px; | |
| } | |
| .mom-desk-header button { | |
| padding: 6px 10px; | |
| font-size: 10px; | |
| } | |
| .mom-desk button:disabled { | |
| cursor: progress; | |
| opacity: 0.72; | |
| transform: none; | |
| } | |
| .mom-reopen { | |
| position: absolute; | |
| z-index: 24; | |
| left: clamp(18px, 3vw, 52px); | |
| bottom: clamp(18px, 4vh, 42px); | |
| display: grid; | |
| min-width: 180px; | |
| gap: 4px; | |
| padding: 14px 18px; | |
| text-align: left; | |
| } | |
| .mom-reopen span { | |
| font-size: 30px; | |
| } | |
| .mom-reopen small { | |
| display: inline-block; | |
| color: #765338; | |
| font-size: 10px; | |
| font-weight: 950; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .kitchen-object-rail { | |
| position: absolute; | |
| z-index: 23; | |
| left: clamp(22px, 4vw, 66px); | |
| top: clamp(82px, 13vh, 128px); | |
| display: flex; | |
| gap: 10px; | |
| align-items: center; | |
| } | |
| .kitchen-object-rail button { | |
| display: grid; | |
| min-width: 92px; | |
| place-items: center; | |
| border: 4px solid #704529; | |
| border-radius: 20px 11px 23px 13px; | |
| background: rgba(255, 244, 216, 0.84); | |
| color: #563820; | |
| padding: 9px; | |
| box-shadow: 0 20px 34px rgba(29, 15, 8, 0.26), inset 0 2px rgba(255, 255, 255, 0.45); | |
| cursor: pointer; | |
| font-size: 11px; | |
| font-weight: 950; | |
| backdrop-filter: blur(6px) saturate(125%); | |
| transition: transform 220ms ease, filter 220ms ease; | |
| } | |
| .kitchen-object-rail button:hover { | |
| filter: brightness(1.06); | |
| transform: translateY(-7px) rotate(-1deg); | |
| } | |
| .kitchen-object-rail span { | |
| font-size: 31px; | |
| filter: drop-shadow(0 8px 8px rgba(61, 35, 18, 0.2)); | |
| } | |
| .kitchen-table { | |
| position: absolute; | |
| z-index: 16; | |
| left: 38%; | |
| bottom: 7vh; | |
| width: min(420px, 34vw); | |
| min-height: 220px; | |
| border: 5px solid rgba(100, 61, 35, 0.8); | |
| border-radius: 50% 46% 28px 30px; | |
| background: | |
| repeating-linear-gradient(8deg, rgba(255, 222, 162, 0.12) 0 8px, transparent 8px 18px), | |
| radial-gradient(ellipse at center, rgba(139, 86, 46, 0.84), rgba(91, 52, 28, 0.92)); | |
| padding: 18px; | |
| box-shadow: 0 34px 0 rgba(63, 34, 17, 0.22), 0 44px 70px rgba(29, 15, 8, 0.34), inset 0 8px rgba(255, 224, 160, 0.2); | |
| transform: rotateX(9deg) rotateZ(-1deg); | |
| } | |
| .kitchen-table header { | |
| display: flex; | |
| justify-content: space-between; | |
| gap: 12px; | |
| color: #fff2d1; | |
| font-size: 12px; | |
| font-weight: 950; | |
| text-shadow: 0 2px 8px rgba(33, 17, 8, 0.55); | |
| } | |
| .kitchen-table header span { | |
| opacity: 0.8; | |
| font-size: 10px; | |
| letter-spacing: 0.12em; | |
| text-transform: uppercase; | |
| } | |
| .artifact-spread { | |
| position: relative; | |
| min-height: 154px; | |
| } | |
| .empty-table { | |
| margin: 30px auto 0; | |
| max-width: 260px; | |
| color: #ffe8b5; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 17px; | |
| font-weight: 900; | |
| line-height: 1.15; | |
| text-align: center; | |
| } | |
| .table-card { | |
| position: absolute; | |
| display: grid; | |
| width: 122px; | |
| min-height: 106px; | |
| place-items: center; | |
| border: 4px solid #704529; | |
| border-radius: 18px 11px 20px 12px; | |
| background: #fff4d8; | |
| color: #65412a; | |
| padding: 9px; | |
| box-shadow: 0 14px 20px rgba(48, 24, 10, 0.28); | |
| cursor: pointer; | |
| animation: objectAppear 420ms cubic-bezier(0.19, 1, 0.22, 1), noteFloat 5s ease-in-out infinite; | |
| } | |
| .table-card span { | |
| font-size: 34px; | |
| } | |
| .table-card strong { | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 13px; | |
| line-height: 1; | |
| } | |
| .table-card-1 { left: 4%; top: 18%; rotate: -8deg; } | |
| .table-card-2 { left: 34%; top: 32%; rotate: 5deg; } | |
| .table-card-3 { right: 4%; top: 12%; rotate: -2deg; } | |
| .table-card-4 { left: 16%; bottom: 2%; rotate: 7deg; } | |
| .table-card-5 { right: 17%; bottom: 0; rotate: -6deg; } | |
| .mom-drawer { | |
| position: absolute; | |
| z-index: 24; | |
| left: clamp(26px, 5vw, 90px); | |
| top: clamp(78px, 14vh, 132px); | |
| display: flex; | |
| align-items: center; | |
| gap: 9px; | |
| border: 4px solid #704529; | |
| border-radius: 22px 12px 24px 13px; | |
| background: rgba(119, 72, 39, 0.82); | |
| color: #fff0c8; | |
| padding: 12px 14px; | |
| box-shadow: 0 20px 34px rgba(29, 15, 8, 0.3), inset 0 2px rgba(255, 255, 255, 0.2); | |
| cursor: pointer; | |
| font-weight: 950; | |
| backdrop-filter: blur(5px); | |
| } | |
| .mom-drawer span { | |
| font-size: 28px; | |
| } | |
| .drawer-find, | |
| .inventory-shelf, | |
| .garden-progress { | |
| position: absolute; | |
| z-index: 26; | |
| border: 5px solid rgba(100, 61, 35, 0.86); | |
| border-radius: 24px 14px 28px 16px; | |
| background: rgba(255, 244, 216, 0.82); | |
| padding: 14px; | |
| box-shadow: 0 26px 46px rgba(28, 15, 8, 0.28), inset 0 2px rgba(255, 255, 255, 0.52); | |
| backdrop-filter: blur(7px) saturate(125%); | |
| } | |
| .drawer-find { | |
| left: clamp(26px, 5vw, 90px); | |
| top: clamp(150px, 25vh, 240px); | |
| width: min(290px, 28vw); | |
| animation: slipIn 300ms ease both; | |
| } | |
| .drawer-find span { | |
| font-size: 44px; | |
| } | |
| .drawer-find strong, | |
| .inventory-shelf strong, | |
| .garden-progress strong { | |
| display: block; | |
| color: #563820; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 20px; | |
| font-weight: 900; | |
| } | |
| .drawer-find p { | |
| margin: 7px 0 0; | |
| color: #68452d; | |
| font-size: 13px; | |
| font-weight: 800; | |
| } | |
| .paper-modal { | |
| rotate: -2deg; | |
| background: | |
| repeating-linear-gradient(180deg, transparent 0 22px, rgba(120, 80, 45, 0.1) 22px 24px), | |
| #fff4d8; | |
| } | |
| .paper-close { | |
| justify-self: end; | |
| border: 3px solid #8a5a36; | |
| border-radius: 999px; | |
| background: #ffe8ad; | |
| color: #65412a; | |
| padding: 5px 9px; | |
| cursor: pointer; | |
| font-size: 10px; | |
| font-weight: 950; | |
| } | |
| .inventory-shelf { | |
| right: clamp(24px, 5vw, 84px); | |
| bottom: clamp(24px, 4vh, 46px); | |
| width: min(300px, 28vw); | |
| } | |
| .inventory-shelf div { | |
| display: flex; | |
| min-height: 42px; | |
| flex-wrap: wrap; | |
| gap: 7px; | |
| align-items: center; | |
| margin-top: 8px; | |
| } | |
| .inventory-shelf button { | |
| display: grid; | |
| min-width: 58px; | |
| gap: 2px; | |
| place-items: center; | |
| border: 3px solid #8a5a36; | |
| border-radius: 14px 8px 15px 9px; | |
| background: #fff7df; | |
| color: #65412a; | |
| padding: 5px; | |
| cursor: pointer; | |
| box-shadow: 0 8px 12px rgba(82, 47, 26, 0.12); | |
| transition: transform 180ms ease; | |
| } | |
| .inventory-shelf button:hover { | |
| transform: translateY(-5px) rotate(-2deg); | |
| } | |
| .inventory-shelf button span { | |
| display: grid; | |
| width: 38px; | |
| height: 38px; | |
| place-items: center; | |
| font-size: 21px; | |
| } | |
| .inventory-shelf small { | |
| color: #765338; | |
| font-size: 9px; | |
| font-weight: 850; | |
| } | |
| .mom-desk label, | |
| .note-desk label, | |
| .backyard-note label { | |
| color: #715035; | |
| font-size: 12px; | |
| font-weight: 950; | |
| letter-spacing: 0.13em; | |
| text-transform: uppercase; | |
| } | |
| .mom-thread { | |
| display: flex; | |
| max-height: min(230px, 26vh); | |
| min-height: 120px; | |
| flex-direction: column; | |
| gap: 9px; | |
| overflow-y: auto; | |
| overscroll-behavior: contain; | |
| padding-right: 5px; | |
| scroll-behavior: smooth; | |
| } | |
| .mom-thread::-webkit-scrollbar { | |
| width: 8px; | |
| } | |
| .mom-thread::-webkit-scrollbar-thumb { | |
| border: 2px solid rgba(255, 247, 223, 0.8); | |
| border-radius: 999px; | |
| background: #a87348; | |
| } | |
| .speech-slip { | |
| max-width: 96%; | |
| margin: 0; | |
| border: 3px solid #8a5a36; | |
| border-radius: 22px 14px 24px 12px; | |
| background: rgba(255, 249, 232, 0.9); | |
| padding: 12px 14px; | |
| color: #67452e; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(14px, 1.28vw, 18px); | |
| font-weight: 900; | |
| line-height: 1.18; | |
| white-space: pre-line; | |
| box-shadow: 0 14px 24px rgba(82, 47, 26, 0.14); | |
| animation: slipIn 300ms ease both; | |
| } | |
| .mom-onboarding { | |
| display: grid; | |
| gap: 9px; | |
| border: 3px solid rgba(138, 90, 54, 0.28); | |
| border-radius: 19px 12px 21px 13px; | |
| background: | |
| radial-gradient(circle at 20% 15%, rgba(255, 255, 255, 0.46), transparent 25%), | |
| rgba(255, 248, 229, 0.62); | |
| padding: 10px; | |
| box-shadow: inset 0 1px rgba(255, 255, 255, 0.55); | |
| } | |
| .mom-prompt-chips { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 7px; | |
| } | |
| .mom-desk .mom-prompt-chips button { | |
| justify-self: auto; | |
| border: 2px solid rgba(112, 69, 41, 0.75); | |
| border-radius: 999px; | |
| background: #fff7df; | |
| color: #5f3c25; | |
| padding: 7px 10px; | |
| box-shadow: 0 8px 13px rgba(82, 47, 26, 0.12); | |
| cursor: pointer; | |
| font-size: 10px; | |
| font-weight: 950; | |
| letter-spacing: 0; | |
| text-transform: none; | |
| transition: transform 180ms ease, filter 180ms ease; | |
| } | |
| .mom-desk .mom-prompt-chips button:hover { | |
| filter: brightness(1.05); | |
| transform: translateY(-3px) rotate(-1deg); | |
| } | |
| .mom-prompt-chips span { | |
| margin-right: 4px; | |
| } | |
| .house-reacts-note, | |
| .mom-input-helper { | |
| margin: 0; | |
| color: #765338; | |
| font-size: 10px; | |
| font-weight: 850; | |
| line-height: 1.35; | |
| } | |
| .house-reacts-note { | |
| border-left: 4px solid #d59952; | |
| padding-left: 8px; | |
| } | |
| .room-hint-row { | |
| display: grid; | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| gap: 6px; | |
| } | |
| .room-hint-row span { | |
| display: grid; | |
| gap: 1px; | |
| border: 2px solid rgba(138, 90, 54, 0.2); | |
| border-radius: 13px 8px 14px 9px; | |
| background: rgba(255, 255, 255, 0.34); | |
| color: #765338; | |
| padding: 6px; | |
| font-size: 9px; | |
| font-weight: 850; | |
| line-height: 1.15; | |
| } | |
| .room-hint-row b { | |
| color: #563820; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 11px; | |
| font-weight: 900; | |
| } | |
| .speech-slip.you { | |
| align-self: flex-end; | |
| background: rgba(244, 180, 95, 0.92); | |
| rotate: 1.4deg; | |
| } | |
| .speech-slip.mom { | |
| align-self: flex-start; | |
| rotate: -1deg; | |
| } | |
| .speech-slip.thinking::after { | |
| content: "..."; | |
| animation: dots 1s steps(4) infinite; | |
| } | |
| .cursor { | |
| display: inline-block; | |
| width: 0.6em; | |
| height: 1em; | |
| margin-left: 4px; | |
| border-right: 3px solid #67452e; | |
| vertical-align: -0.15em; | |
| animation: cursorBlink 800ms steps(2) infinite; | |
| } | |
| textarea { | |
| min-height: 62px; | |
| resize: none; | |
| border: 3px solid #bc8c55; | |
| border-radius: 18px 10px 20px 12px; | |
| outline: none; | |
| background: rgba(255, 250, 235, 0.94); | |
| padding: 12px; | |
| color: #4e3320; | |
| box-shadow: inset 0 2px 7px rgba(96, 57, 31, 0.12); | |
| } | |
| .mom-desk button, | |
| .note-desk button, | |
| .backyard-note button { | |
| justify-self: start; | |
| padding: 9px 14px; | |
| font-size: 12px; | |
| } | |
| .radio-object { | |
| position: absolute; | |
| right: clamp(22px, 6vw, 92px); | |
| top: clamp(80px, 12vh, 126px); | |
| display: grid; | |
| width: min(310px, 28vw); | |
| min-width: 230px; | |
| grid-template-columns: 74px 1fr; | |
| gap: 8px 15px; | |
| align-items: center; | |
| border: 5px solid rgba(91, 54, 31, 0.88); | |
| border-radius: 30px 16px 28px 18px; | |
| background: rgba(132, 84, 50, 0.78); | |
| padding: 14px; | |
| color: #fff2d1; | |
| box-shadow: 0 0 42px rgba(255, 177, 72, 0.28), 0 30px 54px rgba(28, 15, 8, 0.3), inset 0 2px rgba(255, 255, 255, 0.26); | |
| cursor: pointer; | |
| backdrop-filter: blur(6px); | |
| animation: radioGlow 3s ease-in-out infinite; | |
| } | |
| .radio-object span { | |
| grid-row: 1 / 3; | |
| font-size: 58px; | |
| filter: drop-shadow(0 8px 10px rgba(38, 20, 10, 0.22)); | |
| } | |
| .radio-object i { | |
| display: flex; | |
| align-items: center; | |
| gap: 5px; | |
| height: 38px; | |
| } | |
| .radio-object i::before, | |
| .radio-object i::after { | |
| content: ""; | |
| display: block; | |
| width: 10px; | |
| height: 28px; | |
| border-radius: 999px; | |
| background: #ffe0a0; | |
| box-shadow: 18px 0 #ffe0a0, 36px 0 #ffe0a0, 54px 0 #ffe0a0; | |
| animation: wave 1s ease-in-out infinite; | |
| } | |
| .radio-object i::after { | |
| width: 26px; | |
| height: 26px; | |
| border: 4px solid #ffe0a0; | |
| background: transparent; | |
| box-shadow: none; | |
| transform: rotate(var(--knob-turn, 0deg)); | |
| transition: transform 500ms cubic-bezier(0.19, 1, 0.22, 1); | |
| } | |
| .radio-object strong { | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 18px; | |
| font-weight: 900; | |
| line-height: 1.05; | |
| animation: slipIn 320ms ease both; | |
| } | |
| .radio-console { | |
| position: absolute; | |
| z-index: 21; | |
| right: clamp(22px, 6vw, 92px); | |
| top: clamp(76px, 10vh, 112px); | |
| display: grid; | |
| width: min(330px, 28vw); | |
| min-width: 270px; | |
| gap: 10px; | |
| border: 5px solid rgba(91, 54, 31, 0.88); | |
| border-radius: 30px 16px 28px 18px; | |
| background: rgba(132, 84, 50, 0.78); | |
| padding: 14px; | |
| color: #fff2d1; | |
| box-shadow: 0 0 42px rgba(255, 177, 72, 0.28), 0 30px 54px rgba(28, 15, 8, 0.3), inset 0 2px rgba(255, 255, 255, 0.26); | |
| backdrop-filter: blur(6px); | |
| animation: radioGlow 3s ease-in-out infinite; | |
| } | |
| .radio-console header { | |
| display: flex; | |
| align-items: center; | |
| gap: 12px; | |
| } | |
| .radio-console header span { | |
| font-size: 46px; | |
| } | |
| .radio-console strong { | |
| display: block; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 23px; | |
| font-weight: 900; | |
| line-height: 1; | |
| } | |
| .radio-console small { | |
| color: #ffe0a0; | |
| font-weight: 850; | |
| } | |
| .radio-wave { | |
| display: flex; | |
| height: 38px; | |
| align-items: center; | |
| gap: 8px; | |
| } | |
| .radio-wave i { | |
| display: block; | |
| width: 9px; | |
| height: 12px; | |
| border-radius: 999px; | |
| background: #ffe0a0; | |
| opacity: 0.52; | |
| } | |
| .radio-wave.playing i { | |
| animation: wave 1s ease-in-out infinite; | |
| } | |
| .radio-wave i:nth-child(2) { animation-delay: -0.18s; } | |
| .radio-wave i:nth-child(3) { animation-delay: -0.34s; } | |
| .radio-wave i:nth-child(4) { animation-delay: -0.52s; } | |
| .radio-wave i:nth-child(5) { animation-delay: -0.7s; } | |
| .radio-controls { | |
| display: grid; | |
| grid-template-columns: 80px 1fr; | |
| gap: 10px; | |
| align-items: center; | |
| } | |
| .radio-controls button, | |
| .station-list button { | |
| border: 3px solid rgba(255, 224, 160, 0.68); | |
| border-radius: 999px; | |
| background: rgba(255, 244, 216, 0.24); | |
| color: #fff4d8; | |
| padding: 8px 10px; | |
| cursor: pointer; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .radio-controls input { | |
| width: 100%; | |
| accent-color: #f4b45f; | |
| } | |
| .radio-native-player { | |
| width: 100%; | |
| height: 34px; | |
| border: 2px solid rgba(255, 224, 160, 0.44); | |
| border-radius: 999px; | |
| background: rgba(53, 35, 22, 0.48); | |
| box-shadow: inset 0 2px 7px rgba(45, 23, 9, 0.42), 0 8px 18px rgba(45, 23, 9, 0.22); | |
| filter: sepia(0.24) saturate(0.84); | |
| } | |
| .station-list { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 6px; | |
| } | |
| .station-list button.active { | |
| background: #ffe8ad; | |
| color: #4e3320; | |
| } | |
| .table-object { | |
| position: absolute; | |
| right: clamp(30px, 6vw, 108px); | |
| bottom: clamp(26px, 8vh, 86px); | |
| width: min(300px, 27vw); | |
| min-width: 230px; | |
| border: 5px solid rgba(100, 61, 35, 0.86); | |
| border-radius: 26px 15px 30px 17px; | |
| background: rgba(255, 244, 216, 0.78); | |
| padding: 18px; | |
| box-shadow: 0 30px 54px rgba(28, 15, 8, 0.28), inset 0 2px rgba(255, 255, 255, 0.52); | |
| backdrop-filter: blur(7px) saturate(125%); | |
| animation: objectAppear 520ms cubic-bezier(0.19, 1, 0.22, 1); | |
| } | |
| .table-object span { | |
| display: block; | |
| font-size: clamp(58px, 6vw, 92px); | |
| line-height: 0.9; | |
| filter: drop-shadow(0 14px 12px rgba(68, 38, 18, 0.2)); | |
| animation: levitate 3.5s ease-in-out infinite; | |
| } | |
| .table-object h2, | |
| .opened-letter h2 { | |
| margin: 10px 0 7px; | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(24px, 2.4vw, 36px); | |
| font-weight: 900; | |
| line-height: 0.98; | |
| } | |
| .table-object p, | |
| .opened-letter p { | |
| margin: 0; | |
| color: #68452d; | |
| font-size: 14px; | |
| font-weight: 800; | |
| line-height: 1.45; | |
| } | |
| .cat-presence, | |
| .garden-cat { | |
| position: absolute; | |
| z-index: 25; | |
| border: 0; | |
| background: transparent; | |
| font-size: clamp(58px, 7vw, 96px); | |
| cursor: pointer; | |
| filter: drop-shadow(0 18px 13px rgba(43, 23, 11, 0.35)); | |
| transition: transform 230ms ease; | |
| } | |
| .cat-presence { | |
| left: 56%; | |
| bottom: 10%; | |
| } | |
| .garden-cat { | |
| left: 18%; | |
| bottom: 14%; | |
| } | |
| .cat-sleeping { animation: catSleep 3s ease-in-out infinite; } | |
| .cat-walking { animation: catWalk 4.2s ease-in-out infinite; } | |
| .cat-sitting { animation: levitate 4s ease-in-out infinite; } | |
| .cat-looking, | |
| .cat-presence:hover, | |
| .garden-cat:hover { | |
| transform: rotate(-8deg) translateY(-7px); | |
| } | |
| .cat-bubble, | |
| .scene-note { | |
| position: absolute; | |
| z-index: 35; | |
| margin: 0; | |
| border: 4px solid #74492a; | |
| border-radius: 999px; | |
| background: rgba(255, 244, 216, 0.94); | |
| padding: 11px 15px; | |
| color: #68452d; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 18px; | |
| font-weight: 900; | |
| box-shadow: 0 20px 34px rgba(31, 18, 10, 0.22); | |
| animation: bubbleFloat 1.8s ease both; | |
| } | |
| .cat-bubble { | |
| left: 58%; | |
| bottom: 25%; | |
| } | |
| .cat-emoji { | |
| display: block; | |
| } | |
| .cat-count { | |
| position: absolute; | |
| right: -2px; | |
| top: 4px; | |
| display: grid; | |
| min-width: 28px; | |
| height: 28px; | |
| place-items: center; | |
| border: 3px solid #704529; | |
| border-radius: 999px; | |
| background: #ffe8ad; | |
| color: #563820; | |
| font-size: 12px; | |
| font-weight: 950; | |
| box-shadow: 0 10px 16px rgba(43, 23, 11, 0.24); | |
| } | |
| .garden-bubble { | |
| left: 18%; | |
| bottom: 31%; | |
| } | |
| .hallway-door, | |
| .backyard-door, | |
| .kitchen-return { | |
| position: absolute; | |
| padding: 11px 17px; | |
| font-size: 12px; | |
| } | |
| .hallway-door { | |
| right: clamp(26px, 6vw, 98px); | |
| top: 42%; | |
| } | |
| .backyard-door { | |
| right: clamp(28px, 6vw, 92px); | |
| bottom: 38px; | |
| } | |
| .kitchen-return { | |
| left: clamp(28px, 5vw, 72px); | |
| top: 86px; | |
| } | |
| .memory-backdrop { | |
| position: absolute; | |
| inset: 0; | |
| z-index: 1; | |
| background: | |
| radial-gradient(circle at 22% 20%, rgba(255, 229, 163, 0.42), transparent 24%), | |
| linear-gradient(180deg, #e4b574 0%, #c4864d 52%, #7f5532 100%); | |
| } | |
| .hall-ceiling { | |
| position: absolute; | |
| inset: 0 0 auto; | |
| height: 20vh; | |
| background: linear-gradient(135deg, #84452f, #c56d3a); | |
| clip-path: polygon(0 0, 100% 0, 88% 100%, 8% 100%); | |
| } | |
| .hall-lamp { | |
| position: absolute; | |
| left: 50%; | |
| top: 13vh; | |
| width: 66px; | |
| height: 66px; | |
| translate: -50% 0; | |
| border-radius: 50%; | |
| background: #ffd987; | |
| box-shadow: 0 0 48px rgba(255, 213, 128, 0.8), 0 0 160px rgba(255, 201, 96, 0.42); | |
| } | |
| .hall-window { | |
| position: absolute; | |
| right: 8vw; | |
| top: 19vh; | |
| width: 210px; | |
| height: 190px; | |
| border: 8px solid #704529; | |
| border-radius: 32px 18px 36px 20px; | |
| background: linear-gradient(180deg, #374f68, #182636); | |
| box-shadow: inset 0 0 0 10px rgba(255, 240, 200, 0.1), 0 28px 46px rgba(39, 21, 10, 0.24); | |
| } | |
| .hallway-progress { | |
| position: absolute; | |
| left: 7vw; | |
| top: 7vh; | |
| z-index: 18; | |
| width: min(620px, 54vw); | |
| border: 6px solid rgba(112, 69, 41, 0.86); | |
| border-radius: 30px 16px 34px 18px; | |
| background: rgba(255, 244, 216, 0.82); | |
| padding: 18px; | |
| box-shadow: 0 28px 54px rgba(38, 21, 10, 0.28), inset 0 2px rgba(255, 255, 255, 0.52); | |
| backdrop-filter: blur(8px) saturate(130%); | |
| } | |
| .hallway-progress p { | |
| margin: 0 0 4px; | |
| color: #8a5a36; | |
| font-size: 11px; | |
| font-weight: 950; | |
| letter-spacing: 0.16em; | |
| text-transform: uppercase; | |
| } | |
| .hallway-progress h2 { | |
| margin: 0; | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(32px, 4vw, 54px); | |
| font-weight: 900; | |
| line-height: 0.95; | |
| } | |
| .visit-line { | |
| display: block; | |
| margin-top: 8px; | |
| color: #8a6040; | |
| font-size: 13px; | |
| font-weight: 950; | |
| } | |
| .hallway-progress div { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| margin-top: 14px; | |
| } | |
| .hallway-progress span { | |
| border: 3px solid #8a5a36; | |
| border-radius: 999px; | |
| background: #fff7df; | |
| padding: 7px 10px; | |
| color: #65412a; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .hallway-progress strong { | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 20px; | |
| } | |
| .hall-board { | |
| position: absolute; | |
| left: 8vw; | |
| top: 16vh; | |
| width: min(58vw, 760px); | |
| height: 62vh; | |
| border: 10px solid #704529; | |
| border-radius: 34px 17px 38px 20px; | |
| background: | |
| radial-gradient(circle at 30% 20%, rgba(255, 244, 216, 0.42), transparent 24%), | |
| rgba(187, 123, 70, 0.72); | |
| box-shadow: 0 38px 72px rgba(38, 21, 10, 0.3), inset 0 3px rgba(255, 255, 255, 0.36); | |
| } | |
| .floorboards { | |
| position: absolute; | |
| inset: auto 0 0; | |
| height: 18vh; | |
| background: | |
| repeating-linear-gradient(90deg, rgba(65, 36, 19, 0.18) 0 4px, transparent 4px 13vw), | |
| #8b5b36; | |
| } | |
| .memory-wall { | |
| position: absolute; | |
| left: 8vw; | |
| top: 29vh; | |
| width: min(58vw, 820px); | |
| height: 54vh; | |
| z-index: 12; | |
| } | |
| .journey-wall { | |
| display: grid; | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| grid-template-rows: repeat(2, 160px); | |
| gap: 16px; | |
| align-content: center; | |
| justify-content: center; | |
| width: min(62vw, 860px); | |
| height: 376px; | |
| overflow: hidden; | |
| border: 5px solid rgba(112, 69, 41, 0.42); | |
| border-radius: 24px 14px 28px 16px; | |
| background-color: rgba(180, 120, 60, 0.15); | |
| background-image: | |
| repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(160, 100, 40, 0.06) 28px, rgba(160, 100, 40, 0.06) 29px), | |
| repeating-linear-gradient(90deg, transparent, transparent 28px, rgba(160, 100, 40, 0.06) 28px, rgba(160, 100, 40, 0.06) 29px); | |
| padding: 22px; | |
| box-shadow: inset 0 3px 16px rgba(86, 48, 24, 0.12), 0 24px 44px rgba(38, 21, 10, 0.18); | |
| } | |
| .memory-artifact { | |
| position: relative; | |
| display: grid; | |
| height: 160px; | |
| min-width: 0; | |
| max-width: none; | |
| place-items: center; | |
| gap: 6px; | |
| overflow: hidden; | |
| border: 2px solid rgba(140, 80, 30, 0.3); | |
| border-radius: 12px; | |
| background: #fff8e8; | |
| color: #3a2010 ; | |
| padding: 16px; | |
| box-shadow: 0 16px 22px rgba(82, 47, 26, 0.18); | |
| cursor: pointer; | |
| animation: objectAppear 420ms ease both; | |
| transition: transform 220ms ease; | |
| left: auto ; | |
| top: auto ; | |
| text-align: center; | |
| } | |
| .memory-artifact::before { | |
| content: ""; | |
| position: absolute; | |
| top: -12px; | |
| width: 22px; | |
| height: 22px; | |
| border: 4px solid #704529; | |
| border-radius: 50%; | |
| background: #f4b45f; | |
| box-shadow: 0 5px 0 rgba(77, 44, 23, 0.12); | |
| } | |
| .memory-artifact:hover { | |
| transform: translateY(-8px) rotate(0deg) scale(1.03) ; | |
| } | |
| .memory-artifact span { | |
| color: #3a2010 ; | |
| font-size: 42px; | |
| line-height: 1; | |
| } | |
| .memory-artifact strong { | |
| color: #3a2010 ; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 18px; | |
| line-height: 1.05; | |
| } | |
| .memory-artifact small { | |
| color: #3a2010 ; | |
| opacity: 0.72; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .memory-artifact em { | |
| display: block; | |
| color: #3a2010 ; | |
| font-size: 13px; | |
| font-style: normal; | |
| font-weight: 800; | |
| line-height: 1.25; | |
| } | |
| .memory-artifact:nth-child(3n) { | |
| background: #fff8e8; | |
| } | |
| .memory-artifact:nth-child(3n + 1) { | |
| background: #fff8e8; | |
| } | |
| .memory-artifact:nth-child(3n + 2) { | |
| background: #fff8e8; | |
| } | |
| .memory-artifact-1 { left: 0; top: 4%; rotate: -7deg; } | |
| .memory-artifact-2 { left: 23%; top: 10%; rotate: 4deg; } | |
| .memory-artifact-3 { left: 48%; top: 2%; rotate: -3deg; } | |
| .memory-artifact-4 { left: 68%; top: 24%; rotate: 6deg; } | |
| .memory-artifact-5 { left: 8%; top: 46%; rotate: 8deg; } | |
| .memory-artifact-6 { left: 34%; top: 48%; rotate: -5deg; } | |
| .memory-artifact-7 { left: 58%; top: 52%; rotate: 3deg; } | |
| .memory-artifact-8 { left: 76%; top: 4%; rotate: -6deg; } | |
| .memory-detail em { | |
| display: block; | |
| margin-top: 12px; | |
| color: #7c5738; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 16px; | |
| font-style: normal; | |
| font-weight: 900; | |
| line-height: 1.25; | |
| } | |
| .memory-detail, | |
| .visitor-notes { | |
| padding: 16px; | |
| } | |
| .memory-detail > * + *, | |
| .visitor-notes > * + * { | |
| border-top: 1px solid rgba(140, 80, 30, 0.2); | |
| padding-top: 10px; | |
| } | |
| .memory-origin { | |
| display: block; | |
| margin-top: 10px; | |
| border: 3px solid rgba(138, 90, 54, 0.38); | |
| border-radius: 16px 8px 18px 10px; | |
| background: rgba(255, 247, 223, 0.72); | |
| color: #65412a; | |
| padding: 8px; | |
| font-size: 12px; | |
| font-weight: 900; | |
| line-height: 1.25; | |
| } | |
| .memory-actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| margin-top: 14px; | |
| } | |
| .memory-actions button, | |
| .tidy-hallway { | |
| padding: 8px 11px; | |
| font-size: 11px; | |
| } | |
| .museum-shelves { | |
| position: absolute; | |
| right: 7vw; | |
| bottom: 38px; | |
| z-index: 18; | |
| display: grid; | |
| width: min(360px, 32vw); | |
| gap: 10px; | |
| } | |
| .tidy-hallway { | |
| justify-self: start; | |
| } | |
| .museum-shelves div { | |
| border: 5px solid rgba(100, 61, 35, 0.86); | |
| border-bottom: 1px solid rgba(140, 80, 30, 0.2); | |
| border-radius: 24px 14px 28px 16px; | |
| background: rgba(255, 244, 216, 0.84); | |
| padding: 16px; | |
| box-shadow: 0 20px 38px rgba(28, 15, 8, 0.2), inset 0 2px rgba(255, 255, 255, 0.5); | |
| backdrop-filter: blur(7px) saturate(125%); | |
| } | |
| .museum-shelves strong { | |
| display: block; | |
| color: #563820; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 19px; | |
| font-weight: 900; | |
| } | |
| .museum-shelves p { | |
| margin: 5px 0 0; | |
| color: #68452d; | |
| font-size: 13px; | |
| font-weight: 850; | |
| line-height: 1.35; | |
| } | |
| .museum-pill-row { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 7px; | |
| align-items: center; | |
| } | |
| .museum-pill { | |
| display: inline-flex; | |
| align-items: center; | |
| border-radius: 999px; | |
| padding: 4px 10px; | |
| font-size: 12px; | |
| font-weight: 900; | |
| line-height: 1.2; | |
| } | |
| .cat-pill { | |
| background: #fff0d0; | |
| color: #5a3010; | |
| } | |
| .garden-pill { | |
| background: #f0f5e0; | |
| color: #3a5010; | |
| } | |
| .visitor-notes p { | |
| margin: 10px 0 0; | |
| color: #68452d; | |
| font-size: 13px; | |
| font-weight: 850; | |
| } | |
| .note-strip { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 6px; | |
| } | |
| .note-strip button { | |
| border: 2px solid #8a5a36; | |
| border-radius: 999px; | |
| background: #fff7df; | |
| color: #65412a; | |
| padding: 6px 9px; | |
| cursor: pointer; | |
| font-size: 11px; | |
| font-weight: 950; | |
| } | |
| .note-desk form { | |
| display: grid; | |
| gap: 8px; | |
| } | |
| .note-desk textarea { | |
| min-height: 76px; | |
| } | |
| .paper-note, | |
| .garden-note { | |
| position: absolute; | |
| display: grid; | |
| place-items: center; | |
| border: 4px solid #815430; | |
| border-bottom-width: 17px; | |
| background: | |
| radial-gradient(circle at 30% 22%, rgba(255, 255, 255, 0.76), transparent 28%), | |
| #fff4d8; | |
| color: #6f4b31; | |
| font-family: Fraunces, Georgia, serif; | |
| font-weight: 900; | |
| box-shadow: 0 16px 22px rgba(82, 47, 26, 0.18); | |
| cursor: pointer; | |
| animation: noteFloat 4.8s ease-in-out infinite; | |
| transition: transform 220ms ease, box-shadow 220ms ease; | |
| } | |
| .paper-note { | |
| width: 142px; | |
| height: 118px; | |
| font-size: 20px; | |
| } | |
| .paper-note small { | |
| position: absolute; | |
| bottom: -15px; | |
| color: #815430; | |
| font-family: Inter, sans-serif; | |
| font-size: 9px; | |
| font-weight: 900; | |
| letter-spacing: 0.12em; | |
| text-transform: uppercase; | |
| } | |
| .paper-note:hover, | |
| .garden-note:hover { | |
| transform: translateY(-10px) rotate(0deg) scale(1.04) ; | |
| } | |
| .paper-1 { left: 0; top: 4%; rotate: -7deg; animation-delay: -0.3s; } | |
| .paper-2 { left: 24%; top: 13%; rotate: 5deg; animation-delay: -1.1s; } | |
| .paper-3 { left: 47%; top: 2%; rotate: -3deg; animation-delay: -1.8s; } | |
| .paper-4 { left: 10%; top: 48%; rotate: 8deg; animation-delay: -2.5s; } | |
| .paper-5 { left: 42%; top: 50%; rotate: -6deg; animation-delay: -3.2s; } | |
| .paper-6 { left: 68%; top: 38%; rotate: 4deg; animation-delay: -3.8s; } | |
| .opened-letter, | |
| .note-desk, | |
| .backyard-note { | |
| position: absolute; | |
| border: 5px solid rgba(100, 61, 35, 0.86); | |
| border-radius: 26px 15px 30px 17px; | |
| background: rgba(255, 244, 216, 0.82); | |
| padding: 18px; | |
| box-shadow: 0 30px 54px rgba(28, 15, 8, 0.28), inset 0 2px rgba(255, 255, 255, 0.52); | |
| backdrop-filter: blur(7px) saturate(125%); | |
| } | |
| .reflection-bench { | |
| position: absolute; | |
| z-index: 20; | |
| left: clamp(26px, 6vw, 90px); | |
| bottom: clamp(28px, 6vh, 72px); | |
| display: grid; | |
| width: min(430px, 36vw); | |
| min-width: 320px; | |
| gap: 10px; | |
| border: 6px solid #704529; | |
| border-radius: 28px 16px 32px 18px; | |
| background: rgba(255, 244, 216, 0.82); | |
| padding: 18px; | |
| box-shadow: 0 30px 54px rgba(28, 15, 8, 0.28), inset 0 2px rgba(255, 255, 255, 0.52); | |
| backdrop-filter: blur(7px) saturate(125%); | |
| } | |
| .reflection-bench .bench-close { | |
| position: absolute; | |
| top: 12px; | |
| right: 14px; | |
| z-index: 3; | |
| justify-self: auto; | |
| border: 3px solid #704529; | |
| border-radius: 999px; | |
| background: #fff4d8; | |
| color: #4e3320; | |
| padding: 8px 13px; | |
| box-shadow: 0 10px 18px rgba(35, 18, 8, 0.18); | |
| cursor: pointer; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .reflection-bench .bench-close:hover, | |
| .reflection-bench-tab:hover { | |
| transform: translateY(-3px); | |
| } | |
| .reflection-bench-tab { | |
| position: absolute; | |
| z-index: 24; | |
| left: clamp(26px, 6vw, 90px); | |
| bottom: clamp(28px, 6vh, 72px); | |
| border: 5px solid #704529; | |
| border-radius: 999px; | |
| background: linear-gradient(#fff1c9, #f5b760); | |
| color: #4e3320; | |
| padding: 12px 18px; | |
| box-shadow: 0 18px 32px rgba(28, 15, 8, 0.28); | |
| cursor: pointer; | |
| font-size: 13px; | |
| font-weight: 950; | |
| } | |
| .reflection-bench h2 { | |
| margin: 0; | |
| padding: 0 78px; | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 34px; | |
| font-weight: 900; | |
| } | |
| .reflection-bench p { | |
| margin: 0; | |
| color: #68452d; | |
| font-size: 17px; | |
| font-weight: 900; | |
| } | |
| .bench-garden-row { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 7px; | |
| align-items: center; | |
| border: 3px solid rgba(112, 69, 41, 0.34); | |
| border-radius: 18px 9px 20px 11px; | |
| background: rgba(255, 247, 223, 0.55); | |
| padding: 8px; | |
| } | |
| .bench-garden-row button { | |
| display: grid; | |
| min-width: 50px; | |
| place-items: center; | |
| border: 2px solid #8a5a36; | |
| border-radius: 14px 8px 16px 9px; | |
| background: #fff7df; | |
| padding: 5px; | |
| } | |
| .bench-garden-row span { | |
| font-size: 24px; | |
| } | |
| .bench-garden-row small { | |
| color: #68452d; | |
| font-size: 9px; | |
| font-weight: 900; | |
| } | |
| .reflection-bench form { | |
| display: grid; | |
| gap: 9px; | |
| } | |
| .reflection-bench button { | |
| justify-self: start; | |
| border: 4px solid #6e4429; | |
| border-radius: 999px; | |
| background: linear-gradient(#ffe8ad, #f3ad56); | |
| color: #4e3320; | |
| padding: 9px 14px; | |
| cursor: pointer; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .reflection-bench .bench-garden-row button { | |
| justify-self: auto; | |
| border: 2px solid #8a5a36; | |
| border-radius: 14px 8px 16px 9px; | |
| background: #fff7df; | |
| color: #65412a; | |
| padding: 5px; | |
| } | |
| .garden-growth { | |
| position: absolute; | |
| inset: 12vh 6vw 18vh 42vw; | |
| pointer-events: none; | |
| } | |
| .plant { | |
| position: absolute; | |
| z-index: 18; | |
| display: grid; | |
| place-items: center; | |
| border: 0; | |
| background: transparent; | |
| color: #fff4d8; | |
| cursor: pointer; | |
| filter: drop-shadow(0 16px 10px rgba(28, 15, 8, 0.28)); | |
| pointer-events: auto; | |
| animation: objectAppear 480ms ease both, levitate 4.2s ease-in-out infinite; | |
| } | |
| .plant span { | |
| font-size: clamp(44px, 5vw, 78px); | |
| } | |
| .plant small { | |
| border: 3px solid #704529; | |
| border-radius: 999px; | |
| background: rgba(255, 244, 216, 0.86); | |
| color: #563820; | |
| padding: 5px 8px; | |
| font-size: 10px; | |
| font-weight: 950; | |
| } | |
| .plant-1 { left: 4%; bottom: 4%; } | |
| .plant-2 { left: 22%; bottom: 18%; animation-delay: -0.5s; } | |
| .plant-3 { left: 44%; bottom: 8%; animation-delay: -1s; } | |
| .plant-4 { left: 66%; bottom: 24%; animation-delay: -1.5s; } | |
| .plant-5 { left: 18%; bottom: 42%; animation-delay: -2s; } | |
| .plant-6 { left: 52%; bottom: 48%; animation-delay: -2.5s; } | |
| .plant-7 { left: 76%; bottom: 4%; animation-delay: -3s; } | |
| .plant-8 { left: 34%; bottom: 62%; animation-delay: -3.5s; } | |
| .plant-9 { left: 86%; bottom: 44%; animation-delay: -4s; } | |
| .plant-10 { left: 4%; bottom: 70%; animation-delay: -4.5s; } | |
| .garden-progress { | |
| right: clamp(24px, 5vw, 84px); | |
| top: clamp(74px, 12vh, 118px); | |
| display: grid; | |
| width: min(270px, 26vw); | |
| gap: 7px; | |
| } | |
| .garden-progress span { | |
| color: #68452d; | |
| font-weight: 900; | |
| } | |
| .opened-letter { | |
| right: 7vw; | |
| top: 24vh; | |
| width: min(340px, 31vw); | |
| min-height: 180px; | |
| } | |
| .note-desk { | |
| right: 7vw; | |
| bottom: 74px; | |
| display: grid; | |
| width: min(340px, 31vw); | |
| gap: 9px; | |
| } | |
| .garden-notes { | |
| position: absolute; | |
| right: 7vw; | |
| top: 18vh; | |
| width: 330px; | |
| height: 260px; | |
| } | |
| .garden-note { | |
| width: 118px; | |
| height: 92px; | |
| border-bottom-width: 14px; | |
| font-size: 16px; | |
| } | |
| .garden-note-1 { left: 0; top: 0; rotate: -6deg; } | |
| .garden-note-2 { right: 20px; top: 18px; rotate: 7deg; } | |
| .garden-note-3 { left: 76px; top: 108px; rotate: -2deg; } | |
| .study-backdrop { | |
| position: absolute; | |
| inset: 0; | |
| z-index: 1; | |
| overflow: hidden; | |
| background: | |
| radial-gradient(circle at 28% 18%, rgba(255, 235, 180, 0.28), transparent 20%), | |
| linear-gradient(180deg, #9d704b 0%, #7c5234 52%, #3b2519 100%); | |
| } | |
| .study-wall { | |
| position: absolute; | |
| inset: 9vh 8vw 18vh; | |
| border: 8px solid rgba(88, 51, 29, 0.88); | |
| border-radius: 36px 18px 42px 22px; | |
| background: | |
| repeating-linear-gradient(90deg, rgba(88, 51, 29, 0.08) 0 6px, transparent 6px 72px), | |
| linear-gradient(135deg, rgba(255, 240, 203, 0.72), rgba(199, 145, 92, 0.72)); | |
| box-shadow: inset 0 4px rgba(255, 250, 224, 0.38), 0 36px 80px rgba(35, 20, 12, 0.36); | |
| } | |
| .study-window { | |
| position: absolute; | |
| right: 12vw; | |
| top: 13vh; | |
| width: 170px; | |
| height: 150px; | |
| border: 8px solid #704529; | |
| border-radius: 26px 14px 30px 16px; | |
| background: | |
| linear-gradient(90deg, transparent 47%, rgba(255, 244, 216, 0.35) 48% 52%, transparent 53%), | |
| linear-gradient(180deg, transparent 47%, rgba(255, 244, 216, 0.35) 48% 52%, transparent 53%), | |
| radial-gradient(circle at 70% 20%, #ffe8ad 0 10%, transparent 12%), | |
| linear-gradient(180deg, #33445d, #1b2634); | |
| box-shadow: 0 22px 46px rgba(38, 21, 10, 0.24), inset 0 0 28px rgba(255, 224, 160, 0.16); | |
| } | |
| .study-shelf { | |
| position: absolute; | |
| left: 12vw; | |
| width: min(430px, 38vw); | |
| height: 18px; | |
| border: 4px solid #5e371f; | |
| border-radius: 999px; | |
| background: linear-gradient(#9c6338, #6f4227); | |
| box-shadow: 0 18px 28px rgba(42, 23, 13, 0.24); | |
| } | |
| .shelf-one { top: 24vh; } | |
| .shelf-two { top: 39vh; left: 16vw; } | |
| .study-floor { | |
| position: absolute; | |
| inset: auto 0 0; | |
| height: 22vh; | |
| background: | |
| repeating-linear-gradient(90deg, rgba(65, 36, 19, 0.24) 0 4px, transparent 4px 10vw), | |
| linear-gradient(180deg, #7b4c2e, #4a2c1d); | |
| } | |
| .study-rug { | |
| position: absolute; | |
| left: 44%; | |
| bottom: 8vh; | |
| width: min(460px, 42vw); | |
| height: 108px; | |
| transform: translateX(-50%) rotateX(58deg) rotateZ(-2deg); | |
| border: 7px solid rgba(92, 54, 31, 0.78); | |
| border-radius: 50%; | |
| background: | |
| repeating-radial-gradient(ellipse at center, rgba(255, 232, 173, 0.34) 0 8px, transparent 8px 19px), | |
| #b56545; | |
| box-shadow: 0 28px 38px rgba(32, 17, 9, 0.28); | |
| } | |
| .study-library { | |
| position: absolute; | |
| z-index: 16; | |
| left: clamp(26px, 6vw, 92px); | |
| top: clamp(82px, 13vh, 128px); | |
| width: min(720px, 58vw); | |
| min-height: 560px; | |
| border: 7px solid rgba(90, 53, 30, 0.86); | |
| border-radius: 34px 17px 38px 20px; | |
| background: | |
| radial-gradient(circle at 78% 16%, rgba(255, 232, 173, 0.42), transparent 19%), | |
| rgba(255, 244, 216, 0.72); | |
| padding: 24px; | |
| box-shadow: 0 36px 76px rgba(35, 19, 9, 0.34), inset 0 3px rgba(255, 255, 255, 0.5); | |
| backdrop-filter: blur(8px) saturate(128%); | |
| } | |
| .study-library header p { | |
| margin: 0 0 4px; | |
| color: #8a5a36; | |
| font-size: 12px; | |
| font-weight: 950; | |
| letter-spacing: 0.15em; | |
| text-transform: uppercase; | |
| } | |
| .study-library h2 { | |
| margin: 0; | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(38px, 5vw, 70px); | |
| font-weight: 900; | |
| line-height: 0.9; | |
| } | |
| .study-library header span { | |
| display: block; | |
| margin-top: 8px; | |
| color: #68452d; | |
| font-weight: 850; | |
| } | |
| .library-lamp { | |
| position: absolute; | |
| right: 58px; | |
| top: 36px; | |
| width: 76px; | |
| height: 76px; | |
| border-radius: 50%; | |
| background: #ffd987; | |
| box-shadow: 0 0 38px rgba(255, 213, 128, 0.9), 0 0 118px rgba(255, 201, 96, 0.5); | |
| animation: candleFlicker 2.8s ease-in-out infinite; | |
| } | |
| .bookcase { | |
| position: relative; | |
| display: flex; | |
| align-items: end; | |
| gap: 7px; | |
| height: 150px; | |
| margin-top: 28px; | |
| border: 8px solid #704529; | |
| border-radius: 24px 12px 28px 14px; | |
| background: | |
| linear-gradient(180deg, transparent 0 45%, rgba(93, 55, 31, 0.28) 46% 53%, transparent 54%), | |
| rgba(128, 78, 44, 0.34); | |
| padding: 18px 16px; | |
| box-shadow: inset 0 3px rgba(255, 235, 190, 0.28), 0 18px 30px rgba(45, 24, 13, 0.2); | |
| } | |
| .book-spine { | |
| width: 42px; | |
| height: var(--book-height, 96px); | |
| border: 3px solid rgba(73, 43, 25, 0.65); | |
| border-radius: 8px 5px 9px 4px; | |
| writing-mode: vertical-rl; | |
| text-orientation: mixed; | |
| background: var(--book-color, #b56545); | |
| color: #fff7df; | |
| padding: 7px 4px; | |
| cursor: pointer; | |
| font-size: 11px; | |
| font-weight: 950; | |
| box-shadow: 0 10px 14px rgba(46, 24, 13, 0.22), inset 2px 0 rgba(255, 255, 255, 0.18); | |
| transition: transform 180ms ease; | |
| } | |
| .book-spine:hover { | |
| transform: translateY(-9px) rotate(-2deg); | |
| } | |
| .book-1 { --book-height: 104px; --book-color: #b56545; } | |
| .book-2 { --book-height: 118px; --book-color: #6c8a55; } | |
| .book-3 { --book-height: 92px; --book-color: #d69b4f; } | |
| .book-4 { --book-height: 126px; --book-color: #7c6c9e; } | |
| .book-5 { --book-height: 108px; --book-color: #9b5c3d; } | |
| .book-6 { --book-height: 116px; --book-color: #557b80; } | |
| .study-desk { | |
| position: relative; | |
| height: 230px; | |
| margin-top: 34px; | |
| border: 7px solid #704529; | |
| border-radius: 42% 44% 24px 25px; | |
| background: | |
| repeating-linear-gradient(7deg, rgba(255, 222, 162, 0.12) 0 8px, transparent 8px 18px), | |
| linear-gradient(135deg, #9f6438, #6b3e25); | |
| box-shadow: 0 32px 0 rgba(63, 34, 17, 0.2), 0 44px 60px rgba(29, 15, 8, 0.3), inset 0 8px rgba(255, 224, 160, 0.18); | |
| transform: rotateX(5deg); | |
| } | |
| .laptop { | |
| position: absolute; | |
| left: 36px; | |
| top: 30px; | |
| width: 250px; | |
| filter: drop-shadow(0 20px 18px rgba(35, 18, 9, 0.28)); | |
| } | |
| .laptop-screen { | |
| min-height: 128px; | |
| border: 7px solid #4b3326; | |
| border-radius: 18px 12px 16px 10px; | |
| background: | |
| linear-gradient(135deg, rgba(255, 232, 173, 0.2), transparent 40%), | |
| #27343b; | |
| padding: 16px; | |
| color: #fff4d8; | |
| } | |
| .laptop-screen span { | |
| display: block; | |
| margin-bottom: 12px; | |
| color: #ffc66d; | |
| font-size: 11px; | |
| font-weight: 950; | |
| letter-spacing: 0.14em; | |
| text-transform: uppercase; | |
| } | |
| .laptop-screen p { | |
| margin: 0; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 20px; | |
| font-weight: 900; | |
| line-height: 1.05; | |
| } | |
| .laptop-base { | |
| height: 24px; | |
| margin: 0 18px; | |
| border-radius: 0 0 18px 18px; | |
| background: #c9b28c; | |
| box-shadow: inset 0 4px rgba(255, 255, 255, 0.26); | |
| } | |
| .paper-page { | |
| position: absolute; | |
| display: grid; | |
| width: 148px; | |
| min-height: 116px; | |
| gap: 6px; | |
| border: 4px solid #704529; | |
| border-radius: 18px 9px 20px 11px; | |
| background: | |
| repeating-linear-gradient(180deg, transparent 0 20px, rgba(120, 80, 45, 0.12) 20px 22px), | |
| #fff4d8; | |
| color: #60412b; | |
| padding: 14px; | |
| cursor: pointer; | |
| box-shadow: 0 18px 20px rgba(45, 24, 13, 0.22); | |
| transition: transform 180ms ease; | |
| } | |
| .paper-page:hover { | |
| transform: translateY(-8px) rotate(0deg) ; | |
| } | |
| .paper-page strong { | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 18px; | |
| line-height: 1; | |
| } | |
| .paper-page span { | |
| font-size: 12px; | |
| font-weight: 850; | |
| } | |
| .page-one { right: 190px; top: 38px; rotate: -7deg; } | |
| .page-two { right: 58px; top: 78px; rotate: 5deg; } | |
| .page-three { right: 122px; bottom: 20px; rotate: -2deg; } | |
| .study-side { | |
| position: absolute; | |
| z-index: 18; | |
| right: clamp(28px, 7vw, 96px); | |
| top: clamp(120px, 18vh, 170px); | |
| display: grid; | |
| width: min(340px, 29vw); | |
| gap: 12px; | |
| border: 6px solid rgba(90, 53, 30, 0.86); | |
| border-radius: 28px 14px 32px 16px; | |
| background: rgba(255, 244, 216, 0.78); | |
| padding: 18px; | |
| box-shadow: 0 30px 58px rgba(35, 19, 9, 0.3), inset 0 2px rgba(255, 255, 255, 0.52); | |
| backdrop-filter: blur(7px) saturate(126%); | |
| } | |
| .study-side strong { | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 28px; | |
| line-height: 1; | |
| } | |
| .study-side p { | |
| margin: 0; | |
| color: #68452d; | |
| font-weight: 850; | |
| line-height: 1.35; | |
| } | |
| .study-artifacts { | |
| display: grid; | |
| gap: 8px; | |
| } | |
| .study-artifacts button { | |
| display: flex; | |
| align-items: center; | |
| gap: 9px; | |
| border: 3px solid #8a5a36; | |
| border-radius: 16px 9px 18px 10px; | |
| background: #fff7df; | |
| color: #65412a; | |
| padding: 9px; | |
| cursor: pointer; | |
| font-size: 12px; | |
| font-weight: 950; | |
| text-align: left; | |
| } | |
| .study-artifacts span { | |
| font-size: 22px; | |
| } | |
| .study-artifacts em { | |
| color: #68452d; | |
| font-size: 13px; | |
| font-style: normal; | |
| font-weight: 850; | |
| } | |
| .study-return { | |
| right: clamp(28px, 7vw, 96px); | |
| bottom: clamp(30px, 7vh, 74px); | |
| } | |
| .attic-scene, | |
| .greenhouse-scene { | |
| background: | |
| radial-gradient(circle at 42% 28%, rgba(255, 232, 173, 0.2), transparent 30%), | |
| linear-gradient(180deg, rgba(107, 74, 46, 0.86), rgba(50, 31, 21, 0.94)); | |
| } | |
| .greenhouse-scene { | |
| background: | |
| radial-gradient(circle at 62% 28%, rgba(226, 244, 196, 0.34), transparent 28%), | |
| linear-gradient(180deg, rgba(91, 126, 82, 0.86), rgba(38, 65, 43, 0.94)); | |
| } | |
| .locked-room-panel { | |
| position: absolute; | |
| left: 50%; | |
| top: 52%; | |
| z-index: 18; | |
| display: grid; | |
| width: min(680px, 78vw); | |
| gap: 14px; | |
| translate: -50% -50%; | |
| border: 7px solid rgba(90, 53, 30, 0.86); | |
| border-radius: 34px 17px 38px 20px; | |
| background: | |
| radial-gradient(circle at 78% 16%, rgba(255, 232, 173, 0.36), transparent 19%), | |
| rgba(255, 244, 216, 0.82); | |
| padding: 24px; | |
| box-shadow: 0 36px 76px rgba(35, 19, 9, 0.34), inset 0 3px rgba(255, 255, 255, 0.5); | |
| backdrop-filter: blur(8px) saturate(128%); | |
| } | |
| .greenhouse-panel { | |
| border-color: rgba(68, 94, 57, 0.88); | |
| background: | |
| radial-gradient(circle at 78% 16%, rgba(226, 244, 196, 0.42), transparent 19%), | |
| rgba(244, 255, 221, 0.82); | |
| } | |
| .locked-room-panel p { | |
| margin: 0; | |
| color: #8a5a36; | |
| font-size: 12px; | |
| font-weight: 950; | |
| letter-spacing: 0.16em; | |
| text-transform: uppercase; | |
| } | |
| .locked-room-panel h2 { | |
| margin: 0; | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(34px, 5vw, 64px); | |
| line-height: 0.94; | |
| } | |
| .locked-room-panel span, | |
| .locked-room-panel em { | |
| color: #68452d; | |
| font-size: 16px; | |
| font-style: normal; | |
| font-weight: 850; | |
| line-height: 1.4; | |
| } | |
| .room-evidence { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 9px; | |
| align-items: center; | |
| border: 4px solid rgba(112, 69, 41, 0.5); | |
| border-radius: 22px 12px 24px 14px; | |
| background: rgba(255, 247, 223, 0.74); | |
| padding: 12px; | |
| } | |
| .attic-trunk, | |
| .greenhouse-stats { | |
| display: grid; | |
| gap: 8px; | |
| border: 4px solid rgba(112, 69, 41, 0.62); | |
| border-radius: 24px 12px 28px 14px; | |
| background: | |
| radial-gradient(circle at 20% 10%, rgba(255, 232, 173, 0.44), transparent 32%), | |
| rgba(116, 72, 42, 0.18); | |
| padding: 13px; | |
| } | |
| .attic-trunk.open { | |
| background: | |
| radial-gradient(circle at 30% 16%, rgba(255, 218, 132, 0.5), transparent 34%), | |
| rgba(255, 247, 223, 0.58); | |
| } | |
| .attic-trunk strong { | |
| color: #4e3320; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 22px; | |
| } | |
| .attic-trunk p { | |
| margin: 0; | |
| color: #68452d; | |
| font-size: 13px; | |
| font-weight: 850; | |
| letter-spacing: 0; | |
| text-transform: none; | |
| } | |
| .attic-trunk button { | |
| justify-self: start; | |
| border: 3px solid #8a5a36; | |
| border-radius: 999px; | |
| background: #fff7df; | |
| color: #65412a; | |
| padding: 8px 11px; | |
| cursor: pointer; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .greenhouse-stats { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| .greenhouse-stats span { | |
| border: 3px solid rgba(68, 94, 57, 0.42); | |
| border-radius: 16px 8px 18px 10px; | |
| background: rgba(255, 247, 223, 0.7); | |
| padding: 8px; | |
| color: #36512f; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .room-evidence strong { | |
| width: 100%; | |
| color: #563820; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 20px; | |
| } | |
| .room-evidence button, | |
| .locked-room-panel > button { | |
| border: 3px solid #8a5a36; | |
| border-radius: 999px; | |
| background: #fff7df; | |
| color: #65412a; | |
| padding: 9px 12px; | |
| cursor: pointer; | |
| font-size: 12px; | |
| font-weight: 950; | |
| } | |
| .room-evidence button span { | |
| margin-right: 6px; | |
| } | |
| .locked-room-panel > button { | |
| justify-self: start; | |
| border-width: 4px; | |
| background: linear-gradient(#ffe8ad, #f3ad56); | |
| } | |
| .garden-note-4 { right: 0; top: 142px; rotate: 5deg; } | |
| .garden-note-5 { left: 8px; top: 168px; rotate: 4deg; } | |
| .backyard-note { | |
| right: 7vw; | |
| bottom: 44px; | |
| display: grid; | |
| width: min(360px, 34vw); | |
| gap: 9px; | |
| } | |
| .scene-note { | |
| left: 50%; | |
| bottom: 30px; | |
| z-index: 60; | |
| translate: -50% 0; | |
| font-size: 13px; | |
| animation: sceneToast 900ms ease both; | |
| } | |
| @keyframes rainFall { | |
| from { transform: translate3d(0, -18vh, 0) rotate(10deg); } | |
| to { transform: translate3d(0, 120vh, 0) rotate(10deg); } | |
| } | |
| @keyframes firefly { | |
| 0%, 100% { opacity: 0.2; transform: translate3d(0, 0, 0) scale(0.82); } | |
| 34% { opacity: 1; } | |
| 60% { transform: translate3d(18px, -26px, 0) scale(1.08); } | |
| } | |
| @keyframes warmTravel { | |
| 0% { opacity: 0; transform: scale(0.56); } | |
| 45% { opacity: 1; transform: scale(1.15); } | |
| 100% { opacity: 0; transform: scale(2.2); } | |
| } | |
| @keyframes sceneArrive { | |
| from { opacity: 0; transform: translateY(18px) scale(0.98); } | |
| to { opacity: 1; transform: translateY(0) scale(1); } | |
| } | |
| @keyframes doorPulse { | |
| 0%, 100% { transform: scale(1); opacity: 0.4; } | |
| 50% { transform: scale(1.06); opacity: 0.88; } | |
| } | |
| @keyframes radioGlow { | |
| 0%, 100% { box-shadow: 0 0 32px rgba(255, 177, 72, 0.22), 0 30px 54px rgba(28, 15, 8, 0.3), inset 0 2px rgba(255, 255, 255, 0.26); } | |
| 50% { box-shadow: 0 0 70px rgba(255, 177, 72, 0.42), 0 30px 54px rgba(28, 15, 8, 0.3), inset 0 2px rgba(255, 255, 255, 0.26); } | |
| } | |
| @keyframes wave { | |
| 0%, 100% { transform: scaleY(0.55); opacity: 0.54; } | |
| 50% { transform: scaleY(1.12); opacity: 1; } | |
| } | |
| @keyframes slipIn { | |
| from { opacity: 0; transform: translateY(10px); } | |
| to { opacity: 1; transform: translateY(0); } | |
| } | |
| @keyframes dots { | |
| 0%, 20% { content: ""; } | |
| 40% { content: "."; } | |
| 60% { content: ".."; } | |
| 80%, 100% { content: "..."; } | |
| } | |
| @keyframes cursorBlink { | |
| 0%, 50% { opacity: 1; } | |
| 51%, 100% { opacity: 0; } | |
| } | |
| @keyframes objectAppear { | |
| from { opacity: 0; transform: translateY(24px) scale(0.86); } | |
| to { opacity: 1; transform: translateY(0) scale(1); } | |
| } | |
| @keyframes levitate { | |
| 0%, 100% { transform: translateY(0) rotate(-1deg); } | |
| 50% { transform: translateY(-7px) rotate(1deg); } | |
| } | |
| @keyframes catSleep { | |
| 0%, 100% { transform: scale(1) rotate(-2deg); } | |
| 50% { transform: scale(1.02) rotate(1deg); } | |
| } | |
| @keyframes catWalk { | |
| 0%, 100% { transform: translateX(-38px) rotate(-1deg); } | |
| 50% { transform: translateX(62px) rotate(1deg); } | |
| } | |
| @keyframes bubbleFloat { | |
| 0% { opacity: 0; transform: translateY(10px) scale(0.94); } | |
| 30% { opacity: 1; } | |
| 100% { opacity: 0; transform: translateY(-18px) scale(1); } | |
| } | |
| @keyframes noteFloat { | |
| 0%, 100% { translate: 0 0; } | |
| 50% { translate: 0 -6px; } | |
| } | |
| @keyframes sceneToast { | |
| 0% { opacity: 0; transform: translateY(14px) scale(0.94); } | |
| 30%, 80% { opacity: 1; transform: translateY(0) scale(1); } | |
| 100% { opacity: 0; transform: translateY(-10px) scale(1); } | |
| } | |
| @media (max-width: 820px) { | |
| .room-nav { | |
| top: auto; | |
| bottom: 12px; | |
| width: calc(100vw - 20px); | |
| justify-content: center; | |
| overflow-x: auto; | |
| } | |
| .room-nav button { | |
| padding: 9px 11px; | |
| white-space: nowrap; | |
| } | |
| .mom-desk, | |
| .table-object, | |
| .radio-object, | |
| .opened-letter, | |
| .note-desk, | |
| .backyard-note { | |
| left: 16px; | |
| right: auto; | |
| width: calc(100vw - 32px); | |
| min-width: 0; | |
| } | |
| .mom-desk { | |
| bottom: 76px; | |
| } | |
| .table-object { | |
| top: 78px; | |
| bottom: auto; | |
| } | |
| .radio-object { | |
| top: 220px; | |
| } | |
| .hallway-door, | |
| .backyard-door, | |
| .kitchen-return { | |
| right: 16px; | |
| left: auto; | |
| bottom: 72px; | |
| top: auto; | |
| } | |
| .memory-wall { | |
| left: 7vw; | |
| top: 12vh; | |
| width: 86vw; | |
| height: 45vh; | |
| } | |
| .paper-note { | |
| width: 114px; | |
| height: 94px; | |
| font-size: 16px; | |
| } | |
| .opened-letter { | |
| top: auto; | |
| bottom: 276px; | |
| } | |
| .note-desk, | |
| .backyard-note { | |
| bottom: 76px; | |
| } | |
| .garden-notes { | |
| left: 16px; | |
| right: auto; | |
| top: 96px; | |
| width: calc(100vw - 32px); | |
| } | |
| .garden-cat, | |
| .cat-presence { | |
| left: 42%; | |
| bottom: 28%; | |
| } | |
| } | |
| } | |
| .memory-artifact strong, | |
| .memory-artifact small, | |
| .memory-artifact em { | |
| max-width: 100%; | |
| overflow: hidden; | |
| text-overflow: ellipsis; | |
| } | |
| .memory-artifact strong { | |
| white-space: nowrap; | |
| } | |
| .memory-artifact em { | |
| display: -webkit-box; | |
| -webkit-line-clamp: 3; | |
| -webkit-box-orient: vertical; | |
| } | |
| .reflection-bench { | |
| left: 50% ; | |
| top: 50% ; | |
| bottom: auto ; | |
| translate: -50% -50%; | |
| width: min(620px, 86vw) ; | |
| min-width: 0 ; | |
| text-align: center; | |
| } | |
| .reflection-question { | |
| border: 4px solid #704529; | |
| border-radius: 20px 12px 24px 14px; | |
| background: linear-gradient(135deg, #8b5b36, #5f351d); | |
| color: #fff3d1 ; | |
| padding: 18px; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: clamp(22px, 3vw, 36px) ; | |
| line-height: 1.05; | |
| box-shadow: inset 0 2px rgba(255,255,255,0.2), 0 18px 32px rgba(31,18,10,0.25); | |
| } | |
| .bench-garden-row { | |
| justify-content: center; | |
| } | |
| .garden-growth { | |
| left: 50% ; | |
| right: auto ; | |
| bottom: 6vh ; | |
| top: auto ; | |
| display: flex ; | |
| width: min(560px, 82vw); | |
| min-height: 90px; | |
| translate: -50% 0; | |
| justify-content: center; | |
| gap: 16px; | |
| pointer-events: auto; | |
| } | |
| .plant { | |
| position: static ; | |
| animation: objectAppear 480ms ease both, levitate 4.2s ease-in-out infinite; | |
| } | |
| .plant small { | |
| display: none; | |
| } | |
| .garden-bubble { | |
| display: none ; | |
| } | |
| @media (max-width: 700px) { | |
| .journey-wall { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| grid-template-rows: repeat(4, 150px); | |
| height: 690px; | |
| overflow: hidden; | |
| } | |
| .memory-artifact { | |
| height: 150px; | |
| padding: 12px; | |
| } | |
| } | |
| /* Hallway museum redesign */ | |
| .scene-memory .memory-backdrop { | |
| background: | |
| radial-gradient(circle at 58% 18%, rgba(255, 218, 132, 0.48), transparent 16%), | |
| radial-gradient(circle at 18% 38%, rgba(255, 239, 192, 0.22), transparent 22%), | |
| linear-gradient(180deg, #d19a61 0%, #a66b3d 48%, #6c4227 100%); | |
| } | |
| .scene-memory .memory-backdrop::before, | |
| .scene-memory .memory-backdrop::after { | |
| content: ""; | |
| position: absolute; | |
| inset: 0; | |
| z-index: 4; | |
| pointer-events: none; | |
| background-image: | |
| radial-gradient(circle, rgba(255, 237, 176, 0.56) 0 2px, transparent 3px), | |
| radial-gradient(circle, rgba(255, 246, 220, 0.32) 0 1px, transparent 2px); | |
| background-size: 210px 180px, 130px 150px; | |
| animation: dustDrift 16s linear infinite; | |
| } | |
| .scene-memory .memory-backdrop::after { | |
| opacity: 0.55; | |
| animation-duration: 24s; | |
| transform: translate3d(calc(var(--px) * 0.12), calc(var(--py) * 0.08), 0); | |
| } | |
| .scene-memory .hall-lamp { | |
| left: 56%; | |
| top: 10vh; | |
| width: 84px; | |
| height: 84px; | |
| box-shadow: | |
| 0 0 46px rgba(255, 220, 139, 0.92), | |
| 0 0 190px rgba(255, 190, 82, 0.56), | |
| 0 0 360px rgba(255, 173, 63, 0.24); | |
| animation: lampBreathe 4s ease-in-out infinite; | |
| } | |
| .scene-memory .hall-board { | |
| left: 5vw; | |
| top: 17vh; | |
| width: min(64vw, 1060px); | |
| height: 72vh; | |
| border-width: 8px; | |
| background: | |
| linear-gradient(rgba(122, 72, 35, 0.08), rgba(122, 72, 35, 0.08)), | |
| repeating-linear-gradient(90deg, rgba(93, 54, 27, 0.1) 0 2px, transparent 2px 140px), | |
| rgba(196, 129, 70, 0.46); | |
| } | |
| .scene-memory .hall-window { | |
| right: 7vw; | |
| top: 16vh; | |
| opacity: 0.48; | |
| transform: translate3d(calc(var(--px) * -0.1), calc(var(--py) * -0.04), 0); | |
| } | |
| .hallway-progress { | |
| left: 5vw ; | |
| top: 82px ; | |
| z-index: 22; | |
| width: min(62vw, 980px) ; | |
| border: 0 ; | |
| border-radius: 0 ; | |
| background: transparent ; | |
| padding: 0 ; | |
| box-shadow: none ; | |
| backdrop-filter: none ; | |
| } | |
| .hallway-progress p { | |
| margin: 0; | |
| color: #4e2f1b; | |
| font-size: 14px; | |
| font-weight: 950; | |
| letter-spacing: 0.18em; | |
| text-shadow: 0 2px rgba(255, 238, 198, 0.18); | |
| } | |
| .hallway-progress h2 { | |
| display: none; | |
| } | |
| .hallway-progress div { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| margin-top: 8px; | |
| } | |
| .hallway-progress span { | |
| border: 2px solid rgba(99, 55, 25, 0.42); | |
| border-radius: 999px; | |
| background: rgba(255, 246, 220, 0.76); | |
| padding: 6px 10px; | |
| color: #4b2a14; | |
| font-size: 12px; | |
| box-shadow: 0 10px 18px rgba(57, 31, 14, 0.13); | |
| } | |
| .hallway-progress strong { | |
| font-size: 16px; | |
| } | |
| .visit-line { | |
| color: #694225; | |
| font-size: 12px; | |
| font-weight: 850; | |
| } | |
| .memory-wall { | |
| left: 5vw ; | |
| top: 18vh ; | |
| z-index: 18; | |
| width: min(64vw, 1060px) ; | |
| height: 70vh ; | |
| } | |
| .journey-wall { | |
| display: block ; | |
| column-count: 3; | |
| column-gap: 18px; | |
| overflow-y: auto ; | |
| border: 0 ; | |
| border-radius: 0 ; | |
| background: transparent ; | |
| background-image: none ; | |
| padding: 18px 20px 26px ; | |
| box-shadow: none ; | |
| scrollbar-width: thin; | |
| } | |
| .memory-artifact { | |
| position: relative ; | |
| display: inline-grid ; | |
| width: 100% ; | |
| height: auto ; | |
| min-height: 172px; | |
| break-inside: avoid; | |
| margin: 0 0 18px; | |
| align-items: start; | |
| justify-items: start; | |
| gap: 8px; | |
| border: 2px solid rgba(112, 64, 30, 0.28); | |
| border-radius: 16px 10px 18px 12px; | |
| background: | |
| linear-gradient(145deg, rgba(255,255,255,0.55), transparent 30%), | |
| #fff8e8; | |
| color: #3a2010 ; | |
| padding: 18px 16px 16px; | |
| box-shadow: | |
| 0 18px 26px rgba(65, 35, 15, 0.18), | |
| inset 0 1px rgba(255,255,255,0.66); | |
| text-align: left; | |
| transform: rotate(var(--tilt, -1deg)); | |
| animation: memoryFloat 6s ease-in-out infinite; | |
| } | |
| .memory-artifact:nth-child(2n) { --tilt: 1.2deg; min-height: 202px; } | |
| .memory-artifact:nth-child(3n) { --tilt: -1.8deg; min-height: 188px; } | |
| .memory-artifact:nth-child(4n) { --tilt: 0.6deg; min-height: 220px; } | |
| .memory-artifact:hover { | |
| z-index: 4; | |
| transform: translateY(-8px) rotate(0deg) scale(1.02) ; | |
| box-shadow: 0 26px 36px rgba(57, 31, 14, 0.25); | |
| } | |
| .memory-artifact span { | |
| width: 46px; | |
| height: 46px; | |
| display: grid; | |
| place-items: center; | |
| border-radius: 14px 9px 16px 10px; | |
| background: #fff0d0; | |
| font-size: 30px; | |
| line-height: 1; | |
| } | |
| .memory-artifact strong { | |
| font-size: 22px; | |
| line-height: 1.02; | |
| } | |
| .memory-artifact small { | |
| color: #8a6040 ; | |
| font-size: 12px; | |
| opacity: 1; | |
| } | |
| .memory-artifact em { | |
| display: -webkit-box; | |
| -webkit-line-clamp: 4; | |
| -webkit-box-orient: vertical; | |
| color: #5e3921 ; | |
| font-size: 14px; | |
| line-height: 1.32; | |
| overflow: hidden; | |
| } | |
| .hallway-side-rail { | |
| position: absolute; | |
| right: 5vw; | |
| top: 16vh; | |
| z-index: 24; | |
| display: grid; | |
| width: min(330px, 25vw); | |
| max-height: 72vh; | |
| gap: 12px; | |
| overflow-y: auto; | |
| } | |
| .hallway-side-rail details { | |
| border: 3px solid rgba(99, 55, 25, 0.48); | |
| border-radius: 20px 12px 22px 14px; | |
| background: rgba(255, 246, 220, 0.9); | |
| padding: 12px; | |
| box-shadow: 0 18px 28px rgba(57, 31, 14, 0.16); | |
| } | |
| .hallway-side-rail summary { | |
| cursor: pointer; | |
| color: #4b2a14; | |
| font-family: Fraunces, Georgia, serif; | |
| font-size: 20px; | |
| font-weight: 900; | |
| } | |
| .hallway-side-rail p { | |
| color: #5e3921; | |
| font-size: 13px; | |
| font-weight: 800; | |
| line-height: 1.35; | |
| } | |
| .hallway-side-rail form { | |
| display: grid; | |
| gap: 8px; | |
| margin-top: 10px; | |
| } | |
| .hallway-side-rail textarea { | |
| min-height: 70px; | |
| } | |
| .museum-pill-row { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| margin-top: 10px; | |
| } | |
| .museum-pill { | |
| border: 0; | |
| cursor: pointer; | |
| transition: transform 180ms ease, filter 180ms ease; | |
| } | |
| .museum-pill:hover { | |
| transform: translateY(-3px); | |
| filter: brightness(1.04); | |
| } | |
| .garden-pill { | |
| background: #eef5d6; | |
| color: #31490f; | |
| } | |
| .tidy-hallway { | |
| justify-self: start; | |
| } | |
| .backyard-door { | |
| right: 5vw; | |
| bottom: 26px; | |
| z-index: 25; | |
| } | |
| .memory-modal { | |
| position: fixed; | |
| inset: 0; | |
| z-index: 80; | |
| display: grid; | |
| place-items: center; | |
| background: rgba(55, 30, 14, 0.42); | |
| backdrop-filter: blur(4px); | |
| animation: objectAppear 220ms ease both; | |
| } | |
| .memory-modal .opened-letter { | |
| position: relative; | |
| right: auto; | |
| top: auto; | |
| width: min(520px, 90vw); | |
| max-height: 82vh; | |
| overflow-y: auto; | |
| background: #fff7df; | |
| } | |
| .memory-modal-icon { | |
| display: grid; | |
| width: 62px; | |
| height: 62px; | |
| place-items: center; | |
| border-radius: 18px 11px 20px 12px; | |
| background: #fff0d0; | |
| font-size: 38px; | |
| } | |
| .memory-modal-kicker { | |
| margin-top: 12px ; | |
| color: #8a6040 ; | |
| font-size: 12px ; | |
| letter-spacing: 0.14em; | |
| text-transform: uppercase; | |
| } | |
| @keyframes memoryFloat { | |
| 0%, 100% { translate: 0 0; } | |
| 50% { translate: 0 -4px; } | |
| } | |
| @keyframes dustDrift { | |
| from { background-position: 0 0, 0 0; } | |
| to { background-position: 210px 180px, -130px 150px; } | |
| } | |
| @keyframes lampBreathe { | |
| 0%, 100% { opacity: 0.78; scale: 1; } | |
| 50% { opacity: 1; scale: 1.06; } | |
| } | |
| @media (max-width: 980px) { | |
| .memory-wall { | |
| width: 90vw ; | |
| height: 48vh ; | |
| top: 18vh ; | |
| } | |
| .journey-wall { | |
| column-count: 2; | |
| } | |
| .hallway-side-rail { | |
| left: 5vw; | |
| right: auto; | |
| top: 68vh; | |
| width: 90vw; | |
| max-height: 24vh; | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| } | |