@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(./dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(./dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(./dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(./dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(./dm-serif-display-latin-ext-400-normal-p18AlW_x.woff2) format("woff2"),url(./dm-serif-display-latin-ext-400-normal-B1toqZab.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:normal;font-display:swap;font-weight:400;src:url(./dm-serif-display-latin-400-normal-C5_t9oOD.woff2) format("woff2"),url(./dm-serif-display-latin-400-normal-_kVFYEpx.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url(./dm-serif-display-latin-ext-400-italic-DiLdooSn.woff2) format("woff2"),url(./dm-serif-display-latin-ext-400-italic-D6UvgSoX.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"DM Serif Display";font-style:italic;font-display:swap;font-weight:400;src:url(./dm-serif-display-latin-400-italic-DpcbibHm.woff2) format("woff2"),url(./dm-serif-display-latin-400-italic-BgxzcTJK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,sans-serif;color:#494b3e;background:#f8f5ee;font-synthesis:none;font-weight:400;--rose: #a75f65;--green: #657651;--line: #deded0;--muted: #797b6d}*{box-sizing:border-box}body{margin:0}body:has(dialog[open]){overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button{border:0}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #a75f65;outline-offset:4px}button:disabled{cursor:default}svg{width:20px;height:20px;flex-shrink:0}a{color:inherit;text-decoration:none}p{line-height:1.7;color:var(--muted)}h1,h2{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-1.3px;line-height:1.15;margin:20px 0}em{color:var(--rose);font-weight:400}small{display:block}button svg{vertical-align:middle}.eyebrow,.tiny{font-size:10px;letter-spacing:2px;font-weight:650;line-height:1.6}.eyebrow{color:var(--green);display:inline-flex;align-items:center;gap:9px}.dot{width:6px;height:6px;background:#869a6f;display:inline-block;border-radius:50%;margin-right:5px}.brand{display:flex;align-items:center;gap:12px;font-family:"DM Serif Display",Georgia,serif;font-size:23px;background:transparent;text-align:left;padding:0}.brand>svg{color:var(--rose);width:26px;height:26px}.brand small{font-family:DM Sans,sans-serif;font-size:8px;letter-spacing:2px;margin-top:6px;color:var(--muted)}.primary{display:inline-flex;justify-content:center;align-items:center;gap:28px;border-radius:6px;background:var(--rose);color:#fff9ee;min-height:52px;padding:15px 25px;font-size:13px;font-weight:600;box-shadow:0 3px #864a51;transition:background .2s,transform .2s}.primary:hover{background:#945259}.secondary{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fbf9f3;border-radius:5px;padding:11px 15px;font-size:12px;min-height:44px}.secondary:hover,.icon-button:hover{background:#efebdf}.text-button{background:none;font-size:12px;text-decoration:underline;text-underline-offset:4px;min-height:44px}.text-button svg{margin-left:8px}.icon-button{display:inline-grid;place-items:center;width:42px;height:42px;background:transparent;border:1px solid var(--line);border-radius:50%}.icon-button[aria-pressed=true]{background:#e5eadb;color:#52633d}.signature{font-family:"DM Serif Display",Georgia,serif;font-style:italic;color:var(--rose);font-size:21px}.welcome{max-width:1440px;margin:auto;padding:0 64px}.site-header{height:106px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.site-header .tiny{color:var(--muted);font-size:9px}.welcome-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:60px;align-items:center;padding:55px 0 62px;min-height:calc(100dvh - 180px)}.welcome-copy h1{font-size:clamp(40px,4.3vw,64px);margin:25px 0}.intro-copy{font-size:15px;max-width:350px;line-height:1.9}.welcome-note{position:relative;border-left:2px solid #d6beab;padding-left:23px;margin:30px 0 36px}.welcome-note p{font-size:14px;color:#656b58;line-height:1.8;margin:0 0 8px}.note-heart{position:absolute;left:-9px;top:-2px;background:#f8f5ee;color:var(--rose)}.note-heart svg{width:16px}.welcome-art{position:relative;padding:11px;background:#eeeadb;border:1px solid #dcd7c6;border-radius:110px 110px 8px 8px;transform:rotate(1deg);box-shadow:12px 18px #e9e6d84d}.welcome-art>img{width:100%;height:550px;max-height:65dvh;object-fit:cover;border-radius:100px 100px 3px 3px;display:block;image-rendering:auto}.art-stamp{position:absolute;right:-21px;top:38px;background:#f7efdd;border:1px dashed #bbad8e;outline:6px solid #f7efdd;padding:18px 16px;font-size:8px;letter-spacing:2px;transform:rotate(9deg);text-align:center;color:#786747}.art-stamp b{display:block;font-family:Georgia,serif;font-size:20px;font-style:italic;letter-spacing:0;margin:9px 0}.art-stamp svg{width:16px;color:var(--rose)}.art-caption{position:absolute;bottom:35px;left:33px;color:#fff8e4;text-shadow:0 1px 8px #413c27}.art-caption span{font-size:9px;letter-spacing:2px;display:block;margin-bottom:9px}.art-caption strong{font-family:"DM Serif Display",Georgia,serif;font-size:28px;font-weight:400}.welcome-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:25px 0;font-size:10px;color:var(--muted)}.welcome-footer span:last-child{display:flex;align-items:center;gap:9px}.welcome-footer svg{width:15px}.intro-screen{min-height:100dvh;display:grid;place-items:center;text-align:center;background:#f4eee1}.intro-inner{max-width:700px;padding:35px}.intro-inner>svg{display:block;color:var(--rose);width:40px;height:40px;margin:0 auto 35px;animation:float 2s ease-in-out infinite}.intro-inner h1{font-size:48px}.intro-inner video{max-width:100%;max-height:55dvh}.loading-track{height:3px;width:170px;background:#e0d6c4;margin:36px auto 15px;overflow:hidden}.loading-track i{height:100%;background:var(--rose);display:block;animation:load 3.2s linear forwards}.game-shell{max-width:1600px;margin:0 auto;padding:0 42px}.game-header{display:flex;align-items:center;justify-content:space-between;height:96px;border-bottom:1px solid var(--line)}.header-actions{display:flex;gap:11px;align-items:center}.play-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:42px;padding-top:33px;align-items:start}.journey-panel{padding-top:7px}.journey-panel h1{font-size:36px;margin:15px 0}.journey-panel>p{font-size:12px;line-height:1.8}.collection-status{padding:22px 0 19px;border-bottom:1px solid var(--line)}.progress-hearts{display:flex;gap:12px;margin-bottom:11px}.progress-hearts span{color:#deded0}.progress-hearts .filled{color:var(--rose);animation:pop .35s ease-out}.progress-hearts svg{width:23px;height:23px}#progress-label{font-size:11px;color:var(--muted)}.progress-track{height:3px;background:#e8e5d9;margin-top:15px}.progress-track i{display:block;height:100%;background:var(--rose);transition:width .5s}.station-list{padding-top:12px}.station{display:flex;align-items:center;gap:11px;width:100%;padding:13px 0;background:none;text-align:left;border-bottom:1px solid #e8e5da;font-size:12px}.station>svg{width:14px;margin-left:auto;color:#aaa997}.station:hover{color:var(--rose)}.station-number{border:1px solid #dcdccb;width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;font-size:10px;color:#7b7f6c;border-radius:50%}.station small{font-size:9px;color:#898b7a;margin-top:4px}.station.collected .station-number{background:#e3e8d8;border-color:#c7d3b8;color:#5b7347}.finale-station{border:0;padding-top:18px}.finale-station .station-number{border:0;color:var(--rose)}.station-number svg{width:17px}.side-note{display:flex;gap:13px;margin-top:22px;align-items:center}.side-note svg{color:#a99c7a;width:17px}.side-note p{font-size:11px;font-style:italic;margin:0}.room-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.5px;align-items:center;height:32px;margin-bottom:8px;color:#68725a}.room-heading>span:last-child{font-size:9px;letter-spacing:0;color:#8b8b7c}.canvas-frame{height:clamp(490px,calc(100dvh - 223px),740px);position:relative;background:#a2b389;border:7px solid #e8e5d6;outline:1px solid #d7d6c6;border-radius:10px;overflow:hidden;box-shadow:0 8px 22px #5e674010}#museum{width:100%;height:100%;display:block;image-rendering:pixelated;touch-action:none;outline-offset:-4px}.scene-label{position:absolute;top:17px;left:18px;background:#fcf6e5ec;border:1px solid #c6bb98;padding:10px 14px;pointer-events:none;box-shadow:2px 3px #59674015}.scene-label span{display:block;font-size:7px;letter-spacing:1.7px;color:#8a846c;margin-bottom:5px}.scene-label b{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:17px;color:#646448}.game-bottom{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#828371;padding:17px 1px;gap:10px}.game-bottom>span:first-child{display:flex;gap:7px;align-items:center}.game-bottom svg{width:14px;height:14px}.desktop-hint kbd{font-family:inherit;background:#eeece0;border:1px solid #dedecd;font-size:8px;padding:3px 5px;border-radius:3px;margin:0 4px}.divider{margin:0 8px;color:#b8b6a4}.mobile-hint{display:none}.game-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin-top:24px;padding:12px 0;color:#8a8b7d;font-size:9px}.game-footer>span:first-child{font-size:8px;letter-spacing:2px}.game-footer .text-button{font-size:9px}.interaction{position:absolute;bottom:28px;left:50%;transform:translate(-50%);background:#fcf4df;color:#6b5543;border:2px solid #ae9271;box-shadow:0 3px #7e684b;padding:12px 17px;border-radius:6px;font-size:12px;white-space:nowrap;max-width:95%;min-height:46px}.interaction:active{transform:translate(-50%) translateY(2px)}.interaction svg{width:16px;margin-left:10px}.touch-controls{display:none}#toast{position:absolute;top:92px;left:50%;transform:translate(-50%,-8px);opacity:0;transition:transform .2s,opacity .2s;pointer-events:none;background:#faf2da;color:#6a6147;padding:13px 18px;border:1px solid #bcb18e;border-radius:5px;font-size:11px;width:max-content;max-width:90%;text-align:center}#toast.visible{transform:translate(-50%);opacity:1}dialog{border:1px solid #d7ccb4;border-radius:12px;background:#fcf8ef;color:#4b4d3e;padding:44px;width:min(540px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 100px #30372633}dialog::backdrop{background:#29342685;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}dialog[open]{animation:appear .22s ease-out}dialog h2{font-size:34px;margin:14px 0 18px}dialog>p{font-size:13px}dialog .close-modal{position:absolute;right:13px;top:13px;width:33px;height:33px;background:#faf7eee8;z-index:1}dialog .close-modal svg{width:16px}dialog .primary{width:100%;margin-top:16px}.memory-dialog{width:min(940px,calc(100% - 32px));padding:0}.memory-dialog[open]{display:grid;grid-template-columns:1fr 1fr}.memory-visual{background:#ece8da;padding:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:440px}.memory-placeholder{position:relative;background:#c6d2b4;width:100%;max-height:440px;overflow:hidden;min-height:180px;border:8px solid #fff8e8;box-shadow:0 6px 13px #6a725423;isolation:isolate}.placeholder-sun{position:absolute;top:10%;right:15%;width:44px;height:44px;background:#f9e1ae;border-radius:50%}.placeholder-hill{position:absolute;background:#77936e;left:-10%;bottom:-30%;width:140%;height:85%;transform:rotate(-24deg);border-radius:40%}.hill-back{background:#a0b08c;transform:rotate(28deg);bottom:-20%}.placeholder-caption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px;background:#4b5a2f15;color:#fff9e8;font-size:7px;letter-spacing:1.4px;text-shadow:0 1px 5px #4b5a2f}.placeholder-caption b{font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:25px;line-height:1.3;letter-spacing:0;margin:14px 0}.placeholder-caption small{font-size:8px;letter-spacing:0}[data-scene="1"]{background:#dfbdab}[data-scene="1"] .placeholder-hill{background:#aa8073}[data-scene="2"]{background:#bdd1cc}[data-scene="2"] .placeholder-hill{background:#70989a}[data-scene="3"]{background:#dcc5ad}[data-scene="3"] .placeholder-hill{background:#ac9278}.memory-media{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;background:#dedbce}.photo-label{font-size:9px;letter-spacing:2px;color:#8f8771;display:block;text-align:center;margin-top:23px}.memory-story{padding:49px 36px 30px;display:flex;flex-direction:column;justify-content:center}.memory-story .eyebrow{font-size:8px;letter-spacing:1.5px}.memory-story h2{font-size:34px}.memory-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px}.memory-meta svg{display:block;width:16px;height:16px;margin-bottom:9px;color:#909777}.memory-meta small{margin-top:5px;font-size:8px;color:#939383}.memory-story blockquote{font-family:"DM Serif Display",Georgia,serif;font-size:21px;line-height:1.6;margin:24px 0 13px}.memory-story .signature{font-size:17px;margin-bottom:17px}.media-status{font-size:8px;text-align:center;line-height:1.5;margin-top:15px}.scrapbook-dialog{width:min(760px,calc(100% - 28px))}.scrapbook-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}.scrapbook-item{background:#f1ecdf;padding:10px;text-align:left;border:1px solid #ded7c6;border-radius:3px}.scrapbook-item>.memory-placeholder,.scrapbook-item>.memory-media{height:140px;min-height:140px;object-fit:contain;border-width:5px}.scrapbook-item>span{display:block;padding:13px 4px 4px;font-size:11px}.scrapbook-item .placeholder-caption b{font-size:18px}.scrapbook-item .placeholder-caption small{display:none}.empty-memory{border:1px dashed #d7d4c1;min-height:190px;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:#a4a48d;text-align:center;font-size:12px}.empty-memory>svg{width:28px;height:28px;color:#d3d2bd}.empty-memory small{font-size:9px;margin-top:8px}.video-thumb{height:140px;display:grid!important;place-content:center}.invitation-dialog{width:min(850px,calc(100% - 28px));padding:0}.invitation-art{height:215px;overflow:hidden}.invitation-art img{width:100%;height:100%;object-fit:cover;object-position:center 60%}.invitation-copy{padding:34px 48px;text-align:center}.invitation-copy h2{font-size:36px}.invitation-copy>p{font-size:12px}.invitation-copy>.text-button{display:block;margin:12px auto 0}.date-ticket{border:1px dashed #cdbd9e;background:#f1ecde;padding:19px 15px;margin:25px 0 10px}.date-ticket>span{font-size:8px;letter-spacing:2px;color:#929076}.date-ticket strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-weight:400;font-size:27px;margin:8px 0}.date-ticket p{font-size:12px;margin:7px 0}.date-ticket small{font-size:10px;color:#96917d}@keyframes appear{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop{0%{transform:scale(.6)}to{transform:scale(1)}}@keyframes float{50%{transform:translateY(-5px)}}@keyframes load{0%{transform:translate(-100%)}to{transform:translate(0)}}@media(min-width:1600px){.welcome-grid{min-height:760px}}@media(max-width:1100px){.game-shell{padding:0 24px}.play-layout{grid-template-columns:220px minmax(0,1fr);gap:24px}.journey-panel h1{font-size:32px}.desktop-hint{font-size:8px}.desktop-hint .divider{margin:0 3px}.welcome{padding:0 35px}.welcome-grid{gap:30px}.welcome-art>img{height:510px}.welcome-copy h1{font-size:46px}.game-bottom .desktop-hint{display:none}.mobile-hint{display:block}.touch-controls{display:block;position:absolute;bottom:20px;left:20px}.dpad{display:grid;grid-template-columns:36px 36px 36px;grid-template-rows:36px 36px 36px;gap:2px;touch-action:none;opacity:.92}.dpad button{background:#f8f0dce8;border:1px solid #9e9573;border-radius:5px;touch-action:none;font-size:21px;-webkit-user-select:none;user-select:none}.dpad button:active{background:#d6ddbd}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-row:2;grid-column:1}.dpad>span{grid-column:2;grid-row:2;background:#f8f0dcbf;display:grid;place-items:center;color:#b1867c}.dpad>span svg{width:14px}.dpad button:nth-child(4){grid-column:3;grid-row:2}.dpad button:last-child{grid-column:2;grid-row:3}.interaction{left:auto;right:17px;bottom:25px;transform:none;max-width:calc(100% - 155px);white-space:normal}.interaction:active{transform:translateY(2px)}}@media(max-width:760px){.welcome{padding:0 23px}.site-header{height:79px}.site-header .tiny{display:none}.brand{font-size:21px}.welcome-grid{display:flex;flex-direction:column;gap:30px;padding:35px 0}.welcome-copy{width:100%}.welcome-copy h1{font-size:45px;margin:19px 0}.welcome-copy .intro-copy{font-size:13px;max-width:100%}.welcome-note{margin:23px 0 28px}.welcome-copy .primary{width:100%}.welcome-art{width:100%;max-width:480px;order:-1;border-radius:70px 70px 6px 6px;padding:7px;transform:none}.welcome-art>img{height:270px;max-height:none;border-radius:65px 65px 3px 3px}.art-stamp{right:4px;top:20px;padding:10px;font-size:6px;outline-width:3px}.art-stamp b{font-size:15px;margin:5px}.art-stamp svg{height:11px}.art-caption{bottom:24px;left:24px}.art-caption strong{font-size:22px}.art-caption span{font-size:7px}.welcome-footer{font-size:9px;display:block;text-align:center;line-height:2.4}.welcome-footer span:last-child{justify-content:center;font-size:8px}.game-shell{padding:0 14px}.game-header{height:76px}.game-header .brand{font-size:17px;gap:8px}.game-header .brand>svg{width:20px}.brand small{font-size:6px;letter-spacing:1.3px}.header-actions{gap:7px}.header-actions .icon-button{width:34px;height:34px}.header-actions svg{width:17px}.secondary{width:35px;height:35px;min-height:35px;padding:8px;justify-content:center}.secondary span{display:none}.play-layout{display:flex;flex-direction:column;gap:0;padding-top:18px}.journey-panel{display:contents}.journey-panel>.eyebrow,.journey-panel>h1,.journey-panel>p,.side-note{display:none}.collection-status{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 2px 14px;border:0}.progress-hearts{gap:7px;margin:0}.progress-hearts svg{width:20px;height:20px}.collection-status .progress-track{display:none}#progress-label{font-size:10px}.game-area{width:100%;order:1}.room-heading{font-size:8px;letter-spacing:1px;margin:0;height:30px}.room-heading>span:last-child{font-size:7px}.canvas-frame{height:clamp(380px,calc(100dvh - 235px),640px);border-width:4px;border-radius:7px}.scene-label{top:12px;left:12px;padding:9px 12px}.scene-label b{font-size:15px}.scene-label span{font-size:6px}.touch-controls{bottom:18px;left:15px}.dpad{grid-template-columns:40px 40px 40px;grid-template-rows:40px 40px 40px}.interaction{right:11px;bottom:22px;max-width:calc(100% - 160px);font-size:10px;line-height:1.6;padding:9px 12px}.interaction svg{width:12px;margin-left:3px}.game-bottom{font-size:8px;padding:13px 0}.station-list{order:2;width:100%;display:grid;grid-template-columns:1fr 1fr;padding-top:8px;gap:0 17px}.station{font-size:10px;padding:12px 0}.station small{font-size:8px}.station-number{width:24px;height:24px;font-size:8px}.station>svg{width:11px}.game-footer{margin-top:18px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.game-footer>span:nth-child(2){display:none}.game-footer>span:first-child{font-size:7px;letter-spacing:1px}dialog{padding:36px 25px 25px;max-height:calc(100dvh - 24px)}dialog h2{font-size:30px}.memory-dialog[open]{display:block}.memory-visual{padding:25px 30px;min-height:0}.memory-placeholder{max-height:280px;min-height:160px;width:auto;max-width:100%;min-width:155px}.memory-media{max-height:290px}.photo-label{margin-top:15px;font-size:8px}.memory-story{padding:27px 25px}.memory-story h2{font-size:29px}.memory-story blockquote{font-size:20px;margin:20px 0 12px}.memory-meta{font-size:9px}.memory-story .primary{margin-top:8px}.scrapbook-grid{gap:11px}.scrapbook-item .memory-placeholder{min-width:0;width:100%;min-height:110px;height:110px}.scrapbook-item>span{font-size:9px}.scrapbook-item .placeholder-caption{padding:8px;font-size:5px}.scrapbook-item .placeholder-caption b{font-size:16px}.empty-memory{min-height:153px;font-size:10px}.empty-memory small{font-size:7px}.invitation-art{height:175px}.invitation-copy{padding:28px 23px}.invitation-copy h2{font-size:29px}.invitation-copy .eyebrow{font-size:8px;letter-spacing:1.4px}.date-ticket{margin:20px 0 10px}.intro-inner h1{font-size:39px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.loading-track i{transform:none}}.travel-dialog{max-width:760px}.travel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:24px}.travel-stop{padding:0 0 12px;text-align:left;overflow:hidden;border:1px solid #ded8ca;border-radius:12px;background:#faf7ef;color:inherit;cursor:pointer}.travel-stop img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;image-rendering:pixelated}.travel-stop strong,.travel-stop small{display:block;margin:8px 12px 0}.travel-stop small{color:#716e63}.travel-stop:hover{border-color:#9b635f}.travel-stop:active{transform:scale(.98)}.memory-placeholder[data-scene="5"]{background:#cbdcde}@media(max-width:480px){.header-actions{gap:3px}.game-header{gap:6px}.game-header .brand{font-size:14px}}.canvas-frame:has(canvas[data-world-art=loading]):after,.canvas-frame:has(canvas[data-world-art=fallback]):after{content:"Loading the world…";position:absolute;right:12px;top:12px;max-width:180px;padding:8px 12px;background:#fcf6e5;color:#655441;border-radius:5px;font-size:12px;pointer-events:none}.journey-panel>p{font-size:14px;color:#625f52}.station{font-size:15px;line-height:1.35}.station small{font-size:12px;color:#6c6b5c}.station-number{font-size:12px;width:32px;height:32px}#progress-label{font-size:13px;color:#625f52}.room-heading{font-size:13px;letter-spacing:.3px;font-weight:600}.room-heading>span:last-child{font-size:12px;color:#686658;font-weight:400}.scene-label{padding:12px 16px;background:#fff8e9f5;border-color:#a39376}.scene-label span{font-size:14px;letter-spacing:0;color:#453f30;font-weight:700}.scene-label b{font-family:DM Sans,sans-serif;font-size:13px;line-height:1.4;color:#645b46}.game-bottom,.game-bottom kbd,.game-footer,.text-button{font-size:12px;color:#666252}.interaction{font-size:14px;font-weight:600}#museum:focus-visible{outline:2px solid #776a53;outline-offset:-2px}.game-footer .text-button{font-size:12px}.travel-stop strong{font-size:16px;color:#494b39}.travel-stop small{font-size:13px;color:#666858}.memory-meta,.memory-meta small,.media-status{font-size:13px;color:#686353}.memory-story blockquote{font-size:18px;line-height:1.6}.photo-label,.placeholder-caption,.signature,.scrapbook-item .placeholder-caption,.empty-memory small,.brand small,.eyebrow{font-size:11px}@media(max-width:767px){.scene-label{padding:10px 12px;max-width:calc(100% - 32px)}.scene-label span{font-size:15px}.scene-label b,.room-heading,#progress-label{font-size:12px}.room-heading>span:last-child{font-size:11px}.station{font-size:14px;gap:8px}.station small{font-size:11px}.station-number{font-size:11px;width:27px;height:27px}.interaction{font-size:13px;padding:10px 12px}.game-bottom{font-size:11px}.game-footer>span:first-child{font-size:10px}.game-header .brand{font-size:16px}.game-header .brand small{font-size:10px;letter-spacing:1px}}.canvas-frame:has(canvas[data-world-art=fallback]):after{content:"Some art didn’t load. Refresh to retry."}:root{--paper: #f7f2e8;--paper-dark: #ebe3d4;--ink: #3f463a;--pencil: #756e5e;--rose: #a4535b;--line: #d8cdb9;--muted: #706d61;background:var(--paper);color:var(--ink)}body{background-color:var(--paper);background-image:radial-gradient(#8f816919 .7px,transparent .7px);background-size:12px 12px}.brand{color:var(--ink)}.brand small{font-size:11px;letter-spacing:0;font-family:Georgia,serif;font-style:italic;color:#806d65;margin-top:2px}.primary{border-radius:3px;font-size:14px;box-shadow:3px 3px #744348;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.primary:hover{background:#934750;transform:translate(-1px,-1px);box-shadow:4px 4px #744348}.primary:active{transform:translate(2px,2px);box-shadow:1px 1px #744348}.secondary,.icon-button{background:#fffcf6a6;border-color:var(--line)}.secondary{border-radius:3px;font-size:13px}.icon-button{border-radius:4px}.secondary:hover,.icon-button:hover{background:#efe6d7}.text-button{text-underline-offset:5px}.welcome{max-width:1370px;padding:0 54px}.site-header{height:88px;border-bottom:1px solid var(--line)}.site-byline{font-family:Georgia,serif;font-style:italic;font-size:15px;color:#806d65}.welcome-grid{grid-template-columns:minmax(290px,.82fr) minmax(0,1.18fr);gap:clamp(38px,7vw,112px);min-height:calc(100dvh - 88px);padding:38px 0 66px}.welcome-copy{padding-bottom:30px}.welcome-kicker{display:inline-block;border-bottom:1px solid var(--rose);padding-bottom:6px;font-family:Georgia,serif;font-size:15px;font-style:italic;color:var(--rose)}.welcome-copy h1{max-width:600px;margin:28px 0 22px;font-size:clamp(45px,4.6vw,67px);line-height:1.12;letter-spacing:-2px}.welcome-copy h1 em{color:var(--ink)}.welcome-copy p{max-width:390px;color:#655f53;font-size:17px;line-height:1.65;margin:0}.welcome-copy #begin{margin-top:32px}.welcome-postscript{display:block;margin-top:28px;font-family:Georgia,serif;font-style:italic;font-size:14px;color:#8b7169}.welcome-art{width:min(100%,670px);margin:0 2% 0 auto;padding:12px 12px 0;border:1px solid #ddd3bf;border-radius:2px;background:#fffdf8;transform:rotate(-1.4deg);box-shadow:6px 9px #d0c1aa70}.welcome-art:before{content:"";position:absolute;z-index:1;top:-15px;left:45%;width:90px;height:30px;background:#d6c19caa;transform:rotate(4deg);clip-path:polygon(2% 2%,100% 0,98% 100%,0 95%)}.welcome-art>img{display:block;width:100%;height:min(62dvh,600px);max-height:none;object-fit:cover;object-position:center;border-radius:0}.welcome-art figcaption{display:flex;align-items:center;justify-content:space-between;padding:13px 13px 15px;font-family:Georgia,serif;font-style:italic;font-size:15px;color:#74695b}.welcome-art figcaption svg{width:17px;height:17px;color:var(--rose)}.game-shell{max-width:1570px;padding:0 clamp(22px,3.5vw,56px)}.game-header{height:88px;border-color:var(--line)}.play-layout{grid-template-columns:246px minmax(0,1fr);gap:clamp(26px,3vw,46px);padding-top:25px}.journey-panel{padding-top:11px}.journey-panel .eyebrow{font-family:Georgia,serif;font-size:14px;font-style:italic;font-weight:400;letter-spacing:0;color:var(--rose)}.journey-panel h1{font-size:33px;margin:13px 0 7px}.journey-panel>p{font-size:14px;line-height:1.55;margin:0}.collection-status{padding:22px 0 18px;border-bottom:1px solid var(--line)}.progress-hearts{gap:7px;margin-bottom:9px}.progress-hearts svg{width:19px;height:19px}#progress-label{font-size:13px;font-family:Georgia,serif;font-style:italic;color:#74665d}.progress-track{height:2px;background:#e6dccc;margin-top:12px}.station-list{position:relative;padding-top:12px}.station-list:before{content:"";position:absolute;top:33px;bottom:37px;left:16px;border-left:1px dashed #c3b69f}.station{position:relative;min-height:62px;padding:8px 0;gap:14px;border-bottom:0;font-size:15px;transition:transform .16s ease,color .16s ease}.station:hover{transform:translate(3px);color:var(--rose)}.station:active{transform:translate(5px)}.station-number{width:33px;height:33px;background:var(--paper);border:1px solid #b8aa92;border-radius:4px;color:#635d50;font-family:Georgia,serif;font-size:13px;transform:rotate(-6deg)}.station:nth-child(2n) .station-number{transform:rotate(5deg)}.station small{margin-top:3px;color:#766e60;font-size:12px}.station>svg{color:#9d826e}.station.collected .station-number{background:#e3e9d6;border-color:#9ba986}.finale-station{margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}.finale-station .station-number{background:var(--paper)}.room-heading{margin-bottom:6px;color:#625b4b}.canvas-frame{border:5px solid #eee8db;outline:1px solid #bfb5a4;border-radius:3px;box-shadow:5px 6px #d5cbb9a3}.scene-label{top:15px;left:15px;background:#fffaf0f2;border:1px solid #bdad92;border-radius:1px;box-shadow:3px 3px #62563b35}.scene-label span{font-size:14px}.scene-label b{font-size:13px}.game-bottom{padding-top:18px;color:#686255}.game-footer{border-color:var(--line)}.game-footer>span:first-child{font-size:11px;letter-spacing:.4px;font-family:Georgia,serif;font-style:italic;text-transform:lowercase}dialog{background:#fffbf3;border:1px solid #c9bfae;border-radius:2px;box-shadow:10px 12px #352e222e}dialog::backdrop{background:#2429208c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}dialog .close-modal{border-radius:2px}.travel-dialog{width:min(820px,calc(100% - 28px));max-width:820px;padding:37px 37px 43px}.travel-dialog h2{margin:4px 0 0}.travel-intro{margin:8px 0 0;font-family:Georgia,serif;font-size:16px;font-style:italic}.travel-grid{gap:22px 25px;margin-top:27px;align-items:start}.travel-stop{overflow:visible;padding:9px 9px 12px;border:1px solid #d8cfbe;border-radius:2px;background:#fffefa;box-shadow:3px 4px #d9cdbd80;transform:rotate(-1deg);transition:transform .18s ease,box-shadow .18s ease}.travel-stop:nth-child(2n){transform:rotate(1deg)}.travel-stop:hover,.travel-stop:nth-child(2n):hover{transform:rotate(0) translateY(-3px);box-shadow:5px 7px #d1bfaa99}.travel-stop:active,.travel-stop:nth-child(2n):active{transform:scale(.985)}.travel-photo{display:block;overflow:hidden;background:#d7ddc8}.travel-stop img{aspect-ratio:2.35 / 1}.travel-caption{display:flex;gap:11px;align-items:center;padding:10px 2px 0}.travel-caption>span:nth-child(2){min-width:0;flex:1}.travel-index{color:var(--rose);font-family:Georgia,serif;font-size:18px;font-style:italic}.travel-caption>svg{width:17px;color:#977d68}.travel-stop strong,.travel-stop small{margin:0}.travel-stop strong{font-family:"DM Serif Display",Georgia,serif;font-size:20px;font-weight:400}.travel-stop small{margin-top:2px;font-size:12px}.memory-dialog{border-radius:2px}.memory-visual{background:#eee5d5}.memory-placeholder{border-color:#fffdf6;box-shadow:5px 6px #c0b29b80}.photo-label{font-family:Georgia,serif;font-style:italic;font-size:13px;letter-spacing:0;color:#756c5d}.memory-story{background:#fffbf3}.memory-story .eyebrow{font-size:12px;letter-spacing:.5px;color:var(--rose)}.memory-story h2{margin-top:8px}.memory-meta{border-color:var(--line)}.memory-story blockquote{border-left:2px solid var(--rose);padding-left:16px;margin-left:0}.media-status{font-family:Georgia,serif;font-style:italic;font-size:13px}.scrapbook-item{background:#fffefa;box-shadow:3px 3px #d9cdbd80}.empty-memory{background:#faf5eb}.date-ticket{position:relative;background:#f5ecdc;border-color:#bdab91}.date-ticket:before,.date-ticket:after{content:"";position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fffbf3;border:1px solid #bdab91}.date-ticket:before{left:-9px;border-left:0}.date-ticket:after{right:-9px;border-right:0}@media(max-width:1100px){.welcome-grid{gap:30px}.welcome-copy h1{font-size:48px}.play-layout{grid-template-columns:220px minmax(0,1fr);gap:25px}}@media(max-width:760px){.welcome{padding:0 20px}.site-header{height:70px}.site-byline{display:none}.welcome-grid{gap:26px;min-height:0;padding:33px 0 45px}.welcome-art{order:-1;max-width:500px;margin:0 auto;padding:7px 7px 0;transform:rotate(-1deg)}.welcome-art:before{top:-11px;width:66px;height:22px}.welcome-art>img{height:clamp(245px,36dvh,305px);object-position:left center;border-radius:0}.welcome-art figcaption{padding:9px 8px 11px;font-size:13px}.welcome-copy{padding:0 3px}.welcome-kicker{font-size:13px}.welcome-copy h1{margin:14px 0 12px;font-size:clamp(37px,9vw,48px);line-height:1.13}.welcome-copy p{font-size:15px;line-height:1.5}.welcome-copy #begin{margin-top:22px}.welcome-postscript{margin-top:15px;font-size:12px}.game-shell{padding:0 14px}.game-header{height:70px}.game-header .brand small{display:none}.play-layout{padding-top:14px}.collection-status{padding-bottom:11px}.station-list{grid-template-columns:1fr 1fr;gap:0 12px}.station-list:before{display:none}.station{min-height:58px;border-bottom:1px solid var(--line);font-size:13px;gap:8px}.station-number{width:28px;height:28px;font-size:11px}.station small{font-size:11px}.finale-station{border-top:0;margin-top:0;padding-top:8px}.canvas-frame{border-width:4px}.travel-dialog{padding:28px 18px 24px}.travel-grid{gap:13px 11px}.travel-stop{padding:5px 5px 9px}.travel-stop img{aspect-ratio:1.65 / 1}.travel-caption{gap:5px;padding-top:7px}.travel-index{font-size:14px}.travel-caption>svg{display:none}.travel-stop strong{font-size:16px}.travel-stop small{font-size:11px}.memory-story{padding:25px}}@media(max-width:380px){.game-header .brand{font-size:14px}.station-list{gap:0 8px}.station{font-size:12px}.station small{font-size:10px}}
