/*
 * tips401/style.css  v1.0.0
 * 텔레그램 AI 요약 기능 가이드
 * 테마: 뉴럴 블루 #3b82f6 (blue-500) + 딥 뉴럴 다크 #050a14
 *      (인공지능·신경망·Cocoon 탈중앙 네트워크)
 * 그누보드5 격리 | BEM | 모바일 퍼스트
 *
 * 기존과 구별:
 * - tips388: Cobalt Blue #1d4ed8 blue-700 (짙은 남색/코발트, 딥 사파이어 느낌)
 * - tips394: Sky Blue #0ea5e9 sky-500 (하늘색/시원한 하이라이트)
 * - tips401: Neural Blue #3b82f6 blue-500 ("전기 파랑"·진짜 Royal Blue)
 *   → 더 선명하고 "AI·데이터·신경망" 느낌, 중간 밝기 블루
 *   → base #050a14 (더 어두운 네이비-블랙)
 */

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

/* ─── 디자인 토큰 ─── */
#tg-401-wrapper {
    --blu-50:   #eff6ff;
    --blu-100:  #dbeafe;
    --blu-200:  #bfdbfe;
    --blu-300:  #93c5fd;
    --blu-400:  #60a5fa;
    --blu-500:  #3b82f6;   /* 메인 뉴럴 블루 */
    --blu-600:  #2563eb;
    --blu-700:  #1d4ed8;
    --grn-400:  #4ade80;
    --grn-500:  #22c55e;
    --ice-300:  #67e8f9;
    --ylw-400:  #facc15;
    --red-400:  #f87171;
    --dk-base:  #050a14;   /* 딥 뉴럴 다크 */
    --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-blu: 0 6px 28px rgba(59,130,246,.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-401-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-401-wrapper .tg-401-motion { opacity: 0; transform: translateY(24px); transition: opacity .55s ease, transform .55s ease; }
#tg-401-wrapper .tg-401-motion.is-visible { opacity: 1; transform: translateY(0); }

/* ══════════════════════════
   히어로
════════════════════════════ */
#tg-401-wrapper .tg-401-hero {
    position: relative; background: var(--dk-base);
    border-radius: var(--radius-lg); padding: 64px 28px 72px; text-align: center; overflow: hidden;
}
/* 배경 그라디언트 */
#tg-401-wrapper .tg-401-hero__bg {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 60% 55% at 50% 40%, rgba(59,130,246,.12) 0%, transparent 55%),
        radial-gradient(ellipse 30% 28% at 18% 78%, rgba(37,99,235,.08) 0%, transparent 50%);
}
/* 신경망 그리드 효과 */
#tg-401-wrapper .tg-401-hero__net {
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        linear-gradient(rgba(59,130,246,.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(59,130,246,.04) 1px, transparent 1px);
    background-size: 40px 40px;
    animation: tg401GridPulse 4s ease-in-out infinite;
}
@keyframes tg401GridPulse { 0%,100%{opacity:.4;}50%{opacity:.9;} }
/* 뉴럴 노드 */
#tg-401-wrapper .tg-401-hero__nodes { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
#tg-401-wrapper .tg-401-node { position: absolute; border-radius: 50%; background: var(--blu-500); opacity: 0; animation: tg401NodePulse ease-in-out infinite; }
#tg-401-wrapper .tg-401-node--1 { width:6px; height:6px; top:18%; left:8%;    animation-duration:3.5s; }
#tg-401-wrapper .tg-401-node--2 { width:4px; height:4px; top:25%; right:10%;  animation-duration:4s; animation-delay:-1.2s; }
#tg-401-wrapper .tg-401-node--3 { width:5px; height:5px; bottom:30%; left:12%;animation-duration:3s; animation-delay:-.7s; }
#tg-401-wrapper .tg-401-node--4 { width:3px; height:3px; bottom:22%; right:8%;animation-duration:4.5s; animation-delay:-2s; }
#tg-401-wrapper .tg-401-node--5 { width:7px; height:7px; top:55%; left:42%;   animation-duration:3.8s; animation-delay:-1.5s; }
@keyframes tg401NodePulse { 0%,100%{opacity:0;transform:scale(.8);}50%{opacity:.7;transform:scale(1.4);filter:drop-shadow(0 0 6px rgba(59,130,246,.8));} }
/* 텍스트 */
#tg-401-wrapper .tg-401-hero__inner { position: relative; z-index: 1; max-width: 700px; margin: 0 auto; }
#tg-401-wrapper .tg-401-hero__badge { display:inline-flex; align-items:center; gap:6px; background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.28); color:var(--blu-400); font-size:.85rem; font-weight:700; padding:6px 18px; border-radius:999px; margin-bottom:22px !important; }
#tg-401-wrapper .tg-401-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-401-wrapper .tg-401-hero__title em { font-style:normal; color:var(--blu-400); text-shadow:0 0 24px rgba(59,130,246,.6); }
#tg-401-wrapper .tg-401-hero__subtitle { color:rgba(255,255,255,.65); line-height:1.8; max-width:540px; margin:0 auto 28px !important; }
#tg-401-wrapper .tg-401-hero__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
#tg-401-wrapper .tg-401-hero__chip { display:inline-flex; align-items:center; gap:6px; background:rgba(59,130,246,.08); border:1px solid rgba(59,130,246,.2); color:var(--blu-400); font-size:.82rem; font-weight:800; padding:8px 16px; border-radius:999px; }
#tg-401-wrapper .tg-401-hero__chip--grn { background:rgba(34,197,94,.07); border-color:rgba(34,197,94,.18); color:var(--grn-500); }
#tg-401-wrapper .tg-401-hero__chip--ice { background:rgba(103,232,249,.06); border-color:rgba(103,232,249,.18); color:var(--ice-300); }

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

