:root{--bg:#f6f1e7;--ink:#14141a;--card:#fff;--line:#14141a;--sh:5px 5px 0 #14141a;--sh2:9px 9px 0 #14141a;--a1:#bfebd3;--a2:#ffcdb8;--a3:#d9ccff;--a4:#ffe9a8;--a5:#bfe3ff;--on:#14141a;--pop:#b60059;--hovfg:#fff;--zh:#ff2a8555;--muted:#3e3e48;--tick:#bfe3ff;--dot:radial-gradient(#14141a22 1.2px,transparent 1.4px);--ds:16px;--sky:#bfe3ff;--grass:#bfebd3;--goal:#fff;--zl:#14141acc;--net:#14141a22;--bar:#14141a;--barfg:#cf0;--bday:#d9ccff}[data-theme=dark]{--bg:#0a0a0f;--ink:#f5f5fa;--card:#12131a;--line:#3a3d52;--sh:5px 5px 0 #cf0;--sh2:9px 9px 0 #cf0;--a1:#cf0;--a2:#ff2a85;--a3:#00f0ff;--a4:#f50;--a5:#cf0;--on:#050505;--pop:#ff2a85;--hovfg:#050505;--zh:#cf05;--muted:#c9cbe0;--tick:#f50;--dot:radial-gradient(#ccff0012 1px,transparent 1px);--ds:24px;--sky:#0e1020;--grass:#0b2414;--goal:#f5f5fa;--zl:#f5f5facc;--net:#f5f5fa22;--bar:#cf0;--barfg:#050505;--bday:#0a0a0f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background-color:var(--bg);background-image:var(--dot);background-size:var(--ds) var(--ds);color:var(--ink);overflow-wrap:anywhere;margin:0;font:500 16px/1.5 Space Grotesk,sans-serif;overflow-x:hidden}[hidden]{display:none!important}a{color:inherit}a:hover{color:var(--pop)}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--pop);outline-offset:3px}.wrap{max-width:1440px;margin:0 auto}.mono{font-family:Space Mono,monospace;font-weight:700}.syne{text-transform:uppercase;font-family:Syne,sans-serif;font-weight:800}.bod{font-family:Fraunces,serif;font-weight:800}.box{border:3px solid var(--line);box-shadow:var(--sh);background:var(--card)}.lift{transition:transform .15s,box-shadow .15s}.lift:hover{box-shadow:var(--sh2);transform:translate(-3px,-3px)}.b{background:var(--a1);min-height:44px;color:var(--on);border:3px solid var(--line);box-shadow:var(--sh);justify-content:center;align-items:center;padding:0 18px;font-family:Space Mono,monospace;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.b:hover{background:var(--pop);color:var(--hovfg)}.b:active,.stamp:active,.bar:active{box-shadow:none;transform:translate(3px,3px)}.lab{color:var(--pop);font-family:Space Mono,monospace;font-size:14px;font-weight:700}h2{letter-spacing:-.02em;margin:8px 0 12px;font-family:Fraunces,serif;font-size:clamp(40px,7vw,96px);font-weight:800;line-height:.95}.sec{padding:88px 24px 0}.strip{white-space:nowrap;overflow:hidden}.strip>div{animation:30s linear infinite tick;display:inline-block}.strip:hover>div{animation-play-state:paused}@keyframes tick{to{transform:translate(-50%)}}@keyframes ping{to{opacity:0;transform:scale(2.6)}}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.strip>div,.dot i,.cur{animation:none}}#top-strip{color:#cf0;border-bottom:3px solid var(--line);letter-spacing:2px;background:#050505;padding:8px 0;font:700 13px Space Mono,monospace}#mq{background:var(--tick);color:#050505;border-block:3px solid var(--line);text-transform:uppercase;padding:12px 0;font:800 22px Syne,sans-serif}#mq>div{animation-duration:26s}header{z-index:5;background:var(--bg);border-bottom:3px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;display:flex;position:sticky;top:0}.logo{align-items:center;gap:12px;text-decoration:none;display:flex}.mono-box{background:var(--a1);width:44px;height:44px;color:var(--on);border:3px solid var(--line);justify-content:center;align-items:center;font:800 20px Fraunces,serif;display:flex}nav{flex-wrap:wrap;align-items:center;gap:4px;font:700 14px Space Mono,monospace;display:flex}nav a{padding:12px 10px;text-decoration:none}.hero{flex-wrap:wrap;align-items:center;gap:40px;padding:48px 24px 72px;display:flex}.hero>div{flex:320px;min-width:0}.hero>div:first-child{flex-basis:460px}.chip{color:#cf0;clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%);background:#050505;align-items:center;gap:8px;padding:6px 16px 6px 10px;font:700 13px Space Mono,monospace;display:inline-flex}.dot{background:#ff2a85;border-radius:9999px;width:10px;height:10px;position:relative}.dot i{background:#ff2a85;border-radius:9999px;animation:1.4s infinite ping;position:absolute;inset:0}h1{letter-spacing:-.03em;text-transform:uppercase;margin:20px 0 0;font:800 clamp(46px,9vw,132px)/.95 Fraunces,serif}h1 em{color:var(--pop)}.sub{max-width:560px;margin:24px 0 0;font-size:clamp(22px,2.6vw,32px);line-height:1.25}.frame{width:100%;max-width:400px;margin:0 auto;position:relative}.frame .back{background:var(--a3);border:3px solid var(--line);position:absolute;inset:0;transform:rotate(-4deg)}.frame .pic{aspect-ratio:3/4;border:3px solid var(--line);box-shadow:var(--sh);color:#cf0;background:#050505;flex-direction:column;justify-content:space-between;padding:12px;font:700 13px Space Mono,monospace;display:flex;position:relative;overflow:hidden;transform:rotate(2deg)}.pic img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.pic .hud{justify-content:space-between;display:flex;position:relative}.pic .ej{text-align:center;color:var(--a1);font:800 110px/1 Fraunces,serif}.pic .cap{text-align:center;background:var(--a1);color:var(--on);padding:6px;position:relative}#gkb{background:var(--a2);text-transform:uppercase;padding:8px 16px;font-family:Syne,sans-serif;font-size:18px;font-weight:800;position:absolute;bottom:-16px;right:-6px;transform:rotate(-6deg)}.cards{flex-wrap:wrap;gap:20px;display:flex}.card{text-align:left;border:3px solid var(--line);min-width:0;box-shadow:var(--sh);flex-direction:column;justify-content:space-between;gap:20px;padding:24px;display:flex}.card .top{letter-spacing:1px;justify-content:space-between;font:700 13px Space Mono,monospace;display:flex}.card .t{margin-top:10px;font-size:clamp(26px,3.2vw,42px);line-height:1;display:block}.card .d{margin-top:12px;font-size:17px;line-height:1.5;display:block}.card .r{border-top:3px solid;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:12px;font:700 12px Space Mono,monospace;display:flex}#game{text-align:center}.arena{max-width:1000px;margin:0 auto;padding:20px}#status{min-height:36px;color:var(--pop);margin:12px 0;font-size:clamp(20px,3vw,30px)}.scene{aspect-ratio:16/9;border:3px solid var(--line);background:linear-gradient(var(--sky) 0 58%,var(--grass) 58% 100%);width:100%;max-width:960px;min-height:320px;margin:0 auto;position:relative;overflow:hidden}.goal{border:6px solid var(--goal);background-image:linear-gradient(var(--net) 1px,transparent 1px),linear-gradient(90deg,var(--net) 1px,transparent 1px);background-size:20px 20px;border-bottom:none;height:64%;position:absolute;top:8%;left:8%;right:8%}.zones{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;display:grid;position:absolute;inset:0}.zone{border:2px dashed var(--zl);color:var(--ink);text-align:left;vertical-align:top;background:0 0;padding:6px;font:700 clamp(11px,1.5vw,14px) Space Mono,monospace}.zone.hit{background:#cf08}.keeper{aspect-ratio:7/9;pointer-events:none;z-index:2;width:20%;transition:left .3s ease-out,top .3s ease-out,transform .3s ease-out;position:absolute;top:62%;left:50%;transform:translate(-50%,-50%)}.ball{aspect-ratio:1;pointer-events:none;z-index:3;width:6%;min-width:22px;transition:left .3s ease-out,top .3s ease-out;position:absolute;top:112%;left:50%;transform:translate(-50%,-50%)}.keeper svg,.ball svg{width:100%;height:100%}.jf{fill:var(--a2)}.jl{stroke:var(--a2)}.sk{fill:var(--a1)}#speech{color:#cf0;opacity:0;z-index:5;background:#050505;max-width:90%;padding:6px 14px;font:700 clamp(13px,1.8vw,18px) Space Mono,monospace;transition:opacity .2s;position:absolute;bottom:3%;left:50%;transform:translate(-50%)}.stamps{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px;display:grid}.stamp{text-align:left;background:var(--card);border:3px solid var(--line);min-width:0;min-height:96px;box-shadow:var(--sh);flex-direction:column;justify-content:space-between;gap:8px;padding:12px;display:flex}.stamp:hover{background:var(--pop);color:var(--hovfg)}.stamp.on{background:var(--a1);color:var(--on)}.stamp .n{font-size:15px}.tsec{position:relative;overflow:hidden}.tfx{pointer-events:none;z-index:0;position:absolute;inset:0}.tfx canvas{width:100%;height:100%;position:absolute;inset:0}.tball{opacity:0;transform-origin:50% 100%;background:radial-gradient(circle,#14141a 0 22%,#0000 23%),#fff;border:2px solid #14141a;border-radius:50%;width:30px;height:30px;position:absolute;bottom:14px;left:0}.tplane{opacity:0;color:var(--ink);font-size:26px;position:absolute;top:28px;left:0}.tbowl .stm{color:#00f0ff;font-size:12px;font-size:inherit;animation:1.6s ease-in-out infinite steam;display:inline-block}@keyframes steam{0%,to{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.term{z-index:1;color:#cf0;border:3px solid var(--line);max-width:640px;box-shadow:var(--sh);cursor:text;background:#050505;font:700 15px/1.7 Space Mono,monospace;position:relative}.tchrome{color:#9aa;border-bottom:2px solid #222;flex-wrap:wrap;align-items:center;gap:7px;padding:10px 14px;font-size:12px;display:flex}.tchrome i{background:#ff2a85;border-radius:50%;width:11px;height:11px}.tchrome i:nth-child(2){background:#ffd23f}.tchrome i:nth-child(3){background:#cf0}.tchrome span{margin-left:6px}.tchrome .tlab{color:#00f0ff;margin-left:auto}.tmeters{color:#ddd;border-bottom:2px solid #222;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px 14px;padding:12px 16px;font-size:11px;display:grid}.tm{grid-template-columns:1fr auto;align-items:center;gap:3px 6px;display:grid}.tm b{background:#1c1c1c;order:3;grid-column:1/-1;height:6px}.tm b i{background:#cf0;height:100%;transition:width .9s;display:block}.tm:nth-child(2) b i{background:#00f0ff}.tm:nth-child(3) b i{background:#ff2a85}.tm:nth-child(4) b i{background:#ffd23f}.tm em{color:#fff;font-style:normal}.tout{overflow-wrap:anywhere;min-height:140px;max-height:340px;padding:12px 16px 4px;overflow-y:auto}.tl{white-space:pre-wrap}.tl pre{font:inherit;color:#fff;margin:4px 0;line-height:1.2}.tdim{color:#8fdc00}.tcmd{color:#fff}.tps{color:#00f0ff;flex:none;margin-right:8px}.tline{cursor:text;align-items:center;padding:6px 16px 14px;display:flex}.tline input{color:#cf0;caret-color:#0000;background:0 0;border:0;outline:0;flex:1;width:100%;min-width:0;padding:0;font:700 16px Space Mono,monospace}.tcar{pointer-events:none;background:#cf0;width:9px;height:18px;margin-left:-100%;animation:1s step-end infinite blink;display:none}.tline input:focus{caret-color:#cf0}.tchips{flex-wrap:wrap;gap:6px;padding:0 16px 14px;display:none}.tchip{color:#cf0;cursor:pointer;background:#111;border:2px solid #333;padding:6px 10px;font:700 13px Space Mono,monospace}.tchip:active{color:#050505;background:#cf0}@media (width<=760px),(pointer:coarse){.tchips{display:flex}}@media (width<=420px){.tchrome .tlab{display:none}.tps{font-size:12px}.tout{padding:10px 12px 4px}.tline{padding:6px 12px 12px}}@media (prefers-reduced-motion:reduce){.tbowl .stm,.nbowl .st,.nbowl .bw{animation:none}}.faq{max-width:860px;margin-bottom:16px;padding:20px}.faq .q{font-size:19px;line-height:1.25}.bar{text-align:left;background:var(--bar);width:100%;min-height:48px;color:var(--barfg);border:3px solid var(--line);margin-top:12px;padding:10px 14px;font:700 15px/1.4 Space Mono,monospace}.bar:hover{background:var(--pop);color:var(--hovfg)}.bar.open{background:var(--a3);color:var(--on)}footer{color:#f5f5fa;border-top:3px solid var(--line);background:#050505;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:88px;padding:40px 24px;font:700 13px Space Mono,monospace;display:flex}footer .mono-box{color:#050505;background:#cf0;border:0;width:40px;height:40px;font-size:18px}#bday{background-color:var(--bday);background-image:var(--dot);background-size:var(--ds) var(--ds);flex-direction:column;justify-content:space-between;gap:24px;min-height:100vh;padding:24px;display:flex;position:relative;overflow:hidden}#bday>*{position:relative}.sq{border:3px solid var(--line);position:absolute!important}.bd-row{flex-wrap:wrap;align-items:stretch;gap:20px;display:flex}.bd-row>div{flex:260px;min-width:0;padding:20px}.age{color:var(--a1);-webkit-text-stroke:5px var(--ink);font:800 clamp(190px,40vw,560px)/.8 Fraunces,serif}html,body,*{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='12' fill='%23fff' stroke='%2314141A' stroke-width='2'/%3E%3Cpath d='M14 8l5 3.6-1.9 5.9h-6.2L9 11.6z' fill='%2314141A'/%3E%3Cpath d='M14 8V3M19 11.6l5-1.6M17.1 17.5l3 4M10.9 17.5l-3 4M9 11.6L4 10' stroke='%2314141A' stroke-width='1.6'/%3E%3C/svg%3E") 14 14,auto}a,button,.stamp,.bar,[role=button],.dog{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='12' fill='%23CCFF00' stroke='%2314141A' stroke-width='2'/%3E%3Cpath d='M14 8l5 3.6-1.9 5.9h-6.2L9 11.6z' fill='%2314141A'/%3E%3Cpath d='M14 8V3M19 11.6l5-1.6M17.1 17.5l3 4M10.9 17.5l-3 4M9 11.6L4 10' stroke='%2314141A' stroke-width='1.6'/%3E%3C/svg%3E") 16 16,pointer}.map{background:var(--sky);margin:0 0 24px;padding:8px;position:relative;overflow:hidden}.map svg{width:100%;height:auto;display:block}.map .gl{stroke:var(--net);stroke-width:1px}#mroute{stroke:var(--pop);stroke-width:3px;stroke-dasharray:8 8;stroke-linecap:round}.pin circle{fill:var(--card);stroke:var(--line);stroke-width:2.5px;transition:r .2s}.pin.on circle{fill:var(--pop);r:9}.pin.seen circle{fill:var(--a1)}.pin text{fill:var(--ink);font:700 15px Space Mono,monospace}#plane path{fill:var(--ink);stroke:var(--bg);stroke-width:1px}.mtag{background:var(--bar);color:var(--barfg);padding:4px 8px;font-size:12px;position:absolute;bottom:10px;left:12px}@media (width<=600px){.pin text{font-size:22px}.mtag{font-size:10px}}#yard{pointer-events:none;z-index:40;width:100%;height:100vh;position:absolute;top:0;left:0}.dog{pointer-events:auto;width:76px;height:68px;transition-property:transform;transition-timing-function:linear;position:absolute;top:0;left:0}.dog .body{width:100%;height:100%;transform:scaleX(var(--f,1));transition:transform .2s}.dog svg{filter:drop-shadow(0 2px #14141a40);width:100%;height:100%;overflow:visible}.dog .nm{background:var(--bar);color:var(--barfg);white-space:nowrap;opacity:0;padding:0 5px;font:700 10px/1.4 Space Mono,monospace;transition:opacity .2s;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.dog:hover .nm,.dog.eat .nm{opacity:1}.dog .say{background:var(--card);color:var(--ink);border:2px solid var(--line);white-space:nowrap;opacity:0;border-radius:10px;padding:2px 8px;font:800 13px/1.3 Space Grotesk,sans-serif;transition:opacity .2s;position:absolute;top:-36px;left:50%;transform:translate(-50%)}.dog .say.show{opacity:1}.dog .tongue{opacity:0}.dog.walk .tongue,.dog.run .tongue,.dog.eat .tongue{opacity:1}.dog .eyec{opacity:0}.dog.walk .l1{animation:.35s infinite alternate leg}.dog.walk .l2{animation:.35s infinite alternate-reverse leg}.dog.run .l1{animation:.14s infinite alternate leg}.dog.run .l2{animation:.14s infinite alternate-reverse leg}.dog.walk .b2{animation:.35s infinite alternate bob}.dog.run .b2{animation:.14s infinite alternate bob}.dog .legs rect{transform-box:fill-box;transform-origin:top}.dog .tail{transform-origin:16px 44px;animation:.45s infinite alternate wag}.dog.run .tail,.dog.eat .tail{animation-duration:.15s}.dog .head{transform-origin:50px 40px;transition:transform .3s}.dog.eat .head{animation:.3s infinite alternate munch}.dog.bark .head{animation:.15s 4 alternate bk}.dog.sleep .legs{opacity:0}.dog.sleep .b2{transform:translateY(8px)}.dog.sleep .tail{animation:none}.dog.sleep .head{transform:translateY(8px)rotate(6deg)}.dog.sleep .eye{opacity:0}.dog.sleep .eyec{opacity:1}.treat{z-index:45;background:var(--a4);color:var(--on);gap:6px;position:fixed;bottom:16px;right:16px}.treat:disabled{opacity:.6}.tbowl{background:var(--pop);border:3px solid var(--line);border-radius:0 0 22px 22px;width:44px;height:18px;margin-left:-22px;animation:.4s ease-out drop;position:absolute}.tbowl i{background:#d9a066;border:2px solid #14141a;border-radius:4px;width:12px;height:7px;position:absolute;top:-8px}.tbowl i:first-child{left:3px}.tbowl i:nth-child(2){top:-12px;left:14px}.tbowl i:nth-child(3){left:24px}.tbowl.gone{opacity:0;transition:opacity .4s}@keyframes drop{0%{opacity:0;transform:translateY(-60px)}}@keyframes leg{to{transform:rotate(18deg)}}@keyframes bob{to{transform:translateY(-2px)}}@keyframes wag{to{transform:rotate(-30deg)}}@keyframes bk{to{transform:translateY(-3px)rotate(-8deg)}}@keyframes munch{to{transform:translate(2px,6px)rotate(14deg)}}@keyframes zz{0%{opacity:0;transform:translate(0)}50%{opacity:1}to{opacity:0;transform:translate(14px,-22px)}}.zz{color:var(--ink);font:800 14px Syne,sans-serif;animation:2s infinite zz;position:absolute;top:-10px;right:0}@media (width<=600px){.dog{width:56px;height:50px}.treat{min-height:40px;padding:0 12px;font-size:12px}}@media (hover:none){html,body,*{cursor:auto}}.pin text{opacity:0;transition:opacity .2s}.pin.on text{opacity:1}.stamp .n{overflow-wrap:normal;word-break:normal;font-size:clamp(11px,1.2vw,16px)}.zone,.zone:hover,.zone.hit{background:0 0!important;border:0!important}.zone:hover{background:radial-gradient(circle,var(--zh) 0 30%,transparent 31%)!important}body{overflow-wrap:break-word}.syne{letter-spacing:.01em;line-height:1.15}h1{letter-spacing:0;line-height:1}h2{letter-spacing:0;padding-bottom:.06em;line-height:1.02}.card .t{padding-bottom:2px;line-height:1.1}#mq{line-height:1.3}.stamp .n,.syne{overflow:visible}h1,h2,.bod{font-variation-settings:"SOFT" 50,"WONK" 0;font-synthesis:none}h1{overflow-wrap:normal;word-break:keep-all}.syne,h1,h2,.card .t,.stamp .n,.faq .q,.sub{overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none}.card>span:first-child{width:100%;display:block;container-type:inline-size}.card .t{font-size:clamp(20px,2.4vw,32px)}.stamp .nw{width:100%;display:block;container-type:inline-size}.stamp .n{white-space:nowrap;font-size:13px;display:block}@supports (width:1cqw){.card .t{font-size:clamp(16px,7.8cqw,42px)}.stamp .n{font-size:clamp(10px,8cqw,17px)}}.map .ld{fill:var(--card);stroke:var(--line);stroke-width:.7px;stroke-linejoin:round}.map .ld.visit{fill:var(--a3);stroke-width:.9px;transition:fill .25s}.map .ld.visit.seen{fill:var(--a1)}.map .ld.visit.on{fill:var(--pop)}.dog{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.dog,.dog *{cursor:grab}.dog.held,.dog.held *{cursor:grabbing}.dog.held{z-index:60}.dog.held .body{transform:scaleX(var(--f,1)) translateY(-12px) rotate(-6deg) scale(1.15)}.dog.held svg{filter:drop-shadow(0 14px #14141a29)}.dog.held .shadow{opacity:.08}.dog.held .l1{animation:.22s infinite alternate leg}.dog.held .l2{animation:.22s infinite alternate-reverse leg}.dog.held .tail{animation-duration:.2s}.dog.held .tongue{opacity:1}.dog.plop .body{animation:.45s ease-out plop}@keyframes plop{0%{transform:scaleX(var(--f,1)) translateY(-12px)}55%{transform:scaleX(var(--f,1)) scale(1.12,.84)}to{transform:scaleX(var(--f,1))}}.dog .haunch{opacity:0;transition:opacity .2s}.dog.sit .haunch{opacity:1}.dog.sit .legs rect:first-child,.dog.sit .legs rect:nth-child(2){opacity:0}.dog.sit .legs rect:nth-child(3),.dog.sit .legs rect:nth-child(4){transform-origin:bottom;transform:translate(-3px)scaleY(1.8)}.dog.sit .trunk,.dog.sit .patch{transform-box:view-box;transform-origin:15px 60px;transform:rotate(-20deg)}.dog.sit .head{transform:translate(-6px,-13px)}.dog.sit .tongue{opacity:1}.dog.sit .tail{animation-duration:.25s}.dog-hint{z-index:45;background:var(--bar);min-width:120px;max-width:calc(100vw - 200px);color:var(--barfg);border:3px solid var(--line);pointer-events:none;padding:6px 10px;font:700 12px/1.4 Space Mono,monospace;transition:opacity .6s;position:fixed;bottom:16px;left:16px}.nbowl{pointer-events:auto;z-index:2;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;width:64px;height:60px;padding:0;transition-property:transform;transition-timing-function:ease-in-out;position:absolute;top:0;left:0}.nbowl,.nbowl *{cursor:grab}.nbowl.held,.nbowl.held *{cursor:grabbing}.nbowl svg{width:100%;height:100%;color:var(--ink);display:block;overflow:visible}.nbowl .bw{filter:drop-shadow(0 3px #14141a40);width:100%;height:100%;animation:1.6s ease-in-out infinite alternate nbob;display:block}.nbowl .st{animation:1.6s ease-in-out infinite steam}.nbowl .nd{transition:opacity .3s}.nbowl.empty .nd{opacity:0}.nbowl.held{z-index:60}.nbowl.held .bw{animation:none;transform:rotate(-8deg)scale(1.15)}.nbowl.hit .bw{animation:.45s ease-out nhit}.nbowl .nsay{background:var(--card);color:var(--ink);border:2px solid var(--line);white-space:nowrap;opacity:0;pointer-events:none;border-radius:10px;padding:2px 8px;font:800 13px/1.3 Space Grotesk,sans-serif;transition:opacity .2s;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.nbowl .nsay.show{opacity:1}@keyframes nbob{to{transform:translateY(-4px)rotate(2deg)}}@keyframes nhit{0%{transform:scale(1)}40%{transform:scale(1.25,.8)}to{transform:scale(1)}}@media (width<=600px){.nbowl{width:52px;height:48px}}#gk svg{overflow:visible}#gk svg g{transform-box:view-box}#gk .rig{transform-origin:70px 110px;transition:transform .3s ease-out}#gk .upper{transform-origin:46px 94px;transition:transform .25s ease-out;transform:rotate(65deg)}#gk .fore{transform-origin:46px 116px;transition:transform .25s ease-out;transform:rotate(105deg)}#gk .legL{transform-origin:56px 148px;transition:transform .3s ease-out}#gk .legR{transform-origin:84px 148px;transition:transform .3s ease-out}#gk .ponytail{transform-origin:96px 40px}#gk .eyes{transform-origin:70px 54px}#gk .eyec,#gk .smug{opacity:0}#gk[data-pose=ready] .torso{transform-origin:70px 130px;animation:2.2s ease-in-out infinite alternate gkbreath}#gk[data-pose=ready] .arm{animation:1.1s ease-in-out infinite alternate gkbounce}#gk[data-pose=ready] .ponytail{animation:1.8s ease-in-out infinite alternate gksway}#gk[data-pose=ready] .eyes{animation:4s infinite gkblink}#gk[data-pose=dive-left] .rig{transform:rotate(-60deg)}#gk[data-pose=dive-right] .rig{transform:rotate(60deg)}#gk[data-pose^=dive] .upper{transform:rotate(172deg)}#gk[data-pose^=dive] .fore{transform:rotate(0)}#gk[data-pose=dive-left] .legL{transform:rotate(-18deg)}#gk[data-pose=dive-left] .legR{transform:rotate(14deg)}#gk[data-pose=dive-right] .legL{transform:rotate(-14deg)}#gk[data-pose=dive-right] .legR{transform:rotate(18deg)}#gk[data-pose=save-high] .rig{transform:translateY(-12px)}#gk[data-pose=save-high] .upper{transform:rotate(168deg)}#gk[data-pose=save-high] .fore{transform:rotate(0)}#gk[data-pose=save-high] .legL{transform:rotate(-8deg)}#gk[data-pose=save-high] .legR{transform:rotate(8deg)}#gk[data-pose=save-low] .rig{transform:translateY(10px)scale(1.05,.88)}#gk[data-pose=save-low] .upper{transform:rotate(28deg)}#gk[data-pose=save-low] .fore{transform:rotate(8deg)}#gk[data-pose=save-low] .legL{transform:rotate(14deg)}#gk[data-pose=save-low] .legR{transform:rotate(-14deg)}#gk[data-pose=celebrate] .rig{animation:.5s ease-out 2 gkhop}#gk[data-pose=celebrate] .upper{transform:rotate(24deg)}#gk[data-pose=celebrate] .fore{transform:rotate(22deg)}#gk[data-pose=celebrate] .armRw .upper{animation:.35s ease-in-out infinite alternate gkpump;transform:rotate(150deg)}#gk[data-pose=celebrate] .armRw .fore{transform:rotate(40deg)}#gk[data-pose=celebrate] .eyes{opacity:0}#gk[data-pose=celebrate] .eyec,#gk[data-pose=celebrate] .smug{opacity:1}#gk[data-pose=celebrate] .smirk{opacity:0}@keyframes gkbreath{to{transform:scale(1.025,1.04)}}@keyframes gkbounce{to{transform:translateY(-2.5px)}}@keyframes gksway{0%{transform:rotate(-5deg)}to{transform:rotate(8deg)}}@keyframes gkblink{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes gkpump{to{transform:rotate(176deg)}}@keyframes gkhop{0%,to{transform:translateY(0)}40%{transform:translateY(-14px)}}[data-theme=dark]{--gks:#3a3d52;--gkb:#2e3040}[data-theme=dark] #gk svg{filter:drop-shadow(0 0 1.5px #f5f5fa99)}@media (prefers-reduced-motion:reduce){#gk *{transition:none!important;animation:none!important}}#klayer{pointer-events:none;z-index:55;position:fixed;inset:0;overflow:hidden}.kball{will-change:transform,opacity;transition:opacity .5s;position:absolute;top:0;left:0}.kball svg{filter:drop-shadow(0 2px #14141a33);width:100%;height:100%;display:block;overflow:visible}.ksh{will-change:transform;background:#14141a;border-radius:50%;transition:opacity .5s;position:absolute;top:0;left:0}#sky{z-index:-1;pointer-events:none;background:var(--dot) 0 0/var(--ds) var(--ds),radial-gradient(120% 75% at 86% 0,#1b2250 0,#1b225000 62%),linear-gradient(#05060f 0,#090a1b 52%,#0a0a0f 100%);display:none;position:fixed;inset:0;overflow:hidden}[data-theme=dark] #sky{display:block}#skyc{width:100%;height:100%;position:absolute;inset:0}#sky .moon{top:calc(max(15vh,120px) + env(safe-area-inset-top));right:calc(clamp(12px,2.4vw,44px) + env(safe-area-inset-right));aspect-ratio:1;will-change:transform;filter:drop-shadow(0 0 12px #fff0c880)drop-shadow(0 0 42px #ffe8a040);width:clamp(64px,9vw,130px);position:absolute}#sky .moon:before{content:"";background:radial-gradient(circle,#ffecb42e 0,#ffecb400 62%);position:absolute;inset:-70%}#sky .moon svg{width:100%;height:100%;display:block;position:relative}#sky .shoot{transform-origin:100%;opacity:0;will-change:transform,opacity;background:linear-gradient(90deg,#fff0,#fff);border-radius:2px;width:140px;height:2px;position:absolute;top:0;left:0;box-shadow:0 0 6px 1px #c8e1ff99}[data-theme=dark] header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0fc2}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}.ej-paused *,.ej-paused :before,.ej-paused :after{animation-play-state:paused!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}header{padding:calc(12px + env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) 12px max(24px,env(safe-area-inset-left));flex-wrap:nowrap;gap:12px}.logo{min-width:0;margin-right:auto}.logo-name{white-space:nowrap;font-size:20px}nav{flex-wrap:nowrap}.hact{align-items:center;gap:8px;display:flex}#mode{white-space:nowrap;gap:8px;min-height:48px}#mode .mi{flex:none;display:block}#mode .mi-sun,[data-theme=dark] #mode .mi-moon{display:none}[data-theme=dark] #mode .mi-sun{display:block}.burger{background:var(--a3);width:48px;height:48px;color:var(--on);border:3px solid var(--line);box-shadow:var(--sh);flex:none;padding:0;display:none;position:relative}.burger span{background:currentColor;height:3px;transition:transform .2s,opacity .2s;position:absolute;left:11px;right:11px}.burger span:first-child{top:12px}.burger span:nth-child(2){top:19px}.burger span:nth-child(3){top:26px}.burger[aria-expanded=true] span:first-child{transform:translateY(7px)rotate(45deg)}.burger[aria-expanded=true] span:nth-child(2){opacity:0}.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.burger:active{box-shadow:none;transform:translate(3px,3px)}@media (width<=700px){header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));gap:8px}.burger{display:block}nav{max-height:calc(100dvh - 72px);padding:4px max(16px,env(safe-area-inset-right)) 12px max(16px,env(safe-area-inset-left));background:var(--bg);border-bottom:3px solid var(--line);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:calc(100% + 3px);left:0;right:0;overflow-y:auto;box-shadow:0 10px #14141a24}header.open nav{display:flex}nav a{border-bottom:2px solid var(--net);align-items:center;min-height:56px;padding:0 4px;font-size:16px;display:flex}nav a:last-child{border-bottom:0}nav a:focus-visible{outline-offset:-4px}}@media (width<=560px){#mode{width:48px;padding:0}#mode .mt{display:none}}@media (width<=420px){.logo-name{font-size:15px}}@media (width<=359px){.logo-name{display:none}}.sec,.hero{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.hero{overflow-x:clip}@media (width<=420px){.sec,.hero{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}footer{padding:40px max(24px,env(safe-area-inset-right)) calc(76px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.treat{right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom))}.dog-hint{left:calc(16px + env(safe-area-inset-left));bottom:calc(16px + env(safe-area-inset-bottom));max-width:calc(100vw - 210px - env(safe-area-inset-left) - env(safe-area-inset-right))}@media (width<=600px){.dog-hint{right:calc(16px + env(safe-area-inset-right));max-width:none;bottom:calc(16px + 40px + 10px + env(safe-area-inset-bottom))}html.hint-on footer{padding-bottom:calc(150px + env(safe-area-inset-bottom))}}.mapscroll{scrollbar-width:none;-ms-overflow-style:none;overscroll-behavior-x:contain;overflow:auto hidden}.mapscroll::-webkit-scrollbar{display:none}.mapin{position:relative}.mapin .sn{display:none}.mapscroll:focus-visible{outline-offset:-4px}@media (width<=599px){.mapscroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.mapscroll.following{scroll-snap-type:none}.mapin{width:clamp(760px,200vw,1000px)}.mapin .sn{scroll-snap-align:start;pointer-events:none;width:34%;height:1px;display:block;position:absolute;top:0;left:0}.mapin .sn.s2{left:33%}.mapin .sn.s3{left:66%}.pin text{font-size:19px}.pin circle{r:8}.pin.on circle{r:12}.stamps{grid-template-columns:repeat(2,minmax(0,1fr))}.arena{padding:12px}.scene{aspect-ratio:4/3;min-height:0}.goal{height:74%;top:5%;left:3%;right:3%}.zones{gap:3px;padding:3px}.zone{min-height:44px}.keeper{width:24%}}@media (prefers-reduced-motion:no-preference){.rv{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0s);transform:translateY(28px)}.rv.in{opacity:1;transform:none}}@media (hover:hover) and (pointer:fine){.card.lift:hover,.stamp.lift:hover{transform:translate(-3px,-3px) perspective(800px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}}.tline:focus-within{outline:3px solid var(--pop);outline-offset:-3px}.zone:focus-visible{outline-offset:-5px}.tchip:focus-visible,.burger:focus-visible{outline-offset:2px}.dog.jump .body{animation:.55s cubic-bezier(.2,.7,.3,1) djump}@keyframes djump{0%{transform:scaleX(var(--f,1))}35%{transform:scaleX(var(--f,1)) translateY(-36px) rotate(-8deg)}70%{transform:scaleX(var(--f,1)) translateY(0) scale(1.12,.84)}to{transform:scaleX(var(--f,1))}}@keyframes djumps{0%,to{transform:scaleX(var(--f,1))}40%{transform:scaleX(var(--f,1)) translateY(-10px)}}@media (prefers-reduced-motion:reduce){.dog.jump .body{animation-name:djumps}}#ej-toast{z-index:9999;background:var(--bar);max-width:min(92vw,420px);color:var(--barfg);border:3px solid var(--line);box-shadow:var(--sh);text-align:center;opacity:0;pointer-events:none;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;padding:10px 14px;font:700 13px/1.4 Space Mono,monospace;transition:opacity .25s,transform .25s;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%,-8px)}#ej-toast.show{opacity:1;transform:translate(-50%)}#ej-toast.act{pointer-events:auto}#ej-toast button{background:var(--a1);min-height:36px;color:var(--on);border:2px solid var(--line);padding:0 12px;font:700 13px Space Mono,monospace}.goal.scored{animation:.5s ease-out netpop}@keyframes netpop{0%{transform:scale(1)}30%{transform:scale(1.02,1.03)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.goal.scored{animation:none}}
