*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:system-ui,-apple-system,PingFang SC,Microsoft YaHei,sans-serif;background:radial-gradient(900px 480px at 85% -5%,rgba(240,185,11,.16) 0,transparent 60%),radial-gradient(1000px 560px at 8% 0,rgba(240,185,11,.1) 0,transparent 55%),radial-gradient(1200px 700px at 50% -10%,#141a20 0,#0b0e11 58%) fixed,#0b0e11;color:#eaecef;min-height:100vh}a{color:inherit}.wrap{max-width:760px;margin:0 auto;padding:14px 14px 96px}.card{background:linear-gradient(165deg,rgba(30,35,41,.94),rgba(17,20,24,.97));border:1px solid rgba(240,185,11,.17);border-radius:18px;padding:15px;margin-bottom:13px;box-shadow:0 12px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(252,213,53,.08)}.card h3{margin:0 0 8px;font-size:16px}.muted{color:#848e9c;font-size:13px;line-height:1.55}.small{font-size:12px;color:#848e9c}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,#f8d33a,#f0b90b);color:#1e2329;border:0;cursor:pointer;padding:10px 16px;border-radius:12px;font-size:15px;font-weight:600;text-decoration:none;box-shadow:0 6px 18px rgba(240,185,11,.35),inset 0 1px 0 rgba(255,255,255,.35)}.btn:active{transform:scale(.98)}.btn.blue{background:linear-gradient(180deg,#3d3423,#241d0e);color:#f8d33a;border:1px solid rgba(240,185,11,.45);box-shadow:0 6px 18px rgba(0,0,0,.4),inset 0 1px 0 rgba(252,213,53,.15)}.btn.ghost{background:rgba(30,35,41,.85);color:#eaecef;border:1px solid rgba(240,185,11,.26);font-weight:500;box-shadow:inset 0 1px 0 rgba(252,213,53,.08)}.btn.sm{padding:7px 12px;font-size:13px;border-radius:10px}.btn:disabled{opacity:.45;cursor:not-allowed}.inp{width:100%;padding:11px 12px;border-radius:10px;border:1px solid #2b3138;background:#12161c;color:#eaecef;font-size:15px;outline:none}.inp:focus{border-color:#f0b90b}.chip{display:inline-block;padding:2px 9px;border-radius:999px;background:rgba(30,35,41,.9);border:1px solid rgba(240,185,11,.28);font-size:12px;color:#eaecef}.bar{height:9px;background:#12161c;border-radius:99px;overflow:hidden;border:1px solid #2b3138}.bar>div{height:100%;background:linear-gradient(90deg,#f0b90b,#f8d33a);border-radius:99px}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.stat{text-align:center;padding:10px 4px}.stat b{display:block;font-size:20px}.stat span{font-size:12px;color:#848e9c}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}table.tbl{width:100%;border-collapse:collapse;font-size:14px}table.tbl td,table.tbl th{padding:8px 6px;border-bottom:1px solid #23282f;text-align:left}table.tbl th{color:#848e9c;font-weight:500;font-size:12px}.err{background:#3a1620;border:1px solid #6e2436;color:#ffb9c6;border-radius:12px}.err,.ok{padding:10px 12px;font-size:13px;margin-bottom:12px}.ok{background:#123324;border:1px solid #1f5c3d;color:#a9e8c6;border-radius:12px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;background:rgba(11,14,17,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid #2b3138;display:flex;padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.tabbar a{flex:1 1;text-align:center;text-decoration:none;color:#848e9c;font-size:11px;padding:4px 0 2px;letter-spacing:.02em;transition:color .15s ease}.tabbar a .ico{display:flex;align-items:center;justify-content:center;width:44px;height:27px;margin:0 auto 1px;border-radius:999px;transition:background .15s ease,transform .1s ease}.tabbar a:active .ico{transform:scale(.92)}.tabbar a.on{color:#f8d33a;font-weight:600}.tabbar a.on .ico{background:rgba(240,185,11,.14)}.tabbar a.center .ico{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:-20px auto 1px;border-radius:50%;background:linear-gradient(160deg,#f8d33a,#f0b90b);border:2px solid #0b0e11;box-shadow:0 5px 16px rgba(240,185,11,.5);color:#1e2329}.tabbar a.center{color:#eaecef}.tabbar a.center.on{color:#fff}.tabbar a.center.on .ico{background:linear-gradient(160deg,#f5dd96,#f0b90b);box-shadow:0 5px 18px rgba(240,185,11,.6)}.spin{display:inline-block;width:16px;height:16px;border:2px solid #2b3138;border-top-color:#f0b90b;border-radius:50%;animation:sp .8s linear infinite;vertical-align:-3px}@keyframes sp{to{transform:rotate(1turn)}}.petEmoji{font-size:44px;line-height:1}.petmk-wrap{background:transparent;border:none}.petmk{width:38px;height:38px;border-radius:50%;overflow:visible;position:relative}.petmk img{object-fit:cover;box-shadow:0 2px 10px rgba(0,0,0,.55);background:#161a1e}.petmk .petmk-dot,.petmk img{width:38px;height:38px;border-radius:50%;border:2.5px solid var(--ring);display:block}.petmk .petmk-dot{background:var(--ring)}.petmk.stealable:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(240,185,11,.9);animation:mkpulse 1.3s ease-out infinite}.petmk.mine img{border-color:#f8d33a}.petmk.npc img{filter:saturate(.45)}@keyframes mkpulse{0%{transform:scale(.8);opacity:1}to{transform:scale(1.25);opacity:0}}.leaflet-popup-content-wrapper{background:#1e2329;color:#eaecef;border:1px solid #474d57;border-radius:12px}.leaflet-popup-tip{background:#1e2329}.leaflet-popup-content{margin:11px 13px;font-size:13px;line-height:1.5}.mkpop .mkdim{color:#848e9c;font-size:12px}.mkpop .mkbtns{margin-top:8px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}.mkpop .mkbtns button{background:linear-gradient(180deg,#f8d33a,#f0b90b);color:#1e2329;font-weight:600;border:none;padding:5px 11px;border-radius:999px;font-size:12px;cursor:pointer}.mkpop .mkbtns a{color:#f8d33a;font-size:12px;text-decoration:none}.mkpop .mkchip{font-size:12px;color:#f0b90b}.leaflet-container{font:inherit}.mapframe{position:relative;border-radius:16px;overflow:hidden;border:1px solid rgba(240,185,11,.3);box-shadow:0 14px 34px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.35)}.mapvignette{position:absolute;inset:0;pointer-events:none;z-index:500;box-shadow:inset 0 0 90px rgba(3,5,7,.6),inset 0 1px 0 rgba(252,213,53,.1);border-radius:16px}.leaflet-tile-pane{filter:invert(1) grayscale(1) sepia(.28) saturate(3.4) hue-rotate(4deg) brightness(.94) contrast(1.16)}.leaflet-control-zoom{border:1px solid rgba(240,185,11,.32)!important;box-shadow:0 6px 16px rgba(0,0,0,.4)!important;border-radius:10px!important;overflow:hidden}.leaflet-control-zoom a{background:rgba(22,26,30,.94)!important;color:#eaecef!important;border:none!important;width:32px!important;height:32px!important;line-height:32px!important}.leaflet-control-attribution{background:rgba(11,14,17,.65)!important;color:#5e6673!important;font-size:9px!important}.leaflet-control-attribution a{color:#5e6673!important}.grad-title{background:linear-gradient(92deg,#ffffff,#ffe97a 42%,#fcd535 68%,#f0b90b);-webkit-background-clip:text;background-clip:text;color:transparent}.arenamk{width:30px;height:30px;border-radius:50%;background:linear-gradient(160deg,#fcd535,#f0b90b);border:2px solid #0b0e11;box-shadow:0 3px 12px rgba(240,185,11,.55);display:flex;align-items:center;justify-content:center}.t3d{background:linear-gradient(180deg,#fffbe8,#ffe97a 34%,#fcd535 55%,#c9930a 82%,#f0b90b);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 #d29d0c) drop-shadow(0 2px 0 #b38007) drop-shadow(0 3px 0 #8f6605) drop-shadow(0 4px 0 #6d4d04) drop-shadow(0 5px 0 #4e3602) drop-shadow(0 6px 0 #332302) drop-shadow(0 12px 18px rgba(0,0,0,.72))}.card h3{color:#ffdf6b;font-weight:700;-webkit-text-stroke:.4px rgba(51,35,2,.55);text-shadow:0 -1px 0 rgba(255,246,200,.5),0 1px 0 #d29d0c,0 2px 0 #b38007,0 3px 0 #8f6605,0 4px 0 #6d4d04,0 5px 0 #4e3602,0 6px 0 #332302,0 10px 15px rgba(0,0,0,.65);letter-spacing:.02em}h2{text-shadow:0 1px 0 #d29d0c,0 2px 0 #b38007,0 3px 0 #8f6605,0 4px 0 #6d4d04,0 5px 0 #4e3602,0 6px 0 #332302,0 10px 15px rgba(0,0,0,.6)}.gateway-page .card h3,.gateway-page h2{text-shadow:0 1px 2px rgba(0,0,0,.35)}.btn{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(122,84,4,.55),0 5px 0 #8a6408,0 9px 18px rgba(0,0,0,.45)}.btn:active{transform:translateY(3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -1px 0 rgba(122,84,4,.5),0 2px 0 #8a6408,0 5px 12px rgba(0,0,0,.4)}.chip{box-shadow:inset 0 1px 0 rgba(255,255,255,.07),inset 0 -1px 0 rgba(0,0,0,.35)}