/* 핵심 특징 도입부 */
#tg-401-wrapper .tg-401-intro { background:#fff; border:1px solid var(--sl-200); border-top:4px solid var(--blu-500); border-radius:var(--radius-md); padding:36px 28px; text-align:center; box-shadow:var(--shadow-sm); }
#tg-401-wrapper .tg-401-intro__icon { font-size:2.4rem; color:var(--blu-600); margin-bottom:14px; }
#tg-401-wrapper .tg-401-intro__title { font-size:clamp(1.05rem,2.8vw,1.3rem); font-weight:800; color:var(--sl-900); margin-bottom:14px; }
#tg-401-wrapper .tg-401-intro p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
/* 특징 그리드 */
#tg-401-wrapper .tg-401-feat-grid { display:grid; grid-template-columns:1fr; gap:12px; max-width:680px; margin:20px auto 0; text-align:left; }
#tg-401-wrapper .tg-401-feat-item { border:1px solid var(--sl-200); border-radius:14px; padding:18px 20px; }
#tg-401-wrapper .tg-401-feat-item--main { border-color:rgba(59,130,246,.22); background:rgba(59,130,246,.03); }
#tg-401-wrapper .tg-401-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-401-wrapper .tg-401-feat-item__ico--blue { background:rgba(59,130,246,.1); border-color:rgba(59,130,246,.22); color:var(--blu-600); }
#tg-401-wrapper .tg-401-feat-item__ico--grn  { background:rgba(34,197,94,.08); border-color:rgba(34,197,94,.2); color:var(--grn-500); }
#tg-401-wrapper .tg-401-feat-item__ico--ice  { background:rgba(103,232,249,.08); border-color:rgba(103,232,249,.2); color:var(--ice-300); }
#tg-401-wrapper .tg-401-feat-item__title { font-size:.92rem; font-weight:800; color:var(--sl-900); margin-bottom:6px !important; }
#tg-401-wrapper .tg-401-feat-item__desc  { font-size:.82rem; color:var(--text-sub); line-height:1.65; margin-bottom:0 !important; }

/* ─── 공통 섹션 ─── */
#tg-401-wrapper .tg-401-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-401-wrapper .tg-401-section--dark   { background:var(--dk-base); border-color:rgba(59,130,246,.1); }
#tg-401-wrapper .tg-401-section--cocoon { background:linear-gradient(145deg, #f0f6ff, #f8faff); border-color:rgba(59,130,246,.16); }
#tg-401-wrapper .tg-401-section--tip    { background:linear-gradient(145deg, var(--sl-50), #f4f8ff); border-color:rgba(59,130,246,.12); }
#tg-401-wrapper .tg-401-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-401-wrapper .tg-401-section__label--dark { background:rgba(255,255,255,.1); color:#fff; border:1px solid rgba(255,255,255,.2); }
#tg-401-wrapper .tg-401-section__label--blue { background:rgba(59,130,246,.08); color:var(--blu-700); border:1px solid rgba(59,130,246,.16); }
#tg-401-wrapper .tg-401-section__label .material-symbols-outlined { font-size:1rem; }
#tg-401-wrapper .tg-401-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-401-wrapper .tg-401-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-401-wrapper .tg-401-section > p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
#tg-401-wrapper .tg-401-section__desc--light { color:rgba(255,255,255,.75) !important; margin-bottom:28px !important; }

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

