*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}#app{width:100%;height:100%;position:relative;background:#000}.cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:2147483647;display:none}html,body,#app,#app *,.intro-page,.intro-page *,a,button,.transition-item,.logo,.intro-cta,.pwa-btn{cursor:none!important}@media (pointer: fine){.cursor{display:block}}.cursor-dot{position:absolute;width:8px;height:8px;border-radius:50%;background:#fff;transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference}.cursor-ring{position:absolute;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.5);transform:translate(-50%,-50%);pointer-events:none;transition:width .3s ease,height .3s ease,border-color .3s ease;mix-blend-mode:difference}.cursor.hovering .cursor-ring{width:60px;height:60px;border-color:#fffc}.cursor.clicking .cursor-ring{width:30px;height:30px;border-color:#fff}.logo{position:absolute;top:40px;left:40px;pointer-events:all;z-index:100}.logo img{height:35px;width:auto;opacity:.9;transition:opacity .3s ease}.logo:hover img{opacity:1}#canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.click-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fffc;font-size:18px;font-weight:300;text-align:center;padding:20px 40px;background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;opacity:1;transition:opacity .5s ease}.click-hint.hidden{opacity:0}.click-hint p{margin:0;letter-spacing:1px}.transition-selector-wrapper{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;align-items:center;max-width:90vw}.transition-selector{display:flex;gap:30px;align-items:center;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:10px 20px}.transition-selector::-webkit-scrollbar{display:none}.scroll-arrow{display:none;color:#fff9;font-size:16px;padding:10px;pointer-events:none;flex-shrink:0;transition:opacity .3s ease}.scroll-arrow-left{animation:slideHintLeft 1.5s ease-in-out infinite;opacity:0}.scroll-arrow-right{animation:slideHintRight 1.5s ease-in-out infinite}@keyframes slideHintLeft{0%,to{transform:translate(0)}50%{transform:translate(-5px)}}@keyframes slideHintRight{0%,to{transform:translate(0)}50%{transform:translate(5px)}}.transition-label{color:#fff9;font-size:14px;font-weight:300;letter-spacing:1px;margin-right:20px;white-space:nowrap}.transition-item{color:#ffffff80;font-size:14px;font-weight:300;letter-spacing:2px;text-transform:uppercase;cursor:pointer;pointer-events:all;transition:all .3s ease;padding-bottom:8px;border-bottom:1px solid transparent;white-space:nowrap}.transition-item:hover{color:#fffc}.transition-item.active{color:#fff;border-bottom:1px solid rgba(255,255,255,1)}@media (max-width: 768px){.click-hint{font-size:16px;padding:16px 32px}.transition-selector-wrapper{bottom:30px}.transition-selector{gap:15px;justify-content:flex-start;padding-left:10px;padding-right:10px}.scroll-arrow{display:block}.transition-label{display:none}.transition-item{font-size:11px;letter-spacing:1px}}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:16px;z-index:100}.intro-page{position:fixed;top:0;left:0;width:100%;height:100%;background:#000 url(../bg-texture.jpg) center center / cover no-repeat;z-index:10000;display:flex;align-items:center;justify-content:center;transition:opacity .8s ease,visibility .8s ease}.intro-page.hidden{opacity:0;visibility:hidden;pointer-events:none}.intro-logo{position:absolute;top:40px;left:40px}.intro-content{text-align:center;max-width:600px;padding:20px}.intro-text-wrapper{animation:float 8s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.intro-text{color:#ffffffe6;font-family:Spectral,Times New Roman,Times,serif;font-size:18px;font-weight:300;line-height:1.8;letter-spacing:.5px;margin-bottom:50px}.text-line{display:block;animation:wave 6s ease-in-out infinite;animation-delay:calc(var(--i) * .2s)}@keyframes wave{0%,to{transform:translate(0) translateY(0)}25%{transform:translate(3px) translateY(-2px)}75%{transform:translate(-3px) translateY(2px)}}.intro-cta{background:none;border:none;color:#fff;font-size:16px;font-weight:400;letter-spacing:2px;text-transform:uppercase;padding:10px 0;cursor:pointer;position:relative;transition:opacity .3s ease}.intro-cta:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:#fff}.intro-cta:hover{opacity:.7}.app-hidden{visibility:hidden}.app-visible{visibility:visible}@media (max-width: 768px){.intro-logo{top:30px;left:30px}.intro-text{font-size:15px;line-height:1.7}.intro-cta{font-size:14px}}.pwa-install-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:20000;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .3s ease}.pwa-install-popup.hidden{opacity:0;pointer-events:none}.pwa-install-content{text-align:center;padding:40px;max-width:400px}.pwa-install-text{color:#ffffffe6;font-family:Spectral,serif;font-size:18px;font-weight:300;line-height:1.6;margin-bottom:30px}.pwa-install-buttons{display:flex;flex-direction:column;gap:15px}.pwa-btn{background:none;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:14px;font-weight:400;letter-spacing:2px;text-transform:uppercase;padding:15px 30px;cursor:pointer;transition:all .3s ease}.pwa-btn:hover,.pwa-btn-install{background:#ffffff1a;border-color:#fffc}.pwa-btn-skip{font-size:12px;border:none;opacity:.6}.pwa-btn-skip:hover{background:none;opacity:1}@media (max-width: 768px){.pwa-install-content{padding:30px 20px}.pwa-install-text{font-size:16px}}
