*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;background:#111;width:100%;height:100%;font-family:sans-serif;overflow:hidden}.canvas-container{width:100vw;height:100vh}.loading-text{color:#fff;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;font-family:monospace;font-size:1.5rem;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-text p{align-items:center;animation:1s infinite loading-dot;display:flex}.loading-note{color:#ffffff8c;letter-spacing:.08em;text-align:center;margin-top:14px;font-size:.78rem;font-weight:400;line-height:1.6;animation-delay:0s;animation:none!important;display:block!important}.loading-dot{animation:1s infinite loading-dot;display:inline-block}@keyframes loading-dot{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes pinboard-drop{0%{opacity:0;transform:translateY(-28px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}.mobile-lag-banner{z-index:900;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 9px,100% calc(100% - 9px),calc(100% - 10px) 100%,10px 100%,0 calc(100% - 9px),0 9px);filter:drop-shadow(0 5px 10px #28140061);background:linear-gradient(#f0e5c5 0%,#ddcb9f 55%,#c0aa79 100%);border:2px solid #8a6d3f;align-items:center;gap:12px;width:fit-content;max-width:min(92vw,560px);padding:10px 14px 10px 15px;animation:.4s cubic-bezier(.34,1.56,.64,1) both mobile-banner-drop;display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.mobile-lag-banner:before{content:"";pointer-events:none;clip-path:polygon(7px 0,calc(100% - 7px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 7px) 100%,7px 100%,0 calc(100% - 6px),0 6px);border:1.5px solid #4a351773;position:absolute;inset:3px}.mobile-lag-banner>*{z-index:1;position:relative}@keyframes mobile-banner-drop{0%{opacity:0;transform:translate(-50%)translateY(-28px)scale(.94)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.mobile-lag-banner-seal{writing-mode:vertical-rl;letter-spacing:.15em;color:#fdf3dd;text-shadow:0 1px 2px #5a0a0580;background:#c0392b;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:30px;padding:5px 0;font-family:Noto Serif JP,serif;font-size:.82rem;font-weight:700;line-height:1;display:flex;transform:rotate(-3deg);box-shadow:inset 0 0 0 1.5px #fff0dc8c,0 2px 5px #78140a66}.mobile-lag-banner-text{color:#4a3517;letter-spacing:.02em;text-align:center;font-family:IM Fell English,Georgia,serif;font-size:.86rem;line-height:1.5}.mobile-lag-banner-text strong{color:#8c2d1e;font-weight:700}.mobile-lag-banner-close{color:#4a3517;cursor:pointer;background:radial-gradient(circle at 35% 30%,#e8d9b5,#c9b48a 60%,#a68d5c);border:1.5px solid #4a35178c;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:.68rem;font-weight:700;line-height:1;transition:filter .15s,transform .1s;display:flex;box-shadow:inset 0 1px #fff9,inset 0 -1px #5d472666}.mobile-lag-banner-close:hover{filter:brightness(1.12);transform:scale(1.08)}.mobile-lag-banner-close:active{transform:scale(.94)}
