.hero[data-v-675711b2]{position:relative;width:100vw;height:100vh;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;cursor:none;isolation:isolate}.content[data-v-675711b2]{max-width:90vw;padding:0 1rem;z-index:4}@keyframes slowZoom-675711b2{0%{transform:scale(1)}to{transform:scale(1.05)}}.bg[data-v-675711b2]{position:absolute;top:0;right:0;bottom:0;left:0;background:url(/images/landing_bg_blur.jpg) center/cover no-repeat;animation:slowZoom-675711b2 40s ease-in-out infinite alternate;z-index:0}.bg[data-v-675711b2]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059}@keyframes driftDots-675711b2{0%{background-position:0 0}to{background-position:1000px 0}}.particles[data-v-675711b2]{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.22) 2px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.14) 2px,transparent 2px);background-size:80px 80px,120px 120px;animation:driftDots-675711b2 60s linear infinite;filter:blur(2px);opacity:.25;z-index:1}.glow[data-v-675711b2]{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:radial-gradient(circle at var(--x,50%) var(--y,50%),rgba(255,255,255,.3),transparent 60%);transition:background-position .2s ease-out;z-index:2}.grain[data-v-675711b2]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:url(/images/noise.png) repeat;background-size:256px 256px;opacity:.15;z-index:3}.ring[data-v-675711b2]{position:fixed;top:0;left:0;width:26px;height:26px;border:2px solid rgba(255,255,255,.85);border-radius:50%;pointer-events:none;mix-blend-mode:difference;transform:translate(-50%,-50%);animation:pulse-675711b2 1.6s ease-in-out infinite;z-index:5}@keyframes pulse-675711b2{0%{box-shadow:0 0 #fffc}to{box-shadow:0 0 12px 6px #fff0}}.title[data-v-675711b2]{font-size:clamp(2.3rem,6vw,4.4rem);line-height:1.1;margin:0 0 1.4rem;letter-spacing:.05em;font-weight:700}.word[data-v-675711b2]{display:inline-block;margin-right:.35em}.word[data-v-675711b2]:last-child{margin-right:0}.tagline[data-v-675711b2]{font-size:1.3rem;font-weight:300;opacity:.9;margin-bottom:2.6rem;line-height:1.4}button[data-v-675711b2]{padding:.9rem 2.4rem;font-size:1.1rem;background:#fff;color:#000;border:none;cursor:pointer;transition:opacity .25s,transform .25s}button[data-v-675711b2]:hover{opacity:.9;transform:translateY(-2px)}.about-link[data-v-675711b2]{display:block;margin-top:1.2rem;color:#7dcaff;font-size:.9rem}.about-link[data-v-675711b2]:hover{text-decoration:underline}.frame[data-v-30c27aa9]{position:relative;width:100vw;height:100vh;overflow:hidden}.art-img[data-v-30c27aa9]{width:100%;height:100%;object-fit:contain}.ripple-canvas[data-v-30c27aa9]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.gallery[data-v-495e552b]{position:relative}.controls[data-v-495e552b]{position:fixed;bottom:3.2rem;left:50%;transform:translate(-50%);display:flex;gap:1rem;z-index:5;transition:opacity .4s}button[data-v-495e552b]{background:#ffffff26;border:1px solid #ffffff33;color:#fff;padding:.55rem 1.1rem;cursor:pointer}button[data-v-495e552b]:disabled{opacity:.4;cursor:default}.progress[data-v-495e552b]{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);display:flex;gap:.6rem;z-index:5;transition:opacity .4s}.dot[data-v-495e552b]{width:10px;height:10px;border-radius:50%;background:#ffffff59;transition:.25s;cursor:pointer}.dot.active[data-v-495e552b]{background:#fff;transform:scale(1.4)}.hidden[data-v-495e552b]{opacity:.15;pointer-events:none}.gesture[data-v-495e552b]{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#000000a6;color:#fff;font-size:1.2rem;font-weight:500;z-index:1000;cursor:pointer;text-align:center;padding:1rem}.about[data-v-6fed9dd9]{max-width:800px;margin:0 auto;padding:2.5rem 1rem 5rem;color:#fff;line-height:1.6}header[data-v-6fed9dd9]{text-align:center;margin-bottom:2.5rem}h1[data-v-6fed9dd9]{font-size:2.4rem;margin:0;font-weight:700}.subtitle[data-v-6fed9dd9]{opacity:.8;margin-top:.4rem}@media (max-width:480px){h1[data-v-6fed9dd9]{font-size:1.9rem}.title-break[data-v-6fed9dd9]{display:inline}}@media (min-width:481px){.title-break[data-v-6fed9dd9]{display:none}}.panel[data-v-6fed9dd9]{background:#ffffff0d;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.6rem 1.8rem;border-radius:10px;margin-bottom:2.2rem}h2[data-v-6fed9dd9]{margin:0 0 .4rem;font-size:1.35rem;font-weight:600}.phase[data-v-6fed9dd9]{margin:0 0 1.1rem;font-size:.95rem;opacity:.8}ol[data-v-6fed9dd9],ul[data-v-6fed9dd9]{padding-left:1.2rem}li[data-v-6fed9dd9]{margin-bottom:.65rem}.overview p[data-v-6fed9dd9]{margin:0}.howto ul[data-v-6fed9dd9]{margin-bottom:1.3rem}.tools[data-v-6fed9dd9]{margin:0 0 .4rem;font-size:1rem;font-weight:600}.tools-list[data-v-6fed9dd9]{font-size:.85rem;opacity:.85}footer[data-v-6fed9dd9]{text-align:center;font-size:.9rem}.back[data-v-6fed9dd9]{color:#7dcaff}.back[data-v-6fed9dd9]:hover{text-decoration:underline}:root{--font-main: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--color-bg: #242424;--color-text: rgba(255,255,255,.92);--color-primary: #ffffff;--color-primary-bg: #1a1a1a}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}html,body,#app{margin:0;padding:0;width:100%;height:100%;font-family:var(--font-main);color:var(--color-text);background:var(--color-bg)}body{min-width:320px;min-height:100vh;display:block}h1,h2,h3,h4,h5{margin:0;font-weight:700}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:inherit;font-weight:500;font-size:1rem;padding:.8rem 1.8rem;border:none;color:#000;background:var(--color-primary);border-radius:6px;cursor:pointer;transition:transform .25s,box-shadow .25s,opacity .25s}button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000040}button:focus-visible{outline:3px solid #4b8bff}button:disabled{opacity:.45;cursor:default;transform:none;box-shadow:none}.card{padding:2em}#app{width:100%;height:100%;text-align:center}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
