"""
Обложка B v2 — «AI-АГЕНТ (перечеркнуто) → ЧАТ-БОТ».
Строго по брендбуку: Бумага/Тушь/Реактив/Пыль/Стоп, Onest + JetBrains Mono,
плоско, без теней/градиентов. 1200x675.
"""
from PIL import Image, ImageDraw, ImageFont

PAPER = (244, 241, 234)   # #F4F1EA
INK   = (14, 14, 14)      # #0E0E0E
BLUE  = (42, 111, 219)    # #2A6FDB
DUST  = (200, 194, 182)   # #C8C2B6
STOP  = (230, 51, 34)     # #E63322
GREY  = (122, 116, 104)   # subtitle mid

ONEST = "/workspace/vc_covers/fonts/Onest.ttf"
MONO_B = "/workspace/canvas-fonts/JetBrainsMono-Bold.ttf"
MONO_R = "/workspace/canvas-fonts/JetBrainsMono-Regular.ttf"

W, H = 1200, 675
img = Image.new("RGB", (W, H), PAPER)
d = ImageDraw.Draw(img)

def f(path, size):
    return ImageFont.truetype(path, size)

def draw_tracked(xy, text, font, fill, tracking=0):
    """Рисует текст посимвольно с межбуквенным трекингом (px, может быть <0).
    Возвращает (x_start, x_end)."""
    x, y = xy
    x0 = x
    for ch in text:
        d.text((x, y), ch, font=font, fill=fill)
        w = d.textlength(ch, font=font)
        x += w + tracking
    return x0, x - tracking

# --- фон: тонкая точечная сетка (аналитика/спокойно) ---
step = 32
for gy in range(0, H, step):
    for gx in range(0, W, step):
        d.ellipse([gx-1, gy-1, gx+1, gy+1], fill=(232, 228, 218))

# --- кикер сверху-слева ---
kicker = f(ONEST, 18)
draw_tracked((48, 46), "МАРКЕТИНГ ПО-ЧЕСТНОМУ", kicker, BLUE, tracking=2)

# --- метрика сверху-справа ---
num = f(MONO_B, 60)
lab = f(MONO_R, 13)
num_t = "≈130"
nw = d.textlength(num_t, font=num)
d.text((W - 48 - nw, 40), num_t, font=num, fill=BLUE)
lab_t = "ИЗ ТЫСЯЧ «АГЕНТОВ»"
lw = draw_tracked((0, 0), lab_t, lab, PAPER, 1)  # dummy measure
lwid = d.textlength(lab_t, font=lab) + 1*(len(lab_t)-1)
# перерисуем корректно справа
draw_tracked((W - 48 - lwid, 108), lab_t, lab, DUST, tracking=1)

# --- центральная сцена: перечеркнутый ярлык -> правда ---
big = f(ONEST, 140)
LX = 96
y1 = 172
y2 = 336

# строка 1: AI-АГЕНТ (ложь) — Пыль, перечеркнуто Стоп-цветом
x0, x1 = draw_tracked((LX, y1), "AI-АГЕНТ", big, DUST, tracking=-4)
# красная перечеркивающая полоса
bar_y = y1 + int(140 * 0.55)
d.rectangle([x0 - 6, bar_y - 8, x1 + 6, bar_y + 8], fill=STOP)

# строка 2: ЧАТ-БОТ (правда) — Тушь, жирно
draw_tracked((LX, y2), "ЧАТ-БОТ", big, INK, tracking=-4)

# --- подзаголовок ---
sub = f(ONEST, 26)
d.text((LX + 2, 520), "Как отличить настоящего агента от ярлыка", font=sub, fill=GREY)

# --- логотип «сафронов.» + синяя точка, снизу-справа ---
logo = f(ONEST, 24)
word = "сафронов"
ww = d.textlength(word, font=logo)
dot_w = d.textlength(".", font=logo)
lg_right = W - 48
lg_y = H - 56
lg_x = lg_right - ww - dot_w
d.text((lg_x, lg_y), word, font=logo, fill=INK)
d.text((lg_x + ww, lg_y), ".", font=logo, fill=BLUE)

out = "/workspace/cover_b2.png"
img.save(out, "PNG")
print("OK", out, f"{W}x{H}")
