/*
 * tips378/style.css  v1.0.0
 * 텔레그램 게시물 제안(Suggest Posts) 가이드
 * 테마: 로즈 핑크/체리 + 딥 다크 (협업·콘텐츠 제안·Stars 결제)
 * 그누보드5 격리 | BEM | 모바일 퍼스트
 */

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

/* ─── 디자인 토큰 ─── */
#tg-378-wrapper {
    --ros-100:  #ffe4e6;
    --ros-200:  #fecdd3;
    --ros-300:  #fda4af;
    --ros-400:  #fb7185;
    --ros-500:  #f43f5e;
    --ros-600:  #e11d48;
    --ros-700:  #be123c;
    --gold-300: #fcd34d;
    --gold-400: #fbbf24;
    --grn-400:  #4ade80;
    --grn-500:  #22c55e;
    --dk-base:  #1a0510;
    --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-ros: 0 6px 24px rgba(244,63,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-378-wrapper .material-symbols-outlined {
    font-family: 'Material Symbols Outlined', sans-serif;
    font-weight: normal; font-style: normal; font-size: inherit; line-height: 1;
    display: inline-block; white-space: nowrap; direction: ltr;
    -webkit-font-smoothing: antialiased; vertical-align: middle;
}

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

/* ═════════════════════════════════════════ 히어로 */
#tg-378-wrapper .tg-378-hero {
    position: relative; background: var(--dk-base);
    border-radius: var(--radius-lg); padding: 64px 28px 72px; text-align: center; overflow: hidden;
}
#tg-378-wrapper .tg-378-hero__bg {
    position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(ellipse 65% 52% at 28% 35%, rgba(244,63,94,.22) 0%, transparent 56%),
        radial-gradient(ellipse 50% 44% at 80% 68%, rgba(251,113,133,.1) 0%, transparent 52%);
}
#tg-378-wrapper .tg-378-hero__floats { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
#tg-378-wrapper .tg-378-float { position: absolute; font-size: 1.8rem; opacity: 0; animation: tg378Float ease-in-out infinite; }
#tg-378-wrapper .tg-378-float--1 { top:14%; left:4%;    animation-duration:5.5s; }
#tg-378-wrapper .tg-378-float--2 { top:22%; right:5%;   animation-duration:4.5s; animation-delay:-2s; font-size:1.3rem; }
#tg-378-wrapper .tg-378-float--3 { bottom:28%; left:6%; animation-duration:6s;   animation-delay:-1s; }
#tg-378-wrapper .tg-378-float--4 { bottom:20%; right:7%;animation-duration:5s;   animation-delay:-1.8s; font-size:1.3rem; }
@keyframes tg378Float { 0%,100%{opacity:0;transform:translateY(0) scale(.9);}50%{opacity:.52;transform:translateY(-14px) scale(1.12);} }
#tg-378-wrapper .tg-378-hero__inner { position:relative; z-index:1; max-width:700px; margin:0 auto; }
#tg-378-wrapper .tg-378-hero__badge { display:inline-flex; align-items:center; gap:6px; background:rgba(244,63,94,.15); border:1px solid rgba(244,63,94,.35); color:var(--ros-300); font-size:.85rem; font-weight:700; padding:6px 18px; border-radius:999px; margin-bottom:22px !important; }
#tg-378-wrapper .tg-378-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-378-wrapper .tg-378-hero__title em { font-style:normal; color:var(--ros-300); text-shadow:0 0 24px rgba(244,63,94,.55); }
#tg-378-wrapper .tg-378-hero__subtitle { color:rgba(255,255,255,.65); line-height:1.8; max-width:540px; margin:0 auto 28px !important; }
#tg-378-wrapper .tg-378-hero__chips { display:flex; flex-wrap:wrap; gap:10px; justify-content:center; }
#tg-378-wrapper .tg-378-hero__chip { display:inline-flex; align-items:center; gap:6px; background:rgba(244,63,94,.1); border:1px solid rgba(244,63,94,.22); color:var(--ros-300); font-size:.82rem; font-weight:800; padding:8px 16px; border-radius:999px; }
#tg-378-wrapper .tg-378-hero__chip--gold { background:rgba(251,191,36,.08); border-color:rgba(251,191,36,.22); color:var(--gold-300); }
#tg-378-wrapper .tg-378-hero__chip--grn  { background:rgba(34,197,94,.08); border-color:rgba(34,197,94,.22); color:var(--grn-400); }

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

/* 도입부 */
#tg-378-wrapper .tg-378-intro { background:#fff; border:1px solid var(--sl-200); border-top:4px solid var(--ros-500); border-radius:var(--radius-md); padding:36px 28px; text-align:center; box-shadow:var(--shadow-sm); }
#tg-378-wrapper .tg-378-intro__icon { font-size:2.4rem; color:var(--ros-600); margin-bottom:14px; }
#tg-378-wrapper .tg-378-intro__title { font-size:clamp(1.05rem,2.8vw,1.3rem); font-weight:800; color:var(--sl-900); margin-bottom:14px; }
#tg-378-wrapper .tg-378-intro p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }

