:root{color-scheme:dark;--ink:#160f24;--cream:#f8e8c6;--pink:#ea6cab;--purple:#8f4aa7}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:#070714}body{font-family:Courier New,Courier,monospace}button{font:inherit}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.site{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 15%,rgba(124,63,163,.18),transparent 30%),#070714;padding:12px;overflow:hidden}.scene-scroll{width:min(100%,1600px);overflow:hidden}.scene-shell{position:relative;width:100%;aspect-ratio:1536/865;overflow:hidden;border:2px solid rgba(248,232,198,.2);box-shadow:0 28px 80px rgba(0,0,0,.55)}.scene{position:absolute;inset:0 auto auto 0;width:100%;height:auto;image-rendering:pixelated;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;transition:filter .35s ease}.neon-mode .scene{filter:saturate(1.35) contrast(1.06) brightness(.78) hue-rotate(8deg)}.hotspot{position:absolute;z-index:4;min-width:44px;min-height:44px;border:1px dashed transparent;background:transparent;cursor:pointer;border-radius:8px;transition:background .18s ease,border-color .18s ease,transform .18s ease;touch-action:manipulation}.hotspot span{position:absolute;left:50%;bottom:calc(100% + 8px);opacity:0;pointer-events:none;white-space:nowrap;background:var(--cream);color:var(--ink);padding:6px 9px;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--pink);font-size:clamp(10px,.9vw,14px);transform:translate(-50%,6px);transition:opacity .18s ease,transform .18s ease}.hotspot:focus-visible,.hotspot:hover{outline:none;border-color:rgba(248,232,198,.9);background:rgba(234,108,171,.07);box-shadow:inset 0 0 0 1px rgba(234,108,171,.28)}.hotspot:focus-visible span,.hotspot:hover span{opacity:1;transform:translate(-50%)}.effect-plant .hotspot-plant{transform:rotate(4deg) translateY(7px);transform-origin:50% 100%}.falling-leaf{position:absolute;z-index:6;left:84%;top:52%;opacity:0;font-size:21px}.effect-plant .falling-leaf{animation:falling-leaf .8s steps(5) forwards}@keyframes falling-leaf{0%{opacity:0;transform:translate(0) rotate(0)}15%{opacity:1}to{opacity:0;transform:translate(-18px,65px) rotate(120deg)}}.bark-bubble,.lol-bubble{position:absolute;z-index:7;opacity:0;background:var(--cream);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--pink);padding:8px 10px;font-weight:700}.bark-bubble{left:36%;top:55%}.lol-bubble{left:23%;top:44%;font-size:24px}.effect-dogs .bark-bubble,.effect-sign .lol-bubble{animation:pop-note .85s ease both}@keyframes pop-note{0%{opacity:0;transform:scale(.7) translateY(8px)}20%,75%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.9) translateY(-8px)}}.camera-flash{position:absolute;z-index:8;inset:0;background:white;opacity:0;pointer-events:none}.effect-camera .camera-flash{animation:flash .42s ease-out}@keyframes flash{0%{opacity:0}18%{opacity:.78}38%{opacity:.12}52%{opacity:.48}to{opacity:0}}.mobile-hint{display:none}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:rgba(6,4,14,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal{position:relative;width:min(92vw,520px);background:var(--cream);color:var(--ink);border:3px solid var(--ink);padding:34px;box-shadow:10px 10px 0 var(--purple)}.modal:focus{outline:none}.modal h1{margin:4px 0 14px;font-size:clamp(28px,6vw,56px);line-height:.95}.modal p{line-height:1.6}.close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:32px}.close,.small-button{color:var(--ink);cursor:pointer}.small-button{margin-top:12px;border:2px solid var(--ink);background:var(--pink);padding:10px 14px;box-shadow:4px 4px 0 var(--ink)}.small-button:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}.close:focus-visible,.small-button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}@media (max-width:760px){.site{display:block;padding:0;overflow:hidden}.mobile-hint{display:block;position:fixed;z-index:12;left:50%;top:10px;transform:translateX(-50%);margin:0;padding:7px 10px;border:1px solid rgba(248,232,198,.32);background:rgba(7,7,20,.86);color:var(--cream);font-size:12px;pointer-events:none;animation:hint-away 4s ease forwards}@keyframes hint-away{0%,70%{opacity:1}to{opacity:0}}.scene-scroll{width:100vw;height:100dvh;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none}.scene-scroll::-webkit-scrollbar{display:none}.scene-shell{width:calc(100dvh * 1.77572);min-width:1080px;height:100dvh;min-height:608px;aspect-ratio:auto;border:0;box-shadow:none;scroll-snap-align:start}.hotspot{min-width:52px;min-height:52px}.hotspot span{display:none}.hotspot:focus-visible{border-color:var(--cream)}.hotspot:active{background:rgba(234,108,171,.12)}.modal-backdrop{padding:12px}.modal{width:100%;max-height:calc(100dvh - 24px);overflow-y:auto;padding:30px 22px 24px}.modal h1{font-size:34px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (max-width:760px) and (orientation:landscape){.scene-shell{min-width:0;width:calc(100dvh * 1.77572);height:100dvh;min-height:0}}.modal-links{display:flex;flex-direction:column;gap:14px}.modal-links a{color:inherit;text-decoration:underline;text-underline-offset:4px}.modal-links a:focus-visible,.modal-links a:hover{color:#a94f91}