*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}body{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.scene{position:fixed;inset:0;overflow:hidden;cursor:pointer}.sky{position:absolute;inset:0;transition:background .3s ease-out}.stars{position:absolute;inset:0;transition:opacity .8s ease-out}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 2s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}.sun{position:absolute;left:50%;width:120px;height:120px;pointer-events:none}.sun-glow{position:absolute;inset:-80%;background:radial-gradient(circle,hsla(45,100%,70%,.4) 0%,hsla(40,100%,60%,.2) 40%,transparent 70%);border-radius:50%}.sun-core{position:absolute;inset:0;background:radial-gradient(circle at 35% 35%,#fffbe5,#ffdf80 40%,#ff9f1a);border-radius:50%;box-shadow:0 0 60px #fc39}.landscape{position:absolute;bottom:0;left:0;width:100%;height:35%}.greeting{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;animation:fadeIn 2s ease-out}.greeting span{font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:clamp(28px,8vw,64px);font-weight:200;letter-spacing:.15em;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.15)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hint{position:absolute;top:40px;left:50%;transform:translate(-50%);font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:300;letter-spacing:.2em;color:#ffffff80;text-transform:lowercase;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.progress{position:absolute;bottom:30px;left:50%;transform:translate(-50%);width:min(70%,240px);height:3px;background:#ffffff26;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#fff9;transition:width .1s linear}
