/*
 * tips281/style.css  v1.0.0
 * 텔레그램 코드 블록 가이드 전용 스타일
 * 그누보드5 완전 격리 | BEM 네이밍 | 모바일 퍼스트
 * 테마: 에메랄드·다크 (코드·개발자·터미널)
 */

/* ── 리셋 ── */
#tg-281-wrapper,#tg-281-wrapper *,#tg-281-wrapper *::before,#tg-281-wrapper *::after{box-sizing:border-box;margin:0;padding:0;border:none;outline:none;text-decoration:none;list-style:none;background:none;font-style:normal}
#tg-281-wrapper h1,#tg-281-wrapper h2,#tg-281-wrapper h3,#tg-281-wrapper h4{font-size:inherit;font-weight:inherit;color:inherit;line-height:1.3}
#tg-281-wrapper p{margin-bottom:14px!important;line-height:1.75!important}
#tg-281-wrapper p:last-child{margin-bottom:0!important}

/* ── 변수 ── */
#tg-281-wrapper{
    --emerald-400:#34d399;--emerald-500:#10b981;--emerald-600:#059669;--emerald-700:#047857;--emerald-800:#065f46;
    --green-500:#22c55e;--green-600:#16a34a;
    --amber-500:#f59e0b;--amber-600:#d97706;
    --code-bg:#0d1117;--code-header:#161b22;--code-border:#30363d;
    --slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;
    --text-main:#1e293b;--text-sub:#475569;--border-r:14px;
    --shadow-emerald:0 8px 28px rgba(16,185,129,0.12);
    /* 구문 강조 색상 */
    --syn-keyword:#ff7b72;--syn-string:#a5d6ff;--syn-func:#d2a8ff;--syn-comment:#8b949e;--syn-number:#79c0ff;--syn-tag:#7ee787;--syn-attr:#ffa657;
}

#tg-281-wrapper.tg-281-wrapper{max-width:1100px;margin:0 auto;width:100%;font-family:'Pretendard','Apple SD Gothic Neo','Malgun Gothic',sans-serif;color:var(--text-main);line-height:1.75;background-color:var(--slate-50);border-radius:20px;overflow:hidden;box-shadow:0 10px 40px rgba(16,185,129,0.08)}

/* ══════ 히어로 ══════ */
#tg-281-wrapper .tg-281-hero{position:relative;background:linear-gradient(135deg,#065f46 0%,#064e3b 60%,#022c22 100%);padding:52px 24px 52px;text-align:center;overflow:hidden}
#tg-281-wrapper .tg-281-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 25%,rgba(52,211,153,0.15) 0%,transparent 55%),radial-gradient(circle at 25% 75%,rgba(34,197,94,0.08) 0%,transparent 50%);pointer-events:none}
#tg-281-wrapper .tg-281-hero::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:40px;background:var(--slate-50);clip-path:ellipse(55% 100% at 50% 100%)}
#tg-281-wrapper .tg-281-hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:18px}
#tg-281-wrapper .tg-281-hero__badge{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,0.18)!important;color:#fff!important;font-size:0.82rem;font-weight:700;padding:6px 16px;border-radius:20px;border:1px solid rgba(255,255,255,0.25)}
#tg-281-wrapper .tg-281-hero__icon-flow{display:flex;align-items:center;gap:14px}
#tg-281-wrapper .tg-281-hero__icon-box{display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:rgba(255,255,255,0.12)!important;border:2px solid rgba(255,255,255,0.28);border-radius:14px;font-size:1.8rem;color:#fff!important}
#tg-281-wrapper .tg-281-hero__icon-box--mid{background:rgba(52,211,153,0.25)!important;border-color:rgba(52,211,153,0.45)}
#tg-281-wrapper .tg-281-hero__icon-box--glow{background:rgba(255,255,255,0.22)!important;border-color:rgba(255,255,255,0.45);animation:tg281-pulse 2.5s ease-in-out infinite}
@keyframes tg281-pulse{0%,100%{box-shadow:0 0 0 0 rgba(52,211,153,0.3)}50%{box-shadow:0 0 0 14px rgba(52,211,153,0)}}
#tg-281-wrapper .tg-281-hero__flow-arrow{color:rgba(255,255,255,0.45)!important;font-size:1.1rem}
#tg-281-wrapper .tg-281-hero__title{font-size:1.6rem;font-weight:900;color:#fff!important;line-height:1.35;word-break:keep-all}
#tg-281-wrapper .tg-281-hero__subtitle{font-size:0.97rem;color:rgba(255,255,255,0.88)!important;word-break:keep-all;max-width:700px;margin-bottom:0!important}
#tg-281-wrapper .tg-281-hero__tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
#tg-281-wrapper .tg-281-hero__tag{background:rgba(255,255,255,0.12)!important;color:rgba(255,255,255,0.92)!important;font-size:0.82rem;font-weight:600;padding:4px 13px;border-radius:20px;border:1px solid rgba(255,255,255,0.2)}

