*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark}body{min-height:100dvh}.page{max-width:80ch;margin-inline:auto;padding:2rem}.fetch{--sky-top: #7ec8f2;--sky-bottom: #cdeeff;--grass-top: #7ed957;--grass-bottom: #4caf50;--panel: rgba(255, 255, 255, .82);--ink: #37474f;--accent: #ff7a3d;position:relative;width:100%;min-height:100dvh;overflow:hidden;font-family:ui-rounded,SF Pro Rounded,Nunito,system-ui,-apple-system,sans-serif}.fetch__title-a11y{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.fetch__hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--panel);border-radius:999px;box-shadow:0 6px 20px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);max-width:calc(100% - 1.5rem)}.fetch__score{font-size:1.1rem;color:var(--ink);white-space:nowrap}.fetch__score strong{font-size:1.25rem}.fetch__status{color:var(--ink);font-weight:700;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fetch__throw{flex:none;border:none;border-radius:999px;padding:.5rem 1.1rem;font:inherit;font-weight:800;color:#fff;background:var(--accent);box-shadow:0 4px #d85f2a;cursor:pointer;transition:transform .08s ease,box-shadow .08s ease}.fetch__throw:active{transform:translateY(3px);box-shadow:0 1px #d85f2a}.fetch__throw:disabled{opacity:.55;cursor:default;box-shadow:0 4px #b9b9b9;background:#b0b6bb}.fetch__hint{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:5;margin:0;padding:.35rem .9rem;background:var(--panel);border-radius:999px;color:var(--ink);font-size:.8rem;text-align:center;max-width:calc(100% - 1.5rem);box-shadow:0 3px 12px #0000001f}.fetch__field{position:absolute;inset:0;background:linear-gradient(to bottom,var(--sky-top) 0%,var(--sky-bottom) 60%);touch-action:none;cursor:crosshair}.fetch__sun{position:absolute;top:6%;left:6%;width:clamp(56px,9vw,92px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 40%,#fff3b0,#ffd93b 70%);box-shadow:0 0 40px 10px #ffd93b8c;animation:fetch-sun 6s ease-in-out infinite}@keyframes fetch-sun{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.fetch__cloud{position:absolute;height:34px;width:90px;background:#fff;border-radius:999px;filter:drop-shadow(0 6px 6px rgba(0,0,0,.06));opacity:.92}.fetch__cloud:before,.fetch__cloud:after{content:"";position:absolute;bottom:0;background:#fff;border-radius:50%}.fetch__cloud:before{width:46px;height:46px;left:14px}.fetch__cloud:after{width:34px;height:34px;right:16px}.fetch__cloud--1{top:14%;transform:scale(1.1);animation:fetch-drift 42s linear infinite}.fetch__cloud--2{top:26%;transform:scale(.8);animation:fetch-drift 60s linear infinite;animation-delay:-20s}.fetch__cloud--3{top:9%;transform:scale(.65);animation:fetch-drift 52s linear infinite;animation-delay:-38s}@keyframes fetch-drift{0%{left:-120px}to{left:110%}}.fetch__grass{position:absolute;inset:72% 0 0;background:linear-gradient(to bottom,var(--grass-top),var(--grass-bottom));border-top-left-radius:50% 22px;border-top-right-radius:50% 22px}.fetch__fence{position:absolute;left:0;right:0;top:calc(72% - 26px);height:30px;background:repeating-linear-gradient(to right,#f4f0e6 0 14px,transparent 14px 40px);-webkit-mask:linear-gradient(#000 0 0);opacity:.9}.fetch__fence:after{content:"";position:absolute;left:0;right:0;top:12px;height:6px;background:#f4f0e6}.fetch__tree{position:absolute;bottom:20%;width:clamp(80px,14vw,150px);aspect-ratio:100 / 140}.fetch__tree--left{left:2%}.fetch__tree--right{right:3%;width:clamp(64px,11vw,120px)}.fetch__aim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}.fetch__aim polyline{fill:none;stroke:#ffffffe6;stroke-width:.9;stroke-linecap:round;stroke-dasharray:1.6 2.4}.fetch__kid{position:absolute;bottom:13%;transform:translate(-60%);width:clamp(56px,9vw,92px);aspect-ratio:70 / 120;z-index:2}.fetch__ball{position:absolute;width:clamp(22px,3.4vw,34px);aspect-ratio:1;transform:translate(-50%,-50%) translateZ(0);will-change:transform;z-index:4;filter:drop-shadow(0 3px 3px rgba(0,0,0,.25))}.fetch__dog-wrap{position:absolute;bottom:12%;transform:translate(-50%);width:clamp(96px,16vw,168px);aspect-ratio:130 / 96;z-index:3}.fetch__dog-flip,.fetch__dog{width:100%;height:100%}.fetch__dog svg{display:block;width:100%;height:100%;filter:drop-shadow(0 6px 4px rgba(0,0,0,.18))}.fetch__dog.is-running{animation:fetch-dog-bob .26s ease-in-out infinite}@keyframes fetch-dog-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8%)}}.fetch__leg{transform-box:fill-box;transform-origin:top center}.fetch__dog.is-running .fetch__leg{animation:fetch-gallop .26s ease-in-out infinite}.fetch__dog.is-running .fetch__leg-b{animation-delay:.13s}@keyframes fetch-gallop{0%,to{transform:rotate(20deg)}50%{transform:rotate(-20deg)}}.fetch__dog-tail{transform-box:fill-box;transform-origin:bottom right}.fetch__dog.is-running .fetch__dog-tail{animation:fetch-wag .2s ease-in-out infinite}@keyframes fetch-wag{0%,to{transform:rotate(-12deg)}50%{transform:rotate(14deg)}}@media(prefers-color-scheme:dark){.fetch{--sky-top: #2a3d6b;--sky-bottom: #4a5a8a;--grass-top: #3f7d3a;--grass-bottom: #285c2c;--panel: rgba(28, 34, 52, .85);--ink: #eef2f7}.fetch__sun{background:radial-gradient(circle at 40% 40%,#fff8e6,#ffe08a 70%);box-shadow:0 0 40px 12px #ffe08a66}.fetch__cloud{opacity:.5;background:#d7dced}.fetch__cloud:before,.fetch__cloud:after{background:#d7dced}}@media(prefers-reduced-motion:reduce){.fetch__sun,.fetch__cloud,.fetch__dog.is-running,.fetch__dog.is-running .fetch__leg,.fetch__dog.is-running .fetch__dog-tail{animation:none}}
