/*
 * tips399/style.css  v1.0.0
 * 텔레그램 패스키 로그인 가이드
 * 테마: 액세스 그랜티드 그린 #22c55e (green-500) + 딥 시큐리티 다크 #030806
 *      (로그인·접속완료·보안게이트·Access Granted)
 * 그누보드5 격리 | BEM | 모바일 퍼스트
 *
 * tips398 (cyan-300 #67e8f9 바이오메트릭 설정)과 구별:
 * - tips398: ICE CRYSTAL → "패스키 생성·등록" 느낌 (차갑고 정밀)
 * - tips399: ACCESS GRANTED → "게이트 열림·접속 완료" 느낌 (활성·허가·성공)
 * - green-500 #22c55e는 tips389 emerald-600 #059669(보석녹색)·
 *   tips384 teal-400 #2dd4bf(청록)·tips396 mint(민트)와 모두 다른
 *   "네온 보안게이트 그린" 계열
 */

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

/* ─── 디자인 토큰 ─── */
#tg-399-wrapper {
    --grn-50:  #f0fdf4;
    --grn-100: #dcfce7;
    --grn-200: #bbf7d0;
    --grn-300: #86efac;
    --grn-400: #4ade80;
    --grn-500: #22c55e;   /* 메인 액세스 그린 */
    --grn-600: #16a34a;
    --grn-700: #15803d;
    --ice-300: #67e8f9;
    --ylw-400: #facc15;
    --red-400: #f87171;
    --blu-400: #60a5fa;
    --dk-base: #030806;   /* 딥 시큐리티 다크 */
    --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-grn: 0 6px 28px rgba(34,197,94,.28);
    --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-399-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-399-wrapper .tg-399-motion { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s ease; }
#tg-399-wrapper .tg-399-motion.is-visible { opacity: 1; transform: translateY(0); }

/* ══════════════════════════
   히어로
════════════════════════════ */
#tg-399-wrapper .tg-399-hero {
    position: relative; background: var(--dk-base);
    border-radius: var(--radius-lg); padding: 64px 28px 72px; text-align: center; overflow: hidden;
}
#tg-399-wrapper .tg-399-hero__bg {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 55% 50% at 50% 45%, rgba(34,197,94,.11) 0%, transparent 58%),
        radial-gradient(ellipse 35% 30% at 20% 75%, rgba(16,163,48,.07) 0%, transparent 50%);
}
/* 게이트 서클 */
#tg-399-wrapper .tg-399-hero__gate { position:absolute; right:8%; top:50%; transform:translateY(-50%); pointer-events:none; display:none; }
#tg-399-wrapper .tg-399-gate-circle { width:90px; height:90px; border-radius:50%; background:rgba(34,197,94,.08); border:2px solid rgba(34,197,94,.25); display:flex; align-items:center; justify-content:center; font-size:2.2rem; color:var(--grn-500); animation:tg399GatePulse 2.5s ease-in-out infinite; position:relative; z-index:1; }
@keyframes tg399GatePulse { 0%,100%{filter:drop-shadow(0 0 6px rgba(34,197,94,.3));}50%{filter:drop-shadow(0 0 22px rgba(34,197,94,.7));} }
#tg-399-wrapper .tg-399-gate-ring { position:absolute; border-radius:50%; border:1px solid rgba(34,197,94,.1); animation:tg399GateRing ease-out infinite; }
#tg-399-wrapper .tg-399-gate-ring--1 { inset:-16px; animation-duration:2.5s; }
#tg-399-wrapper .tg-399-gate-ring--2 { inset:-32px; animation-duration:2.5s; animation-delay:.8s; }
#tg-399-wrapper .tg-399-gate-ring--3 { inset:-50px; animation-duration:2.5s; animation-delay:1.6s; }
@keyframes tg399GateRing { 0%{opacity:.7;transform:scale(.85);}100%{opacity:0;transform:scale(1.1);} }
/* 플로팅 */
#tg-399-wrapper .tg-399-hero__floats { position:absolute; inset:0; overflow:hidden; pointer-events:none; }
#tg-399-wrapper .tg-399-float { position:absolute; font-size:1.8rem; opacity:0; animation:tg399Float ease-in-out infinite; }
#tg-399-wrapper .tg-399-float--1 { top:14%; left:4%;     animation-duration:5.5s; }
#tg-399-wrapper .tg-399-float--2 { top:22%; right:5%;    animation-duration:4.5s; animation-delay:-2s; font-size:1.3rem; }
#tg-399-wrapper .tg-399-float--3 { bottom:28%; left:6%;  animation-duration:6s;   animation-delay:-1s; }
#tg-399-wrapper .tg-399-float--4 { bottom:20%; right:7%; animation-duration:5s;   animation-delay:-1.8s; font-size:1.3rem; }
@keyframes tg399Float { 0%,100%{opacity:0;transform:translateY(0) scale(.9);}50%{opacity:.52;transform:translateY(-14px) scale(1.12);} }
/* 텍스트 */
#tg-399-wrapper .tg-399-hero__inner { position:relative; z-index:1; max-width:700px; margin:0 auto; }
#tg-399-wrapper .tg-399-hero__badge { display:inline-flex; align-items:center; gap:6px; background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.28); color:var(--grn-500); font-size:.85rem; font-weight:700; padding:6px 18px; border-radius:999px; margin-bottom:22px !important; }
#tg-399-wrapper .tg-399-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-399-wrapper .tg-399-hero__title em { font-style:normal; color:var(--grn-500); text-shadow:0 0 24px rgba(34,197,94,.5); }
#tg-399-wrapper .tg-399-hero__subtitle { color:rgba(255,255,255,.65); line-height:1.8; max-width:540px; margin:0 auto 28px !important; }
#tg-399-wrapper .tg-399-hero__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
#tg-399-wrapper .tg-399-hero__chip { display:inline-flex; align-items:center; gap:6px; background:rgba(34,197,94,.08); border:1px solid rgba(34,197,94,.2); color:var(--grn-500); font-size:.82rem; font-weight:800; padding:8px 16px; border-radius:999px; }
#tg-399-wrapper .tg-399-hero__chip--ice { background:rgba(103,232,249,.06); border-color:rgba(103,232,249,.18); color:var(--ice-300); }
#tg-399-wrapper .tg-399-hero__chip--ylw { background:rgba(250,204,21,.06); border-color:rgba(250,204,21,.18); color:var(--ylw-400); }

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

