:root{font-family:Georgia,Times New Roman,serif;color:#66533f;background:#f6f0e6;font-synthesis:none;-webkit-font-smoothing:antialiased;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #8a9b71;outline-offset:5px}button:disabled{cursor:default}#app{height:100vh;height:100dvh;min-height:480px;max-width:1500px;margin:auto;padding:0 48px;display:flex;flex-direction:column}.header{height:94px;flex-shrink:0;display:flex;align-items:center;gap:20px}.brand{display:flex;align-items:center;gap:12px;color:#66533f;text-decoration:none;font-size:25px;letter-spacing:-.7px}.brand i{font-weight:400;color:#89715a;font-size:21px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:#e9ddc7;border-radius:50%;color:#ac815c}.brand-mark svg{width:25px;height:25px}.dedication{margin-left:auto;font:11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:2px;color:#967d65}.help{border:1px solid #d7c8b3;background:transparent;color:#8c755d;width:29px;height:29px;border-radius:50%;font-size:17px}.game-frame{position:relative;isolation:isolate;flex:1;min-height:0;overflow:hidden;border-radius:26px;box-shadow:0 12px 36px #8e6c3b13,0 0 0 1px #ba9a6d15;background:#e6d0ad}#game{width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none}canvas{display:block;touch-action:none}.room-caption{position:absolute;z-index:1;left:40px;top:30px;pointer-events:none}.eyebrow{font:9px system-ui,sans-serif;letter-spacing:2.1px;color:#927557;font-weight:500}.room-caption h1{margin:10px 0 7px;font-size:29px;font-weight:400;letter-spacing:-.8px}.room-caption p{margin:0;font:11px system-ui,sans-serif;color:#8c7359}.room-tag{position:absolute;right:29px;top:25px;display:flex;align-items:center;gap:7px;font:10px system-ui,sans-serif;letter-spacing:.3px;color:#8b7f5b;pointer-events:none}.room-tag svg{width:15px;height:15px}.hud{position:absolute;z-index:2;bottom:25px;left:50%;transform:translate(-50%);width:min(480px,calc(100% - 44px));min-height:88px;padding:17px 18px;display:flex;align-items:center;gap:14px;border:1px solid #fff9e980;border-radius:18px;background:#fcf5e8ee;box-shadow:0 6px 24px #61462e12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mood-icon{color:#bb8874;display:grid;place-items:center;background:#f0dfcc;width:42px;height:42px;flex-shrink:0;border-radius:50%}.mood-icon svg{width:22px;height:22px}.meter-block{flex:1;min-width:0}.meter-label{display:flex;justify-content:space-between;gap:12px;font:11px system-ui,sans-serif;color:#746149}.meter-label #happiness{font-size:10px;color:#947c5d;font-variant-numeric:tabular-nums}.meter{margin:9px 0 7px;height:5px;background:#e5d9c2;border-radius:6px;overflow:hidden}.meter-fill{height:100%;width:28%;border-radius:6px;background:linear-gradient(90deg,#aab58b,#81936e);transition:width .4s ease}.meter-block p{margin:0;font:9px system-ui,sans-serif;color:#8b775e}.gift{border:0;border-left:1px solid #ded2bc;background:none;color:#a88a68;display:flex;align-items:center;flex-direction:column;gap:4px;padding:4px 0 4px 13px;min-width:47px;font:9px system-ui,sans-serif}.gift:disabled{opacity:.48}.gift svg{width:23px;height:23px}.gift.unlocked{color:#a06450}.gift.unlocked svg{animation:gift-breathe 2s infinite ease-in-out}.encounter-panel{position:absolute;z-index:3;top:142px;left:50%;width:max-content;max-width:calc(100% - 32px);text-align:center;transform:translate(-50%);display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:16px;background:#fcf5e8ee;box-shadow:0 6px 24px #61462e12;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);opacity:1;pointer-events:none;transition:opacity .3s ease}.encounter-panel.inviting{pointer-events:auto}.encounter-panel.complete{opacity:0}.encounter-panel:not(.inviting) .feed{display:none}#encounter-status{font:12px system-ui,sans-serif;color:#6b5642}.feed{display:flex;align-items:center;gap:8px;border:0;border-radius:12px;background:#8e9e7a;color:#fff9e9;padding:9px 14px;font:12px system-ui,sans-serif}.feed:disabled{opacity:.5;background:#b0a89a}.feed svg{width:18px;height:18px}footer{height:53px;flex-shrink:0;display:flex;align-items:center;gap:8px;color:#9a856d;font:10px system-ui,sans-serif;letter-spacing:.2px}.footer-paw{width:13px;height:13px;opacity:.7}.footer-paw svg{width:100%;height:100%}.footer-right{margin-left:auto;color:#ac967b;font-size:9px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid #e4d2b9;border-radius:25px;background:#fcf4e6;color:#705a43;width:min(480px,calc(100% - 36px));padding:0;max-height:calc(100dvh - 50px);box-shadow:0 25px 80px #412e2940}dialog::backdrop{background:#50463366;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.letter-content{text-align:center;padding:38px 28px}.letter-icon{display:block;width:40px;height:40px;color:#b38a62;margin:0 auto 20px}.letter-icon svg{width:100%;height:100%}dialog h2{font-size:39px;font-weight:400;line-height:1.12;letter-spacing:-1px;margin:18px 0 24px}dialog p{font-size:15px;line-height:1.85;color:#8b735b}.signature{margin-top:24px!important;font-size:13px!important}.signature i{color:#ad8168}dialog button{border:0;border-radius:30px;background:#8e9e7a;color:#fff9e9;padding:13px 25px;margin-top:16px;font:12px system-ui,sans-serif}.help-content{padding:36px}.help-content h2{font-size:32px}.help-content p{font:14px/1.8 system-ui,sans-serif}.help-content button{display:block;margin-left:auto}@keyframes gift-breathe{50%{transform:rotate(8deg) scale(1.1)}}@media(min-width:1600px){#app{max-width:1520px}}@media(max-width:760px){#app{padding:0 14px}.header{height:74px;gap:12px}.brand{font-size:21px;gap:9px}.brand i{font-size:17px}.brand-mark{width:35px;height:35px}.brand-mark svg{width:21px;height:21px}.dedication{display:none}.help{margin-left:auto;width:27px;height:27px}.game-frame{border-radius:22px}.room-caption{left:0;right:0;top:22px;text-align:center}.room-caption .eyebrow{font-size:8px;letter-spacing:1.8px}.room-caption h1{font-size:26px;margin-top:9px}.room-caption p{font-size:9px}.room-tag{display:none}.hud{bottom:16px;width:calc(100% - 26px);padding:13px 12px;gap:10px;min-height:82px;border-radius:16px}.mood-icon{width:31px;height:31px}.mood-icon svg{width:18px;height:18px}.meter-label{font-size:10px;gap:5px}.meter-label #happiness{font-size:9px}.meter-block p{font-size:8px;line-height:1.5}.gift{padding-left:9px;min-width:41px;font-size:8px}.gift svg{width:21px;height:21px}.encounter-panel{top:132px;bottom:auto;width:calc(100% - 26px);flex-direction:column;justify-content:center;padding:9px 12px;gap:8px;border-radius:14px}#encounter-status{font-size:11px}.feed{padding:8px 12px;font-size:11px}footer{height:40px;justify-content:center;font-size:9px;gap:6px;padding-bottom:env(safe-area-inset-bottom,0px)}.footer-right{display:none}.letter-content{padding:26px 22px}dialog h2{font-size:34px}dialog p{font-size:14px}.letter-icon{width:32px;height:32px;margin-bottom:16px}}@media(max-height:550px)and (min-width:600px){.header{height:56px}.room-caption{top:16px;left:25px}.room-caption h1{font-size:22px}.room-caption p,.room-tag{display:none}.hud{bottom:12px;min-height:65px;padding:10px 15px}footer{height:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
