/* 생성물 — 직접 고치지 말 것. 원본: 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=completion] .cmp-cond-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;background:#f9fafb;margin-bottom:6px}[data-product=completion] .cmp-cond-row:last-child{margin-bottom:0}[data-product=completion] .cmp-cond__icon{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}[data-product=completion] .cmp-cond__icon--pass{background:var(--mock-positive-bg,#E6F7EF);color:var(--mock-positive,#1A9A5C)}[data-product=completion] .cmp-cond__icon--fail{background:var(--mock-negative-bg,#FDE8E8);color:var(--mock-negative,#D63B3B)}[data-product=completion] .cmp-cond__icon--wait{background:var(--mock-caution-bg,#FFF6E0);color:var(--mock-caution,#D4940D)}[data-product=completion] .cmp-cond__label{flex:1;font-size:13px;color:#374151;font-weight:500}[data-product=completion] .cmp-cond__val{font-size:12px;color:#6b7280}[data-product=completion] .cmp-cond__badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:100px}[data-product=completion] .cmp-cond__badge--pass{background:var(--mock-positive-bg);color:var(--mock-positive)}[data-product=completion] .cmp-cond__badge--fail{background:var(--mock-negative-bg);color:var(--mock-negative)}[data-product=completion] .cmp-cond__badge--wait{background:var(--mock-caution-bg);color:var(--mock-caution)}[data-product=completion] .cmp-result-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-top:10px}[data-product=completion] .cmp-result-bar--fail{background:var(--mock-negative-bg)}[data-product=completion] .cmp-result-bar__icon{font-size:18px}[data-product=completion] .cmp-result-bar__text{font-size:13px;font-weight:600}[data-product=completion] .cmp-result-bar--pass .cmp-result-bar__text{color:var(--mock-positive)}[data-product=completion] .cmp-result-bar--fail .cmp-result-bar__text{color:var(--mock-negative)}[data-product=completion] .cmp-cert{border:1.5px solid var(--tc-border,#E5E3DF);border-radius:12px;overflow:hidden;background:#fff}[data-product=completion] .cmp-cert__header{background:linear-gradient(135deg,#1a1a2e 0,#2d2060 100%);padding:14px 18px;display:flex;align-items:center;justify-content:space-between}[data-product=completion] .cmp-cert__logo-area{display:flex;align-items:center;gap:8px}[data-product=completion] .cmp-cert__logo-dot{width:10px;height:10px;border-radius:50%;background:#a78bfa}[data-product=completion] .cmp-cert__logo-text{font-size:12px;font-weight:700;color:#fff;letter-spacing:.05em}[data-product=completion] .cmp-cert__badge-label{font-size:10px;color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.25);padding:2px 8px;border-radius:4px}[data-product=completion] .cmp-cert__body{padding:16px 18px;text-align:center}[data-product=completion] .cmp-cert__title-kr{font-size:11px;color:#9ca3af;letter-spacing:.12em;margin-bottom:4px}[data-product=completion] .cmp-cert__name-line{font-size:17px;font-weight:700;color:#1a1a2e;margin-bottom:6px}[data-product=completion] .cmp-cert__course{font-size:12px;color:#4b35e0;font-weight:600;margin-bottom:12px}[data-product=completion] .cmp-cert__divider{border:0;border-top:1px solid #e5e3df;margin:10px 0}[data-product=completion] .cmp-cert__meta{display:flex;justify-content:space-between;font-size:10px;color:#9ca3af}[data-product=completion] .cmp-cert__footer{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#f9fafb;border-top:1px solid #e5e3df}[data-product=completion] .cmp-cert__action{flex:1;text-align:center;padding:7px 0;border-radius:6px;font-size:11px;font-weight:600}[data-product=completion] .cmp-cert__action--pdf,[data-product=completion] .cmp-tab.is-active{background:#4b35e0;color:#fff}[data-product=completion] .cmp-cert__action--tmpl{background:#f3f4f6;color:#374151}[data-product=completion] .cmp-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}[data-product=completion] .cmp-tab{padding:5px 10px;border-radius:6px;font-size:11px;font-weight:500;cursor:default;background:#f3f4f6;color:#6b7280}[data-product=completion] .cmp-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}[data-product=completion] .cmp-stat-box{background:#f9fafb;border-radius:8px;padding:8px 10px;text-align:center}[data-product=completion] .cmp-stat-box__num{font-size:18px;font-weight:700;color:#1a1a2e;line-height:1}[data-product=completion] .cmp-stat-box__lbl{font-size:10px;color:#9ca3af;margin-top:2px}[data-product=completion] .cmp-learner-row{display:flex;align-items:center;gap:8px;padding:7px 10px;background:#f9fafb;border-radius:7px;margin-bottom:5px}[data-product=completion] .cmp-learner-row:last-child{margin-bottom:0}[data-product=completion] .cmp-learner__avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0}[data-product=completion] .cmp-learner__name{flex:1;font-size:12px;color:#374151;font-weight:500}[data-product=completion] .cmp-learner__pct{font-size:11px;color:#6b7280}[data-product=completion] .cmp-progress-mini{width:60px;height:5px;background:#e5e3df;border-radius:3px;overflow:hidden}[data-product=completion] .cmp-progress-mini__fill{height:100%;border-radius:3px;background:#4b35e0}[data-product=completion] .cmp-status-pill{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:100px}[data-product=completion] .cmp-status--active{background:var(--mock-accent-subtle,#EBE8FD);color:var(--mock-accent,#4B35E0)}[data-product=completion] .cmp-status--done{background:var(--mock-positive-bg);color:var(--mock-positive)}[data-product=completion] .cmp-status--wait{background:var(--mock-caution-bg);color:var(--mock-caution)}[data-product=completion] .cmp-status--end{background:#f3f4f6;color:#9ca3af}[data-product=completion] .cmp-period-opts{display:flex;flex-direction:column;gap:6px;margin-top:10px}[data-product=completion] .cmp-period-opt{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:8px;border:1.5px solid #e5e3df;font-size:12px;color:#374151}[data-product=completion] .cmp-period-opt.is-selected{border-color:#4b35e0;background:#ebe8fd;color:#4b35e0;font-weight:600}[data-product=completion] .cmp-period-opt__dot{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;flex-shrink:0;display:flex;align-items:center;justify-content:center}[data-product=completion] .cmp-period-opt.is-selected .cmp-period-opt__dot::after{content:"";width:6px;height:6px;border-radius:50%;background:#4b35e0;display:block}[data-product=completion] .cmp-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:var(--tc-max-w,1180px);margin:0 auto;padding:0 20px}[data-product=completion] .cmp-value-card{background:#fff;border:1px solid var(--tc-border,#E5E3DF);border-radius:16px;padding:28px 24px}[data-product=completion] .cmp-value-card__icon{width:40px;height:40px;background:var(--mock-accent-subtle,#EBE8FD);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:14px}[data-product=completion] .cmp-value-card__icon svg{width:20px;height:20px}[data-product=completion] .cmp-value-card h4,[data-product=completion] .cmp-value-card h3{font-size:17px;font-weight:600;color:var(--tc-navy,#1a1a2e);margin:0 0 8px;line-height:1.3}[data-product=completion] .cmp-value-card p{font-size:14px;color:var(--tc-text-sub,#555);line-height:1.6;margin:0}@media (max-width:960px){[data-product=completion] .cmp-value-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){[data-product=completion] .cmp-value-grid{grid-template-columns:1fr}[data-product=completion] .cmp-stat-row{grid-template-columns:repeat(3,1fr)}}[data-product=completion] .cmp-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=completion] .cmp-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=completion] .cmp-mock{padding:16px}[data-product=completion] .cmp-mock>:first-child{margin:-16px -16px 6px}}[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=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}}
