/*
 * tips405/style.css  v1.0.0
 * 텔레그램 GIF 자막 추가 및 편집 가이드
 * 테마: 일렉트릭 탠저린 #fb923c (orange-400) + 딥 워밍 다크 #070200
 *      (창의·편집·GIF 플레이어·복숭아 오렌지 연상)
 * 그누보드5 격리 | BEM | 모바일 퍼스트
 *
 * 기존과 구별:
 * - tips390: orange-500 #f97316 (더 채도 높은 네온 오렌지)
 * - tips397: amber-400 #fbbf24 (강한 노랑)
 * - tips400: amber-500 #f59e0b (황금 앰버)
 * - tips404: orange-600 #ea580c (번트 코퍼, 어두운 경고 오렌지)
 * - tips405: orange-400 #fb923c ("복숭아 탠저린", 밝고 따뜻한 창의적 오렌지)
 *   → 가장 가볍고 밝은 오렌지 계열, "GIF/미디어/편집" 느낌에 최적
 *   → base #070200 (따뜻한 탠저린 반영된 딥 워밍 다크)
 */

/* ─── 전체 리셋 ─── */
#tg-405-wrapper,
#tg-405-wrapper * {
    box-sizing: border-box; margin: 0; padding: 0; border: none;
    outline: none; text-decoration: none; list-style: none; background: none; font-style: normal;
}
#tg-405-wrapper h1, #tg-405-wrapper h2 { font-size: inherit; font-weight: inherit; color: inherit; line-height: 1.35; }
#tg-405-wrapper strong { font-weight: 700; color: inherit; }
#tg-405-wrapper p { margin-bottom: 14px !important; line-height: 1.85 !important; }
#tg-405-wrapper p:last-child { margin-bottom: 0 !important; }
#tg-405-wrapper button { cursor: pointer; }
#tg-405-wrapper a { color: inherit; }
#tg-405-wrapper ol, #tg-405-wrapper ul { list-style: none; }
#tg-405-wrapper label { cursor: pointer; }

/* ─── 디자인 토큰 ─── */
#tg-405-wrapper {
    --tan-50:  #fff7ed;
    --tan-100: #ffedd5;
    --tan-200: #fed7aa;
    --tan-300: #fdba74;
    --tan-400: #fb923c;   /* 메인 탠저린 */
    --tan-500: #f97316;
    --tan-600: #ea580c;
    --grn-400: #4ade80;
    --grn-500: #22c55e;
    --sky-400: #38bdf8;
    --sky-500: #0ea5e9;
    --red-400: #f87171;
    --ylw-400: #facc15;
    --dk-base: #070200;   /* 딥 워밍 다크 */
    --sl-50:   #f8fafc;
    --sl-100:  #f1f5f9;
    --sl-200:  #e2e8f0;
    --sl-400:  #94a3b8;
    --sl-500:  #64748b;
    --sl-800:  #1e293b;
    --sl-900:  #0f172a;
    --text-sub:#475569;
    --radius-sm: 10px;
    --radius-md: 18px;
    --radius-lg: 24px;
    --shadow-sm:  0 4px 14px rgba(0,0,0,.06);
    --shadow-tan: 0 6px 28px rgba(251,146,60,.3);
    --fs-sm:   .9rem;
    --fs-base: 1rem;
    --fs-lg:   1.2rem;

    font-family: 'Pretendard', 'Noto Sans KR', sans-serif;
    font-size: var(--fs-base); color: var(--sl-800); line-height: 1.7;
    max-width: 1100px; margin: 0 auto; width: 100%;
}

/* Material Symbols */
#tg-405-wrapper .material-symbols-outlined {
    font-family: 'Material Symbols Outlined', sans-serif !important;
    font-weight: normal !important; font-style: normal !important;
    font-size: inherit; line-height: 1;
    display: inline-block; white-space: nowrap; direction: ltr;
    -webkit-font-smoothing: antialiased; vertical-align: middle;
    text-transform: none; letter-spacing: normal; word-wrap: normal;
    font-feature-settings: 'liga';
}

/* 스크롤 등장 */
#tg-405-wrapper .tg-405-motion { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s ease; }
#tg-405-wrapper .tg-405-motion.is-visible { opacity: 1; transform: translateY(0); }

