body:not(.list){--main-width:1000px}.post-content .highlight,.post-content pre,.post-content .chroma{overflow-x:auto;-webkit-overflow-scrolling:touch}.post-content .lntable{width:auto}.post-content pre code{display:block;white-space:pre;word-break:normal;overflow-wrap:normal}.post-content .mermaid{max-width:100% !important;height:auto !important;overflow-x:auto;overflow-y:hidden;border:1px solid var(--border);border-radius:8px;margin:20px 0;padding:16px;background:var(--code-bg)}.post-content table{display:block;width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;border-collapse:collapse;margin:20px 0;border:1px solid var(--border);border-radius:8px}.post-content table thead{background:var(--theme)}.post-content table th,.post-content table td{padding:12px 16px;border:1px solid var(--border);text-align:left;min-width:140px}@media(max-width:768px){body:not(.list){--main-width:100%}.main{padding:0 16px}.post-content .mermaid{font-size:12px !important;min-height:300px;max-height:500px;overflow:auto;padding:12px;margin:16px 0}.post-content h1{font-size:1.8rem;line-height:1.3;margin:24px 0 16px}.post-content h2{font-size:1.5rem;line-height:1.4;margin:20px 0 12px}.post-content h3{font-size:1.3rem;line-height:1.4;margin:18px 0 10px}.post-content h4{font-size:1.1rem;line-height:1.4;margin:16px 0 8px}.post-content p{font-size:16px;line-height:1.6;margin-bottom:16px}.post-content ul,.post-content ol{font-size:16px;line-height:1.6;padding-left:20px;margin-bottom:16px;text-align:left !important}.post-content li{margin-bottom:8px;text-align:left !important}.post-content blockquote{margin:16px 0;padding:12px 16px;border-left:4px solid var(--primary);background:var(--code-bg);border-radius:0 8px 8px 0;font-size:15px;line-height:1.6}.post-content .highlight pre{font-size:12px;line-height:1.4;padding:12px;overflow-x:auto}.post-content table th,.post-content table td{padding:8px 12px;font-size:14px;min-width:120px}}@media(max-width:480px){.main{padding:0 12px}.post-content .mermaid{font-size:10px !important;min-height:250px;max-height:400px;padding:8px;margin:12px 0}.post-content h1{font-size:1.6rem}.post-content h2{font-size:1.3rem}.post-content h3{font-size:1.1rem}.post-content p,.post-content ul,.post-content ol{font-size:15px;text-align:left !important}.post-content table th,.post-content table td{padding:6px 8px;font-size:13px;min-width:100px}.post-content .highlight pre{font-size:11px;padding:10px}}@media(min-width:768px) and (max-width:1024px){.post-content .mermaid{font-size:14px !important;max-height:600px}}.complexity-basic{color:#28a745 !important;font-weight:600}.complexity-intermediate{color:#ffc107 !important;font-weight:600}.complexity-advanced{color:#dc3545 !important;font-weight:600}.post-content h2::before,.post-content h3::before{margin-right:8px;font-weight:400}.post-content .icon-concepts::before{content:"📚 "}.post-content .icon-architecture::before{content:"🏗️ "}.post-content .icon-components::before{content:"🧩 "}.post-content .icon-security::before{content:"🛡️ "}.post-content .icon-performance::before{content:"⚡ "}.post-content .icon-api::before{content:"🔌 "}.post-content .icon-database::before{content:"🗄️ "}.post-content .icon-deployment::before{content:"🚀 "}.post-content .icon-testing::before{content:"🧪 "}.post-content .icon-documentation::before{content:"📖 "}.post-content .icon-monitoring::before{content:"📊 "}.post-content .icon-configuration::before{content:"⚙️ "}.post-content .icon-conclusion::before{content:"✅ "}.post-content .icon-methodology::before{content:"🔬 "}.post-content .icon-examples::before{content:"💼 "}.post-content .icon-algorithms::before{content:"🧮 "}.post-content .icon-implementation::before{content:"⚙️ "}.post-content .icon-benefits::before{content:"🎯 "}.post-content .icon-risks::before{content:"⚠️ "}.post-content .icon-faq::before{content:"❓ "}.post-content blockquote::before{font-size:1.2em;margin-right:8px;vertical-align:middle}.post-content .tip::before{content:"💡"}.post-content .important::before{content:"⚠️"}.post-content .note::before{content:"📝"}.post-content .warning::before{content:"🚨"}.custom-toc{background:var(--code-bg);border:2px solid var(--border);border-radius:12px;margin:20px 0 30px;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease}.custom-toc:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);border-color:var(--primary)}.custom-toc details{border:none;outline:none}.custom-toc summary{list-style:none;padding:16px 20px;cursor:pointer;border-radius:10px 10px 0 0;background:var(--theme);border-bottom:1px solid var(--border);font-weight:600;font-size:1.1em;display:flex;justify-content:space-between;align-items:center;transition:all .2s ease}.custom-toc summary:hover{background:var(--primary);color:#fff}.custom-toc summary::-webkit-details-marker{display:none}.toc-toggle{font-size:.8em;transition:transform .2s ease}.custom-toc[open] .toc-toggle{transform:rotate(0)}.toc-nav{padding:16px 20px}.toc-list{list-style:none;margin:0;padding:0}.toc-list li{margin:0;padding:0}.toc-link{display:block;padding:6px 0;text-decoration:none;color:var(--content);transition:all .2s ease;border-left:3px solid transparent;padding-left:12px;font-size:.95em;line-height:1.4}.toc-link:hover{color:var(--primary);border-left-color:var(--primary);background:rgba(var(--primary-rgb,0,123,255),.05);border-radius:0 4px 4px 0}.toc-link.active{color:var(--primary);border-left-color:var(--primary);background:rgba(var(--primary-rgb,0,123,255),.1);border-radius:0 4px 4px 0;font-weight:600}.toc-level-2 .toc-link{padding-left:12px;font-weight:600}.toc-level-3 .toc-link{padding-left:24px;font-size:.9em;color:var(--secondary)}.toc-level-4 .toc-link{padding-left:36px;font-size:.85em;color:var(--secondary)}.toc-nested{list-style:none;margin:4px 0;padding:0}.toc-nested li{margin:0}@media(max-width:768px){.custom-toc{margin:16px 0 24px}.custom-toc summary{padding:12px 16px;font-size:1em}.toc-nav{padding:12px 16px}.toc-link{font-size:.9em;padding:4px 0}.toc-level-3 .toc-link{padding-left:20px}.toc-level-4 .toc-link{padding-left:28px}}@media(max-width:480px){.custom-toc summary{padding:10px 12px;font-size:.95em}.toc-nav{padding:10px 12px}.toc-link{font-size:.85em}}.reading-progress{position:fixed;top:0;left:0;width:100%;height:4px;background:rgba(0,0,0,.1);z-index:1000;transition:opacity .2s ease}.reading-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-dark,#0056b3));transition:width .1s ease;border-radius:0 2px 2px 0}.scroll-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background:var(--primary);color:#fff;border:none;border-radius:50%;font-size:20px;font-weight:700;cursor:pointer;z-index:1000;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.15)}.scroll-to-top:hover{background:var(--primary-dark,#0056b3);transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.2)}.scroll-to-top:active{transform:translateY(0)}.anchor-link{font-size:.8em;opacity:0;transition:opacity .2s ease;text-decoration:none !important}.anchor-link:hover{opacity:1 !important}@media(max-width:768px){.scroll-to-top{bottom:20px;right:20px;width:45px;height:45px;font-size:18px}.reading-progress{height:3px}}@media(max-width:480px){.scroll-to-top{bottom:15px;right:15px;width:40px;height:40px;font-size:16px}}.post-content img{max-width:100%;height:auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease;loading:lazy}.post-content img:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);transform:scale(1.02)}.post-content img[src*=large]{background:linear-gradient(45deg,#f0f0f0,#e0e0e0);background-size:20px 20px;background-image:linear-gradient(45deg,rgba(255,255,255,.1) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.1) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.1) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.1) 75%)}@media(max-width:768px){.post-content img{margin:16px 0}}@media(max-width:480px){.post-content img{margin:12px 0;border-radius:6px}}.post-content .mermaid{background:var(--code-bg);border:2px solid var(--border);border-radius:12px;margin:24px 0;padding:20px;position:relative;overflow:auto;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:all .3s ease}.post-content .mermaid:hover{box-shadow:0 4px 16px rgba(0,0,0,.15);border-color:var(--primary)}.post-content .mermaid:not(.mermaid-loaded){opacity:.7;transform:translateY(10px)}.post-content .mermaid.mermaid-loaded{opacity:1;transform:translateY(0);transition:all .4s ease}.post-content table{box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s ease}.post-content table:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}.post-content .highlight{border-radius:8px;margin:20px 0;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:box-shadow .3s ease}.post-content .highlight:hover{box-shadow:0 4px 16px rgba(0,0,0,.15)}.post-content h1,.post-content h2,.post-content h3,.post-content h4,.post-content h5,.post-content h6{letter-spacing:-.02em;font-weight:700;color:var(--primary)}.post-content h1{font-size:2.5rem;line-height:1.2;margin:40px 0 24px}.post-content h2{font-size:2rem;line-height:1.3;margin:36px 0 20px;border-bottom:2px solid var(--border);padding-bottom:8px}.post-content h3{font-size:1.5rem;line-height:1.4;margin:28px 0 16px}.post-content h4{font-size:1.25rem;line-height:1.4;margin:24px 0 12px}.post-content p{line-height:1.7;margin-bottom:20px;text-align:left;hyphens:auto}.post-content .center,.post-content .text-center{text-align:center}.post-content figure{text-align:center;margin:24px 0}.post-content figcaption{text-align:center;font-style:italic;font-size:.9em;color:var(--secondary);margin-top:8px}.post-content .mermaid{text-align:center}.post-content ul,.post-content ol{line-height:1.7;margin-bottom:20px;padding-left:24px;text-align:left !important}.post-content li{margin-bottom:8px;text-align:left !important}.post-content blockquote{position:relative;margin:24px 0;padding:20px 24px;border-left:4px solid var(--primary);background:linear-gradient(135deg,var(--code-bg),rgba(var(--primary-rgb,0,123,255),.05));border-radius:0 12px 12px 0;font-style:italic;line-height:1.6;box-shadow:0 2px 8px rgba(0,0,0,.1)}.post-content blockquote::before{position:absolute;top:16px;left:16px;font-size:1.5em;opacity:.8}@media(prefers-color-scheme:dark){.reading-progress{background:rgba(255,255,255,.1)}.post-content .mermaid,.post-content table,.post-content .highlight{box-shadow:0 2px 8px rgba(0,0,0,.3)}.post-content .mermaid:hover,.post-content table:hover,.post-content .highlight:hover{box-shadow:0 4px 16px rgba(0,0,0,.4)}}