"""
Обложка v2 — чистая типографика: ОГРОМНАЯ «≈130» занимает поле,
под ней «из тысяч» приглушённо. Воздух. Минимум шума.
1200x675, брендбук: Бумага/Тушь/Реактив/Пыль.
"""
from PIL import Image, ImageDraw, ImageFont

PAPER = (244, 241, 234)
INK   = (14, 14, 14)
BLUE  = (42, 111, 219)
DUST  = (200, 194, 182)
STOP  = (230, 51, 34)
GHOST = (230, 226, 218)

MONO_B = "/workspace/canvas-fonts/JetBrainsMono-Bold.ttf"
MONO_R = "/workspace/canvas-fonts/JetBrainsMono-Regular.ttf"
ONEST  = "/workspace/vc_covers/fonts/Onest.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)

# --- фоновый шёпот: едва видимые «AI-агент» теги по углам ---
ghost_f = f(MONO_R, 22)
ghosts = [
    (60, 80), (340, 45), (720, 30), (980, 65),
    (50, 390), (200, 580), (850, 530), (1060, 420),
    (500, 610), (1080, 150),
]
for gx, gy in ghosts:
    d.text((gx, gy), "AI-агент", font=ghost_f, fill=GHOST)

# --- кикер сверху-слева ---
kick_f = f(ONEST, 20)
d.text((80, 52), "AGENT WASHING", font=kick_f, fill=STOP)

# --- ГЛАВНЫЙ ГЕРОЙ: ОГРОМНАЯ цифра «≈130» ---
# Ищем размер, при котором «≈130» занимает ~85% ширины с отступом 80px
LX = 80
target_w = W - 2 * LX

big_size = 260
big_f = f(MONO_B, big_size)
approx = "≈130"
w = d.textlength(approx, font=big_f)
# масштабируем
ratio = target_w / w
big_size = int(big_size * ratio * 0.88)
big_f = f(MONO_B, big_size)
w = d.textlength(approx, font=big_f)

# центрируем по горизонтали
x_big = (W - int(w)) // 2

# вертикаль: верхняя треть
y_big = 80

d.text((x_big, y_big), approx, font=big_f, fill=BLUE)

# --- «из тысяч» — ниже, серым, крупно ---
sub_f = f(MONO_R, 62)
sub_t = "из тысяч"
sw = d.textlength(sub_t, font=sub_f)
x_sub = (W - int(sw)) // 2
# получаем bbox числа для позиционирования
bbox = big_f.getbbox(approx)
y_sub = y_big + bbox[3] + 18
d.text((x_sub, y_sub), sub_t, font=sub_f, fill=DUST)

# --- подзаголовок снизу-слева: тезис статьи ---
tag_f = f(ONEST, 24)
tag_t = "Как отличить агента от чат-бота с ярлыком"
d.text((LX, H - 100), tag_t, font=tag_f, fill=(122, 116, 104))

# --- логотип «сафронов.» снизу-справа ---
logo_f = f(ONEST, 26)
word, dot = "сафронов", "."
ww = d.textlength(word, font=logo_f)
dw = d.textlength(dot, font=logo_f)
lx = W - LX - ww - dw
ly = H - 60
d.text((lx, ly), word, font=logo_f, fill=INK)
d.text((lx + ww, ly), dot, font=logo_f, fill=BLUE)

out = "/workspace/cover_v2.png"
img.save(out, "PNG")
print("OK", out)
