:root {
    --cp-primary: #6366f1;
    --cp-primary-dark: #4f46e5;
    --cp-secondary: #ec4899;
    --cp-dark: #0f172a;
    --cp-light: #f8fafc;
    --cp-gradient: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #ec4899 100%);
    --cp-gradient-soft: linear-gradient(135deg, rgba(99,102,241,.08) 0%, rgba(139,92,246,.08) 50%, rgba(236,72,153,.08) 100%);
    --cp-shadow: 0 20px 60px rgba(99,102,241,.15);
    --cp-radius: 24px;
    --cp-radius-sm: 16px;
    --cp-font-heading: 'Manrope','Inter',sans-serif;
    --cp-font-body: 'Manrope','Inter',sans-serif;
}
body { font-family: var(--cp-font-body); -webkit-font-smoothing: antialiased; }
h1,h2,h3,h4,h5,h6,.cp-hero h1,.cp-section-title,.cp-basic-features-title,.cp-cta-title,.cp-quote-text,.cp-card-title,.cp-feature-title,.cp-pricing-name,.cp-pricing-amount,.cp-float-badge-text,.cp-stat-value { font-family: var(--cp-font-heading); }

/* HERO */
.cp-hero { position: relative; background: var(--cp-light); padding: 8rem 0 6rem; overflow: hidden; }
.cp-hero::before { content:''; position:absolute; top:-20%; right:-10%; width:600px; height:600px; background:var(--cp-gradient); border-radius:50%; opacity:.08; filter:blur(80px); animation:cp-float 8s ease-in-out infinite; }
.cp-hero::after { content:''; position:absolute; bottom:-30%; left:-10%; width:500px; height:500px; background:var(--cp-secondary); border-radius:50%; opacity:.06; filter:blur(80px); animation:cp-float 10s ease-in-out infinite reverse; }
@keyframes cp-float { 0%,100%{transform:translate(0,0) scale(1)} 50%{transform:translate(30px,-30px) scale(1.05)} }
.cp-hero-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1.25rem; background:rgba(99,102,241,.1); border:1px solid rgba(99,102,241,.2); border-radius:50rem; color:var(--cp-primary-dark); font-size:.875rem; font-weight:600; margin-bottom:1.5rem; }
.cp-hero-badge .cp-pulse { width:8px; height:8px; background:var(--cp-primary); border-radius:50%; animation:cp-pulse 2s ease-in-out infinite; }
@keyframes cp-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(99,102,241,.4)} 50%{box-shadow:0 0 0 8px rgba(99,102,241,0)} }
.cp-hero h1 { font-size:clamp(2.5rem,5vw,4rem); font-weight:800; line-height:1.1; color:var(--cp-dark); margin-bottom:1.5rem; letter-spacing:-.02em; }
.cp-hero h1 .cp-gradient-text { background:var(--cp-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.cp-hero .cp-lead { font-size:1.25rem; color:#64748b; line-height:1.7; margin-bottom:2.5rem; max-width:540px; }
.cp-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3rem; }
.cp-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.875rem 2rem; border-radius:50rem; font-weight:600; font-size:1rem; text-decoration:none; transition:all .3s cubic-bezier(.4,0,.2,1); border:none; cursor:pointer; }
.cp-btn-primary { background:var(--cp-gradient); color:#fff; box-shadow:0 10px 30px rgba(99,102,241,.3); }
.cp-btn-primary:hover { transform:translateY(-2px); box-shadow:0 15px 40px rgba(99,102,241,.4); color:#fff; }
.cp-btn-outline { background:transparent; color:var(--cp-dark); border:2px solid #e2e8f0; }
.cp-btn-outline:hover { border-color:var(--cp-primary); color:var(--cp-primary); transform:translateY(-2px); }
.cp-social-icons { display:flex; gap:1rem; flex-wrap:wrap; }
.cp-social-icon { width:56px; height:56px; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:var(--cp-radius-sm); box-shadow:0 4px 20px rgba(0,0,0,.06); transition:all .3s ease; border:1px solid #f1f5f9; }
.cp-social-icon:hover { transform:translateY(-4px) scale(1.05); box-shadow:0 10px 30px rgba(99,102,241,.15); }
.cp-social-icon img { width:32px; height:32px; object-fit:contain; }
.cp-hero-visual { position:relative; display:flex; justify-content:center; align-items:center; }
.cp-hero-card { position:relative; background:#fff; border-radius:var(--cp-radius); padding:2rem; box-shadow:var(--cp-shadow); max-width:420px; width:100%; border:1px solid rgba(255,255,255,.8); animation:cp-card-float 6s ease-in-out infinite; }
@keyframes cp-card-float { 0%,100%{transform:translateY(0) rotate(0)} 50%{transform:translateY(-15px) rotate(1deg)} }
.cp-hero-card::before { content:''; position:absolute; top:-2px; left:-2px; right:-2px; bottom:-2px; background:var(--cp-gradient); border-radius:calc(var(--cp-radius)+2px); z-index:-1; opacity:.3; filter:blur(20px); }
.cp-card-header { display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem; }
.cp-card-title { font-weight:700; color:var(--cp-dark); font-size:1.125rem; }
.cp-card-status { display:inline-flex; align-items:center; gap:.375rem; padding:.25rem .75rem; background:#ecfdf5; color:#059669; border-radius:50rem; font-size:.75rem; font-weight:600; }
.cp-card-status::before { content:''; width:6px; height:6px; background:#10b981; border-radius:50%; }
.cp-post-preview { background:var(--cp-gradient-soft); border-radius:var(--cp-radius-sm); padding:1.25rem; margin-bottom:1.5rem; }
.cp-post-preview-title { font-weight:600; color:var(--cp-dark); margin-bottom:.5rem; font-size:.95rem; }
.cp-post-preview-text { color:#64748b; font-size:.875rem; line-height:1.6; margin-bottom:1rem; }
.cp-post-preview-img { width:100%; height:140px; object-fit:cover; border-radius:12px; margin-bottom:1rem; }
.cp-platforms { display:flex; gap:.75rem; flex-wrap:wrap; }
.cp-platform { display:inline-flex; align-items:center; gap:.375rem; padding:.375rem .875rem; background:#fff; border-radius:50rem; font-size:.75rem; font-weight:600; color:var(--cp-dark); border:1px solid #e2e8f0; transition:all .3s ease; }
.cp-platform:hover { border-color:var(--cp-primary); color:var(--cp-primary); transform:translateY(-2px); }
.cp-platform img { width:16px; height:16px; object-fit:contain; }
.cp-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:1.25rem; border-top:1px solid #f1f5f9; }
.cp-card-stats { display:flex; gap:1.5rem; }
.cp-stat { text-align:center; }
.cp-stat-value { font-weight:700; color:var(--cp-dark); font-size:1.125rem; }
.cp-stat-label { font-size:.75rem; color:#94a3b8; }
.cp-float-badge { position:absolute; background:#fff; border-radius:var(--cp-radius-sm); padding:.75rem 1.25rem; box-shadow:var(--cp-shadow); display:flex; align-items:center; gap:.75rem; animation:cp-card-float 5s ease-in-out infinite; z-index:2; }
.cp-float-badge-1 { top:-20px; left:-30px; animation-delay:1s; }
.cp-float-badge-2 { bottom:-20px; right:-30px; animation-delay:2s; }
.cp-float-badge-icon { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.cp-float-badge-icon-success { background:#ecfdf5; color:#10b981; }
.cp-float-badge-icon-primary { background:#eef2ff; color:var(--cp-primary); }
.cp-float-badge-text { font-size:.875rem; font-weight:600; color:var(--cp-dark); }
.cp-float-badge-sub { font-size:.75rem; color:#94a3b8; }

/* QUOTE */
.cp-quote { background:var(--cp-gradient); padding:5rem 0; position:relative; overflow:hidden; }
.cp-quote::before { content:''; position:absolute; top:-50%; left:-10%; width:400px; height:400px; background:rgba(255,255,255,.1); border-radius:50%; filter:blur(60px); }
.cp-quote::after { content:''; position:absolute; bottom:-50%; right:-10%; width:400px; height:400px; background:rgba(255,255,255,.1); border-radius:50%; filter:blur(60px); }
.cp-quote-content { position:relative; z-index:1; text-align:center; max-width:800px; margin:0 auto; }
.cp-quote-icon { font-size:3rem; color:rgba(255,255,255,.3); margin-bottom:1.5rem; }
.cp-quote-text { font-size:clamp(1.5rem,3vw,2.25rem); font-weight:700; color:#fff; line-height:1.4; margin-bottom:1.5rem; }
.cp-quote-author { color:rgba(255,255,255,.8); font-size:1rem; font-weight:500; }

/* FEATURES */
.cp-features { padding:6rem 0; background:#fff; }
.cp-section-header { text-align:center; margin-bottom:4rem; }
.cp-section-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.375rem 1rem; background:var(--cp-gradient-soft); border-radius:50rem; color:var(--cp-primary-dark); font-size:.875rem; font-weight:600; margin-bottom:1rem; }
.cp-section-title { font-size:clamp(2rem,4vw,3rem); font-weight:800; color:var(--cp-dark); margin-bottom:1rem; letter-spacing:-.02em; }
.cp-section-subtitle { color:#64748b; font-size:1.125rem; max-width:600px; margin:0 auto; }
.cp-feature-card { background:#fff; border-radius:var(--cp-radius); padding:2.5rem 2rem; text-align:center; border:1px solid #f1f5f9; transition:all .4s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden; height:100%; }
.cp-feature-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--cp-gradient); transform:scaleX(0); transition:transform .4s ease; transform-origin:left; }
.cp-feature-card:hover { transform:translateY(-8px); box-shadow:var(--cp-shadow); border-color:transparent; }
.cp-feature-card:hover::before { transform:scaleX(1); }
.cp-feature-icon { width:80px; height:80px; border-radius:24px; background:var(--cp-gradient-soft); display:flex; align-items:center; justify-content:center; margin:0 auto 1.5rem; font-size:2rem; transition:all .4s ease; }
.cp-feature-card:hover .cp-feature-icon { background:var(--cp-gradient); transform:scale(1.1) rotate(-5deg); box-shadow:0 10px 30px rgba(99,102,241,.3); }
.cp-feature-card:hover .cp-feature-icon i { color:#fff !important; }
.cp-feature-title { font-size:1.25rem; font-weight:700; color:var(--cp-dark); margin-bottom:.75rem; }
.cp-feature-text { color:#64748b; font-size:.95rem; line-height:1.6; }

/* BASIC FEATURES */
.cp-basic-features { padding:6rem 0; background:var(--cp-light); position:relative; overflow:hidden; }
.cp-basic-features::before { content:''; position:absolute; top:-20%; right:-10%; width:400px; height:400px; background:var(--cp-gradient); border-radius:50%; opacity:.05; filter:blur(60px); }
.cp-basic-features-content { position:relative; z-index:1; }
.cp-basic-features-title { font-size:clamp(2rem,4vw,2.75rem); font-weight:800; color:var(--cp-dark); margin-bottom:1.5rem; letter-spacing:-.02em; }
.cp-basic-features-title .cp-gradient-text { background:var(--cp-gradient); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.cp-basic-features-text { color:#64748b; font-size:1.125rem; line-height:1.7; margin-bottom:2rem; }
.cp-checklist { list-style:none; padding:0; margin:0 0 2rem; }
.cp-checklist li { display:flex; align-items:center; gap:.75rem; padding:.75rem 0; color:var(--cp-dark); font-weight:500; }
.cp-checklist-icon { width:28px; height:28px; border-radius:50%; background:#ecfdf5; color:#10b981; display:flex; align-items:center; justify-content:center; font-size:.875rem; flex-shrink:0; }
.cp-basic-features-img { border-radius:var(--cp-radius); box-shadow:0 30px 80px rgba(99,102,241,.2); position:relative; z-index:1; transition:transform .4s ease; }
.cp-basic-features-img:hover { transform:scale(1.02) rotate(-1deg); }

/* PLATFORMS */
.cp-platforms-section { padding:6rem 0; background:#fff; }
.cp-platform-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:1.5rem; }
.cp-platform-card { background:#fff; border-radius:var(--cp-radius-sm); padding:1.5rem; text-align:center; border:1px solid #f1f5f9; transition:all .4s cubic-bezier(.4,0,.2,1); }
.cp-platform-card:hover { transform:translateY(-6px); box-shadow:var(--cp-shadow); border-color:transparent; }
.cp-platform-card-icon { width:64px; height:64px; border-radius:18px; background:var(--cp-gradient-soft); display:flex; align-items:center; justify-content:center; margin:0 auto 1rem; font-size:1.75rem; transition:all .4s ease; }
.cp-platform-card:hover .cp-platform-card-icon { background:var(--cp-gradient); transform:scale(1.1); }
.cp-platform-card:hover .cp-platform-card-icon i { color:#fff !important; }
.cp-platform-card-name { font-weight:600; color:var(--cp-dark); font-size:1rem; }
.cp-platform-note { text-align:center; color:#94a3b8; font-size:.875rem; margin-top:2rem; font-style:italic; }

/* DETAILED FEATURES */
.cp-detail-features { padding:6rem 0; background:var(--cp-light); }
.cp-detail-feature { padding:3rem 0; border-bottom:1px solid #e2e8f0; }
.cp-detail-feature:last-child { border-bottom:none; }
.cp-detail-feature-icon { width:72px; height:72px; border-radius:20px; background:var(--cp-gradient); display:flex; align-items:center; justify-content:center; color:#fff; font-size:1.75rem; margin-bottom:1.5rem; box-shadow:0 10px 30px rgba(99,102,241,.3); }
.cp-detail-feature-title { font-size:1.75rem; font-weight:700; color:var(--cp-dark); margin-bottom:1rem; letter-spacing:-.01em; }
.cp-detail-feature-text { color:#64748b; font-size:1.0625rem; line-height:1.7; margin-bottom:1.5rem; }
.cp-detail-list { list-style:none; padding:0; margin:0; }
.cp-detail-list li { display:flex; align-items:flex-start; gap:.75rem; padding:.5rem 0; color:var(--cp-dark); font-size:.95rem; }
.cp-detail-list li i { color:var(--cp-primary); margin-top:.25rem; flex-shrink:0; }

/* API */
.cp-api { padding:6rem 0; background:var(--cp-dark); color:#fff; position:relative; overflow:hidden; }
.cp-api::before { content:''; position:absolute; top:-30%; right:-10%; width:500px; height:500px; background:var(--cp-gradient); border-radius:50%; opacity:.15; filter:blur(80px); }
.cp-api-content { position:relative; z-index:1; }
.cp-api .cp-section-badge { background:rgba(255,255,255,.1); color:#a5b4fc; border:1px solid rgba(255,255,255,.1); }
.cp-api .cp-section-title { color:#fff; }
.cp-api .cp-section-subtitle { color:rgba(255,255,255,.7); }
.cp-api-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--cp-radius); padding:2rem; height:100%; transition:all .4s ease; }
.cp-api-card:hover { background:rgba(255,255,255,.1); transform:translateY(-4px); border-color:rgba(165,180,252,.3); }
.cp-api-card-icon { width:56px; height:56px; border-radius:16px; background:var(--cp-gradient); display:flex; align-items:center; justify-content:center; font-size:1.5rem; color:#fff; margin-bottom:1.25rem; }
.cp-api-card-title { font-weight:700; font-size:1.125rem; margin-bottom:.75rem; color:#fff; }
.cp-api-card-text { color:rgba(255,255,255,.7); font-size:.95rem; line-height:1.6; }
.cp-api-features { list-style:none; padding:0; margin:2rem 0 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:1rem; }
.cp-api-features li { display:flex; align-items:center; gap:.75rem; padding:.75rem 1rem; background:rgba(255,255,255,.05); border-radius:12px; color:rgba(255,255,255,.85); font-size:.95rem; border:1px solid rgba(255,255,255,.08); }
.cp-api-features li i { color:#a5b4fc; flex-shrink:0; }
.cp-api-tech { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.cp-api-tech-badge { display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1.25rem; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:50rem; color:rgba(255,255,255,.9); font-size:.875rem; font-weight:500; }
.cp-api-tech-badge i { color:#a5b4fc; }

/* PRICING */
.cp-pricing { padding:6rem 0; background:#fff; }
.cp-pricing-card { background:#fff; border-radius:var(--cp-radius); padding:2.5rem 2rem; border:1px solid #f1f5f9; transition:all .4s cubic-bezier(.4,0,.2,1); position:relative; height:100%; display:flex; flex-direction:column; }
.cp-pricing-card:hover { transform:translateY(-8px); box-shadow:var(--cp-shadow); border-color:transparent; }
.cp-pricing-card-featured { background:var(--cp-dark); color:#fff; border:none; }
.cp-pricing-card-featured:hover { box-shadow:0 30px 80px rgba(15,23,42,.3); }
.cp-pricing-badge { position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--cp-gradient); color:#fff; padding:.375rem 1.25rem; border-radius:50rem; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; white-space:nowrap; }
.cp-pricing-name { font-size:1.25rem; font-weight:700; margin-bottom:.5rem; text-align:center; }
.cp-pricing-price { text-align:center; margin-bottom:2rem; }
.cp-pricing-amount { font-size:3rem; font-weight:800; letter-spacing:-.02em; }
.cp-pricing-period { font-size:1rem; color:#94a3b8; font-weight:400; }
.cp-pricing-card-featured .cp-pricing-period { color:rgba(255,255,255,.6); }
.cp-pricing-features { list-style:none; padding:0; margin:0 0 2rem; flex-grow:1; }
.cp-pricing-features li { display:flex; align-items:flex-start; gap:.75rem; padding:.625rem 0; font-size:.95rem; }
.cp-pricing-card-featured .cp-pricing-features li { color:rgba(255,255,255,.9); }
.cp-pricing-check { color:#10b981; flex-shrink:0; margin-top:.25rem; }
.cp-pricing-card-featured .cp-pricing-check { color:#34d399; }
.cp-pricing-btn { display:block; width:100%; text-align:center; padding:.875rem 1.5rem; border-radius:50rem; font-weight:600; text-decoration:none; transition:all .3s ease; border:2px solid var(--cp-primary); color:var(--cp-primary); background:transparent; }
.cp-pricing-btn:hover { background:var(--cp-primary); color:#fff; transform:translateY(-2px); box-shadow:0 10px 30px rgba(99,102,241,.3); }
.cp-pricing-card-featured .cp-pricing-btn { background:var(--cp-gradient); color:#fff; border:none; }
.cp-pricing-card-featured .cp-pricing-btn:hover { box-shadow:0 10px 30px rgba(99,102,241,.4); transform:translateY(-2px); }

/* CTA */
.cp-cta { background:var(--cp-gradient); padding:5rem 0; position:relative; overflow:hidden; }
.cp-cta::before { content:''; position:absolute; top:-50%; right:-10%; width:500px; height:500px; background:rgba(255,255,255,.1); border-radius:50%; filter:blur(60px); animation:cp-float 8s ease-in-out infinite; }
.cp-cta::after { content:''; position:absolute; bottom:-50%; left:-10%; width:400px; height:400px; background:rgba(255,255,255,.1); border-radius:50%; filter:blur(60px); animation:cp-float 10s ease-in-out infinite reverse; }
.cp-cta-content { position:relative; z-index:1; text-align:center; }
.cp-cta-title { font-size:clamp(1.75rem,4vw,2.75rem); font-weight:800; color:#fff; margin-bottom:1.5rem; letter-spacing:-.02em; }
.cp-cta-btn { display:inline-flex; align-items:center; gap:.5rem; padding:1rem 2.5rem; background:#fff; color:var(--cp-primary-dark); border-radius:50rem; font-weight:700; font-size:1.0625rem; text-decoration:none; box-shadow:0 10px 30px rgba(0,0,0,.15); transition:all .3s cubic-bezier(.4,0,.2,1); }
.cp-cta-btn:hover { transform:translateY(-3px) scale(1.02); box-shadow:0 15px 40px rgba(0,0,0,.2); color:var(--cp-primary-dark); }

/* TEXT CARDS (index) */
.cp-text-card { padding:0; overflow:hidden; text-align:left; }
.cp-text-card-link { display:flex; flex-direction:column; height:100%; text-decoration:none; color:inherit; }
.cp-text-card-link:hover { color:inherit; }
.cp-text-card-img-wrap { position:relative; overflow:hidden; aspect-ratio:16/9; }
.cp-text-card-img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.cp-text-card:hover .cp-text-card-img { transform:scale(1.08); }
.cp-text-card-body { padding:1.75rem; display:flex; flex-direction:column; flex-grow:1; }
.cp-text-card-title { font-size:1.25rem; font-weight:700; color:var(--cp-dark); margin-bottom:.75rem; line-height:1.4; transition:color .3s ease; }
.cp-text-card:hover .cp-text-card-title { color:var(--cp-primary); }
.cp-text-card-description { color:#64748b; font-size:.95rem; line-height:1.6; margin-bottom:1.5rem; flex-grow:1; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.cp-text-card-footer { display:flex; align-items:center; justify-content:space-between; padding-top:1rem; border-top:1px solid #f1f5f9; }
.cp-text-card-date { display:inline-flex; align-items:center; gap:.5rem; color:#94a3b8; font-size:.875rem; }
.cp-text-card-more { display:inline-flex; align-items:center; gap:.375rem; color:var(--cp-primary); font-weight:600; font-size:.875rem; transition:gap .3s ease; }
.cp-text-card:hover .cp-text-card-more { gap:.75rem; }

/* TEXT DETAIL (id) */
.cp-text-book-link { display:inline-flex; align-items:center; color:var(--cp-primary); font-weight:600; text-decoration:none; transition:color .3s ease; }
.cp-text-book-link:hover { color:var(--cp-primary-dark); }
.cp-share-block { display:flex; flex-direction:column; align-items:center; gap:1rem; margin-top:2rem; }
.cp-share-label { font-size:.875rem; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.05em; }
.cp-text-content-section { padding:5rem 0; background:#fff; }
.cp-text-content { font-size:1.0625rem; line-height:1.8; color:#334155; }
.cp-text-content h1, .cp-text-content h2, .cp-text-content h3, .cp-text-content h4, .cp-text-content h5, .cp-text-content h6 { font-family:var(--cp-font-heading); color:var(--cp-dark); font-weight:700; margin-top:2rem; margin-bottom:1rem; letter-spacing:-.01em; }
.cp-text-content h1 { font-size:2rem; }
.cp-text-content h2 { font-size:1.75rem; }
.cp-text-content h3 { font-size:1.5rem; }
.cp-text-content h4 { font-size:1.25rem; }
.cp-text-content p { margin-bottom:1.5rem; }
.cp-text-content a { color:var(--cp-primary); text-decoration:none; transition:color .3s ease; }
.cp-text-content a:hover { color:var(--cp-primary-dark); text-decoration:underline; }
.cp-text-content img { max-width:100%; height:auto; border-radius:var(--cp-radius-sm); margin:1.5rem 0; box-shadow:0 10px 30px rgba(0,0,0,.08); }
.cp-text-content blockquote { border-left:4px solid var(--cp-primary); background:var(--cp-gradient-soft); padding:1.25rem 1.5rem; border-radius:0 var(--cp-radius-sm) var(--cp-radius-sm) 0; margin:1.5rem 0; font-style:italic; color:#475569; }
.cp-text-content ul, .cp-text-content ol { margin-bottom:1.5rem; padding-left:1.5rem; }
.cp-text-content li { margin-bottom:.5rem; }
.cp-text-content code { background:var(--cp-gradient-soft); color:var(--cp-primary-dark); padding:.2rem .5rem; border-radius:6px; font-size:.9em; }
.cp-text-content pre { background:var(--cp-dark); color:#e2e8f0; padding:1.5rem; border-radius:var(--cp-radius-sm); overflow-x:auto; margin:1.5rem 0; }
.cp-text-content pre code { background:transparent; color:inherit; padding:0; }
.cp-text-content table { width:100%; margin:1.5rem 0; border-collapse:collapse; }
.cp-text-content table th, .cp-text-content table td { padding:.75rem 1rem; border:1px solid #e2e8f0; text-align:left; }
.cp-text-content table th { background:var(--cp-light); font-weight:600; color:var(--cp-dark); }

/* TEXT NAVIGATION */
.cp-text-nav { margin-top:3rem; padding-top:2rem; border-top:1px solid #e2e8f0; }
.cp-text-nav-link { display:flex; align-items:center; gap:1rem; padding:1.25rem; border-radius:var(--cp-radius-sm); border:1px solid #f1f5f9; text-decoration:none; transition:all .3s ease; height:100%; }
.cp-text-nav-link:hover { border-color:var(--cp-primary); box-shadow:var(--cp-shadow); transform:translateY(-2px); text-decoration:none; }
.cp-text-nav-prev { justify-content:flex-start; }
.cp-text-nav-next { justify-content:flex-end; text-align:right; }
.cp-text-nav-arrow { width:44px; height:44px; border-radius:12px; background:var(--cp-gradient-soft); color:var(--cp-primary); display:flex; align-items:center; justify-content:center; font-size:1.125rem; flex-shrink:0; transition:all .3s ease; }
.cp-text-nav-link:hover .cp-text-nav-arrow { background:var(--cp-gradient); color:#fff; }
.cp-text-nav-info { display:flex; flex-direction:column; gap:.25rem; min-width:0; }
.cp-text-nav-label { font-size:.75rem; color:#94a3b8; text-transform:uppercase; letter-spacing:.05em; font-weight:600; }
.cp-text-nav-title { font-size:.95rem; font-weight:600; color:var(--cp-dark); line-height:1.4; overflow:hidden; text-overflow:ellipsis; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }

/* TEXT TOC */
.cp-text-toc { position:sticky; top:2rem; background:#fff; border-radius:var(--cp-radius); border:1px solid #f1f5f9; overflow:hidden; box-shadow:0 4px 20px rgba(0,0,0,.04); }
.cp-text-toc-header { display:flex; align-items:center; gap:.75rem; padding:1.25rem 1.5rem; background:var(--cp-gradient-soft); color:var(--cp-primary-dark); font-weight:700; font-size:1rem; border-bottom:1px solid rgba(99,102,241,.1); }
.cp-text-toc-header i { font-size:1.125rem; }
.cp-text-toc-body { padding:1.25rem 1.5rem; }
.cp-text-toc-body ul { list-style:none; padding:0; margin:0; }
.cp-text-toc-body ul ul { padding-left:1.25rem; margin-top:.5rem; }
.cp-text-toc-body li { margin-bottom:.5rem; }
.cp-text-toc-body a { color:#475569; text-decoration:none; font-size:.95rem; line-height:1.5; transition:all .3s ease; display:inline-block; }
.cp-text-toc-body a:hover { color:var(--cp-primary); transform:translateX(4px); }
.cp-text-toc-body a.active { color:var(--cp-primary); font-weight:600; }
