
    i                     l    d Z ddlZddlmZ ddlmZ  ed      Z ed      ZdZd Z	e
d	k(  r e	        yy)
uq   #40 감정 증폭 자막 (Selective Amplification Typography) — Cannes Lions 2025 스타일 리쿠르팅 배너    N)Path)sync_playwrightz`/home/jay/workspace/output/meta-ads/concept-catalog/40-cannes-selective-amplification/sample.pngzY/home/jay/workspace/output/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        n/home/jay/workspace/.worktrees/task-2116-dev1/tools/ai-image-gen/_backup/gen_concept40_cannes_amplification.pymainr0   b   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   r   r'   r   r0   __name__     r/   <module>r8      sJ    w   /uvlm	Sl)B zF r7   