/* ══════ 메인 ══════ */
#tg-281-wrapper .tg-281-main{background:#fff;padding:48px 20px 40px;display:flex;flex-direction:column;gap:44px}

/* ══════ 도입부 ══════ */
#tg-281-wrapper .tg-281-intro{background:var(--slate-50)!important;border:1px solid var(--slate-200);border-radius:var(--border-r);padding:28px 24px;text-align:left}
#tg-281-wrapper .tg-281-intro__icon{margin-bottom:12px;font-size:2rem;color:var(--emerald-500);text-align:center}
#tg-281-wrapper .tg-281-intro__heading{font-size:1.15rem;font-weight:800;color:var(--emerald-600)!important;margin-bottom:14px;text-align:center}
#tg-281-wrapper .tg-281-intro p{font-size:0.97rem;color:var(--text-sub)!important;word-break:keep-all}
#tg-281-wrapper .tg-281-intro p strong{color:var(--emerald-700)!important}

/* ══════ 섹션 공통 ══════ */
#tg-281-wrapper .tg-281-section__label{display:inline-flex;align-items:center;gap:7px;background:var(--emerald-600)!important;color:#fff!important;font-size:0.78rem;font-weight:700;padding:4px 14px;border-radius:20px;margin-bottom:12px}
#tg-281-wrapper .tg-281-section__label--demo{background:var(--green-600)!important}
#tg-281-wrapper .tg-281-section__label--tips{background:var(--amber-600)!important}
#tg-281-wrapper .tg-281-section__title{font-size:1.25rem;font-weight:900;color:var(--slate-800)!important;border-left:4px solid var(--emerald-500);padding-left:14px;margin-bottom:18px;line-height:1.4;word-break:keep-all}
#tg-281-wrapper .tg-281-section p{font-size:0.97rem;color:var(--text-sub)!important;word-break:keep-all;text-align:left}
#tg-281-wrapper .tg-281-section p strong{color:var(--emerald-700)!important;font-weight:700}

/* ══════ 기능 카드 ══════ */
#tg-281-wrapper .tg-281-feature-grid{display:grid;grid-template-columns:1fr;gap:14px;margin-top:22px}
#tg-281-wrapper .tg-281-feature-card{position:relative;background:var(--slate-50)!important;border:1px solid var(--slate-200);border-radius:12px;padding:20px 16px 18px;display:flex;flex-direction:column;gap:8px;text-align:left;transition:transform 0.25s ease,box-shadow 0.25s ease}
#tg-281-wrapper .tg-281-feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-emerald)}
#tg-281-wrapper .tg-281-feature-card__num{position:absolute;top:-8px;right:14px;width:26px;height:26px;background:var(--emerald-600)!important;color:#fff!important;font-size:0.75rem;font-weight:900;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
#tg-281-wrapper .tg-281-feature-card__icon{font-size:1.5rem;color:var(--emerald-500);margin-bottom:4px}
#tg-281-wrapper .tg-281-feature-card strong{font-size:0.95rem;font-weight:800;color:var(--slate-800)!important}
#tg-281-wrapper .tg-281-feature-card p{font-size:0.88rem;color:var(--text-sub)!important;margin-bottom:0!important}
#tg-281-wrapper .tg-281-feature-card p strong{color:var(--emerald-600)!important}

