:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f1f0e9;background:#070b0d;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #f1f0e9;--muted: #9aa4a2;--muted-bright: #b8c0bc;--line: rgba(225, 239, 232, .15);--panel: rgba(8, 14, 16, .78);--panel-solid: #0c1517;--aqua: #89ecdf;--aqua-dim: rgba(137, 236, 223, .16);--amber: #ffb65d;--danger: #ff806c}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}body{background:#070b0d}button{font:inherit}.game-shell{position:relative;width:100%;height:100%;min-height:560px;overflow:hidden;background:#070b0d;isolation:isolate}.game-shell,.game-shell *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.globe-view,.cesium-viewer,.cesium-widget,.cesium-widget canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%!important;height:100%!important}.globe-view{touch-action:none}.globe-view--country-pick .cesium-widget canvas{cursor:pointer}.puppy-companion{position:fixed;top:54%;left:50%;z-index:2;width:154px;height:103px;pointer-events:none;opacity:var(--puppy-opacity);transform:translate(-50%,-86%) rotate(var(--puppy-rotation)) scale(var(--puppy-scale));transform-origin:50% 86%;transition:opacity .24s ease;will-change:left,top,transform;filter:drop-shadow(0 12px 11px rgba(0,0,0,.27));--puppy-scale: .08;--puppy-rotation: 0deg;--puppy-heading-rotation: 0deg;--puppy-facing-scale: 1;--puppy-opacity: 0;visibility:hidden;--puppy-frame-duration: 1.2s;--puppy-delay-01: 0s;--puppy-delay-02: 0s;--puppy-delay-03: 0s}.puppy-companion--running{--puppy-frame-duration: .82s}.puppy-companion--swimming{--puppy-frame-duration: 1.1s;--puppy-delay-01: 0s;--puppy-delay-02: -.733s;--puppy-delay-03: -.367s}.puppy-companion--perfect{filter:drop-shadow(0 12px 11px rgba(2,8,9,.3)) drop-shadow(0 0 19px rgba(255,209,102,.86))}.puppy-companion__speech-anchor{position:fixed;z-index:8;pointer-events:none;transform:translate(-50%,-100%)}.puppy-companion__speech{position:relative;display:inline-flex;align-items:center;min-height:36px;padding:9px 14px;border:1px solid rgba(54,37,24,.18);border-radius:999px;background:#fff1d2;box-shadow:0 5px 15px #02080947;color:#3c281d;font-size:13px;font-weight:900;letter-spacing:.035em;line-height:1;white-space:nowrap;animation:puppy-speech-pop .18s ease-out both}.puppy-companion__speech--perfect{min-height:44px;padding:11px 17px;border:2px solid #fff3c7;background:linear-gradient(135deg,#fff2c4,#ffd166);box-shadow:0 0 22px #ffd166b8,0 6px 18px #0208096b;color:#38220b;font-size:15px;letter-spacing:.045em}.puppy-companion__perfect-emoji{margin-left:3px;font-size:38px;letter-spacing:0;line-height:.9}.puppy-companion__speech:after{position:absolute;bottom:-5px;left:calc(50% - 5px);width:9px;height:9px;border-right:1px solid rgba(54,37,24,.18);border-bottom:1px solid rgba(54,37,24,.18);background:#fff1d2;content:"";transform:rotate(45deg)}.puppy-companion__speech--perfect:after{border-color:#fff3c7;background:#ffd166}.puppy-companion__shadow{position:absolute;right:14px;bottom:9px;left:13px;height:10px;border-radius:50%;background:#0208097a;filter:blur(3px);transform:scaleX(.88)}.puppy-companion__photo-stage{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotate(var(--puppy-heading-rotation));transform-origin:50% 86%;will-change:transform}.puppy-companion__frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background-position:center;background-repeat:no-repeat;background-size:contain;opacity:0;transform:scaleX(var(--puppy-facing-scale, 1))}.puppy-companion__frame--walk{overflow:hidden}.puppy-companion__walk-atlas{position:absolute;top:0;left:0;width:300%;height:400%;max-width:none;object-fit:fill;transform:translate(0)}.puppy-companion__frame--swim-01{background-image:url(/assets/puppy-swim-01.webp)}.puppy-companion__frame--swim-02{background-image:url(/assets/puppy-swim-02.webp)}.puppy-companion__frame--swim-03{background-image:url(/assets/puppy-swim-03.webp)}.puppy-companion__frame--celebrate{background-image:url(/assets/puppy-celebrate-look-up.webp)}.puppy-companion__frame--snow{background-image:url(/assets/puppy-snow-shiver.webp)}.puppy-companion__frame--rest-01{background-image:url(/assets/puppy-rest-01.webp)}.puppy-companion__frame--rest-02{background-image:url(/assets/puppy-rest-02.webp)}.puppy-companion--idle .puppy-companion__photo-stage{animation:puppy-rest-breathe 3.8s ease-in-out infinite}.puppy-companion--walking .puppy-companion__photo-stage{animation:puppy-photo-walk 1.2s ease-in-out infinite}.puppy-companion--running .puppy-companion__photo-stage{animation:puppy-photo-run .82s ease-in-out infinite}.puppy-companion--swimming .puppy-companion__photo-stage{animation:puppy-photo-swim 1.1s ease-in-out infinite}.puppy-companion--celebrating .puppy-companion__photo-stage{animation:puppy-photo-look-up .72s ease-out forwards}.puppy-companion--resting .puppy-companion__photo-stage{animation:puppy-rest-breathe 3.8s ease-in-out infinite}.puppy-companion--walking .puppy-companion__frame--walk,.puppy-companion--running .puppy-companion__frame--walk{opacity:1}.puppy-companion--walking .puppy-companion__walk-atlas,.puppy-companion--running .puppy-companion__walk-atlas{animation:puppy-walk-atlas-cycle var(--puppy-frame-duration) steps(1,end) infinite;will-change:transform}.puppy-companion--swimming .puppy-companion__frame--swim-01,.puppy-companion--swimming .puppy-companion__frame--swim-02,.puppy-companion--swimming .puppy-companion__frame--swim-03{animation-name:puppy-swim-frame-cycle;animation-duration:var(--puppy-frame-duration);animation-iteration-count:infinite;animation-timing-function:steps(1,end)}.puppy-companion--swimming .puppy-companion__frame--swim-01{animation-delay:var(--puppy-delay-01)}.puppy-companion--swimming .puppy-companion__frame--swim-02{animation-delay:var(--puppy-delay-02)}.puppy-companion--swimming .puppy-companion__frame--swim-03{animation-delay:var(--puppy-delay-03)}.puppy-companion--celebrating .puppy-companion__frame--celebrate{opacity:1}.puppy-companion--resting .puppy-companion__frame--rest-01,.puppy-companion--resting .puppy-companion__frame--rest-02{animation-name:puppy-rest-frame-cycle;animation-duration:3.4s;animation-iteration-count:infinite;animation-timing-function:steps(1,end)}.puppy-companion--resting .puppy-companion__frame--rest-01{animation-delay:0s}.puppy-companion--resting .puppy-companion__frame--rest-02{animation-delay:-1.7s}.puppy-companion--idle:not(.puppy-companion--snow) .puppy-companion__frame--rest-01{opacity:1}.puppy-companion--idle.puppy-companion--snow .puppy-companion__photo-stage{animation:puppy-shiver .42s ease-in-out infinite}.puppy-companion--idle.puppy-companion--snow .puppy-companion__frame--snow{opacity:1}.puppy-companion__svg,.puppy-companion--cat .puppy-companion__photo-stage,.puppy-companion--cat .puppy-companion__sniff-trail{display:none}.cat-companion__svg{display:block;width:100%;height:100%;overflow:visible;transform:rotate(var(--puppy-heading-rotation)) scaleX(var(--puppy-facing-scale, 1));transform-origin:50% 86%}.cat-companion__art,.cat-companion__body,.cat-companion__head,.cat-companion__legs,.cat-companion__leg,.cat-companion__lower-leg,.cat-companion__tail-group,.cat-companion__tail,.cat-companion__ear,.cat-companion__eyes,.cat-companion__whiskers{transform-box:fill-box}.cat-companion__art{transform-origin:50% 90%}.cat-companion__tail-group{transform-origin:86% 90%}.cat-companion__leg{transform-origin:50% 12%}.cat-companion__lower-leg{transform-origin:50% 8%}.cat-companion__head{transform-origin:46% 76%}.cat-companion__ear--front{transform-origin:90% 92%}.cat-companion__eyes{transform-origin:50% 50%}.puppy-companion--cat .puppy-companion__speech{border-color:#5a49432e;background:#f5eee8;color:#382a25}.puppy-companion--cat .puppy-companion__speech:after{border-color:#5a49432e;background:#f5eee8}.puppy-companion--perfect.puppy-companion--cat .puppy-companion__speech--perfect{border-color:#fff3c7;background:linear-gradient(135deg,#fff2c4,#ffd166);color:#38220b}.puppy-companion--perfect.puppy-companion--cat .puppy-companion__speech--perfect:after{border-color:#fff3c7;background:#ffd166}.puppy-companion--idle.puppy-companion--cat .cat-companion__art{animation:cat-idle-bob 1.9s ease-in-out infinite}.puppy-companion--walking.puppy-companion--cat .cat-companion__art{animation:cat-walk-bob .52s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__art{animation:cat-run-bob .28s ease-in-out infinite}.puppy-companion--swimming.puppy-companion--cat .cat-companion__art{animation:cat-swim-paddle .64s ease-in-out infinite}.puppy-companion--celebrating.puppy-companion--cat .cat-companion__art{animation:cat-celebrate-hop .56s ease-in-out infinite}.puppy-companion--perfect.puppy-companion--celebrating.puppy-companion--cat .cat-companion__svg{animation:cat-perfect-twirl 1.2s cubic-bezier(.22,.61,.36,1) 1}.puppy-companion--resting.puppy-companion--cat .cat-companion__art{animation:cat-rest-loaf 3.2s ease-in-out infinite}.puppy-companion--idle.puppy-companion--cat .cat-companion__tail-group,.puppy-companion--walking.puppy-companion--cat .cat-companion__tail-group{animation:cat-tail-flick 1.35s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__tail-group,.puppy-companion--celebrating.puppy-companion--cat .cat-companion__tail-group{animation:cat-tail-flick .31s ease-in-out infinite}.puppy-companion--swimming.puppy-companion--cat .cat-companion__tail-group{animation:cat-tail-paddle .6s ease-in-out infinite}.puppy-companion--resting.puppy-companion--cat .cat-companion__tail-group{animation:cat-tail-rest 2.1s ease-in-out infinite}.puppy-companion--idle.puppy-companion--cat .cat-companion__head,.puppy-companion--walking.puppy-companion--cat .cat-companion__head{animation:cat-curious-look 3.2s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__head{animation:cat-run-head .28s ease-in-out infinite}.puppy-companion--idle.puppy-companion--cat .cat-companion__ear--front{animation:cat-ear-twitch 3.8s ease-in-out infinite}.puppy-companion--idle.puppy-companion--cat .cat-companion__eyes,.puppy-companion--walking.puppy-companion--cat .cat-companion__eyes{animation:cat-blink 5.2s linear infinite}.puppy-companion--idle.puppy-companion--cat .cat-companion__whiskers{animation:cat-whisker-twitch 2.6s ease-in-out infinite}.puppy-companion--walking.puppy-companion--cat .cat-companion__leg--back-a,.puppy-companion--walking.puppy-companion--cat .cat-companion__leg--front-b{animation:cat-step-a .52s ease-in-out infinite}.puppy-companion--walking.puppy-companion--cat .cat-companion__leg--back-b,.puppy-companion--walking.puppy-companion--cat .cat-companion__leg--front-a{animation:cat-step-b .52s ease-in-out infinite}.puppy-companion--walking.puppy-companion--cat .cat-companion__lower-leg--back-a,.puppy-companion--walking.puppy-companion--cat .cat-companion__lower-leg--front-b{animation:cat-knee-flex-a .52s ease-in-out infinite}.puppy-companion--walking.puppy-companion--cat .cat-companion__lower-leg--back-b,.puppy-companion--walking.puppy-companion--cat .cat-companion__lower-leg--front-a{animation:cat-knee-flex-b .52s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__leg--back-a,.puppy-companion--running.puppy-companion--cat .cat-companion__leg--front-b{animation:cat-step-a .28s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__leg--back-b,.puppy-companion--running.puppy-companion--cat .cat-companion__leg--front-a{animation:cat-step-b .28s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__lower-leg--back-a,.puppy-companion--running.puppy-companion--cat .cat-companion__lower-leg--front-b{animation:cat-knee-flex-a .28s ease-in-out infinite}.puppy-companion--running.puppy-companion--cat .cat-companion__lower-leg--back-b,.puppy-companion--running.puppy-companion--cat .cat-companion__lower-leg--front-a{animation:cat-knee-flex-b .28s ease-in-out infinite}.puppy-companion--swimming.puppy-companion--cat .cat-companion__leg--back-a,.puppy-companion--swimming.puppy-companion--cat .cat-companion__leg--front-b{animation:cat-paw-paddle .3s ease-in-out infinite}.puppy-companion--swimming.puppy-companion--cat .cat-companion__leg--back-b,.puppy-companion--swimming.puppy-companion--cat .cat-companion__leg--front-a{animation:cat-paw-paddle .3s ease-in-out .15s infinite}.puppy-companion--swimming.puppy-companion--cat .cat-companion__lower-leg--back-a,.puppy-companion--swimming.puppy-companion--cat .cat-companion__lower-leg--front-b{animation:cat-knee-paddle .3s ease-in-out infinite}.puppy-companion--swimming.puppy-companion--cat .cat-companion__lower-leg--back-b,.puppy-companion--swimming.puppy-companion--cat .cat-companion__lower-leg--front-a{animation:cat-knee-paddle .3s ease-in-out .15s infinite}.puppy-companion--resting.puppy-companion--cat .cat-companion__legs{transform:translateY(-7px) scaleY(.62);transform-origin:center bottom}.puppy-companion--snow.puppy-companion--cat .cat-companion__art{animation:puppy-shiver .42s ease-in-out infinite}.puppy-companion--snow.puppy-companion--cat .cat-companion__tail-group{animation:cat-tail-flick 1.35s ease-in-out infinite}.puppy-companion__art{transform-box:fill-box;transform-origin:50% 90%}.puppy-companion__body,.puppy-companion__head,.puppy-companion__chest,.puppy-companion__muzzle,.puppy-companion__blaze,.puppy-companion__ear,.puppy-companion__eye,.puppy-companion__eye-glint,.puppy-companion__nose,.puppy-companion__smile,.puppy-companion__tongue,.puppy-companion__collar,.puppy-companion__tag{transform-box:fill-box}.puppy-companion--idle .puppy-companion__art{animation:puppy-idle-bob 1.65s ease-in-out infinite}.puppy-companion--running .puppy-companion__art{animation:puppy-run-bob .26s ease-in-out infinite}.puppy-companion--celebrating .puppy-companion__art{animation:puppy-celebrate-bounce .54s ease-in-out infinite}.puppy-companion__tail{transform-box:fill-box;transform-origin:84% 55%}.puppy-companion--idle .puppy-companion__tail{animation:puppy-tail-wag .78s ease-in-out infinite}.puppy-companion--running .puppy-companion__tail{animation:puppy-tail-wag .32s ease-in-out infinite}.puppy-companion--celebrating .puppy-companion__tail{animation:puppy-tail-wag 155ms ease-in-out infinite}.puppy-companion__head{transform-origin:45% 72%;transform-box:fill-box}.puppy-companion--idle .puppy-companion__head{animation:puppy-sniff 2.25s ease-in-out infinite}.puppy-companion--running .puppy-companion__head{animation:puppy-run-head .26s ease-in-out infinite}.puppy-companion--celebrating .puppy-companion__head{animation:puppy-look-up .7s ease-out forwards}.puppy-companion__legs{transform-box:fill-box;transform-origin:45% 50%}.puppy-companion__leg{transform-box:fill-box}.puppy-companion--idle .puppy-companion__leg--back-a,.puppy-companion--idle .puppy-companion__leg--front-b{animation:puppy-step-a .52s ease-in-out infinite}.puppy-companion--idle .puppy-companion__leg--back-b,.puppy-companion--idle .puppy-companion__leg--front-a{animation:puppy-step-b .52s ease-in-out .26s infinite}.puppy-companion--running .puppy-companion__leg--back-a,.puppy-companion--running .puppy-companion__leg--front-b{animation:puppy-step-a .23s ease-in-out infinite}.puppy-companion--running .puppy-companion__leg--back-b,.puppy-companion--running .puppy-companion__leg--front-a{animation:puppy-step-b .23s ease-in-out 115ms infinite}.puppy-companion__sniff-trail{position:absolute;top:32px;right:-2px;width:24px;height:30px;opacity:0;transform:rotate(var(--puppy-heading-rotation));transform-origin:50% 86%}.puppy-companion__sniff-trail:before,.puppy-companion__sniff-trail:after{position:absolute;width:7px;height:7px;border:1.5px solid rgba(241,240,233,.78);border-radius:50%;content:""}.puppy-companion__sniff-trail:before{top:9px;right:3px}.puppy-companion__sniff-trail:after{top:0;right:13px;width:4px;height:4px}.puppy-companion--idle .puppy-companion__sniff-trail{animation:puppy-sniff-puffs 2.25s ease-in-out infinite}.puppy-companion--walking .puppy-companion__sniff-trail{animation:puppy-sniff-puffs 2.8s ease-in-out infinite}.puppy-companion--running .puppy-companion__sniff-trail,.puppy-companion--swimming .puppy-companion__sniff-trail,.puppy-companion--celebrating .puppy-companion__sniff-trail{display:none}.puppy-companion__water-ripple{position:absolute;right:17px;bottom:4px;left:16px;height:17px;border:1px solid rgba(183,235,255,.62);border-radius:50%;opacity:0;transform:scaleX(.72) scaleY(.34);box-shadow:0 0 0 3px #b7ebff2e,0 0 0 7px #b7ebff1a;transform-origin:center}.puppy-companion--swimming .puppy-companion__shadow{opacity:.34;transform:scaleX(.72) scaleY(.72)}.puppy-companion--swimming .puppy-companion__water-ripple{animation:puppy-water-ripple 1.1s ease-out infinite}.puppy-companion__snow-breath{position:absolute;top:28px;right:-2px;width:19px;height:13px;opacity:0;border-radius:50%;background:radial-gradient(circle at 25% 52%,rgba(255,255,255,.82) 0 17%,transparent 20%),radial-gradient(circle at 55% 38%,rgba(255,255,255,.64) 0 21%,transparent 24%),radial-gradient(circle at 76% 62%,rgba(255,255,255,.52) 0 16%,transparent 20%);filter:blur(.3px);transform:translate3d(0,5px,0) scale(.68);transform-origin:left center}.puppy-companion--snow .puppy-companion__snow-breath{animation:puppy-snow-breath 2.4s ease-out infinite}@keyframes cat-idle-bob{0%,to{transform:translate3d(0,1px,0) rotate(-.5deg)}50%{transform:translate3d(1px,-2px,0) rotate(.6deg)}}@keyframes cat-walk-bob{0%,to{transform:translate3d(0,.5px,0) rotate(-.25deg)}50%{transform:translate3d(0,-1.3px,0) rotate(.35deg)}}@keyframes cat-run-bob{0%,to{transform:translate3d(0,1px,0) rotate(-1.4deg)}50%{transform:translate3d(0,-2px,0) rotate(1.4deg)}}@keyframes cat-swim-paddle{0%,to{transform:translate3d(0,1px,0) rotate(-2deg) scaleY(.94)}50%{transform:translate3d(0,-2px,0) rotate(2deg) scaleY(.96)}}@keyframes cat-celebrate-hop{0%,to{transform:translate3d(0,1px,0) rotate(-1.4deg) scale(1)}50%{transform:translate3d(0,-8px,0) rotate(1.4deg) scale(1.02)}}@keyframes cat-perfect-twirl{0%{transform:rotate(var(--puppy-heading-rotation)) scaleX(var(--puppy-facing-scale, 1)) rotate(0)}66%{transform:rotate(var(--puppy-heading-rotation)) scaleX(var(--puppy-facing-scale, 1)) rotate(380deg)}to{transform:rotate(var(--puppy-heading-rotation)) scaleX(var(--puppy-facing-scale, 1)) rotate(360deg)}}@keyframes cat-rest-loaf{0%,to{transform:translate3d(0,2px,0) scaleY(.96)}50%{transform:translate3d(0,1px,0) scaleY(.92)}}@keyframes cat-tail-flick{0%,to{transform:rotate(-7deg)}50%{transform:rotate(12deg)}}@keyframes cat-tail-paddle{0%,to{transform:rotate(-16deg) translateY(0)}50%{transform:rotate(8deg) translateY(1px)}}@keyframes cat-tail-rest{0%,to{transform:rotate(10deg)}50%{transform:rotate(22deg)}}@keyframes cat-curious-look{0%,72%,to{transform:rotate(0)}80%{transform:rotate(-5deg)}88%{transform:rotate(3deg)}}@keyframes cat-run-head{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes cat-ear-twitch{0%,92%,to{transform:rotate(0)}95%{transform:rotate(-8deg)}98%{transform:rotate(5deg)}}@keyframes cat-blink{0%,91%,94%,to{transform:scaleY(1)}92%,93%{transform:scaleY(.08)}}@keyframes cat-whisker-twitch{0%,86%,to{transform:rotate(0)}92%{transform:rotate(2deg)}}@keyframes cat-step-a{0%,to{transform:rotate(-8deg) translateY(0)}34%{transform:rotate(-2deg) translateY(-.5px)}50%{transform:rotate(9deg) translateY(-1.5px)}72%{transform:rotate(4deg) translateY(-.5px)}}@keyframes cat-step-b{0%,to{transform:rotate(8deg) translateY(0)}34%{transform:rotate(2deg) translateY(-.5px)}50%{transform:rotate(-9deg) translateY(-1.5px)}72%{transform:rotate(-4deg) translateY(-.5px)}}@keyframes cat-knee-flex-a{0%,to{transform:rotate(0)}36%{transform:rotate(-5deg)}54%{transform:rotate(9deg)}72%{transform:rotate(3deg)}}@keyframes cat-knee-flex-b{0%,to{transform:rotate(0)}36%{transform:rotate(5deg)}54%{transform:rotate(-9deg)}72%{transform:rotate(-3deg)}}@keyframes cat-knee-paddle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(10deg) translateY(1px)}}@keyframes cat-paw-paddle{0%,to{transform:rotate(-15deg) translateY(0)}50%{transform:rotate(16deg) translateY(2px)}}@keyframes puppy-idle-bob{0%,to{transform:translate3d(0,1px,0) rotate(-1deg)}50%{transform:translate3d(5px,-2px,0) rotate(1deg)}}@keyframes puppy-photo-walk{0%,to{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,1px,0) rotate(-.8deg)}50%{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,-1px,0) rotate(.8deg)}}@keyframes puppy-photo-run{0%,to{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,1px,0) rotate(-1.4deg)}50%{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,-2px,0) rotate(1.4deg)}}@keyframes puppy-photo-swim{0%,to{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,1px,0) rotate(-1deg)}50%{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,-2px,0) rotate(1deg)}}@keyframes puppy-photo-look-up{0%{transform:rotate(var(--puppy-heading-rotation)) rotate(0) translateY(0)}45%{transform:rotate(var(--puppy-heading-rotation)) rotate(-8deg) translateY(-3px)}to{transform:rotate(var(--puppy-heading-rotation)) rotate(-5deg) translateY(-2px)}}@keyframes puppy-rest-breathe{0%,to{transform:rotate(var(--puppy-heading-rotation)) translateZ(0) scale(1)}50%{transform:rotate(var(--puppy-heading-rotation)) translate3d(0,-1px,0) scale(1.008)}}@keyframes puppy-rest-frame-cycle{0%,49.999%{opacity:1}50%,to{opacity:0}}@keyframes puppy-frame-base{0%,49.999%{opacity:1}50%,to{opacity:0}}@keyframes puppy-frame-step{0%,49.999%{opacity:0}50%,to{opacity:1}}@keyframes puppy-walk-atlas-cycle{0%{transform:translate(0)}8.333%{transform:translate(-33.333%)}16.666%{transform:translate(-66.666%)}24.999%{transform:translateY(-25%)}33.332%{transform:translate(-33.333%,-25%)}41.665%{transform:translate(-66.666%,-25%)}49.998%{transform:translateY(-50%)}58.331%{transform:translate(-33.333%,-50%)}66.664%{transform:translate(-66.666%,-50%)}74.997%{transform:translateY(-75%)}83.33%{transform:translate(-33.333%,-75%)}91.663%{transform:translate(-66.666%,-75%)}to{transform:translate(0)}}@keyframes puppy-swim-frame-cycle{0%,33.333%{opacity:1}33.334%,to{opacity:0}}@keyframes puppy-shiver{0%,to{transform:rotate(var(--puppy-heading-rotation)) translateZ(0) rotate(-1deg)}25%{transform:rotate(var(--puppy-heading-rotation)) translate3d(-1px,.5px,0) rotate(1deg)}50%{transform:rotate(var(--puppy-heading-rotation)) translate3d(1px,0,0) rotate(-1deg)}75%{transform:rotate(var(--puppy-heading-rotation)) translate3d(-.5px,-.5px,0) rotate(1deg)}}@keyframes puppy-run-bob{0%,to{transform:translate3d(0,1px,0) rotate(-2deg)}50%{transform:translate3d(3px,-3px,0) rotate(2deg)}}@keyframes puppy-celebrate-bounce{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(0,-3px,0) rotate(-1deg)}}@keyframes puppy-tail-wag{0%,to{transform:rotate(-18deg)}50%{transform:rotate(24deg)}}@keyframes puppy-sniff{0%,55%,to{transform:rotate(0) translateY(0)}70%{transform:rotate(7deg) translateY(2px)}82%{transform:rotate(10deg) translateY(3px)}}@keyframes puppy-run-head{0%,to{transform:rotate(-1deg)}50%{transform:rotate(4deg)}}@keyframes puppy-look-up{0%{transform:rotate(0) translateY(0)}45%{transform:rotate(-13deg) translateY(-3px)}to{transform:rotate(-9deg) translateY(-2px)}}@keyframes puppy-step-a{0%,to{transform:rotate(8deg) translateY(0)}50%{transform:rotate(-13deg) translateY(-2px)}}@keyframes puppy-step-b{0%,to{transform:rotate(-10deg) translateY(-1px)}50%{transform:rotate(11deg) translateY(0)}}@keyframes puppy-sniff-puffs{0%,to{opacity:0;transform:translate3d(0,5px,0) scale(.7)}55%{opacity:.72;transform:translate3d(3px,0,0) scale(1)}75%{opacity:.14;transform:translate3d(7px,-7px,0) scale(1.16)}}@keyframes puppy-water-ripple{0%,to{opacity:.12;transform:scaleX(.6) scaleY(.28)}45%{opacity:.72;transform:scaleX(.86) scaleY(.52)}80%{opacity:.2;transform:scaleX(1.08) scaleY(.72)}}@keyframes puppy-snow-breath{0%,to{opacity:0;transform:translate3d(0,5px,0) scale(.68)}34%{opacity:.88;transform:translate3d(3px,0,0) scale(1)}68%{opacity:.18;transform:translate3d(8px,-4px,0) scale(1.22)}}@keyframes puppy-speech-pop{0%{opacity:0;transform:translateY(4px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.puppy-companion--idle .puppy-companion__art,.puppy-companion--walking .puppy-companion__art,.puppy-companion--running .puppy-companion__art,.puppy-companion--swimming .puppy-companion__art,.puppy-companion--celebrating .puppy-companion__art,.puppy-companion--resting .puppy-companion__art,.puppy-companion__photo-stage,.puppy-companion__frame,.puppy-companion__tail,.puppy-companion__head,.puppy-companion__leg,.puppy-companion--cat .cat-companion__art,.puppy-companion--perfect.puppy-companion--celebrating.puppy-companion--cat .cat-companion__svg,.puppy-companion--perfect.puppy-companion--celebrating.puppy-companion--cat .cat-companion__art,.puppy-companion--cat .cat-companion__tail-group,.puppy-companion--cat .cat-companion__head,.puppy-companion--cat .cat-companion__leg,.puppy-companion--cat .cat-companion__ear,.puppy-companion--cat .cat-companion__eyes,.puppy-companion--cat .cat-companion__whiskers,.puppy-companion__sniff-trail,.puppy-companion__water-ripple,.puppy-companion__snow-breath,.puppy-companion__speech{animation:none}.puppy-companion--idle:not(.puppy-companion--snow) .puppy-companion__frame--rest-01,.puppy-companion--walking .puppy-companion__frame--walk,.puppy-companion--running .puppy-companion__frame--walk{opacity:1}.puppy-companion__walk-atlas{animation:none!important}.puppy-companion--swimming .puppy-companion__frame--swim-01,.puppy-companion--celebrating .puppy-companion__frame--celebrate,.puppy-companion--resting .puppy-companion__frame--rest-01,.puppy-companion--idle.puppy-companion--snow .puppy-companion__frame--snow{opacity:1}}.globe-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:#070b0d}.globe-placeholder:before{position:absolute;top:50%;left:50%;width:min(84vw,1020px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 28%,rgba(194,211,176,.26),transparent 20%),radial-gradient(circle at 63% 57%,rgba(77,153,151,.34),transparent 30%),radial-gradient(circle at 50% 48%,#2a626b,#163942 43%,#0a1b23 72%,#061014);box-shadow:inset -30px -22px 80px #00000073,inset 18px 15px 50px #97d5cc2e,0 0 80px #499a9b1f;content:"";transform:translate(-50%,-50%)}.game-shell .cesium-viewer-bottom{position:fixed!important;top:auto!important;right:max(12px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;left:auto!important;z-index:2;width:max-content!important;max-width:min(320px,calc(100vw - 24px));padding:3px 7px;border-radius:4px;background:#0307088f;color:#ffffffc7;font-size:9px;line-height:1.3;pointer-events:auto;text-align:right;text-shadow:0 1px 3px rgba(0,0,0,.95);transform:none!important;white-space:normal}.game-shell .cesium-viewer .cesium-widget-credits{opacity:1;font-size:inherit!important;color:inherit!important}.game-shell .cesium-viewer .cesium-widget-credits a{color:#ffffffe6!important;text-decoration:underline;text-underline-offset:2px}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,#04080acc,#04080a0d 24%,#04080a0a 68%,#04080ae0),radial-gradient(circle at 50% 40%,transparent 35%,rgba(3,7,8,.32) 100%)}.top-bar,.hud,.result-strip,.result-panel,.modal-card,.feed-warning{z-index:3}.top-bar{position:absolute;top:26px;left:30px;right:30px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand-lockup,.top-bar__status,.hud-kicker,.modal-card__overline,.target-card__eyebrow,.result-panel__eyebrow,.result-panel__stats span{letter-spacing:.12em;text-transform:uppercase}.brand-lockup{display:flex;align-items:center;gap:8px;color:#f1f0e9f5;font-size:12px;font-weight:700}.brand-lockup--debug-trigger{padding:0;border:0;border-radius:0;background:transparent;cursor:default;pointer-events:auto;text-align:left}.brand-mark{display:block;width:24px;height:24px;margin-right:2px;border-radius:6px;flex:0 0 24px}.top-bar__status{display:flex;align-items:center;gap:8px;color:#f1f0e994;font-size:10px;font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--muted);box-shadow:0 0 0 3px #9aa4a214}.status-dot--ready,.status-dot--locked{background:var(--aqua);box-shadow:0 0 0 3px var(--aqua-dim),0 0 16px #89ecdfb8}.status-dot--locked{background:var(--amber);box-shadow:0 0 0 3px #ffb65d21,0 0 16px #ffb65da6}.status-dot--loading{animation:blink 1.2s ease-in-out infinite}.status-dot--error{background:var(--danger)}.hud--top-left{position:absolute;top:86px;left:30px;width:min(380px,calc(100vw - 60px))}.hud-kicker{margin-bottom:14px;color:#f1f0e9a8;font-size:10px;font-weight:700}.target-card{max-width:355px;padding:18px 19px 17px;border:1px solid var(--line);border-left:2px solid var(--aqua);background:linear-gradient(135deg,#071011d4,#070b0d94);box-shadow:0 18px 48px #0003;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.target-card__eyebrow{margin-bottom:12px;color:var(--aqua);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:none}.target-card__name{margin:0;color:var(--ink);font-size:clamp(27px,calc(3vw + 1px),35px);font-weight:500;letter-spacing:-.045em;line-height:1.08}.target-card__story-clue{max-width:34ch;margin:8px 0 0;color:var(--muted-bright);font-size:12px;font-weight:500;line-height:1.35}.score-readout--bottom-right{position:absolute;right:max(30px,calc(env(safe-area-inset-right) + 20px));bottom:max(64px,calc(env(safe-area-inset-bottom) + 54px));z-index:3;display:flex;align-items:baseline;gap:10px;max-width:calc(100vw - 24px);padding:12px 18px;border:1px solid rgba(137,236,223,.58);background:#040b0de6;box-shadow:0 12px 34px #0000007a,0 0 24px #89ecdf14;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none}.score-readout strong{color:#fff;font-size:clamp(24px,2.6vw,32px);font-weight:800;letter-spacing:-.035em;line-height:1}.score-readout__mode{display:inline;margin:0;color:var(--aqua);font-size:11px;font-weight:700;letter-spacing:.04em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:17px;min-height:46px;padding:0 17px;border:1px solid transparent;border-radius:0;cursor:pointer;font-size:13px;font-weight:750;letter-spacing:.01em;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}.button span{font-size:17px;font-weight:400;line-height:1}.button:hover:not(:disabled){transform:translateY(-1px)}.button:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.button--primary{color:#061111;background:var(--aqua)}.button--primary:hover:not(:disabled){background:#b1f6ec}.button--secondary{width:100%;color:var(--ink);border-color:var(--line);background:#f1f0e90f}.button--secondary:hover:not(:disabled){border-color:#89ecdf7a;background:#89ecdf1a}.gavin-mode-button{width:fit-content;margin-top:18px;justify-content:flex-start;gap:12px;padding-right:13px;padding-left:13px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.gavin-mode-button--active{color:var(--aqua);border-color:#89ecdf59;background:#89ecdf14}.gavin-mode-cancel{min-height:40px;margin-top:8px}.button--submit{min-width:155px;color:#071111;background:var(--amber)}.button--submit:disabled{cursor:not-allowed;color:#f1f0e957;border-color:#f1f0e921;background:#070c0eb8}.guess-action{position:absolute;bottom:max(24px,calc(env(safe-area-inset-bottom) + 14px));left:50%;z-index:4;display:grid;justify-items:center;gap:9px;width:min(320px,calc(100vw - 36px));transform:translate(-50%);pointer-events:none}.guess-action__hint{padding:7px 10px;border:1px solid var(--line);color:var(--ink);background:#070c0ee0;font-size:9px;font-weight:800;letter-spacing:.08em;text-align:center}.guess-action .button{width:100%;min-height:54px;justify-content:center;box-shadow:0 10px 32px #00000059;pointer-events:auto}.game-preferences{position:absolute;bottom:max(16px,calc(env(safe-area-inset-bottom) + 14px));left:max(30px,env(safe-area-inset-left));z-index:5;display:grid;justify-items:start;gap:6px;transition:bottom .16s ease}.game-preferences--raised{bottom:max(112px,calc(env(safe-area-inset-bottom) + 104px))}.game-preferences__button{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid var(--line);color:var(--aqua);background:#070c0ed6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;font-size:10px;font-weight:700;text-align:left}.game-preferences__button:hover{border-color:#89ecdf7a;background:#070c0ef0}.game-preferences__button:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.guess-method-picker{display:grid;gap:8px;width:100%;min-width:0;margin:0 0 19px;padding:0;border:0}.guess-method-picker legend{width:100%;margin-bottom:9px;color:var(--aqua);font-size:9px;font-weight:800;letter-spacing:.1em}.guess-method-option{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;column-gap:10px;padding:10px 11px;border:1px solid var(--line);background:#f1f0e909;cursor:pointer}.guess-method-option--selected{border-color:#89ecdf99;background:#89ecdf14}.guess-method-option input{grid-column:1;grid-row:1 / span 2;width:16px;height:16px;margin:1px 0 0;accent-color:var(--aqua)}.guess-method-option>span{display:grid;gap:3px;min-width:0;grid-column:2;color:var(--ink)}.guess-method-option strong{font-size:12px;font-weight:750}.guess-method-option small{color:var(--muted-bright);font-size:10px;line-height:1.4}.guess-method-option__recommended{grid-column:2;justify-self:start;margin-top:5px;color:var(--aqua);font-size:8px;font-weight:800;letter-spacing:.08em}.companion-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;min-width:0;margin:0 0 16px;padding:0;border:0}.companion-picker legend{grid-column:1 / -1;width:100%;margin-bottom:1px;color:var(--aqua);font-size:9px;font-weight:800;letter-spacing:.1em}.companion-picker__intro{grid-column:1 / -1;margin:-3px 0 4px;color:var(--muted-bright);font-size:10px;line-height:1.4}.companion-option{display:grid;grid-template-columns:15px 22px minmax(0,1fr);align-items:center;column-gap:6px;min-width:0;padding:9px 8px;border:1px solid var(--line);background:#f1f0e909;cursor:pointer}.companion-option--none{grid-column:1 / -1}.companion-option--selected{border-color:#89ecdf99;background:#89ecdf14}.companion-option:focus-within{outline:2px solid var(--aqua);outline-offset:2px}.companion-option input{width:14px;height:14px;margin:0;accent-color:var(--aqua)}.companion-option__icon{font-size:19px;line-height:1}.companion-option__icon svg{display:block;width:22px;height:22px}.companion-option__copy{display:grid;gap:3px;min-width:0;color:var(--ink)}.companion-option__copy strong{font-size:11px;font-weight:750}.companion-option__copy small{color:var(--muted-bright);font-size:9px;line-height:1.25}.guess-method-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:20px;background:#0207089e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.guess-method-dialog{width:min(430px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px;border:1px solid rgba(137,236,223,.35);background:linear-gradient(145deg,#0a1718fa,#050b0df5);box-shadow:0 28px 90px #0000008c,0 0 70px #89ecdf14}.guess-method-dialog h2{margin:0 0 10px;color:var(--ink);font-size:clamp(25px,5vw,34px);font-weight:500;letter-spacing:-.05em;line-height:1}.guess-method-dialog>p{margin:0 0 18px;color:var(--muted-bright);font-size:13px;line-height:1.45}.guess-method-dialog .guess-method-picker{margin-bottom:15px}.guess-method-dialog__done{width:100%;justify-content:center}.first-round-instructions-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;display:grid;place-items:center;padding:20px;background:#0207089e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.first-round-instructions-dialog{width:min(410px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:28px;border:1px solid rgba(137,236,223,.35);background:linear-gradient(145deg,#0a1718fa,#050b0df5);box-shadow:0 28px 90px #0000008c,0 0 70px #89ecdf14}.first-round-instructions-dialog h2{margin:0 0 10px;color:var(--ink);font-size:clamp(26px,5vw,35px);font-weight:500;letter-spacing:-.05em;line-height:1}.first-round-instructions-dialog p{margin:0 0 22px;color:var(--muted-bright);font-size:14px;line-height:1.5}.first-round-instructions-dialog__done{width:100%;justify-content:center}.companion-picker-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:20px;background:#0207089e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.companion-picker-dialog{width:min(430px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow-y:auto;padding:26px;border:1px solid rgba(137,236,223,.35);background:linear-gradient(145deg,#0a1718fa,#050b0df5);box-shadow:0 28px 90px #0000008c,0 0 70px #89ecdf14}.companion-picker-dialog h2{margin:0 0 18px;color:var(--ink);font-size:clamp(25px,5vw,34px);font-weight:500;letter-spacing:-.05em;line-height:1}.companion-picker-dialog__done{width:100%;justify-content:center}.debug-tools{position:absolute;right:30px;bottom:24px;z-index:4;display:flex;gap:8px;pointer-events:none}.debug-replay{position:relative;padding:8px 10px;border:1px solid rgba(255,182,93,.42);border-radius:2px;color:#ffd39deb;background:#23170ccc;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.1em;line-height:1;pointer-events:auto;text-transform:uppercase;transition:border-color .16s ease,background .16s ease,color .16s ease}.debug-replay:hover{border-color:#ffb65dc7;color:#fff0d8;background:#36200feb}.debug-replay--exit{border-color:#89ecdf59;color:#ccf1eaeb;background:#071718d6}.debug-replay--exit:hover{border-color:#89ecdfb3;color:#f0fffc;background:#092323f5}.debug-replay:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.hold-reticle{position:absolute;z-index:5;width:78px;height:78px;pointer-events:none;border-radius:50%;transform:translate(-50%,-50%) scale(var(--hold-scale))}.hold-reticle__pulse,.hold-reticle__progress{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%}.hold-reticle__pulse{border:1px solid rgba(137,236,223,.35);box-shadow:0 0 0 9px #89ecdf0f,0 0 22px #89ecdf26}.hold-reticle__progress{background:conic-gradient(var(--aqua) calc(var(--hold-progress) * 1turn),rgba(137,236,223,.13) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 4px),#000 calc(100% - 3px))}.hold-reticle span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--aqua);font-size:9px;font-weight:800;letter-spacing:.16em}.modal-card{position:absolute;top:50%;left:50%;width:min(490px,calc(100vw - 44px));padding:30px;border:1px solid rgba(137,236,223,.29);background:linear-gradient(145deg,#0a1718eb,#050b0dc7);box-shadow:0 28px 90px #00000073,0 0 70px #89ecdf0d;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);transform:translate(-50%,-48%)}.modal-card--start{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto}.modal-card--game-over{text-align:center}.modal-card--start .gavin-mode-button{display:flex;min-height:32px;margin-left:auto;gap:8px;padding:0 10px;font-size:8px;letter-spacing:.06em}.modal-card--start .gavin-mode-button span{font-size:13px}.modal-card--start>.button--primary{min-height:50px}.modal-card__overline{margin-bottom:16px;color:var(--aqua);font-size:10px;font-weight:800}.modal-card h1{margin:0 0 11px;color:var(--ink);font-size:clamp(32px,5vw,49px);font-weight:500;letter-spacing:-.055em;line-height:.98}.modal-card h1 small{color:var(--muted);font-size:.42em;font-weight:500;letter-spacing:0}.modal-card p{max-width:380px;margin:0 0 23px;color:var(--muted-bright);font-size:16px;line-height:1.52}.modal-card--game-over p{margin-right:auto;margin-left:auto}.gavin-password-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;display:grid;place-items:center;padding:22px;background:#02070894;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.gavin-password-dialog{width:min(390px,100%);padding:28px;border:1px solid rgba(137,236,223,.35);background:linear-gradient(145deg,#0a1718fa,#050b0df5);box-shadow:0 28px 90px #0000008c,0 0 70px #89ecdf14}.gavin-password-form{display:grid;gap:8px}.gavin-password-label{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.12em}.gavin-password-input{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:0;color:var(--ink);background:#f1f0e90f;font:inherit;font-size:16px;letter-spacing:.12em}.gavin-password-input:focus{border-color:var(--aqua);outline:2px solid rgba(137,236,223,.2);outline-offset:1px}.gavin-password-error{color:var(--danger);font-size:11px;font-weight:700}.gavin-password-actions{display:flex;gap:8px;margin-top:13px}.gavin-password-actions .button{width:auto;flex:1}.share-score{margin:4px 0 11px;padding:13px;border:1px solid var(--line);background:#050c0d85;text-align:left}.share-score__label{margin-bottom:9px;color:var(--aqua);font-size:9px;font-weight:800;letter-spacing:.12em}.button--share{width:100%;justify-content:center;text-align:center;font-size:16px;letter-spacing:.04em;text-transform:uppercase}.share-score__status{margin:9px 0 0;color:var(--aqua);font-size:11px;font-weight:700}.share-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.share-options__hint{grid-column:1 / -1;margin:0;color:#f1f0e9ad;font-size:10px;line-height:1.4}.share-options .button{width:100%;min-height:40px;justify-content:center;padding:0 10px;font-size:11px}.share-options .button:disabled{cursor:wait;opacity:.55}.review-country-name{position:fixed;top:82px;right:30px;z-index:3;display:grid;gap:4px;max-width:min(320px,calc(100vw - 36px));padding:10px 13px;border:1px solid rgba(137,236,223,.28);background:#070d0fdb;box-shadow:0 12px 28px #00000038;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}.review-country-name__label{color:var(--aqua);font-size:8px;font-weight:800;letter-spacing:.12em}.review-country-name strong{color:var(--ink);font-size:12px;font-weight:650;line-height:1.2}.review-panel{position:absolute;top:98px;bottom:31px;left:30px;z-index:3;width:min(440px,calc(100vw - 60px));padding:21px;overflow-y:auto;border:1px solid rgba(137,236,223,.29);background:linear-gradient(145deg,#0a1718f0,#050b0ddb);box-shadow:0 28px 90px #0000006b,0 0 70px #89ecdf0d;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.review-panel__drag-handle{display:none}.review-panel__score-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.review-panel__score-row .modal-card__overline{flex:1 1 auto;min-width:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.review-panel__score-row h1{flex:0 0 auto;margin:0;color:var(--ink);font-size:clamp(32px,5vw,49px);font-weight:500;letter-spacing:-.055em;line-height:.98}.review-panel__score-row h1 small{color:var(--muted);font-size:.42em;font-weight:500;letter-spacing:0}.daily-reset-callout{display:flex;align-items:center;gap:9px;margin:10px 0 13px;padding:9px 12px;border:1px solid rgba(137,236,223,.27);background:linear-gradient(105deg,#16494370,#10252694)}.daily-reset-callout>span{flex:0 0 auto;color:var(--aqua);font-size:10px;font-weight:800;letter-spacing:.13em;white-space:nowrap}.daily-reset-callout strong{min-width:0;overflow:hidden;color:var(--ink);font-size:15px;font-weight:650;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.review-panel__intro{margin:0 0 17px;color:var(--muted-bright);font-size:13px;line-height:1.4}.review-list{display:grid;gap:8px;margin:17px 0}.review-round{padding:12px;border:1px solid var(--line);background:#050c0d73}.review-round__heading{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px}.review-round__number{padding-top:1px;color:var(--amber);font-size:10px;font-weight:800;letter-spacing:.1em}.review-round__label,.review-round__locations span{display:block;margin-bottom:3px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.hold-feedback{position:absolute;bottom:18%;left:50%;z-index:5;padding:10px 14px;border:1px solid rgba(137,236,223,.35);background:#070c0edb;box-shadow:0 12px 30px #00000047;color:var(--aqua);font-size:11px;font-weight:700;letter-spacing:.04em;pointer-events:none;white-space:nowrap;transform:translate(-50%)}.review-round__heading strong{display:block;color:var(--ink);font-size:14px;font-weight:550;line-height:1.2}.review-round__score{color:var(--aqua);font-size:15px;font-weight:700;white-space:nowrap}.review-round__locations{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 10px;padding-top:10px;border-top:1px solid var(--line)}.review-round__locations strong{display:block;color:var(--muted-bright);font-size:11px;font-weight:500;line-height:1.3}.review-round__distance{color:#f1f0e96b;font-size:10px;letter-spacing:.04em}.modal-card__microcopy{margin-top:17px;color:#f1f0e961;font-size:11px;line-height:1.4}.feedback-prompt{display:grid;gap:10px;margin-top:16px;padding:14px;border:1px solid rgba(137,236,223,.2);background:#071011b8}.feedback-prompt__eyebrow{color:var(--aqua);font-size:9px;font-weight:800;letter-spacing:.13em}.feedback-prompt h3{margin:0;color:var(--ink);font-size:15px;font-weight:600;line-height:1.35}.feedback-prompt__choices{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0;padding:0;border:0}.feedback-prompt__choices legend{margin-bottom:6px;color:var(--muted);font-size:9px}.feedback-prompt__choices label{display:flex;align-items:center;gap:7px;min-height:32px;padding:5px 7px;border:1px solid rgba(225,239,232,.12);color:var(--muted-bright);cursor:pointer;font-size:9px;line-height:1.3}.feedback-prompt__choices label.is-selected{border-color:#89ecdf73;background:#89ecdf14;color:var(--ink)}.feedback-prompt__choices input{flex:0 0 auto;width:13px;height:13px;margin:0;accent-color:var(--aqua)}.feedback-prompt__comment{display:flex;justify-content:space-between;gap:8px;color:var(--muted-bright);font-size:9px}.feedback-prompt__comment span{color:#f1f0e96b}.feedback-prompt textarea{width:100%;min-height:55px;resize:vertical;padding:8px 9px;border:1px solid rgba(225,239,232,.2);border-radius:0;outline:0;background:#ffffff09;color:var(--ink);font:inherit;font-size:10px;line-height:1.4;-webkit-user-select:text;user-select:text}.feedback-prompt textarea:focus{border-color:#89ecdfa6}.feedback-prompt textarea::placeholder{color:#f1f0e959}.feedback-prompt__privacy{margin:-4px 0 0!important;color:#f1f0e975!important;font-size:9px!important;line-height:1.4!important}.feedback-prompt__actions{display:flex;justify-content:flex-end;gap:8px}.feedback-prompt__actions button{min-height:34px;padding:0 12px;border:1px solid transparent;cursor:pointer;font:inherit;font-size:10px;font-weight:700}.feedback-prompt__actions button:first-child{border-color:#e1efe833;background:transparent;color:var(--muted-bright)}.feedback-prompt__actions button:last-child{background:var(--aqua);color:#061111}.feedback-prompt__actions button:disabled{cursor:default;opacity:.48}.result-strip{position:absolute;bottom:34px;left:50%;display:flex;align-items:center;gap:10px;padding:13px 17px;border:1px solid rgba(255,182,93,.22);background:#0b1010c2;color:var(--amber);font-size:11px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);transform:translate(-50%)}.result-strip__pulse{width:7px;height:7px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px #ffb65d1c;animation:blink 1s ease-in-out infinite}.result-panel{position:absolute;right:30px;bottom:31px;width:min(360px,calc(100vw - 60px));padding:19px;border:1px solid rgba(255,182,93,.3);border-top:2px solid var(--amber);background:#0a1112de;box-shadow:0 20px 60px #0000004d;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px)}.result-panel__eyebrow{margin-bottom:14px;color:var(--amber);font-size:10px;font-weight:800}.result-panel__round{margin-bottom:6px;color:var(--aqua);font-size:13px;font-weight:800;letter-spacing:.1em}.result-panel__stats{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:14px}.result-panel__stats div{padding-right:14px;border-right:1px solid var(--line)}.result-panel__stats div:last-child{border-right:0}.result-panel__stats span{display:block;margin-bottom:4px;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.05em}.result-panel__stats strong{display:flex;align-items:baseline;gap:3px;color:var(--ink);font-size:28px;font-weight:500;letter-spacing:-.045em}.result-panel__stats strong small{color:var(--muted-bright);font-size:14px;font-weight:600;letter-spacing:0}.result-panel__details{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:10px 0;margin-bottom:13px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.result-panel__details div{display:flex;flex-direction:column;gap:3px}.result-panel__details span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.04em}.result-panel__details strong{color:var(--muted-bright);font-size:16px;font-weight:700}.result-panel__reaction{min-height:24px;margin:0 0 19px;color:var(--muted-bright);font-size:15px;line-height:1.38}.result-panel__auto-advance{padding-top:0;color:#b8c0bc9e;font-size:11px;font-weight:700;line-height:1.45}.result-panel__next{width:100%;margin-bottom:9px}.feed-warning{position:absolute;right:30px;bottom:66px;max-width:290px;padding:11px 14px;border:1px solid rgba(255,128,108,.35);background:#200e0fd1;color:#ffb5a8;font-size:12px;line-height:1.4}@keyframes blink{0%,to{opacity:.45}50%{opacity:1}}@media(max-width:700px){.game-shell .cesium-viewer-bottom{top:auto!important;right:max(10px,env(safe-area-inset-right))!important;bottom:max(10px,env(safe-area-inset-bottom))!important;left:auto!important;width:max-content!important;max-width:calc(100vw - 20px);font-size:8px;padding:2px 6px}.top-bar{top:max(10px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right))}.brand-lockup{gap:6px;font-size:10px}.brand-mark{width:20px;height:20px;flex-basis:20px}.review-country-name{top:58px;right:12px}.hud--top-left{top:max(44px,calc(env(safe-area-inset-top) + 27px));left:max(12px,env(safe-area-inset-left));width:min(330px,calc(100vw - 24px))}.target-card{width:fit-content;max-width:min(330px,calc(100vw - 24px));padding:7px 10px 8px}.target-card__eyebrow{margin-bottom:4px;font-size:9px}.target-card__name{font-size:clamp(20px,5.4vw,23px)}.target-card__story-clue{margin-top:6px;font-size:10px}.score-readout--bottom-right{right:max(12px,env(safe-area-inset-right));bottom:max(58px,calc(env(safe-area-inset-bottom) + 50px));gap:7px;padding:10px 13px}.score-readout strong{font-size:clamp(20px,5vw,24px)}.score-readout__mode{display:inline;font-size:9px}.button--submit{width:100%}.modal-card{padding:24px}.debug-tools{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:6px}.result-panel{right:18px;bottom:21px;left:18px;width:auto}.review-panel{top:auto;right:0;bottom:0;left:0;width:auto;max-height:min(48vh,440px);padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:16px 16px 0 0;box-shadow:0 -18px 60px #00000061,0 0 70px #89ecdf0d;touch-action:pan-y;overscroll-behavior-y:contain}.review-panel__drag-handle{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:center;width:100%;height:26px;margin:-9px 0 7px;padding:0;border:0;background:#081112f7;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent}.review-panel>:not(.review-list):not(.share-score),.review-panel .share-score__label,.review-panel .share-score__status{touch-action:pan-y}.review-panel__drag-handle:active{cursor:grabbing}.review-panel__drag-handle:focus-visible{outline:2px solid var(--aqua);outline-offset:2px}.review-panel__drag-handle span{display:block;width:38px;height:4px;border-radius:999px;background:#f1f0e973}.review-panel--compact{max-height:none;touch-action:none}.review-panel--compact .review-panel__drag-handle{margin-bottom:4px}.review-panel--compact .modal-card__overline,.review-panel--compact .review-panel__score-row{margin-bottom:0}.review-panel--compact .review-panel__intro,.review-panel--compact .share-score__label,.review-panel--compact .share-score__status,.review-panel--compact .share-options,.review-panel--compact .gavin-mode-cancel,.review-panel--compact .review-list,.review-panel--compact .feedback-prompt,.review-panel--compact .modal-card__microcopy{display:none}.review-panel--compact .share-score{margin:8px 0 0;padding:0;border:0;background:transparent}.review-panel[data-review-drag^=dragging]{overflow:hidden;-webkit-user-select:none;user-select:none;transition:none!important}.review-panel[data-review-drag=settling]{overflow:hidden;transition:height .18s cubic-bezier(.22,1,.36,1)}.review-panel[data-review-drag=dragging-collapse] .review-panel__intro,.review-panel[data-review-drag=dragging-collapse] .share-score__label,.review-panel[data-review-drag=dragging-collapse] .share-score__status,.review-panel[data-review-drag=dragging-collapse] .share-options,.review-panel[data-review-drag=dragging-collapse] .gavin-mode-cancel,.review-panel[data-review-drag=dragging-collapse] .review-list,.review-panel[data-review-drag=dragging-collapse] .feedback-prompt,.review-panel[data-review-drag=dragging-collapse] .modal-card__microcopy{opacity:calc(1 - var(--review-drag-progress, 0))}.review-panel--compact[data-review-drag=dragging-expand] .review-panel__drag-handle{margin-bottom:7px}.review-panel--compact[data-review-drag=dragging-expand] .modal-card__overline{margin-bottom:0}.review-panel--compact[data-review-drag=dragging-expand] .review-panel__score-row{margin-bottom:5px}.review-panel--compact[data-review-drag=dragging-expand] .share-score{margin:4px 0 11px;padding:13px;border:1px solid var(--line);background:#050c0d85}.review-panel--compact[data-review-drag=dragging-expand] .review-panel__intro,.review-panel--compact[data-review-drag=dragging-expand] .share-score__label,.review-panel--compact[data-review-drag=dragging-expand] .share-score__status,.review-panel--compact[data-review-drag=dragging-expand] .review-list,.review-panel--compact[data-review-drag=dragging-expand] .feedback-prompt,.review-panel--compact[data-review-drag=dragging-expand] .modal-card__microcopy{display:block;opacity:var(--review-drag-progress, 0);pointer-events:none}.review-panel--compact[data-review-drag=dragging-expand] .gavin-mode-cancel{display:inline-flex;opacity:var(--review-drag-progress, 0);pointer-events:none}.review-panel--compact[data-review-drag=dragging-expand] .share-options{display:grid;opacity:var(--review-drag-progress, 0);pointer-events:none}.review-panel__score-row{gap:8px;margin-bottom:4px}.review-panel__score-row .modal-card__overline{font-size:clamp(8px,2.4vw,10px);letter-spacing:.1em}.review-panel__score-row h1{font-size:34px}.target-card__name{font-size:clamp(21px,calc(5.4vw + 1px),24px)}.review-panel__intro{margin-bottom:10px;font-size:12px}.share-score{margin:6px 0 8px;padding:8px 10px}.review-list{gap:6px;margin:10px 0}.review-round{padding:9px}.review-round__locations{grid-template-columns:1fr;gap:8px}.result-strip{bottom:23px}}@media(max-width:700px)and (prefers-reduced-motion:reduce){.review-panel[data-review-drag=settling]{transition:none}}@media(pointer:coarse)and (max-width:900px){.game-preferences{left:max(12px,env(safe-area-inset-left))}}
