:root{--black:#000;--dark: #303136;--text-secondary: #5f6368;--blue: #1a73e8;--white: #ffffff;--light: #f8f9fa;--border-color: #dadce0}body{font-family:Roboto,sans-serif;line-height:1.8;color:var(--dark);background-color:var(--white);margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.1rem}iframe{max-width:100%}p{font-size:1.1rem;margin:0 0 24px}small{font-size:.85rem}a{text-decoration:none}li>code,blockquote,p>code{font-size:1rem;background-color:var(--black);color:var(--white);padding:.1rem .3rem}blockquote{padding:1rem;font-style:italic}blockquote p{margin-bottom:0;border-radius:5px 0 0}h1,h2,h3,h4,h5,h6,strong{color:var(--black);font-family:Google Sans,sans-serif}table{overflow:auto;font-size:.9rem}table,th,td{border:1px solid var(--black);border-collapse:collapse}td,th{padding:10px 15px}.astro-code,.one-dark-pro,pre{font-size:.9rem;padding:1rem}.container{max-width:1200px;margin:0 auto;padding:0 24px}.btn{background-color:var(--white);border:1px solid var(--black);color:var(--black);font-size:.9rem;align-items:center;border-radius:48px;display:inline-flex;justify-content:center;gap:8px;padding:.7rem 1rem;text-align:center;transition:background-color .2s,box-shadow .2s,color .2s;vertical-align:middle;text-transform:uppercase;cursor:pointer}.btn:hover{background-color:var(--border-color)}.header{padding:16px 0;position:sticky;top:0;backdrop-filter:blur(8px);z-index:100;white-space:pre}.logo{font-family:Google Sans,sans-serif;font-size:22px;font-weight:700;color:var(--dark);text-decoration:none;letter-spacing:-.5px}.logo span{color:var(--blue)}.page-layout{display:flex;justify-content:space-between;margin-top:3rem}.page-layout aside{width:350px}.page-layout main{width:calc(100% - 450px)}h1{font-size:44px;line-height:1.2;margin:0 0 16px;font-weight:700}.article-meta{display:flex;align-items:center;color:var(--text-secondary);font-size:14px}.author-avatar{width:3rem;height:3rem;border-radius:50%;margin-right:16px;object-fit:cover}.author-name{font-weight:500;color:var(--dark)}h2,h3{font-family:Google Sans,sans-serif;font-weight:500;line-height:1.3}h2{font-size:28px;margin:3rem 0 16px}h3{font-size:22px;margin:32px 0 16px}.article-body a{color:var(--blue);text-decoration:none}.article-body a:hover{text-decoration:underline}.article-body img{width:100%;height:auto;border-radius:8px;margin:32px 0;border:1px solid var(--border-color)}.sidebar{position:sticky;top:100px;align-self:start;scrollbar-width:none;scrollbar-color:transparent}.sidebar-widget{background-color:var(--light);border:1px solid var(--border-color);border-radius:12px;padding:24px;margin-bottom:24px;overflow:auto;scrollbar-width:none;scrollbar-color:transparent}.sidebar-widget iframe{max-width:100%}.widget-title{font-family:Google Sans,sans-serif;font-size:18px;font-weight:500;margin:0 0 16px}.toc-list{list-style:none;padding:0;margin:0}.toc-list li a{color:var(--text-secondary);text-decoration:none;font-size:14px;display:block;border-left:2px solid transparent;padding:8px 0 8px 12px;transition:all .2s ease}.toc-list li a.level-3{padding-left:28px}.toc-list li a:hover{color:var(--blue)}.toc-list li a.active{color:var(--blue);font-weight:500;border-left-color:var(--blue)}.stats-list{list-style:none;padding:0;margin:0;font-size:14px;color:var(--text-secondary)}.stats-list li{display:flex;justify-content:space-between;margin-bottom:8px}.stats-list li span:last-child{font-weight:500;color:var(--dark)}.newsletter-form input{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:12px;box-sizing:border-box;font-family:Roboto,sans-serif}.newsletter-form button{width:100%;padding:12px;background-color:var(--blue);color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.newsletter-form button:hover{background-color:#1b66c9}.related-articles{margin-top:64px;padding-top:3rem;border-top:1px solid var(--border-color)}.section-title{font-family:Google Sans,sans-serif;font-size:24px;font-weight:500;margin:0 0 24px}.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}.article-card{border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:box-shadow .2s ease;text-decoration:none;color:var(--dark);display:flex;flex-direction:column}.article-card:hover{box-shadow:0 4px 12px #00000014}.article-card-image{width:100%;height:180px;object-fit:cover;background-color:var(--light)}.article-card-content{padding:20px;flex-grow:1}.article-card-title{font-family:Google Sans,sans-serif;font-size:18px;font-weight:500;line-height:1.4;margin:0 0 8px}.article-card-excerpt{font-size:14px;color:var(--text-secondary);line-height:1.6}.footer{margin-top:64px;padding:3rem 0;background-color:var(--light);border-top:1px solid var(--border-color)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:32px}.footer-section h4{font-family:Google Sans,sans-serif;font-size:16px;font-weight:500;margin:0 0 16px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:12px}.footer-links a{color:var(--text-secondary);text-decoration:none;font-size:14px}.footer-links a:hover{color:var(--blue)}.footer-bottom{margin-top:3rem;padding-top:24px;border-top:1px solid var(--border-color);font-size:14px;color:var(--text-secondary);text-align:center}.w-100{width:100%}.mr-1{margin-right:.5rem}.mt-1{margin-top:1rem}.mt-3{margin-top:3rem}.p-0{padding:0}.p-05{padding:.1rem .3rem}.p-1{padding:1rem}.blue{color:var(--blue)}.light{color:var(--text-secondary)}.bg-light{background-color:var(--border-color)}.bg-white{background-color:var(--white)}.bordered{border:1px solid var(--border-color)}.border-bottom{border-bottom:1px solid var(--border-color)}.d-flex{display:flex}.flex-wrap{flex-wrap:wrap}.gap-1{gap:1rem}.flex-column{flex-direction:column}.br{border-radius:.5rem}.center{text-align:center}.overflow{overflow:auto}.cover{object-fit:cover}.line-separator{border-top:1px solid var(--border-color);width:100%;height:0;margin:1em 0}@media only screen and (max-width: 667px){body,p,pre{font-size:.9rem}.container{padding:.7rem}.header{padding:0}.main-nav{display:none}.page-layout{display:flex;flex-wrap:wrap;margin-top:1rem}.page-layout aside,.page-layout main{width:100%}h1{font-size:2rem}h2{font-size:1.6rem}h3{font-size:1.4rem}.d-sm-none{display:none}}
