
    iT                         d Z ddlZddlmZ ddlmZ ddlmZmZm	Z	m
Z
 e	ZdZdZe
ZeZdZed	z  Zed
z  ZdZd Zedk(  r e        yy)uq   #40 감정 증폭 자막 (Selective Amplification Typography) — Cannes Lions 2025 스타일 리쿠르팅 배너    N)Path)sync_playwright)WORKSPACE_ROOTCORE_METRIC_MIN_PX
CTA_MIN_PXSUBHEAD_MIN_PX,   4   p   zLoutput/meta-ads/concept-catalog/40-cannes-selective-amplification/sample.pngzEoutput/meta-ads/concept-catalog/40-cannes-selective-amplification.pngu  <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style>
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
  }
  @font-face {
    font-family: 'Pretendard';
    src: url('/home/jay/.local/share/fonts/Pretendard/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
  }
  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { width: 1080px; height: 1080px; overflow: hidden; }
</style>
</head>
<body>
<div style="width:1080px;height:1080px;position:relative;font-family:'Pretendard',sans-serif;background:radial-gradient(ellipse at center,#0F1A2E 0%,#050A12 100%);">

  <!-- T.O.P 사업단 -->
  <div style="position:absolute;top:86px;left:0;right:0;text-align:center;font-size:40px;font-weight:500;color:#8A94A8;letter-spacing:0.12em;">T.O.P 사업단</div>

  <!-- 상단 일반 텍스트 -->
  <div style="position:absolute;top:340px;left:0;right:0;text-align:center;font-size:52px;font-weight:300;color:#5A6070;">지금 당신에게 필요한 건</div>

  <!-- 강조 단어 3개 — 핵심 행 -->
  <div style="position:absolute;top:430px;left:0;right:0;display:flex;align-items:baseline;justify-content:center;gap:24px;">
    <span style="font-size:112px;font-weight:900;color:#FFFFFF;">자유</span>
    <span style="font-size:64px;font-weight:300;color:#5A6070;">·</span>
    <span style="font-size:96px;font-weight:900;color:#00C8FF;">수입</span>
    <span style="font-size:64px;font-weight:300;color:#5A6070;">·</span>
    <span style="font-size:96px;font-weight:900;color:#F4A01C;">성장</span>
  </div>

  <!-- 하단 일반 텍스트 -->
  <div style="position:absolute;top:600px;left:0;right:0;text-align:center;font-size:52px;font-weight:300;color:#5A6070;">입니다.</div>

  <!-- 보조 메시지 -->
  <div style="position:absolute;top:740px;left:0;right:0;text-align:center;font-size:64px;font-weight:700;color:#FFFFFF;">2026년 7월, 게임이 바뀝니다</div>

  <!-- 부가 정보 -->
  <div style="position:absolute;top:840px;left:0;right:0;text-align:center;font-size:44px;font-weight:500;color:#8A94A8;">신입 최대 1,000만원 · 경력직 50%</div>

  <!-- CTA -->
  <div style="position:absolute;top:940px;left:0;right:0;text-align:center;">
    <span style="display:inline-block;font-size:44px;font-weight:700;color:#050A12;background:#00C8FF;padding:14px 44px;border-radius:6px;">지금 상담 신청하기 →</span>
  </div>

</div>
</body>
</html>c            
         t         j                  j                  dd       t         j                  dz  } | j                  t        d       t        d       t               5 }|j                  j                         }	 |j                  ddd	      }|j                  d
| j                          d       |j                  d       |j                  t        t               dddddd       t        dt                 |j                          	 d d d        | j!                  d       t        d       t#        j$                  t         t&               t        dt&                t         j)                         j*                  dz  }t        d|dd       t        dt                 t        dt&                y # |j                          w xY w# 1 sw Y   xY w)NT)parentsexist_okz_tmp_concept40.htmlzutf-8)encodingu,   [1/3] Playwright로 HTML 렌더링 시작...i8  )widthheight)viewportzfile://networkidle)
wait_untili  pngr   )xyr   r   )pathtypeclipu     [캡처 완료] )
missing_oku   [2/3] 복사본 생성...u     [복사 완료] i   u   [3/3] 완료! 파일 크기: z.0fz KBz  sample.png : z  copy.png   : )OUTPUT_PATHparentmkdir
write_textHTML_CONTENTprintr   chromiumlaunchnew_pagegotoresolvewait_for_timeout
screenshotstrcloseunlinkshutilcopy2	COPY_PATHstatst_size)html_tmppbrowserpagesize_kbs        f/home/jay/workspace/.worktrees/task-2116-dev1/tools/ai-image-gen/gen_concept40_cannes_amplification.pymainr7   i   s   TD9 !!$99Hw7	
89		 
a**##%	##tt-L#MDII 0 0 234IO!!$'OO[!1!RS^bnrDsOt&{m45MMO
 OOtO$	
%&
LLi(	yk
*+ ((4/G	)'#c
:;	OK=
)*	OI;
'( MMO
 
s%   !G=BF;?G;GGG__main__)__doc__r,   pathlibr   playwright.sync_apir   
gen_configr   r   r   r   _CTA_PX
_SIZE_44PX
_SIZE_52PX_SUBHEAD_PX
_METRIC_PX_SIZE_112PXr   r.   r    r7   __name__     r6   <module>rF      sn    w   / U U



mmdd	Sl)B zF rE   