/* Stage 1: 채널 + 포스트 모킹 */
#tg-401-wrapper .tg-401-channel-mock { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; }
#tg-401-wrapper .tg-401-channel-mock__hd { display:flex; align-items:center; gap:12px; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.06); }
#tg-401-wrapper .tg-401-channel-avatar { width:40px; height:40px; border-radius:50%; background:linear-gradient(135deg, var(--blu-500), var(--blu-700)); display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:#fff; flex-shrink:0; }
#tg-401-wrapper .tg-401-channel-mock__name { font-size:.85rem; font-weight:800; color:rgba(255,255,255,.8); margin-bottom:2px; }
#tg-401-wrapper .tg-401-channel-mock__sub  { font-size:.66rem; color:rgba(255,255,255,.25); margin-bottom:0 !important; }
/* 포스트 */
#tg-401-wrapper .tg-401-post { padding:12px 14px 8px; }
#tg-401-wrapper .tg-401-post__hd { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
#tg-401-wrapper .tg-401-post__timestamp { font-size:.64rem; color:rgba(255,255,255,.2); }
/* AI 요약 버튼 (핵심 UI) */
#tg-401-wrapper .tg-401-summarize-btn { display:inline-flex; align-items:center; gap:5px; background:linear-gradient(135deg, var(--blu-500), var(--blu-700)); color:#fff; font-size:.72rem; font-weight:800; padding:6px 12px; border-radius:999px; box-shadow:0 2px 10px rgba(59,130,246,.35); transition:transform .18s, box-shadow .18s; }
#tg-401-wrapper .tg-401-summarize-btn:hover { transform:scale(1.05); box-shadow:0 4px 16px rgba(59,130,246,.5); }
#tg-401-wrapper .tg-401-summarize-btn .material-symbols-outlined { font-size:.9rem; }
/* 포스트 내용 */
#tg-401-wrapper .tg-401-post__body { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:10px; padding:12px; margin-bottom:8px; }
#tg-401-wrapper .tg-401-post__title { font-size:.8rem; font-weight:800; color:rgba(255,255,255,.75); margin-bottom:8px !important; line-height:1.45; }
#tg-401-wrapper .tg-401-post__text { font-size:.72rem; color:rgba(255,255,255,.32); line-height:1.7; margin-bottom:8px !important; }
#tg-401-wrapper .tg-401-post__tags { display:flex; flex-wrap:wrap; gap:5px; }
#tg-401-wrapper .tg-401-post__tag { font-size:.58rem; font-weight:700; color:var(--blu-400); background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.18); padding:3px 8px; border-radius:999px; }
/* 힌트 */
#tg-401-wrapper .tg-401-post__hint { font-size:.65rem; color:var(--blu-400); display:flex; align-items:center; gap:5px; padding:4px 0 8px; opacity:.7; margin-bottom:0 !important; }
#tg-401-wrapper .tg-401-post__hint .material-symbols-outlined { font-size:.8rem; animation:tg401TapBounce 1.5s ease-in-out infinite; }
@keyframes tg401TapBounce { 0%,100%{transform:scale(1);}50%{transform:scale(1.3) translateY(-2px);} }