/* ══════════════════════════
   히어로
════════════════════════════ */
#tg-405-wrapper .tg-405-hero {
    position: relative; background: var(--dk-base);
    border-radius: var(--radius-lg); padding: 64px 28px 72px; text-align: center; overflow: hidden;
}
#tg-405-wrapper .tg-405-hero__bg {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 65% 55% at 50% 40%, rgba(251,146,60,.1) 0%, transparent 55%),
        radial-gradient(ellipse 28% 22% at 15% 78%, rgba(234,88,12,.07) 0%, transparent 50%);
}
/* 플로팅 GIF 프레임 */
#tg-405-wrapper .tg-405-hero__frames { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
#tg-405-wrapper .tg-405-frame { position: absolute; font-size: .6rem; font-weight: 900; letter-spacing: .05em; padding: 3px 10px; border-radius: 6px; opacity: 0; animation: tg405FrameFloat ease-in-out infinite; }
#tg-405-wrapper .tg-405-frame--1 { background:rgba(251,146,60,.15); color:var(--tan-400); border:1px solid rgba(251,146,60,.25); top:16%; left:4%;  animation-duration:4.5s; }
#tg-405-wrapper .tg-405-frame--2 { background:rgba(34,197,94,.1);  color:var(--grn-400);  border:1px solid rgba(34,197,94,.2);  top:22%; right:5%; animation-duration:3.8s; animation-delay:-1.2s; }
#tg-405-wrapper .tg-405-frame--3 { background:rgba(251,146,60,.12); color:var(--tan-300); border:1px solid rgba(251,146,60,.2);  bottom:30%; left:3%;  animation-duration:5s;   animation-delay:-2s; }
#tg-405-wrapper .tg-405-frame--4 { background:rgba(56,189,248,.08); color:var(--sky-400);  border:1px solid rgba(56,189,248,.18); bottom:20%; right:4%; animation-duration:4s;   animation-delay:-0.8s; }
#tg-405-wrapper .tg-405-frame--5 { background:rgba(251,146,60,.1);  color:var(--tan-400); border:1px solid rgba(251,146,60,.18); top:52%; left:42%;  animation-duration:5.5s; animation-delay:-3s; }
@keyframes tg405FrameFloat { 0%,100%{opacity:0;transform:translateY(0) scale(.9);}50%{opacity:.55;transform:translateY(-14px) scale(1);} }
/* 텍스트 */
#tg-405-wrapper .tg-405-hero__inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
#tg-405-wrapper .tg-405-hero__badge { display:inline-flex; align-items:center; gap:6px; background:rgba(251,146,60,.1); border:1px solid rgba(251,146,60,.28); color:var(--tan-400); font-size:.85rem; font-weight:700; padding:6px 18px; border-radius:999px; margin-bottom:22px !important; }
#tg-405-wrapper .tg-405-hero__title { font-size:clamp(1.65rem,4.2vw,2.3rem); font-weight:900; color:#fff; line-height:1.28; letter-spacing:-.02em; margin-bottom:16px; }
#tg-405-wrapper .tg-405-hero__title em { font-style:normal; color:var(--tan-400); text-shadow:0 0 24px rgba(251,146,60,.5); }
#tg-405-wrapper .tg-405-hero__subtitle { color:rgba(255,255,255,.65); line-height:1.8; max-width:540px; margin:0 auto 28px !important; }
#tg-405-wrapper .tg-405-hero__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
#tg-405-wrapper .tg-405-hero__chip { display:inline-flex; align-items:center; gap:6px; background:rgba(251,146,60,.08); border:1px solid rgba(251,146,60,.2); color:var(--tan-400); font-size:.82rem; font-weight:800; padding:8px 16px; border-radius:999px; }
#tg-405-wrapper .tg-405-hero__chip--grn { background:rgba(34,197,94,.07); border-color:rgba(34,197,94,.18); color:var(--grn-400); }
#tg-405-wrapper .tg-405-hero__chip--sky { background:rgba(56,189,248,.07); border-color:rgba(56,189,248,.18); color:var(--sky-400); }

/* ─── 레이아웃 ─── */
#tg-405-wrapper .tg-405-main { display: flex; flex-direction: column; gap: 28px; }

