/*
 * tips407/style.css  v1.0.0
 * 텔레그램으로 로그인(Log In With Telegram) 가이드
 * 테마: 딥 애저 #0284c7 (sky-600) + 딥 오션 다크 #00080f
 *      (인증·보안·연결·신뢰·대양 연상)
 * 그누보드5 격리 | BEM | 모바일 퍼스트
 *
 * 기존과 구별:
 * - tips394: sky-500 #0ea5e9 (밝은 하늘색, 희고 가벼운 느낌)
 * - tips401: blue-500 #3b82f6 (밝고 선명한 로열 블루)
 * - tips407: sky-600 #0284c7 ("짙은 오션 애저", 더 어둡고 묵직한 신뢰·보안 느낌)
 *   → "인증·보안·연결·커넥터" 느낌에 최적
 *   → base #00080f (차고 딥한 오션 다크)
 */

/* ─── 전체 리셋 ─── */
#tg-407-wrapper,
#tg-407-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-407-wrapper h1, #tg-407-wrapper h2 { font-size: inherit; font-weight: inherit; color: inherit; line-height: 1.35; }
#tg-407-wrapper strong { font-weight: 700; color: inherit; }
#tg-407-wrapper p { margin-bottom: 14px !important; line-height: 1.85 !important; }
#tg-407-wrapper p:last-child { margin-bottom: 0 !important; }
#tg-407-wrapper button { cursor: pointer; }
#tg-407-wrapper a { color: inherit; }
#tg-407-wrapper ol, #tg-407-wrapper ul { list-style: none; }
#tg-407-wrapper label { cursor: pointer; }

/* ─── 디자인 토큰 ─── */
#tg-407-wrapper {
    --az-50:   #f0f9ff;
    --az-100:  #e0f2fe;
    --az-200:  #bae6fd;
    --az-300:  #7dd3fc;
    --az-400:  #38bdf8;
    --az-500:  #0ea5e9;
    --az-600:  #0284c7;   /* 메인 딥 애저 */
    --az-700:  #0369a1;
    --az-800:  #075985;
    --grn-400: #4ade80;
    --grn-500: #22c55e;
    --ylw-400: #facc15;
    --red-400: #f87171;
    --red-500: #ef4444;
    --em-500:  #10b981;
    --dk-base: #00080f;   /* 딥 오션 다크 */
    --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-az:  0 6px 28px rgba(2,132,199,.35);
    --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-407-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-407-wrapper .tg-407-motion { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s ease; }
#tg-407-wrapper .tg-407-motion.is-visible { opacity: 1; transform: translateY(0); }