/* ══════ 코드 블록 시뮬 ══════ */
#tg-281-wrapper .tg-281-code-sim{margin-top:20px;display:flex;flex-direction:column;gap:14px}

/* 언어 선택 바 */
#tg-281-wrapper .tg-281-code-sim__lang-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#tg-281-wrapper .tg-281-code-sim__lang-label{font-size:0.82rem;font-weight:700;color:var(--text-sub)!important;display:flex;align-items:center;gap:5px}
#tg-281-wrapper .tg-281-code-sim__lang-label i{color:var(--emerald-500)}
#tg-281-wrapper .tg-281-code-sim__lang-btns{display:flex;gap:5px;flex-wrap:wrap}
#tg-281-wrapper .tg-281-code-sim__lang-btn{padding:5px 14px;background:var(--slate-100)!important;border:1px solid var(--slate-200)!important;border-radius:8px;font-family:'Consolas','Fira Code',monospace;font-size:0.75rem;font-weight:700;color:var(--text-sub)!important;cursor:pointer;transition:background 0.2s,border-color 0.2s,color 0.2s}
#tg-281-wrapper .tg-281-code-sim__lang-btn:hover{background:var(--slate-200)!important}
#tg-281-wrapper .tg-281-code-sim__lang-btn--active{background:var(--emerald-600)!important;border-color:var(--emerald-600)!important;color:#fff!important}

/* 코드 블록 */
#tg-281-wrapper .tg-281-code-sim__block{position:relative;background:var(--code-bg)!important;border:1px solid var(--code-border);border-radius:12px;overflow:hidden}
#tg-281-wrapper .tg-281-code-sim__header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--code-header)!important;border-bottom:1px solid var(--code-border)}
#tg-281-wrapper .tg-281-code-sim__lang-tag{font-family:'Consolas','Fira Code',monospace;font-size:0.65rem;font-weight:700;color:var(--emerald-400)!important;text-transform:capitalize}
#tg-281-wrapper .tg-281-code-sim__copy-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;background:rgba(255,255,255,0.08)!important;border:1px solid rgba(255,255,255,0.15)!important;border-radius:6px;font-family:inherit;font-size:0.65rem;font-weight:700;color:rgba(255,255,255,0.7)!important;cursor:pointer;transition:background 0.2s,color 0.2s}
#tg-281-wrapper .tg-281-code-sim__copy-btn:hover{background:rgba(255,255,255,0.15)!important;color:#fff!important}
#tg-281-wrapper .tg-281-code-sim__copy-btn.is-copied{background:rgba(52,211,153,0.2)!important;border-color:rgba(52,211,153,0.4)!important;color:var(--emerald-400)!important}

/* 코드 영역 */
#tg-281-wrapper .tg-281-code-sim__code{display:block;padding:16px 14px 16px 44px;font-family:'Consolas','Fira Code','Courier New',monospace;font-size:0.78rem;line-height:1.65;color:#c9d1d9!important;overflow-x:auto;white-space:pre;margin:0!important;background:transparent!important;tab-size:2}
#tg-281-wrapper .tg-281-code-sim__code code{font-family:inherit;font-size:inherit;color:inherit!important;background:transparent!important}

/* 줄 번호 */
#tg-281-wrapper .tg-281-code-sim__line-nums{position:absolute;top:0;left:0;width:36px;padding:16px 8px 16px 0;text-align:right;font-family:'Consolas','Fira Code',monospace;font-size:0.68rem;line-height:1.65;color:rgba(255,255,255,0.2)!important;pointer-events:none;border-right:1px solid var(--code-border);margin-top:37px}

