:root{color:#332b3d;background:#f8edda;font-family:Georgia,serif;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}html{scroll-behavior:smooth}body{margin:0}.site-shell{width:min(100%,1040px);margin:0 auto;padding:3rem 1rem 6rem}.hero,.details{text-align:center}.eyebrow{margin:0 0 .5rem;color:#a84d5d;font:700 .75rem/1.2 system-ui,sans-serif;letter-spacing:.16em}h1,h2{margin:0;font-weight:400}h1{font-size:clamp(2.5rem,9vw,5rem)}h2{font-size:clamp(2rem,6vw,3rem)}.intro{font:1rem/1.5 system-ui,sans-serif}.game-stage{position:relative;margin:2rem auto 1rem}.game-frame{position:relative;width:100%;aspect-ratio:16 / 9;margin:0;overflow:hidden;border:6px solid #514647;background:#86b870;box-shadow:8px 8px #d99a7e}.game-frame canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.italy-sign{position:absolute;z-index:6;padding:0;border:0;background:transparent;cursor:pointer;touch-action:manipulation}.italy-sign:focus-visible{outline:3px solid #a84d5d;outline-offset:3px}.touch-controls{position:absolute;z-index:10;right:1rem;bottom:1rem;display:grid;grid-template-columns:repeat(2,2.75rem);grid-template-rows:repeat(2,2.75rem);gap:.25rem;touch-action:none}.touch-button,.autoplay-button{border:2px solid #332b3d;border-radius:.35rem;color:#332b3d;background:#f8eddadb;font:700 1rem system-ui,sans-serif;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.touch-button:active,.touch-button.is-pressed,.autoplay-button[aria-pressed=true]{color:#fff;background:#a84d5d}.autoplay-button{grid-column:1 / -1;grid-row:1;font-size:.8rem}.autoplay-button:disabled{cursor:default;opacity:.6}.music-controls{position:absolute;z-index:12;top:1rem;right:1rem;display:flex;align-items:center;gap:.35rem}.music-button{--speaker-gold: #c9b38c;--button-face: #f2e4c9;width:44px;height:44px;padding:4px;display:grid;place-items:center;border:2px solid #594333;border-radius:2px;background:var(--button-face);box-shadow:inset 2px 2px #fff6dd,inset -2px -2px #bca17c,0 3px #594333,0 4px #30251d40;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none}.music-button[aria-pressed=true]{--speaker-gold: #e7bc6b;--button-face: #e7ecd2}.music-icon{display:block;width:32px;height:32px}.speaker-cone{fill:var(--speaker-gold)}@media(hover:hover){.music-button:hover{--button-face: #fff2cf}}.music-button:active{transform:translateY(2px);box-shadow:inset 2px 2px #bca17c,inset -2px -2px #fff6dd,0 1px #594333}.music-button .music-waves,.music-button .music-mute{opacity:0}.music-button[aria-pressed=true] .music-waves,.music-button[aria-pressed=false] .music-mute{opacity:1}.music-button:focus-visible{outline:3px solid #a84d5d;outline-offset:3px}.ending-caption{position:absolute;z-index:8;top:.75rem;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 2rem);padding:.55rem 1rem;color:#513e35;background:#fff5e3e8;border:1px solid #e1c9a4;box-shadow:2px 2px #51464730;text-align:center}.ending-caption h2{font:1.4rem/1.2 Georgia,serif}.ending-caption p{margin:.3rem 0 0;font:.75rem/1.4 Georgia,serif}.ending-caption a{display:inline-block;margin-top:.4rem;color:#994954;font:700 .8rem Georgia,serif}.skip-flight{position:absolute;z-index:12;right:1rem;bottom:1rem;min-height:44px;padding:.5rem .8rem;border:2px solid #514647;border-radius:.35rem;background:#fff5e3ed;color:#89505a;font:700 .75rem Georgia,serif;cursor:pointer}.skip-flight:focus-visible,.ending-caption a:focus-visible{outline:3px solid #a84d5d;outline-offset:3px}.details.has-arrived{background:linear-gradient(140deg,#fff5e3,#eef0d9);border:1px solid #d4b98b}.invitation-venue{color:#89505a}.touch-left{grid-column:1;grid-row:2}.touch-right{grid-column:2;grid-row:2}.story-panel{position:absolute;z-index:5;top:1rem;left:1rem;width:min(460px,calc(100% - 2rem));padding:.9rem 1.1rem;background:#fff5e3f5;border:1px solid #dfc9a8;box-shadow:3px 3px #51464730;text-align:left}.story-date{margin:0 0 .5rem;font:700 .7rem/1.4 Georgia,serif;letter-spacing:.1em;color:#955661}.story-panel h2{font-size:1.35rem}.story-copy{margin:.5rem 0 0;max-width:70ch;font:.9rem/1.5 Georgia,serif}.story-sites{margin:.6rem 0 0;color:#685139;font:700 .75rem/1.4 Georgia,serif}.game-frame:focus-visible,.touch-button:focus-visible,.autoplay-button:focus-visible{outline:3px solid #a84d5d;outline-offset:4px}@media(max-width:600px){.site-shell{padding-top:2rem}.game-frame{aspect-ratio:4 / 3;border-width:4px}.game-frame canvas{object-fit:contain}.touch-controls{right:.5rem;bottom:.5rem;gap:.5rem}.music-controls{top:.5rem;right:.5rem}.skip-flight{right:.5rem;bottom:.5rem}.ending-caption{top:.5rem;left:.5rem;right:3.75rem;width:auto;max-width:none;transform:none;padding:.4rem .6rem}.ending-caption h2{font-size:1rem}.ending-caption p{font-size:.65rem}.story-panel{position:static;width:100%;margin-top:1rem;padding:1rem;min-height:185px}}.game-loading{padding:6rem 1rem;font-family:system-ui,sans-serif}.details{margin:2rem 0 4rem;padding:1rem 1rem 3rem}.details p:not(.eyebrow){font:1.05rem/1.6 system-ui,sans-serif}.button{display:inline-block;margin-top:1rem;padding:.8rem 1.2rem;color:#fff;background:#a84d5d;text-decoration:none;font:700 .9rem system-ui,sans-serif}.faq{margin:4rem 0;padding:3rem 1rem;text-align:center}.faq-list{max-width:720px;margin:2rem auto 0;text-align:left}.faq-item{margin:.5rem 0;border:1px solid #dfc9a8;border-radius:.35rem;background:#fff5e3}.faq-item summary{padding:.9rem 1rem;color:#89505a;font:700 .95rem system-ui,sans-serif;cursor:pointer;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:focus-visible{outline:3px solid #a84d5d;outline-offset:3px}.faq-answer{padding:.6rem 1rem 1rem}.faq-answer p{margin:0 0 .5rem;font:.95rem/1.6 system-ui,sans-serif}.faq-answer .faq-link{display:inline-block;margin:.6rem 0 .25rem;color:#994954;font:700 .85rem system-ui,sans-serif}.faq-answer .faq-link:focus-visible{outline:3px solid #a84d5d;outline-offset:3px}.faq-map{display:block;width:100%;height:260px;margin-top:.6rem;border:0;border-radius:.35rem}
