#!/usr/bin/env python3
"""Create Play Store feature graphic for Roomfit Studio (1024x500)."""
from PIL import Image, ImageDraw, ImageFont
from pathlib import Path

DST = Path(__file__).parent / "feature_graphic_1024x500.png"
W, H = 1024, 500

# Gradient background (dark to indigo)
img = Image.new("RGB", (W, H), (0, 0, 0))
draw = ImageDraw.Draw(img)
for x in range(W):
    t = x / W
    r = int(15 + (74 - 15) * t)
    g = int(15 + (78 - 15) * t)
    b = int(30 + (255 - 30) * t)
    draw.line([(x, 0), (x, H)], fill=(r, g, b))

# Font loading — prefer Korean-capable fonts
font_paths_latin = [
    "/System/Library/Fonts/HelveticaNeue.ttc",
    "/System/Library/Fonts/Helvetica.ttc",
]
font_paths_korean = [
    "/System/Library/Fonts/AppleSDGothicNeo.ttc",
    "/System/Library/Fonts/Supplemental/AppleGothic.ttf",
    "/Library/Fonts/AppleGothic.ttf",
]
def load_font(size, korean=False):
    paths = font_paths_korean if korean else font_paths_latin
    for p in paths:
        try:
            return ImageFont.truetype(p, size=size, index=0)
        except (OSError, IOError):
            continue
    return ImageFont.load_default()

font_title = load_font(96, korean=False)
font_sub = load_font(42, korean=True)

# Title "Roomfit Studio"
title = "Roomfit Studio"
bbox = draw.textbbox((0, 0), title, font=font_title)
tw = bbox[2] - bbox[0]
draw.text(((W - tw) // 2 - bbox[0], 150 - bbox[1]), title, fill=(255, 255, 255, 255), font=font_title)

# Subtitle
sub = "트레이너를 위한 회원·세션·VBT 관리"
bbox2 = draw.textbbox((0, 0), sub, font=font_sub)
sw = bbox2[2] - bbox2[0]
draw.text(((W - sw) // 2 - bbox2[0], 290 - bbox2[1]), sub, fill=(200, 210, 255, 255), font=font_sub)

# Accent line
draw.rectangle([(W // 2 - 80, 385), (W // 2 + 80, 390)], fill=(255, 255, 255))

img.save(DST, "PNG", optimize=True)
print(f"Saved: {DST}")
