poi-plugin-compass 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (452) hide show
  1. package/README.md +79 -0
  2. package/air-status.js +28 -0
  3. package/assets/compass.css +647 -0
  4. package/assets/kcnav/icons/map_common/136.png +0 -0
  5. package/assets/kcnav/icons/map_common/137.png +0 -0
  6. package/assets/kcnav/icons/map_common/19.png +0 -0
  7. package/assets/kcnav/icons/map_main/17.png +0 -0
  8. package/assets/kcnav/icons/map_main/18.png +0 -0
  9. package/assets/kcnav/icons/map_main/40.png +0 -0
  10. package/assets/kcnav/icons/map_main/42.png +0 -0
  11. package/assets/kcnav/icons/map_main/46.png +0 -0
  12. package/assets/kcnav/icons/map_main/47.png +0 -0
  13. package/assets/kcnav/icons/map_main/48.png +0 -0
  14. package/assets/kcnav/icons/map_main/53.png +0 -0
  15. package/assets/kcnav/icons/map_main/54.png +0 -0
  16. package/assets/kcnav/icons/map_main/62.png +0 -0
  17. package/assets/kcnav/maps/1-1.webp +0 -0
  18. package/assets/kcnav/maps/1-2.webp +0 -0
  19. package/assets/kcnav/maps/1-3.webp +0 -0
  20. package/assets/kcnav/maps/1-4.webp +0 -0
  21. package/assets/kcnav/maps/1-5.webp +0 -0
  22. package/assets/kcnav/maps/1-6.webp +0 -0
  23. package/assets/kcnav/maps/2-1.webp +0 -0
  24. package/assets/kcnav/maps/2-2.webp +0 -0
  25. package/assets/kcnav/maps/2-3.webp +0 -0
  26. package/assets/kcnav/maps/2-4.webp +0 -0
  27. package/assets/kcnav/maps/2-5.webp +0 -0
  28. package/assets/kcnav/maps/3-1.webp +0 -0
  29. package/assets/kcnav/maps/3-2.webp +0 -0
  30. package/assets/kcnav/maps/3-3.webp +0 -0
  31. package/assets/kcnav/maps/3-4.webp +0 -0
  32. package/assets/kcnav/maps/3-5.webp +0 -0
  33. package/assets/kcnav/maps/4-1.webp +0 -0
  34. package/assets/kcnav/maps/4-2.webp +0 -0
  35. package/assets/kcnav/maps/4-3.webp +0 -0
  36. package/assets/kcnav/maps/4-4.webp +0 -0
  37. package/assets/kcnav/maps/4-5.webp +0 -0
  38. package/assets/kcnav/maps/5-1.webp +0 -0
  39. package/assets/kcnav/maps/5-2.webp +0 -0
  40. package/assets/kcnav/maps/5-3.webp +0 -0
  41. package/assets/kcnav/maps/5-4.webp +0 -0
  42. package/assets/kcnav/maps/5-5.webp +0 -0
  43. package/assets/kcnav/maps/5-6.webp +0 -0
  44. package/assets/kcnav/maps/6-1.webp +0 -0
  45. package/assets/kcnav/maps/6-2.webp +0 -0
  46. package/assets/kcnav/maps/6-3.webp +0 -0
  47. package/assets/kcnav/maps/6-4.webp +0 -0
  48. package/assets/kcnav/maps/6-5.webp +0 -0
  49. package/assets/kcnav/maps/7-1.webp +0 -0
  50. package/assets/kcnav/maps/7-2.webp +0 -0
  51. package/assets/kcnav/maps/7-3.webp +0 -0
  52. package/assets/kcnav/maps/7-4.webp +0 -0
  53. package/assets/kcnav/maps/7-5.webp +0 -0
  54. package/data/kc3kai-master-ids.json +1 -0
  55. package/data/kc3kai-ship-stats.json +21545 -0
  56. package/data/kcnav-node-types-by-map.json +606 -0
  57. package/data/kcnav-node-types.json +176 -0
  58. package/data/los-config.json +42 -0
  59. package/data/maps.json +590 -0
  60. package/data/normal-maps.json +1590 -0
  61. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-1/A.json +1 -0
  62. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-1/B.json +1 -0
  63. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-1/C.json +1 -0
  64. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-2/A.json +1 -0
  65. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-2/C.json +1 -0
  66. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-2/D.json +1 -0
  67. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-2/E.json +1 -0
  68. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-3/C.json +1 -0
  69. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-3/E.json +1 -0
  70. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-3/F.json +1 -0
  71. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-3/J.json +1 -0
  72. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-4/B.json +1 -0
  73. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-4/D.json +1 -0
  74. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-4/H.json +1 -0
  75. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-4/I.json +1 -0
  76. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-4/J.json +1 -0
  77. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-4/L.json +1 -0
  78. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/A.json +1 -0
  79. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/C.json +1 -0
  80. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/D.json +1 -0
  81. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/E.json +1 -0
  82. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/F.json +1 -0
  83. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/H.json +1 -0
  84. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/I.json +1 -0
  85. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-5/J.json +1 -0
  86. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/B.json +1 -0
  87. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/C.json +1 -0
  88. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/D.json +1 -0
  89. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/E.json +1 -0
  90. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/F.json +1 -0
  91. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/I.json +1 -0
  92. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/J.json +1 -0
  93. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/K.json +1 -0
  94. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/1-6/L.json +1 -0
  95. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-1/A.json +1 -0
  96. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-1/C.json +1 -0
  97. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-1/D.json +1 -0
  98. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-1/F.json +1 -0
  99. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-1/H.json +1 -0
  100. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-2/B.json +1 -0
  101. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-2/D.json +1 -0
  102. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-2/E.json +1 -0
  103. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-2/G.json +1 -0
  104. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-2/K.json +1 -0
  105. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/A.json +1 -0
  106. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/E.json +1 -0
  107. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/F.json +1 -0
  108. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/J.json +1 -0
  109. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/K.json +1 -0
  110. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/M.json +1 -0
  111. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-3/N.json +1 -0
  112. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/B.json +1 -0
  113. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/E.json +1 -0
  114. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/F.json +1 -0
  115. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/I.json +1 -0
  116. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/L.json +1 -0
  117. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/M.json +1 -0
  118. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-4/P.json +1 -0
  119. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/B.json +1 -0
  120. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/C.json +1 -0
  121. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/E.json +1 -0
  122. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/F.json +1 -0
  123. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/J.json +1 -0
  124. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/L.json +1 -0
  125. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/2-5/O.json +1 -0
  126. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-1/B.json +1 -0
  127. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-1/C.json +1 -0
  128. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-1/D.json +1 -0
  129. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-1/F.json +1 -0
  130. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-1/G.json +1 -0
  131. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-2/A.json +1 -0
  132. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-2/C.json +1 -0
  133. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-2/H.json +1 -0
  134. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-2/J.json +1 -0
  135. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-2/K.json +1 -0
  136. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-2/L.json +1 -0
  137. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-3/A.json +1 -0
  138. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-3/B.json +1 -0
  139. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-3/E.json +1 -0
  140. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-3/G.json +1 -0
  141. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-3/K.json +1 -0
  142. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-3/M.json +1 -0
  143. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/A.json +1 -0
  144. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/B.json +1 -0
  145. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/C.json +1 -0
  146. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/G.json +1 -0
  147. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/H.json +1 -0
  148. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/I.json +1 -0
  149. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/M.json +1 -0
  150. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/N.json +1 -0
  151. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-4/P.json +1 -0
  152. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/B.json +1 -0
  153. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/D.json +1 -0
  154. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/E.json +1 -0
  155. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/F.json +1 -0
  156. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/G.json +1 -0
  157. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/H.json +1 -0
  158. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/3-5/K.json +1 -0
  159. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/A.json +1 -0
  160. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/C.json +1 -0
  161. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/D.json +1 -0
  162. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/E.json +1 -0
  163. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/G.json +1 -0
  164. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/H.json +1 -0
  165. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-1/J.json +1 -0
  166. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/A.json +1 -0
  167. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/B.json +1 -0
  168. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/C.json +1 -0
  169. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/D.json +1 -0
  170. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/E.json +1 -0
  171. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/G.json +1 -0
  172. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/H.json +1 -0
  173. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-2/L.json +1 -0
  174. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/A.json +1 -0
  175. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/C.json +1 -0
  176. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/D.json +1 -0
  177. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/F.json +1 -0
  178. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/G.json +1 -0
  179. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/H.json +1 -0
  180. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/I.json +1 -0
  181. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/L.json +1 -0
  182. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-3/N.json +1 -0
  183. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/A.json +1 -0
  184. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/B.json +1 -0
  185. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/E.json +1 -0
  186. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/F.json +1 -0
  187. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/G.json +1 -0
  188. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/H.json +1 -0
  189. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/I.json +1 -0
  190. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-4/K.json +1 -0
  191. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/B.json +1 -0
  192. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/D.json +1 -0
  193. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/E.json +1 -0
  194. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/F.json +1 -0
  195. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/G.json +1 -0
  196. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/H.json +1 -0
  197. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/J.json +1 -0
  198. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/K.json +1 -0
  199. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/N.json +1 -0
  200. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/O.json +1 -0
  201. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/S.json +1 -0
  202. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/4-5/T.json +1 -0
  203. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-1/B.json +1 -0
  204. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-1/D.json +1 -0
  205. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-1/E.json +1 -0
  206. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-1/F.json +1 -0
  207. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-1/G.json +1 -0
  208. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-1/J.json +1 -0
  209. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/C.json +1 -0
  210. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/D.json +1 -0
  211. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/E.json +1 -0
  212. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/F.json +1 -0
  213. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/I.json +1 -0
  214. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/K.json +1 -0
  215. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/L.json +1 -0
  216. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-2/O.json +1 -0
  217. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/C.json +1 -0
  218. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/I.json +1 -0
  219. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/J.json +1 -0
  220. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/K.json +1 -0
  221. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/M.json +1 -0
  222. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/N.json +1 -0
  223. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/P.json +1 -0
  224. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-3/Q.json +1 -0
  225. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/C.json +1 -0
  226. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/E.json +1 -0
  227. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/F.json +1 -0
  228. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/G.json +1 -0
  229. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/H.json +1 -0
  230. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/J.json +1 -0
  231. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/L.json +1 -0
  232. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-4/P.json +1 -0
  233. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/B.json +1 -0
  234. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/C.json +1 -0
  235. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/G.json +1 -0
  236. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/H.json +1 -0
  237. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/J.json +1 -0
  238. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/K.json +1 -0
  239. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/M.json +1 -0
  240. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/N.json +1 -0
  241. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/P.json +1 -0
  242. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-5/S.json +1 -0
  243. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/A.json +1 -0
  244. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/A1.json +1 -0
  245. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/A2.json +1 -0
  246. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/B.json +1 -0
  247. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/C.json +1 -0
  248. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/C1.json +1 -0
  249. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/C2.json +1 -0
  250. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/D.json +1 -0
  251. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/G.json +1 -0
  252. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/H.json +1 -0
  253. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/J.json +1 -0
  254. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/K.json +1 -0
  255. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/K1.json +1 -0
  256. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/K2.json +1 -0
  257. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/L.json +1 -0
  258. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/N.json +1 -0
  259. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/P.json +1 -0
  260. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/Q.json +1 -0
  261. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/Q1.json +1 -0
  262. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/Q2.json +1 -0
  263. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/T.json +1 -0
  264. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/U.json +1 -0
  265. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/V.json +1 -0
  266. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/W.json +1 -0
  267. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/X.json +1 -0
  268. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/5-6/Z.json +1 -0
  269. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/C.json +1 -0
  270. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/D.json +1 -0
  271. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/F.json +1 -0
  272. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/H.json +1 -0
  273. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/I.json +1 -0
  274. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/J.json +1 -0
  275. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-1/K.json +1 -0
  276. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/B.json +1 -0
  277. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/C.json +1 -0
  278. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/F.json +1 -0
  279. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/H.json +1 -0
  280. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/I.json +1 -0
  281. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/J.json +1 -0
  282. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-2/K.json +1 -0
  283. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-3/B.json +1 -0
  284. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-3/C.json +1 -0
  285. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-3/D.json +1 -0
  286. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-3/E.json +1 -0
  287. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-3/F.json +1 -0
  288. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-3/J.json +1 -0
  289. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/A.json +1 -0
  290. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/B.json +1 -0
  291. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/C.json +1 -0
  292. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/D.json +1 -0
  293. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/E.json +1 -0
  294. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/F.json +1 -0
  295. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/G.json +1 -0
  296. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/H.json +1 -0
  297. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/I.json +1 -0
  298. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/J.json +1 -0
  299. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/K.json +1 -0
  300. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/L.json +1 -0
  301. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/M.json +1 -0
  302. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-4/N.json +1 -0
  303. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/A.json +1 -0
  304. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/B.json +1 -0
  305. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/C.json +1 -0
  306. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/D.json +1 -0
  307. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/E.json +1 -0
  308. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/F.json +1 -0
  309. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/G.json +1 -0
  310. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/H.json +1 -0
  311. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/I.json +1 -0
  312. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/J.json +1 -0
  313. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/6-5/M.json +1 -0
  314. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/B.json +1 -0
  315. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/C.json +1 -0
  316. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/D.json +1 -0
  317. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/F.json +1 -0
  318. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/G.json +1 -0
  319. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/H.json +1 -0
  320. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-1/K.json +1 -0
  321. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/B.json +1 -0
  322. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/C.json +1 -0
  323. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/E.json +1 -0
  324. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/G.json +1 -0
  325. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/H.json +1 -0
  326. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/I.json +1 -0
  327. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/J.json +1 -0
  328. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-2/M.json +1 -0
  329. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/B.json +1 -0
  330. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/C.json +1 -0
  331. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/D.json +1 -0
  332. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/E.json +1 -0
  333. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/J.json +1 -0
  334. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/M.json +1 -0
  335. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/N.json +1 -0
  336. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-3/P.json +1 -0
  337. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/B.json +1 -0
  338. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/C.json +1 -0
  339. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/D.json +1 -0
  340. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/E.json +1 -0
  341. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/G.json +1 -0
  342. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/H.json +1 -0
  343. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/J.json +1 -0
  344. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/K.json +1 -0
  345. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/L.json +1 -0
  346. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/M.json +1 -0
  347. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-4/P.json +1 -0
  348. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/A.json +1 -0
  349. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/B.json +1 -0
  350. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/C.json +1 -0
  351. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/D.json +1 -0
  352. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/E.json +1 -0
  353. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/G.json +1 -0
  354. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/J.json +1 -0
  355. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/K.json +1 -0
  356. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/L.json +1 -0
  357. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/M.json +1 -0
  358. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/N.json +1 -0
  359. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/Q.json +1 -0
  360. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/R.json +1 -0
  361. package/data/sources/kcnav/enemies/2026-08-11_2026-09-11/7-5/T.json +1 -0
  362. package/data/sources/kcnav/enemies/manifest.json +2120 -0
  363. package/data/sources/kcnav/maps/1-1.json +175 -0
  364. package/data/sources/kcnav/maps/1-2.json +277 -0
  365. package/data/sources/kcnav/maps/1-3.json +517 -0
  366. package/data/sources/kcnav/maps/1-4.json +652 -0
  367. package/data/sources/kcnav/maps/1-5.json +553 -0
  368. package/data/sources/kcnav/maps/1-6.json +668 -0
  369. package/data/sources/kcnav/maps/2-1.json +451 -0
  370. package/data/sources/kcnav/maps/2-2.json +557 -0
  371. package/data/sources/kcnav/maps/2-3.json +757 -0
  372. package/data/sources/kcnav/maps/2-4.json +817 -0
  373. package/data/sources/kcnav/maps/2-5.json +779 -0
  374. package/data/sources/kcnav/maps/3-1.json +379 -0
  375. package/data/sources/kcnav/maps/3-2.json +588 -0
  376. package/data/sources/kcnav/maps/3-3.json +654 -0
  377. package/data/sources/kcnav/maps/3-4.json +910 -0
  378. package/data/sources/kcnav/maps/3-5.json +643 -0
  379. package/data/sources/kcnav/maps/4-1.json +561 -0
  380. package/data/sources/kcnav/maps/4-2.json +664 -0
  381. package/data/sources/kcnav/maps/4-3.json +867 -0
  382. package/data/sources/kcnav/maps/4-4.json +690 -0
  383. package/data/sources/kcnav/maps/4-5.json +1232 -0
  384. package/data/sources/kcnav/maps/5-1.json +517 -0
  385. package/data/sources/kcnav/maps/5-2.json +791 -0
  386. package/data/sources/kcnav/maps/5-3.json +889 -0
  387. package/data/sources/kcnav/maps/5-4.json +851 -0
  388. package/data/sources/kcnav/maps/5-5.json +1070 -0
  389. package/data/sources/kcnav/maps/5-6.json +3200 -0
  390. package/data/sources/kcnav/maps/6-1.json +527 -0
  391. package/data/sources/kcnav/maps/6-2.json +717 -0
  392. package/data/sources/kcnav/maps/6-3.json +501 -0
  393. package/data/sources/kcnav/maps/6-4.json +870 -0
  394. package/data/sources/kcnav/maps/6-5.json +814 -0
  395. package/data/sources/kcnav/maps/7-1.json +640 -0
  396. package/data/sources/kcnav/maps/7-2.json +976 -0
  397. package/data/sources/kcnav/maps/7-3.json +1529 -0
  398. package/data/sources/kcnav/maps/7-4.json +1000 -0
  399. package/data/sources/kcnav/maps/7-5.json +1570 -0
  400. package/data/sources/kcnav/maps/manifest.json +340 -0
  401. package/data/sources/kcwiki/routes/1-1.wiki +2 -0
  402. package/data/sources/kcwiki/routes/1-2.wiki +1 -0
  403. package/data/sources/kcwiki/routes/1-3.wiki +1 -0
  404. package/data/sources/kcwiki/routes/1-4.wiki +1 -0
  405. package/data/sources/kcwiki/routes/1-5.wiki +1 -0
  406. package/data/sources/kcwiki/routes/1-6.wiki +1 -0
  407. package/data/sources/kcwiki/routes/2-1.wiki +1 -0
  408. package/data/sources/kcwiki/routes/2-2.wiki +1 -0
  409. package/data/sources/kcwiki/routes/2-3.wiki +1 -0
  410. package/data/sources/kcwiki/routes/2-4.wiki +81 -0
  411. package/data/sources/kcwiki/routes/2-5.wiki +1 -0
  412. package/data/sources/kcwiki/routes/3-1.wiki +1 -0
  413. package/data/sources/kcwiki/routes/3-2.wiki +1 -0
  414. package/data/sources/kcwiki/routes/3-3.wiki +1 -0
  415. package/data/sources/kcwiki/routes/3-4.wiki +1 -0
  416. package/data/sources/kcwiki/routes/3-5.wiki +1 -0
  417. package/data/sources/kcwiki/routes/4-1.wiki +1 -0
  418. package/data/sources/kcwiki/routes/4-2.wiki +1 -0
  419. package/data/sources/kcwiki/routes/4-3.wiki +1 -0
  420. package/data/sources/kcwiki/routes/4-4.wiki +1 -0
  421. package/data/sources/kcwiki/routes/4-5.wiki +1 -0
  422. package/data/sources/kcwiki/routes/5-1.wiki +57 -0
  423. package/data/sources/kcwiki/routes/5-2.wiki +1 -0
  424. package/data/sources/kcwiki/routes/5-3.wiki +1 -0
  425. package/data/sources/kcwiki/routes/5-4.wiki +1 -0
  426. package/data/sources/kcwiki/routes/5-5.wiki +80 -0
  427. package/data/sources/kcwiki/routes/5-6.wiki +753 -0
  428. package/data/sources/kcwiki/routes/6-1.wiki +1 -0
  429. package/data/sources/kcwiki/routes/6-2.wiki +1 -0
  430. package/data/sources/kcwiki/routes/6-3.wiki +1 -0
  431. package/data/sources/kcwiki/routes/6-4.wiki +1 -0
  432. package/data/sources/kcwiki/routes/6-5.wiki +1 -0
  433. package/data/sources/kcwiki/routes/7-1.wiki +1 -0
  434. package/data/sources/kcwiki/routes/7-2.wiki +1 -0
  435. package/data/sources/kcwiki/routes/7-3.wiki +1 -0
  436. package/data/sources/kcwiki/routes/7-4.wiki +1 -0
  437. package/data/sources/kcwiki/routes/7-5.wiki +1 -0
  438. package/data/sources/kcwiki/routes/README.md +11 -0
  439. package/data/sources/kcwiki/routes/manifest.json +450 -0
  440. package/docs/research.md +445 -0
  441. package/docs/sources.md +85 -0
  442. package/enemies.js +56 -0
  443. package/exporters.js +182 -0
  444. package/index.js +1081 -0
  445. package/logic.js +603 -0
  446. package/overview.js +54 -0
  447. package/package.json +66 -0
  448. package/scripts/cache-kcnav-enemies.js +97 -0
  449. package/scripts/cache-kcnav-maps.js +109 -0
  450. package/scripts/cache-kcwiki-routes.js +96 -0
  451. package/scripts/compact-kcnav-enemies.js +53 -0
  452. package/scripts/compress-kcnav-maps.js +90 -0