/* 도입부 */
#tg-405-wrapper .tg-405-intro { background:#fff; border:1px solid var(--sl-200); border-top:4px solid var(--tan-400); border-radius:var(--radius-md); padding:36px 28px; text-align:center; box-shadow:var(--shadow-sm); }
#tg-405-wrapper .tg-405-intro__icon { font-size:2.4rem; color:var(--tan-500); margin-bottom:14px; }
#tg-405-wrapper .tg-405-intro__title { font-size:clamp(1.05rem,2.8vw,1.3rem); font-weight:800; color:var(--sl-900); margin-bottom:14px; }
#tg-405-wrapper .tg-405-intro p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
/* 특징 그리드 */
#tg-405-wrapper .tg-405-feat-grid { display:grid; grid-template-columns:1fr; gap:12px; max-width:700px; margin:22px auto 0; text-align:left; }
#tg-405-wrapper .tg-405-feat-item { border:1px solid var(--sl-200); border-radius:14px; padding:18px 20px; }
#tg-405-wrapper .tg-405-feat-item--main { border-color:rgba(251,146,60,.2); background:rgba(251,146,60,.03); }
#tg-405-wrapper .tg-405-feat-item__ico { width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:12px; border:1px solid transparent; }
#tg-405-wrapper .tg-405-feat-item__ico--tan { background:rgba(251,146,60,.1); border-color:rgba(251,146,60,.22); color:var(--tan-600); }
#tg-405-wrapper .tg-405-feat-item__ico--grn { background:rgba(34,197,94,.1); border-color:rgba(34,197,94,.22); color:#16a34a; }
#tg-405-wrapper .tg-405-feat-item__ico--sky { background:rgba(56,189,248,.1); border-color:rgba(56,189,248,.22); color:#0369a1; }
#tg-405-wrapper .tg-405-feat-item__title { font-size:.92rem; font-weight:800; color:var(--sl-900); margin-bottom:6px !important; }
#tg-405-wrapper .tg-405-feat-item__desc  { font-size:.82rem; color:var(--text-sub); line-height:1.65; margin-bottom:0 !important; }

/* ─── 공통 섹션 ─── */
#tg-405-wrapper .tg-405-section { background:#fff; border:1px solid var(--sl-200); border-radius:var(--radius-md); padding:44px 32px; box-shadow:var(--shadow-sm); text-align:center; }
#tg-405-wrapper .tg-405-section--dark { background:var(--dk-base); border-color:rgba(251,146,60,.1); }
#tg-405-wrapper .tg-405-section--tip { background:linear-gradient(145deg, #fff7ed, #fff); border-color:rgba(251,146,60,.14); }
#tg-405-wrapper .tg-405-section__label { display:inline-flex; align-items:center; gap:7px; font-size:.88rem; font-weight:700; padding:7px 20px; border-radius:999px; margin-bottom:22px; }
#tg-405-wrapper .tg-405-section__label--dark { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2); }
#tg-405-wrapper .tg-405-section__label--tan { background:rgba(251,146,60,.08); color:var(--tan-600); border:1px solid rgba(251,146,60,.18); }
#tg-405-wrapper .tg-405-section__label .material-symbols-outlined { font-size:1rem; }
#tg-405-wrapper .tg-405-section__title--light { color:#fff; font-size:clamp(1.2rem,3vw,1.5rem); font-weight:900; letter-spacing:-.02em; margin-bottom:16px !important; line-height:1.35; }
#tg-405-wrapper .tg-405-section__title { font-size:clamp(1.2rem,3vw,1.5rem); font-weight:900; color:var(--sl-900); letter-spacing:-.02em; margin-bottom:16px; display:flex; align-items:center; justify-content:center; gap:10px; }
#tg-405-wrapper .tg-405-section > p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
#tg-405-wrapper .tg-405-section__desc--light { color:rgba(255,255,255,.75) !important; margin-bottom:28px !important; }

/* ══════════════════════════
   시뮬레이터
════════════════════════════ */
#tg-405-wrapper .tg-405-sim-wrap { max-width:420px; margin:0 auto; text-align:left; }
#tg-405-wrapper .tg-405-sim-hint { font-size:.7rem; color:rgba(255,255,255,.22); text-align:center; margin-top:10px !important; }
#tg-405-wrapper .tg-405-stage { animation:tg405FadeIn .3s ease; }
@keyframes tg405FadeIn { from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);} }