/* ══════════════════════════
   히어로
════════════════════════════ */
#tg-407-wrapper .tg-407-hero {
    position: relative; background: var(--dk-base);
    border-radius: var(--radius-lg); padding: 64px 28px 72px; text-align: center; overflow: hidden;
}
#tg-407-wrapper .tg-407-hero__bg {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 65% 55% at 50% 40%, rgba(2,132,199,.12) 0%, transparent 55%),
        radial-gradient(ellipse 28% 22% at 20% 80%, rgba(3,105,161,.08) 0%, transparent 50%);
}
/* 연결선 장식 */
#tg-407-wrapper .tg-407-hero__links { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
#tg-407-wrapper .tg-407-link-dot { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: rgba(2,132,199,.35); animation: tg407DotPulse 3s ease-in-out infinite; }
#tg-407-wrapper .tg-407-link-dot--1 { top: 20%; left: 8%;  animation-delay: 0s; }
#tg-407-wrapper .tg-407-link-dot--2 { top: 35%; right: 10%; animation-delay: .8s; }
#tg-407-wrapper .tg-407-link-dot--3 { bottom: 25%; left: 15%; animation-delay: 1.6s; }
@keyframes tg407DotPulse { 0%,100%{opacity:.2;transform:scale(1);}50%{opacity:.8;transform:scale(1.6);} }
#tg-407-wrapper .tg-407-link-line { position: absolute; background: rgba(2,132,199,.08); animation: tg407LineFade 4s ease-in-out infinite; }
#tg-407-wrapper .tg-407-link-line--h { top: 28%; left: 0; right: 0; height: 1px; animation-delay: .5s; }
#tg-407-wrapper .tg-407-link-line--v { left: 20%; top: 0; bottom: 0; width: 1px; }
@keyframes tg407LineFade { 0%,100%{opacity:.2;}50%{opacity:.6;} }
/* 텍스트 */
#tg-407-wrapper .tg-407-hero__inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
#tg-407-wrapper .tg-407-hero__badge { display:inline-flex; align-items:center; gap:6px; background:rgba(2,132,199,.1); border:1px solid rgba(2,132,199,.28); color:var(--az-400); font-size:.85rem; font-weight:700; padding:6px 18px; border-radius:999px; margin-bottom:22px !important; }
#tg-407-wrapper .tg-407-hero__title { font-size:clamp(1.5rem,4.2vw,2.2rem); font-weight:900; color:#fff; line-height:1.28; letter-spacing:-.02em; margin-bottom:16px; }
#tg-407-wrapper .tg-407-hero__title em { font-style:normal; color:var(--az-400); text-shadow:0 0 24px rgba(2,132,199,.5); }
#tg-407-wrapper .tg-407-hero__subtitle { color:rgba(255,255,255,.65); line-height:1.8; max-width:540px; margin:0 auto 28px !important; }
#tg-407-wrapper .tg-407-hero__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
#tg-407-wrapper .tg-407-hero__chip { display:inline-flex; align-items:center; gap:6px; background:rgba(2,132,199,.08); border:1px solid rgba(2,132,199,.2); color:var(--az-400); font-size:.82rem; font-weight:800; padding:8px 16px; border-radius:999px; }
#tg-407-wrapper .tg-407-hero__chip--grn { background:rgba(34,197,94,.07); border-color:rgba(34,197,94,.18); color:var(--grn-400); }
#tg-407-wrapper .tg-407-hero__chip--ylw { background:rgba(250,204,21,.07); border-color:rgba(250,204,21,.18); color:var(--ylw-400); }

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

/* 도입부 */
#tg-407-wrapper .tg-407-intro { background:#fff; border:1px solid var(--sl-200); border-top:4px solid var(--az-600); border-radius:var(--radius-md); padding:36px 28px; text-align:center; box-shadow:var(--shadow-sm); }
#tg-407-wrapper .tg-407-intro__icon { font-size:2.4rem; color:var(--az-600); margin-bottom:14px; }
/* 장점 그리드 */
#tg-407-wrapper .tg-407-adv-grid { display:grid; grid-template-columns:1fr; gap:12px; max-width:700px; margin:20px auto 0; text-align:left; }
#tg-407-wrapper .tg-407-adv-item { border:1px solid var(--sl-200); border-radius:14px; padding:18px 20px; }
#tg-407-wrapper .tg-407-adv-item--main { border-color:rgba(2,132,199,.2); background:rgba(2,132,199,.03); }
#tg-407-wrapper .tg-407-adv-item__ico { width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; font-size:1.2rem; margin-bottom:12px; }
#tg-407-wrapper .tg-407-adv-item__ico--az  { background:rgba(2,132,199,.1); color:var(--az-700); }
#tg-407-wrapper .tg-407-adv-item__ico--grn { background:rgba(34,197,94,.1); color:#15803d; }
#tg-407-wrapper .tg-407-adv-item__ico--ylw { background:rgba(250,204,21,.1); color:#92400e; }
#tg-407-wrapper .tg-407-adv-item__title { font-size:.92rem; font-weight:800; color:var(--sl-900); margin-bottom:6px !important; }
#tg-407-wrapper .tg-407-adv-item__desc  { font-size:.82rem; color:var(--text-sub); line-height:1.65; margin-bottom:0 !important; }

/* ─── 공통 섹션 ─── */
#tg-407-wrapper .tg-407-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-407-wrapper .tg-407-section--dark { background:var(--dk-base); border-color:rgba(2,132,199,.1); }
#tg-407-wrapper .tg-407-section--tip { background:linear-gradient(145deg, #f0f9ff, #fff); border-color:rgba(2,132,199,.14); }
#tg-407-wrapper .tg-407-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-407-wrapper .tg-407-section__label--dark { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2); }
#tg-407-wrapper .tg-407-section__label--az { background:rgba(2,132,199,.08); color:var(--az-800); border:1px solid rgba(2,132,199,.18); }
#tg-407-wrapper .tg-407-section__label .material-symbols-outlined { font-size:1rem; }
#tg-407-wrapper .tg-407-section__title--light { color:#fff; font-size:clamp(1.2rem,3vw,1.5rem); font-weight:900; letter-spacing:-.02em; margin-bottom:16px !important; }
#tg-407-wrapper .tg-407-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; flex-wrap:wrap; }
#tg-407-wrapper .tg-407-section > p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
#tg-407-wrapper .tg-407-section__desc--light { color:rgba(255,255,255,.75) !important; margin-bottom:28px !important; }

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