/* 구문 강조 클래스 */
#tg-281-wrapper .tg-281-syn--keyword{color:var(--syn-keyword)!important}
#tg-281-wrapper .tg-281-syn--string{color:var(--syn-string)!important}
#tg-281-wrapper .tg-281-syn--func{color:var(--syn-func)!important}
#tg-281-wrapper .tg-281-syn--comment{color:var(--syn-comment)!important;font-style:italic}
#tg-281-wrapper .tg-281-syn--number{color:var(--syn-number)!important}
#tg-281-wrapper .tg-281-syn--tag{color:var(--syn-tag)!important}
#tg-281-wrapper .tg-281-syn--attr{color:var(--syn-attr)!important}
#tg-281-wrapper .tg-281-syn--plain{color:#c9d1d9!important}

/* 복사 토스트 */
#tg-281-wrapper .tg-281-code-sim__toast{display:none;align-items:center;justify-content:center;gap:6px;padding:10px 18px;background:var(--emerald-600)!important;color:#fff!important;font-size:0.82rem;font-weight:700;border-radius:10px;animation:tg281-fadeIn 0.35s ease}
#tg-281-wrapper .tg-281-code-sim__toast.is-visible{display:flex}
@keyframes tg281-fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

/* 백틱 가이드 */
#tg-281-wrapper .tg-281-code-sim__backtick-guide{background:var(--slate-50)!important;border:1px solid var(--slate-200);border-radius:12px;padding:16px;text-align:center}
#tg-281-wrapper .tg-281-code-sim__backtick-visual{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}
#tg-281-wrapper .tg-281-code-sim__backtick-key{font-family:'Consolas','Fira Code',monospace;font-size:1.1rem;font-weight:900;color:var(--emerald-600)!important;background:var(--code-bg)!important;padding:6px 12px;border-radius:8px;border:1px solid var(--code-border)}
#tg-281-wrapper .tg-281-code-sim__backtick-label{font-size:0.75rem;font-weight:600;color:var(--slate-400)!important}
#tg-281-wrapper .tg-281-code-sim__backtick-desc{font-size:0.82rem;color:var(--text-sub)!important;margin-bottom:0!important}

/* ══════ 탭 전환 ══════ */
#tg-281-wrapper .tg-281-tab-group{display:flex;gap:0;margin-top:22px;border-radius:12px 12px 0 0;overflow:hidden;border:1px solid var(--slate-200);border-bottom:none}
#tg-281-wrapper .tg-281-tab-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 12px;background:var(--slate-100)!important;color:var(--text-sub)!important;font-family:inherit;font-size:0.88rem;font-weight:700;cursor:pointer;transition:background 0.25s ease;border-right:1px solid var(--slate-200)}
#tg-281-wrapper .tg-281-tab-btn:last-child{border-right:none}
#tg-281-wrapper .tg-281-tab-btn:hover{background:var(--slate-200)!important}
#tg-281-wrapper .tg-281-tab-btn--active{background:var(--emerald-600)!important;color:#fff!important}
#tg-281-wrapper .tg-281-tab-btn i{font-size:1.1rem}
#tg-281-wrapper .tg-281-tab-panel{display:none;background:var(--slate-50)!important;border:1px solid var(--slate-200);border-top:3px solid var(--emerald-500);border-radius:0 0 var(--border-r) var(--border-r);padding:22px 20px;text-align:left;animation:tg281-fadeIn 0.35s ease}
#tg-281-wrapper .tg-281-tab-panel--active{display:block}
#tg-281-wrapper .tg-281-tab-panel__header{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
#tg-281-wrapper .tg-281-tab-panel__icon-wrap{display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:12px;flex-shrink:0;font-size:1.6rem;color:#fff!important}
#tg-281-wrapper .tg-281-tab-panel__icon-wrap--pc{background:linear-gradient(135deg,#2283dd,#005bb5)!important}
#tg-281-wrapper .tg-281-tab-panel__icon-wrap--android{background:linear-gradient(135deg,#22c55e,#15803d)!important}
#tg-281-wrapper .tg-281-tab-panel__icon-wrap--ios{background:linear-gradient(135deg,#64748b,#334155)!important}
#tg-281-wrapper .tg-281-tab-panel__title{font-size:1.05rem;font-weight:800;color:var(--slate-800)!important;margin-bottom:4px}
#tg-281-wrapper .tg-281-tab-panel__desc{font-size:0.88rem;color:var(--text-sub)!important;margin-bottom:0!important}