/* Stage 1: GIF 패널 */
#tg-405-wrapper .tg-405-gif-panel { background:rgba(255,255,255,.04); border:1px solid rgba(251,146,60,.1); border-radius:16px; overflow:hidden; }
#tg-405-wrapper .tg-405-gif-panel__hd { display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.05); }
#tg-405-wrapper .tg-405-gif-panel__hd .material-symbols-outlined { font-size:1.1rem; color:var(--tan-400); }
#tg-405-wrapper .tg-405-gif-panel__title { font-size:.82rem; font-weight:900; color:rgba(255,255,255,.55); flex:1; margin-bottom:0 !important; line-height:1 !important; }
#tg-405-wrapper .tg-405-gif-panel__hint-lbl { font-size:.6rem; color:rgba(255,255,255,.2); font-weight:700; }
/* GIF 탭 */
#tg-405-wrapper .tg-405-gif-panel__tabs { display:flex; gap:0; border-bottom:1px solid rgba(255,255,255,.05); }
#tg-405-wrapper .tg-405-gif-tab { flex:1; padding:8px 4px; font-size:.68rem; font-weight:700; color:rgba(255,255,255,.25); text-align:center; }
#tg-405-wrapper .tg-405-gif-tab--active { color:var(--tan-400); border-bottom:2px solid var(--tan-400); }
/* GIF 그리드 */
#tg-405-wrapper .tg-405-gif-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding:8px; }
#tg-405-wrapper .tg-405-gif-item { position:relative; aspect-ratio:4/3; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; overflow:hidden; cursor:default; animation:tg405GifShimmer 3s ease-in-out infinite; }
#tg-405-wrapper .tg-405-gif-item--c1 { background:linear-gradient(135deg, #1e3a2f, #0d4a35); animation-delay:0s; }
#tg-405-wrapper .tg-405-gif-item--c2 { background:linear-gradient(135deg, #1a2550, #0a1f70); animation-delay:.5s; }
#tg-405-wrapper .tg-405-gif-item--c3 { background:linear-gradient(135deg, #3d1a04, #5c2e08); animation-delay:1s; }
#tg-405-wrapper .tg-405-gif-item--c4 { background:linear-gradient(135deg, #1a2850, #142266); animation-delay:1.5s; }
#tg-405-wrapper .tg-405-gif-item--c5 { background:linear-gradient(135deg, #2a1a50, #1a0d4a); animation-delay:2s; }
#tg-405-wrapper .tg-405-gif-item--c6 { background:linear-gradient(135deg, #003030, #004545); animation-delay:2.5s; }
@keyframes tg405GifShimmer { 0%,100%{filter:brightness(1);}50%{filter:brightness(1.15);} }
#tg-405-wrapper .tg-405-gif-item__label { position:relative; z-index:1; pointer-events:none; }
/* 타겟 GIF (클릭 가능) */
#tg-405-wrapper .tg-405-gif-item--target { cursor:pointer; border:2px solid rgba(251,146,60,.4); animation:tg405GifTarget 2s ease-in-out infinite; }
@keyframes tg405GifTarget { 0%,100%{border-color:rgba(251,146,60,.25); box-shadow:none;}50%{border-color:rgba(251,146,60,.7); box-shadow:0 0 12px rgba(251,146,60,.35);} }
#tg-405-wrapper .tg-405-gif-item--target:hover { border-color:var(--tan-400); }
#tg-405-wrapper .tg-405-gif-item--target:focus-visible { border-color:var(--tan-400); outline:3px solid rgba(251,146,60,.4); }
#tg-405-wrapper .tg-405-gif-item__badge { position:absolute; bottom:4px; right:4px; background:rgba(251,146,60,.9); border-radius:50%; width:20px; height:20px; display:flex; align-items:center; justify-content:center; font-size:.7rem; color:#fff; }
#tg-405-wrapper .tg-405-gif-item__badge .material-symbols-outlined { font-size:.75rem; }
/* GIF 힌트 */
#tg-405-wrapper .tg-405-gif-panel__hint { font-size:.66rem; color:var(--tan-400); display:flex; align-items:center; gap:5px; padding:8px 14px 10px; opacity:.7; margin-bottom:0 !important; }
#tg-405-wrapper .tg-405-gif-panel__hint .material-symbols-outlined { font-size:.8rem; animation:tg405TapBounce 1.5s ease-in-out infinite; }
@keyframes tg405TapBounce { 0%,100%{transform:scale(1);}50%{transform:scale(1.3) translateY(-2px);} }

/* Stage 2: GIF 편집 */
#tg-405-wrapper .tg-405-editor-panel { background:rgba(255,255,255,.04); border:1px solid rgba(251,146,60,.12); border-radius:16px; overflow:hidden; }
#tg-405-wrapper .tg-405-editor-panel__hd { display:flex; align-items:center; gap:8px; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.05); }
#tg-405-wrapper .tg-405-back-btn { display:inline-flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,.07); color:rgba(255,255,255,.5); font-size:1rem; transition:background .18s; }
#tg-405-wrapper .tg-405-back-btn:hover { background:rgba(255,255,255,.12); }
#tg-405-wrapper .tg-405-editor-panel__title { font-size:.82rem; font-weight:800; color:rgba(255,255,255,.65); flex:1; margin-bottom:0 !important; line-height:1 !important; }
#tg-405-wrapper .tg-405-editor-panel__gif-badge { font-size:.58rem; font-weight:900; background:var(--tan-500); color:#fff; padding:2px 7px; border-radius:4px; }

