*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px)}html,body{width:100%;height:100%;height:100dvh;background:#84d1f7;overflow:hidden;overscroll-behavior:none;touch-action:none;font-family:Nunito,Segoe UI,sans-serif;position:fixed;inset:0}html:fullscreen,html:-webkit-full-screen,html.is-fullscreen,body:fullscreen,body:-webkit-full-screen,html.is-fullscreen body{width:100vw;height:100vh;width:100dvw;height:100dvh;inset:0;background:#84d1f7}#app{position:fixed;left:var(--vv-left, 0px);top:var(--vv-top, 0px);width:var(--vvw, 100%);height:var(--vvh, 100%);display:block;overflow:hidden;background:#84d1f7}html.is-fullscreen #app,html:fullscreen #app,html:-webkit-full-screen #app{left:0!important;top:0!important;width:100%!important;height:100%!important}#app canvas{display:block;position:absolute;left:0;top:0;image-rendering:auto;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important}html.is-fullscreen #boot-splash,html:fullscreen #boot-splash,html:-webkit-full-screen #boot-splash{display:none!important}#fullscreen-btn{position:fixed;top:calc(var(--vv-top, 0px) + var(--hud-top, 8px));right:calc(var(--vv-right, 0px) + var(--hud-right, 8px));z-index:9000;box-sizing:border-box;width:var(--hud-token, 42px);height:var(--hud-token, 42px);display:flex;align-items:center;justify-content:center;border:2px solid #5a3a20;border-radius:var(--hud-radius, 10px);background:#f3d6a0;box-shadow:2px 3px #5a3a20;cursor:pointer;padding:0}#fullscreen-btn svg{width:52%;height:52%}#fullscreen-btn:hover{background:#f6d49a}#fullscreen-btn:active{transform:translateY(1px)}#fullscreen-btn.is-hidden,body.is-phone-portrait #fullscreen-btn{display:none}#rotate-overlay{display:none;position:fixed;inset:0;z-index:10000;flex-direction:column;overflow:hidden}#rotate-overlay.is-visible{display:flex}@media (orientation: portrait) and (pointer: coarse) and (max-width: 599.98px){#rotate-overlay:not(.is-ready){display:flex}}.rotate-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.rotate-sky{position:absolute;inset:0;background:linear-gradient(180deg,#5aa8d4,#6ec4f0 28%,#84d1f7 55%,#b8e4f8 78%,#94e089 78%,#7ebd90 86%,#6b4d6b 86%,#4a3348)}.rotate-cloud{position:absolute;background:#e8f6ff;border-radius:20px;opacity:.9}.rotate-cloud-a{width:72px;height:18px;top:9%;left:10%;box-shadow:18px -8px #e8f6ff,36px 0 #e8f6ff}.rotate-cloud-b{width:56px;height:14px;top:14%;right:12%;box-shadow:14px -6px #e8f6ff,28px 0 #e8f6ff}.rotate-hills{position:absolute;left:-6%;right:-6%;bottom:22%;height:16%;background:#8ecaa0;clip-path:polygon(0 70%,14% 38%,28% 58%,44% 28%,60% 54%,76% 32%,90% 56%,100% 36%,100% 100%,0 100%)}.rotate-trees{position:absolute;left:7%;right:7%;bottom:18%;height:18%;overflow:visible;pointer-events:none}.rtree{position:absolute;bottom:10px;width:42px;height:42px;border-radius:50%;background:#a6d8b1}.rtree:before{content:"";position:absolute;left:50%;bottom:-12px;width:8px;height:16px;margin-left:-4px;background:linear-gradient(90deg,#3a2414 0 45%,#8a5a32 45% 100%);border-radius:2px}.rtree.t1{left:2%;background:#7ebd90}.rtree.t2{left:30%;width:50px;height:50px;background:#94e089}.rtree.t3{right:30%;background:#7ebd90}.rtree.t4{right:2%;width:38px;height:38px;background:#a6d8b1}.rotate-grass{position:absolute;left:0;right:0;bottom:14%;height:8%;background:#94e089;border-top:3px solid #6fc86a}.rotate-ground{position:absolute;left:0;right:0;bottom:0;height:14%;background:#6b4d6b}.rotate-main{position:relative;z-index:2;flex:1;display:flex;align-items:center;justify-content:center;padding:max(20px,env(safe-area-inset-top,0px)) 20px 16px}.rotate-card{width:min(360px,100%);text-align:center;padding:28px 24px 26px;border:4px solid #4a2c16;border-radius:16px;background:#f3d6a0;box-shadow:0 6px #3a2414,inset 0 0 0 3px #c89030}.rotate-eyebrow{font-family:Nunito,Segoe UI,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;line-height:1.6;color:#5a3a14;margin-bottom:16px;text-transform:uppercase}.rotate-icon{margin:0 auto 16px;width:72px;height:72px;animation:rotate-hint 1.8s ease-in-out infinite}.rotate-icon svg{display:block;margin:0 auto}@keyframes rotate-hint{0%,to{transform:rotate(0)}50%{transform:rotate(-90deg)}}.rotate-title{font-family:Merriweather,Georgia,serif;font-weight:900;font-size:22px;line-height:1.35;color:#140c08;margin-bottom:14px}.rotate-body{font-family:Nunito,Segoe UI,sans-serif;font-size:17px;line-height:1.4;color:#140c08}.rotate-copy{position:relative;z-index:3;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 16px max(14px,env(safe-area-inset-bottom,0px));background:#f3d6a0;border-top:4px solid #4a2c16;text-align:center}.rotate-copy-mark{font-family:Merriweather,Georgia,serif;font-weight:700;font-size:13px;line-height:1.5;color:#140c08}.rotate-copy-sub{font-family:Nunito,Segoe UI,sans-serif;font-size:14px;line-height:1.3;color:#3a2418}@media (max-height: 560px){.rotate-card{padding:20px 18px 18px}.rotate-icon{width:56px;height:56px;margin-bottom:10px}.rotate-icon svg{width:56px;height:56px}.rotate-title{font-size:18px;margin-bottom:10px}.rotate-body{font-size:15px}}#boot-splash{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;pointer-events:none}#boot-splash.is-hidden{display:none}.boot-splash-card{position:relative;z-index:2;width:min(420px,calc(100% - 40px));text-align:center;padding:28px 24px 26px;border:4px solid #4a2c16;border-radius:16px;background:#f3d6a0;box-shadow:0 6px #3a2414,inset 0 0 0 3px #c89030}.boot-splash-eye{font-family:Nunito,Segoe UI,sans-serif;font-weight:700;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#8a5a32;margin-bottom:10px}.boot-splash-title{font-family:Merriweather,Georgia,serif;font-weight:900;font-size:28px;color:#140c08;margin-bottom:10px}.boot-splash-sub{font-family:Nunito,Segoe UI,sans-serif;font-size:16px;color:#5a3a14;margin-bottom:16px}.boot-splash-bar{width:min(220px,70%);height:8px;margin:0 auto;border-radius:4px;background:#4a2c16;overflow:hidden}.boot-splash-bar span{display:block;height:100%;width:36%;border-radius:4px;background:#8a5a32;animation:boot-bar 1.1s ease-in-out infinite}@keyframes boot-bar{0%{transform:translate(-80%)}to{transform:translate(280%)}}.name-entry-wrap{display:none;position:fixed;left:calc(var(--vv-left, 0px) + var(--vvw, 100vw) / 2);top:calc(var(--vv-top, 0px) + var(--name-field-top, 50%));transform:translate(-50%,-50%);z-index:8500;box-sizing:border-box;width:var(--name-field-width, min(260px, calc(var(--vvw, 100vw) - 72px)));max-width:calc(var(--vvw, 100vw) - 48px);min-width:0;overflow:visible;pointer-events:none}.name-entry-wrap.is-on{display:block}.name-entry{display:block;position:relative;z-index:2;box-sizing:border-box;width:100%;padding:clamp(8px,1.6vh,12px) clamp(12px,1.8vh,16px);font-family:Nunito,Segoe UI,sans-serif;font-weight:700;font-size:clamp(16px,3.2vh,22px);letter-spacing:.3px;text-align:center;color:#140c08;background:#fff8e8;border:3px solid #3a2414;border-radius:8px;outline:none;pointer-events:auto}.name-entry::placeholder{color:#5a4030;opacity:1}.name-entry:focus{border-color:#140c08;background:#fffdf6}.name-entry-wrap.is-invalid .name-entry{border-color:#8b1810}.name-entry-error{display:none;position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%);z-index:3;box-sizing:border-box;margin:0;width:max-content;max-width:100%;padding:6px 10px 7px;font-family:Nunito,Segoe UI,sans-serif;font-weight:700;font-size:clamp(12px,2.4vh,16px);line-height:1.25;white-space:normal;text-align:center;color:#8b1810;background:#fff8e8;border:2px solid #3a2414;border-radius:8px;box-shadow:0 3px #3a2414;pointer-events:none}.name-entry-wrap.is-invalid .name-entry-error{display:block}.name-entry-error:before,.name-entry-error:after{content:"";position:absolute;left:50%;transform:translate(-50%);width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent}.name-entry-error:before{top:-8px;border-bottom:8px solid #3a2414}.name-entry-error:after{top:-5px;border-bottom:8px solid #fff8e8}