/* ══════ 단계 ══════ */
#tg-281-wrapper .tg-281-steps{counter-reset:step281;display:flex;flex-direction:column;gap:9px;margin-bottom:14px;text-align:left}
#tg-281-wrapper .tg-281-steps__item{counter-increment:step281;position:relative;padding-left:32px;font-size:0.9rem;color:var(--text-sub)!important;line-height:1.55}
#tg-281-wrapper .tg-281-steps__item::before{content:counter(step281);position:absolute;left:0;top:2px;width:22px;height:22px;background:var(--emerald-600)!important;color:#fff!important;font-size:0.7rem;font-weight:900;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}
#tg-281-wrapper .tg-281-steps__item strong{color:var(--emerald-700)!important;font-weight:700}
#tg-281-wrapper .tg-281-key-action{background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;border:1px solid #a7f3d0;border-radius:10px;padding:12px 16px;font-size:0.88rem;color:var(--text-main)!important;display:flex;align-items:center;gap:8px;text-align:left}
#tg-281-wrapper .tg-281-key-action>i{color:var(--emerald-600)!important;flex-shrink:0}
#tg-281-wrapper .tg-281-key-action strong{color:var(--emerald-800)!important;font-weight:800;margin-right:4px}

/* ══════ 아코디언 ══════ */
#tg-281-wrapper .tg-281-accordion{display:flex;flex-direction:column;gap:12px;margin-top:20px}
#tg-281-wrapper .tg-281-accordion__item{background:var(--slate-50)!important;border:1px solid var(--slate-200);border-radius:var(--border-r);overflow:hidden;transition:border-color 0.3s ease,box-shadow 0.3s ease}
#tg-281-wrapper .tg-281-accordion__item.is-open{border-color:var(--emerald-400);box-shadow:var(--shadow-emerald)}
#tg-281-wrapper .tg-281-accordion__header{display:flex;align-items:center;gap:10px;padding:16px 18px;width:100%;background:none!important;cursor:pointer;font-family:inherit;text-align:left}
#tg-281-wrapper .tg-281-accordion__icon{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:linear-gradient(135deg,#ecfdf5,#d1fae5)!important;border-radius:10px;font-size:1.1rem;color:var(--emerald-600)!important;flex-shrink:0}
#tg-281-wrapper .tg-281-accordion__title{flex:1;font-size:0.95rem;font-weight:800;color:var(--slate-800)!important}
#tg-281-wrapper .tg-281-accordion__arrow{color:var(--slate-400)!important;font-size:0.8rem;transition:transform 0.3s ease;flex-shrink:0}
#tg-281-wrapper .tg-281-accordion__item.is-open .tg-281-accordion__arrow{transform:rotate(180deg)}
#tg-281-wrapper .tg-281-accordion__body{max-height:0;overflow:hidden;transition:max-height 0.45s ease,padding 0.45s ease;padding:0 18px;text-align:left}
#tg-281-wrapper .tg-281-accordion__item.is-open .tg-281-accordion__body{max-height:600px;padding:0 18px 20px}
#tg-281-wrapper .tg-281-accordion__body p{font-size:0.9rem;color:var(--text-sub)!important}
#tg-281-wrapper .tg-281-accordion__body p strong{color:var(--emerald-600)!important}