/* Stage 1: 외부 사이트 모의 */
#tg-407-wrapper .tg-407-site-mock { background:rgba(255,255,255,.04); border:1px solid rgba(2,132,199,.1); border-radius:14px; overflow:hidden; }
#tg-407-wrapper .tg-407-site-mock__hd { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; background:rgba(255,255,255,.03); border-bottom:1px solid rgba(255,255,255,.05); }
#tg-407-wrapper .tg-407-site-mock__logo { display:flex; align-items:center; gap:6px; font-size:.7rem; font-weight:800; color:rgba(255,255,255,.4); }
#tg-407-wrapper .tg-407-site-mock__logo .material-symbols-outlined { font-size:.9rem; }
#tg-407-wrapper .tg-407-site-mock__nav { display:flex; gap:4px; }
#tg-407-wrapper .tg-407-site-mock__nav span { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.1); }
#tg-407-wrapper .tg-407-site-mock__body { padding:20px 16px; text-align:center; }
#tg-407-wrapper .tg-407-site-mock__welcome { font-size:.9rem; font-weight:800; color:rgba(255,255,255,.7); margin-bottom:6px !important; }
#tg-407-wrapper .tg-407-site-mock__sub { font-size:.75rem; color:rgba(255,255,255,.3); margin-bottom:18px !important; }
/* Log In with Telegram 버튼 */
#tg-407-wrapper .tg-407-tg-login-btn { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:12px; border-radius:11px; background:linear-gradient(135deg, var(--az-600), var(--az-800)); color:#fff; font-size:.9rem; font-weight:900; box-shadow:var(--shadow-az); transition:transform .18s; animation:tg407LoginGlow 2s ease-in-out infinite; }
@keyframes tg407LoginGlow { 0%,100%{box-shadow:var(--shadow-az);}50%{box-shadow:0 8px 36px rgba(2,132,199,.55);} }
#tg-407-wrapper .tg-407-tg-login-btn:hover { transform:translateY(-2px); }
#tg-407-wrapper .tg-407-tg-login-btn .material-symbols-outlined { font-size:1.1rem; }
#tg-407-wrapper .tg-407-site-mock__divider { font-size:.7rem; color:rgba(255,255,255,.2); margin:10px 0 !important; }
#tg-407-wrapper .tg-407-site-mock__other { display:flex; gap:8px; justify-content:center; }
#tg-407-wrapper .tg-407-site-mock__other span { font-size:.7rem; font-weight:700; color:rgba(255,255,255,.18); padding:6px 14px; border:1px solid rgba(255,255,255,.07); border-radius:8px; }
#tg-407-wrapper .tg-407-stage1-hint { font-size:.65rem; color:var(--az-400); display:flex; align-items:center; gap:5px; padding:6px 12px 10px; opacity:.7; margin-bottom:0 !important; }
#tg-407-wrapper .tg-407-stage1-hint .material-symbols-outlined { font-size:.8rem; animation:tg407TapBounce 1.5s ease-in-out infinite; }
@keyframes tg407TapBounce { 0%,100%{transform:scale(1);}50%{transform:scale(1.3) translateY(-2px);} }