/* ─── 도입부 ─── */
#tg-399-wrapper .tg-399-intro { background:#fff; border:1px solid var(--sl-200); border-top:4px solid var(--grn-500); border-radius:var(--radius-md); padding:36px 28px; text-align:center; box-shadow:var(--shadow-sm); }
#tg-399-wrapper .tg-399-intro__icon { font-size:2.4rem; color:var(--grn-600); margin-bottom:14px; }
#tg-399-wrapper .tg-399-intro__title { font-size:clamp(1.05rem,2.8vw,1.3rem); font-weight:800; color:var(--sl-900); margin-bottom:14px; }
#tg-399-wrapper .tg-399-intro p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
/* 핵심 포인트 */
#tg-399-wrapper .tg-399-key-point { display:grid; grid-template-columns:1fr; gap:10px; max-width:600px; margin:20px auto 0; text-align:left; }
#tg-399-wrapper .tg-399-key-point__item { display:flex; align-items:flex-start; gap:12px; background:rgba(34,197,94,.04); border:1px solid rgba(34,197,94,.13); border-radius:12px; padding:14px 16px; }
#tg-399-wrapper .tg-399-key-point__item .material-symbols-outlined { font-size:1.3rem; color:var(--grn-600); flex-shrink:0; margin-top:2px; }
#tg-399-wrapper .tg-399-key-point__title { font-size:.88rem; font-weight:800; color:var(--sl-900); margin-bottom:3px !important; }
#tg-399-wrapper .tg-399-key-point__desc  { font-size:.78rem; color:var(--text-sub); line-height:1.55; margin-bottom:0 !important; }

