body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,hr,dl,dd,ol,ul,figure{margin:0;padding:0}body{font:400 16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";color:#111;background-color:#fdfdfd;-webkit-text-size-adjust:100%;-webkit-font-feature-settings:"kern" 1;-moz-font-feature-settings:"kern" 1;-o-font-feature-settings:"kern" 1;font-feature-settings:"kern" 1;font-kerning:normal;display:flex;min-height:100vh;flex-direction:column}h1,h2,h3,h4,h5,h6,p,blockquote,pre,ul,ol,dl,figure,.highlight{margin-bottom:15px}main{display:block}img{max-width:100%;vertical-align:middle}figure>img{display:block}figcaption{font-size:14px}ul,ol{margin-left:30px}li>ul,li>ol{margin-bottom:0}h1,h2,h3,h4,h5,h6{font-weight:400}a{color:#2a7ae2;text-decoration:none}a:visited{color:#1756a9}a:hover{color:#111;text-decoration:underline}.social-media-list a:hover{text-decoration:none}.social-media-list a:hover .username{text-decoration:underline}blockquote{color:#828282;border-left:4px solid #e8e8e8;padding-left:15px;font-size:18px;letter-spacing:-1px;font-style:italic}blockquote>:last-child{margin-bottom:0}pre,code{font-size:15px;border:1px solid #e8e8e8;border-radius:3px;background-color:#eef}code{padding:1px 5px}pre{padding:8px 12px;overflow-x:auto}pre>code{border:0;padding-right:0;padding-left:0}.wrapper{max-width:-webkit-calc(800px - (30px * 2));max-width:calc(800px - (30px * 2));margin-right:auto;margin-left:auto;padding-right:30px;padding-left:30px}@media screen and (max-width: 800px){.wrapper{max-width:-webkit-calc(800px - (30px));max-width:calc(800px - (30px));padding-right:15px;padding-left:15px}}.wrapper:after,.footer-col-wrapper:after{content:"";display:table;clear:both}.svg-icon{width:16px;height:16px;display:inline-block;fill:#828282;padding-right:5px;vertical-align:text-top}.social-media-list li+li{padding-top:5px}table{margin-bottom:30px;width:100%;text-align:left;color:#3f3f3f;border-collapse:collapse;border:1px solid #e8e8e8}table tr:nth-child(even){background-color:#f7f7f7}table th,table td{padding:10px 15px}table th{background-color:#f0f0f0;border:1px solid #dedede;border-bottom-color:#c9c9c9}table td{border:1px solid #e8e8e8}.site-header{border-top:5px solid #424242;border-bottom:1px solid #e8e8e8;min-height:55.95px;position:relative}.site-title{font-size:26px;font-weight:300;line-height:54px;letter-spacing:-1px;margin-bottom:0;float:left}.site-title,.site-title:visited{color:#424242}.site-nav{float:right;line-height:54px}.site-nav .nav-trigger{display:none}.site-nav .menu-icon{display:none}.site-nav .page-link{color:#111;line-height:1.5}.site-nav .page-link:not(:last-child){margin-right:20px}@media screen and (max-width: 600px){.site-nav{position:absolute;top:9px;right:15px;background-color:#fdfdfd;border:1px solid #e8e8e8;border-radius:5px;text-align:right}.site-nav label[for="nav-trigger"]{display:block;float:right;width:36px;height:36px;z-index:2;cursor:pointer}.site-nav .menu-icon{display:block;float:right;width:36px;height:26px;line-height:0;padding-top:10px;text-align:center}.site-nav .menu-icon>svg{fill:#424242}.site-nav input ~ .trigger{clear:both;display:none}.site-nav input:checked ~ .trigger{display:block;padding-bottom:5px}.site-nav .page-link{display:block;padding:5px 10px;margin-left:20px}.site-nav .page-link:not(:last-child){margin-right:0}}.site-footer{border-top:1px solid #e8e8e8;padding:30px 0}.footer-heading{font-size:18px;margin-bottom:15px}.contact-list,.social-media-list{list-style:none;margin-left:0}.footer-col-wrapper{font-size:15px;color:#828282;margin-left:-15px}.footer-col{float:left;margin-bottom:15px;padding-left:15px}.footer-col-1{width:-webkit-calc(35% - (30px / 2));width:calc(35% - (30px / 2))}.footer-col-2{width:-webkit-calc(20% - (30px / 2));width:calc(20% - (30px / 2))}.footer-col-3{width:-webkit-calc(45% - (30px / 2));width:calc(45% - (30px / 2))}@media screen and (max-width: 800px){.footer-col-1,.footer-col-2{width:-webkit-calc(50% - (30px / 2));width:calc(50% - (30px / 2))}.footer-col-3{width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}@media screen and (max-width: 600px){.footer-col{float:none;width:-webkit-calc(100% - (30px / 2));width:calc(100% - (30px / 2))}}.page-content{padding:30px 0;flex:1}.page-heading{font-size:32px}.post-list-heading{font-size:28px}.post-list{margin-left:0;list-style:none}.post-list>li{margin-bottom:30px}.post-meta{font-size:14px;color:#828282}.post-link{display:block;font-size:24px}.post-header{margin-bottom:30px}.post-title{font-size:42px;letter-spacing:-1px;line-height:1}@media screen and (max-width: 800px){.post-title{font-size:36px}}.post-content{margin-bottom:30px}.post-content h2{font-size:32px}@media screen and (max-width: 800px){.post-content h2{font-size:28px}}.post-content h3{font-size:26px}@media screen and (max-width: 800px){.post-content h3{font-size:22px}}.post-content h4{font-size:20px}@media screen and (max-width: 800px){.post-content h4{font-size:18px}}.highlight{background:#fff}.highlighter-rouge .highlight{background:#eef}.highlight .c{color:#998;font-style:italic}.highlight .err{color:#a61717;background-color:#e3d2d2}.highlight .k{font-weight:bold}.highlight .o{font-weight:bold}.highlight .cm{color:#998;font-style:italic}.highlight .cp{color:#999;font-weight:bold}.highlight .c1{color:#998;font-style:italic}.highlight .cs{color:#999;font-weight:bold;font-style:italic}.highlight .gd{color:#000;background-color:#fdd}.highlight .gd .x{color:#000;background-color:#faa}.highlight .ge{font-style:italic}.highlight .gr{color:#a00}.highlight .gh{color:#999}.highlight .gi{color:#000;background-color:#dfd}.highlight .gi .x{color:#000;background-color:#afa}.highlight .go{color:#888}.highlight .gp{color:#555}.highlight .gs{font-weight:bold}.highlight .gu{color:#aaa}.highlight .gt{color:#a00}.highlight .kc{font-weight:bold}.highlight .kd{font-weight:bold}.highlight .kp{font-weight:bold}.highlight .kr{font-weight:bold}.highlight .kt{color:#458;font-weight:bold}.highlight .m{color:#099}.highlight .s{color:#d14}.highlight .na{color:teal}.highlight .nb{color:#0086B3}.highlight .nc{color:#458;font-weight:bold}.highlight .no{color:teal}.highlight .ni{color:purple}.highlight .ne{color:#900;font-weight:bold}.highlight .nf{color:#900;font-weight:bold}.highlight .nn{color:#555}.highlight .nt{color:navy}.highlight .nv{color:teal}.highlight .ow{font-weight:bold}.highlight .w{color:#bbb}.highlight .mf{color:#099}.highlight .mh{color:#099}.highlight .mi{color:#099}.highlight .mo{color:#099}.highlight .sb{color:#d14}.highlight .sc{color:#d14}.highlight .sd{color:#d14}.highlight .s2{color:#d14}.highlight .se{color:#d14}.highlight .sh{color:#d14}.highlight .si{color:#d14}.highlight .sx{color:#d14}.highlight .sr{color:#009926}.highlight .s1{color:#d14}.highlight .ss{color:#990073}.highlight .bp{color:#999}.highlight .vc{color:teal}.highlight .vg{color:teal}.highlight .vi{color:teal}.highlight .il{color:#099}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:#111827;line-height:1.6;font-size:16px;background:#fafaf8}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-top:2rem;margin-bottom:1rem;color:#111827}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1.5rem;line-height:1.7}a{color:#2563eb;transition:color 150ms ease-in-out}a:hover{color:#1e40af}.wrapper{max-width:900px;padding:0 1.5rem;margin:0 auto}.page-content{padding:3rem 0}code{font-family:"SF Mono",Monaco,"Cascadia Code","Roboto Mono",Consolas,monospace;font-size:0.875em;background:#f3f4f6;padding:0.125rem 0.375rem;border-radius:6px}pre{background:#f3f4f6;padding:1rem;border-radius:8px;overflow-x:auto;margin:1.5rem 0}pre code{background:none;padding:0}ul,ol{margin-bottom:1.5rem;padding-left:2rem}li{margin-bottom:.5rem}blockquote{border-left:4px solid #2563eb;padding-left:1.5rem;margin:2rem 0;color:#374151;font-style:italic}img{max-width:100%;height:auto;border-radius:8px}table{width:100%;margin:1.5rem 0;border-collapse:collapse}table th,table td{padding:.5rem 1rem;border:1px solid #e5e7eb;text-align:left}table th{background:#f3f4f6;font-weight:600}.site-header{background:rgba(255,255,255,0.95);backdrop-filter:blur(8px);box-shadow:0 1px 3px rgba(0,0,0,0.06);padding:1.5rem 0;position:sticky;top:0;z-index:100;border-bottom:1px solid #e5e7eb}.site-header .wrapper{display:flex;justify-content:space-between;align-items:center}.site-title{font-size:1.5rem;font-weight:600;color:#111827 !important;text-decoration:none;transition:color 150ms ease-in-out}.site-title:hover{color:#2563eb !important;text-decoration:none}.header-nav-link{color:#2563eb;text-decoration:none;font-weight:500;padding:.5rem 1.5rem;border-radius:8px;transition:all 150ms ease-in-out}.header-nav-link:hover{background:#f3f4f6;color:#1e40af}.site-footer{background:#fafaf8;border-top:1px solid #e5e7eb;padding:4rem 0 2rem;margin-top:4rem}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:3rem}.footer-section{flex:1;min-width:200px}.footer-section h3{font-size:1.2em;margin-bottom:1rem;color:#111827}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:.5rem}.footer-section a{color:#374151;text-decoration:none;transition:color 150ms ease-in-out}.footer-section a:hover{color:#2563eb}.footer-nav-button{background:#fff;color:#2563eb;border:2px solid #e5e7eb;border-radius:8px;padding:.5rem 1.5rem;font-weight:500;transition:all 150ms ease-in-out;text-decoration:none;display:inline-block;margin-right:.5rem;margin-bottom:.5rem}.footer-nav-button:hover{border-color:#2563eb;background:#2563eb;color:white;text-decoration:none}.copyright{margin-top:3rem;font-size:0.9em;color:#6b7280;text-align:center}.copyright a{color:#6b7280;transition:color 150ms ease-in-out}.copyright a:hover{color:#2563eb}.footer-col-wrapper{display:flex;flex-wrap:wrap;margin-left:-1rem}.footer-col{margin-bottom:1rem;padding-left:1rem}.footer-col-1,.footer-col-2,.footer-col-3{width:100%}@media screen and (min-width: 768px){.footer-col-1,.footer-col-2{width:33%}.footer-col-3{width:34%}}.footer-links{list-style:none;margin-left:0;padding-left:0}.footer-links li{margin-bottom:.25rem}.footer-links a{color:#374151;text-decoration:none}.footer-links a:hover{color:#2563eb;text-decoration:underline}.social-media-list{list-style:none;margin-left:0}.social-media-list li{display:flex;align-items:center;margin-bottom:.25rem}.social-media-list .svg-icon{width:16px;height:16px;margin-right:.25rem}.site-description{font-size:1.1em;line-height:1.6;color:#374151;margin:3rem 0}.topic-section{margin:3rem 0}.topic-heading{font-size:1.8em;margin-bottom:1.5rem;color:#111827;font-weight:600}.category-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin:3rem 0}.category-button{padding:.5rem 1.5rem;border-radius:8px;color:white !important;font-weight:500;text-decoration:none !important;text-align:center;min-width:120px;display:inline-block;transition:all 150ms ease-in-out;box-shadow:0 1px 2px 0 rgba(0,0,0,0.05)}.category-button:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);text-decoration:none !important}.category-button:active{transform:translateY(0)}.python{background:linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important}.ai{background:linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%) !important}.technology{background:linear-gradient(135deg, #06b6d4 0%, #0891b2 100%) !important}.tutorial{background:linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important}.post-categories{margin:.5rem 0}.category-tag{display:inline-block;background-color:#f3f4f6;color:#374151;padding:.25rem .5rem;border-radius:6px;font-size:0.85em;font-weight:500;margin-right:.5rem;margin-bottom:.25rem;transition:all 150ms ease-in-out;border:1px solid transparent}.category-tag:hover{background-color:#e5e7eb;border-color:#d1d5db;transform:translateY(-1px)}a.category-button:hover,a.footer-nav-button:hover{text-decoration:none !important}.all-posts{margin:2rem 0}.post-list{list-style:none;padding:0;margin:1.5rem 0 0 0;display:grid;gap:2rem}.post-item,.post-list>li{background:#fff;border-radius:12px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);transition:box-shadow 250ms ease-in-out;padding:2rem;border-left:4px solid #2563eb;transition:all 250ms ease-in-out}.post-item:hover,.post-list>li:hover{box-shadow:0 10px 15px -3px rgba(0,0,0,0.1)}.post-item:hover,.post-list>li:hover{border-left-color:#8b5cf6;transform:translateY(-2px)}.post-title,.post-list h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;line-height:1.3}.post-title a,.post-list h3 a{color:#111827;text-decoration:none;transition:color 150ms ease-in-out}.post-title a:hover,.post-list h3 a:hover{color:#2563eb;text-decoration:none}.post-meta{font-size:0.875rem;color:#6b7280;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.post-link{color:#111827;text-decoration:none;transition:color 150ms ease-in-out}.post-link:hover{color:#2563eb}.post-categories a{color:#2563eb;text-decoration:none;transition:color 150ms ease-in-out}.post-categories a:hover{color:#1e40af;text-decoration:underline}.post-excerpt{margin-top:1rem;color:#374151;line-height:1.6}html{scroll-behavior:smooth}::selection{background:#3b82f6;color:white}*:focus{outline:2px solid #2563eb;outline-offset:2px}a:focus,button:focus{outline:2px solid #2563eb;outline-offset:2px}.text-center{text-align:center}.mt-0{margin-top:0}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.mb-0{margin-bottom:0}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}a:not(.category-button):not(.footer-nav-button):not(.site-title):not(.header-nav-link):not(.post-link){text-decoration-thickness:1px;text-underline-offset:0.2em}button,a,input,textarea{transition:all 150ms ease-in-out}button,.category-button,.footer-nav-button{cursor:pointer}@media screen and (max-width: 768px){.site-header .wrapper{flex-direction:row;align-items:center}.header-nav-link{padding:.25rem 1rem;font-size:0.9rem}.category-buttons{gap:.5rem}.category-button{min-width:100px;font-size:0.9rem}.footer-content{flex-direction:column;gap:2rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.25rem}}@media print{.site-header,.site-footer,.category-buttons,.footer-nav-button{display:none}a{text-decoration:underline}.post-item,.post-list>li{box-shadow:none;border:1px solid #ddd;page-break-inside:avoid}}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}