/* GIF 미리보기 */
#tg-405-wrapper .tg-405-gif-preview { position:relative; background:linear-gradient(135deg, #3d1a04, #5c2e08); margin:10px 14px; border-radius:12px; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; overflow:hidden; }
#tg-405-wrapper .tg-405-gif-preview__anim { position:relative; display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
#tg-405-wrapper .tg-405-gif-preview__frame { position:absolute; font-size:2.5rem; opacity:0; }
#tg-405-wrapper .tg-405-gif-preview__frame--f1 { animation:tg405GifF 1.5s ease-in-out infinite; }
#tg-405-wrapper .tg-405-gif-preview__frame--f2 { animation:tg405GifF 1.5s ease-in-out infinite; animation-delay:.5s; }
#tg-405-wrapper .tg-405-gif-preview__frame--f3 { animation:tg405GifF 1.5s ease-in-out infinite; animation-delay:1s; }
@keyframes tg405GifF { 0%,100%{opacity:0;transform:scale(.8);}33%{opacity:1;transform:scale(1.1);}66%{opacity:.2;transform:scale(1);} }
#tg-405-wrapper .tg-405-gif-preview__caption-preview { position:absolute; bottom:8px; left:50%; transform:translateX(-50%); font-size:.78rem; font-weight:700; color:#fff; background:rgba(0,0,0,.65); border-radius:999px; padding:3px 14px; white-space:nowrap; max-width:90%; overflow:hidden; text-overflow:ellipsis; min-width:0; animation:tg405FadeIn .25s ease; margin-bottom:0 !important; line-height:1.4 !important; }
#tg-405-wrapper .tg-405-gif-preview__badge { position:absolute; top:8px; left:8px; font-size:.58rem; font-weight:900; background:var(--tan-500); color:#fff; padding:2px 7px; border-radius:4px; }

/* Trim 슬라이더 */
#tg-405-wrapper .tg-405-trim-wrap { padding:0 14px 10px; }
#tg-405-wrapper .tg-405-trim-label-row { display:flex; align-items:center; gap:6px; margin-bottom:6px; }
#tg-405-wrapper .tg-405-trim-label { font-size:.7rem; font-weight:700; color:rgba(255,255,255,.3); display:flex; align-items:center; gap:5px; flex:1; }
#tg-405-wrapper .tg-405-trim-label .material-symbols-outlined { font-size:.9rem; color:var(--grn-400); }
#tg-405-wrapper .tg-405-trim-val { font-size:.75rem; font-weight:900; color:var(--tan-400); }
#tg-405-wrapper .tg-405-trim-track { position:relative; height:8px; background:rgba(255,255,255,.1); border-radius:999px; margin-bottom:4px; }
#tg-405-wrapper .tg-405-trim-fill { position:absolute; left:0; top:0; height:100%; border-radius:999px; background:linear-gradient(90deg, var(--tan-400), var(--tan-500)); transition:width .1s; pointer-events:none; }
#tg-405-wrapper .tg-405-trim-slider { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
#tg-405-wrapper .tg-405-trim-endpoints { display:flex; justify-content:space-between; font-size:.6rem; color:rgba(255,255,255,.2); }

/* 이모지 퀵 버튼 */
#tg-405-wrapper .tg-405-emoji-lbl { font-size:.68rem; font-weight:700; color:rgba(255,255,255,.22); padding:0 14px 6px; margin-bottom:0 !important; }
#tg-405-wrapper .tg-405-emoji-quick { display:flex; gap:6px; padding:0 14px 12px; flex-wrap:wrap; }
#tg-405-wrapper .tg-405-emoji-btn { font-size:1.1rem; width:36px; height:36px; border-radius:10px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:all .15s; }
#tg-405-wrapper .tg-405-emoji-btn:hover { background:rgba(251,146,60,.15); border-color:rgba(251,146,60,.25); transform:scale(1.15); }

