:root{--primary-color:#2dca73;--secondary-color:#1a1a1a;--text-color:#fff;--glass-bg:#1a1a1aa6;--glass-border:#ffffff26;--font-family:"Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100vw;height:100vh;font-family:var(--font-family);color:var(--text-color);background-color:#000;overflow:hidden}#container{width:100%;height:100%;position:absolute;top:0;left:0}#container canvas,#container video{object-fit:cover;position:absolute;top:0;left:0;width:100%!important;height:100%!important}#ui-layer{pointer-events:none;z-index:10;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);pointer-events:auto;border-radius:20px;box-shadow:0 8px 32px #0000005e}.overlay{text-align:center;width:400px;max-width:90%;padding:40px;transition:opacity .5s,visibility .5s;position:absolute}.overlay.hidden{opacity:0;visibility:hidden;pointer-events:none}.overlay h1{background:linear-gradient(135deg,#fff,#ddd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:20px;font-size:2.5rem;font-weight:600}.overlay p{color:#ccc;margin-bottom:30px;font-size:1.1rem;font-weight:300;line-height:1.5}.primary-btn{background:var(--primary-color);color:#000;font-size:1.2rem;font-family:var(--font-family);cursor:pointer;border:none;border-radius:50px;padding:15px 30px;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #2dca7366}.primary-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2dca7399}.secondary-btn{color:var(--text-color);border:1px solid var(--text-color);font-size:.9rem;font-family:var(--font-family);cursor:pointer;background:0 0;border-radius:50px;margin-top:15px;padding:8px 16px;transition:background .2s}.secondary-btn:hover{background:#ffffff1a}.spinner{border:4px solid #ffffff1a;border-top-color:var(--primary-color);border-radius:50%;width:50px;height:50px;margin:0 auto 20px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.info-panel{text-align:center;width:90%;max-width:400px;padding:20px;transition:bottom .5s cubic-bezier(.175,.885,.32,1.275),opacity .3s;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.info-panel.hidden{opacity:0;pointer-events:none;bottom:-150px}.info-panel h2{margin-bottom:10px;font-size:1.5rem}.info-panel p{color:#ccc;margin-bottom:0;font-size:.95rem}