/* Stage 2: Cocoon 처리 */
#tg-401-wrapper .tg-401-cocoon-panel { background:rgba(255,255,255,.04); border:1px solid rgba(59,130,246,.15); border-radius:16px; padding:28px 18px; text-align:center; }
#tg-401-wrapper .tg-401-cocoon-anim { position:relative; display:inline-flex; align-items:center; justify-content:center; width:110px; height:110px; margin-bottom:16px; }
/* 중심 코어 */
#tg-401-wrapper .tg-401-cocoon-core { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:50%; background:rgba(59,130,246,.12); border:2px solid rgba(59,130,246,.35); font-size:1.4rem; color:var(--blu-400); animation:tg401CoreSpin 8s linear infinite; }
@keyframes tg401CoreSpin { to{transform:rotate(360deg);} }
/* 코어 ring */
#tg-401-wrapper .tg-401-cocoon-ring { position:absolute; border-radius:50%; border: 1.5px solid rgba(59,130,246,.25); }
#tg-401-wrapper .tg-401-cocoon-ring--1 { inset:-14px; animation:tg401RingPulse 2s ease-in-out infinite; }
#tg-401-wrapper .tg-401-cocoon-ring--2 { inset:-26px; animation:tg401RingPulse 2s ease-in-out infinite; animation-delay:.6s; }
#tg-401-wrapper .tg-401-cocoon-ring--3 { inset:-40px; animation:tg401RingPulse 2s ease-in-out infinite; animation-delay:1.2s; }
@keyframes tg401RingPulse { 0%,100%{opacity:.2;transform:scale(.95);}50%{opacity:.75;transform:scale(1.05);} }
/* Cocoon 분산 노드 */
#tg-401-wrapper .tg-401-cocoon-nodes { position:absolute; inset:0; }
#tg-401-wrapper .tg-401-cnode { position:absolute; width:28px; height:28px; border-radius:50%; background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.3); display:flex; align-items:center; justify-content:center; font-size:.7rem; color:var(--blu-400); animation:tg401NodeOrbit ease-in-out infinite; }
#tg-401-wrapper .tg-401-cnode--1 { top:0;    left:50%; transform:translateX(-50%); animation-duration:1.5s; }
#tg-401-wrapper .tg-401-cnode--2 { bottom:0; left:50%; transform:translateX(-50%); animation-duration:1.5s; animation-delay:.37s; }
#tg-401-wrapper .tg-401-cnode--3 { left:0;   top:50%;  transform:translateY(-50%); animation-duration:1.5s; animation-delay:.75s; }
#tg-401-wrapper .tg-401-cnode--4 { right:0;  top:50%;  transform:translateY(-50%); animation-duration:1.5s; animation-delay:1.12s; }
@keyframes tg401NodeOrbit { 0%,100%{opacity:.3;filter:brightness(.7);}50%{opacity:1;filter:brightness(1.4) drop-shadow(0 0 6px rgba(59,130,246,.6));} }
#tg-401-wrapper .tg-401-cocoon-panel__title { font-size:.9rem; font-weight:800; color:rgba(255,255,255,.75); margin-bottom:4px !important; }
#tg-401-wrapper .tg-401-cocoon-panel__sub { font-size:.74rem; color:rgba(255,255,255,.3); margin-bottom:16px !important; }
/* 도트 */
#tg-401-wrapper .tg-401-dots::after { content:'...'; animation:tg401Dots 1.5s steps(4, end) infinite; }
@keyframes tg401Dots { 0%{content:'';}25%{content:'.';}50%{content:'..';}75%{content:'...';}100%{content:'';} }
/* Cocoon 특성 태그 */
#tg-401-wrapper .tg-401-cocoon-tags { display:flex; flex-wrap:wrap; gap:7px; justify-content:center; }
#tg-401-wrapper .tg-401-ctag { display:inline-flex; align-items:center; gap:5px; font-size:.68rem; font-weight:700; color:var(--blu-400); background:rgba(59,130,246,.08); border:1px solid rgba(59,130,246,.18); padding:6px 12px; border-radius:999px; }
#tg-401-wrapper .tg-401-ctag .material-symbols-outlined { font-size:.82rem; }

