@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap";:root{--ink:#101419;--paper:#f3eadb;--muted:#a99f92;--gold:#d0a767;--line:#d0a76740;--serif:"Cormorant Garamond",Georgia,serif;color:var(--paper);background:var(--ink);font-family:Manrope,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--ink)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.app{background:radial-gradient(circle at 50% 5%,#28303a,var(--ink) 58%);grid-template-rows:70px 2px minmax(0,1fr) 62px;height:100dvh;display:grid}header{z-index:5;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(18px,4vw,64px);display:flex;position:relative}.brand{text-align:left;color:var(--paper);font:15px/1 var(--serif);background:0 0;border:0;align-items:center;gap:12px;display:flex}.brand i{border:1px solid var(--gold);width:30px;height:30px;color:var(--gold);place-items:center;font-size:21px;font-style:normal;display:grid}.brand strong{color:var(--gold);font-size:20px;font-weight:600}.location{color:var(--muted);letter-spacing:.14em;text-transform:uppercase;font-size:10px}.menu-button{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;background:0 0;border:0;font-size:11px}.menu-button:hover{color:var(--paper)}.progress{background:#293039}.progress span{background:linear-gradient(90deg,var(--gold),#f0d192);height:100%;transition:width .35s;display:block}.stage{cursor:pointer;place-items:center;min-height:0;padding:18px clamp(30px,10vw,150px) 8px;display:grid;position:relative;overflow:hidden}.stage-art{background:#151b20;width:min(100%,1180px);height:100%;position:relative;overflow:hidden;box-shadow:0 18px 55px #00000052}.background{object-fit:cover;object-position:center;filter:saturate(.82)contrast(.96);width:100%;height:100%;position:absolute;inset:0}.sprite{z-index:2;bottom:0;left:calc((var(--slot) + 1) * 100% / (var(--count) + 1));object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 12px #0003);width:min(55%,560px);height:88%;animation:.35s both arrive;position:absolute;transform:translate(-50%)}.sprite-1{width:min(52%,580px)}.sprite-2,.sprite-3{width:min(43%,500px)}.sprite-4{width:min(31%,390px)}@keyframes arrive{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.grain{z-index:3;pointer-events:none;background:radial-gradient(#0000 48%,#0407097a 100%),linear-gradient(#0000 62%,#07090a73);position:absolute;inset:0}.missing-bg{text-align:center;color:var(--paper);font-family:var(--serif);z-index:1;background:linear-gradient(135deg,#25313a,#11181e);place-content:center;display:grid;position:absolute;inset:0}.missing-bg b{font-size:32px;font-weight:500}.missing-bg span{color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-top:8px;font:10px Manrope}.dialogue{z-index:5;outline-offset:-6px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#101419c7;border:1px solid #d0a767b3;outline:1px solid #d0a76733;width:min(840px,100% - 42px);padding:20px 30px 25px;position:absolute;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 20px 45px #00000059}.speaker{letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-size:11px;font-weight:700}.speaker.narrator{font:italic 600 17px var(--serif);letter-spacing:.04em;text-transform:none;color:#ddc8a5}.speaker.daughter{color:#d9b7a7}.speaker.luigi{color:#cf9d68}.dialogue p{white-space:pre-line;max-width:760px;color:var(--paper);font:500 clamp(23px,2.3vw,31px)/1.08 var(--serif);margin:0}.dialogue small{text-align:right;color:#91877a;letter-spacing:.1em;text-transform:uppercase;margin-top:14px;font-size:9px;display:block}.tap{z-index:6;background:0 0;border:0;width:20%;position:absolute;top:0;bottom:0}.tap.left{cursor:w-resize;left:0}.tap.right{cursor:e-resize;right:0}.app footer{width:min(840px,100% - 42px);color:var(--muted);justify-content:space-between;align-items:center;margin:auto;font-size:11px;display:flex}.app footer button{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0}.app footer button:hover:not(:disabled){color:var(--paper)}.app footer button:disabled{opacity:.3}.app footer span{font:italic 18px var(--serif);color:#cdb998}.backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030608c2;justify-content:flex-end;display:flex;position:fixed;inset:0}.menu{border-left:1px solid var(--line);background:#151b20;width:min(470px,100vw);height:100%;padding:42px 34px;animation:.25s drawer;overflow:auto}.menu h2{font:600 46px/.9 var(--serif);margin:0 0 22px}.kicker{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:10px}.menu-list button{text-align:left;width:100%;color:var(--paper);font:500 18px var(--serif);background:0 0;border:0;border-bottom:1px solid #ffffff12;align-items:baseline;gap:17px;padding:9px 0;display:flex}.menu-list button span{width:28px;color:var(--gold);font:11px Manrope}.menu-list button.active,.menu-list button:hover{color:var(--gold)}@keyframes drawer{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=700px){.app{grid-template-rows:56px 2px minmax(0,1fr) 48px}header{height:56px;padding:0 16px}.brand span{display:none}.location,.menu-button{font-size:9px}.stage{padding:8px 8px 3px}.stage-art{height:100%}.sprite{width:min(68%,400px);height:78%}.sprite-2,.sprite-3{width:min(47%,300px)}.sprite-4{width:min(33%,230px)}.dialogue{width:calc(100% - 18px);padding:16px 18px 21px;bottom:12px}.dialogue p{font-size:clamp(21px,6vw,28px)}.dialogue small{font-size:8px}.app footer{width:calc(100% - 24px)}.app footer span{text-overflow:ellipsis;white-space:nowrap;max-width:45%;overflow:hidden}.menu{padding:34px 22px}.menu h2{font-size:40px}}.cover{background:#101419;height:100dvh;position:relative;overflow:hidden}.cover-image{filter:saturate(.75)contrast(1.08);background:url(./assets/BG_25_Atlantida_Night_Sea.png) 50%/cover;position:absolute;inset:0}.cover-shade{background:linear-gradient(90deg,#101419 0%,#101419f0 29%,#10141980 55%,#10141926 100%),linear-gradient(#0000 55%,#080a0db3);position:absolute;inset:0}.cover-copy{z-index:1;width:min(650px,58vw);padding:clamp(48px,11vh,130px) 0 0 clamp(28px,11vw,170px);position:relative}.cover h1{color:var(--paper);font:600 clamp(61px,8vw,122px)/.77 var(--serif);letter-spacing:-.045em;margin:0}.cover h1 em{color:var(--gold);font-style:italic;font-weight:400;display:block}.cover-subtitle{color:#dac6a4;font:600 15px var(--serif);letter-spacing:.18em;text-transform:uppercase;margin:35px 0 0}.cover-intro{color:#c5b7a5;max-width:420px;font:400 21px/1.35 var(--serif);margin:25px 0 34px}.cover-actions{align-items:center;gap:22px;display:flex}.start,.open{background:0 0;border:0;padding:14px 0}.start{background:var(--gold);color:#101419;padding:15px 20px;font-size:12px;font-weight:700}.start span{margin-left:25px;font-size:18px}.open{color:#cdbb9f;font-size:12px}.cover-meta{color:#877b6b;letter-spacing:.12em;text-transform:uppercase;margin-top:70px;font-size:10px}.cover-epigraph{z-index:1;color:#e2bf83a6;font:italic 22px var(--serif);position:absolute;bottom:42px;right:54px;transform:rotate(-7deg)}@media (width<=700px){.cover-copy{width:auto;padding:42px 26px 0}.cover h1{font-size:clamp(60px,20vw,100px)}.cover-image{background-position:62%}.cover-shade{background:linear-gradient(#10141933 0%,#101419e6 60%,#101419 100%)}.cover-intro{font-size:18px}.cover-actions{flex-direction:column;align-items:flex-start;gap:7px}.cover-meta{margin-top:34px}.cover-epigraph{font-size:16px;top:28px;bottom:auto;right:20px}}.header-actions{align-items:center;gap:18px;display:flex}.reference{border-left:1px solid var(--line);background:#151b20;width:min(660px,100vw);height:100%;padding:42px 34px;animation:.25s drawer;overflow:auto}.reference-head{justify-content:space-between;align-items:flex-start;display:flex}.reference-head h2{font:600 46px/.9 var(--serif);margin:0}.reference-head button{color:var(--paper);background:0 0;border:0;font-size:28px}.reference-tabs{border-bottom:1px solid var(--line);gap:18px;margin:28px 0 22px;display:flex}.reference-tabs button{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 0;font-size:11px}.reference-tabs button.active{border-color:var(--gold);color:var(--gold)}.reference-grid{grid-template-columns:repeat(2,1fr);gap:24px 18px;display:grid}.reference-grid article{min-width:0}.reference-grid img{object-fit:contain;filter:saturate(.85);background:#0d1115;width:100%;height:180px;display:block}.reference-grid h3{color:var(--paper);font:600 22px/1 var(--serif);margin:10px 0 5px}.reference-grid p{color:var(--muted);font:14px/1.35 var(--serif);margin:0}.reference-grid.places img{object-fit:cover;height:130px}.reference-grid.places h3{font-size:20px}@media (width<=700px){.header-actions{gap:8px}.header-actions .menu-button{font-size:8px}.reference{padding:34px 22px}.reference-head h2{font-size:40px}.reference-grid{grid-template-columns:1fr 1fr;gap:20px 12px}.reference-grid img{height:145px}.reference-grid h3{font-size:19px}.reference-grid p{font-size:13px}}.dialogue p{max-height:30vh;padding-right:8px;overflow-y:auto}.background{animation:.55s both background-in}.foreground-composite{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 14px #0003);width:100%;height:100%;animation:.4s both foreground-in;position:absolute;inset:0}@keyframes background-in{0%{opacity:.15;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes foreground-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.stage{flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;display:flex;overflow:hidden}.stage-art{flex:1 1 0;width:min(100%,1180px);height:auto;min-height:0}.dialogue{flex:none;width:min(100%,1180px);max-height:none;padding:14px clamp(20px,4vw,48px) 12px;position:relative;inset:auto;overflow:visible;transform:none}.dialogue p{max-height:none;padding-right:0;overflow:visible}@media (width<=700px){.stage{gap:6px;padding:6px 8px 2px}.stage-art{flex-basis:0;width:100%}.dialogue{width:100%;padding:9px 14px 7px}.dialogue p{font-size:clamp(16px,4.7vw,22px);line-height:1.16}.dialogue small{font-size:7px}}.background{will-change:opacity,transform;animation:.8s cubic-bezier(.22,.61,.36,1) both background-in}.foreground-composite{will-change:opacity,transform;animation:.65s cubic-bezier(.22,.61,.36,1) both foreground-in}.dialogue-enter{will-change:opacity,transform;animation:.5s cubic-bezier(.22,.61,.36,1) both dialogue-in}@keyframes dialogue-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