/* 자막 입력창 */
#tg-405-wrapper .tg-405-caption-wrap { padding:0 14px 14px; }
#tg-405-wrapper .tg-405-caption-lbl { display:flex; align-items:center; gap:5px; font-size:.7rem; font-weight:700; color:rgba(255,255,255,.28); margin-bottom:6px; }
#tg-405-wrapper .tg-405-caption-lbl .material-symbols-outlined { font-size:.9rem; color:var(--tan-400); }
#tg-405-wrapper .tg-405-caption-row { display:flex; align-items:center; gap:8px; }
#tg-405-wrapper .tg-405-caption-field { flex:1; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.1); border-radius:9px; padding:10px 12px; font-family:inherit; font-size:.85rem; color:rgba(255,255,255,.8); transition:border-color .18s; }
#tg-405-wrapper .tg-405-caption-field::placeholder { color:rgba(255,255,255,.18); }
#tg-405-wrapper .tg-405-caption-field:focus { border-color:rgba(251,146,60,.45); outline:none; box-shadow:0 0 0 3px rgba(251,146,60,.12); }
#tg-405-wrapper .tg-405-caption-hint { font-size:.62rem; color:rgba(255,255,255,.16); margin-top:5px !important; margin-bottom:0 !important; }
/* 전송 버튼 */
#tg-405-wrapper .tg-405-send-btn { width:42px; height:42px; border-radius:50%; background:linear-gradient(135deg, var(--tan-400), var(--tan-600)); color:#fff; font-size:1.1rem; display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-tan); transition:transform .18s; flex-shrink:0; }
#tg-405-wrapper .tg-405-send-btn:hover { transform:scale(1.1); }
#tg-405-wrapper .tg-405-send-btn .material-symbols-outlined { margin-left:2px; }

/* Stage 3: 결과 */
#tg-405-wrapper .tg-405-result-panel { background:rgba(255,255,255,.04); border:1px solid rgba(251,146,60,.14); border-radius:16px; overflow:hidden; }
#tg-405-wrapper .tg-405-result-panel__hd { display:flex; align-items:center; gap:8px; padding:10px 14px; background:rgba(251,146,60,.08); border-bottom:1px solid rgba(251,146,60,.1); }
#tg-405-wrapper .tg-405-result-panel__hd .material-symbols-outlined { font-size:1.1rem; color:var(--tan-400); }
#tg-405-wrapper .tg-405-result-panel__title { font-size:.82rem; font-weight:800; color:rgba(255,255,255,.7); margin-bottom:0 !important; }
/* 결과 채팅 */
#tg-405-wrapper .tg-405-result-chat { padding:12px 14px; }
#tg-405-wrapper .tg-405-result-msg { display:flex; flex-direction:column; align-items:flex-end; animation:tg405MsgPop .4s ease; }
@keyframes tg405MsgPop { 0%{opacity:0;transform:scale(.85) translateY(10px);}60%{transform:scale(1.03);}100%{opacity:1;transform:scale(1) translateY(0);} }
#tg-405-wrapper .tg-405-result-gif { position:relative; width:100%; aspect-ratio:16/9; background:linear-gradient(135deg, #3d1a04, #5c2e08); border-radius:10px 10px 0 0; overflow:hidden; display:flex; align-items:center; justify-content:center; }
#tg-405-wrapper .tg-405-result-gif__anim { display:flex; align-items:center; justify-content:center; position:relative; width:100%; height:100%; }
#tg-405-wrapper .tg-405-result-gif__f1,
#tg-405-wrapper .tg-405-result-gif__f2,
#tg-405-wrapper .tg-405-result-gif__f3 { position:absolute; font-size:2rem; opacity:0; }
#tg-405-wrapper .tg-405-result-gif__f1 { animation:tg405GifF 1.5s ease-in-out infinite; }
#tg-405-wrapper .tg-405-result-gif__f2 { animation:tg405GifF 1.5s ease-in-out infinite; animation-delay:.5s; }
#tg-405-wrapper .tg-405-result-gif__f3 { animation:tg405GifF 1.5s ease-in-out infinite; animation-delay:1s; }
#tg-405-wrapper .tg-405-result-gif__badge { position:absolute; top:6px; left:6px; font-size:.58rem; font-weight:900; background:var(--tan-500); color:#fff; padding:2px 7px; border-radius:4px; }
#tg-405-wrapper .tg-405-result-gif__trim { position:absolute; bottom:0; left:0; height:3px; background:linear-gradient(90deg, var(--tan-400), var(--tan-500)); border-radius:0 0 0 4px; transition:width .3s; }
#tg-405-wrapper .tg-405-result-caption { background:rgba(251,146,60,.12); border:1px solid rgba(251,146,60,.2); border-radius:0 0 10px 10px; padding:8px 12px; font-size:.82rem; color:rgba(255,255,255,.75); line-height:1.5; margin-bottom:4px !important; display:none; }
#tg-405-wrapper .tg-405-result-caption.has-text { display:block; }
#tg-405-wrapper .tg-405-result-time { font-size:.6rem; color:rgba(255,255,255,.2); text-align:right; margin-bottom:0 !important; }
/* 결과 정보 */
#tg-405-wrapper .tg-405-result-info { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:10px 14px; border-top:1px solid rgba(255,255,255,.05); }
#tg-405-wrapper .tg-405-result-stat { display:flex; align-items:center; gap:6px; font-size:.72rem; color:rgba(255,255,255,.35); }
#tg-405-wrapper .tg-405-result-stat .material-symbols-outlined { font-size:.9rem; color:var(--tan-400); }
#tg-405-wrapper .tg-405-result-stat strong { color:var(--tan-400); }
#tg-405-wrapper .tg-405-result-stat p { margin-bottom:0 !important; }
/* 재시작 */
#tg-405-wrapper .tg-405-retry-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:calc(100% - 24px); margin:6px 12px 12px; padding:10px; border-radius:999px; background:rgba(251,146,60,.1); border:1px solid rgba(251,146,60,.25); color:var(--tan-400); font-size:.82rem; font-weight:800; transition:background .18s; }
#tg-405-wrapper .tg-405-retry-btn:hover { background:rgba(251,146,60,.18); }

