@font-face{font-family:'Manrope';src:url('/assets/fonts/manrope-subset.woff2') format('woff2');font-weight:200 800;font-display:swap;unicode-range:U+0020-007F,U+0400-04FF,U+0500-052F,U+2000-206F,U+20A0-20CF,U+2116;}:root{--font-main:'Manrope',system-ui,-apple-system,sans-serif;--color-primary:#0d6efd;--color-primary-hover:#0b5ed7;--color-accent:#ffc107;--color-bg:#ffffff;--color-bg-secondary:#f8f9fa;--color-bg-tertiary:#e9ecef;--color-text:#212529;--color-text-muted:#545b62;--color-border:#dee2e6;--color-code-bg:#f1f3f5;--shadow-sm:0 .125rem .25rem rgba(0,0,0,.075);--shadow-md:0 .5rem 1rem rgba(0,0,0,.1);--radius:.5rem;--transition:.2s ease;--content-max:720px;--navbar-height:56px;}[data-bs-theme="dark"]{--color-bg:#1a1a2e;--color-bg-secondary:#16213e;--color-bg-tertiary:#0f3460;--color-text:#e0e0e0;--color-text-muted:#adb5bd;--color-border:#2d3748;--color-code-bg:#2d3748;--shadow-sm:0 .125rem .25rem rgba(0,0,0,.3);--shadow-md:0 .5rem 1rem rgba(0,0,0,.4);}body.public-page{font-family:var(--font-main);background:var(--color-bg);color:var(--color-text);transition:background var(--transition),color var(--transition);line-height:1.8;font-size:1.1rem;}.reading-progress{position:fixed;top:0;left:0;height:3px;z-index:1050;background:var(--color-primary);width:0;transition:width .1s linear;}.public-navbar{background:var(--color-bg);border-bottom:1px solid var(--color-border);height:var(--navbar-height);transition:background var(--transition);}.public-navbar .navbar-brand{font-weight:700;color:var(--color-text);text-decoration:none;}.public-navbar .nav-link{color:var(--color-text-muted);font-weight:500;font-size:0.95rem;transition:color var(--transition);}.public-navbar .nav-link:hover,.public-navbar .nav-link.active{color:var(--color-primary);}.theme-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius);padding:.25rem .5rem;cursor:pointer;color:var(--color-text);font-size:1rem;transition:background var(--transition),color var(--transition),border-color var(--transition);}.theme-toggle:hover{background:var(--color-bg-tertiary);}.cms-breadcrumb{font-size:.85rem;margin-bottom:1.5rem;color:var(--color-text-muted);}.cms-breadcrumb a{color:var(--color-text-muted);text-decoration:none;}.cms-breadcrumb a:hover{color:var(--color-primary);}.cms-content{max-width:var(--content-max);margin:0 auto;}.cms-content h2{margin-top:2.5rem;margin-bottom:1rem;font-weight:700;}.cms-content h3{margin-top:2rem;margin-bottom:.75rem;font-weight:600;}.cms-content img{max-width:100%;height:auto;border-radius:var(--radius);margin:1.5rem 0;}.cms-content blockquote{border-left:4px solid var(--color-primary);padding-left:1rem;color:var(--color-text-muted);margin:1.5rem 0;font-style:italic;}.cms-content code{background:var(--color-code-bg);padding:.15em .4em;border-radius:.25rem;font-size:.9em;}.cms-content pre{background:var(--color-code-bg);padding:1rem;border-radius:var(--radius);overflow-x:auto;position:relative;}.cms-content pre code{background:none;padding:0;}.cms-content table{width:100%;border-collapse:collapse;margin:1.5rem 0;}.cms-content th,.cms-content td{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left;}.cms-content th{background:var(--color-bg-secondary);font-weight:600;}.copy-btn{position:absolute;top:.5rem;right:.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:.25rem;padding:.2rem .5rem;cursor:pointer;font-size:.8rem;opacity:0;transition:opacity var(--transition);}.cms-content pre:hover .copy-btn{opacity:1;}.toc-sidebar{position:sticky;top:calc(var(--navbar-height) + 1rem);max-height:calc(100vh - var(--navbar-height) - 2rem);overflow-y:auto;font-size:.85rem;padding-right:1rem;}.toc-sidebar a{display:block;padding:.25rem 0;color:var(--color-text-muted);text-decoration:none;border-left:2px solid transparent;padding-left:.75rem;transition:color var(--transition),border-left-color var(--transition);}.toc-sidebar a:hover,.toc-sidebar a.active{color:var(--color-primary);border-left-color:var(--color-primary);}.toc-sidebar a.toc-h3{padding-left:1.5rem;font-size:.8rem;}.author-card{display:flex;gap:1rem;align-items:center;padding:1.5rem;background:var(--color-bg-secondary);border-radius:var(--radius);margin-top:2rem;}.author-card img{width:64px;height:64px;border-radius:50%;object-fit:cover;}.author-card .author-info h4{margin:0 0 .25rem;font-size:1rem;font-weight:600;}.author-card .author-info p{margin:0;font-size:.85rem;color:var(--color-text-muted);}.inline-cta{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;margin:2rem 0;text-align:center;}.inline-cta h4{margin:0 0 .5rem;font-weight:600;}.inline-cta p{margin:0 0 1rem;color:var(--color-text-muted);font-size:.95rem;}.related-posts{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--color-border);}.related-posts h3{font-size:1.25rem;margin-bottom:1rem;}.related-card{display:block;padding:1rem;border-radius:var(--radius);text-decoration:none;color:var(--color-text);transition:background var(--transition);border:1px solid var(--color-border);}.related-card:hover{background:var(--color-bg-secondary);}.related-card h5{margin:0 0 .25rem;font-size:.95rem;font-weight:600;}.related-card small{color:var(--color-text-muted);}.social-proof{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem 1.5rem;display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;font-size:.9rem;font-weight:500;margin:2rem 0;}.back-to-top{position:fixed;bottom:2rem;left:2rem;width:44px;height:44px;border-radius:50%;background:var(--color-bg-tertiary);color:var(--color-text);border:1px solid var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition),transform var(--transition);z-index:1040;box-shadow:var(--shadow-md);}.back-to-top.visible{opacity:1;pointer-events:auto;}.back-to-top:hover{background:var(--color-primary-hover);transform:translateY(-2px);}.highlight-popup{position:absolute;z-index:1060;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem;box-shadow:var(--shadow-md);display:none;gap:.25rem;}.highlight-popup button{background:none;border:none;padding:.35rem .6rem;cursor:pointer;border-radius:.25rem;font-size:.85rem;color:var(--color-text);transition:background var(--transition);}.highlight-popup button:hover{background:var(--color-bg-tertiary);}.fade-in-section{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}.fade-in-section.visible{opacity:1;transform:translateY(0);}.updated-badge{display:inline-block;background:var(--color-accent);color:#212529;font-size:.75rem;font-weight:600;padding:.15rem .5rem;border-radius:1rem;margin-left:.5rem;}.public-footer{background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:2rem 0;margin-top:3rem;font-size:.85rem;color:var(--color-text-muted);}.public-footer a{color:var(--color-text-muted);text-decoration:none;}.public-footer a:hover{color:var(--color-primary);}@media print{.public-navbar,.reading-progress,.back-to-top,.highlight-popup,.toc-sidebar,.inline-cta,.related-posts,.social-proof,.theme-toggle,.back-to-top{display:none !important;}body.public-page{font-size:12pt;color:#000;background:#fff;}.cms-content{max-width:100%;}.cms-content a{color:#000;text-decoration:underline;}.cms-content a[href]:after{content:" (" attr(href) ")";font-size:.8em;}.public-footer{border-top:1px solid #ccc;}}@media (max-width:991px){.toc-sidebar{display:none;}.toc-mobile-toggle{display:block;margin-bottom:1rem;}}@media (min-width:992px){.toc-mobile-toggle{display:none;}}@media (max-width:576px){.social-proof{flex-direction:column;gap:.5rem;text-align:center;}.author-card{flex-direction:column;text-align:center;}}.cta-block{background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border:1px solid var(--color-border);border-radius:var(--radius);padding:2.5rem;margin:3rem 0;text-align:center;position:relative;overflow:hidden;}.cta-block::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(13,110,253,.05) 0%,transparent 70%);pointer-events:none;}.cta-block h3{font-weight:700;margin-bottom:.75rem;font-size:1.5rem;}.cta-block p{color:var(--color-text-muted);margin-bottom:1.5rem;font-size:1.05rem;max-width:600px;margin-left:auto;margin-right:auto;}.cta-block .btn-group-cta{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;}.cta-block .btn-cta-primary{background:var(--color-primary);color:#fff;border:none;padding:.75rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1rem;text-decoration:none;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);}.cta-block .btn-cta-primary:hover{background:var(--color-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-md);color:#fff;}.cta-block .btn-cta-secondary{background:transparent;color:var(--color-text);border:1px solid var(--color-border);padding:.75rem 2rem;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;transition:background var(--transition),border-color var(--transition);}.cta-block .btn-cta-secondary:hover{background:var(--color-bg-tertiary);border-color:var(--color-text-muted);}.contact-modal .modal-content{border:none;border-radius:var(--radius);}.contact-modal .form-control:focus,.contact-modal .form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 .2rem rgba(13,110,253,.15);}.public-footer li a{display:inline-block;padding:4px 0;min-height:24px;line-height:1.5;}.public-footer li{margin-bottom:2px;}.text-success-hc{color:#0a3622;}.text-warning-hc{color:#664d03;}.text-primary-hc{color:#084298;}.text-danger-hc{color:#58151c;}[data-bs-theme="dark"] .text-success-hc{color:#75b798;}[data-bs-theme="dark"] .text-warning-hc{color:#ffda6a;}[data-bs-theme="dark"] .text-primary-hc{color:#6ea8fe;}[data-bs-theme="dark"] .text-danger-hc{color:#ea868f;}.bg-body-secondary .btn-outline-primary,section.bg-body-secondary .btn-outline-primary{color:#084298;border-color:#084298;}.bg-body-secondary .btn-outline-primary:hover,section.bg-body-secondary .btn-outline-primary:hover{background-color:#084298;border-color:#084298;color:#fff;}