/* Stage 2: 전화번호 입력 */
#tg-407-wrapper .tg-407-phone-panel { background:rgba(255,255,255,.04); border:1px solid rgba(2,132,199,.12); border-radius:14px; overflow:hidden; }
#tg-407-wrapper .tg-407-phone-panel__hd { display:flex; flex-direction:column; align-items:center; gap:8px; padding:20px 16px 12px; border-bottom:1px solid rgba(255,255,255,.05); text-align:center; }
#tg-407-wrapper .tg-407-phone-panel__tg-ico { width:48px; height:48px; border-radius:14px; background:linear-gradient(135deg, var(--az-600), var(--az-800)); color:#fff; font-size:1.4rem; display:flex; align-items:center; justify-content:center; }
#tg-407-wrapper .tg-407-phone-panel__title { font-size:.9rem; font-weight:900; color:rgba(255,255,255,.8); margin-bottom:2px; }
#tg-407-wrapper .tg-407-phone-panel__sub   { font-size:.72rem; color:rgba(255,255,255,.3); margin-bottom:0 !important; }
#tg-407-wrapper .tg-407-phone-panel__form  { padding:14px 16px; }
#tg-407-wrapper .tg-407-phone-row  { display:flex; gap:8px; align-items:center; margin-bottom:8px; }
#tg-407-wrapper .tg-407-country-code { background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.1); border-radius:8px; padding:9px 12px; font-size:.8rem; font-weight:800; color:rgba(255,255,255,.6); white-space:nowrap; flex-shrink:0; }
#tg-407-wrapper .tg-407-phone-field { flex:1; background:rgba(255,255,255,.06); border:1.5px solid rgba(255,255,255,.1); border-radius:8px; padding:9px 12px; font-size:.8rem; color:rgba(255,255,255,.85); font-family:inherit; }
#tg-407-wrapper .tg-407-phone-field::placeholder { color:rgba(255,255,255,.2); }
#tg-407-wrapper .tg-407-phone-field:focus { border-color:rgba(2,132,199,.45); outline:none; box-shadow:0 0 0 3px rgba(2,132,199,.12); }
#tg-407-wrapper .tg-407-phone-hint { font-size:.62rem; color:rgba(255,255,255,.2); margin-bottom:12px !important; }
#tg-407-wrapper .tg-407-next-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:11px; border-radius:999px; background:linear-gradient(135deg, var(--az-600), var(--az-700)); color:#fff; font-size:.88rem; font-weight:900; box-shadow:var(--shadow-az); transition:transform .18s; }
#tg-407-wrapper .tg-407-next-btn:hover { transform:translateY(-2px); }
#tg-407-wrapper .tg-407-phone-panel__notice { display:flex; align-items:center; gap:6px; font-size:.62rem; color:rgba(255,255,255,.2); padding:8px 16px 12px; }
#tg-407-wrapper .tg-407-phone-panel__notice .material-symbols-outlined { font-size:.8rem; color:var(--az-400); }