/* ─── 기기별 탭 ─── */
#tg-405-wrapper .tg-405-tabs { display:flex; gap:6px; background:var(--sl-100); border-radius:var(--radius-sm); padding:5px; margin-bottom:22px; flex-wrap:wrap; }
#tg-405-wrapper .tg-405-tab-btn { flex:1; min-width:72px; display:flex; align-items:center; justify-content:center; gap:6px; padding:11px 10px; border-radius:7px; font-size:var(--fs-sm); font-weight:600; color:var(--sl-500); transition:background .2s, color .2s; }
#tg-405-wrapper .tg-405-tab-btn .material-symbols-outlined { font-size:1.1rem; }
#tg-405-wrapper .tg-405-tab-btn--active { background:#fff; color:var(--tan-600); box-shadow:0 2px 8px rgba(0,0,0,.08); font-weight:800; }
#tg-405-wrapper .tg-405-tab-panel { display:none; text-align:left; animation:tg405FadeIn .3s ease; }
#tg-405-wrapper .tg-405-tab-panel--active { display:block; }
#tg-405-wrapper .tg-405-tab-panel__head { display:flex; align-items:center; gap:14px; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--sl-100); }
#tg-405-wrapper .tg-405-tab-panel__icon { width:50px; height:50px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.6rem; flex-shrink:0; }
#tg-405-wrapper .tg-405-tab-panel__icon--ios     { background:linear-gradient(135deg, #555, #111); color:#fff; }
#tg-405-wrapper .tg-405-tab-panel__icon--android { background:linear-gradient(135deg, #3ddc84, #00ac47); color:#fff; }
#tg-405-wrapper .tg-405-tab-panel__icon--pc      { background:linear-gradient(135deg, var(--tan-400), var(--tan-600)); color:#fff; }
#tg-405-wrapper .tg-405-tab-panel__name { font-size:var(--fs-lg); font-weight:800; color:var(--sl-900); margin-bottom:4px; }
#tg-405-wrapper .tg-405-tab-panel__sub  { font-size:var(--fs-sm); color:var(--sl-500); margin-bottom:0 !important; }
#tg-405-wrapper .tg-405-steps { display:flex; flex-direction:column; gap:12px; counter-reset:steps; }
#tg-405-wrapper .tg-405-steps li { counter-increment:steps; display:flex; align-items:flex-start; gap:12px; font-size:var(--fs-base); color:var(--text-sub); line-height:1.75; }
#tg-405-wrapper .tg-405-steps li::before { content:counter(steps); min-width:28px; height:28px; flex-shrink:0; margin-top:2px; background:linear-gradient(135deg, var(--tan-400), var(--tan-600)); color:#fff; font-size:.8rem; font-weight:900; border-radius:50%; display:flex; align-items:center; justify-content:center; }
#tg-405-wrapper .tg-405-steps li strong { color:var(--sl-800); }
#tg-405-wrapper .tg-405-tip-box { display:flex; align-items:flex-start; gap:12px; background:rgba(251,146,60,.05); border:1px solid rgba(251,146,60,.18); border-radius:var(--radius-sm); padding:14px 18px; margin-top:18px; font-size:var(--fs-sm); color:var(--text-sub); line-height:1.7; }
#tg-405-wrapper .tg-405-tip-box .material-symbols-outlined { font-size:1.2rem; color:var(--tan-500); flex-shrink:0; margin-top:2px; }
#tg-405-wrapper .tg-405-tip-box--info { background:rgba(56,189,248,.04); border-color:rgba(56,189,248,.14); }
#tg-405-wrapper .tg-405-tip-box--info .material-symbols-outlined { color:#0369a1; }