/* ─── 공통 섹션 ─── */
#tg-399-wrapper .tg-399-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-399-wrapper .tg-399-section--dark { background:var(--dk-base); border-color:rgba(34,197,94,.1); }
#tg-399-wrapper .tg-399-section--qr   { background:linear-gradient(145deg, #f9fffe, #f0fdf4); border-color:rgba(34,197,94,.18); }
#tg-399-wrapper .tg-399-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-399-wrapper .tg-399-section__label--dark { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2); }
#tg-399-wrapper .tg-399-section__label--grn  { background:rgba(34,197,94,.08); color:var(--grn-700); border:1px solid rgba(34,197,94,.16); }
#tg-399-wrapper .tg-399-section__label .material-symbols-outlined { font-size:1rem; }
#tg-399-wrapper .tg-399-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-399-wrapper .tg-399-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-399-wrapper .tg-399-section > p, #tg-399-wrapper .tg-399-section--qr > p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
#tg-399-wrapper .tg-399-section__desc--light { color:rgba(255,255,255,.75) !important; margin-bottom:28px !important; }

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

/* Stage 1: 로그인 화면 모킹 */
#tg-399-wrapper .tg-399-login-mock { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; padding:22px 18px; }
/* 텔레그램 아이콘 */
#tg-399-wrapper .tg-399-login-mock__logo { display:flex; flex-direction:column; align-items:center; gap:6px; margin-bottom:16px; }
#tg-399-wrapper .tg-399-tg-icon { width:52px; height:52px; border-radius:14px; background:linear-gradient(135deg, #229ed9, #1a7db7); display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:#fff; }
#tg-399-wrapper .tg-399-login-mock__app { font-size:.82rem; font-weight:800; color:rgba(255,255,255,.5); margin-bottom:0 !important; }
/* 전화번호 */
#tg-399-wrapper .tg-399-login-mock__phone-row { margin-bottom:14px; }
#tg-399-wrapper .tg-399-login-mock__phone-display { display:flex; align-items:center; justify-content:center; gap:7px; padding:9px 14px; background:rgba(255,255,255,.06); border-radius:9px; font-size:.82rem; font-weight:700; color:rgba(255,255,255,.6); margin-bottom:5px; }
#tg-399-wrapper .tg-399-login-mock__phone-display .material-symbols-outlined { font-size:.9rem; color:var(--grn-500); }
#tg-399-wrapper .tg-399-login-mock__phone-hint { font-size:.62rem; color:rgba(255,255,255,.22); text-align:center; line-height:1.4; margin-bottom:0 !important; }
/* SMS 입력 칸 (비어있음 - 대기 상태) */
#tg-399-wrapper .tg-399-sms-inputs { display:flex; gap:6px; justify-content:center; margin-bottom:10px; }
#tg-399-wrapper .tg-399-sms-input { width:34px; height:40px; border-radius:7px; border:1.5px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); }
#tg-399-wrapper .tg-399-sms-input--empty { animation:tg399SmsGhost 2s ease-in-out infinite; }
@keyframes tg399SmsGhost { 0%,100%{border-color:rgba(255,255,255,.08);}50%{border-color:rgba(255,255,255,.2);} }
/* 대기 텍스트 */
#tg-399-wrapper .tg-399-login-mock__wait { font-size:.7rem; color:rgba(255,255,255,.22); text-align:center; margin-bottom:14px !important; display:flex; align-items:center; justify-content:center; gap:5px; }
#tg-399-wrapper .tg-399-login-mock__wait .material-symbols-outlined { font-size:.8rem; animation:tg399Spin 2s linear infinite; }
@keyframes tg399Spin { to{transform:rotate(360deg);} }
/* 도트 애니메이션 */
#tg-399-wrapper .tg-399-wait-dots::after { content:'...'; animation:tg399Dots 1.5s steps(4, end) infinite; }
@keyframes tg399Dots { 0%{content:'';}25%{content:'.';}50%{content:'..';}75%{content:'...';}100%{content:'';} }
/* 구분선 */
#tg-399-wrapper .tg-399-login-divider { display:flex; align-items:center; gap:10px; margin-bottom:12px; }
#tg-399-wrapper .tg-399-login-divider::before,
#tg-399-wrapper .tg-399-login-divider::after { content:''; flex:1; height:1px; background:rgba(255,255,255,.07); }
#tg-399-wrapper .tg-399-login-divider span { font-size:.65rem; color:rgba(255,255,255,.2); white-space:nowrap; }
/* 패스키 로그인 버튼 (핵심 UI) */
#tg-399-wrapper .tg-399-passkey-login-btn { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:13px 18px; border-radius:10px; background:linear-gradient(135deg, #229ed9, #1a7db7); color:#fff; font-size:.84rem; font-weight:900; box-shadow:0 4px 16px rgba(34,158,217,.28); transition:transform .18s, box-shadow .18s; margin-bottom:12px; }
#tg-399-wrapper .tg-399-passkey-login-btn:hover { transform:translateY(-2px); box-shadow:0 6px 22px rgba(34,158,217,.42); }
#tg-399-wrapper .tg-399-passkey-login-btn .material-symbols-outlined { font-size:1.1rem; }
/* 힌트 */
#tg-399-wrapper .tg-399-login-mock__hint { font-size:.65rem; color:var(--grn-500); text-align:center; display:flex; align-items:center; justify-content:center; gap:5px; opacity:.7; margin-bottom:0 !important; }
#tg-399-wrapper .tg-399-login-mock__hint .material-symbols-outlined { font-size:.8rem; animation:tg399TapBounce 1.5s ease-in-out infinite; }
@keyframes tg399TapBounce { 0%,100%{transform:scale(1);}50%{transform:scale(1.25) translateY(-2px);} }