/* 흐름 표시 */
#tg-378-wrapper .tg-378-flow-row { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; margin-top:22px; }
#tg-378-wrapper .tg-378-flow-step { display:flex; flex-direction:column; align-items:center; gap:5px; background:rgba(244,63,94,.06); border:1px solid rgba(244,63,94,.18); border-radius:12px; padding:12px 14px; min-width:64px; }
#tg-378-wrapper .tg-378-flow-step__ico { font-size:1.4rem; color:var(--ros-500); margin-bottom:0 !important; }
#tg-378-wrapper .tg-378-flow-step__txt { font-size:.65rem; font-weight:800; color:var(--ros-700); margin-bottom:0 !important; }
#tg-378-wrapper .tg-378-flow-arrow { font-size:1.2rem; color:var(--sl-300, #cbd5e1); }

/* 공통 섹션 */
#tg-378-wrapper .tg-378-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-378-wrapper .tg-378-section--dark { background:var(--dk-base); border-color:rgba(244,63,94,.1); }
#tg-378-wrapper .tg-378-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-378-wrapper .tg-378-section__label--dark { background:rgba(255,255,255,.13); color:#fff; border:1px solid rgba(255,255,255,.24); }
#tg-378-wrapper .tg-378-section__label--rose { background:rgba(244,63,94,.08); color:var(--ros-700); }
#tg-378-wrapper .tg-378-section__label .material-symbols-outlined { font-size:1rem; }
#tg-378-wrapper .tg-378-section__title--light { color:#fff; font-size:clamp(1.2rem,3vw,1.5rem); font-weight:900; letter-spacing:-.02em; margin-bottom:16px !important; text-align:center; line-height:1.35; padding:0 8px; }
#tg-378-wrapper .tg-378-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-378-wrapper .tg-378-section > p { color:var(--text-sub); max-width:680px; margin-left:auto; margin-right:auto; }
#tg-378-wrapper .tg-378-section__desc--light { color:rgba(255,255,255,.8) !important; margin-bottom:28px !important; }

/* ═════════════════════════════════════════ 시뮬레이터 */
#tg-378-wrapper .tg-378-sim-wrap { max-width:420px; margin:0 auto; text-align:left; }
#tg-378-wrapper .tg-378-sim-panel { animation:tg378FadeIn .3s ease; }

/* 채널 UI */
#tg-378-wrapper .tg-378-channel-ui { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; overflow:hidden; }
#tg-378-wrapper .tg-378-channel-ui__header { display:flex; align-items:center; gap:10px; padding:12px 14px; border-bottom:1px solid rgba(255,255,255,.06); }
#tg-378-wrapper .tg-378-channel-ui__avatar { font-size:1.6rem; flex-shrink:0; }
#tg-378-wrapper .tg-378-channel-ui__name { font-size:.84rem; font-weight:800; color:#fff; margin-bottom:2px !important; }
#tg-378-wrapper .tg-378-channel-ui__subs { font-size:.62rem; color:rgba(255,255,255,.3); margin-bottom:0 !important; }

/* Terms 박스 */
#tg-378-wrapper .tg-378-terms-box { padding:12px 14px; }
#tg-378-wrapper .tg-378-terms-box__title { font-size:.72rem; font-weight:800; color:rgba(255,255,255,.4); display:flex; align-items:center; gap:6px; margin-bottom:10px !important; }
#tg-378-wrapper .tg-378-terms-box__title .material-symbols-outlined { font-size:.85rem; color:var(--ros-400); }
#tg-378-wrapper .tg-378-terms-row { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
#tg-378-wrapper .tg-378-terms-row__label { display:flex; align-items:center; gap:6px; font-size:.74rem; font-weight:700; color:rgba(255,255,255,.45); }
#tg-378-wrapper .tg-378-terms-row__label .material-symbols-outlined { font-size:.9rem; color:var(--gold-400); }
/* Stars 컨트롤 */
#tg-378-wrapper .tg-378-stars-ctrl { display:flex; align-items:center; gap:8px; }
#tg-378-wrapper .tg-378-stars-step { width:28px; height:28px; border-radius:50%; background:rgba(244,63,94,.12); border:1px solid rgba(244,63,94,.25); color:var(--ros-300); font-size:1.1rem; font-weight:900; display:flex; align-items:center; justify-content:center; line-height:1; transition:background .18s; }
#tg-378-wrapper .tg-378-stars-step:hover { background:rgba(244,63,94,.22); }
#tg-378-wrapper .tg-378-stars-val { font-size:.82rem; font-weight:900; color:var(--gold-300); min-width:70px; text-align:center; }
/* 시간 버튼 */
#tg-378-wrapper .tg-378-time-opts { display:flex; gap:5px; flex-wrap:wrap; }
#tg-378-wrapper .tg-378-time-btn { padding:5px 10px; border-radius:8px; font-size:.66rem; font-weight:700; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); color:rgba(255,255,255,.4); transition:all .18s; }
#tg-378-wrapper .tg-378-time-btn--active { background:rgba(244,63,94,.12); border-color:rgba(244,63,94,.3); color:var(--ros-300); }
/* Offer 버튼 */
#tg-378-wrapper .tg-378-offer-btn { width:100%; display:flex; align-items:center; justify-content:center; gap:8px; padding:11px; border-radius:10px; font-size:.9rem; font-weight:800; color:#fff; background:linear-gradient(135deg, var(--ros-500), var(--ros-700)); margin-top:4px; transition:opacity .18s; }
#tg-378-wrapper .tg-378-offer-btn:hover { opacity:.9; }