/* 꿀팁 그리드 */
#tg-405-wrapper .tg-405-use-grid { display:grid; grid-template-columns:1fr; gap:14px; max-width:700px; margin:22px auto 0; text-align:left; }
#tg-405-wrapper .tg-405-use-item { display:flex; flex-direction:column; gap:10px; background:#fff; border:1px solid var(--sl-200); border-radius:14px; padding:20px; }
#tg-405-wrapper .tg-405-use-item__ico { width:46px; height:46px; border-radius:12px; background:rgba(251,146,60,.08); border:1px solid rgba(251,146,60,.16); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:var(--tan-500); }
#tg-405-wrapper .tg-405-use-item__title { font-size:.95rem; font-weight:800; color:var(--sl-900); margin-bottom:6px !important; }
#tg-405-wrapper .tg-405-use-item__desc  { font-size:.85rem; color:var(--text-sub); line-height:1.7; margin-bottom:0 !important; }

/* 결론 요약 */
#tg-405-wrapper .tg-405-summary { background:linear-gradient(145deg, var(--dk-base), #1a0a00 55%, var(--dk-base)); border:1px solid rgba(251,146,60,.12); border-radius:var(--radius-lg); padding:52px 32px; color:#fff; text-align:center; }
#tg-405-wrapper .tg-405-summary h2 { font-size:1.3rem; font-weight:900; display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:12px; }
#tg-405-wrapper .tg-405-summary h2 .material-symbols-outlined { color:var(--tan-400); font-size:1.5rem; }
#tg-405-wrapper .tg-405-summary > p { color:rgba(255,255,255,.55); margin-bottom:36px !important; }
#tg-405-wrapper .tg-405-summary__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; max-width:560px; margin:0 auto; }
#tg-405-wrapper .tg-405-summary__item { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:20px; display:flex; flex-direction:column; align-items:center; gap:10px; }
#tg-405-wrapper .tg-405-summary__item .material-symbols-outlined { font-size:1.8rem; color:var(--tan-400); }
#tg-405-wrapper .tg-405-summary__item p { font-size:.84rem; font-weight:700; color:rgba(255,255,255,.75); line-height:1.5; margin-bottom:0 !important; }
#tg-405-wrapper .tg-405-footer-cta { margin-top:44px; border-top:1px solid rgba(255,255,255,.07); padding-top:28px; }
#tg-405-wrapper .tg-405-footer-cta p { font-size:var(--fs-sm); color:rgba(255,255,255,.4); margin-bottom:20px !important; }
#tg-405-wrapper .tg-405-cta-btn { display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg, var(--tan-400), var(--tan-600)); color:#fff; font-size:1rem; font-weight:900; padding:15px 32px; border-radius:999px; box-shadow:var(--shadow-tan); transition:transform .2s; }
#tg-405-wrapper .tg-405-cta-btn:hover { transform:translateY(-3px); }
#tg-405-wrapper .tg-405-cta-btn .material-symbols-outlined { font-size:1.1rem; }

/* 반응형 */
@media (min-width:480px) {
    #tg-405-wrapper .tg-405-feat-grid { grid-template-columns:repeat(3,1fr); }
    #tg-405-wrapper .tg-405-use-grid  { grid-template-columns:repeat(2,1fr); }
}
@media (min-width:640px) {
    #tg-405-wrapper .tg-405-summary__grid { grid-template-columns:repeat(4,1fr); }
}
@media (min-width:900px) {
    #tg-405-wrapper .tg-405-hero { padding:80px 56px 90px; }
    #tg-405-wrapper .tg-405-section, #tg-405-wrapper .tg-405-intro { padding:52px 48px; }
}