/* Stage 3: 이모지 인증 */
#tg-407-wrapper .tg-407-emoji-auth { display:flex; flex-direction:column; gap:10px; }
#tg-407-wrapper .tg-407-web-emoji-panel { background:rgba(255,255,255,.04); border:1px solid rgba(2,132,199,.14); border-radius:14px; padding:16px; text-align:center; }
#tg-407-wrapper .tg-407-web-emoji-panel__label { display:flex; align-items:center; justify-content:center; gap:6px; font-size:.7rem; font-weight:700; color:rgba(255,255,255,.3); margin-bottom:10px !important; }
#tg-407-wrapper .tg-407-web-emoji-panel__label .material-symbols-outlined { font-size:.9rem; color:var(--az-400); }
#tg-407-wrapper .tg-407-web-emoji { font-size:2.6rem; display:inline-block; animation:tg407EmojiFloat 2.5s ease-in-out infinite; }
@keyframes tg407EmojiFloat { 0%,100%{transform:scale(1);}50%{transform:scale(1.12) translateY(-4px);} }
#tg-407-wrapper .tg-407-web-emoji-panel__desc { font-size:.72rem; color:rgba(255,255,255,.35); margin-top:10px !important; margin-bottom:0 !important; }
/* 구분선 */
#tg-407-wrapper .tg-407-auth-divider { display:flex; justify-content:center; color:var(--az-400); font-size:1rem; opacity:.5; animation:tg407DivBounce 1.5s ease-in-out infinite; }
@keyframes tg407DivBounce { 0%,100%{transform:translateY(0);}50%{transform:translateY(4px);} }
/* 텔레그램 앱 시뮬레이션 */
#tg-407-wrapper .tg-407-tg-app-mock { background:rgba(255,255,255,.04); border:1px solid rgba(2,132,199,.14); border-radius:14px; overflow:hidden; }
#tg-407-wrapper .tg-407-tg-app-mock__hd { display:flex; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid rgba(255,255,255,.05); }
#tg-407-wrapper .tg-407-tg-app-mock__av { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg, var(--az-600), var(--az-700)); font-size:.6rem; font-weight:900; color:#fff; flex-shrink:0; }
#tg-407-wrapper .tg-407-tg-app-mock__name { font-size:.78rem; font-weight:800; color:rgba(255,255,255,.7); margin-bottom:1px; }
#tg-407-wrapper .tg-407-tg-app-mock__sub  { font-size:.6rem; color:var(--az-400); margin-bottom:0 !important; }
#tg-407-wrapper .tg-407-tg-app-mock__msg  { font-size:.72rem; color:rgba(255,255,255,.4); line-height:1.6; padding:10px 14px 6px; margin-bottom:0 !important; }
/* 이모지 선택 옵션 */
#tg-407-wrapper .tg-407-emoji-options { display:flex; gap:8px; justify-content:center; padding:8px 14px 10px; }
#tg-407-wrapper .tg-407-emoji-opt-btn { flex:1; aspect-ratio:1; font-size:1.8rem; border-radius:12px; background:rgba(255,255,255,.05); border:1.5px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:all .2s; }
#tg-407-wrapper .tg-407-emoji-opt-btn:hover { background:rgba(2,132,199,.12); border-color:rgba(2,132,199,.3); transform:scale(1.08); }
#tg-407-wrapper .tg-407-emoji-opt-btn--correct { background:rgba(34,197,94,.15) !important; border-color:rgba(34,197,94,.4) !important; animation:tg407CorrectPop .4s ease; }
#tg-407-wrapper .tg-407-emoji-opt-btn--wrong   { background:rgba(239,68,68,.12) !important; border-color:rgba(239,68,68,.3) !important; animation:tg407WrongShake .4s ease; }
@keyframes tg407CorrectPop { 0%{transform:scale(.8);}60%{transform:scale(1.2);}100%{transform:scale(1);} }
@keyframes tg407WrongShake { 0%,100%{transform:translateX(0);}20%{transform:translateX(-6px);}40%{transform:translateX(6px);}60%{transform:translateX(-4px);}80%{transform:translateX(4px);} }
#tg-407-wrapper .tg-407-cancel-btn { display:flex; align-items:center; justify-content:center; gap:5px; width:calc(100% - 28px); margin:0 14px 12px; padding:8px; border-radius:999px; font-size:.7rem; font-weight:700; color:rgba(255,255,255,.3); border:1px solid rgba(255,255,255,.07); transition:background .15s; }
#tg-407-wrapper .tg-407-cancel-btn:hover { background:rgba(255,255,255,.05); }
/* 오답 피드백 */
#tg-407-wrapper .tg-407-wrong-feedback { display:flex; align-items:center; gap:6px; padding:10px 14px; background:rgba(239,68,68,.08); border:1px solid rgba(239,68,68,.2); border-radius:10px; font-size:.72rem; color:var(--red-400); font-weight:700; animation:tg407FadeIn .25s ease; }
#tg-407-wrapper .tg-407-wrong-feedback .material-symbols-outlined { font-size:.9rem; flex-shrink:0; }

