{"id":16295,"date":"2026-07-17T22:04:51","date_gmt":"2026-07-18T02:04:51","guid":{"rendered":"https:\/\/www.divetalking.com\/?page_id=16295"},"modified":"2026-07-18T07:58:32","modified_gmt":"2026-07-18T11:58:32","slug":"the-amazing-dtdl-divetalking-divelog","status":"publish","type":"page","link":"https:\/\/www.divetalking.com\/?page_id=16295","title":{"rendered":"Amazing DTDLDivelog"},"content":{"rendered":"\n<!--\n=======================================================================\n  DTDL Dive Log \u2014 Competitive Analysis Page\n  WordPress-optimised content block  |  v5.7.2  |  July 2026\n=======================================================================\n\nHOW TO USE\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n1. In WordPress Admin \u2192 Pages \u2192 Add New\n2. Switch the editor to \"Code editor\" (or use a Custom HTML block in Gutenberg)\n3. Paste this entire file as the page content\n4. Set the page template to \"Full Width\" \/ \"No Sidebar\" (theme-dependent)\n5. Publish\n\nOPTIONAL \u2014 Enqueue fonts via functions.php instead of @import\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nAdd to your theme's functions.php for better performance:\n\nfunction dtdl_ca_enqueue_fonts() {\n    if ( is_page( 'competitive-analysis' ) ) {   \/\/ use your page slug\n        wp_enqueue_style(\n            'dtdl-ca-fonts',\n            'https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap',\n            [],\n            null\n        );\n    }\n}\nadd_action( 'wp_enqueue_scripts', 'dtdl_ca_enqueue_fonts' );\n\nIf you add that to functions.php, delete the @import line inside the\n<style> block below (the line starting with @import url(...)).\n\nNOTES\n\u2500\u2500\u2500\u2500\u2500\u2500\n\u2022 All CSS is scoped to #dtdl-ca \u2014 no theme conflicts\n\u2022 All JS functions are prefixed dtdlCA_ \u2014 no WP\/jQuery conflicts\n\u2022 Anchor IDs are prefixed dtdl-ca- \u2014 no WP page ID conflicts\n\u2022 The WP admin bar (32px) is accounted for in the scroll offset JS\n\u2022 No jQuery dependency \u2014 vanilla JS only\n=======================================================================\n-->\n\n<div id=\"dtdl-ca\">\n\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');\n\n\/* \u2500\u2500 All rules scoped to #dtdl-ca \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   This ensures zero conflicts with WordPress, any theme, or any\n   other plugin that might be active on the same page.\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n\n#dtdl-ca {\n  --ca-deep:   #051929;\n  --ca-panel:  #0B2537;\n  --ca-card:   #112840;\n  --ca-border: #1E3F5C;\n  --ca-accent: #0EA5E9;\n  --ca-teal:   #0D9488;\n  --ca-green:  #22C55E;\n  --ca-red:    #EF4444;\n  --ca-amber:  #F59E0B;\n  --ca-t1:     #F0F9FF;\n  --ca-t2:     #94A3B8;\n  --ca-t3:     #64748B;\n  --ca-hi:     #38BDF8;\n  --ca-dtdlbg: rgba(14,165,233,0.10);\n  --ca-sonar:  rgba(14,165,233,0.06);\n\n  font-family: 'Inter', sans-serif;\n  background:  var(--ca-deep);\n  color:       var(--ca-t1);\n  font-size:   15px;\n  line-height: 1.65;\n  -webkit-font-smoothing: antialiased;\n  overflow-x: hidden;\n\n  \/*\n   * FULL-WIDTH BREAKOUT \u2014 works across all WP themes\n   * \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n   * Strategy: use a combination of negative margin and\n   * 100vw width to escape the theme's content column\n   * regardless of how wide that column is or what class\n   * contains it. The JS below sets the precise margin\n   * value based on the actual rendered offset, which\n   * handles every theme correctly.\n   *\/\n  width: 100vw;\n  position: relative;\n  left: 50%;\n  right: 50%;\n  margin-left: -50vw;\n  margin-right: -50vw;\n}\n\n\/* Reset only inside our wrapper *\/\n#dtdl-ca *, #dtdl-ca *::before, #dtdl-ca *::after {\n  box-sizing: border-box;\n}\n#dtdl-ca h1, #dtdl-ca h2, #dtdl-ca h3,\n#dtdl-ca h4, #dtdl-ca p, #dtdl-ca ul,\n#dtdl-ca ol, #dtdl-ca li, #dtdl-ca table,\n#dtdl-ca figure, #dtdl-ca blockquote {\n  margin: 0; padding: 0;\n}\n#dtdl-ca ul, #dtdl-ca ol { list-style: none; }\n#dtdl-ca a {\n  color: var(--ca-accent);\n  text-decoration: none;\n}\n#dtdl-ca a:hover { text-decoration: underline; }\n#dtdl-ca img { max-width: 100%; display: block; }\n\n\/* \u2500\u2500 Layout \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-container {\n  max-width: 1320px;\n  margin: 0 auto;\n  padding: 0 24px;\n}\n\n\/* \u2500\u2500 In-page sticky nav (replaces the full sticky header) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-subnav {\n  position: sticky;\n  top: 0;              \/* overridden by JS when WP admin bar present *\/\n  z-index: 50;\n  background: rgba(5,25,41,0.96);\n  border-bottom: 1px solid var(--ca-border);\n  backdrop-filter: blur(12px);\n  -webkit-backdrop-filter: blur(12px);\n  \/* Stretch edge-to-edge within the 100vw wrapper *\/\n  width: 100%;\n  left: 0;\n}\n#dtdl-ca .ca-subnav-inner {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 10px 0;\n  flex-wrap: wrap;\n  gap: 8px;\n}\n#dtdl-ca .ca-subnav-brand {\n  font-family: 'Syne', sans-serif;\n  font-size: 15px; font-weight: 800;\n  color: var(--ca-accent);\n  letter-spacing: -0.3px;\n  white-space: nowrap;\n}\n#dtdl-ca .ca-subnav-brand span {\n  color: var(--ca-t3);\n  font-weight: 400;\n  font-size: 12px;\n  margin-left: 8px;\n}\n#dtdl-ca .ca-subnav-links {\n  display: flex; gap: 4px; flex-wrap: wrap;\n}\n#dtdl-ca .ca-subnav-links a {\n  font-size: 12px; font-weight: 500;\n  color: var(--ca-t2);\n  padding: 5px 12px;\n  border-radius: 20px;\n  border: 1px solid transparent;\n  transition: all .18s;\n  white-space: nowrap;\n}\n#dtdl-ca .ca-subnav-links a:hover {\n  color: var(--ca-t1);\n  border-color: var(--ca-border);\n  background: var(--ca-card);\n  text-decoration: none;\n}\n\n\/* \u2500\u2500 Hero \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-hero {\n  padding: 90px 0 70px;\n  background:\n    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(14,165,233,0.08) 0%, transparent 70%),\n    var(--ca-deep);\n  border-bottom: 1px solid var(--ca-border);\n  text-align: center;\n}\n#dtdl-ca .ca-eyebrow {\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 11px; font-weight: 600;\n  color: var(--ca-teal);\n  letter-spacing: 3px;\n  text-transform: uppercase;\n  margin-bottom: 20px;\n  display: block;\n}\n#dtdl-ca .ca-hero h1 {\n  font-family: 'Syne', sans-serif;\n  font-size: clamp(36px, 6vw, 68px);\n  font-weight: 800;\n  line-height: 1.05;\n  letter-spacing: -2px;\n  color: var(--ca-t1);\n  margin-bottom: 22px;\n}\n#dtdl-ca .ca-hero h1 em {\n  font-style: normal;\n  background: linear-gradient(135deg, var(--ca-accent), var(--ca-teal));\n  -webkit-background-clip: text; -webkit-text-fill-color: transparent;\n  background-clip: text;\n}\n#dtdl-ca .ca-hero-sub {\n  max-width: 600px;\n  margin: 0 auto 40px;\n  font-size: 16px;\n  color: var(--ca-t2);\n  line-height: 1.7;\n}\n#dtdl-ca .ca-hero-stats {\n  display: flex;\n  justify-content: center;\n  gap: 48px;\n  flex-wrap: wrap;\n  margin-top: 48px;\n}\n#dtdl-ca .ca-stat { text-align: center; }\n#dtdl-ca .ca-stat-n {\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 40px; font-weight: 600;\n  color: var(--ca-accent);\n  line-height: 1;\n  display: block;\n}\n#dtdl-ca .ca-stat-l {\n  font-size: 11px;\n  color: var(--ca-t3);\n  text-transform: uppercase;\n  letter-spacing: 1.5px;\n  margin-top: 6px;\n  display: block;\n}\n\n\/* \u2500\u2500 Section shell \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-section { padding: 72px 0; }\n#dtdl-ca .ca-section-alt { background: var(--ca-panel); }\n#dtdl-ca .ca-section-title {\n  font-family: 'Syne', sans-serif;\n  font-size: 30px; font-weight: 800;\n  letter-spacing: -0.8px;\n  color: var(--ca-t1);\n  margin-bottom: 8px;\n}\n#dtdl-ca .ca-section-sub {\n  font-size: 14px;\n  color: var(--ca-t2);\n  margin-bottom: 44px;\n  max-width: 600px;\n}\n#dtdl-ca .ca-h3 {\n  font-family: 'Syne', sans-serif;\n  font-size: 15px; font-weight: 700;\n  color: var(--ca-t1);\n  margin-bottom: 8px;\n}\n\n\/* \u2500\u2500 New feature cards \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-new-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));\n  gap: 18px;\n}\n#dtdl-ca .ca-new-card {\n  background: var(--ca-card);\n  border: 1px solid var(--ca-border);\n  border-radius: 12px;\n  padding: 26px;\n  position: relative;\n  overflow: hidden;\n  transition: border-color .2s, transform .2s;\n}\n#dtdl-ca .ca-new-card::before {\n  content: '';\n  position: absolute; top: 0; left: 0; right: 0; height: 2px;\n  background: linear-gradient(90deg, var(--ca-accent), var(--ca-teal));\n}\n#dtdl-ca .ca-new-card:hover {\n  border-color: var(--ca-accent);\n  transform: translateY(-2px);\n}\n#dtdl-ca .ca-new-card-icon {\n  font-size: 26px;\n  margin-bottom: 12px;\n  display: block;\n}\n#dtdl-ca .ca-new-card h3 {\n  font-family: 'Syne', sans-serif;\n  font-size: 16px; font-weight: 700;\n  color: var(--ca-t1);\n  margin-bottom: 10px;\n}\n#dtdl-ca .ca-new-card p {\n  font-size: 13px;\n  color: var(--ca-t2);\n  line-height: 1.65;\n}\n#dtdl-ca .ca-badge {\n  display: inline-block;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 9px; font-weight: 600;\n  letter-spacing: 2px;\n  text-transform: uppercase;\n  color: var(--ca-accent);\n  background: rgba(14,165,233,0.12);\n  border-radius: 4px;\n  padding: 3px 7px;\n  margin-bottom: 10px;\n}\n\n\/* \u2500\u2500 Status key \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-key {\n  display: flex; flex-wrap: wrap; gap: 14px;\n  margin-bottom: 32px;\n  padding: 14px 18px;\n  background: var(--ca-card);\n  border: 1px solid var(--ca-border);\n  border-radius: 10px;\n}\n#dtdl-ca .ca-key-item {\n  display: flex; align-items: center; gap: 7px;\n  font-size: 13px; color: var(--ca-t2);\n}\n#dtdl-ca .ca-key-sym {\n  font-size: 16px; font-weight: 700; width: 22px; text-align: center;\n}\n\n\/* \u2500\u2500 Filter bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-filter-bar {\n  display: flex; flex-wrap: wrap; gap: 7px;\n  margin-bottom: 18px;\n}\n#dtdl-ca .ca-filter-btn {\n  font-family: 'Inter', sans-serif;\n  font-size: 12px; font-weight: 500;\n  padding: 5px 13px;\n  border-radius: 20px;\n  border: 1px solid var(--ca-border);\n  background: transparent;\n  color: var(--ca-t2);\n  cursor: pointer;\n  transition: all .15s;\n  line-height: 1.4;\n}\n#dtdl-ca .ca-filter-btn:hover,\n#dtdl-ca .ca-filter-btn.ca-active {\n  background: var(--ca-accent);\n  border-color: var(--ca-accent);\n  color: #fff;\n}\n\n\/* \u2500\u2500 Matrix table \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-matrix-wrap {\n  overflow-x: auto;\n  border-radius: 12px;\n  border: 1px solid var(--ca-border);\n  background: var(--ca-card);\n  -webkit-overflow-scrolling: touch;\n}\n#dtdl-ca .ca-matrix-wrap::-webkit-scrollbar { height: 5px; }\n#dtdl-ca .ca-matrix-wrap::-webkit-scrollbar-track { background: var(--ca-card); }\n#dtdl-ca .ca-matrix-wrap::-webkit-scrollbar-thumb {\n  background: var(--ca-border); border-radius: 3px;\n}\n#dtdl-ca .ca-matrix {\n  width: 100%; border-collapse: collapse;\n  min-width: 900px;\n}\n#dtdl-ca .ca-matrix thead th {\n  padding: 11px 9px;\n  font-size: 11px; font-weight: 600;\n  text-transform: uppercase; letter-spacing: 1px;\n  background: var(--ca-panel);\n  color: var(--ca-t2);\n  border-bottom: 2px solid var(--ca-border);\n  white-space: nowrap;\n  text-align: center;\n}\n#dtdl-ca .ca-matrix thead th:first-child {\n  text-align: left;\n  min-width: 230px;\n  padding-left: 18px;\n}\n#dtdl-ca .ca-matrix thead th.ca-col-dtdl {\n  background: var(--ca-dtdlbg);\n  color: var(--ca-hi);\n  border-bottom: 2px solid var(--ca-accent);\n}\n\n\/* Sticky first column *\/\n#dtdl-ca .ca-matrix td:first-child,\n#dtdl-ca .ca-matrix th:first-child {\n  position: sticky; left: 0; z-index: 5;\n}\n#dtdl-ca .ca-matrix td:first-child { background: var(--ca-card); }\n#dtdl-ca .ca-matrix th:first-child { background: var(--ca-panel); z-index: 10; }\n\n\/* Section header rows *\/\n#dtdl-ca .ca-matrix-sec td {\n  background: linear-gradient(90deg, rgba(13,148,136,0.18), rgba(13,148,136,0.06));\n  color: var(--ca-teal);\n  font-size: 10px; font-weight: 700;\n  text-transform: uppercase; letter-spacing: 2px;\n  padding: 9px 18px;\n  border-top: 1px solid var(--ca-border);\n  position: sticky; left: 0;\n}\n\n\/* Data rows *\/\n#dtdl-ca .ca-matrix tbody tr:not(.ca-matrix-sec) {\n  border-bottom: 1px solid rgba(30,63,92,0.5);\n  cursor: default;\n  transition: background .12s;\n}\n#dtdl-ca .ca-matrix tbody tr:not(.ca-matrix-sec):hover {\n  background: var(--ca-sonar);\n  animation: ca-sonar .45s ease-out;\n}\n@keyframes ca-sonar {\n  0%   { box-shadow: inset 3px 0 0 transparent; }\n  25%  { box-shadow: inset 3px 0 0 var(--ca-accent); }\n  100% { box-shadow: inset 3px 0 0 transparent; }\n}\n#dtdl-ca .ca-matrix td:first-child {\n  padding: 8px 10px 8px 18px;\n  font-size: 13px; color: var(--ca-t2); font-weight: 400;\n  white-space: nowrap;\n}\n#dtdl-ca .ca-matrix tbody tr:not(.ca-matrix-sec):hover td:first-child {\n  color: var(--ca-t1);\n}\n#dtdl-ca .ca-col-dtdl { background: var(--ca-dtdlbg) !important; }\n#dtdl-ca .ca-matrix td.ca-st {\n  text-align: center; padding: 8px 5px;\n  font-size: 15px; font-weight: 700; width: 76px;\n}\n#dtdl-ca .ca-y+  { color: var(--ca-hi); font-size: 17px; }\n#dtdl-ca .ca-y   { color: var(--ca-green); }\n#dtdl-ca .ca-p   { color: var(--ca-amber); }\n#dtdl-ca .ca-n   { color: rgba(239,68,68,0.45); font-size: 12px; }\n#dtdl-ca .ca-na  { color: var(--ca-t3); font-size: 11px; }\n\n\/* \u2500\u2500 Dimensions grid \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-dim-grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));\n  gap: 18px;\n}\n#dtdl-ca .ca-dim-card {\n  background: var(--ca-card);\n  border: 1px solid var(--ca-border);\n  border-radius: 12px;\n  padding: 26px 26px 26px 22px;\n  display: flex; gap: 18px;\n  transition: border-color .2s;\n}\n#dtdl-ca .ca-dim-card:hover { border-color: var(--ca-accent); }\n#dtdl-ca .ca-dim-num {\n  font-family: 'Syne', sans-serif;\n  font-size: 44px; font-weight: 800;\n  color: rgba(14,165,233,0.22);\n  line-height: 1; flex-shrink: 0; width: 46px;\n  margin-top: -3px;\n}\n#dtdl-ca .ca-dim-body h3 {\n  font-family: 'Syne', sans-serif;\n  font-size: 15px; font-weight: 700;\n  color: var(--ca-t1); margin-bottom: 7px; line-height: 1.3;\n}\n#dtdl-ca .ca-dim-body p {\n  font-size: 13px; color: var(--ca-t2); line-height: 1.65;\n}\n\n\/* \u2500\u2500 Competitor distinctives \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-comp-grid {\n  display: grid; gap: 1px;\n  background: var(--ca-border);\n  border: 1px solid var(--ca-border);\n  border-radius: 12px; overflow: hidden;\n}\n#dtdl-ca .ca-comp-row {\n  display: grid;\n  grid-template-columns: 190px 1fr;\n  background: var(--ca-card);\n}\n#dtdl-ca .ca-comp-name {\n  padding: 16px 18px;\n  font-size: 13px; font-weight: 600; color: var(--ca-t1);\n  background: var(--ca-panel);\n  border-right: 1px solid var(--ca-border);\n  display: flex; align-items: flex-start;\n}\n#dtdl-ca .ca-comp-detail {\n  padding: 16px 18px;\n  font-size: 13px; color: var(--ca-t2); line-height: 1.65;\n}\n\n\/* \u2500\u2500 Note \/ callout \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n#dtdl-ca .ca-note {\n  font-size: 13px; color: var(--ca-t2);\n  padding: 14px 18px;\n  background: rgba(14,165,233,0.06);\n  border-left: 3px solid var(--ca-accent);\n  border-radius: 0 8px 8px 0;\n  margin-bottom: 32px;\n  line-height: 1.65;\n}\n\n\/* \u2500\u2500 Responsive \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n@media (max-width: 768px) {\n  #dtdl-ca .ca-subnav-links { display: none; }\n  #dtdl-ca .ca-hero { padding: 56px 0 44px; }\n  #dtdl-ca .ca-hero-stats { gap: 28px; }\n  #dtdl-ca .ca-dim-grid { grid-template-columns: 1fr; }\n  #dtdl-ca .ca-comp-row { grid-template-columns: 1fr; }\n  #dtdl-ca .ca-comp-name {\n    border-right: none;\n    border-bottom: 1px solid var(--ca-border);\n  }\n  #dtdl-ca .ca-new-grid { grid-template-columns: 1fr; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  #dtdl-ca .ca-matrix tbody tr:not(.ca-matrix-sec):hover {\n    animation: none;\n  }\n  #dtdl-ca * { transition: none !important; }\n}\n<\/style>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     IN-PAGE SUB-NAVIGATION\n     Sits at top of content; sticky scroll offset accounts for WP\n     admin bar and theme header via JS below.\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<nav class=\"ca-subnav\" id=\"dtdl-ca-subnav\" aria-label=\"Page sections\">\n  <div class=\"ca-container\">\n    <div class=\"ca-subnav-inner\">\n      <div class=\"ca-subnav-brand\">DTDL <span>Competitive Analysis \u00b7 v5.7.2 \u00b7 July 2026<\/span><\/div>\n      <div class=\"ca-subnav-links\">\n        <a href=\"#dtdl-ca-new\">New in 5.7.2<\/a>\n        <a href=\"#dtdl-ca-matrix\">Feature Matrix<\/a>\n        <a href=\"#dtdl-ca-dimensions\">10 Dimensions<\/a>\n        <a href=\"#dtdl-ca-competitors\">Their Strengths<\/a>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/nav>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     HERO\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"ca-hero\" aria-labelledby=\"dtdl-ca-h1\">\n  <div class=\"ca-container\">\n    <span class=\"ca-eyebrow\">DTDL Dive Log &nbsp;\u00b7&nbsp; Version 5.7.2 &nbsp;\u00b7&nbsp; July 2026<\/span>\n    <h1 id=\"dtdl-ca-h1\">The most complete<br><em>dive log on the planet.<\/em><\/h1>\n    <p class=\"ca-hero-sub\">A feature-by-feature comparison against the eight most widely used dive log platforms. Every claim is verified against production code and current competitor products.<\/p>\n    <div class=\"ca-hero-stats\">\n      <div class=\"ca-stat\">\n        <span class=\"ca-stat-n\">100+<\/span>\n        <span class=\"ca-stat-l\">Features compared<\/span>\n      <\/div>\n      <div class=\"ca-stat\">\n        <span class=\"ca-stat-n\">8<\/span>\n        <span class=\"ca-stat-l\">Competitors analysed<\/span>\n      <\/div>\n      <div class=\"ca-stat\">\n        <span class=\"ca-stat-n\">10<\/span>\n        <span class=\"ca-stat-l\">Dimensions where DTDL leads<\/span>\n      <\/div>\n      <div class=\"ca-stat\">\n        <span class=\"ca-stat-n\">60<\/span>\n        <span class=\"ca-stat-l\">In-app help topics<\/span>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     WHAT'S NEW IN v5.7.2\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section id=\"dtdl-ca-new\" class=\"ca-section\">\n  <div class=\"ca-container\">\n    <span class=\"ca-eyebrow\">New in v5.7.2<\/span>\n    <h2 class=\"ca-section-title\">Six major additions since v5.7.1<\/h2>\n    <p class=\"ca-section-sub\">All features are live in production. DTDL does not list roadmap items \u2014 if it is listed here, it works.<\/p>\n    <div class=\"ca-new-grid\">\n\n      <div class=\"ca-new-card\">\n        <span class=\"ca-badge\">Industry First<\/span>\n        <span class=\"ca-new-card-icon\">&#x1f4e7;<\/span>\n        <h3>Email Notification System<\/h3>\n        <p>Seven automated notification types \u2014 gear service, hydrostatic test, VIP inspection, regulator component service, cert expiry, storage quota, and admin announcements. Three configurable reminder tiers (60\/30\/15 days gear, 90\/60\/30 days certs). Admin hierarchy overrides user preferences. 48-hour tokenised quick-update link in every email. One-click per-type unsubscribe without logging in.<\/p>\n      <\/div>\n\n      <div class=\"ca-new-card\">\n        <span class=\"ca-badge\">Industry First<\/span>\n        <span class=\"ca-new-card-icon\">&#x1f527;<\/span>\n        <h3>Regulator Rig &amp; Component Tracking<\/h3>\n        <p>Define named regulator rigs and assign individual components \u2014 first stage, second stage, SPG, backup. Each component tracks brand, model, serial number, service interval in months, and last service date. Due dates auto-calculated. Service reminders delivered by email at three configurable intervals.<\/p>\n      <\/div>\n\n      <div class=\"ca-new-card\">\n        <span class=\"ca-badge\">Industry First<\/span>\n        <span class=\"ca-new-card-icon\">&#x1f392;<\/span>\n        <h3>Gear Set Management<\/h3>\n        <p>Configure named dive kit presets \u2014 &#8220;Recreational Warm Water&#8221;, &#8220;Technical Sidemount&#8221;, &#8220;Cave Configuration&#8221;. Bundle gear items and regulator rigs per set. Apply an entire configured kit to a new dive in a single action, pre-filling all equipment fields instantly.<\/p>\n      <\/div>\n\n      <div class=\"ca-new-card\">\n        <span class=\"ca-badge\">New<\/span>\n        <span class=\"ca-new-card-icon\">&#x1f4cc;<\/span>\n        <h3>Inline Dive Preview Strip<\/h3>\n        <p>Single-click any dive row to expand a pinnable preview beneath it \u2014 up to 6 data tiles from 16 available sections including depth, gas, conditions, equipment, notes, and photos. Drag-resize tile widths. All preferences saved in localStorage. Double-click still opens the full dive form.<\/p>\n      <\/div>\n\n      <div class=\"ca-new-card\">\n        <span class=\"ca-badge\">New<\/span>\n        <span class=\"ca-new-card-icon\">&#x1f3a8;<\/span>\n        <h3>Theme Customiser<\/h3>\n        <p>Six named presets: Ocean Cyan, Bioluminescent Green, Coral Pink, Amber Gold, Deep Purple, Lava Red. Custom colour picker auto-derives gradient and tint. Background depth (Deep\/Mid\/Shallow\/Night) and row density (Compact\/Comfortable\/Spacious) independently configurable. All settings persist instantly in localStorage.<\/p>\n      <\/div>\n\n      <div class=\"ca-new-card\">\n        <span class=\"ca-badge\">New<\/span>\n        <span class=\"ca-new-card-icon\">&#x1f4e5;<\/span>\n        <h3>DL7 \/ ZXU Import<\/h3>\n        <p>Import DAN DL7 format files (.zxu, .zxl, .dl7) from DiverLog+ (iOS), DiveCloud, Diving Log 6.0, and Aqualung-family computers. The widest-compatibility dive computer exchange format \u2014 reaching hardware that UDDF does not. Depth profiles, gas mix, tank pressure, temperature, site names, notes. Duplicate detection built in.<\/p>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     FEATURE MATRIX\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section id=\"dtdl-ca-matrix\" class=\"ca-section ca-section-alt\">\n  <div class=\"ca-container\">\n    <span class=\"ca-eyebrow\">Feature Matrix<\/span>\n    <h2 class=\"ca-section-title\">Every significant feature. Every competitor.<\/h2>\n    <p class=\"ca-section-sub\">Scroll horizontally to see all platforms. Use the category buttons to focus on what matters to you.<\/p>\n\n    <div class=\"ca-key\" role=\"note\" aria-label=\"Status key\">\n      <div class=\"ca-key-item\"><span class=\"ca-key-sym ca-y+\">\u2726<\/span>DTDL unique or leading advantage<\/div>\n      <div class=\"ca-key-item\"><span class=\"ca-key-sym ca-y\">\u2713<\/span>Yes \u2014 feature present<\/div>\n      <div class=\"ca-key-item\"><span class=\"ca-key-sym ca-p\">\u25d0<\/span>Partial \u2014 limited implementation<\/div>\n      <div class=\"ca-key-item\"><span class=\"ca-key-sym ca-n\">\u2717<\/span>No \u2014 feature absent<\/div>\n      <div class=\"ca-key-item\"><span class=\"ca-key-sym ca-na\">\u2013<\/span>Not applicable<\/div>\n    <\/div>\n\n    <div class=\"ca-filter-bar\" role=\"group\" aria-label=\"Filter matrix by category\">\n      <button class=\"ca-filter-btn ca-active\" onclick=\"dtdlCA_filter('all',this)\">All<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('core',this)\">Core Logging<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('equip',this)\">Equipment<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('email',this)\">Email Alerts<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('certs',this)\">Certifications<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('photos',this)\">Photos<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('privacy',this)\">Privacy &amp; Sharing<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('trips',this)\">Trips<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('analytics',this)\">Analytics<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('ui',this)\">UI &amp; UX<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('sync',this)\">Device Sync<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('planner',this)\">Planner<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('cave',this)\">Cave<\/button>\n      <button class=\"ca-filter-btn\" onclick=\"dtdlCA_filter('admin',this)\">Admin<\/button>\n    <\/div>\n\n    <div class=\"ca-matrix-wrap\">\n      <table class=\"ca-matrix\" role=\"grid\" aria-label=\"Dive log feature comparison\">\n        <thead>\n          <tr>\n            <th scope=\"col\">Feature<\/th>\n            <th scope=\"col\" class=\"ca-col-dtdl\">DTDL<br><small style=\"font-size:9px;letter-spacing:1px;opacity:.8\">v5.7.2<\/small><\/th>\n            <th scope=\"col\">Shearwater<\/th>\n            <th scope=\"col\">Garmin<\/th>\n            <th scope=\"col\">Suunto<\/th>\n            <th scope=\"col\">DiverLog+<\/th>\n            <th scope=\"col\">Subsurface<\/th>\n            <th scope=\"col\">MacDive<\/th>\n            <th scope=\"col\">DivingLog<br><small style=\"font-size:9px;opacity:.7\">6.0<\/small><\/th>\n          <\/tr>\n        <\/thead>\n        <tbody id=\"dtdl-ca-tbody\">\n\n<!-- CORE -->\n<tr class=\"ca-matrix-sec\" data-cat=\"core\"><td colspan=\"9\">Core Logging &amp; Gas Analysis<\/td><\/tr>\n<tr data-cat=\"core\"><td>Dive profile recording<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"core\"><td>Gas mix \u2014 Air \/ Nitrox \/ Trimix<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"core\"><td>SAC rate calculation<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"core\"><td>Avg-depth + max-depth SAC (dual, colour-coded)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"core\"><td>RMV calculation<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"core\"><td>Dive computer import \u2014 UDDF \/ CSV<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"core\"><td>DL7 \/ ZXU import (DiverLog+, DiveCloud, Aqualung)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"core\"><td>Chunked UDDF import (bypasses proxy limits)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"core\"><td>Full CSV export \u2014 80+ columns, itemised<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><\/tr>\n<tr data-cat=\"core\"><td>Per-dive UDDF ZIP (dive + photos bundled)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"core\"><td>Autocomplete from dive history (8 fields)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- EQUIPMENT -->\n<tr class=\"ca-matrix-sec\" data-cat=\"equip\"><td colspan=\"9\">Equipment Lifecycle Management<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Gear item tracking with service dates<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Gear items linked to individual dives<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Gear photo uploads \u2014 multiple per item<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Regulator rig definition (named assemblies)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Regulator component tracking per rig<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Component service interval &amp; auto due date<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>Gear set \/ kit configuration presets<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>One-action gear set apply to dive<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"equip\"><td>In-app service due \/ overdue alerts<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- EMAIL -->\n<tr class=\"ca-matrix-sec\" data-cat=\"email\"><td colspan=\"9\">Email Notification System \u2014 New in v5.7.2<\/td><\/tr>\n<tr data-cat=\"email\"><td>Automated email service reminders<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>7 notification types (gear \/ cert \/ quota)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>3-tier reminder cadence (60 \/ 30 \/ 15 days)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>Admin master switch overrides all users<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>Per-user per-type notification controls<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>48-hr tokenised quick-update link in email<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>One-click per-type unsubscribe in email<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>Custom SMTP + wp_mail \/ SMTP plugin fallback<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"email\"><td>Cert expiry tiers \u2014 90 \/ 60 \/ 30 days<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- CERTS -->\n<tr class=\"ca-matrix-sec\" data-cat=\"certs\"><td colspan=\"9\">Certification Tracking<\/td><\/tr>\n<tr data-cat=\"certs\"><td>Certification record keeping<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"certs\"><td>Certification expiry tracking<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"certs\"><td>Cert expiry email reminders (3 tiers)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"certs\"><td>Cert card photos \u2014 front &amp; back slots<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- PHOTOS -->\n<tr class=\"ca-matrix-sec\" data-cat=\"photos\"><td colspan=\"9\">Photos &amp; Media<\/td><\/tr>\n<tr data-cat=\"photos\"><td>Photo attachment to dives<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"photos\"><td>Staged upload (no save-first required)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"photos\"><td>Gear item photo uploads (multi per item)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"photos\"><td>Photo tagged to specific dive profile point<\/td><td class=\"ca-st ca-n ca-col-dtdl\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"photos\"><td>Image auto-resize &amp; quality on upload<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- PRIVACY -->\n<tr class=\"ca-matrix-sec\" data-cat=\"privacy\"><td colspan=\"9\">Privacy &amp; Sharing<\/td><\/tr>\n<tr data-cat=\"privacy\"><td>Per-section privacy (16 sections)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"privacy\"><td>Per-dive share link with revoke<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"privacy\"><td>Portfolio share link (browsable public log)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"privacy\"><td>Share link expiry \u2014 90-day lifecycle<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"privacy\"><td>Post-dive symptoms \/ health notes<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"privacy\"><td>Would Dive Again \/ Post-dive Feeling field<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- TRIPS -->\n<tr class=\"ca-matrix-sec\" data-cat=\"trips\"><td colspan=\"9\">Trip &amp; Travel Ecosystem<\/td><\/tr>\n<tr data-cat=\"trips\"><td>Trip management with dive assignment<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"trips\"><td>Full travel itinerary (flights, hotels)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"trips\"><td>Trip insurance policies \u2014 full detail<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"trips\"><td>CBP Form 4457 guidance built-in<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"trips\"><td>Auto-import-to-trip by date range<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- ANALYTICS -->\n<tr class=\"ca-matrix-sec\" data-cat=\"analytics\"><td colspan=\"9\">Personal Analytics &amp; Dashboard<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Personal dashboard with lifetime stats<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Milestone badges (12 auto-awarded)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Activity heatmap \u2014 52-week calendar<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Dive streak tracking (current + longest)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Buddy Tracker \u2014 shared dive history<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Species Life List \u2014 lifetime sightings<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Dive Site Notebook \u2014 conditions + ratings log<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Graphs \u2014 5 chart types, 11 metrics<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>World map \u2014 geocoded dive sites<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><\/tr>\n<tr data-cat=\"analytics\"><td>Inline dive preview strip (16 pinnable tiles)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- UI -->\n<tr class=\"ca-matrix-sec\" data-cat=\"ui\"><td colspan=\"9\">UI &amp; Experience<\/td><\/tr>\n<tr data-cat=\"ui\"><td>Dark mode UI<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"ui\"><td>Theme customiser \u2014 6 presets + custom colour<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"ui\"><td>Row density \u2014 compact \/ comfortable \/ spacious<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"ui\"><td>60-topic built-in step-by-step help system<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><\/tr>\n<tr data-cat=\"ui\"><td>Quick Log \u2014 4-field instant draft entry<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"ui\"><td>Duplicate dive \u2014 one-click full copy<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- SYNC -->\n<tr class=\"ca-matrix-sec\" data-cat=\"sync\"><td colspan=\"9\">Direct Device Sync<\/td><\/tr>\n<tr data-cat=\"sync\"><td>Bluetooth sync \u2014 Shearwater &amp; OSTC (no app)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-p\">\u25d0<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"sync\"><td>USB \/ cable sync \u2014 8 brands<\/td><td class=\"ca-st ca-y ca-col-dtdl\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-y\">\u2713<\/td><\/tr>\n<tr data-cat=\"sync\"><td>No companion app required \u2014 browser native<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"sync\"><td>Dive enrichment on re-import<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"sync\"><td>Deleted dive restore via re-import<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- PLANNER -->\n<tr class=\"ca-matrix-sec\" data-cat=\"planner\"><td colspan=\"9\">Dive Planner &amp; Calculator<\/td><\/tr>\n<tr data-cat=\"planner\"><td>Dive planner \u2014 5-algorithm NDL comparison<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"planner\"><td>Gradient Factor controls (GF Lo \/ Hi)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"planner\"><td>SAC rate auto-filled from log history<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"planner\"><td>Save planner as draft \u2192 pre-fills dive form<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"planner\"><td>Scuba Calculator opens pre-filled from planner<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-y\">\u2713<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- CAVE -->\n<tr class=\"ca-matrix-sec\" data-cat=\"cave\"><td colspan=\"9\">Cave &amp; Cavern Documentation \u2014 DTDL Unique<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Cave \/ Cavern dive type + dedicated panel<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>8-tab cave panel (overview \u2192 team \u2192 map)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Dive team roster \u2014 6 assigned roles<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Navigation segments \u2014 compass, bearing, depth<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Jump documentation \u2014 spool, markers, type<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Stage bottle logging &amp; turn pressure<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Dead-reckoning cave map + compass rose<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>PNG cave map download<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Saved routes \u2014 named, versioned, reusable<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"cave\"><td>Post-dive team debrief &amp; incident report<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n<!-- ADMIN -->\n<tr class=\"ca-matrix-sec\" data-cat=\"admin\"><td colspan=\"9\">Admin &amp; Platform<\/td><\/tr>\n<tr data-cat=\"admin\"><td>Admin storage quota per user<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"admin\"><td>Admin maintenance announcement banner<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"admin\"><td>Admin live-refresh nudge (no page reload)<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n<tr data-cat=\"admin\"><td>CDN resilience handlers \u2014 user-facing retry<\/td><td class=\"ca-st ca-col-dtdl\" style=\"color:var(--ca-hi);font-size:17px;font-weight:700\">\u2726<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><td class=\"ca-st ca-n\">\u2717<\/td><\/tr>\n\n        <\/tbody>\n      <\/table>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     10 DIMENSIONS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section id=\"dtdl-ca-dimensions\" class=\"ca-section\">\n  <div class=\"ca-container\">\n    <span class=\"ca-eyebrow\">Where DTDL leads<\/span>\n    <h2 class=\"ca-section-title\">Ten dimensions of differentiation<\/h2>\n    <p class=\"ca-section-sub\">No single competitor matches DTDL across all ten simultaneously.<\/p>\n    <div class=\"ca-dim-grid\">\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">1<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Gas Analysis Depth<\/h3>\n          <p>SAC rate and RMV calculated at both maximum and average depth simultaneously with colour coding. Only Shearwater and MacDive offer avg-depth SAC \u2014 neither combines it with RMV, dual-metric display, and planner integration in the same workflow.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">2<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Privacy Architecture<\/h3>\n          <p>Per-section privacy controls across 16 distinct dive form sections. Per-dive share links with revoke. Portfolio share link for a public browsable log. 90-day share token expiry. No competitor offers privacy at this granularity.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">3<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Equipment Lifecycle Management<\/h3>\n          <p>Gear items with photos, service scheduling, and dive linking. Named regulator rigs with individual component tracking and auto-calculated due dates. Gear set presets applied to a dive in one action. Cert card photos with front and back slots. The most complete equipment management layer in any dive log.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">4<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Intelligent Email Notifications<\/h3>\n          <p>Seven automated notification types covering every equipment service event and certification expiry. Three configurable reminder tiers. Admin hierarchy overrides user preferences. Every email includes a 48-hour quick-update token and one-click per-type unsubscribe. No competitor has built anything comparable.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">5<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>The Trip Ecosystem<\/h3>\n          <p>No other platform treats a dive trip as a complete life event. DTDL captures every flight leg, hotel stay, insurance policy, local transport arrangement, and CBP Form 4457 guidance. Auto-assignment of imports by date range. Itinerary print and CSV export.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">6<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Personal Analytics &amp; Engagement<\/h3>\n          <p>Dashboard, 12 milestone badges, 52-week activity heatmap, dive streaks, Buddy Tracker, Species Life List, Dive Site Notebook, five chart types across eleven metrics, and an inline preview strip with 16 pinnable section tiles. A compelling reason to engage with your log beyond recording numbers.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">7<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Direct Device Sync Without Middleware<\/h3>\n          <p>Bluetooth direct sync with Shearwater and OSTC using native browser Web Bluetooth \u2014 no app, no file export. USB sync for 8 brands. Chunked UDDF import bypasses proxy upload limits. DL7\/ZXU reaches DiverLog+ and Aqualung hardware. Dive enrichment and deleted-dive restore on re-import.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">8<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Multi-Algorithm Dive Planner<\/h3>\n          <p>Five decompression algorithms computed simultaneously as a visual comparison. Gradient Factor controls. SAC rate auto-filled from personal log history. Save as Draft pre-fills the dive form. Scuba Calculator opens pre-filled from the planner. A single unified planning workflow.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">9<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Cave &amp; Cavern Documentation<\/h3>\n          <p>Eight-tab panel covering team, navigation, gas, markers, stages, deco, and a dead-reckoning canvas map. Compass direction and bearing per segment. PNG cave map export. Jump documentation, marker inventory, stage bottles, turn pressure, deco obligations. Saved routes with versioning and reuse. No competitor addresses this at any level.<\/p>\n        <\/div>\n      <\/div>\n\n      <div class=\"ca-dim-card\">\n        <div class=\"ca-dim-num\">10<\/div>\n        <div class=\"ca-dim-body\">\n          <h3>Platform Reliability &amp; Administration<\/h3>\n          <p>SQL hardening for MySQL strict-mode servers. CDN resilience with user-facing error messages and auto-retry. Admin storage quota per user. Admin maintenance announcement banner. Admin live-refresh nudge without page reload. Custom SMTP or wp_mail() with any SMTP plugin. A log that fails silently is not a reliable log.<\/p>\n        <\/div>\n      <\/div>\n\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     COMPETITOR STRENGTHS \u2014 HONEST ACCOUNTING\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section id=\"dtdl-ca-competitors\" class=\"ca-section ca-section-alt\">\n  <div class=\"ca-container\">\n    <span class=\"ca-eyebrow\">Honest accounting<\/span>\n    <h2 class=\"ca-section-title\">What competitors do well<\/h2>\n    <p class=\"ca-section-sub\">Where other platforms offer something DTDL does not \u2014 as of July 2026. We list these because accurate comparison is more useful than selective omission.<\/p>\n    <div class=\"ca-comp-grid\">\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">Shearwater Cloud<\/div>\n        <div class=\"ca-comp-detail\">Multi-dive graph overlay and drag-range segment analysis \u00b7 Firmware update from within the app \u00b7 Swift GPS records dive entry and exit coordinates automatically \u00b7 Real-time hardware integration unique to Shearwater computers<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">Garmin Dive<\/div>\n        <div class=\"ca-comp-detail\">Real-time diver monitoring via Descent S1 buoy \u00b7 N\u2082 load and oxygen toxicity data per dive \u00b7 Surface GPS recorded by hardware on every dive \u00b7 Community dive site database \u00b7 Achievement badges tied to hardware milestones<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">Suunto App<\/div>\n        <div class=\"ca-comp-detail\">Wellbeing feeling monitor at end of each dive \u00b7 Integration with Suunto fitness ecosystem \u00b7 Social share card \u2014 photo overlaid with dive stats in one tap<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">DiverLog+<\/div>\n        <div class=\"ca-comp-detail\">Pre-dive remote computer configuration via Bluetooth \u00b7 Airtime Remaining updated at every depth point \u00b7 Dual decompression algorithm selection per dive \u00b7 WatchOS companion app<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">Subsurface<\/div>\n        <div class=\"ca-comp-detail\">Widest dive computer hardware support \u2014 100+ models via libdivecomputer \u00b7 Tissue saturation recalculation for historical dives \u00b7 Multi-computer dive merging \u00b7 Completely free and open-source on all platforms \u00b7 VPM-B algorithm (DTDL offers B\u00fchlmann variants only)<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">MacDive<\/div>\n        <div class=\"ca-comp-detail\">GPS track recording throughout the dive day (above water) \u00b7 Photo tagged to a specific point on the dive profile timeline \u00b7 Dive buddy digital signature capture \u00b7 Deep Apple ecosystem integration \u2014 Shortcuts, Finder tags<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">Diving Log 6.0<\/div>\n        <div class=\"ca-comp-detail\">Template dive function \u00b7 OneDrive and cloud sync built-in \u00b7 Windows-native desktop application \u00b7 UDDF 3.2.2 full-schema export<\/div>\n      <\/div>\n      <div class=\"ca-comp-row\">\n        <div class=\"ca-comp-name\">DiveLog+ (iOS)<\/div>\n        <div class=\"ca-comp-detail\">Clean minimalist iOS-native interface \u00b7 WatchOS companion app \u00b7 Offline maps without network connection<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     FOOTNOTE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div style=\"text-align:center;padding:28px 24px;font-size:12px;color:#64748B;border-top:1px solid #1E3F5C;background:#051929;\">\n  DTDL Dive Log v5.7.2 &nbsp;\u00b7&nbsp; divetalking.com &nbsp;\u00b7&nbsp; Competitive analysis current as of July 2026.<br>\n  Competitor data researched directly from each platform&#8217;s live product and documentation.<br>\n  DTDL does not list roadmap items \u2014 all capabilities described are live in production.\n<\/div>\n\n<\/div><!-- \/#dtdl-ca -->\n\n<script>\n\/* ================================================================\n   DTDL Competitive Analysis \u2014 WordPress-safe JS\n   - All functions prefixed dtdlCA_ to avoid global conflicts\n   - Wrapped in DOMContentLoaded \u2014 no jQuery dependency\n   - WP admin bar height auto-detected for sticky offset\n   ================================================================ *\/\ndocument.addEventListener('DOMContentLoaded', function() {\n\n  \/* \u2500\u2500 Full-width: compensate for scrollbar width \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n     100vw includes the scrollbar on OSes where it takes space.\n     We shrink by that amount so no horizontal scroll appears.  *\/\n  var dtdlCA_root = document.getElementById('dtdl-ca');\n  if (dtdlCA_root) {\n    var sbW = window.innerWidth - document.documentElement.clientWidth;\n    if (sbW > 0) {\n      dtdlCA_root.style.width     = 'calc(100vw - ' + sbW + 'px)';\n      dtdlCA_root.style.marginLeft = 'calc(-50vw + ' + (sbW \/ 2) + 'px)';\n    }\n  }\n\n  \/* \u2500\u2500 Sticky sub-nav: account for WP admin bar + theme header \u2500\u2500 *\/\n  var subnav = document.getElementById('dtdl-ca-subnav');\n  if (subnav) {\n    var wpBar   = document.getElementById('wpadminbar');\n    var wpBarH  = wpBar ? wpBar.offsetHeight : 0;\n    subnav.style.top = wpBarH + 'px';\n  }\n\n  \/* \u2500\u2500 Smooth scroll with offset \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  document.querySelectorAll('#dtdl-ca a[href^=\"#dtdl-ca-\"]').forEach(function(a) {\n    a.addEventListener('click', function(e) {\n      var target = document.querySelector(a.getAttribute('href'));\n      if (!target) return;\n      e.preventDefault();\n      var wpBar   = document.getElementById('wpadminbar');\n      var wpBarH  = wpBar ? wpBar.offsetHeight : 0;\n      var navH    = subnav ? subnav.offsetHeight : 0;\n      var offset  = wpBarH + navH + 12;\n      window.scrollTo({ top: target.getBoundingClientRect().top + window.scrollY - offset, behavior: 'smooth' });\n    });\n  });\n\n  \/* \u2500\u2500 Matrix filter \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  window.dtdlCA_filter = function(cat, btn) {\n    \/* Update button active state *\/\n    document.querySelectorAll('#dtdl-ca .ca-filter-btn').forEach(function(b) {\n      b.classList.remove('ca-active');\n    });\n    btn.classList.add('ca-active');\n\n    \/* Show\/hide rows *\/\n    var rows = document.querySelectorAll('#dtdl-ca-tbody tr');\n    rows.forEach(function(row) {\n      var rowCat = row.getAttribute('data-cat');\n      row.style.display = (cat === 'all' || rowCat === cat) ? '' : 'none';\n    });\n  };\n\n  \/* \u2500\u2500 Keyboard accessibility for filter buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n  document.querySelectorAll('#dtdl-ca .ca-filter-btn').forEach(function(btn) {\n    btn.addEventListener('keydown', function(e) {\n      if (e.key === 'Enter' || e.key === ' ') {\n        e.preventDefault();\n        btn.click();\n      }\n    });\n  });\n\n});\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>@import url(&#8216;https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&#038;family=Inter:wght@300;400;500;600;700&#038;family=JetBrains+Mono:wght@400;600&#038;display=swap&#8217;);<\/p>\n<p>\/* \u2500\u2500 All rules scoped to #dtdl-ca \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<br \/>\n   This ensures zero conflicts with WordPress, any theme, or any<br \/>\n   other plugin that might be active on the same page.<br \/>\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/<\/p>\n<p>#dtdl-ca {<br \/>\n  &#8211;ca-deep:   #051929;<br \/>\n  &#8211;ca-panel:  #0B2537;<br \/>\n  &#8211;ca-card:   #112840;<br \/>\n  &#8211;ca-border: #1E3F5C;<br \/>\n  &#8211;ca-accent: #0EA5E9;<br \/>\n  &#8211;ca-teal:   #0D9488;<br \/>\n  &#8211;ca-green:  #22C55E;<br \/>\n  &#8211;ca-red:    #EF4444;<br \/>\n  &#8211;ca-amber:  #F59E0B;<br \/>\n  &#8211;ca-t1:     #F0F9FF;<br \/>\n  &#8211;ca-t2:     #94A3B8;<br \/>\n  &#8211;ca-t3:     #64748B;<br \/>\n  &#8211;ca-hi:     #38BDF8;<br \/>\n  &#8211;ca-dtdlbg: rgba(14,165,233,0.10);<br \/>\n  &#8211;ca-sonar:  rgba(14,165,233,0.06);<\/p>\n<p>  font-family: &#8216;Inter&#8217;, sans-serif;<br \/>\n  background:  var(&#8211;ca-deep);<br \/>\n  color:       var(&#8211;ca-t1);<br \/>\n  font-size:   15px;<br \/>\n  line-height: 1.65;<br \/>\n  -webkit-font-smoothing: antialiased;<br \/>\n  overflow-x: hidden;<\/p>\n<p>  \/*<br \/>\n   * FULL-WIDTH BREAKOUT \u2014 works across &#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-cleanpage.php","meta":{"footnotes":""},"class_list":["post-16295","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.1 (Yoast SEO v28.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Amazing DTDLDivelog - Divetalking<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.divetalking.com\/?page_id=16295\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Amazing DTDLDivelog\" \/>\n<meta property=\"og:description\" content=\"@import url(&#039;https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&amp;family=Inter:wght@300;400;500;600;700&amp;family=JetBrains+Mono:wght@400;600&amp;display=swap&#039;); \/* \u2500\u2500 All rules scoped to #dtdl-ca \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  This ensures zero conflicts with WordPress, any theme, or any  other plugin that might be active on the same page. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/ #dtdl-ca {  --ca-deep:  #051929;  --ca-panel: #0B2537;  --ca-card:  #112840;  --ca-border: #1E3F5C;  --ca-accent: #0EA5E9;  --ca-teal:  #0D9488;  --ca-green: #22C55E;  --ca-red:  #EF4444;  --ca-amber: #F59E0B;  --ca-t1:   #F0F9FF;  --ca-t2:   #94A3B8;  --ca-t3:   #64748B;  --ca-hi:   #38BDF8;  --ca-dtdlbg: rgba(14,165,233,0.10);  --ca-sonar: rgba(14,165,233,0.06);  font-family: &#039;Inter&#039;, sans-serif;  background: var(--ca-deep);  color:    var(--ca-t1);  font-size:  15px;  line-height: 1.65;  -webkit-font-smoothing: antialiased;  overflow-x: hidden;  \/*  * FULL-WIDTH BREAKOUT \u2014 works across ...\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.divetalking.com\/?page_id=16295\" \/>\n<meta property=\"og:site_name\" content=\"Divetalking\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Divetalking\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-18T11:58:32+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.divetalking.com\\\/?page_id=16295\",\"url\":\"https:\\\/\\\/www.divetalking.com\\\/?page_id=16295\",\"name\":\"Amazing DTDLDivelog - Divetalking\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.divetalking.com\\\/#website\"},\"datePublished\":\"2026-07-18T02:04:51+00:00\",\"dateModified\":\"2026-07-18T11:58:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.divetalking.com\\\/?page_id=16295#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.divetalking.com\\\/?page_id=16295\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.divetalking.com\\\/?page_id=16295#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.divetalking.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Amazing DTDLDivelog\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.divetalking.com\\\/#website\",\"url\":\"https:\\\/\\\/www.divetalking.com\\\/\",\"name\":\"Divetalking\",\"description\":\"The best thing to do during your surface interval\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.divetalking.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Amazing DTDLDivelog - Divetalking","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.divetalking.com\/?page_id=16295","og_locale":"en_US","og_type":"article","og_title":"Amazing DTDLDivelog","og_description":"@import url('https:\/\/fonts.googleapis.com\/css2?family=Syne:wght@700;800&family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap'); \/* \u2500\u2500 All rules scoped to #dtdl-ca \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500  This ensures zero conflicts with WordPress, any theme, or any  other plugin that might be active on the same page. \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/ #dtdl-ca {  --ca-deep:  #051929;  --ca-panel: #0B2537;  --ca-card:  #112840;  --ca-border: #1E3F5C;  --ca-accent: #0EA5E9;  --ca-teal:  #0D9488;  --ca-green: #22C55E;  --ca-red:  #EF4444;  --ca-amber: #F59E0B;  --ca-t1:   #F0F9FF;  --ca-t2:   #94A3B8;  --ca-t3:   #64748B;  --ca-hi:   #38BDF8;  --ca-dtdlbg: rgba(14,165,233,0.10);  --ca-sonar: rgba(14,165,233,0.06);  font-family: 'Inter', sans-serif;  background: var(--ca-deep);  color:    var(--ca-t1);  font-size:  15px;  line-height: 1.65;  -webkit-font-smoothing: antialiased;  overflow-x: hidden;  \/*  * FULL-WIDTH BREAKOUT \u2014 works across ...","og_url":"https:\/\/www.divetalking.com\/?page_id=16295","og_site_name":"Divetalking","article_publisher":"https:\/\/www.facebook.com\/Divetalking","article_modified_time":"2026-07-18T11:58:32+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.divetalking.com\/?page_id=16295","url":"https:\/\/www.divetalking.com\/?page_id=16295","name":"Amazing DTDLDivelog - Divetalking","isPartOf":{"@id":"https:\/\/www.divetalking.com\/#website"},"datePublished":"2026-07-18T02:04:51+00:00","dateModified":"2026-07-18T11:58:32+00:00","breadcrumb":{"@id":"https:\/\/www.divetalking.com\/?page_id=16295#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.divetalking.com\/?page_id=16295"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.divetalking.com\/?page_id=16295#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.divetalking.com\/"},{"@type":"ListItem","position":2,"name":"Amazing DTDLDivelog"}]},{"@type":"WebSite","@id":"https:\/\/www.divetalking.com\/#website","url":"https:\/\/www.divetalking.com\/","name":"Divetalking","description":"The best thing to do during your surface interval","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.divetalking.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.divetalking.com\/index.php?rest_route=\/wp\/v2\/pages\/16295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.divetalking.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.divetalking.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.divetalking.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.divetalking.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16295"}],"version-history":[{"count":7,"href":"https:\/\/www.divetalking.com\/index.php?rest_route=\/wp\/v2\/pages\/16295\/revisions"}],"predecessor-version":[{"id":16303,"href":"https:\/\/www.divetalking.com\/index.php?rest_route=\/wp\/v2\/pages\/16295\/revisions\/16303"}],"wp:attachment":[{"href":"https:\/\/www.divetalking.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}