@use "sass:color";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(900px - (30px * 2));max-width:calc(900px - (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(900px - (30px));max-width:calc(900px - (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}.rss-subscribe,.social-media-list a[href*="feed.xml"]{display:none !important}.social-media-list .username{display:none !important}.site-title{display:inline-flex;align-items:center;gap:3px}.site-footer .social-media-list a{display:inline-block;transform:scale(1.6);margin:0 18px}.site-footer .social-media-list a:hover{transform:scale(1.65)}.site-footer .social-media-list li{margin-right:0}.social-media-list a[href*="github.com"] .svg-icon{fill:#181717}.social-media-list a[href*="github.com"]:hover .svg-icon{fill:#4078c0}.social-media-list a[href*="linkedin.com"] .svg-icon{fill:#0077b5}.social-media-list a[href*="linkedin.com"]:hover .svg-icon{fill:#005582}.social-media-list a[href*="youtube.com"] .svg-icon{fill:#FF0000}.social-media-list a[href*="youtube.com"]:hover .svg-icon{fill:#cc0000}.social-media-list a[href*="twitter.com"] .svg-icon{fill:#1DA1F2}.social-media-list a[href*="twitter.com"]:hover .svg-icon{fill:#0d8bd9}.social-media-list a[href^="mailto:"] .svg-icon{fill:#ea4335}.social-media-list a[href^="mailto:"]:hover .svg-icon{fill:#c5311e}.site-footer .wrapper{max-width:1000px;margin:0 auto;padding:30px 15px}.footer-col-wrapper{display:flex;align-items:flex-start;justify-content:center;margin-left:0}.footer-col{margin:0;padding:0}.footer-col-1{width:auto;margin-right:30px}.footer-col-2{width:auto;margin-right:30px}.footer-col-3{font-size:18px;line-height:1.5;width:auto;max-width:500px;font-weight:500;text-shadow:2px 2px 4px rgba(0,0,0,0.9)}.social-media-list{margin:0;padding:0;white-space:nowrap}.social-media-list li{display:inline-block;margin-right:12px}.site-footer .footer-heading{display:none}.site-footer{position:relative;overflow:hidden}.footer-video-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0}.footer-video{position:absolute;top:50%;left:50%;min-width:100%;min-height:100%;width:auto;height:auto;transform:translate(-50%, -50%);object-fit:cover}.footer-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,50,0.3);z-index:1}.site-footer .wrapper{position:relative;z-index:2}.site-footer p,.site-footer a{color:white !important;text-shadow:1px 1px 3px rgba(0,0,0,0.8)}.video-play-indicator{position:absolute;bottom:10px;right:15px;color:rgba(255,255,255,0.7);font-size:12px;z-index:3;pointer-events:none;text-shadow:1px 1px 2px rgba(0,0,0,0.8);padding:5px 10px;background-color:rgba(0,0,0,0.5);border-radius:4px}.site-footer:hover .video-play-indicator{opacity:0.5;transition:opacity 0.3s ease 2s}.hero-section{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:0px 0 30px 0;margin-bottom:40px;border-bottom:1px solid #e8e8e8}.hero-content{flex:1;max-width:600px}.hero-content h1{font-size:3.5em;margin-bottom:15px;color:#2c3e50;line-height:1.2}.hero-subtitle{font-size:1.3em;color:#10103b;margin-bottom:30px;line-height:1.6}.hero-buttons{display:flex;gap:15px;flex-wrap:wrap}.hero-button{display:inline-block;padding:12px 28px;border-radius:6px;font-weight:500;text-decoration:none;transition:all 0.3s ease;font-size:1em}.hero-button.primary{background-color:#0366d6;color:white}.hero-button.primary:hover{background-color:#0256c7;transform:translateY(-2px);box-shadow:0 4px 12px rgba(3,102,214,0.3);text-decoration:none}.hero-button.secondary{background-color:transparent;color:#0366d6;border:2px solid #0366d6}.hero-button.secondary:hover{background-color:#0366d6;color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(3,102,214,0.2);text-decoration:none}.hero-button.tertiary{background-color:transparent;color:#0366d6;border:2px solid #0366d6}.hero-button.tertiary:hover{background-color:#0366d6;color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(3,102,214,0.2);text-decoration:none}.hero-image{flex:0 0 400px;display:flex;align-items:center;justify-content:center}.hero-image img{width:100%;height:auto;max-width:350px;border-radius:35%}@media screen and (max-width: 800px){.hero-section{flex-direction:column-reverse;text-align:center;padding:40px 0;gap:30px}.hero-content{max-width:100%}.hero-content h1{font-size:2.5em}.hero-subtitle{font-size:1.1em}.hero-image{flex:0 0 auto;max-width:300px}.hero-buttons{justify-content:center}}@media screen and (max-width: 600px){.hero-content h1{font-size:2em}.hero-buttons{flex-direction:column}.hero-button{width:100%;text-align:center}}.work-showcase{display:grid;grid-template-columns:repeat(3, 1fr);gap:30px;margin:40px 0 50px 0;padding:0}.showcase-item{text-align:center;transition:transform 0.3s ease}.showcase-item:hover{transform:scale(1.2)}.showcase-item img{width:100%;height:220px;object-fit:scale-down;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);transition:box-shadow 0.3s ease}.showcase-item:hover img{box-shadow:0 8px 24px rgba(0,0,0,0.15)}.showcase-label{margin-top:12px;font-size:1em;font-weight:500;color:#2c3e50}@media screen and (max-width: 800px){.work-showcase{grid-template-columns:1fr;gap:25px;margin:30px 0}.showcase-item img{height:250px;max-width:400px;margin:0 auto}}@media screen and (min-width: 601px) and (max-width: 800px){.work-showcase{grid-template-columns:repeat(2, 1fr)}.showcase-item:last-child{grid-column:1 / -1;max-width:400px;margin:0 auto}}.blog-post-preview{margin-bottom:40px}.blog-post-preview h2{margin-bottom:8px}.blog-post-preview h2 a{color:#2c3e50;text-decoration:none}.blog-post-preview h2 a:hover{color:#0366d6}.blog-post-preview .post-meta{color:#666;font-size:0.9em;margin-bottom:12px}.blog-post-preview p{line-height:1.6;color:#333}.blog-post-preview .read-more{color:#0366d6;text-decoration:none;font-weight:500}.blog-post-preview .read-more:hover{text-decoration:underline}.blog-post-preview+hr{margin:40px 0;border:none;border-top:1px solid #e8e8e8}.pub-authors{font-style:italic;color:#666;margin:8px 0;font-size:0.95em}.pub-venue{color:#444;margin:8px 0;font-size:0.9em;font-weight:500}.pub-description{line-height:1.6;color:#521919;margin:12px 0 15px 0}.publication-card h3{margin:10px 0 8px 0;font-size:1.2em;color:#2c3e50}.pub-type{display:inline-block;padding:4px 12px;border-radius:4px;font-size:0.75em;font-weight:600;text-transform:uppercase;margin-bottom:0px}.pub-type.journal{background-color:#9d77f7;color:white}.pub-type.conference{background-color:#c03cc0;color:white}.pub-type.workshop{background-color:#5c9ed3;color:white}.pub-type.chapter{background-color:#20a588;color:white}.pub-type.thesis{background-color:#1587b4;color:white}.pub-type.technical{background-color:#28a745;color:white}.thesis-section{margin-top:60px;padding-top:40px;border-top:2px solid #e8e8e8}.thesis-section h2{margin-bottom:30px}.citations-section{margin-top:60px;padding:40px;background-color:#f8f9fa;border-radius:8px;text-align:center}.citations-section h2{margin-bottom:30px;margin-top:0}.citation-stats{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin:30px 0}.stat-box{text-align:center;min-width:120px}.stat-number{font-size:2.5em;font-weight:700;color:#0366d6;margin-bottom:5px}.stat-label{font-size:0.9em;color:#666;text-transform:uppercase;letter-spacing:0.5px}@media screen and (max-width: 600px){.citation-stats{flex-direction:column;gap:20px}}.filter-buttons{display:flex;gap:15px;margin:30px 0 40px 0;flex-wrap:wrap}.filter-btn{display:inline-block;padding:7px 7px;border-radius:6px;font-weight:500;text-decoration:none;transition:all 0.3s ease;font-size:1.0em;cursor:pointer;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;background-color:transparent;color:#0366d6;border:2px solid #0366d6}.filter-btn:hover{background-color:#0366d6;color:white;transform:translateY(-2px);box-shadow:0 4px 12px rgba(3,102,214,0.2);text-decoration:none}.filter-btn.active{background-color:#0366d6;color:white;border-color:#0366d6}.filter-btn.active:hover{background-color:#0256c7;transform:translateY(-2px);box-shadow:0 4px 12px rgba(3,102,214,0.3)}@media screen and (max-width: 768px){.filter-buttons{flex-direction:column;gap:12px}.filter-btn{width:100%;text-align:center}}.comments-section{margin-top:60px;padding-top:40px;border-top:1px solid #e8e8e8}.comments-section h3{margin-bottom:20px}.post-footer{margin-top:60px}.post-footer-divider{height:1px;background:linear-gradient(to right, transparent, #e8e8e8, transparent);margin:40px 0}.share-buttons{text-align:center;margin:40px 0}.share-heading{font-size:1em;font-weight:600;color:#57606a;margin-bottom:20px}.share-links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.share-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:2px solid #d0d7de;border-radius:6px;font-size:0.85em;font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease;background-color:white;color:#24292f}.share-btn:hover{border-color:#0366d6;color:#0366d6;transform:translateY(-2px);box-shadow:0 4px 12px rgba(3,102,214,0.15)}.share-btn svg{color:#57606a;transition:color 0.2s}.share-btn:hover svg{color:#0366d6}.share-btn.copied{border-color:#28a745;color:#28a745}.share-btn.copied svg{color:#28a745}@media screen and (max-width: 600px){.share-links{flex-direction:column;align-items:stretch}.share-btn{justify-content:center}}.comments-section{margin-top:40px;padding-top:40px}.comments-intro{color:#666;font-size:0.9em;margin-bottom:20px;text-align:center}.share-btn.linkedin{color:#0077b5;border-color:#0077b5}.share-btn.linkedin svg{color:#0077b5}.share-btn.reddit{color:#FF4500;border-color:#FF4500}.share-btn.reddit svg{color:#FF4500}.share-btn.email{color:#6c757d;border-color:#393e42}.share-btn.email svg{color:#393e42}.share-btn.copy{color:#19529c;border-color:#19529c}.share-btn.copy svg{color:#19529c}.share-btn.copied{border-color:#28a745 !important;color:#28a745 !important;background-color:#f0fff4}.share-btn.copied svg{color:#28a745 !important}.share-btn.copied:hover{border-color:#28a745 !important;color:#28a745 !important;transform:translateY(-2px)}.share-btn.copy:hover span{text-decoration:underline}.share-btn:hover span{text-decoration:underline}.site-logo{height:40px;width:auto;margin-right:12px;vertical-align:middle;display:inline-block}.site-title{display:inline-flex;align-items:center}@media screen and (max-width: 600px){.site-logo{height:32px}}.capabilities-instruction{text-align:center;color:#57606a;font-size:0.93em;font-style:italic;margin:15px 0 -25px 0}.capabilities-hexagon{position:relative;max-width:400px;margin:-20px auto;padding:20px;display:grid;grid-template-columns:repeat(3, 1fr);gap:20px 20px;justify-items:center}.capabilities-hexagon .capability-circle:nth-child(4),.capabilities-hexagon .capability-circle:nth-child(5),.capabilities-hexagon .capability-circle:nth-child(6){margin-left:-40px}.capability-circle{width:90px;height:90px;background:linear-gradient(135deg, #f6f8fa 0%, #e8eaed 100%);border:2px solid #d0d7de;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all 0.3s ease;padding:12px;text-align:center}.capability-circle:hover{transform:scale(1.15);border-color:#0366d6;box-shadow:0 6px 16px rgba(3,102,214,0.25);background:linear-gradient(135deg, #e8f4f8 0%, #d6e8f5 100%);z-index:10}.capability-circle.active{border-color:#0366d6;border-width:3px;background:linear-gradient(135deg, #e8f4f8 0%, #d6e8f5 100%)}.circle-icon{font-size:1.7em;margin-bottom:6px;transform:translateY(-8px);opacity:0.65}.circle-label{font-size:0.7em;font-weight:600;line-height:1.1;color:#24292f;transform:translateY(-10px)}#capability-details{max-width:800px;margin:40px auto 0 auto}.capability-detail-content{display:none;padding:30px;background:#f8f9fa;border-left:4px solid #0366d6;border-radius:8px;margin-bottom:30px;animation:slideDown 0.3s ease}.capability-detail-content.show{display:block}@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.capability-detail-content h3{font-size:1.5em;margin:0 0 20px 0;color:#24292f}.capability-principle{margin-bottom:25px;padding-bottom:0px;border-bottom:2px solid #e8e8e8}.capability-principle p{font-size:1.05em;font-weight:500;line-height:1.6;color:#24292f;font-style:italic}.capability-evidence{margin-bottom:25px}.capability-evidence>p:first-child{font-weight:600;color:#57606a;margin-bottom:15px;font-size:0.9em;text-transform:uppercase;letter-spacing:0.5px}.case-studies-list{list-style:none;padding:0;margin:20px 0}.case-study{margin-bottom:12px;border:1px solid #e8e8e8;border-radius:6px;overflow:hidden;transition:all 0.2s ease}.case-study:hover{border-color:#d0d7de;box-shadow:0 2px 8px rgba(0,0,0,0.05)}.case-study-summary{padding:5px 5px;cursor:pointer;display:flex;align-items:flex-start;gap:10px;background:white;transition:background 0.2s ease}.case-study-summary:hover{background:#f8f9fa}.case-study-summary strong{color:#0e2353;font-weight:600}.case-toggle{color:#57606a;font-size:0.9em;flex-shrink:0;margin-top:2px;transition:transform 0.2s ease}.case-study.expanded .case-toggle{transform:rotate(90deg)}.case-study-detail{max-height:0;overflow:hidden;padding:0 18px;background:#f8f9fa;transition:all 0.3s ease;border-top:1px solid transparent}.case-study.expanded .case-study-detail{max-height:800px;padding:20px 18px;border-top-color:#e8e8e8}.case-study-detail p{margin:15px 0;line-height:1.7;color:#24292f;font-size:1em;font-weight:normal}.case-study-detail p:first-child{margin-top:0}.case-study-detail p:last-child{margin-bottom:0}.case-label{color:#000000;font-weight:600;font-size:1em}.capability-transfer{padding:18px;background-color:#f0f8ff;border-left:4px solid #0366d6;border-radius:4px}.capability-transfer p{font-size:0.95em;line-height:1.6;color:#1e3c72;margin:0}@media screen and (max-width: 768px){.capabilities-hexagon{grid-template-columns:repeat(2, 1fr);gap:20px}.capabilities-hexagon .capability-circle:nth-child(4),.capabilities-hexagon .capability-circle:nth-child(5),.capabilities-hexagon .capability-circle:nth-child(6){margin-left:0}.capability-circle{width:100px;height:100px}.circle-icon{font-size:1.8em}.circle-label{font-size:0.65em}.capability-detail-content{padding:20px}.case-study-summary{padding:12px 15px;font-size:0.95em}.case-study.expanded .case-study-detail{padding:15px}.case-study-detail p{font-size:0.9em}}