/* Stage 2: 인증 패널 */
#tg-399-wrapper .tg-399-auth-panel { background:rgba(255,255,255,.04); border:1px solid rgba(34,197,94,.12); border-radius:16px; overflow:hidden; }
#tg-399-wrapper .tg-399-auth-panel__hd { display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.05); }
#tg-399-wrapper .tg-399-back-s2 { width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:rgba(255,255,255,.06); color:rgba(255,255,255,.35); transition:background .18s; flex-shrink:0; }
#tg-399-wrapper .tg-399-back-s2:hover { background:rgba(255,255,255,.1); }
#tg-399-wrapper .tg-399-back-s2 .material-symbols-outlined { font-size:.9rem; }
#tg-399-wrapper .tg-399-auth-panel__title { font-size:.8rem; font-weight:800; color:rgba(255,255,255,.5); margin-bottom:0 !important; }
/* 기기 선택 */
#tg-399-wrapper .tg-399-auth-choose { padding:18px 16px; }
#tg-399-wrapper .tg-399-auth-choose__lbl { font-size:.7rem; font-weight:700; color:rgba(255,255,255,.28); text-align:center; margin-bottom:12px !important; }
#tg-399-wrapper .tg-399-auth-btns { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:14px; }
#tg-399-wrapper .tg-399-auth-btn { display:flex; flex-direction:column; align-items:center; gap:7px; padding:16px 10px; border-radius:12px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); font-size:.7rem; font-weight:700; color:rgba(255,255,255,.35); transition:all .2s; line-height:1.4; text-align:center; }
#tg-399-wrapper .tg-399-auth-btn .material-symbols-outlined { font-size:1.6rem; }
#tg-399-wrapper .tg-399-auth-btn--ios:hover  { background:rgba(103,232,249,.1); border-color:rgba(103,232,249,.3); color:var(--ice-300); }
#tg-399-wrapper .tg-399-auth-btn--and:hover  { background:rgba(34,197,94,.1); border-color:rgba(34,197,94,.28); color:var(--grn-500); }
#tg-399-wrapper .tg-399-auth-btn small { font-size:.58rem; opacity:.7; }
/* 저장소 배지 */
#tg-399-wrapper .tg-399-passkey-stored { display:flex; align-items:center; gap:8px; padding:9px 12px; background:rgba(34,197,94,.06); border:1px solid rgba(34,197,94,.15); border-radius:9px; font-size:.7rem; color:rgba(255,255,255,.35); }
#tg-399-wrapper .tg-399-passkey-stored .material-symbols-outlined { font-size:.95rem; color:var(--grn-500); flex-shrink:0; }
/* 스캐닝 */
#tg-399-wrapper .tg-399-auth-scanning { padding:28px 18px; text-align:center; }
#tg-399-wrapper .tg-399-auth-scan-ico { position:relative; width:80px; height:80px; display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
#tg-399-wrapper .tg-399-scan-sym { font-size:2.6rem; color:var(--grn-500); position:relative; z-index:2; animation:tg399ScanPulse 1.1s ease-in-out infinite; }
@keyframes tg399ScanPulse { 0%,100%{filter:drop-shadow(0 0 4px rgba(34,197,94,.3));opacity:.6;}50%{filter:drop-shadow(0 0 20px rgba(34,197,94,.85));opacity:1;} }
#tg-399-wrapper .tg-399-auth-scan-ring { position:absolute; inset:-8px; border-radius:50%; border:2px solid rgba(34,197,94,.3); animation:tg399ScanRing 1.1s ease-in-out infinite; }
@keyframes tg399ScanRing { 0%,100%{transform:scale(1);opacity:.3;}50%{transform:scale(1.15);opacity:.9;} }
#tg-399-wrapper .tg-399-auth-scan-line { position:absolute; width:100%; height:2px; background:linear-gradient(90deg, transparent, var(--grn-500), transparent); top:0; animation:tg399ScanLine 1.4s linear infinite; border-radius:1px; }
@keyframes tg399ScanLine { 0%{top:0;opacity:0;}10%{opacity:1;}90%{opacity:1;}100%{top:100%;opacity:0;} }
#tg-399-wrapper .tg-399-auth-scanning__txt { font-size:.85rem; font-weight:800; color:rgba(255,255,255,.7); margin-bottom:4px !important; }
#tg-399-wrapper .tg-399-auth-scanning__sub { font-size:.72rem; color:rgba(255,255,255,.28); margin-bottom:0 !important; }

