test

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Onimod Global - AI Citation Rate</title>
<style>
  @import url('https://fonts.googleapis.com/css2?family=League+Spartan:wght@600;700&family=Poppins:wght@400;500;600;700&display=swap');
  
  * { box-sizing: border-box; margin: 0; padding: 0; }
  
  .wrapper {
    font-family: 'Poppins', sans-serif;
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    max-width: 820px;
    margin: 0 auto;
    padding-bottom: 28px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
  }
  
  .header {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 28px 32px 0;
  }
  
  .logo-col {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .logo-col img {
    height: 55px;
    width: auto;
    object-fit: contain;
  }
  
  .header-text { flex: 1; }
  
  .category-label {
    font-size: 12px;
    font-weight: 600;
    color: #267ddd;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    margin-bottom: 4px;
  }
  
  .main-title {
    font-family: 'League Spartan', sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #1a1a18;
    line-height: 1.15;
    letter-spacing: -0.02em;
  }
  
  .subtitle-line {
    font-size: 14px;
    color: #666;
    margin-top: 6px;
  }
  
  .divider-line {
    height: 1px;
    background: #eef5fc;
    margin: 20px 32px 0;
  }
  
  .legend-row {
    display: flex;
    gap: 20px;
    padding: 14px 32px 4px;
    align-items: center;
  }
  
  .legend-item { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 500;}
  .legend-dot { width: 12px; height: 12px; border-radius: 3px; flex-shrink: 0; }
  .legend-dot-bar { background: rgba(38, 125, 221, 0.6); }
  .legend-dot-peak { background: #267ddd; }
  .legend-text { color: #555; }

  .chart-area {
    padding: 8px 32px 0;
    position: relative;
  }
  
  .bars-container {
    display: flex;
    align-items: flex-end;
    gap: 0;
    height: 260px;
    position: relative;
    border-bottom: 2px solid #eef5fc;
  }
  
  .grid-svg {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    width: 100%; height: 100%;
    pointer-events: none;
  }
  
  .bar-group {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
    position: relative;
    padding: 0 6px;
  }
  
  .score-num {
    font-size: 13px;
    font-weight: 700;
    color: #333;
    margin-bottom: 6px;
    position: relative;
    z-index: 2;
  }
  
  .score-num.peak { color: #267ddd; font-size: 14px;}
  
  .bar-fill {
    width: 100%;
    border-radius: 6px 6px 0 0;
    position: relative;
    transition: opacity 0.2s;
  }
  
  .bar-fill:hover { opacity: 0.85; cursor: pointer; }
  
  .peak-badge {
    position: absolute;
    top: -26px;
    left: 50%;
    transform: translateX(-50%);
    background: #eef5fc;
    color: #267ddd;
    border: 1px solid #267ddd;
    font-size: 11px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 20px;
    white-space: nowrap;
    pointer-events: none;
  }
  
  .x-axis {
    display: flex;
    gap: 0;
    padding: 12px 32px 0;
  }
  
  .bar-label {
    flex: 1;
    text-align: center;
    font-size: 11px;
    font-weight: 500;
    color: #666;
    line-height: 1.4;
    padding: 0 2px;
  }
  
  .takeaway {
    margin: 24px 32px 0;
    background: #eef5fc;
    border-left: 4px solid #267ddd;
    border-radius: 0 8px 8px 0;
    padding: 16px 20px;
    display: flex;
    gap: 16px;
    align-items: flex-start;
  }
  
  .takeaway-tag {
    font-family: 'League Spartan', sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: #267ddd;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    line-height: 1.2;
    white-space: nowrap;
    margin-top: 2px;
  }
  
  .takeaway-text {
    font-size: 13px;
    color: #333;
    line-height: 1.6;
  }
  
  .takeaway-bold { font-weight: 700; color: #267ddd; }
  
  .source-line {
    font-size: 11px;
    color: #999;
    padding: 20px 32px 0;
    text-align: left;
  }
</style>
</head>
<body>

<div class="wrapper">
  <div class="header">
    <div class="logo-col">
      <img src="logo.jpg" alt="Onimod Global Digital Marketing">
    </div>
    <div class="header-text">
      <div class="category-label">AIO (AI Optimization) Insights</div>
      <div class="main-title">Content Format vs. AI Citation Rate</div>
      <div class="subtitle-line">Which content formats are AI engines (ChatGPT, Gemini) most likely to cite?</div>
    </div>
  </div>

  <div class="divider-line"></div>

  <div class="legend-row">
    <div class="legend-item"><div class="legend-dot legend-dot-bar"></div><span class="legend-text">AI Citation Rate Base</span></div>
    <div class="legend-item"><div class="legend-dot legend-dot-peak"></div><span class="legend-text">Peak Performer</span></div>
  </div>

  <div class="chart-area">
    <div class="bars-container" id="bars">
      <svg class="grid-svg" id="grid-svg" preserveAspectRatio="none"></svg>
    </div>
  </div>

  <div class="x-axis" id="x-axis"></div>

  <div class="takeaway">
    <div class="takeaway-tag">WHAT TO<br>DO NEXT:</div>
    <div class="takeaway-text">
      <span class="takeaway-bold">Original research and data-rich content earns the most AI citations.</span> To win in the AI era, stop padding word counts. Focus on answering specific questions with structured, proprietary data that LLMs can extract and trust.
    </div>
  </div>

  <div class="source-line">
    Source: Onimod Global Research Synthesis — Analysis based on AIO datasets and cross-platform LLM citation behavior (2025–2026).
  </div>
</div>

<script>
const data = [
  { label: "Thin Blog<br>Post", score: 0.31, peak: false },
  { label: "Opinion<br>Piece", score: 0.44, peak: false },
  { label: "How-To<br>Guide", score: 0.62, peak: false },
  { label: "FAQ<br>Content", score: 0.71, peak: false },
  { label: "Comparison<br>Content", score: 0.79, peak: false },
  { label: "Case<br>Study", score: 0.85, peak: false },
  { label: "Original<br>Research", score: 1.00, peak: true },
  { label: "Data-Rich<br>Report", score: 0.96, peak: false },
  { label: "Expert<br>Roundup", score: 0.88, peak: false },
];

const maxH = 260;
const bars = document.getElementById('bars');
const xAxis = document.getElementById('x-axis');
const gridSvg = document.getElementById('grid-svg');

const gridLevels = [0.25, 0.50, 0.75, 1.00];
const gridLines = gridLevels.map(v => {
  const y = (1 - v) * maxH;
  return `<line class="grid-line" x1="0" y1="${y}" x2="100%" y2="${y}" stroke="#eef5fc" stroke-width="1.5" stroke-dasharray="4 4" vector-effect="non-scaling-stroke"/>`;
}).join('');
gridSvg.innerHTML = gridLines;

data.forEach((d, i) => {
  const barH = Math.round(d.score * (maxH - 28));
  const alpha = d.peak ? 1 : (0.3 + 0.6 * d.score);

  const grp = document.createElement('div');
  grp.className = 'bar-group';

  const num = document.createElement('div');
  num.className = 'score-num' + (d.peak ? ' peak' : '');
  num.textContent = d.score.toFixed(2);
  grp.appendChild(num);

  const fill = document.createElement('div');
  fill.className = 'bar-fill';
  fill.style.height = barH + 'px';
  fill.style.background = d.peak 
    ? '#267ddd' 
    : `rgba(38, 125, 221, ${alpha})`;

  if (d.peak) {
    const badge = document.createElement('div');
    badge.className = 'peak-badge';
    badge.textContent = 'Peak';
    fill.appendChild(badge);
  }

  grp.appendChild(fill);
  bars.appendChild(grp);

  const lbl = document.createElement('div');
  lbl.className = 'bar-label';
  lbl.innerHTML = d.label;
  xAxis.appendChild(lbl);
});
</script>
</body>
</html>