@font-face{font-family:Minecraft;src:url(/assets/Minecraft-DepcjwOz.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:ThatThatNewPixel;src:url(/assets/thatthatnewpixelfamilytest-square-LsT5vqUn.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#fcfefd;--fg:#141414;--accent:maroon;--font:"Minecraft", "Helvetica Neue", Arial, sans-serif;--prose-size:clamp(1.05rem, .95rem + .7vw, 1.5rem)}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--fg);font-family:var(--font);margin:0;padding:0}#app{justify-content:center;align-items:safe center;min-height:100vh;padding:2rem;display:flex}.scene{text-align:center;width:100%;max-width:32rem;animation:.5s fade-in}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}h1,h2{letter-spacing:.02em;font-weight:300}.gate-form{justify-content:center;gap:.5rem;margin-top:1.5rem;display:flex}input[type=password]{border:1px solid var(--fg);color:var(--fg);background:0 0;padding:.6rem .8rem;font-family:inherit;font-size:1rem}input[type=password]:focus{outline:2px solid var(--accent)}input[type=password]::placeholder{color:var(--fg);opacity:.5;font-family:inherit}button{background:var(--accent);color:var(--bg);cursor:pointer;border:none;padding:.6rem 1.2rem;font-family:inherit;font-size:1rem;transition:opacity .2s}button:hover{opacity:.85}.story-next,.story-back,.letter-play,.gate-form button{transition:opacity .2s,transform .2s}.story-next:hover,.story-next:focus-visible,.story-back:hover,.story-back:focus-visible,.letter-play:hover,.letter-play:focus-visible,.gate-form button:hover,.gate-form button:focus-visible{transform:translateY(-2px)scale(1.06)}.story-next:active,.story-back:active,.letter-play:active,.gate-form button:active{transform:translateY(0)scale(.98)}@media (prefers-reduced-motion:reduce){.story-next,.story-back,.letter-play,.gate-form button{transition:opacity .2s;transform:none}}.gate-error{color:var(--accent);margin-top:1rem}.hover-target{border:1px dashed var(--fg);margin:2rem 0;padding:2rem;position:relative}.hover-hint{opacity:.6}.hover-reveal{color:var(--accent);margin-top:.75rem;display:block}.next-btn{margin-top:1rem}.photo-placeholder{border:1px dashed var(--fg);opacity:.5;margin:2rem 0;padding:4rem 1rem}.caption{opacity:.7;font-style:italic}.scene-gate{background:var(--bg);--mx:50vw;--my:50vh;--spotlight-radius:clamp(140px, 38vw, 160px);position:fixed;inset:0;overflow:hidden}.scene-gate.gate-lit .spotlight-overlay{display:none}.photos-layer{z-index:1;position:absolute;inset:0}.photo{border:4px solid var(--bg);width:clamp(6.5rem,28vw,11rem);height:clamp(8.25rem,35.5vw,14rem);transform:translate(-50%, -50%) rotate(var(--tilt,0deg));transition:transform .2s,box-shadow .2s;position:absolute;box-shadow:0 4px 16px #0000004d}.photo:hover,.photo:focus-within{z-index:2;transform:translate(-50%,-50%)rotate(0)scale(1.06);box-shadow:0 .75rem 2rem #0006}.photo-image{filter:grayscale();background-position:50%;background-size:cover;position:absolute;inset:0}.photo-open{cursor:pointer;background:0 0;border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.photo{transition:none}}.spotlight-overlay{z-index:2;pointer-events:none;background:radial-gradient(circle var(--spotlight-radius) at var(--mx) var(--my), transparent 0, transparent calc(var(--spotlight-radius) - 50px), var(--bg) var(--spotlight-radius));position:absolute;inset:0}.gate-title{z-index:3;color:var(--accent);letter-spacing:.1em;text-align:center;pointer-events:none;width:100%;margin:0;padding:0 1rem;font-size:clamp(2rem,10.5vw,4.5rem);line-height:.95;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gate-letter{pointer-events:auto;cursor:default;display:inline-block}.gate-title:hover .gate-letter{animation:.7s ease-in-out infinite letter-bounce;animation-delay:calc(var(--i) * 50ms)}@keyframes letter-bounce{0%,40%,to{transform:translateY(0)}20%{transform:translateY(-.22em)}}@media (prefers-reduced-motion:reduce){.gate-title:hover .gate-letter{animation:none}}.gate-password{z-index:1;text-align:right;position:absolute;bottom:8%;right:8%}.scene-gate.gate-touring .gate-password{z-index:3}.gate-password .gate-form{justify-content:flex-end}.gate-password .gate-error{margin-top:.75rem}.gate-password .gate-error[hidden]{visibility:hidden;display:block}.hint-heart{z-index:1;cursor:pointer;background:0 0;border:none;margin:0;padding:.25rem;position:absolute;bottom:.5rem;right:.5rem}.hint-heart-icon{width:2rem;height:auto;transition:transform .2s;display:block}.hint-heart:hover .hint-heart-icon,.hint-heart:focus-visible .hint-heart-icon,.board-heart:hover .board-heart-icon,.board-heart:focus-visible .board-heart-icon{transform:scale(1.35)}.hint-modal{z-index:10;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:fixed;inset:0}.hint-modal-visible{opacity:1;pointer-events:auto}.hint-modal-backdrop{background:#00000080;position:absolute;inset:0}.hint-modal-box{z-index:1;background:var(--bg);width:calc(100% - 4rem);max-width:24rem;color:var(--fg);border:2px solid var(--accent);text-align:center;padding:2rem;position:relative}.hint-modal-text{margin:0;font-size:1.1rem;line-height:1.5}.hint-modal-label{color:var(--accent);margin-right:.35rem}.hint-modal-close{color:var(--fg);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;line-height:1;position:absolute;top:.5rem;right:.5rem}.intro-overlay{z-index:100;cursor:pointer;position:fixed;inset:0}.intro-blocks{display:grid;position:absolute;inset:0}.intro-block{background:var(--accent);box-shadow:0 0 0 1px var(--accent)}.intro-block-falling{animation:.9s cubic-bezier(.55,0,1,.45) forwards block-fall;animation-delay:var(--delay)}@keyframes block-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(120vh)rotate(25deg)}}.intro-content{z-index:1;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;transition:opacity .2s;display:flex;position:absolute;inset:0}.intro-content-hide{opacity:0}.intro-names{color:var(--bg);letter-spacing:.15em;text-transform:uppercase;text-align:center;margin:0;padding:0 1rem;font-size:3rem}.intro-hint{color:var(--bg);opacity:.7;letter-spacing:.15em;text-transform:uppercase;margin:0;font-size:.85rem}.story-scene{cursor:default;max-width:50rem;padding-bottom:5rem}.story-page{flex-direction:column;justify-content:center;min-height:55vh;display:flex}.story-text{text-align:center;font-size:var(--prose-size);margin:0 0 1.25rem;line-height:1.75}.story-ghost{visibility:hidden}.story-next{z-index:5;position:fixed;bottom:2rem;right:2rem}.story-back{z-index:5;background:var(--bg);color:var(--accent);border:2px solid var(--accent);padding:calc(.6rem - 2px) calc(1.2rem - 2px);position:fixed;bottom:2rem;left:2rem}.board-scene{width:min(67rem,96vw);max-width:none}.board-title{letter-spacing:.05em;margin-bottom:1.5rem;font-weight:300}.board{columns:4 12rem;column-gap:1.5rem}@keyframes print-hang{0%{opacity:0;transform:rotate(var(--tilt)) translateY(.75rem) scale(.97)}to{opacity:1;transform:rotate(var(--tilt)) translateY(0) scale(1)}}.board-item{--tilt:0deg;--i:0;animation:.45s backwards print-hang;animation-delay:calc(min(var(--i) * 45ms, .9s));break-inside:avoid;width:100%;transform:rotate(var(--tilt));background:#fdfdfb;margin:0 0 1.25rem;padding:.5rem .5rem .35rem;transition:transform .25s,box-shadow .25s;display:inline-block;position:relative;box-shadow:0 .35rem 1.25rem #00000047}.board-item:hover,.board-item:focus-within{z-index:2;transform:rotate(0)scale(1.06);box-shadow:0 .75rem 2rem #0006}.board-open{cursor:pointer;background:0 0;border:none;width:100%;padding:0;display:block}.board-photo{background:#1414140d;width:100%;height:auto;display:block}.board-date{color:#444;letter-spacing:.03em;text-align:center;padding:.4rem .1rem .1rem;font-size:.7rem}@media (prefers-reduced-motion:reduce){.board-item{transition:none;animation:none}}.board-heart{cursor:pointer;background:0 0;border:none;padding:.25rem;position:absolute;bottom:.5rem;right:.5rem}.board-heart-icon{width:2rem;height:auto;transition:transform .2s;display:block}.scroll-hint{pointer-events:none;z-index:4;-webkit-backdrop-filter:blur(6px);height:6rem;position:fixed;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.flower-field{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.flower{--tilt:0deg;height:auto;image-rendering:pixelated;opacity:.9;animation:6s ease-in-out infinite flower-sway;position:absolute}@keyframes flower-sway{0%,to{transform:rotate(calc(var(--tilt) - 4deg))}50%{transform:rotate(calc(var(--tilt) + 4deg))}}@media (prefers-reduced-motion:reduce){.flower{transform:rotate(var(--tilt));animation:none}}.scene-finale{z-index:1;background:var(--bg);max-width:50rem;margin:4rem 0 8rem;padding:clamp(1.75rem,4vw,3.5rem);position:relative;box-shadow:0 1rem 3rem #00000040}.scene-finale h1{color:var(--accent);margin-top:0;margin-bottom:2.5rem}.letter{text-align:left;font-size:var(--prose-size);line-height:1.95}.letter p{margin:0 0 1.5rem}.letter-signoff{color:var(--accent);margin-top:2.5rem}.letter-player{z-index:5;position:fixed;bottom:2rem;right:2rem}.letter-play{letter-spacing:.05em;font-size:1rem}.story-accent{color:var(--accent)}