/* Stage 3: ACCESS GRANTED 완료 */
#tg-399-wrapper .tg-399-access-granted { padding:24px 18px; text-align:center; }
#tg-399-wrapper .tg-399-grant-ico { position:relative; display:inline-flex; align-items:center; justify-content:center; margin-bottom:10px; }
#tg-399-wrapper .tg-399-grant-ico .material-symbols-outlined { font-size:3rem; color:var(--grn-500); animation:tg399GrantPop .5s ease; }
@keyframes tg399GrantPop { 0%{transform:scale(.5);opacity:0;}60%{transform:scale(1.18);}100%{transform:scale(1);opacity:1;} }
#tg-399-wrapper .tg-399-grant-ring { position:absolute; inset:-10px; border-radius:50%; border:2px solid rgba(34,197,94,.3); animation:tg399GrantRing .8s ease forwards; }
@keyframes tg399GrantRing { 0%{transform:scale(.5);opacity:0;}100%{transform:scale(1);opacity:1;} }
#tg-399-wrapper .tg-399-access-granted__badge { display:inline-block; font-size:.62rem; font-weight:900; letter-spacing:.14em; color:var(--grn-500); background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.22); padding:4px 14px; border-radius:999px; margin-bottom:6px; }
#tg-399-wrapper .tg-399-access-granted__title { font-size:.95rem; font-weight:900; color:#fff; margin-bottom:4px !important; }
#tg-399-wrapper .tg-399-access-granted__sub   { font-size:.74rem; color:rgba(255,255,255,.35); margin-bottom:16px !important; }
/* 비교 카드 */
#tg-399-wrapper .tg-399-compare { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:16px; }
#tg-399-wrapper .tg-399-compare__item { border-radius:12px; padding:13px 12px; text-align:center; }
#tg-399-wrapper .tg-399-compare__item--before { background:rgba(248,113,113,.06); border:1px solid rgba(248,113,113,.18); }
#tg-399-wrapper .tg-399-compare__item--after  { background:rgba(34,197,94,.07); border:1px solid rgba(34,197,94,.22); }
#tg-399-wrapper .tg-399-compare__label { font-size:.62rem; font-weight:700; color:rgba(255,255,255,.3); margin-bottom:8px !important; }
#tg-399-wrapper .tg-399-compare__item--before .tg-399-compare__label { color:var(--red-400); opacity:.7; }
#tg-399-wrapper .tg-399-compare__item--after  .tg-399-compare__label { color:var(--grn-500); opacity:.8; }
#tg-399-wrapper .tg-399-compare__steps { font-size:.6rem; color:rgba(255,255,255,.3); line-height:1.9; display:flex; flex-direction:column; gap:0; }
#tg-399-wrapper .tg-399-compare__arr { opacity:.3; font-size:.55rem; }
#tg-399-wrapper .tg-399-compare__time { font-size:.65rem; font-weight:800; margin-top:8px !important; margin-bottom:0 !important; }
#tg-399-wrapper .tg-399-compare__item--before .tg-399-compare__time { color:var(--red-400); opacity:.7; }
#tg-399-wrapper .tg-399-compare__item--after  .tg-399-compare__time { color:var(--grn-500); }
/* 다시 체험 버튼 */
#tg-399-wrapper .tg-399-retry-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; padding:10px 20px; border-radius:999px; background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.25); color:var(--grn-500); font-size:.82rem; font-weight:800; transition:background .18s; }
#tg-399-wrapper .tg-399-retry-btn:hover { background:rgba(34,197,94,.18); }