/* 게시물 작성 UI */
#tg-378-wrapper .tg-378-write-ui { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; overflow:hidden; }
#tg-378-wrapper .tg-378-write-ui__header { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid rgba(255,255,255,.06); }
#tg-378-wrapper .tg-378-write-badge { display:inline-flex; align-items:center; gap:5px; font-size:.7rem; font-weight:800; color:var(--ros-300); }
#tg-378-wrapper .tg-378-write-badge .material-symbols-outlined { font-size:.85rem; }
#tg-378-wrapper .tg-378-write-stars { font-size:.8rem; font-weight:900; color:var(--gold-300); }
#tg-378-wrapper .tg-378-write-textarea { width:100%; background:none; padding:10px 12px; font-size:.78rem; color:rgba(255,255,255,.8); line-height:1.7; border-bottom:1px solid rgba(255,255,255,.05); min-height:110px; }
#tg-378-wrapper .tg-378-write-textarea::placeholder { color:rgba(255,255,255,.18); }
#tg-378-wrapper .tg-378-write-footer { display:flex; align-items:center; justify-content:space-between; padding:8px 12px; }
#tg-378-wrapper .tg-378-write-hint-txt { font-size:.68rem; color:rgba(255,255,255,.3); }
#tg-378-wrapper .tg-378-submit-btn { display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:8px; font-size:.8rem; font-weight:800; color:#fff; background:linear-gradient(135deg, var(--ros-500), var(--ros-700)); transition:opacity .18s; }
#tg-378-wrapper .tg-378-submit-btn:hover { opacity:.9; }
#tg-378-wrapper .tg-378-submit-btn .material-symbols-outlined { font-size:.9rem; }

/* 합의 완료 UI */
#tg-378-wrapper .tg-378-done-ui { display:flex; flex-direction:column; gap:10px; }
#tg-378-wrapper .tg-378-system-msg { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:10px; padding:12px 14px; animation:tg378BounceIn .5s cubic-bezier(.34,1.56,.64,1); }
#tg-378-wrapper .tg-378-system-msg__ico { font-size:1.8rem; flex-shrink:0; }
#tg-378-wrapper .tg-378-system-msg__title { font-size:.88rem; font-weight:900; color:#fff; margin-bottom:2px !important; }
#tg-378-wrapper .tg-378-system-msg__sub   { font-size:.72rem; color:rgba(255,255,255,.5); margin-bottom:0 !important; }
/* 예약 카드 */
#tg-378-wrapper .tg-378-schedule-card { background:rgba(244,63,94,.07); border:1px solid rgba(244,63,94,.18); border-radius:10px; padding:12px 14px; display:flex; flex-direction:column; gap:8px; }
#tg-378-wrapper .tg-378-schedule-card__row { display:flex; align-items:flex-start; gap:8px; font-size:.78rem; color:rgba(255,255,255,.7); }
#tg-378-wrapper .tg-378-schedule-card__row .material-symbols-outlined { font-size:.9rem; color:var(--ros-400); flex-shrink:0; margin-top:1px; }
#tg-378-wrapper .tg-378-schedule-card__row strong { color:var(--ros-300); }

#tg-378-wrapper .tg-378-retry-btn { display:inline-flex; align-items:center; gap:6px; background:rgba(244,63,94,.1); border:1px solid rgba(244,63,94,.25); color:var(--ros-300); font-size:.82rem; font-weight:800; padding:9px 18px; border-radius:999px; transition:background .18s; }
#tg-378-wrapper .tg-378-retry-btn:hover { background:rgba(244,63,94,.18); }
#tg-378-wrapper .tg-378-retry-btn .material-symbols-outlined { font-size:.9rem; }
#tg-378-wrapper .tg-378-sim-hint { font-size:.7rem; color:rgba(255,255,255,.25); text-align:center; margin-top:8px !important; }

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

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

@keyframes tg378Float    { 0%,100%{opacity:0;transform:translateY(0) scale(.9);}50%{opacity:.52;transform:translateY(-14px) scale(1.12);} }
@keyframes tg378FadeIn   { from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);} }
@keyframes tg378BounceIn { from{opacity:0;transform:scale(.7);}to{opacity:1;transform:scale(1);} }

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