.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.search-trigger{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-2);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:all .15s ease;min-height:40px}.search-trigger:hover{background-color:var(--surface-hover);border-color:var(--accent);color:var(--text-1)}.search-trigger:focus{outline:var(--focus-outline-width) solid var(--accent);outline-offset:var(--focus-outline-offset)}.search-trigger-text{display:none}@media (min-width:640px){.search-trigger-text{display:inline}}.search-trigger kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 4px;font-family:var(--font-code);font-size:11px;font-weight:500;background-color:var(--surface2);border:1px solid var(--border);border-radius:4px;color:var(--text-2)}.search-backdrop{position:fixed;inset:0;background-color:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9998;animation:fadeIn .2s ease}.search-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh;pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.search-modal{width:90%;max-width:600px;max-height:70vh;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;overflow:hidden;animation:slideDown .2s ease;pointer-events:auto}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border)}.search-icon{color:var(--text-3);flex-shrink:0}.search-input{flex:1;background:0 0;border:0;outline:0;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-1)}.search-input::placeholder{color:var(--text-3)}.search-close{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-code);font-size:var(--text-xs);font-weight:500;color:var(--text-2);cursor:pointer;transition:all .15s ease}.search-close:hover{background-color:var(--surface-hover);color:var(--text-1)}.search-results{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.search-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-3)}.search-results-list{list-style:none;margin:0;padding:0}.search-result-item{display:block;padding:var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;color:var(--text-1);transition:all .15s ease;margin-bottom:var(--spacing-xs);border:1px solid transparent}.search-result-item:hover,.search-result-item.selected{background-color:var(--surface-hover);border-color:var(--border);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a;text-decoration:none!important}.search-result-item *{pointer-events:none}.search-result-title,.search-result-description,.search-result-tag{text-decoration:none!important}.search-result-title{font-size:var(--text-base);font-weight:600;margin:0 0 var(--spacing-xs)0;color:var(--text-1)}.search-result-description{font-size:var(--text-sm);color:var(--text-2);margin:0 0 var(--spacing-sm)0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.search-result-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.search-result-tag{display:inline-block;padding:3px 8px;font-family:var(--font-code);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border-radius:4px;border:1px solid;transition:all .15s ease}.search-results::-webkit-scrollbar{width:6px}.search-results::-webkit-scrollbar-track{background:0 0}.search-results::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:3px}.search-results::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}.sort-dropdown-trigger{display:flex;align-items:center;gap:6px;padding:8px 12px;min-height:40px;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-1);font-size:var(--text-sm);font-family:var(--font-code);cursor:pointer;transition:all .15s ease}.sort-dropdown-trigger:hover{background-color:var(--surface-hover);border-color:var(--accent)}.sort-dropdown-trigger:focus{outline:var(--focus-outline-width) solid var(--accent);outline-offset:var(--focus-outline-offset)}.sort-dropdown-icon{font-size:var(--text-base);color:var(--accent)}.sort-dropdown-text{font-weight:500}.sort-dropdown-chevron{font-size:10px;transition:transform .2s ease;margin-left:2px}.sort-dropdown-chevron.open{transform:rotate(180deg)}.sort-dropdown-overlay{position:fixed;inset:0;z-index:1000;pointer-events:none}.sort-dropdown-menu{position:absolute;pointer-events:auto;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 8px 24px #0000004d;min-width:200px;max-width:300px;overflow:hidden;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.sort-dropdown-option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:0 0;border:0;border-bottom:1px solid var(--border);color:var(--text-1);font-size:var(--text-sm);font-family:var(--font-code);text-align:left;cursor:pointer;transition:background-color .1s ease}.sort-dropdown-option:last-child{border-bottom:none}.sort-dropdown-option:hover,.sort-dropdown-option:focus{background-color:var(--surface-hover);outline:0}.sort-dropdown-option.selected{background-color:var(--surface-hover);color:var(--accent);font-weight:500}.sort-option-icon{font-size:var(--text-sm);color:var(--text-3);min-width:32px;text-align:center}.sort-dropdown-option.selected .sort-option-icon{color:var(--accent)}.sort-option-label{flex:1}.sort-option-check{color:var(--accent);font-size:var(--text-sm)}@media (max-width:640px){.sort-dropdown-menu{max-width:calc(100vw - var(--spacing-lg))}.sort-dropdown-text{display:none}}.app-header[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:200;background-color:#0a0b0ed9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);transition:background-color .2s ease}body.theme-light .app-header[data-astro-cid-3ef6ksr2]{background-color:#fffffff2;border-bottom:1px solid rgba(0,0,0,.1)}body.theme-light .logo[data-astro-cid-3ef6ksr2]{color:#1a1a1a}body.theme-light .logo[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}body.theme-light .logo-bracket[data-astro-cid-3ef6ksr2]{color:#415a77}body.theme-light .logo[data-astro-cid-3ef6ksr2]:hover .logo-bracket[data-astro-cid-3ef6ksr2]{color:var(--accent)}.header-content[data-astro-cid-3ef6ksr2]{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);height:56px;display:flex;align-items:center;justify-content:space-between}.header-left[data-astro-cid-3ef6ksr2]{display:flex;align-items:center}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-code);font-size:var(--text-lg);font-weight:600;color:var(--text-1);text-decoration:none;display:flex;align-items:center;gap:2px;transition:color .15s ease}.logo[data-astro-cid-3ef6ksr2]:hover{color:var(--accent)}.logo-bracket[data-astro-cid-3ef6ksr2]{color:var(--accent);font-size:1.2em;transition:color .15s ease}.logo[data-astro-cid-3ef6ksr2]:hover .logo-bracket[data-astro-cid-3ef6ksr2]{color:var(--accent)}.header-right[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;gap:var(--spacing-md)}.theme-btn[data-astro-cid-3ef6ksr2]{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:0;background-color:var(--surface);border-radius:var(--radius-md);cursor:pointer;transition:background-color .15s ease;color:var(--text-1);min-height:44px}.theme-btn[data-astro-cid-3ef6ksr2]:hover{background-color:var(--surface-hover)}.theme-btn[data-astro-cid-3ef6ksr2]:focus{outline:var(--focus-outline-width) solid var(--accent);outline-offset:var(--focus-outline-offset)}.theme-icon[data-astro-cid-3ef6ksr2]{font-size:var(--text-xl)}.app-footer[data-astro-cid-sz7xmlte]{background-color:var(--surface);border-top:1px solid var(--border);padding:var(--spacing-xl)0;margin-top:var(--spacing-2xl);transition:background-color .2s ease}.footer-content[data-astro-cid-sz7xmlte]{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.footer-left[data-astro-cid-sz7xmlte]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-logo[data-astro-cid-sz7xmlte]{font-family:var(--font-code);font-size:var(--text-base);font-weight:600;color:var(--text-1);text-decoration:none;display:flex;align-items:center;gap:2px}.footer-logo[data-astro-cid-sz7xmlte]:hover{color:var(--accent)}.footer-logo-bracket[data-astro-cid-sz7xmlte]{color:var(--accent);font-size:1.2em}.footer-tagline[data-astro-cid-sz7xmlte]{color:var(--text-2);font-size:var(--text-sm);margin:0}.footer-right[data-astro-cid-sz7xmlte]{display:flex;align-items:center}.footer-copyright[data-astro-cid-sz7xmlte]{color:var(--text-3);font-size:var(--text-sm);margin:0}@media (max-width:639px){.footer-content[data-astro-cid-sz7xmlte]{flex-direction:column;text-align:center}.footer-left[data-astro-cid-sz7xmlte],.footer-right[data-astro-cid-sz7xmlte]{align-items:center}}:root{--bg:#0a0b0e;--surface:#0D1219;--surface-hover:#161C26;--surface2:#161C26;--border:rgba(65, 90, 119, .25);--accent:#5C8ECC;--accent-dark:#4a7ab8;--text-1:#E0E1DD;--text-2:#9AACBF;--text-3:#5d7a94;--tag-aws:#FF9900;--tag-lambda:#FF9900;--tag-s3:#FF9900;--tag-ec2:#FF9900;--tag-rds:#FF9900;--tag-dynamodb:#FF9900;--tag-cloudformation:#FF9900;--tag-sqs:#FF9900;--tag-sns:#FF9900;--tag-cloudwatch:#FF9900;--tag-azure:#0078D4;--tag-gcp:#4285F4;--tag-dotnet:#512BD4;--tag-csharp:#512BD4;--tag-angular:#DD0031;--tag-typescript:#3178C6;--tag-javascript:#F7DF1E;--tag-react:#61DAFB;--tag-vue:#4FC08D;--tag-node:#339933;--tag-nodejs:#339933;--tag-python:#3776AB;--tag-go:#00ADD8;--tag-rust:#000000;--tag-docker:#2496ED;--tag-kubernetes:#326CE5;--tag-k8s:#326CE5;--tag-terraform:#7B42BC;--tag-ansible:#EE0000;--tag-helm:#2795D9;--tag-postgresql:#336791;--tag-mysql:#4479A1;--tag-mongodb:#47A248;--tag-redis:#DC382D;--tag-prometheus:#E6522C;--tag-grafana:#F46800;--tag-security:#FF6B6B;--tag-performance:#51CF66;--tag-architecture:#60a5fa;--tag-tutorial:#a78bfa;--tag-guide:#a78bfa;--tag-article:#a78bfa;--tag-beginner:#34d399;--tag-intermediate:#34d399;--tag-advanced:#34d399;--tag-default:#5d7a94;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--font-sans:"IBM Plex Sans", "Tajawal", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-code:"IBM Plex Mono", "SF Mono", "Monaco", "Cascadia Code", "Roboto Mono", Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--focus-outline-width:2px;--focus-outline-offset:2px;--button-padding:.625rem 1rem}.theme-light{--bg:#F8F9FA;--surface:#FFFFFF;--surface-hover:#f0f0f0;--surface2:#E9ECEF;--border:rgba(0, 0, 0, .1);--accent:#415A77;--accent-dark:#2d4159;--text-1:#1a1a1a;--text-2:#495057;--text-3:#868e96}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:400;line-height:1.6;color:var(--text-1);background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px,var(--surface2) 1px,transparent 0);background-size:28px 28px;background-position:-1px -1px;transition:background-color .2s ease,color .2s ease}@media (prefers-reduced-motion:reduce){body{transition:none}}body.theme-light{background-image:radial-gradient(circle at 1px 1px,rgba(0,0,0,.12) 1px,transparent 0)!important}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--text-1);margin-bottom:var(--spacing-md)}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{margin-bottom:var(--spacing-md)}a{color:var(--accent);text-decoration:none;transition:color .15s ease,text-decoration .15s ease}a:hover{color:var(--accent-dark);text-decoration:underline}a:focus{outline:var(--focus-outline-width) solid var(--accent);outline-offset:var(--focus-outline-offset);border-radius:2px}code{font-family:var(--font-code);font-size:.9em;background-color:var(--surface);padding:.2em .4em;border-radius:4px;color:var(--accent)}pre{font-family:var(--font-code);background-color:var(--surface);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin-bottom:var(--spacing-md)}pre code{background-color:transparent;padding:0;color:var(--text-1)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.image-row-2,.image-row-3,.image-row-4{margin:var(--spacing-lg)0}#main-content{min-height:100vh;padding-top:var(--spacing-2xl)}::selection{background-color:var(--accent);color:#fff}::-moz-selection{background-color:var(--accent);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--surface2);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}@media print{header,footer,.search-trigger,.sort-dropdown,.theme-toggle,.article-share,.article-toc,.back-button,.reading-progress,.back-to-top,.skip-link{display:none!important}body{background:#fff!important;color:#000!important}.article-content{font-size:12pt;line-height:1.5}a{color:#000!important;text-decoration:underline}a[href^=http]:after{content:" ("attr(href)")";font-size:.9em;word-break:break-all}code{background:#f0f0f0!important;color:#000!important;padding:.1em .3em;border:1px solid #ccc}pre{background:#f0f0f0!important;border:1px solid #ccc;page-break-inside:avoid}pre code{border:0;padding:0}h1,h2,h3,h4{page-break-after:avoid}img{max-width:100%!important;page-break-inside:avoid}blockquote{page-break-inside:avoid}.article-content a[href^=http]:after{content:" ("attr(href)")"}}html{scroll-behavior:smooth}:focus-visible{outline:var(--focus-outline-width, 2px) solid var(--accent, #5C8ECC);outline-offset:var(--focus-outline-offset, 2px)}.skip-link{position:absolute;top:-40px;left:0;background:var(--accent);color:#fff;padding:8px 16px;text-decoration:none;z-index:10000;border-radius:0 0 4px;transition:top .3s ease}.skip-link:focus{top:0}body,body.theme-light{transition:background-color .3s ease,color .3s ease}