/* Stage 3: AI 요약 결과 */
#tg-401-wrapper .tg-401-result-mock { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); border-radius:16px; overflow:hidden; }
#tg-401-wrapper .tg-401-result-mock__hd { border-bottom:1px solid rgba(255,255,255,.05); }
/* AI 요약 버블 */
#tg-401-wrapper .tg-401-summary-bubble { margin:12px; padding:14px 16px; background:rgba(59,130,246,.07); border:1.5px solid rgba(59,130,246,.22); border-radius:12px; animation:tg401SummaryPop .4s ease; }
@keyframes tg401SummaryPop { 0%{opacity:0;transform:translateY(-8px) scale(.97);}100%{opacity:1;transform:translateY(0) scale(1);} }
#tg-401-wrapper .tg-401-summary-bubble__hd { display:flex; align-items:center; gap:6px; font-size:.72rem; font-weight:800; color:var(--blu-400); margin-bottom:10px; }
#tg-401-wrapper .tg-401-summary-bubble__hd .material-symbols-outlined { font-size:.9rem; }
#tg-401-wrapper .tg-401-cocoon-badge { display:inline-flex; align-items:center; gap:4px; background:rgba(34,197,94,.1); border:1px solid rgba(34,197,94,.22); color:var(--grn-400); font-size:.58rem; font-weight:800; padding:2px 8px; border-radius:999px; margin-left:auto; }
#tg-401-wrapper .tg-401-cocoon-badge .material-symbols-outlined { font-size:.7rem; }
/* 요약 리스트 */
#tg-401-wrapper .tg-401-summary-list { display:flex; flex-direction:column; gap:8px; list-style:none; margin-bottom:12px; }
#tg-401-wrapper .tg-401-summary-list li { display:flex; align-items:flex-start; gap:8px; font-size:.74rem; color:rgba(255,255,255,.7); line-height:1.6; }
#tg-401-wrapper .tg-401-summary-list li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--blu-400); flex-shrink:0; margin-top:7px; }
#tg-401-wrapper .tg-401-summary-list li strong { color:var(--blu-300); }
/* 원본 보기 버튼 */
#tg-401-wrapper .tg-401-see-original { display:flex; align-items:center; justify-content:center; gap:5px; width:100%; padding:8px; border-radius:7px; background:rgba(255,255,255,.04); font-size:.68rem; font-weight:700; color:rgba(255,255,255,.28); transition:background .18s; }
#tg-401-wrapper .tg-401-see-original:hover { background:rgba(255,255,255,.08); color:rgba(255,255,255,.5); }
#tg-401-wrapper .tg-401-see-original .material-symbols-outlined { font-size:.85rem; }
/* 원본 뷰 */
#tg-401-wrapper .tg-401-original-view { margin:12px; padding:14px 16px; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); border-radius:12px; animation:tg401FadeIn .25s ease; }
#tg-401-wrapper .tg-401-original-view__hd { margin-bottom:10px; }
#tg-401-wrapper .tg-401-back-to-summary { display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:700; color:var(--blu-400); background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.2); padding:5px 12px; border-radius:999px; }
#tg-401-wrapper .tg-401-back-to-summary .material-symbols-outlined { font-size:.85rem; }
#tg-401-wrapper .tg-401-original-view__title { font-size:.78rem; font-weight:800; color:rgba(255,255,255,.65); margin-bottom:8px !important; }
#tg-401-wrapper .tg-401-original-view__text  { font-size:.7rem; color:rgba(255,255,255,.3); line-height:1.75; margin-bottom:0 !important; }
/* 재시작 */
#tg-401-wrapper .tg-401-retry-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:calc(100% - 24px); margin:4px 12px 12px; padding:10px; border-radius:999px; background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.25); color:var(--blu-400); font-size:.82rem; font-weight:800; transition:background .18s; }
#tg-401-wrapper .tg-401-retry-btn:hover { background:rgba(59,130,246,.18); }

/* Cocoon 4특징 그리드 */
#tg-401-wrapper .tg-401-cocoon-feat { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; max-width:600px; margin:24px auto 0; }
#tg-401-wrapper .tg-401-cocoon-feat__item { background:#fff; border:1px solid rgba(59,130,246,.14); border-radius:14px; padding:18px 16px; text-align:left; }
#tg-401-wrapper .tg-401-cocoon-feat__item .material-symbols-outlined { font-size:1.5rem; color:var(--blu-600); margin-bottom:8px; display:block; }
#tg-401-wrapper .tg-401-cocoon-feat__title { font-size:.88rem; font-weight:800; color:var(--sl-900); margin-bottom:4px !important; }
#tg-401-wrapper .tg-401-cocoon-feat__desc  { font-size:.78rem; color:var(--text-sub); line-height:1.6; margin-bottom:0 !important; }

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

/* 활용 팁 카드 */
#tg-401-wrapper .tg-401-tip-cards { display:grid; grid-template-columns:1fr; gap:14px; max-width:700px; margin:0 auto; text-align:left; }
#tg-401-wrapper .tg-401-tip-card { background:#fff; border:1px solid var(--sl-200); border-radius:14px; padding:20px 22px; }
#tg-401-wrapper .tg-401-tip-card--main { border-color:rgba(59,130,246,.2); background:rgba(59,130,246,.03); }
#tg-401-wrapper .tg-401-tip-card__ico { width:40px; height:40px; border-radius:10px; background:rgba(59,130,246,.1); border:1px solid rgba(59,130,246,.2); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--blu-600); margin-bottom:12px; }
#tg-401-wrapper .tg-401-tip-card__ico--sub { background:rgba(34,197,94,.08); border-color:rgba(34,197,94,.2); color:var(--grn-500); }
#tg-401-wrapper .tg-401-tip-card__title { font-size:.92rem; font-weight:800; color:var(--sl-900); margin-bottom:6px !important; }
#tg-401-wrapper .tg-401-tip-card__desc  { font-size:.82rem; color:var(--text-sub); line-height:1.7; margin-bottom:0 !important; }

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

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