/* Stage 4: 성공 */
#tg-407-wrapper .tg-407-success-panel { background:rgba(255,255,255,.04); border:1px solid rgba(2,132,199,.14); border-radius:14px; padding:24px 18px; text-align:center; animation:tg407FadeIn .4s ease; }
#tg-407-wrapper .tg-407-success-panel__ico { font-size:2.8rem; color:var(--grn-400); margin-bottom:10px; animation:tg407SuccessPop .5s ease; }
@keyframes tg407SuccessPop { 0%{opacity:0;transform:scale(.5);}60%{transform:scale(1.2);}100%{opacity:1;transform:scale(1);} }
#tg-407-wrapper .tg-407-success-panel__title { font-size:1.1rem; font-weight:900; color:rgba(255,255,255,.85); margin-bottom:6px !important; }
#tg-407-wrapper .tg-407-success-panel__sub   { font-size:.78rem; color:rgba(255,255,255,.35); margin-bottom:16px !important; }
/* 권한 목록 */
#tg-407-wrapper .tg-407-perm-list { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:10px; padding:12px; margin-bottom:14px; text-align:left; }
#tg-407-wrapper .tg-407-perm-list__title { font-size:.68rem; font-weight:800; color:rgba(255,255,255,.3); margin-bottom:8px !important; letter-spacing:.04em; }
#tg-407-wrapper .tg-407-perm-item { display:flex; align-items:center; gap:8px; font-size:.72rem; color:rgba(255,255,255,.45); padding:4px 0; }
#tg-407-wrapper .tg-407-perm-item .material-symbols-outlined { font-size:.9rem; color:rgba(255,255,255,.25); flex-shrink:0; }
#tg-407-wrapper .tg-407-perm-item:not(:last-child) { border-bottom:1px solid rgba(255,255,255,.04); padding-bottom:8px; margin-bottom:4px; }
#tg-407-wrapper .tg-407-perm-item--allow { color:var(--grn-400) !important; }
#tg-407-wrapper .tg-407-perm-item--allow .material-symbols-outlined { color:var(--grn-400) !important; }
/* 재시작 */
#tg-407-wrapper .tg-407-retry-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px; border-radius:999px; background:rgba(2,132,199,.1); border:1px solid rgba(2,132,199,.25); color:var(--az-400); font-size:.82rem; font-weight:800; transition:background .18s; }
#tg-407-wrapper .tg-407-retry-btn:hover { background:rgba(2,132,199,.18); }

/* ─── 기기별 탭 ─── */
#tg-407-wrapper .tg-407-tabs { display:flex; gap:6px; background:var(--sl-100); border-radius:var(--radius-sm); padding:5px; margin-bottom:22px; flex-wrap:wrap; }
#tg-407-wrapper .tg-407-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-407-wrapper .tg-407-tab-btn .material-symbols-outlined { font-size:1.1rem; }
#tg-407-wrapper .tg-407-tab-btn--active { background:#fff; color:var(--az-700); box-shadow:0 2px 8px rgba(0,0,0,.08); font-weight:800; }
#tg-407-wrapper .tg-407-tab-panel { display:none; text-align:left; animation:tg407FadeIn .3s ease; }
#tg-407-wrapper .tg-407-tab-panel--active { display:block; }
#tg-407-wrapper .tg-407-tab-panel__head { display:flex; align-items:center; gap:14px; margin-bottom:20px; padding-bottom:14px; border-bottom:1px solid var(--sl-100); }
#tg-407-wrapper .tg-407-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-407-wrapper .tg-407-tab-panel__icon--pc      { background:linear-gradient(135deg, var(--az-600), var(--az-800)); color:#fff; }
#tg-407-wrapper .tg-407-tab-panel__icon--android { background:linear-gradient(135deg, #3ddc84, #00ac47); color:#fff; }
#tg-407-wrapper .tg-407-tab-panel__icon--ios     { background:linear-gradient(135deg, #555, #111); color:#fff; }
#tg-407-wrapper .tg-407-tab-panel__name { font-size:var(--fs-lg); font-weight:800; color:var(--sl-900); margin-bottom:4px; }
#tg-407-wrapper .tg-407-tab-panel__sub  { font-size:var(--fs-sm); color:var(--sl-500); margin-bottom:0 !important; }
#tg-407-wrapper .tg-407-steps { display:flex; flex-direction:column; gap:12px; counter-reset:steps; }
#tg-407-wrapper .tg-407-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-407-wrapper .tg-407-steps li::before { content:counter(steps); min-width:28px; height:28px; flex-shrink:0; margin-top:2px; background:linear-gradient(135deg, var(--az-600), var(--az-800)); color:#fff; font-size:.8rem; font-weight:900; border-radius:50%; display:flex; align-items:center; justify-content:center; }
#tg-407-wrapper .tg-407-steps li strong { color:var(--sl-800); }
#tg-407-wrapper .tg-407-tip-box { display:flex; align-items:flex-start; gap:12px; background:rgba(2,132,199,.05); border:1px solid rgba(2,132,199,.16); 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-407-wrapper .tg-407-tip-box .material-symbols-outlined { font-size:1.2rem; color:var(--az-600); flex-shrink:0; margin-top:2px; }

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

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

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