/* 생성물 — 직접 고치지 말 것. 원본: css/components-product.min.css
   scripts/split_components_product_css.py 가 [data-product] 값별로 쪼갠다. */
@keyframes tcFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes csub-roll-c1{0%{transform:translateY(-2%)}to{transform:translateY(-45%)}}@keyframes csub-roll-c2{0%{transform:translateY(-48%)}to{transform:translateY(-5%)}}@keyframes csub-roll-c3{0%{transform:translateY(-4%)}to{transform:translateY(-46%)}}@keyframes csub-roll-c4{0%{transform:translateY(-42%)}to{transform:translateY(-15%)}}@keyframes csub-roll-c5{0%{transform:translateY(-5%)}to{transform:translateY(-48%)}}@keyframes csub-roll-c6{0%{transform:translateY(-50%)}to{transform:translateY(-2%)}}@keyframes tcPulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes op-fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes op-ringPulse{0%,to{box-shadow:0 8px 40px rgba(75,53,224,.12)}50%{box-shadow:0 8px 48px rgba(75,53,224,.25)}}@keyframes op-countFade{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes op-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@keyframes bookroll-c1{0%{transform:translateY(-2%)}to{transform:translateY(-45%)}}@keyframes bookroll-c2{0%{transform:translateY(-48%)}to{transform:translateY(-5%)}}@keyframes bookroll-c3{0%{transform:translateY(-4%)}to{transform:translateY(-46%)}}@keyframes bookroll-c4{0%{transform:translateY(-42%)}to{transform:translateY(-15%)}}@keyframes bookroll-c5{0%{transform:translateY(-5%)}to{transform:translateY(-48%)}}@keyframes bookroll-c6{0%{transform:translateY(-50%)}to{transform:translateY(-2%)}}@keyframes ytc-scroll{0%{background-position:0 0}to{background-position:150%0}}[data-product=ai-admin] .op-visual-wrap .tc-visual-panel[data-visual^=aia1-],[data-product=ai-admin] .op-visual-wrap .tc-visual-panel[data-visual^=aia2-],[data-product=ai-admin] .op-visual-wrap .tc-visual-panel[data-visual^=aia3-],[data-product=ai-assistant] .op-visual-wrap .tc-visual-panel[data-visual^=aia-]{background:0 0;backdrop-filter:none;padding:0;border-radius:0;box-shadow:none}[data-product=ai-admin] .aad-mock__header::before,[data-product=ai-assistant] .aia-mock .aia-mockup__header::before{content:"";flex-shrink:0;display:inline-block;width:42px;height:10px;background:radial-gradient(circle at 5px 5px,#ff5f57 5px,transparent 5.5px),radial-gradient(circle at 21px 5px,#febc2e 5px,transparent 5.5px),radial-gradient(circle at 37px 5px,#28c840 5px,transparent 5.5px)}[data-product=ai-curation] .aic-mock>:first-child::before,[data-product=ai-shortclass] .ash-mock>:first-child::before,[data-product=cbt] .cbt-mock>:first-child::before,[data-product=completion] .cmp-mock>:first-child::before{content:"";flex-shrink:0;display:inline-block;width:42px;height:10px;background:radial-gradient(circle at 5px 5px,#ff5f57 5px,transparent 5.5px),radial-gradient(circle at 21px 5px,#febc2e 5px,transparent 5.5px),radial-gradient(circle at 37px 5px,#28c840 5px,transparent 5.5px)}[data-product=ai-shortclass] .op-visual-wrap .tc-visual-panel:has(.ash-mock),[data-product=cbt] .op-visual-wrap .tc-visual-panel:has(.cbt-mock),[data-product=completion] .op-visual-wrap .tc-visual-panel:has(.cmp-mock),[data-product=content-consulting] .op-visual-wrap .tc-visual-panel:has(.ccn-mock),[data-product=content-editor] .op-visual-wrap .tc-visual-panel:has(.ced-mock){background:0 0;backdrop-filter:none;padding:0;border-radius:0;box-shadow:none}[data-product=cbt] .cbt-mock-row:last-child,[data-product=content-subscription] .csub-compare__table tbody tr:last-child td{border-bottom:none}[data-product=content-consulting] .tc-ftable table,[data-product=gamification] .tc-ftable table{width:100%;border-collapse:collapse}[data-product=content-consulting] .tc-ftable th,[data-product=gamification] .tc-ftable th{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#888;padding:12px 16px;border-bottom:2px solid #e5e3df;text-align:left}[data-product=content-consulting] .tc-ftable td,[data-product=gamification] .tc-ftable td{font-size:15px;color:#1a1a2e;padding:16px;border-bottom:1px solid #e5e3df}[data-product=custom-app] .cap-mock>:first-child::before,[data-product=dashboard] .dsh-mock>:first-child::before,[data-product=encouragement] .enc-mock>:first-child::before,[data-product=gamification] .gam-mock>:first-child::before,[data-product=integration] .itg-mock>:first-child::before,[data-product=live] .liv-mock>:first-child::before{content:"";flex-shrink:0;display:inline-block;width:42px;height:10px;background:radial-gradient(circle at 5px 5px,#ff5f57 5px,transparent 5.5px),radial-gradient(circle at 21px 5px,#febc2e 5px,transparent 5.5px),radial-gradient(circle at 37px 5px,#28c840 5px,transparent 5.5px)}[data-product=dashboard] .op-visual-wrap .tc-visual-panel:has(.dsh-mock),[data-product=encouragement] .op-visual-wrap .tc-visual-panel:has(.enc-mock),[data-product=gamification] .op-visual-wrap .tc-visual-panel:has(.gam-mock),[data-product=integration] .op-visual-wrap .tc-visual-panel:has(.itg-mock),[data-product=live] .op-visual-wrap .tc-visual-panel:has(.liv-mock),[data-product=operate] .op-visual-wrap .tc-visual-panel:has(.opr-mock){background:0 0;backdrop-filter:none;padding:0;border-radius:0;box-shadow:none}[data-product=gamification] .tc-mock-rank{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid #e5e3df}[data-product=gamification] .tc-mock-rank--gold{background:linear-gradient(135deg,#fff6e0,#fce282);border-color:#e8950a}[data-product=gamification] .tc-mock-rank--silver{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-color:#9ca3af}[data-product=gamification] .tc-mock-rank--bronze{background:linear-gradient(135deg,#fdd4a6,#fbb670);border-color:#e8690f}[data-product=gamification] .tc-mock-rank__avatar,[data-product=gamification] .tc-mock-rank__num{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:10px;flex-shrink:0}[data-product=gamification] .tc-mock-rank__num{width:24px;height:24px;background:#4b35e0;font-weight:700}[data-product=gamification] .tc-mock-rank--gold .tc-mock-rank__num{background:#e8950a}[data-product=gamification] .tc-mock-rank--silver .tc-mock-rank__num{background:#6b7280}[data-product=gamification] .tc-mock-rank--bronze .tc-mock-rank__num{background:#e8690f}[data-product=gamification] .tc-mock-rank__avatar{width:28px;height:28px;background:linear-gradient(135deg,#6366f1,#8b5cf6);font-weight:600}[data-product=gamification] .tc-mock-rank__info{flex:1}[data-product=gamification] .tc-mock-rank__name{font-size:12px;font-weight:600;color:#1f2937}[data-product=gamification] .tc-mock-rank__dept{font-size:10px;color:#9ca3af}[data-product=gamification] .tc-mock-rank__pts{font-size:13px;font-weight:700;color:#4b35e0}[data-product=gamification] .tc-mock-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}[data-product=gamification] .tc-mock-badge{text-align:center;padding:8px 4px}[data-product=gamification] .tc-mock-badge__icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;font-size:18px}[data-product=gamification] .tc-mock-badge__name{font-size:10px;color:#6b7280;font-weight:500}[data-product=gamification] .tc-mock-pointbar{display:flex;align-items:center;gap:8px;padding:10px 0}[data-product=gamification] .tc-mock-pointbar__label{font-size:10px;color:#6b7280;width:52px;flex-shrink:0}[data-product=gamification] .tc-mock-pointbar__track{flex:1;height:7px;background:#f3f4f6;border-radius:4px;overflow:hidden}[data-product=gamification] .tc-mock-pointbar__fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#6366f1,#8b5cf6)}[data-product=gamification] .tc-mock-pointbar__val{font-size:11px;font-weight:600;color:#4b35e0;width:46px;text-align:right;flex-shrink:0}[data-product=gamification] .tc-bento{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1180px;margin:0 auto;padding:0 20px}[data-product=gamification] .tc-bento__card{background:#fff;border:1px solid #e5e3df;border-radius:16px;padding:32px}[data-product=gamification] .tc-bento__icon{width:48px;height:48px;background:#ebe8fd;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:24px}[data-product=gamification] .tc-bento__card h4,[data-product=gamification] .tc-bento__card h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}[data-product=gamification] .tc-bento__card p{font-size:15px;color:#6b7280;line-height:1.6;margin:0}[data-product=gamification] .tc-stats-row{display:flex;justify-content:center;gap:60px;max-width:1180px;margin:0 auto;padding:0 20px;text-align:center;flex-wrap:wrap}[data-product=gamification] .tc-stat__number{font-size:56px;font-weight:500;color:#1a1a2e;line-height:1}[data-product=gamification] .tc-stat__label{font-size:14px;color:#888;margin-top:8px;display:block;text-align:center}[data-product=gamification] .tc-ftable{max-width:1180px;margin:0 auto;padding:0 20px}[data-product=gamification] .tc-ftable .check{color:#4b35e0;font-weight:700}[data-product=gamification] .tc-ftable .cross{color:#c4c0b9}@media screen and (max-width:800px){[data-product=gamification] .tc-bento{grid-template-columns:1fr}[data-product=gamification] .tc-stats-row{flex-direction:column;gap:40px}[data-product=gamification] .tc-ftable{overflow-x:auto}[data-product=gamification] .tc-ftable table{min-width:500px}[data-product=gamification] .tc-mock-badges{grid-template-columns:repeat(3,1fr)}}[data-product=gamification] .gam-mock{overflow:hidden;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.08);padding:20px;display:flex;flex-direction:column;gap:10px;margin:auto 0;width:100%}[data-product=gamification] .gam-mock>:first-child{font-size:12px;font-weight:600;color:var(--tc-text-muted,#6B7280);letter-spacing:.03em;margin:-20px -20px 6px;padding:12px 16px;background:#f7f6f3;border-bottom:1px solid var(--tc-border,#E5E3DF);display:flex;align-items:center;gap:8px}@media (max-width:640px){[data-product=gamification] .gam-mock{padding:16px}[data-product=gamification] .gam-mock>:first-child{margin:-16px -16px 6px}}[data-product=social-learning] .tc-bento__card h4,[data-product=touch-contents] .tc-bento__card h4,[data-product=social-learning] .tc-bento__card h3,[data-product=touch-contents] .tc-bento__card h3{font-size:18px;font-weight:600;color:#1a1a2e;margin:0 0 8px}[data-product=social-learning] .tc-bento__card p,[data-product=touch-contents] .tc-bento__card p{font-size:15px;color:#6b7280;line-height:1.6;margin:0}[data-product=social-learning] .op-visual-wrap .tc-visual-panel:has(.soc-mock),[data-product=youtube-curation] .op-visual-wrap .tc-visual-panel:has(.ytc-mock){background:0 0;backdrop-filter:none;padding:0;border-radius:0;box-shadow:none}[data-product] [class$=-mock]>:first-child{margin:0;padding:0;background:0 0;border:0;display:block;font-size:inherit;font-weight:inherit;color:inherit;letter-spacing:normal;gap:0;align-items:normal}[data-product] [class$=-mock]>:first-child::before{content:none!important;display:none!important;width:auto;height:auto;background:0 0}[data-product] [class$=-mock]{padding:44px 20px 20px!important;position:relative;gap:10px!important}[data-product] [class$=-mock]::before{content:"";position:absolute;top:0;left:0;right:0;height:32px;background:#f7f6f3;border-bottom:1px solid var(--tc-border,#E5E3DF);border-radius:16px 16px 0 0;display:block}[data-product] [class$=-mock]::after{content:"";position:absolute;top:11px;left:16px;width:42px;height:10px;background:radial-gradient(circle at 5px 5px,#ff5f57 5px,transparent 5.5px),radial-gradient(circle at 21px 5px,#febc2e 5px,transparent 5.5px),radial-gradient(circle at 37px 5px,#28c840 5px,transparent 5.5px)}[data-product] [class$=-mock] .tc-mockup__header{font-size:12px;font-weight:600;color:var(--tc-text-muted,#6B7280);letter-spacing:.03em;margin:0 0 6px;padding:0 0 8px;border-bottom:1px solid var(--tc-border,#E5E3DF);display:block;background:0 0}[data-product] [class$=-mock] .tc-mockup__header::before{content:none;display:none}@media (max-width:640px){[data-product] [class$=-mock]{padding:40px 16px 16px!important}[data-product] [class$=-mock]::before{height:28px}[data-product] [class$=-mock]::after{top:9px}}
