{"id":5744,"date":"2026-01-14T15:19:31","date_gmt":"2026-01-14T15:19:31","guid":{"rendered":"https:\/\/subject157.com\/?page_id=5744"},"modified":"2026-01-14T17:26:28","modified_gmt":"2026-01-14T17:26:28","slug":"s157-intel-hub-section","status":"publish","type":"page","link":"https:\/\/subject157.com\/pl\/s157-intel-hub-section\/","title":{"rendered":"s157-intel-hub-section"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"5744\" class=\"elementor elementor-5744\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-21f58f2b e-con-full s157-white s157-lt-section-wrap s157-white e-flex e-con e-parent\" data-id=\"21f58f2b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-217caedb elementor-widget elementor-widget-html\" data-id=\"217caedb\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n\/* =========================================\r\n   SUBJECT 157 \u2014 INTELLIGENCE HUB (Premium)\r\n   Single-HTML block. Scoped to .s157-root only.\r\n   ========================================= *\/\r\n\r\n.s157-root{\r\n  --p-teal:#00D6A0;\r\n  --p-teal-dim:rgba(0,214,160,.08);\r\n  --p-violet:#7C3AED;\r\n  --p-ink:#0F172A;\r\n  --p-slate:#64748B;\r\n  --p-border:#E2E8F0;\r\n  --p-surface:#FFFFFF;\r\n  --p-bg:#F8FAFC;\r\n  --p-shadow:0 20px 40px -10px rgba(15,23,42,.08);\r\n  --p-glow:0 0 0 4px rgba(0,214,160,.15);\r\n\r\n  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;\r\n  width:100%;\r\n  color:var(--p-ink);\r\n}\r\n\r\n.s157-root *{ box-sizing:border-box; }\r\n\r\n.s157-shell{\r\n  max-width:1200px;\r\n  margin:0 auto;\r\n  padding:0 26px;\r\n}\r\n\r\n@media (max-width:768px){\r\n  .s157-shell{ padding:0 16px; }\r\n}\r\n\r\n\/* ---------- Common primitives ---------- *\/\r\n.s157-kicker{\r\n  font-size:9px;\r\n  font-weight:800;\r\n  letter-spacing:.15em;\r\n  text-transform:uppercase;\r\n  color:var(--p-teal);\r\n}\r\n\r\n.s157-h1{\r\n  margin:10px 0 0 0;\r\n  font-size:28px;\r\n  line-height:1.1;\r\n  font-weight:900;\r\n}\r\n\r\n.s157-muted{\r\n  color:var(--p-slate);\r\n  font-weight:650;\r\n  font-size:14px;\r\n  line-height:1.6;\r\n}\r\n\r\n.s157-label{\r\n  font-size:9px;\r\n  font-weight:800;\r\n  color:var(--p-slate);\r\n  text-transform:uppercase;\r\n  letter-spacing:.1em;\r\n  margin-bottom:8px;\r\n  display:block;\r\n}\r\n\r\n.s157-input-field, .s157-select{\r\n  width:100%;\r\n  height:50px;\r\n  background:#fff;\r\n  border:1px solid var(--p-border);\r\n  border-radius:12px;\r\n  padding:0 16px;\r\n  font-weight:650;\r\n  color:var(--p-ink);\r\n  outline:none;\r\n  transition:border-color .15s ease, box-shadow .15s ease;\r\n}\r\n.s157-input-field:focus, .s157-select:focus{\r\n  border-color:var(--p-teal);\r\n  box-shadow:var(--p-glow);\r\n}\r\n\r\n.s157-btn-primary, .s157-btn-accent{\r\n  width:100%;\r\n  height:48px;\r\n  border:none;\r\n  border-radius:12px;\r\n  cursor:pointer;\r\n  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;\r\n  font-size:11px;\r\n  letter-spacing:.05em;\r\n  text-transform:uppercase;\r\n}\r\n.s157-btn-primary{\r\n  background:var(--p-ink);\r\n  color:#fff;\r\n  font-weight:750;\r\n  box-shadow:0 4px 12px rgba(15,23,42,.15);\r\n}\r\n.s157-btn-accent{\r\n  background:var(--p-teal);\r\n  color:#022c22;\r\n  font-weight:850;\r\n  box-shadow:0 4px 15px rgba(0,214,160,.25);\r\n}\r\n.s157-btn-primary:hover, .s157-btn-accent:hover{\r\n  transform:translateY(-2px);\r\n  filter:saturate(1.02);\r\n}\r\n.s157-btn-primary:hover{ box-shadow:0 8px 20px rgba(15,23,42,.20); }\r\n.s157-btn-accent:hover{ box-shadow:0 8px 25px rgba(0,214,160,.40); }\r\n\r\n\/* ---------- Header block ---------- *\/\r\n.s157-hero{\r\n  padding:28px 0 18px 0;\r\n}\r\n.s157-hero-card{\r\n  background:var(--p-surface);\r\n  border:1px solid rgba(255,255,255,.85);\r\n  border-radius:24px;\r\n  box-shadow:var(--p-shadow);\r\n  padding:26px;\r\n  position:relative;\r\n  overflow:hidden;\r\n}\r\n.s157-hero-card:before{\r\n  content:\"\";\r\n  position:absolute;\r\n  top:0; left:0;\r\n  width:100%; height:4px;\r\n  background:linear-gradient(90deg, var(--p-teal), var(--p-violet));\r\n}\r\n\r\n\/* ---------- Intel hub nav ---------- *\/\r\n.s157-intel-hub{ padding:16px 0 60px 0; }\r\n\r\n.s157-hub-nav{\r\n  display:flex;\r\n  gap:8px;\r\n  justify-content:center;\r\n  flex-wrap:wrap;\r\n  padding:6px;\r\n  background:#F1F5F9;\r\n  border-radius:16px;\r\n  width:fit-content;\r\n  margin:18px auto 26px auto;\r\n}\r\n\r\n@media (max-width:768px){\r\n  .s157-hub-nav{\r\n    justify-content:flex-start;\r\n    width:100%;\r\n    overflow-x:auto;\r\n    flex-wrap:nowrap;\r\n    border-radius:12px;\r\n  }\r\n}\r\n\r\n.s157-nav-tab{\r\n  appearance:none;\r\n  border:1px solid transparent;\r\n  background:transparent;\r\n  padding:10px 18px;\r\n  border-radius:12px;\r\n  font-weight:800;\r\n  font-size:10px;\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n  color:var(--p-slate);\r\n  cursor:pointer;\r\n  transition:background .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;\r\n  white-space:nowrap;\r\n}\r\n.s157-nav-tab:hover{\r\n  color:var(--p-ink);\r\n  background:rgba(255,255,255,.55);\r\n}\r\n.s157-nav-tab.is-active{\r\n  background:#fff;\r\n  color:var(--p-ink);\r\n  border-color:rgba(0,0,0,.05);\r\n  box-shadow:0 4px 10px rgba(0,0,0,.05);\r\n}\r\n\r\n\/* ---------- Panels ---------- *\/\r\n.s157-panel{\r\n  display:none;\r\n  animation:s157FadeIn .35s ease forwards;\r\n}\r\n.s157-panel.is-active{ display:block; }\r\n\r\n.s157-card{\r\n  background:#fff;\r\n  border:1px solid var(--p-border);\r\n  border-radius:24px;\r\n  box-shadow:var(--p-shadow);\r\n  padding:26px;\r\n}\r\n\r\n@keyframes s157FadeIn{\r\n  from{ opacity:0; transform:translateY(10px); }\r\n  to{ opacity:1; transform:translateY(0); }\r\n}\r\n\r\n\/* ---------- Database ---------- *\/\r\n.s157-db-toolbar{\r\n  position:relative;\r\n  margin:18px 0 20px 0;\r\n}\r\n.s157-db-toolbar svg{\r\n  position:absolute;\r\n  left:14px;\r\n  top:15px;\r\n  width:20px; height:20px;\r\n  color:#94A3B8;\r\n}\r\n.s157-db-toolbar .s157-input-field{ padding-left:46px; }\r\n\r\n.s157-db-grid{\r\n  display:grid;\r\n  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));\r\n  gap:20px;\r\n}\r\n@media (max-width:768px){\r\n  .s157-db-grid{ grid-template-columns:1fr; }\r\n}\r\n\r\n.s157-db-item{\r\n  background:#fff;\r\n  border-radius:20px;\r\n  padding:22px;\r\n  border:1px solid var(--p-border);\r\n  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;\r\n  display:flex;\r\n  flex-direction:column;\r\n  min-height:168px;\r\n}\r\n.s157-db-item:hover{\r\n  transform:translateY(-5px);\r\n  box-shadow:0 15px 35px rgba(0,0,0,.06);\r\n  border-color:var(--p-teal);\r\n}\r\n\r\n.s157-tag{\r\n  display:inline-block;\r\n  padding:4px 10px;\r\n  border-radius:999px;\r\n  font-size:9px;\r\n  font-weight:900;\r\n  text-transform:uppercase;\r\n  letter-spacing:.05em;\r\n  background:var(--p-teal-dim);\r\n  color:#047857;\r\n  width:fit-content;\r\n  margin-bottom:10px;\r\n}\r\n.s157-db-name{\r\n  margin:0 0 6px 0;\r\n  font-weight:900;\r\n  font-size:16px;\r\n}\r\n.s157-db-desc{\r\n  color:#475569;\r\n  font-size:13px;\r\n  line-height:1.55;\r\n}\r\n.s157-card-actions{\r\n  display:flex;\r\n  gap:8px;\r\n  margin-top:auto;\r\n  padding-top:18px;\r\n}\r\n.s157-btn-small{\r\n  flex:1;\r\n  height:36px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  border-radius:10px;\r\n  font-size:9px;\r\n  font-weight:900;\r\n  text-transform:uppercase;\r\n  letter-spacing:.05em;\r\n  cursor:pointer;\r\n  transition:all .15s ease;\r\n}\r\n.s157-btn-small.btn-outline{\r\n  border:1px solid var(--p-border);\r\n  background:transparent;\r\n  color:var(--p-slate);\r\n}\r\n.s157-btn-small.btn-outline:hover{\r\n  border-color:var(--p-ink);\r\n  color:var(--p-ink);\r\n}\r\n.s157-btn-small.btn-fill{\r\n  background:var(--p-teal-dim);\r\n  color:#047857;\r\n  border:none;\r\n}\r\n.s157-btn-small.btn-fill:hover{\r\n  background:var(--p-teal);\r\n  color:#022c22;\r\n}\r\n\r\n\/* ---------- Locked blocks ---------- *\/\r\n.s157-lock{\r\n  background:#fff;\r\n  border:1px solid var(--p-border);\r\n  border-radius:24px;\r\n  padding:26px;\r\n  text-align:center;\r\n}\r\n.s157-lock .s157-muted{ max-width:60ch; margin:10px auto 0 auto; }\r\n\r\n.s157-sample{\r\n  margin-top:18px;\r\n  text-align:left;\r\n  background:var(--p-bg);\r\n  border:1px solid var(--p-border);\r\n  border-radius:18px;\r\n  padding:18px;\r\n  border-left:4px solid var(--p-teal);\r\n}\r\n.s157-sample.alt{ border-left-color:var(--p-violet); }\r\n\r\n.s157-sample .s157-kicker{ color:var(--p-teal); }\r\n.s157-sample.alt .s157-kicker{ color:var(--p-violet); }\r\n\r\n.s157-sample strong{ display:block; margin:6px 0 0 0; }\r\n.s157-sample .s157-muted{ margin:6px 0 0 0; font-size:13px; }\r\n\r\n\/* ---------- Leaderboard ---------- *\/\r\n.s157-lead-wrap{\r\n  border:1px solid var(--p-border);\r\n  border-radius:24px;\r\n  overflow:hidden;\r\n  background:#fff;\r\n}\r\n.s157-lead-head{\r\n  padding:14px 18px;\r\n  background:var(--p-bg);\r\n  border-bottom:1px solid var(--p-border);\r\n  font-size:11px;\r\n  font-weight:900;\r\n  color:var(--p-slate);\r\n  letter-spacing:.06em;\r\n  text-transform:uppercase;\r\n}\r\n.s157-lead-row{\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:space-between;\r\n  gap:14px;\r\n  padding:14px 18px;\r\n  border-bottom:1px dashed var(--p-border);\r\n}\r\n.s157-lead-row:last-child{ border-bottom:none; }\r\n.s157-lead-left{ display:flex; align-items:center; gap:12px; min-width:0; }\r\n.s157-badge{\r\n  width:26px; height:26px;\r\n  border-radius:999px;\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  font-size:10px;\r\n  font-weight:950;\r\n  color:#fff;\r\n  flex:0 0 26px;\r\n}\r\n.s157-b1{ background:#D97706; } \/* gold *\/\r\n.s157-b2{ background:#94A3B8; } \/* silver *\/\r\n.s157-b3{ background:#B45309; } \/* bronze *\/\r\n.s157-lead-name{\r\n  font-weight:900;\r\n  white-space:nowrap;\r\n  overflow:hidden;\r\n  text-overflow:ellipsis;\r\n}\r\n.s157-lead-meta{\r\n  color:var(--p-slate);\r\n  font-weight:750;\r\n  font-size:12px;\r\n  white-space:nowrap;\r\n}\r\n\r\n\/* ---------- Modal (glass) ---------- *\/\r\n.s157-modal-overlay{\r\n  position:fixed;\r\n  inset:0;\r\n  background:rgba(15,23,42,.6);\r\n  z-index:9999;\r\n  display:none;\r\n  align-items:center;\r\n  justify-content:center;\r\n  backdrop-filter:blur(8px);\r\n  padding:20px;\r\n}\r\n.s157-modal-overlay.is-open{ display:flex; }\r\n\r\n.s157-modal-box{\r\n  width:100%;\r\n  max-width:560px;\r\n  background:#fff;\r\n  border-radius:24px;\r\n  padding:34px;\r\n  position:relative;\r\n  box-shadow:0 25px 60px rgba(0,0,0,.30);\r\n  animation:s157ScaleUp .28s cubic-bezier(.175,.885,.32,1.275);\r\n}\r\n@keyframes s157ScaleUp{\r\n  from{ transform:scale(.92); opacity:0; }\r\n  to{ transform:scale(1); opacity:1; }\r\n}\r\n\r\n.s157-modal-close{\r\n  position:absolute;\r\n  top:18px; right:18px;\r\n  width:34px; height:34px;\r\n  border-radius:999px;\r\n  background:#F1F5F9;\r\n  border:1px solid rgba(0,0,0,.05);\r\n  display:flex;\r\n  align-items:center;\r\n  justify-content:center;\r\n  cursor:pointer;\r\n  font-weight:950;\r\n  color:#0F172A;\r\n}\r\n\r\n.s157-data-row{\r\n  display:flex;\r\n  justify-content:space-between;\r\n  gap:14px;\r\n  padding:10px 0;\r\n  border-bottom:1px dashed var(--p-border);\r\n  font-size:13px;\r\n}\r\n.s157-data-row:last-child{ border-bottom:none; }\r\n\r\n@media (prefers-reduced-motion:reduce){\r\n  .s157-panel, .s157-modal-box{ animation:none; }\r\n  .s157-db-item, .s157-btn-primary, .s157-btn-accent, .s157-nav-tab{ transition:none; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"s157-root\" data-s157-root>\r\n  <div class=\"s157-shell\">\r\n    <!-- HERO -->\r\n    <section class=\"s157-hero\">\r\n      <div class=\"s157-hero-card\">\r\n        <div class=\"s157-kicker\">\/\/\/ INTELLIGENCE WING<\/div>\r\n        <h1 class=\"s157-h1\">Centralized Lab Intel<\/h1>\r\n        <p class=\"s157-muted\" style=\"margin:10px 0 0 0;\">\r\n          Preview p\u00fablico (WHITE). Conte\u00fado avan\u00e7ado carrega apenas ap\u00f3s desbloqueio (GATED).\r\n        <\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- INTEL HUB -->\r\n    <section class=\"s157-intel-hub\" aria-label=\"S157 Intelligence Hub\">\r\n      <nav class=\"s157-hub-nav\" role=\"tablist\" aria-label=\"Intel tabs\">\r\n        <button class=\"s157-nav-tab is-active\" type=\"button\" role=\"tab\"\r\n          id=\"s157-tab-database\" aria-controls=\"s157-panel-database\" aria-selected=\"true\"\r\n          data-s157-tab=\"database\">Baza danych<\/button>\r\n\r\n        <button class=\"s157-nav-tab\" type=\"button\" role=\"tab\"\r\n          id=\"s157-tab-protocols\" aria-controls=\"s157-panel-protocols\" aria-selected=\"false\"\r\n          data-s157-tab=\"protocols\">Protocols<\/button>\r\n\r\n        <button class=\"s157-nav-tab\" type=\"button\" role=\"tab\"\r\n          id=\"s157-tab-leaderboard\" aria-controls=\"s157-panel-leaderboard\" aria-selected=\"false\"\r\n          data-s157-tab=\"leaderboard\">Leaderboard<\/button>\r\n\r\n        <button class=\"s157-nav-tab\" type=\"button\" role=\"tab\"\r\n          id=\"s157-tab-match\" aria-controls=\"s157-panel-match\" aria-selected=\"false\"\r\n          data-s157-tab=\"match\">DopMatch<\/button>\r\n      <\/nav>\r\n\r\n      <!-- DATABASE -->\r\n      <div id=\"s157-panel-database\" class=\"s157-panel is-active\" role=\"tabpanel\" aria-labelledby=\"s157-tab-database\">\r\n        <div class=\"s157-card\">\r\n          <div class=\"s157-kicker\">\/\/\/ INTEL_SEARCH<\/div>\r\n          <h2 style=\"margin:8px 0 0 0; font-size:20px; font-weight:950;\">Forensic Database<\/h2>\r\n\r\n          <div class=\"s157-db-toolbar\">\r\n            <svg fill=\"none\" stroke=\"currentColor\" viewbox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\"\r\n                d=\"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z\"><\/path>\r\n            <\/svg>\r\n            <input class=\"s157-input-field\" type=\"text\" placeholder=\"Search compound (e.g. BPC-157)...\" data-s157-search>\r\n          <\/div>\r\n\r\n          <div class=\"s157-db-grid\" data-s157-grid><\/div>\r\n\r\n          <div style=\"margin-top:18px;\">\r\n            <button class=\"s157-btn-primary\" type=\"button\" data-s157-unlock=\"database\">Unlock full profiles<\/button>\r\n            <p class=\"s157-muted\" style=\"margin:10px 0 0 0; font-size:13px;\">\r\n              O conte\u00fado completo n\u00e3o \u00e9 renderizado publicamente; carrega apenas ap\u00f3s acesso.\r\n            <\/p>\r\n          <\/div>\r\n\r\n          <div data-s157-gated=\"database\" style=\"margin-top:14px;\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- PROTOCOLS -->\r\n      <div id=\"s157-panel-protocols\" class=\"s157-panel\" role=\"tabpanel\" aria-labelledby=\"s157-tab-protocols\">\r\n        <div class=\"s157-lock\">\r\n          <div class=\"s157-kicker\">\/\/\/ LIBRARY<\/div>\r\n          <h2 style=\"margin:8px 0 0 0; font-size:20px; font-weight:950;\">Premium Protocols Locked<\/h2>\r\n          <p class=\"s157-muted\" style=\"margin:10px 0 0 0;\">\r\n            Esta \u00e1rea serve como biblioteca estruturada por objetivo. O detalhe avan\u00e7ado carrega em GATED.\r\n          <\/p>\r\n\r\n          <div class=\"s157-sample\">\r\n            <div class=\"s157-kicker\">UZDROWIENIE<\/div>\r\n            <strong>Wolverine Stack<\/strong>\r\n            <p class=\"s157-muted\">Resumo editorial e objetivos do protocolo (sem detalhe operacional no WHITE).<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"s157-sample alt\">\r\n            <div class=\"s157-kicker\">COGNITIVE<\/div>\r\n            <strong>God Mode Stack<\/strong>\r\n            <p class=\"s157-muted\">Resumo editorial e objetivos do protocolo (sem detalhe operacional no WHITE).<\/p>\r\n          <\/div>\r\n\r\n          <div style=\"margin-top:18px;\">\r\n            <button class=\"s157-btn-primary\" type=\"button\" data-s157-unlock=\"protocols\">Unlock protocols<\/button>\r\n          <\/div>\r\n\r\n          <div data-s157-gated=\"protocols\" style=\"margin-top:14px;\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- LEADERBOARD -->\r\n      <div id=\"s157-panel-leaderboard\" class=\"s157-panel\" role=\"tabpanel\" aria-labelledby=\"s157-tab-leaderboard\">\r\n        <div class=\"s157-card\">\r\n          <div class=\"s157-kicker\">\/\/\/ RANKINGS<\/div>\r\n          <h2 style=\"margin:8px 0 0 0; font-size:20px; font-weight:950;\">Top Rated (Preview)<\/h2>\r\n          <p class=\"s157-muted\" style=\"margin:10px 0 18px 0;\">\r\n            Preview curto no WHITE. Tabelas completas e filtros avan\u00e7ados em GATED.\r\n          <\/p>\r\n\r\n          <div class=\"s157-lead-wrap\">\r\n            <div class=\"s157-lead-head\">Top picks by goal (sample)<\/div>\r\n\r\n            <div class=\"s157-lead-row\">\r\n              <div class=\"s157-lead-left\">\r\n                <span class=\"s157-badge s157-b1\">1<\/span>\r\n                <span class=\"s157-lead-name\">Skupienie<\/span>\r\n              <\/div>\r\n              <span class=\"s157-lead-meta\">Top 3 preview<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"s157-lead-row\">\r\n              <div class=\"s157-lead-left\">\r\n                <span class=\"s157-badge s157-b2\">2<\/span>\r\n                <span class=\"s157-lead-name\">Sen<\/span>\r\n              <\/div>\r\n              <span class=\"s157-lead-meta\">Top 3 preview<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"s157-lead-row\">\r\n              <div class=\"s157-lead-left\">\r\n                <span class=\"s157-badge s157-b3\">3<\/span>\r\n                <span class=\"s157-lead-name\">Metaboliczny<\/span>\r\n              <\/div>\r\n              <span class=\"s157-lead-meta\">Top 3 preview<\/span>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div style=\"margin-top:18px;\">\r\n            <button class=\"s157-btn-primary\" type=\"button\" data-s157-unlock=\"leaderboard\">Unlock leaderboard<\/button>\r\n          <\/div>\r\n\r\n          <div data-s157-gated=\"leaderboard\" style=\"margin-top:14px;\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- DOPMATCH -->\r\n      <div id=\"s157-panel-match\" class=\"s157-panel\" role=\"tabpanel\" aria-labelledby=\"s157-tab-match\">\r\n        <div class=\"s157-card\">\r\n          <div class=\"s157-kicker\">\/\/\/ SYNC_ENGINE<\/div>\r\n          <h2 style=\"margin:8px 0 0 0; font-size:20px; font-weight:950;\">DopMatch Analyzer<\/h2>\r\n          <p class=\"s157-muted\" style=\"margin:10px 0 18px 0;\">\r\n            Este m\u00f3dulo \u00e9 GATED. Ao executar, dispara o teu Gate (login\/credencial) e carrega resultados apenas ap\u00f3s acesso.\r\n          <\/p>\r\n\r\n          <label class=\"s157-label\">Goal<\/label>\r\n          <select class=\"s157-select\" data-s157-goal>\r\n            <option value=\"repair\">Tissue Repair<\/option>\r\n            <option value=\"cognitive\">Cognitive<\/option>\r\n            <option value=\"metabolic\">Metaboliczny<\/option>\r\n            <option value=\"longevity\">D\u0142ugowieczno\u015b\u0107<\/option>\r\n          <\/select>\r\n\r\n          <div style=\"margin-top:12px;\">\r\n            <button class=\"s157-btn-accent\" type=\"button\" data-s157-run>Run analysis<\/button>\r\n          <\/div>\r\n\r\n          <div data-s157-gated=\"match\" style=\"margin-top:14px;\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n  <\/div>\r\n\r\n  <!-- MODAL -->\r\n  <div class=\"s157-modal-overlay\" data-s157-modal aria-hidden=\"true\">\r\n    <div class=\"s157-modal-box\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Compound profile\">\r\n      <div class=\"s157-modal-close\" title=\"Zamknij\" data-s157-close>\u2715<\/div>\r\n      <div data-s157-modal-content><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  const root = document.querySelector('[data-s157-root]');\r\n  if (!root) return;\r\n\r\n  \/* ---------------------------\r\n     Auth flag (demo)\r\n     - keep false on public WHITE\r\n     - your gate can set it true after login\/credential\r\n     --------------------------- *\/\r\n  let S157_AUTH = false;\r\n  window.S157IntelSetAuth = (v) => { S157_AUTH = !!v; };\r\n\r\n  \/* ---------------------------\r\n     Tabs\r\n     --------------------------- *\/\r\n  const tabs = Array.from(root.querySelectorAll('[data-s157-tab]'));\r\n  const panels = new Map(\r\n    Array.from(root.querySelectorAll('.s157-panel[id^=\"s157-panel-\"]'))\r\n      .map(p => [p.id.replace('s157-panel-',''), p])\r\n  );\r\n\r\n  function setActive(name, updateHash=true){\r\n    if (!panels.has(name)) return;\r\n\r\n    tabs.forEach(btn => {\r\n      const on = (btn.dataset.s157Tab === name);\r\n      btn.classList.toggle('is-active', on);\r\n      btn.setAttribute('aria-selected', on ? 'true' : 'false');\r\n      btn.tabIndex = on ? 0 : -1;\r\n    });\r\n\r\n    panels.forEach((panel, key) => {\r\n      panel.classList.toggle('is-active', key === name);\r\n    });\r\n\r\n    if (updateHash) history.replaceState(null, '', '#' + name);\r\n  }\r\n\r\n  tabs.forEach(btn => {\r\n    btn.addEventListener('click', () => setActive(btn.dataset.s157Tab, true));\r\n    btn.addEventListener('keydown', (e) => {\r\n      if (e.key !== 'ArrowLeft' && e.key !== 'ArrowRight') return;\r\n      e.preventDefault();\r\n      const i = tabs.indexOf(btn);\r\n      const next = (e.key === 'ArrowRight')\r\n        ? (i + 1) % tabs.length\r\n        : (i - 1 + tabs.length) % tabs.length;\r\n      tabs[next].focus();\r\n      setActive(tabs[next].dataset.s157Tab, true);\r\n    });\r\n  });\r\n\r\n  const hash = (location.hash || '').replace('#','').trim();\r\n  setActive(hash || 'database', false);\r\n\r\n  \/* ---------------------------\r\n     Database (WHITE preview only)\r\n     NOTE: Keep this non-operational. Full details should be gated server-side.\r\n     --------------------------- *\/\r\n  const SUBSTANCES = [\r\n    { name:\"BPC-157\", type:\"Peptide\", desc:\"Profile preview: classification, markers, notes.\" },\r\n    { name:\"TB-500\", type:\"Peptide\", desc:\"Profile preview: classification, markers, notes.\" },\r\n    { name:\"Tirzepatide\", type:\"GLP-1\/GIP\", desc:\"Profile preview: classification, markers, notes.\" },\r\n    { name:\"Tesamorelin\", type:\"GHRH\", desc:\"Profile preview: classification, markers, notes.\" },\r\n    { name:\"Semax\", type:\"Nootropic\", desc:\"Profile preview: classification, markers, notes.\" },\r\n    { name:\"Selank\", type:\"Nootropic\", desc:\"Profile preview: classification, markers, notes.\" },\r\n    { name:\"Epitalon\", type:\"Bioreg\", desc:\"Profile preview: classification, markers, notes.\" }\r\n  ];\r\n\r\n  const grid = root.querySelector('[data-s157-grid]');\r\n  const search = root.querySelector('[data-s157-search]');\r\n\r\n  function render(items){\r\n    grid.innerHTML = items.map((s, idx) => `\r\n      <div class=\"s157-db-item\">\r\n        <span class=\"s157-tag\">${escapeHtml(s.type)}<\/span>\r\n        <h3 class=\"s157-db-name\">${escapeHtml(s.name)}<\/h3>\r\n        <div class=\"s157-db-desc\">${escapeHtml(s.desc)}<\/div>\r\n        <div class=\"s157-card-actions\">\r\n          <button type=\"button\" class=\"s157-btn-small btn-fill\" data-s157-open=\"${idx}\">Open profile<\/button>\r\n          <button type=\"button\" class=\"s157-btn-small btn-outline\" data-s157-work=\"${idx}\">Workspace<\/button>\r\n        <\/div>\r\n      <\/div>\r\n    `).join('');\r\n  }\r\n\r\n  function filter(){\r\n    const q = (search.value || '').trim().toLowerCase();\r\n    const out = q ? SUBSTANCES.filter(s => s.name.toLowerCase().includes(q)) : SUBSTANCES;\r\n    render(out);\r\n  }\r\n\r\n  let tmr = null;\r\n  search.addEventListener('input', () => {\r\n    clearTimeout(tmr);\r\n    tmr = setTimeout(filter, 70);\r\n  });\r\n\r\n  render(SUBSTANCES);\r\n\r\n  \/* ---------------------------\r\n     Modal\r\n     --------------------------- *\/\r\n  const modal = root.querySelector('[data-s157-modal]');\r\n  const modalContent = root.querySelector('[data-s157-modal-content]');\r\n  const closeBtn = root.querySelector('[data-s157-close]');\r\n\r\n  function openModal(html){\r\n    modalContent.innerHTML = html;\r\n    modal.classList.add('is-open');\r\n    modal.setAttribute('aria-hidden','false');\r\n  }\r\n  function closeModal(){\r\n    modal.classList.remove('is-open');\r\n    modal.setAttribute('aria-hidden','true');\r\n    modalContent.innerHTML = '';\r\n  }\r\n\r\n  closeBtn.addEventListener('click', closeModal);\r\n  modal.addEventListener('click', (e) => { if (e.target === modal) closeModal(); });\r\n  document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeModal(); });\r\n\r\n  \/* ---------------------------\r\n     Gate hook\r\n     --------------------------- *\/\r\n  function openGate(module){\r\n    window.dispatchEvent(new CustomEvent('s157:gate:open', { detail: { reason:'intel', module } }));\r\n  }\r\n\r\n  function mountGated(module, html){\r\n    const mount = root.querySelector(`[data-s157-gated=\"${module}\"]`);\r\n    if (!mount) return;\r\n    mount.innerHTML = html;\r\n  }\r\n\r\n  \/* ---------------------------\r\n     Click handlers: open profile, unlock, match\r\n     --------------------------- *\/\r\n  root.addEventListener('click', (e) => {\r\n    const openBtn = e.target.closest('[data-s157-open]');\r\n    if (openBtn){\r\n      const idx = Number(openBtn.dataset.s157Open);\r\n      const s = SUBSTANCES[idx];\r\n      if (!s) return;\r\n\r\n      \/\/ WHITE modal: short profile preview (non-operational)\r\n      openModal(`\r\n        <div class=\"s157-kicker\">\/\/\/ COMPOUND PROFILE<\/div>\r\n        <h2 style=\"margin:8px 0 0 0; font-size:24px; font-weight:950;\">${escapeHtml(s.name)}<\/h2>\r\n        <div style=\"margin-top:10px;\">\r\n          <span class=\"s157-tag\">${escapeHtml(s.type)}<\/span>\r\n        <\/div>\r\n        <p class=\"s157-muted\" style=\"margin:14px 0 0 0;\">\r\n          ${escapeHtml(s.desc)}\r\n        <\/p>\r\n\r\n        <div style=\"margin-top:18px;\">\r\n          <button class=\"s157-btn-primary\" type=\"button\" data-s157-unlock=\"database\">Unlock full profile<\/button>\r\n        <\/div>\r\n      `);\r\n      return;\r\n    }\r\n\r\n    const workBtn = e.target.closest('[data-s157-work]');\r\n    if (workBtn){\r\n      \/\/ Example: no-op placeholder\r\n      openModal(`\r\n        <div class=\"s157-kicker\">\/\/\/ WORKSPACE<\/div>\r\n        <h2 style=\"margin:8px 0 0 0; font-size:22px; font-weight:950;\">Workspace is gated<\/h2>\r\n        <p class=\"s157-muted\" style=\"margin:12px 0 0 0;\">\r\n          Esta a\u00e7\u00e3o pode guardar itens e gerar relat\u00f3rios. Requer acesso.\r\n        <\/p>\r\n        <div style=\"margin-top:18px;\">\r\n          <button class=\"s157-btn-primary\" type=\"button\" data-s157-unlock=\"database\">Unlock<\/button>\r\n        <\/div>\r\n      `);\r\n      return;\r\n    }\r\n\r\n    const unlock = e.target.closest('[data-s157-unlock]');\r\n    if (unlock){\r\n      const module = unlock.dataset.s157Unlock;\r\n\r\n      if (!S157_AUTH){\r\n        openGate(module);\r\n        return;\r\n      }\r\n\r\n      \/\/ Demo gated payload (replace with server-side fetch in production)\r\n      if (module === 'database'){\r\n        mountGated('database', `\r\n          <div class=\"s157-sample\" style=\"border-left-color:var(--p-teal);\">\r\n            <div class=\"s157-kicker\">GATED<\/div>\r\n            <strong>Full profiles mounted<\/strong>\r\n            <p class=\"s157-muted\">Conte\u00fado completo deve vir do servidor ap\u00f3s autentica\u00e7\u00e3o (REST\/AJAX).<\/p>\r\n          <\/div>\r\n        `);\r\n      } else if (module === 'protocols'){\r\n        mountGated('protocols', `\r\n          <div class=\"s157-sample\">\r\n            <div class=\"s157-kicker\">GATED<\/div>\r\n            <strong>Protocol library mounted<\/strong>\r\n            <p class=\"s157-muted\">Carrega detalhes apenas ap\u00f3s acesso autorizado.<\/p>\r\n          <\/div>\r\n        `);\r\n      } else if (module === 'leaderboard'){\r\n        mountGated('leaderboard', `\r\n          <div class=\"s157-sample alt\">\r\n            <div class=\"s157-kicker\">GATED<\/div>\r\n            <strong>Leaderboard mounted<\/strong>\r\n            <p class=\"s157-muted\">Tabela completa e filtros avan\u00e7ados aqui.<\/p>\r\n          <\/div>\r\n        `);\r\n      } else if (module === 'match'){\r\n        mountGated('match', `\r\n          <div class=\"s157-sample\">\r\n            <div class=\"s157-kicker\">GATED<\/div>\r\n            <strong>Match results mounted<\/strong>\r\n            <p class=\"s157-muted\">Resultados devem ser calculados\/servidos apenas ap\u00f3s acesso.<\/p>\r\n          <\/div>\r\n        `);\r\n      }\r\n\r\n      \/\/ Close modal if unlock was clicked inside it\r\n      if (modal.classList.contains('is-open')) closeModal();\r\n      return;\r\n    }\r\n\r\n    const run = e.target.closest('[data-s157-run]');\r\n    if (run){\r\n      if (!S157_AUTH){\r\n        openGate('match');\r\n        return;\r\n      }\r\n      const goal = root.querySelector('[data-s157-goal]')?.value || 'goal';\r\n      mountGated('match', `\r\n        <div class=\"s157-sample\">\r\n          <div class=\"s157-kicker\">GATED RESULT<\/div>\r\n          <strong>Analysis ready<\/strong>\r\n          <p class=\"s157-muted\">Goal: <span style=\"font-weight:900;\">${escapeHtml(goal)}<\/span>. (Backend payload goes here.)<\/p>\r\n        <\/div>\r\n      `);\r\n    }\r\n  });\r\n\r\n  \/* ---------------------------\r\n     Helpers\r\n     --------------------------- *\/\r\n  function escapeHtml(str){\r\n    return String(str ?? '').replace(\/[&<>\"']\/g, (m) => ({\r\n      '&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'\r\n    }[m]));\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>\/\/\/ INTELLIGENCE WING Centralized Lab Intel Preview p\u00fablico (WHITE). Conte\u00fado avan\u00e7ado carrega apenas ap\u00f3s desbloqueio (GATED). Database Protocols Leaderboard DopMatch \/\/\/ INTEL_SEARCH Forensic Database Unlock full profiles O conte\u00fado completo n\u00e3o \u00e9 renderizado publicamente; carrega apenas ap\u00f3s acesso. \/\/\/ LIBRARY Premium Protocols Locked Esta \u00e1rea serve como biblioteca estruturada por objetivo. O detalhe avan\u00e7ado carrega [&hellip;]<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-5744","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/pages\/5744","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/comments?post=5744"}],"version-history":[{"count":0,"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/pages\/5744\/revisions"}],"wp:attachment":[{"href":"https:\/\/subject157.com\/pl\/wp-json\/wp\/v2\/media?parent=5744"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}