@@ -0,0 +1,647 @@
1
+ .poi-compass {
2
+ min-height: 100%;
3
+ padding: 10px;
4
+ color: var(--color-text, #f1f5f9);
5
+ background: var(--color-background, #20242b);
6
+ box-sizing: border-box;
7
+ font-size: 13px;
8
+ }
9
+
10
+ .compass-titlebar {
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: center;
14
+ min-height: 30px;
15
+ margin: -10px -10px 8px;
16
+ border-bottom: 1px solid #657080;
17
+ background: #282e38;
18
+ }
19
+
20
+ .compass-titlebar h3 {
21
+ margin: 0;
22
+ color: #ffffff;
23
+ font-size: 15px;
24
+ font-weight: 700;
25
+ letter-spacing: 0.08em;
26
+ }
27
+
28
+ .compass-toolbar,
29
+ .compass-manual {
30
+ display: flex;
31
+ align-items: center;
32
+ }
33
+
34
+ .compass-toolbar {
35
+ min-height: 30px;
36
+ gap: 8px;
37
+ margin-bottom: 8px;
38
+ }
39
+
40
+ .compass-toolbar-fleet,
41
+ .compass-toolbar-node {
42
+ color: #d8e1ed;
43
+ white-space: nowrap;
44
+ }
45
+
46
+ .compass-toolbar-fleet {
47
+ display: flex;
48
+ align-items: center;
49
+ gap: 8px;
50
+ overflow: hidden;
51
+ text-overflow: ellipsis;
52
+ }
53
+
54
+ .compass-fleet-portraits { display: flex; align-items: center; gap: 3px; flex-shrink: 0; }
55
+ .compass-fleet-select { background: #303844; color: #f1f5f9; border: 1px solid #687587; border-radius: 3px; padding: 4px; }
56
+ .compass-los-icons { display: flex; gap: 6px; flex-shrink: 0; }
57
+ .compass-los-item { display: inline-flex; align-items: center; gap: 4px; }
58
+ .compass-los-value { color: #a9daf8; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
59
+ .compass-fleet-air { color: #91d9b2; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; flex-shrink: 0; }
60
+ .compass-los-icon { position: relative; display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; }
61
+ .compass-los-icon img { width: 28px; height: 28px; }
62
+ .compass-los-coefficient { position: absolute; right: -1px; bottom: -3px; font-size: 14px; font-weight: 800; color: white; -webkit-text-stroke: 3px #151a22; paint-order: stroke fill; }
63
+ .compass-portrait {
64
+ position: relative;
65
+ display: inline-flex;
66
+ align-items: center;
67
+ flex-shrink: 0;
68
+ overflow: hidden;
69
+ border-radius: 50%;
70
+ background: #344454;
71
+ box-shadow: 0 0 0 1px #8898aa;
72
+ vertical-align: middle;
73
+ }
74
+ .compass-portrait img { display: block; flex: none; max-width: none; }
75
+ .compass-portrait-missing { width: 100%; text-align: center; font-size: 9px; color: #d5deea; }
76
+ .compass-panel-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
77
+ .compass-panel-heading h4 { margin: 0; }
78
+ .compass-enemy-region { margin-top: 10px; }
79
+ .compass-overview dl { display: grid; grid-template-columns: 110px 1fr; gap: 8px; }
80
+ .compass-overview dd { margin: 0; font-variant-numeric: tabular-nums; }
81
+ .compass-overview dl { align-items: center; }
82
+ .compass-overview dd { font-size: 19px; font-weight: 650; color: #c8d8ed; }
83
+ .compass-overview dd.compass-overview-air { font-size: 27px; color: #91d9b2; }
84
+ .compass-overview dd.compass-overview-los { font-size: 27px; color: #8ecbff; }
85
+ .compass-overview dd small { font-size: 13px; font-weight: 400; color: #c8d8ed; }
86
+ .compass-enemy-ship { display: inline-flex; align-items: center; gap: 5px; }
87
+ .compass-enemy-ship.is-escort-start { border-left: 1px solid #687587; padding-left: 8px; }
88
+
89
+ .compass-toolbar-node {
90
+ color: #9fe0b0;
91
+ font-weight: 600;
92
+ }
93
+
94
+ .compass-map-select {
95
+ position: relative;
96
+ flex-shrink: 0;
97
+ min-width: 64px;
98
+ }
99
+
100
+ .compass-map-select summary,
101
+ .compass-reset,
102
+ .compass-manual button,
103
+ .compass-phase-group button {
104
+ color: #f1f5f9;
105
+ border: 1px solid #687587;
106
+ border-radius: 3px;
107
+ background: #303844;
108
+ padding: 4px 8px;
109
+ }
110
+
111
+ .compass-map-select summary {
112
+ cursor: pointer;
113
+ }
114
+
115
+ .compass-map-matrix {
116
+ position: absolute;
117
+ top: calc(100% + 5px);
118
+ left: 0;
119
+ z-index: 30;
120
+ width: min(370px, calc(100vw - 44px));
121
+ padding: 8px;
122
+ box-sizing: border-box;
123
+ border: 1px solid #7c90a8;
124
+ border-radius: 4px;
125
+ background: #252e3a;
126
+ box-shadow: 0 5px 18px #0008;
127
+ }
128
+
129
+ .compass-map-matrix-row {
130
+ display: grid;
131
+ grid-template-columns: 66px repeat(6, minmax(0, 1fr));
132
+ gap: 3px;
133
+ align-items: center;
134
+ }
135
+
136
+ .compass-map-matrix-row + .compass-map-matrix-row {
137
+ margin-top: 4px;
138
+ }
139
+
140
+ .compass-map-area {
141
+ color: #c9d8e7;
142
+ font-size: 12px;
143
+ }
144
+
145
+ .compass-map-matrix button {
146
+ min-height: 30px;
147
+ padding: 3px 0;
148
+ border: 1px solid #687d96;
149
+ border-radius: 3px;
150
+ background: #354254;
151
+ color: #edf4fc;
152
+ cursor: pointer;
153
+ font-variant-numeric: tabular-nums;
154
+ }
155
+
156
+ .compass-map-matrix button:hover,
157
+ .compass-map-matrix button:focus-visible {
158
+ background: #4a6078;
159
+ outline: 2px solid #bfe1f7;
160
+ outline-offset: -2px;
161
+ }
162
+
163
+ .compass-map-matrix button.is-active {
164
+ background: #285b48;
165
+ border-color: #9fe0b0;
166
+ color: #fff;
167
+ font-weight: 700;
168
+ }
169
+
170
+ .compass-reset,
171
+ .compass-manual button,
172
+ .compass-phase-group button {
173
+ cursor: pointer;
174
+ }
175
+
176
+ .compass-reset:hover,
177
+ .compass-reset:focus,
178
+ .compass-manual button:hover,
179
+ .compass-manual button:focus,
180
+ .compass-phase-group button:hover,
181
+ .compass-phase-group button:focus {
182
+ border-color: #b8c7d9;
183
+ background: #3a4655;
184
+ }
185
+
186
+ .compass-warnings {
187
+ margin-bottom: 8px;
188
+ padding: 6px 8px;
189
+ border-left: 3px solid #e0af56;
190
+ color: #f6d58e;
191
+ background: rgba(224, 175, 86, 0.14);
192
+ }
193
+
194
+ .compass-layout {
195
+ display: flex;
196
+ align-items: stretch;
197
+ gap: 10px;
198
+ }
199
+
200
+ .compass-map-panel {
201
+ min-width: 0;
202
+ flex: 1 1 auto;
203
+ overflow: auto;
204
+ border: 1px solid #596576;
205
+ background: rgba(0, 0, 0, 0.16);
206
+ }
207
+
208
+ .compass-map {
209
+ display: block;
210
+ width: 100%;
211
+ min-height: 520px;
212
+ }
213
+
214
+ .compass-map-background {
215
+ opacity: 0.32;
216
+ pointer-events: none;
217
+ }
218
+
219
+ .compass-node-air-state { font-size: 18px; font-weight: 750; fill: white; stroke: #151a22; stroke-width: 3px; paint-order: stroke fill; stroke-linejoin: round; }
220
+
221
+ .compass-edge {
222
+ outline: none;
223
+ }
224
+
225
+ .compass-edge line {
226
+ stroke: #8cbce0;
227
+ stroke-width: 4;
228
+ opacity: 0.85;
229
+ transition: stroke 120ms ease, stroke-width 120ms ease, opacity 120ms ease;
230
+ }
231
+
232
+ .compass-edge.is-reachable line {
233
+ opacity: 1;
234
+ }
235
+
236
+ .compass-edge.is-probability-high line {
237
+ stroke: #78d99a;
238
+ stroke-width: 7;
239
+ }
240
+
241
+ .compass-edge.is-probability-medium line {
242
+ stroke: #8fc9f1;
243
+ stroke-width: 5;
244
+ }
245
+
246
+ .compass-edge.is-probability-low line {
247
+ stroke: #91c4e8;
248
+ stroke-width: 4.5;
249
+ }
250
+
251
+ .compass-edge.is-probability-zero line {
252
+ stroke: #8cbce0;
253
+ stroke-width: 4;
254
+ opacity: 0.85;
255
+ }
256
+
257
+ .compass-edge.is-passed line {
258
+ stroke-width: 6;
259
+ opacity: 1;
260
+ }
261
+
262
+ .compass-edge.is-passed.is-probability-high line {
263
+ stroke-width: 8;
264
+ }
265
+
266
+ .compass-edge.is-passed.is-probability-medium line {
267
+ stroke-width: 7;
268
+ }
269
+
270
+ .compass-edge.is-passed.is-probability-zero line {
271
+ stroke-width: 6;
272
+ }
273
+
274
+ .compass-edge.is-manual-choice {
275
+ cursor: pointer;
276
+ }
277
+
278
+ .compass-edge.is-manual-choice:hover line,
279
+ .compass-edge.is-manual-choice:focus line {
280
+ stroke: #f4d476;
281
+ stroke-width: 8;
282
+ }
283
+
284
+ .compass-edge-label {
285
+ fill: #e2e8f0;
286
+ font-size: 18px;
287
+ font-weight: 800;
288
+ text-anchor: middle;
289
+ paint-order: stroke;
290
+ stroke: var(--color-background, #20242b);
291
+ stroke-width: 5px;
292
+ stroke-linejoin: round;
293
+ }
294
+
295
+ .compass-node {
296
+ cursor: pointer;
297
+ outline: none;
298
+ }
299
+
300
+ .compass-node-shape {
301
+ vector-effect: non-scaling-stroke;
302
+ transition: filter 120ms ease, stroke-width 120ms ease;
303
+ }
304
+
305
+ .compass-node-simple-border {
306
+ fill: none;
307
+ pointer-events: none;
308
+ vector-effect: non-scaling-stroke;
309
+ }
310
+
311
+ .compass-node-icon,
312
+ .compass-node-icon-secondary {
313
+ pointer-events: none;
314
+ }
315
+
316
+ .compass-node:hover .compass-node-shape,
317
+ .compass-node:focus .compass-node-shape {
318
+ filter: brightness(1.12);
319
+ }
320
+
321
+ .compass-node.is-selected .compass-node-shape {
322
+ stroke: #f4d476;
323
+ filter: brightness(1.06);
324
+ }
325
+
326
+ .compass-node.is-current .compass-node-shape {
327
+ stroke: #8fe0a2;
328
+ stroke-width: 4;
329
+ }
330
+
331
+ .compass-node.is-manual-target .compass-node-shape {
332
+ stroke: #f4d476;
333
+ stroke-dasharray: 4 3;
334
+ }
335
+
336
+ .compass-node.is-manual-target:hover .compass-node-shape,
337
+ .compass-node.is-manual-target:focus .compass-node-shape {
338
+ filter: brightness(1.15);
339
+ }
340
+
341
+ .compass-node-label {
342
+ text-anchor: middle;
343
+ pointer-events: none;
344
+ }
345
+
346
+ .compass-node-label {
347
+ fill: #ffffff;
348
+ stroke: #000000;
349
+ stroke-width: 3px;
350
+ font-weight: 700;
351
+ paint-order: stroke;
352
+ stroke-linejoin: round;
353
+ }
354
+
355
+ .compass-sidebar {
356
+ flex: 0 0 360px;
357
+ min-width: 280px;
358
+ }
359
+
360
+ .compass-panel {
361
+ position: relative;
362
+ margin-bottom: 10px;
363
+ padding: 9px;
364
+ border: 1px solid #596576;
365
+ background: rgba(0, 0, 0, 0.13);
366
+ }
367
+
368
+ .compass-panel h4 {
369
+ margin: 0 0 7px;
370
+ color: #ffffff;
371
+ font-size: 14px;
372
+ }
373
+
374
+ .compass-conditions {
375
+ display: flex;
376
+ flex-direction: column;
377
+ gap: 3px;
378
+ }
379
+
380
+ .compass-condition {
381
+ position: relative;
382
+ display: flex;
383
+ align-items: center;
384
+ min-height: 27px;
385
+ gap: 6px;
386
+ padding: 3px 5px;
387
+ border-left: 3px solid #9aa8ba;
388
+ color: #e8edf4;
389
+ background: rgba(255, 255, 255, 0.045);
390
+ outline: none;
391
+ }
392
+
393
+ .compass-condition.is-true {
394
+ border-left-color: #7edb97;
395
+ }
396
+
397
+ .compass-condition.is-false {
398
+ border-left-color: #d47f8a;
399
+ color: #b5beca;
400
+ }
401
+
402
+ .compass-enemy-period {
403
+ color: #c9d8e7;
404
+ font-size: 11px;
405
+ margin-bottom: 6px;
406
+ }
407
+
408
+ .compass-enemy-air-range {
409
+ color: #bfe1f7;
410
+ margin-bottom: 8px;
411
+ }
412
+
413
+ .compass-enemy-list {
414
+ max-height: 440px;
415
+ overflow: auto;
416
+ }
417
+
418
+ .compass-enemy-entry {
419
+ border-bottom: 1px solid #556579;
420
+ color: #edf3fa;
421
+ }
422
+
423
+ .compass-enemy-entry summary {
424
+ display: grid;
425
+ grid-template-columns: 58px 64px minmax(238px, 1fr) 190px;
426
+ align-items: center;
427
+ gap: 6px;
428
+ padding: 7px 2px;
429
+ cursor: pointer;
430
+ font-size: 12px;
431
+ }
432
+
433
+ .compass-enemy-entry summary:hover,
434
+ .compass-enemy-entry summary:focus-visible {
435
+ background: #3a4655;
436
+ }
437
+
438
+ .compass-enemy-share,
439
+ .compass-enemy-air {
440
+ color: #bfe1f7;
441
+ flex-shrink: 0;
442
+ font-variant-numeric: tabular-nums;
443
+ }
444
+
445
+ .compass-enemy-fleet {
446
+ display: grid;
447
+ grid-template-columns: repeat(6, 34px);
448
+ gap: 8px 6px;
449
+ min-width: 0;
450
+ overflow: hidden;
451
+ white-space: nowrap;
452
+ text-overflow: ellipsis;
453
+ }
454
+
455
+ .compass-enemy-detail {
456
+ padding: 4px 6px 10px;
457
+ line-height: 1.7;
458
+ font-size: 12px;
459
+ overflow-wrap: anywhere;
460
+ }
461
+
462
+ .compass-enemy-entry { min-width: 590px; }
463
+ .compass-enemy-stats { margin-top: 8px; }
464
+ .compass-enemy-stat-row {
465
+ display: grid;
466
+ grid-template-columns: 40px repeat(5, 54px) minmax(160px, 1fr);
467
+ align-items: center;
468
+ gap: 8px;
469
+ padding: 4px 0;
470
+ font-variant-numeric: tabular-nums;
471
+ }
472
+ .compass-enemy-stat-row > span:not(:first-child):not(:last-child) { text-align: right; }
473
+ .compass-enemy-stat-row.is-escort-start { border-top: 1px solid #687587; margin-top: 5px; }
474
+ .compass-enemy-air { text-align: right; white-space: nowrap; }
475
+
476
+ .compass-condition.is-unknown {
477
+ border-left-color: #e0af56;
478
+ }
479
+
480
+ .compass-condition.is-active {
481
+ background: rgba(126, 219, 151, 0.17);
482
+ box-shadow: inset 0 0 0 1px rgba(126, 219, 151, 0.32);
483
+ }
484
+
485
+ .compass-condition:hover,
486
+ .compass-condition:focus {
487
+ background: #3a4655;
488
+ }
489
+
490
+ .compass-condition-icon {
491
+ flex: 0 0 15px;
492
+ color: #c7d2df;
493
+ font-size: 15px;
494
+ font-weight: 700;
495
+ text-align: center;
496
+ }
497
+
498
+ .compass-condition.is-true .compass-condition-icon,
499
+ .compass-condition.is-active .compass-condition-icon {
500
+ color: #8fe0a2;
501
+ }
502
+
503
+ .compass-condition.is-false .compass-condition-icon {
504
+ color: #ef9ba5;
505
+ }
506
+
507
+ .compass-condition.is-unknown .compass-condition-icon {
508
+ color: #f4cf7b;
509
+ }
510
+
511
+ .compass-condition-label {
512
+ min-width: 0;
513
+ overflow: hidden;
514
+ text-overflow: ellipsis;
515
+ white-space: nowrap;
516
+ }
517
+
518
+ .compass-condition-outcomes {
519
+ flex: 0 0 auto;
520
+ margin-left: auto;
521
+ color: #bfe1f7;
522
+ white-space: nowrap;
523
+ }
524
+
525
+ .compass-condition-popover {
526
+ position: absolute;
527
+ z-index: 10;
528
+ top: calc(100% + 4px);
529
+ right: 0;
530
+ display: none;
531
+ width: 260px;
532
+ padding: 8px 9px;
533
+ border: 1px solid #8392a5;
534
+ border-radius: 3px;
535
+ color: #f1f5f9;
536
+ background: #252c36;
537
+ box-shadow: 0 5px 18px rgba(0, 0, 0, 0.35);
538
+ line-height: 1.5;
539
+ }
540
+
541
+ .compass-condition:hover .compass-condition-popover,
542
+ .compass-condition:focus .compass-condition-popover {
543
+ display: block;
544
+ }
545
+
546
+ .compass-manual {
547
+ flex-wrap: wrap;
548
+ gap: 6px;
549
+ margin-top: 8px;
550
+ padding-top: 8px;
551
+ border-top: 1px solid #596576;
552
+ }
553
+
554
+ .compass-manual strong {
555
+ flex-basis: 100%;
556
+ color: #f4d476;
557
+ font-size: 12px;
558
+ }
559
+
560
+ .compass-manual button.is-active {
561
+ border-color: #8fe0a2;
562
+ background: rgba(143, 224, 162, 0.2);
563
+ }
564
+
565
+ .compass-phase-group {
566
+ display: inline-flex;
567
+ flex: 0 0 auto;
568
+ }
569
+
570
+ .compass-phase-group button {
571
+ border-radius: 0;
572
+ }
573
+
574
+ .compass-phase-group button:first-child {
575
+ border-radius: 3px 0 0 3px;
576
+ }
577
+
578
+ .compass-phase-group button:last-child {
579
+ border-radius: 0 3px 3px 0;
580
+ }
581
+
582
+ .compass-phase-group button + button {
583
+ margin-left: -1px;
584
+ }
585
+
586
+ .compass-phase-group button.is-active {
587
+ position: relative;
588
+ z-index: 1;
589
+ border-color: #8fe0a2;
590
+ background: rgba(143, 224, 162, 0.2);
591
+ }
592
+
593
+ .compass-warnings > div:first-child {
594
+ color: #ffb5b5;
595
+ }
596
+
597
+ .compass-muted,
598
+ .compass-empty-panel {
599
+ color: #c3cedb;
600
+ }
601
+
602
+ .compass-empty-panel {
603
+ padding: 12px;
604
+ }
605
+
606
+ .compass-export-route {
607
+ display: grid;
608
+ gap: 4px;
609
+ margin-bottom: 10px;
610
+ }
611
+
612
+ .compass-export-battle {
613
+ display: grid;
614
+ grid-template-columns: 32px 76px minmax(0, 1fr);
615
+ align-items: center;
616
+ gap: 6px;
617
+ margin-bottom: 6px;
618
+ }
619
+
620
+ .compass-export-panel select,
621
+ .compass-export-actions button {
622
+ min-width: 0;
623
+ padding: 4px;
624
+ color: #f1f5f9;
625
+ background: #303844;
626
+ border: 1px solid #687587;
627
+ border-radius: 3px;
628
+ }
629
+
630
+ .compass-export-actions {
631
+ display: flex;
632
+ gap: 8px;
633
+ margin: 10px 0;
634
+ }
635
+
636
+ .compass-export-actions button { padding: 5px 12px; cursor: pointer; }
637
+ .compass-export-actions button:disabled { opacity: 0.5; cursor: not-allowed; }
638
+
639
+ @media (max-width: 900px) {
640
+ .compass-layout {
641
+ display: block;
642
+ }
643
+
644
+ .compass-sidebar {
645
+ margin-top: 10px;
646
+ }
647
+ }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file