/* ══════ 결론 ══════ */
#tg-281-wrapper .tg-281-summary{background:linear-gradient(150deg,var(--slate-900) 0%,#022c22 100%)!important;border-radius:var(--border-r);padding:44px 24px;text-align:center}
#tg-281-wrapper .tg-281-summary__title{font-size:1.3rem;font-weight:900;color:#fff!important;margin-bottom:30px;display:flex;align-items:center;justify-content:center;gap:10px}
#tg-281-wrapper .tg-281-summary__flow{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:36px}
#tg-281-wrapper .tg-281-summary__flow-item{display:flex;flex-direction:column;align-items:center;gap:8px}
#tg-281-wrapper .tg-281-summary__flow-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;background:rgba(255,255,255,0.1)!important;border:2px solid rgba(255,255,255,0.18);border-radius:12px;font-size:1.3rem;color:#fff!important}
#tg-281-wrapper .tg-281-summary__flow-item span{font-size:0.72rem;font-weight:600;color:var(--slate-300)!important;max-width:80px;text-align:center;line-height:1.3}
#tg-281-wrapper .tg-281-summary__flow-arrow{color:rgba(255,255,255,0.3)!important;font-size:0.9rem}
#tg-281-wrapper .tg-281-summary__checklist{text-align:left;max-width:640px;margin:0 auto 28px;display:flex;flex-direction:column;gap:10px}
#tg-281-wrapper .tg-281-summary__checklist li{font-size:0.93rem;color:var(--slate-300)!important;display:flex;align-items:flex-start;gap:8px;line-height:1.6}
#tg-281-wrapper .tg-281-summary__checklist li i{color:var(--emerald-400)!important;flex-shrink:0;margin-top:4px}
#tg-281-wrapper .tg-281-summary__checklist li strong{color:#fff!important;font-weight:700}
#tg-281-wrapper .tg-281-summary__desc{font-size:0.92rem;color:var(--slate-300)!important;word-break:keep-all;max-width:700px;margin:0 auto!important}
#tg-281-wrapper .tg-281-summary__desc strong{color:#fff!important}
#tg-281-wrapper .tg-281-footer{margin-top:28px}
#tg-281-wrapper .tg-281-footer__btn{display:inline-flex;align-items:center;gap:8px;background:#fff!important;color:var(--emerald-700)!important;font-size:0.92rem;font-weight:800;padding:13px 30px;border-radius:30px;box-shadow:0 4px 16px rgba(0,0,0,0.2);transition:transform 0.22s ease,box-shadow 0.22s ease}
#tg-281-wrapper .tg-281-footer__btn:hover{transform:scale(1.05);box-shadow:0 6px 22px rgba(0,0,0,0.25)}

/* ══════ 스크롤 등장 ══════ */
#tg-281-wrapper .tg-281-motion{opacity:0;transform:translateY(26px);transition:opacity 0.65s ease-out,transform 0.65s ease-out}
#tg-281-wrapper .tg-281-motion.is-visible{opacity:1;transform:translateY(0)}

/* ══════ 반응형 ══════ */
@media(min-width:640px){
    #tg-281-wrapper .tg-281-hero{padding:64px 40px 60px}
    #tg-281-wrapper .tg-281-hero__title{font-size:2rem}
    #tg-281-wrapper .tg-281-main{padding:56px 40px 48px;gap:52px}
    #tg-281-wrapper .tg-281-feature-grid{grid-template-columns:repeat(3,1fr)}
    #tg-281-wrapper .tg-281-summary{padding:56px 40px}
    #tg-281-wrapper .tg-281-tab-panel__header{align-items:center}
}
@media(min-width:900px){
    #tg-281-wrapper .tg-281-hero__title{font-size:2.3rem}
    #tg-281-wrapper .tg-281-section__title{font-size:1.4rem}
}