/* ── QR 플로우 ── */
#tg-399-wrapper .tg-399-qr-flow { display:grid; grid-template-columns:1fr; gap:10px; margin:28px auto; max-width:560px; align-items:center; }
#tg-399-wrapper .tg-399-qr-step { display:flex; flex-direction:column; align-items:center; gap:8px; padding:18px 12px; border-radius:14px; background:#fff; border:1px solid rgba(34,197,94,.14); text-align:center; }
#tg-399-wrapper .tg-399-qr-step--done { border-color:rgba(34,197,94,.35); background:rgba(34,197,94,.04); }
#tg-399-wrapper .tg-399-qr-step__num { width:26px; height:26px; border-radius:50%; background:var(--grn-500); color:#fff; font-size:.72rem; font-weight:900; display:flex; align-items:center; justify-content:center; }
#tg-399-wrapper .tg-399-qr-step__num--done { background:linear-gradient(135deg, var(--grn-500), var(--grn-600)); }
#tg-399-wrapper .tg-399-qr-step__ico { font-size:1.6rem; color:var(--grn-600); }
#tg-399-wrapper .tg-399-qr-step__ico--done { color:var(--grn-500); }
#tg-399-wrapper .tg-399-qr-step__txt { font-size:.78rem; color:var(--text-sub); line-height:1.55; margin-bottom:0; }
#tg-399-wrapper .tg-399-qr-arrow { display:flex; justify-content:center; font-size:1.1rem; color:var(--grn-500); opacity:.5; transform:rotate(90deg); }
/* 보안 팁 */
#tg-399-wrapper .tg-399-security-tip { display:flex; align-items:flex-start; gap:14px; background:#fff; border:1px solid rgba(34,197,94,.18); border-radius:var(--radius-sm); padding:18px 20px; margin-top:22px; text-align:left; }
#tg-399-wrapper .tg-399-security-tip .material-symbols-outlined { font-size:1.4rem; color:var(--grn-600); flex-shrink:0; margin-top:2px; }
#tg-399-wrapper .tg-399-security-tip__title { font-size:.9rem; font-weight:800; color:var(--sl-900); margin-bottom:4px !important; }
#tg-399-wrapper .tg-399-security-tip__desc  { font-size:.82rem; color:var(--text-sub); line-height:1.65; margin-bottom:0 !important; }

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

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

/* ── 반응형 ── */
@media (min-width:480px) {
    #tg-399-wrapper .tg-399-key-point { grid-template-columns:1fr 1fr; }
}
@media (min-width:640px) {
    #tg-399-wrapper .tg-399-qr-flow { grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; }
    #tg-399-wrapper .tg-399-qr-arrow { transform:rotate(0deg); }
    #tg-399-wrapper .tg-399-summary__grid { grid-template-columns:repeat(4,1fr); }
    #tg-399-wrapper .tg-399-hero__gate { display:block; }
}
@media (min-width:900px) {
    #tg-399-wrapper .tg-399-hero { padding:80px 56px 90px; }
    #tg-399-wrapper .tg-399-section, #tg-399-wrapper .tg-399-intro { padding:52px 48px; }
}
