a:focus{outline:thin dotted #f89406;outline:5px auto #f89406;outline-offset:-2px}*,*:before,*:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}html{box-sizing:border-box;background-color:#fff;font-size:15px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}::-moz-selection{color:#fff;background:#000}::selection{color:#fff;background:#000}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}a{color:#003E8C}a:hover,a:active{outline:0}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic}#map_canvas img,.google-maps img{max-width:none}button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle}button,input{*overflow:visible;line-height:normal}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}label,select,button,input[type="button"],input[type="reset"],input[type="submit"],input[type="radio"],input[type="checkbox"]{cursor:pointer}input[type="search"]{box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}textarea{overflow:auto;vertical-align:top}html{position:relative;min-height:100%}body{margin:0;padding:0;padding-bottom:0em;color:#243247;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;line-height:1.5}body.overflow--hidden{overflow:hidden}h1,h2,h3,h4,h5,h6{margin:1em 0 0.5em;line-height:1.2;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-weight:bold}h1{margin-top:1em;font-size:1.4em}h2{font-size:1.2em}h3{font-size:1em}h4{font-size:1em}h5{font-size:1em}h6{font-size:1em}small,.small{font-size:1em}p{margin-bottom:0.5em}u,ins{text-decoration:none;border-bottom:1px solid #243247}u a,ins a{color:inherit}ul{padding-inline-start:2em;margin-block-start:0.5em}del a{color:inherit}p,pre,blockquote,ul,ol,dl,figure,table,fieldset{orphans:3;widows:3}abbr[title],abbr[data-original-title]{text-decoration:none;cursor:help;border-bottom:1px dotted #243247}blockquote{margin:2em 1em 2em 0;padding-left:1em;padding-right:1em;font-style:italic;border-left:0.25em solid #003E8C}blockquote cite{font-style:italic}blockquote cite:before{content:"\2014";padding-right:5px}a:hover,a:active{outline:0}tt,code,kbd,samp,pre{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;color:#E65555}pre{overflow-x:auto}p>code,a>code,li>code,figcaption>code,td>code{padding-top:0.1rem;padding-bottom:0.1rem;font-size:1em;background:#EDEDEB;border:1px solid #f2f3f3;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}p>code:before,p>code:after,a>code:before,a>code:after,li>code:before,li>code:after,figcaption>code:before,figcaption>code:after,td>code:before,td>code:after{letter-spacing:-0.2em;content:"\00a0"}hr{display:block;margin:1em 0;border:0;border-top:1px solid #dce5ee}ul li,ol li{margin-bottom:0.5em}li ul,li ol{margin-top:0.5em}figure{display:-webkit-box;display:flex;-webkit-box-pack:justify;justify-content:space-between;-webkit-box-align:start;align-items:flex-start;flex-wrap:wrap;margin:2em 0}figure img,figure iframe,figure .fluid-width-video-wrapper{margin-bottom:1em}figure img{width:100%;border-radius:4px;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figure>a{display:block}@media (min-width: 37.5em){figure.half>a,figure.half>img{width:calc(50% - 0.5em)}}figure.half figcaption{width:100%}@media (min-width: 37.5em){figure.third>a,figure.third>img{width:calc(33.3333% - 0.5em)}}figure.third figcaption{width:100%}figcaption{margin-bottom:0.5em;color:#5b6575;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em}figcaption a{color:inherit;text-decoration:none;border-bottom:1px solid #bdc1c4;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}figcaption a:hover{color:#000;border-bottom-color:#000}svg:not(:root){overflow:hidden}nav ul{margin:0;padding:0}nav li{list-style:none}nav a{text-decoration:none}nav ul li,nav ol li{margin-bottom:0}nav li ul,nav li ol{margin-top:0}b,i,strong,em,blockquote,p,q,span,figure,img,h1,h2,header,input,a,tr,td,form button,input[type="submit"],.btn,#goog-wm-sb,.highlight,.archive__item-teaser{-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out}.hidden{display:none;visibility:hidden}.load{display:none}.transparent{opacity:0}.visually-hidden,.screen-reader-text,.screen-reader-text span,.screen-reader-shortcut{position:absolute !important;clip:rect(1px, 1px, 1px, 1px);height:1px !important;width:1px !important;border:0 !important;overflow:hidden}body:hover .visually-hidden a,body:hover .visually-hidden input,body:hover .visually-hidden button{display:none !important}.screen-reader-text:focus,.screen-reader-shortcut:focus{clip:auto !important;height:auto !important;width:auto !important;display:block;font-size:1em;font-weight:bold;padding:15px 23px 14px;background:#fff;z-index:100000;text-decoration:none;box-shadow:0 0 2px 2px rgba(0,0,0,0.6)}.skip-link{position:fixed;z-index:20;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;white-space:nowrap}.skip-link li{height:0;width:0;list-style:none}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.cf{clear:both}.wrapper{max-width:925px;margin-left:auto;margin-right:auto}.wrapper:after{content:" ";display:block;clear:both}.align-left{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-left{float:left;margin-right:1em}}.align-right{display:block;margin-left:auto;margin-right:auto}@media (min-width: 37.5em){.align-right{float:right;margin-left:1em}}.align-center{display:block;margin-left:auto;margin-right:auto}@media (min-width: 57.8125em){.full{margin-right:-19.4915254237% !important}}.icon{display:inline-block;fill:currentColor;width:1em;height:1.1em;line-height:1;position:relative;top:-0.1em;vertical-align:middle}.social-icons .fa{color:#000}.social-icons .fa-behance,.social-icons .fa-behance-square{color:#1769FF}.social-icons .fa-dribbble{color:#ea4c89}.social-icons .fa-facebook,.social-icons .fa-facebook-square{color:#3b5998}.social-icons .fa-flickr{color:#ff0084}.social-icons .fa-foursquare{color:#0072b1}.social-icons .fa-github,.social-icons .fa-github-alt,.social-icons .fa-github-square{color:#171516}.social-icons .fa-google-plus,.social-icons .fa-google-plus-square{color:#dd4b39}.social-icons .fa-instagram{color:#517fa4}.social-icons .fa-lastfm,.social-icons .fa-lastfm-square{color:#d51007}.social-icons .fa-linkedin,.social-icons .fa-linkedin-square{color:#007bb6}.social-icons .fa-pinterest,.social-icons .fa-pinterest-p,.social-icons .fa-pinterest-square{color:#cb2027}.social-icons .fa-rss,.social-icons .fa-rss-square{color:#fa9b39}.social-icons .fa-soundcloud{color:#f30}.social-icons .fa-stack-exchange,.social-icons .fa-stack-overflow{color:#fe7a15}.social-icons .fa-tumblr,.social-icons .fa-tumblr-square{color:#32506d}.social-icons .fa-twitter,.social-icons .fa-twitter-square{color:#55acee}.social-icons .fa-vimeo,.social-icons .fa-vimeo-square{color:#1ab7ea}.social-icons .fa-vine{color:#00bf8f}.social-icons .fa-youtube,.social-icons .fa-youtube-square,.social-icons .fa-youtube-play{color:#b00}.social-icons .fa-xing,.social-icons .fa-xing-square{color:#006567}.navicon{position:relative;width:28px;height:4px;background:#fff;margin:auto;-webkit-transition:0.3s;transition:0.3s}.navicon:before,.navicon:after{content:"";position:absolute;left:0;width:28px;height:4px;background:#fff;-webkit-transition:0.3s;transition:0.3s}.navicon:before{top:-8px}.navicon:after{bottom:-8px}.close .navicon{background:transparent}.close .navicon:before,.close .navicon:after{-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%;top:0;width:28px}.close .navicon:before{-webkit-transform:rotate3d(0, 0, 1, 45deg);transform:rotate3d(0, 0, 1, 45deg)}.close .navicon:after{-webkit-transform:rotate3d(0, 0, 1, -45deg);transform:rotate3d(0, 0, 1, -45deg)}@media (min-width: 57.8125em){.sticky{clear:both;position:-webkit-sticky;position:sticky;top:6em}.sticky::after{clear:both;content:"";display:table}.sticky>*{display:block}}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.show-modal{overflow:hidden;position:relative}.show-modal:before{position:absolute;content:"";top:0;left:0;width:100%;height:100%;z-index:999;background-color:rgba(255,255,255,0.85)}.show-modal .modal{display:block}.modal{display:none;position:fixed;width:300px;top:50%;left:50%;margin-left:-150px;margin-top:-150px;min-height:0;z-index:9999;background:#fff;border:1px solid #dce5ee;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.modal__title{margin:0;padding:0.5em 1em}.modal__supporting-text{padding:0 1em 0.5em 1em}.modal__actions{padding:0.5em 1em;border-top:1px solid #dce5ee}.footnote{color:#9ba1a6;text-decoration:none}.footnotes{color:#9ba1a6}.footnotes ol,.footnotes li,.footnotes p{margin-bottom:0;font-size:1em}a.reversefootnote{color:#7a8288;text-decoration:none}a.reversefootnote:hover{text-decoration:underline}.required{color:#ee5f5b;font-weight:bold}@-webkit-keyframes intro{0%{opacity:0}100%{opacity:1}}@keyframes intro{0%{opacity:0}100%{opacity:1}}table{margin-bottom:1em;width:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;border-collapse:collapse}table+table{margin-top:1em}thead{background-color:#f2f3f3}th{padding:0.5em;font-weight:bold;text-align:left}tr{padding-bottom:.5em;padding-top:.5em}td{padding:.5em;border-bottom:1px solid #bdc1c4}tr,td,th{vertical-align:middle}.btn,#goog-wm-sb{display:inline-block;margin-bottom:0.25em;padding:0.5em 1em;color:#fff !important;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;font-weight:bold;text-align:center;text-decoration:none;background-color:#003E8C;border:0 !important;border-radius:4px;cursor:pointer}.btn:hover,#goog-wm-sb:hover{background-color:#333}.btn .icon,#goog-wm-sb .icon{margin-right:0.5em}.btn .icon+.hidden,#goog-wm-sb .icon+.hidden{margin-left:-0.5em}.btn--block{display:block;width:100%}.btn--block+.btn--block{margin-top:0.25em}.btn--inverse{color:#7a8288 !important;border:1px solid #bdc1c4 !important;background-color:#fff}.btn--inverse:hover{color:#fff !important;border-color:#7a8288}.btn--light-outline{border:1px solid #fff !important;background-color:transparent}.btn--info{background-color:#003E8C}.btn--info:hover{background-color:#003270}.btn--warning{background-color:#f89406}.btn--warning:hover{background-color:#c67605}.btn--success{background-color:#62c462}.btn--success:hover{background-color:#4e9d4e}.btn--danger{background-color:#ee5f5b}.btn--danger:hover{background-color:#be4c49}.btn--disabled{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.btn--facebook{background-color:#3b5998}.btn--facebook:hover{background-color:#2f477a}.btn--twitter{background-color:#55acee}.btn--twitter:hover{background-color:#448abe}.btn--google-plus{background-color:#dd4b39}.btn--google-plus:hover{background-color:#b13c2e}.btn--linkedin{background-color:#007bb6}.btn--linkedin:hover{background-color:#006292}.btn--x-large{font-size:1.2em}.btn--large{font-size:1em}.btn--small{font-size:.6875em}.notice{margin:2em 0 !important;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em !important;text-indent:initial;background-color:#f8f9f9;border-radius:4px;box-shadow:0 1px 1px rgba(189,193,196,0.25)}.notice h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice h4{margin-bottom:0;font-size:1em}.notice p:last-child{margin-bottom:0 !important}.notice h4+p{margin-top:0;padding-top:0}.notice a{color:#bdc1c4}.notice a:hover{color:#717476}.notice code{background-color:#fcfcfc}.notice ul:last-child{margin-bottom:0}.notice--primary{margin:2em 0 !important;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em !important;text-indent:initial;background-color:#e6ecf4;border-radius:4px;box-shadow:0 1px 1px rgba(0,62,140,0.25)}.notice--primary h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--primary h4{margin-bottom:0;font-size:1em}.notice--primary p:last-child{margin-bottom:0 !important}.notice--primary h4+p{margin-top:0;padding-top:0}.notice--primary a{color:#003E8C}.notice--primary a:hover{color:#002554}.notice--primary code{background-color:#f2f5f9}.notice--primary ul:last-child{margin-bottom:0}.notice--info{margin:2em 0 !important;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em !important;text-indent:initial;background-color:#e6ecf4;border-radius:4px;box-shadow:0 1px 1px rgba(0,62,140,0.25)}.notice--info h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--info h4{margin-bottom:0;font-size:1em}.notice--info p:last-child{margin-bottom:0 !important}.notice--info h4+p{margin-top:0;padding-top:0}.notice--info a{color:#003E8C}.notice--info a:hover{color:#002554}.notice--info code{background-color:#f2f5f9}.notice--info ul:last-child{margin-bottom:0}.notice--warning{margin:2em 0 !important;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em !important;text-indent:initial;background-color:#fef4e6;border-radius:4px;box-shadow:0 1px 1px rgba(248,148,6,0.25)}.notice--warning h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--warning h4{margin-bottom:0;font-size:1em}.notice--warning p:last-child{margin-bottom:0 !important}.notice--warning h4+p{margin-top:0;padding-top:0}.notice--warning a{color:#f89406}.notice--warning a:hover{color:#955904}.notice--warning code{background-color:#fffaf3}.notice--warning ul:last-child{margin-bottom:0}.notice--success{margin:2em 0 !important;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em !important;text-indent:initial;background-color:#eff9ef;border-radius:4px;box-shadow:0 1px 1px rgba(98,196,98,0.25)}.notice--success h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--success h4{margin-bottom:0;font-size:1em}.notice--success p:last-child{margin-bottom:0 !important}.notice--success h4+p{margin-top:0;padding-top:0}.notice--success a{color:#62c462}.notice--success a:hover{color:#3b763b}.notice--success code{background-color:#f7fcf7}.notice--success ul:last-child{margin-bottom:0}.notice--danger{margin:2em 0 !important;padding:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em !important;text-indent:initial;background-color:#fdefef;border-radius:4px;box-shadow:0 1px 1px rgba(238,95,91,0.25)}.notice--danger h4{margin-top:0 !important;margin-bottom:0.75em}.page__content .notice--danger h4{margin-bottom:0;font-size:1em}.notice--danger p:last-child{margin-bottom:0 !important}.notice--danger h4+p{margin-top:0;padding-top:0}.notice--danger a{color:#ee5f5b}.notice--danger a:hover{color:#8f3937}.notice--danger code{background-color:#fef7f7}.notice--danger ul:last-child{margin-bottom:0}.masthead{position:sticky;top:0;background-color:white;border-bottom:1px solid #dce5ee;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.15s;animation-delay:0.15s;z-index:20}.masthead__inner-wrap{max-width:925px;margin-left:auto;margin-right:auto;clear:both;padding:.5em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif}.masthead__inner-wrap:after{content:" ";display:block;clear:both}.masthead__inner-wrap::after{clear:both;content:"";display:table}@media (min-width: 80em){.masthead__inner-wrap{max-width:1280px}}.masthead__inner-wrap nav{z-index:10}.masthead__inner-wrap a{text-decoration:none}.masthead__menu ul{margin:0;padding:0;clear:both;list-style-type:none}.greedy-nav{display:flex;align-items:center}.greedy-nav .visible-links{flex:1 1 auto;min-width:0}.masthead__lang{margin-left:auto;flex:0 0 auto;white-space:nowrap;padding-left:1rem}.masthead__lang-link{display:inline-block;padding:0.25rem 0.5rem}@media (min-width: 48em){.masthead__menu-home-item{display:block !important}}.masthead__menu-home-item img,.masthead__menu-home-item a{vertical-align:middle}.masthead__menu-item{display:block;list-style-type:none;white-space:nowrap}.masthead__menu-item--lg{padding-right:2em;font-weight:700}.breadcrumbs{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:0;margin-bottom:0;padding-left:2em;padding-right:2em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.30s;animation-delay:0.30s}.breadcrumbs:after{content:" ";display:block;clear:both}.breadcrumbs::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.breadcrumbs{padding-left:1em;padding-right:1em}}@media (min-width: 80em){.breadcrumbs{max-width:1280px}}.breadcrumbs ol{padding:0;list-style:none;font-size:1em}@media (min-width: 57.8125em){.breadcrumbs ol{width:83.0508474576%;float:right;margin-right:0}}@media (min-width: 80em){.breadcrumbs ol{padding-left:4.2372881356%}}.breadcrumbs li{display:inline}.breadcrumbs .current{font-weight:bold}.pagination{clear:both;width:100%;float:left;margin-left:0;margin-right:0;clear:both;margin-top:1em;padding-top:1em}.pagination::after{clear:both;content:"";display:table}.pagination ul{margin:0;padding:0;list-style-type:none;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif}.pagination li{display:block;float:left;margin-left:-1px}.pagination li a{margin-bottom:0.25em;padding:0.5em 1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:0.875rem;font-weight:bold;line-height:1.5;text-align:center;text-decoration:none;color:#9ba1a6;border:1px solid #bdc1c4;border-radius:0}.pagination li a:hover{color:#002f69}.pagination li a.current{color:#fff;background:#003E8C}.pagination li a.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.pagination li:first-child{margin-left:0}.pagination li:first-child a{border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination li:last-child a{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination--pager{display:block;padding:1em 2em;float:left;width:50%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;font-weight:bold;text-align:center;text-decoration:none;color:#bdc1c4;border:1px solid #bdc1c4;border-radius:4px}.pagination--pager:hover{color:#002f69}.pagination--pager:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.pagination--pager:last-child{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.pagination--pager.disabled{color:#dee0e1;pointer-events:none;cursor:not-allowed}.page__content+.pagination,.page__meta+.pagination,.comment__date+.pagination,.page__share+.pagination,.page__comments+.pagination{margin-top:2em;padding-top:2em;border-top:1px solid #dce5ee}.greedy-nav{position:relative;min-width:250px;background:#fff}.greedy-nav a{display:block;margin:0 1rem;padding:0.5rem 0;color:#003E8C;text-decoration:none}.greedy-nav a:hover{color:#002f69}.greedy-nav button{position:absolute;height:100%;right:0;padding:0 0.5rem;border:0;outline:none;background-color:#003E8C;color:#fff;cursor:pointer}.greedy-nav .visible-links{display:table}.greedy-nav .visible-links li{display:table-cell;vertical-align:middle}.greedy-nav .visible-links li:first-child{font-weight:bold}.greedy-nav .visible-links li:first-child a{margin-left:0}.greedy-nav .visible-links li:last-child a{margin-right:0}.greedy-nav .visible-links a{position:relative}.greedy-nav .visible-links a:before{content:"";position:absolute;left:0;bottom:0;height:4px;background:#809fc6;width:100%;-webkit-transition:all 0.2s ease-in-out;transition:all 0.2s ease-in-out;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0)}.greedy-nav .visible-links a:hover:before{-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1)}.greedy-nav .hidden-links{position:absolute;top:100%;right:0;margin-top:15px;padding:5px;border:1px solid #dce5ee;border-radius:4px;background:#fff;box-shadow:0 0 10px rgba(0,0,0,0.25)}.greedy-nav .hidden-links a{margin:0;padding:10px 20px;font-size:1em}.greedy-nav .hidden-links a:hover{color:#002f69;background:#bfcfe2}.greedy-nav .hidden-links:before{content:"";position:absolute;top:-11px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#dce5ee transparent;display:block;z-index:0}.greedy-nav .hidden-links:after{content:"";position:absolute;top:-10px;right:10px;width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;display:block;z-index:1}.greedy-nav .hidden-links li{display:block;border-bottom:1px solid #dce5ee}.greedy-nav .hidden-links li:last-child{border-bottom:none}.nav__list{font-size:1.25rem}.nav__list ul{margin-bottom:1em}.nav__list a{display:block;padding:0.125em 0;color:inherit}.nav__list a:hover{text-decoration:underline}.nav__list .active{margin-left:-0.5em;padding-left:0.5em;padding-right:0.5em;color:#fff;font-weight:bold;background:#003E8C;border-radius:4px}.nav__list .active:hover{color:#fff}.nav__title{margin:0;padding:0.5rem 1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;font-weight:bold}.nav__sub-title{display:block;margin:0.5rem 0;padding:0.5rem 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;font-weight:bold;text-transform:uppercase;border-bottom:1px solid #dce5ee}.toc{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;color:#7a8288;text-transform:uppercase;letter-spacing:1px;background-color:#fff;border:1px solid #dce5ee;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}.toc .nav__title{color:#fff;font-size:1em;background:#003E8C;border-top-left-radius:4px;border-top-right-radius:4px}.toc__menu{margin:0;padding:0;width:100%;list-style:none;font-size:0.8rem}.toc__menu a{display:block;padding:0.5rem 1rem;color:#7a8288;font-size:.6875em;font-weight:bold;line-height:1.5;border-bottom:1px solid #dce5ee}.toc__menu a:hover{color:#000;background:#f2f3f3}.toc__menu>li:last-child a{border-bottom:none}.toc__menu li ul>li a{padding-left:2rem;font-weight:normal}.toc__menu li>ul li{display:none}@media (min-width: 48em){.toc__menu li>ul li{display:block}}.page__footer{clear:both;float:left;margin-left:0;margin-right:0;width:100%;clear:both;position:absolute;bottom:0em;height:auto;margin-top:3em;color:#9ba1a6;-webkit-animation:intro 0.3s both;animation:intro 0.3s both;-webkit-animation-delay:0.45s;animation-delay:0.45s;background-color:#f2f3f3;border-top:1px solid #bdc1c4}.page__footer::after{clear:both;content:"";display:table}.page__footer footer{clear:both;margin-left:auto;margin-right:auto;margin-top:2em;max-width:100%;padding:0 1em 2em}.page__footer footer::after{clear:both;content:"";display:table}@media (min-width: 80em){.page__footer footer{max-width:1280px}}.page__footer a{color:inherit;text-decoration:none}.page__footer a:hover{text-decoration:underline}.page__footer .fas,.page__footer .fab,.page__footer .far,.page__footer .fal{color:#9ba1a6}.page__footer-copyright{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:.6875em}.page__footer-follow ul{margin:0;padding:0;list-style-type:none}.page__footer-follow li{display:inline-block;padding-top:5px;padding-bottom:5px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;text-transform:uppercase}.page__footer-follow li+li:before{content:"";padding-right:5px}.page__footer-follow a{padding-right:10px;font-weight:bold}.page__footer-follow .social-icons a{white-space:nowrap}div.highlighter-rouge,figure.highlight{position:relative;margin-bottom:1em;padding:1em;border:1px solid #dce5ee;border-radius:4px;background-color:#EDEDEB;box-shadow:0 1px 1px rgba(0,0,0,0.125)}div.highlighter-rouge:before,figure.highlight:before{position:absolute;top:0;right:0;padding:0.5em;background-color:#f2f3f3;content:"\f121";font-family:"fontawesome" !important;font-size:1em;line-height:1;text-transform:none;speak:none}div.highlighter-rouge .highlight,figure.highlight .highlight{margin:0;font-family:"JetBrains Mono","Fira Code",Monaco,Consolas,"Lucida Console",monospace;font-size:1em;line-height:1.8;color:#586e75}.highlight table td{padding:5px}.highlight table pre{margin:0}.highlight .c{color:#93a1a1}.highlight .err{color:#586e75}.highlight .g{color:#586e75}.highlight .k{color:#859900}.highlight .l{color:#586e75}.highlight .n{color:#586e75}.highlight .o{color:#859900}.highlight .x{color:#cb4b16}.highlight .p{color:#586e75}.highlight .cm{color:#93a1a1}.highlight .cp{color:#859900}.highlight .c1{color:#93a1a1}.highlight .cs{color:#859900}.highlight .gd{color:#2aa198}.highlight .ge{color:#586e75;font-style:italic}.highlight .gr{color:#dc322f}.highlight .gh{color:#cb4b16}.highlight .gi{color:#859900}.highlight .go{color:#586e75}.highlight .gp{color:#586e75}.highlight .gs{color:#586e75;font-weight:bold}.highlight .gu{color:#cb4b16}.highlight .gt{color:#586e75}.highlight .kc{color:#cb4b16}.highlight .kd{color:#22b3eb}.highlight .kn{color:#859900}.highlight .kp{color:#859900}.highlight .kr{color:#22b3eb}.highlight .kt{color:#dc322f}.highlight .ld{color:#586e75}.highlight .m{color:#2aa198}.highlight .s{color:#2aa198}.highlight .na{color:#586e75}.highlight .nb{color:#B58900}.highlight .nc{color:#22b3eb}.highlight .no{color:#cb4b16}.highlight .nd{color:#22b3eb}.highlight .ni{color:#cb4b16}.highlight .ne{color:#cb4b16}.highlight .nf{color:#22b3eb}.highlight .nl{color:#586e75}.highlight .nn{color:#586e75}.highlight .nx{color:#586e75}.highlight .py{color:#586e75}.highlight .nt{color:#22b3eb}.highlight .nv{color:#22b3eb}.highlight .ow{color:#859900}.highlight .w{color:#586e75}.highlight .mf{color:#2aa198}.highlight .mh{color:#2aa198}.highlight .mi{color:#2aa198}.highlight .mo{color:#2aa198}.highlight .sb{color:#93a1a1}.highlight .sc{color:#2aa198}.highlight .sd{color:#586e75}.highlight .s2{color:#2aa198}.highlight .se{color:#cb4b16}.highlight .sh{color:#586e75}.highlight .si{color:#2aa198}.highlight .sx{color:#2aa198}.highlight .sr{color:#dc322f}.highlight .s1{color:#2aa198}.highlight .ss{color:#2aa198}.highlight .bp{color:#22b3eb}.highlight .vc{color:#22b3eb}.highlight .vg{color:#22b3eb}.highlight .vi{color:#22b3eb}.highlight .il{color:#2aa198}form{margin:0 0 5px 0}form fieldset{margin-bottom:5px;padding:0;border-width:0}form legend{display:block;width:100%;margin-bottom:10px;*margin-left:-7px;padding:0;color:#243247;border:0;border-bottom:1px solid #ccc;white-space:normal}form p{margin-bottom:5px / 2}form ul{list-style-type:none;margin:0 0 5px 0;padding:0}form br{display:none}label,input,button,select,textarea{vertical-align:baseline;*vertical-align:middle}input,button,select,textarea{box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif}label{display:block;margin-bottom:0.25em;color:#243247;cursor:pointer}label small{font-size:1em}label input,label textarea,label select{display:block}input,textarea,select{display:inline-block;width:100%;padding:0.25em;margin-bottom:0.5em;color:#243247;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,0.125)}input:hover,textarea:hover,select:hover{border-color:#809fc6}.input-mini{width:60px}.input-small{width:90px}input[type="image"],input[type="checkbox"],input[type="radio"]{width:auto;height:auto;padding:0;margin:3px 0;*margin-top:0;line-height:normal;cursor:pointer;border-radius:0;border:0 \9}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="image"]{border:0;box-shadow:none}input[type="file"]{width:auto;padding:initial;line-height:initial;border:initial;background-color:transparent;background-color:initial;box-shadow:none}input[type="button"],input[type="reset"],input[type="submit"]{width:auto;height:auto;cursor:pointer;*overflow:visible}select,input[type="file"]{*margin-top:4px}select{width:auto;background-color:#fff}select[multiple],select[size]{height:auto}textarea{resize:vertical;height:auto;overflow:auto;vertical-align:top}input[type="hidden"]{display:none}.form{position:relative}.radio,.checkbox{padding-left:18px;font-weight:normal}.radio input[type="radio"],.checkbox input[type="checkbox"]{float:left;margin-left:-18px}.radio.inline,.checkbox.inline{display:inline-block;padding-top:5px;margin-bottom:0;vertical-align:middle}.radio.inline+.radio.inline,.checkbox.inline+.checkbox.inline{margin-left:10px}input[disabled],select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{opacity:0.5;cursor:not-allowed}input:focus,textarea:focus{border-color:#003E8C;outline:0;outline:thin dotted \9}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus,select:focus{box-shadow:none}.help-block,.help-inline{color:#003E8C}.help-block{display:block;margin-bottom:1em;line-height:1em}.help-inline{display:inline-block;vertical-align:middle;padding-left:5px}.form-inline input,.form-inline textarea,.form-inline select{display:inline-block;margin-bottom:0}.form-inline label{display:inline-block}.form-inline .radio,.form-inline .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form-search input,.form-search textarea,.form-search select{display:inline-block;margin-bottom:0}.form-search .search-query{padding-left:14px;padding-right:14px;margin-bottom:0;border-radius:14px}.form-search label{display:inline-block}.form-search .radio,.form-search .checkbox,.form-inline .radio{padding-left:0;margin-bottom:0;vertical-align:middle}.form-search .radio input[type="radio"],.form-search .checkbox input[type="checkbox"]{float:left;margin-left:0;margin-right:3px}.form--loading:before{content:''}.form--loading .form__spinner{display:block}.form:before{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0.7);z-index:10}.form__spinner{display:none;position:absolute;top:50%;left:50%;z-index:11}#goog-fixurl ul{list-style:none;margin-left:0;padding-left:0}#goog-fixurl ul li{list-style-type:none}#goog-wm-qt{width:auto;margin-right:10px;margin-bottom:20px;padding:8px 20px;display:inline-block;font-size:1em;background-color:#fff;color:#000;border-width:2px !important;border-style:solid !important;border-color:gray;border-radius:4px}#main{max-width:925px;margin-left:auto;margin-right:auto;clear:both;margin-top:1em;padding-left:1em;padding-right:1em;animation:intro 0.3s both;animation-delay:0.35s}#main:after{content:" ";display:block;clear:both}#main::after{clear:both;content:"";display:table}@media (min-width: 80em){#main{max-width:1280px}}@media (min-width: 57.8125em){.page{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:0%}}.page .page__inner-wrap{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page .page__inner-wrap .page__content,.page .page__inner-wrap .page__meta,.page .page__inner-wrap .comment__date,.page .page__inner-wrap .page__share{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__title{margin-top:0;line-height:1}.page__title+.page__meta,.page__title+.comment__date{margin-top:-0.5em}.page__lead{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1.2em}.page__content h1{margin-top:1em;padding-bottom:0.5em;border-bottom:1px solid #dce5ee}.page__content p,.page__content li,.page__content dl{font-size:1em}.page__content p{margin:0 0 .5em}.page__content a{text-decoration:auto}.page__content a:hover{text-decoration:underline}.page__content a:hover img{-webkit-filter:drop-shadow(0rem 0rem 1.5pt rgba(81,81,81,0.551))}.page__content dt{margin-top:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-weight:bold}.page__content dd{margin-left:1em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em}.page__content .small{font-size:1em}.page__content blockquote+.small{margin-top:-1.5em;padding-left:1.25rem}.page__hero{position:relative;margin-bottom:2em;clear:both;animation:intro 0.3s both;animation-delay:0.25s}.page__hero::after{clear:both;content:"";display:table}.page__hero--overlay{position:relative;margin-bottom:2em;padding:3em 0;clear:both;background-size:cover;background-repeat:no-repeat;background-position:center;animation:intro 0.3s both;animation-delay:0.25s}.page__hero--overlay::after{clear:both;content:"";display:table}.page__hero--overlay a{color:#fff}.page__hero--overlay .wrapper{padding-left:1em;padding-right:1em}@media (min-width: 80em){.page__hero--overlay .wrapper{max-width:1280px}}.page__hero--overlay .page__title,.page__hero--overlay .page__meta,.page__hero--overlay .comment__date,.page__hero--overlay .page__lead,.page__hero--overlay .btn,.page__hero--overlay #goog-wm-sb{color:#fff;text-shadow:1px 1px 4px rgba(0,0,0,0.5)}.page__hero--overlay .page__lead{max-width:768px}.page__hero--overlay .page__title{font-size:1.953em}@media (min-width: 37.5em){.page__hero--overlay .page__title{font-size:2.441em}}.page__hero-image{width:100%;height:auto;-ms-interpolation-mode:bicubic}.page__hero-caption{position:absolute;bottom:0;right:0;margin:0 auto;padding:2px 5px;color:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:.6875em;background:#000;text-align:right;z-index:5;opacity:0.5;border-radius:4px 0 4px 0}@media (min-width: 57.8125em){.page__hero-caption{padding:5px 10px}}.page__hero-caption a{color:#fff;text-decoration:none}.page__share{margin-top:2em;padding-top:1em;border-top:1px solid #dce5ee}@media (max-width: 37.5em){.page__share .btn span,.page__share #goog-wm-sb span{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}}.page__share-title{margin-bottom:10px;font-size:1em;text-transform:uppercase}.page__meta,.comment__date{margin-top:2em;color:#9ba1a6;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em}.page__meta p,.comment__date p{margin:0}.page__meta a,.comment__date a{color:inherit}.page__meta-title{margin-bottom:10px;font-size:1em;text-transform:uppercase}.page__taxonomy .sep{display:none}.page__taxonomy strong{margin-right:10px}.page__taxonomy-item{display:inline-block;margin-right:5px;margin-bottom:8px;padding:5px 10px;text-decoration:none;border:1px solid #bdc1c4;border-radius:4px}.page__taxonomy-item:hover{text-decoration:none;color:#002f69}.page__comments{clear:both;width:100%;float:left;margin-left:0;margin-right:0}.page__comments-title{margin-top:2rem;margin-bottom:10px;padding-top:2rem;font-size:1em;border-top:1px solid #dce5ee;text-transform:uppercase}.page__comments-form{padding:1em;background:#f2f3f3;transition:all 0.2s ease-in-out}.page__comments-form.disabled input,.page__comments-form.disabled button,.page__comments-form.disabled textarea,.page__comments-form.disabled label{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);box-shadow:none;opacity:0.65}.comment{clear:both;margin:1em 0}.comment::after{clear:both;content:"";display:table}.comment:not(:last-child){border-bottom:1px solid #dce5ee}.comment__avatar-wrapper{float:left;width:60px;height:60px}@media (min-width: 57.8125em){.comment__avatar-wrapper{width:100px;height:100px}}.comment__avatar{width:40px;height:40px;border-radius:50%}@media (min-width: 57.8125em){.comment__avatar{width:80px;height:80px;padding:5px;border:1px solid #dce5ee}}.comment__content-wrapper{float:right;width:calc(100% - 60px)}@media (min-width: 57.8125em){.comment__content-wrapper{width:calc(100% - 100px)}}.comment__author{margin:0}.comment__author a{text-decoration:none}.comment__date{margin:0}.comment__date a{text-decoration:none}.page__related{margin-top:2em;padding-top:1em;border-top:1px solid #dce5ee;clear:both;float:left}.page__related::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.page__related{margin-left:21.186440678%}}.page__related a{color:inherit;text-decoration:none}.page__related-title{margin-bottom:10px;font-size:1em;text-transform:uppercase}.footer_site{padding-top:9em;align-items:center}.page_a{color:#003E8C;text-decoration:none}.page_a:hover{text-decoration:underline}hr{width:100%;margin:auto}.footer_copyright{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;margin-top:0.5em;margin-bottom:1em;display:flex;justify-content:center;align-items:center}.project-card{display:flex;flex-direction:row;align-items:flex-start;margin-bottom:25px;padding:15px;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px rgba(0,62,140,0.06);transition:transform 0.2s ease, box-shadow 0.2s ease;border:1px solid #f0f0f0}.project-card:hover{transform:translateY(-3px);box-shadow:0 8px 16px rgba(0,62,140,0.12)}.project-thumbnail{flex-shrink:0;width:200px;margin-right:20px}.project-thumbnail img,.project-thumbnail video{width:100%;border-radius:6px;object-fit:cover;aspect-ratio:16/9;border:1px solid #eaeaea}.project-info{flex-grow:1}.project-info h3{margin-top:0;margin-bottom:8px;font-size:1.25em}.project-info h3 a{text-decoration:none;color:#003E8C}.project-meta{font-size:0.85em;color:#7f8c8d;margin-bottom:10px}.project-summary{font-size:0.95em;color:#444;margin-bottom:12px;line-height:1.6}.project-tags span{display:inline-block;background:#f1f3f5;padding:4px 10px;border-radius:4px;font-size:0.85em;color:#495057;margin-right:8px;margin-bottom:6px}@media (max-width: 768px){.project-card{flex-direction:column}.project-thumbnail{width:100%;margin-right:0;margin-bottom:15px}}.tech-accordion{margin-bottom:20px;border:1px solid #f0f0f0;border-radius:8px;background-color:#fff;box-shadow:0 2px 8px rgba(0,62,140,0.03);overflow:hidden}.tech-accordion>summary{padding:15px 20px;font-size:1.1em;font-weight:600;color:#2c3e50;background-color:#fafbfc;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;transition:background-color 0.2s ease}.tech-accordion>summary::-webkit-details-marker{display:none}.tech-accordion>summary:hover{background-color:#f1f3f5}.tech-accordion>summary::after{content:'+';font-size:1.2em;color:#7f8c8d;transition:transform 0.3s ease}.tech-accordion[open]>summary::after{content:'\2212';transform:rotate(180deg)}.tech-accordion[open]>summary{border-bottom:1px solid #f0f0f0}.tech-accordion-content{padding:20px;background-color:#fff;color:#444;line-height:1.6}.archive{margin-bottom:2em}@media (min-width: 48em){.archive{width:100%;float:left;margin-left:0;margin-right:0}}@media (min-width: 57.8125em){.archive{width:83.0508474576%;float:right;margin-right:0;padding-left:4.2372881356%}}.archive a{text-decoration:auto}.archive a:hover{text-decoration:underline}.archive a:hover img{box-shadow:0 0 10px rgba(153,0,0,0.25)}.archive__subtitle{margin:1.414em 0 0;padding-bottom:0.5em;font-size:1em;color:#9ba1a6;border-bottom:1px solid #dce5ee}.archive__subtitle+.list__item .archive__item-title{margin-top:0.5em}.archive__item-title{margin-bottom:0.25em;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif}.archive__item-title a+a{opacity:0.5}.page__content .archive__item-title{margin-top:1em;border-bottom:none}.archive__item-excerpt{margin-top:0;font-size:1em}.archive__item-excerpt+p{text-indent:0}.archive__item-teaser{border-radius:4px;overflow:hidden}.archive__item-teaser img{width:100%}.archive__item:hover .archive__item-teaser{box-shadow:0 0 5px rgba(0,0,0,0.25)}.archive__item:hover .archive__item-title{text-decoration:underline}@media (min-width: 48em){.list__item{padding-right:0px}}@media (min-width: 57.8125em){.list__item{padding-right:0px}}@media (min-width: 80em){.list__item{padding-right:0px}}.list__item .page__meta,.list__item .comment__date{margin:0 0 4px}.grid__item{margin-bottom:2em}.grid__item .page__meta,.grid__item .comment__date{margin:0 0 4px}.grid__item .archive__item-title{margin-top:0.5em;font-size:1em}.grid__item .archive__item-excerpt{display:none}@media (min-width: 37.5em){.grid__item{width:48.9795918367%;float:left}.grid__item:nth-child(2n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(2n+2){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:200px}}@media (min-width: 48em){.grid__item{margin-left:0;margin-right:0;width:23.4693877551%;float:left}.grid__item:nth-child(4n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.grid__item:nth-child(4n+2){margin-left:25.5102040816%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+3){margin-left:51.0204081633%;margin-right:-100%;clear:none}.grid__item:nth-child(4n+4){margin-left:76.5306122449%;margin-right:-100%;clear:none}.grid__item .archive__item-teaser{max-height:120px}.grid__item .archive__item-excerpt{display:block;font-size:1em}}.feature__wrapper{clear:both;margin-bottom:2em;border-bottom:1px solid #dce5ee}.feature__wrapper::after{clear:both;content:"";display:table}.feature__item{margin-bottom:2em;font-size:1.25rem}@media (min-width: 37.5em){.feature__item{margin-bottom:0;width:32.2033898305%;float:left}.feature__item:nth-child(3n+1){margin-left:0;margin-right:-100%;clear:both;margin-left:0}.feature__item:nth-child(3n+2){margin-left:33.8983050847%;margin-right:-100%;clear:none}.feature__item:nth-child(3n+3){margin-left:67.7966101695%;margin-right:-100%;clear:none}.feature__item .feature__item-teaser{max-height:200px;overflow:hidden}}.feature__item--left{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--left .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--left .archive__item-teaser{width:40.6779661017%;float:left;margin-right:1.6949152542%}.feature__item--left .archive__item-body{width:57.6271186441%;float:right;margin-right:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--right{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--right .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--right{text-align:right}.feature__item--right .archive__item-teaser{width:40.6779661017%;float:right;margin-left:1.6949152542%}.feature__item--right .archive__item-body{width:57.6271186441%;float:left;margin-left:0;padding-left:4.2372881356%;padding-right:8.4745762712%}}.feature__item--center{clear:both;width:100%;float:left;margin-left:0;margin-right:0;font-size:1.25rem}.feature__item--center .archive__item-teaser{margin-bottom:2em}@media (min-width: 37.5em){.feature__item--center{text-align:center}.feature__item--center .archive__item-teaser{margin:0 auto;width:40.6779661017%}.feature__item--center .archive__item-body{margin:0 auto;width:57.6271186441%}}.sidebar{-webkit-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);clear:both;margin-bottom:1em}.sidebar::after{clear:both;content:"";display:table}@media (min-width: 57.8125em){.sidebar{width:15.2542372881%;float:left;margin-right:1.6949152542%;opacity:1;-webkit-transition:opacity 0.2s ease-in-out;transition:opacity 0.2s ease-in-out}.sidebar:hover{opacity:1}}@media (min-width: 80em){.sidebar{padding-right:0}}.sidebar h2,.sidebar h3,.sidebar h4,.sidebar h5,.sidebar h6{margin-bottom:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif}.sidebar h3,.sidebar h4{font-size:1em}.sidebar p,.sidebar li{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1em;line-height:1.5}.sidebar img{width:100%}.sidebar__right{margin-bottom:1em}@media (min-width: 57.8125em){.sidebar__right{position:relative;float:right;width:0px;margin-left:2.5423728814%;z-index:10}}@media (min-width: 80em){.sidebar__right{width:0px}}.profile_box{display:flex;justify-content:flex-start;align-content:flex-start;align-items:center}@media (min-width: 57.8125em){.profile_box{display:block}}.author__avatar{display:table-cell;vertical-align:top;width:75px}@media (min-width: 57.8125em){.author__avatar{display:block;width:auto;height:auto}}.author__avatar img{max-width:175px;min-width:75px;border-radius:50%}@media (min-width: 57.8125em){.author__avatar img{padding:5px;border:1px solid #dce5ee}}.author__content{display:table-cell;vertical-align:top;padding-left:10px;min-width:120px;line-height:1}@media (min-width: 57.8125em){.author__content{display:block;width:100%;padding-left:0;padding-right:0}}.author__name{margin:0}@media (min-width: 57.8125em){.author__name{margin-top:10px;margin-bottom:10px}}.sidebar .author__name{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;font-size:1.2em}@media (min-width: 48em){.sidebar .author__name{font-size:1.4em}}.author__bio{margin:0}@media (min-width: 57.8125em){.author__bio{margin-top:10px;margin-bottom:20px}}.author__urls-wrapper{position:relative;display:table-cell;vertical-align:middle;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC","Microsoft YaHei",Arial,sans-serif;z-index:10;position:relative;margin-left:auto;cursor:pointer}.author__urls-wrapper li:last-child a{margin-bottom:0}@media (min-width: 57.8125em){.author__urls-wrapper{display:block}}.author__urls-wrapper button{margin-bottom:0;width:120px;padding:0.5em}@media (min-width: 57.8125em){.author__urls-wrapper button{display:none}}.author__urls{display:none;position:absolute;right:0;margin-top:15px;padding:10px;list-style-type:none;border:1px solid #dce5ee;border-radius:4px;background:#fff;z-index:-1;box-shadow:0 0 10px rgba(0,0,0,0.25);cursor:default}@media (min-width: 57.8125em){.author__urls{display:block;position:relative;margin:0;padding:0;border:0;background:transparent;box-shadow:none}}.author__urls:before{display:block;content:"";position:absolute;top:-11px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#dce5ee transparent;z-index:0}@media (min-width: 57.8125em){.author__urls:before{display:none}}.author__urls:after{display:block;content:"";position:absolute;top:-10px;left:calc(50% - 10px);width:0;border-style:solid;border-width:0 10px 10px;border-color:#fff transparent;z-index:1}@media (min-width: 57.8125em){.author__urls:after{display:none}}.author__urls li{white-space:nowrap}.author__urls a{display:block;margin-bottom:5px;padding-right:5px;padding-top:2px;padding-bottom:2px;color:inherit;font-size:1em;text-decoration:none}.author__urls a:hover{text-decoration:underline}.author__urls_sm{padding:.25em;font-size:1.75em;display:block}.author__urls_sm a{color:inherit;text-decoration:none}.author__urls_sm a:hover{text-decoration:underline}@media (min-width: 57.8125em){.author__urls_sm{display:none}}@media print{.masthead,.toc,.page__share,.page__related,.ads,.page__footer{display:none}}:root{color-scheme:light;--cas-blue: #003e8c;--cas-blue-hover: #002f6c;--page-bg: #fff;--surface: #fff;--surface-subtle: #f8fafc;--surface-media: #f5f8fb;--header-bg: rgba(255, 255, 255, 0.97);--ink: #243247;--ink-strong: #10233d;--body-copy: #34445a;--body-copy-soft: #4f5f73;--nav-text: #405168;--tag-text: #46617d;--muted: #637083;--line: #dce5ee;--line-subtle: #edf1f5;--line-strong: #c8d6e5;--soft-blue: #f2f7fc;--hero-rule: #bfd3e7;--focus-ring: rgba(13, 156, 171, 0.36);--card-shadow: 0 12px 34px rgba(24, 54, 89, 0.06);--card-hover-shadow: 0 12px 30px rgba(0, 62, 140, 0.09);--menu-shadow: 0 16px 32px rgba(20, 44, 74, 0.12);--media-gradient: linear-gradient(135deg, rgba(0, 62, 140, 0.045), rgba(13, 156, 171, 0.075));--media-placeholder: #49647f;--spinner-track: rgba(0, 62, 140, 0.2);--error: #8a3b3b;--footer-text: #7a8798;--logo-bg: #fff;--page-width: 1200px}html[data-theme="dark"]{color-scheme:dark;--cas-blue: #f78166;--cas-blue-hover: #ff9a83;--page-bg: #0b111b;--surface: #111a27;--surface-subtle: #162231;--surface-media: #101925;--header-bg: rgba(11, 17, 27, 0.96);--ink: #d7e0eb;--ink-strong: #f2f5f9;--body-copy: #c9d3df;--body-copy-soft: #b7c3d1;--nav-text: #c2ccd8;--tag-text: #efb2a4;--muted: #96a5b8;--line: #2b394b;--line-subtle: #223043;--line-strong: #405169;--soft-blue: #251d20;--hero-rule: #804538;--focus-ring: rgba(247, 129, 102, 0.42);--card-shadow: 0 14px 34px rgba(0, 0, 0, 0.2);--card-hover-shadow: 0 14px 34px rgba(0, 0, 0, 0.3);--menu-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);--media-gradient: linear-gradient(135deg, rgba(247, 129, 102, 0.06), rgba(174, 22, 35, 0.04));--media-placeholder: #aab8c8;--spinner-track: rgba(247, 129, 102, 0.24);--error: #ff9b8c;--footer-text: #8796aa}html{background:var(--page-bg);font-size:16px;scroll-behavior:smooth}body{background:var(--page-bg);color:var(--ink);font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "Microsoft YaHei", Arial, sans-serif;font-size:1rem;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--cas-blue);text-underline-offset:0.18em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}img,video{max-width:100%;height:auto}.masthead{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:var(--header-bg);animation:none;backdrop-filter:blur(10px)}.masthead__inner-wrap{display:flex;max-width:var(--page-width);min-height:68px;margin:0 auto;padding:0 20px;align-items:center;justify-content:space-between}.site-brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink-strong);text-decoration:none}.site-brand__mark{display:block;width:36px;height:36px;border-radius:9px;object-fit:contain}.site-brand strong,.site-brand small{display:block;line-height:1.2}.site-brand strong{font-size:.95rem}.site-brand small{margin-top:3px;color:var(--muted);font-size:.62rem;font-weight:600;letter-spacing:0.12em;text-transform:uppercase}.site-nav{display:flex;align-items:center;gap:20px}.site-nav__links{display:flex;margin:0;padding:0;align-items:center;gap:26px;list-style:none}.site-nav__links a{position:relative;display:block;padding:20px 0;color:var(--nav-text);font-size:.99rem;font-weight:650;text-decoration:none}.site-nav__links a::after{position:absolute;right:0;bottom:13px;left:0;height:2px;background:var(--cas-blue);content:"";transform:scaleX(0);transition:transform 160ms ease}.site-nav__links a:hover{color:var(--cas-blue)}.site-nav__links a:hover::after{transform:scaleX(1)}.site-nav__language{padding:6px 10px;border:1px solid var(--line-strong);border-radius:7px;color:var(--cas-blue);font-size:.76rem;font-weight:750;text-decoration:none}.site-nav__theme{display:grid;width:34px;height:34px;padding:0;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:var(--cas-blue);place-items:center;font:inherit;cursor:pointer}.site-nav__theme:hover{background:var(--soft-blue)}.theme-toggle__moon,.theme-toggle__sun{font-size:1.08rem;font-weight:700;line-height:1}.theme-toggle__sun{display:none}html[data-theme="dark"] .theme-toggle__moon{display:none}html[data-theme="dark"] .theme-toggle__sun{display:block}.site-nav__toggle{display:none;border:0;background:transparent;color:var(--cas-blue);font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}#main{display:grid;float:none;width:min(var(--page-width), calc(100% - 40px));max-width:var(--page-width);margin:34px auto 0;padding:0;grid-template-columns:260px minmax(0, 1fr);gap:48px;animation:none}.sidebar,.page{float:none;width:auto;margin:0}.sidebar{position:sticky;top:94px;align-self:start;opacity:1}.page{min-width:0;padding:0}.page .page__inner-wrap,.page .page__content{float:none;width:100%}.author-card{padding:24px 22px 22px;border:1px solid var(--line);border-top:4px solid var(--cas-blue);border-radius:4px 4px 14px 14px;background:var(--surface);box-shadow:var(--card-shadow)}.author__avatar{display:block;width:142px;height:142px;margin-bottom:18px}.author__avatar img{display:block;width:142px;height:142px;padding:0;border:0;border-radius:18px;object-fit:cover;object-position:52% 48%}.author__content{display:block;width:100%;min-width:0;padding:0;line-height:1.45}.sidebar .author__name{margin:0;color:var(--ink-strong);font-size:1.55rem;font-weight:750}.author__alt-name{margin:5px 0 14px;color:var(--cas-blue);font-size:.75rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase}.author__bio{margin:0;color:var(--body-copy-soft);font-size:.82rem;line-height:1.7}.author__focus{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.author__label{margin:0 0 9px;color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase}.author__focus ul{display:flex;margin:0;padding:0;flex-wrap:wrap;gap:6px;list-style:none}.author__focus li{margin:0;padding:5px 8px;border-radius:5px;background:var(--soft-blue);color:var(--cas-blue);font-size:.76rem;font-weight:700;line-height:1.4}.author__links{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.author__links summary{color:var(--cas-blue);font-size:.86rem;font-weight:750;cursor:pointer}.author__links ul{display:grid;margin:12px 0 0;padding:0;gap:10px;list-style:none}.author__links li{min-width:0;margin:0}.author__link-row,.author__links a{display:grid;min-width:0;grid-template-columns:19px minmax(0, 1fr);align-items:center;gap:9px;color:inherit;text-decoration:none}.author__link-icon{display:grid;width:19px;height:19px;color:var(--cas-blue);place-items:center}.contact-icon{display:block;width:100%;height:100%;fill:currentColor}.author__links strong{overflow-wrap:anywhere;color:var(--body-copy);font-size:.8rem;font-weight:600;line-height:1.45}.author__links a:hover strong,.author__links a:focus-visible strong{color:var(--cas-blue)}.home-hero{padding:10px 0 34px;border-bottom:1px solid var(--line)}.section-eyebrow,.section-heading p{margin:0 0 9px;color:var(--cas-blue);font-size:.68rem;font-weight:800;letter-spacing:0.15em}.home-hero h1{margin:0 0 18px;padding:0;border:0;color:var(--ink-strong);font-size:clamp(1.9rem, 2.55vw, 2.1rem);font-weight:680;letter-spacing:-0.018em;line-height:1.24}.home-hero h1 span{color:var(--cas-blue)}.home-hero__intro{max-width:820px;padding-left:18px;border-left:3px solid var(--hero-rule)}.home-hero p{max-width:800px;margin:0 0 11px;color:var(--body-copy-soft);font-size:1.05rem;line-height:1.75}.home-hero__intro p:last-child{margin-bottom:0}.home-hero__lead{color:var(--body-copy) !important;font-size:1.1rem !important}.research-overview{display:grid;margin-top:28px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3, 1fr)}.research-overview>div{display:flex;min-width:0;padding:0 22px;align-items:center;gap:13px}.research-overview>div:first-child{padding-left:0}.research-overview>div+div{border-left:1px solid var(--line)}.research-overview strong{color:var(--cas-blue);font-size:2.1rem;font-variant-numeric:tabular-nums;line-height:1}.research-overview span{color:var(--muted);font-size:.78rem;line-height:1.45}.home-section{padding-top:44px;scroll-margin-top:90px}.section-heading{display:flex;margin-bottom:18px;align-items:end;justify-content:space-between;gap:20px}.section-heading p{margin-bottom:3px}.section-heading h2{margin:0;color:var(--ink-strong);font-size:1.45rem;line-height:1.3}.section-heading>span{color:var(--muted);font-size:.75rem;text-align:right}.education-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.education-list article{position:relative;display:grid;padding:17px 18px 16px 21px;border:1px solid var(--line);border-radius:9px;background:var(--surface);grid-template-columns:64px minmax(0, 1fr);gap:16px;align-items:center}.education-list article::before{position:absolute;top:17px;bottom:17px;left:-1px;width:3px;border-radius:2px;background:var(--cas-blue);content:""}.education-list__logo{display:block;width:64px;height:64px;padding:4px;border-radius:8px;background:var(--logo-bg);object-fit:contain}.education-list__content{min-width:0}.education-list time{color:var(--cas-blue);font-size:.7rem;font-weight:750}.education-list h3{margin:7px 0 4px;color:var(--ink-strong);font-size:.89rem;line-height:1.5}.education-list p{margin:0;color:var(--muted);font-size:.75rem}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.skill-group{position:relative;display:grid;min-width:0;padding:18px;border:1px solid var(--line);border-radius:9px;background:var(--surface);grid-template-columns:38px minmax(0, 1fr);column-gap:12px}.skill-group::before{position:absolute;top:17px;bottom:17px;left:-1px;width:3px;border-radius:2px;background:var(--cas-blue);content:""}.skill-group__index{margin:1px 0 0;grid-row:1 / 3;color:var(--cas-blue);font-size:1.1rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.3}.skill-group h3{margin:0 0 6px;color:var(--ink-strong);font-size:.98rem;line-height:1.45}.skill-group>p:last-child{margin:0;color:var(--body-copy-soft);font-size:.76rem;line-height:1.65}.skills-toolbox{display:flex;margin:14px 0 0;padding:13px 16px;align-items:baseline;gap:14px;border:1px solid var(--line);border-radius:9px;background:var(--soft-blue);color:var(--body-copy-soft);font-size:.76rem;line-height:1.6}.skills-toolbox strong{flex:0 0 auto;color:var(--cas-blue);font-size:.75rem;letter-spacing:0.04em}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.project-card{display:flex;min-width:0;margin:0;padding:0;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:var(--surface);box-shadow:none;transition:border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease}.project-card:hover{border-color:var(--line-strong);box-shadow:var(--card-hover-shadow);transform:translateY(-2px)}.project-card__visual{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--line);background:var(--soft-blue)}.project-card__visual picture{display:contents}.lazy-video-frame{position:relative;display:block;width:100%;max-width:100%;aspect-ratio:16 / 9;margin:1rem auto;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--media-gradient),var(--surface-media)}.lazy-video-frame>video{position:relative;z-index:1;display:block;width:100% !important;height:100% !important;margin:0 !important;opacity:1;object-fit:contain;background:transparent !important}.lazy-video-poster{position:absolute;z-index:2;inset:0;display:block;width:100%;height:100%;margin:0;object-fit:contain;pointer-events:none;transition:opacity 180ms ease, visibility 180ms ease}.lazy-video-frame.is-ready>.lazy-video-poster,.lazy-video-frame.needs-controls>video[controls] ~ .lazy-video-poster{visibility:hidden;opacity:0}.lazy-video-placeholder{position:absolute;z-index:3;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;color:var(--media-placeholder);font-size:.76rem;font-weight:650;letter-spacing:0.02em;text-align:center;pointer-events:none;visibility:hidden;opacity:0;transition:opacity 180ms ease, visibility 180ms ease}.lazy-video-placeholder::before{width:16px;height:16px;flex:0 0 16px;border:2px solid var(--spinner-track);border-top-color:var(--cas-blue);border-radius:50%;content:""}.lazy-video-frame.is-loading .lazy-video-placeholder{visibility:visible;opacity:1;transition-delay:250ms}.lazy-video-frame.is-loading .lazy-video-placeholder::before{animation:video-loading-spin 800ms linear infinite}.lazy-video-frame.has-poster .lazy-video-placeholder{inset:10px auto auto 10px;gap:6px;padding:6px 9px;border-radius:6px;background:var(--surface);font-size:.75rem}.lazy-video-frame.has-error .lazy-video-placeholder{inset:auto 8px 44px;flex-wrap:wrap;gap:8px;padding:8px;border-radius:6px;background:var(--surface);color:var(--error);visibility:visible;opacity:1;transition-delay:0ms}.lazy-video-frame.has-error .lazy-video-placeholder::before{display:none}.lazy-video-retry{padding:5px 10px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--cas-blue);font:inherit;font-size:.76rem;line-height:1.5;cursor:pointer;pointer-events:auto}.lazy-video-retry[hidden]{display:none}.lazy-video-frame>.lazy-video-retry{position:absolute;z-index:4;top:10px;right:10px}.project-card__body>.lazy-video-retry{margin-bottom:10px}.project-card__visual .lazy-video-frame{width:100% !important;height:100%;margin:0;border:0;border-radius:0}.custom-video-grid{display:grid;width:100%;margin:0 0 20px;grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px}.custom-video-grid .lazy-video-frame{width:100%;aspect-ratio:16 / 9 !important;margin:0;border:1px solid var(--line);border-radius:6px}.custom-video-grid .lazy-video-frame>video{object-fit:cover}@media (max-width: 1024px){.custom-video-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 600px){.custom-video-grid{grid-template-columns:1fr}}@keyframes video-loading-spin{to{transform:rotate(360deg)}}.project-card__media{display:block;width:100%;height:100%;margin:0;border:0;border-radius:0;object-fit:contain;background:var(--soft-blue)}.project-card__media-status{position:absolute;right:10px;bottom:10px;padding:3px 7px;border-radius:999px;background:rgba(16,35,61,0.78);color:#fff;font-size:.58rem;font-weight:750;letter-spacing:0.08em;text-transform:uppercase}.project-card__body{display:flex;padding:17px 18px 18px;flex:1;flex-direction:column}.project-card__meta{display:flex;margin:0 0 8px;justify-content:space-between;gap:12px;color:var(--muted);font-size:.65rem;line-height:1.4}.project-card__meta span:last-child{color:var(--cas-blue);font-weight:750}.project-card h3{margin:0 0 9px;font-size:.98rem;line-height:1.5}.project-card h3 a{color:var(--ink-strong);text-decoration:none}.project-card h3 a:hover{color:var(--cas-blue)}.project-card__summary{margin:0 0 14px;color:var(--body-copy-soft);font-size:.76rem;line-height:1.65}.project-card__tags{display:flex;margin:auto 0 0;padding:0;flex-wrap:wrap;gap:6px;list-style:none}.project-card__tags li{margin:0;padding:4px 7px;border-radius:5px;background:var(--soft-blue);color:var(--tag-text);font-size:.62rem;font-weight:700;line-height:1.4}.other-projects{margin-top:18px;padding:18px 20px;border:1px solid var(--line);border-radius:9px}.other-projects h3{margin:0 0 9px;color:var(--ink-strong);font-size:.94rem}.other-projects ul{margin:0;padding:0;list-style:none}.other-projects li{margin:0;border-top:1px solid var(--line-subtle)}.other-projects li:first-child{border-top:0}.other-projects a{display:grid;padding:9px 0;grid-template-columns:120px 1fr;gap:12px;color:inherit;text-decoration:none}.other-projects a:hover strong{color:var(--cas-blue)}.other-projects span{color:var(--muted);font-size:.75rem}.other-projects strong{font-size:.99rem;font-weight:650}.publication-list,.timeline-list{margin:0;padding:0;list-style:none}.publication-list>li{display:grid;padding:18px 0;border-top:1px solid var(--line);grid-template-columns:62px minmax(0, 1fr) auto;gap:17px;align-items:start}.publication-list>li:last-child{border-bottom:1px solid var(--line)}.publication-list__year{color:var(--cas-blue);font-size:1.1rem;font-weight:750}.publication-list strong{color:var(--ink-strong);font-size:.94rem}.publication-list li div p{margin:5px 0 0;color:var(--muted);font-size:.8rem;line-height:1.55}.publication-list__links{display:flex;margin:0;gap:6px}.publication-list__links a{padding:4px 7px;border:1px solid var(--line-strong);border-radius:5px;font-size:.68rem;font-weight:750;text-decoration:none;text-transform:uppercase}.empty-note{color:var(--muted);font-size:.8rem}.timeline-list li{display:grid;padding:10px 0;border-top:1px solid var(--line-subtle);grid-template-columns:100px 1fr;gap:16px;font-size:.89rem;line-height:1.55}.timeline-list time{color:var(--cas-blue);font-weight:750}.project-breadcrumbs{min-width:0;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid var(--line-subtle);color:var(--muted);font-size:.7rem;line-height:1.5}.project-breadcrumbs ol{display:flex;min-width:0;margin:0;padding:0;align-items:center;gap:8px;list-style:none}.project-breadcrumbs li{display:flex;min-width:0;margin:0;align-items:center;gap:8px}.project-breadcrumbs li+li::before{color:var(--line-strong);content:"›"}.project-breadcrumbs li:last-child{flex:1}.project-breadcrumbs a{color:var(--cas-blue);font-weight:700;text-decoration:none;white-space:nowrap}.project-breadcrumbs a:hover{color:var(--cas-blue-hover)}.project-breadcrumbs li:last-child span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-page .page__content{color:var(--body-copy);font-size:.96rem;line-height:1.8}.detail-page .page__content>h1:first-of-type,.detail-page .page__content>h2:first-of-type{margin-top:0}.detail-page .page__content h1{margin-top:2.1em;padding-bottom:0.45em;border-bottom:1px solid var(--line);color:var(--ink-strong);font-size:1.65rem}.detail-page .page__content h2{color:var(--ink-strong);font-size:1.25rem}.detail-page .page__content h3{color:var(--ink-strong);font-size:1rem}.detail-page .page__content p,.detail-page .page__content li{font-size:.94rem}.detail-page .page__content img,.detail-page .page__content video{max-height:720px;border-radius:8px;object-fit:contain}.detail-page .page__content video{display:block;margin-inline:auto;background:var(--soft-blue)}.detail-page .page__content .lazy-video-frame>video{max-height:none;border-radius:7px}.optimized-media{display:inline}.optimized-media img{height:auto !important}.detail-page .page__inner-wrap{display:flow-root}.project-footer-nav{clear:both;display:grid;width:100%;margin-top:46px;padding-top:22px;border-top:1px solid var(--line);box-sizing:border-box;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);align-items:start;gap:clamp(32px, 8vw, 104px)}.project-footer-nav__link{display:grid;min-width:0;max-width:460px;min-height:52px;padding:5px 0;border:0;background:transparent;align-items:center;gap:13px;text-decoration:none;transition:color 160ms ease}.project-footer-nav__home{justify-self:start;grid-template-columns:auto minmax(0, 1fr)}.project-footer-nav__next{justify-self:end;grid-template-columns:minmax(0, 1fr) auto;text-align:right}.project-footer-nav__link small,.project-footer-nav__link strong{display:block}.project-footer-nav__link small{margin-bottom:4px;color:var(--muted);font-size:.7rem;font-weight:750;letter-spacing:0.04em}.project-footer-nav__link strong{overflow-wrap:anywhere;color:var(--ink-strong);font-size:.99rem;font-weight:700;line-height:1.45}.project-footer-nav__arrow{color:var(--cas-blue);font-size:1.1rem;font-weight:750}.project-footer-nav__link:hover,.project-footer-nav__link:focus-visible{background:transparent}.project-footer-nav__link:hover strong,.project-footer-nav__link:focus-visible strong{color:var(--cas-blue)}.tech-accordion{border-color:var(--line);box-shadow:none}.tech-accordion>summary{color:var(--ink-strong);background:var(--surface-subtle)}.tech-accordion>summary:hover{background:var(--soft-blue)}html[data-theme="dark"] .detail-page .page__content a:visited,html[data-theme="dark"] .publication-list__links a:visited{color:var(--cas-blue)}html[data-theme="dark"] hr{border-top-color:var(--line)}html[data-theme="dark"] blockquote{border-left-color:var(--cas-blue)}html[data-theme="dark"] figcaption{color:var(--muted)}html[data-theme="dark"] u,html[data-theme="dark"] ins{border-bottom-color:var(--ink)}html[data-theme="dark"] thead{background:var(--surface-subtle)}html[data-theme="dark"] td{border-bottom-color:var(--line)}html[data-theme="dark"] p>code,html[data-theme="dark"] a>code,html[data-theme="dark"] li>code,html[data-theme="dark"] figcaption>code,html[data-theme="dark"] td>code,html[data-theme="dark"] div.highlighter-rouge,html[data-theme="dark"] figure.highlight{border-color:var(--line);background:var(--surface-subtle);color:#ffb29f;box-shadow:none}html[data-theme="dark"] .highlight{color:#d6deeb}html[data-theme="dark"] .tech-accordion,html[data-theme="dark"] .tech-accordion-content{border-color:var(--line);background:var(--surface);color:var(--body-copy);box-shadow:none}html[data-theme="dark"] .tech-accordion[open]>summary{border-bottom-color:var(--line)}html[data-theme="dark"] .tech-accordion>summary::after{color:var(--cas-blue)}html[data-theme="dark"] .btn,html[data-theme="dark"] #goog-wm-sb,html[data-theme="dark"] .btn--primary{background:var(--cas-blue);color:#17110f !important}html[data-theme="dark"] .btn:hover,html[data-theme="dark"] #goog-wm-sb:hover,html[data-theme="dark"] .btn--primary:hover{background:var(--cas-blue-hover)}html[data-theme="dark"] .notice,html[data-theme="dark"] .notice--primary,html[data-theme="dark"] .notice--info,html[data-theme="dark"] .notice--warning,html[data-theme="dark"] .notice--success,html[data-theme="dark"] .notice--danger{background:var(--surface-subtle);color:var(--body-copy);box-shadow:none}.footer_site{width:min(var(--page-width), calc(100% - 40px));margin:70px auto 0;padding:20px 0 26px;border-top:1px solid var(--line)}.footer_copyright{margin:0;color:var(--footer-text);font-size:.68rem;letter-spacing:0.04em}@media (max-width: 1080px){.site-nav__links{gap:17px}#main{grid-template-columns:235px minmax(0, 1fr);gap:34px}}@media (max-width: 925px){.masthead__inner-wrap{min-height:62px}.site-nav{gap:10px}.site-nav__toggle{display:block}.site-nav__links{position:absolute;top:62px;right:16px;left:16px;display:none;padding:10px 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-shadow:var(--menu-shadow);flex-direction:column;align-items:stretch;gap:0}.site-nav__links.is-open{display:flex}.site-nav__links a{padding:10px 0}.site-nav__links a::after{display:none}#main{width:min(calc(100% - 32px), 820px);margin-top:24px;grid-template-columns:1fr;gap:34px}.sidebar{position:static}.author-card{display:grid;padding:20px;grid-template-columns:112px minmax(0, 1fr);gap:0 20px}.author__avatar,.author__avatar img{width:112px;height:112px}.author__focus,.author__links{grid-column:1 / -1}.author__links ul{grid-template-columns:1fr}}@media (max-width: 700px){.site-brand small{display:none}.home-hero h1{font-size:clamp(1.7rem, 6.2vw, 2rem)}.home-hero__intro{padding-left:14px}.research-overview{grid-template-columns:1fr;padding:0}.research-overview>div{padding:13px 0}.research-overview>div+div{border-top:1px solid var(--line);border-left:0}.education-list,.skills-grid,.project-grid{grid-template-columns:1fr}.skills-toolbox{align-items:flex-start;flex-direction:column;gap:3px}.section-heading{align-items:start;flex-direction:column;gap:4px}.section-heading>span{text-align:left}.publication-list>li{grid-template-columns:52px minmax(0, 1fr)}.publication-list__links{grid-column:2}.page__content div[style*="display: flex"]{flex-wrap:wrap}.project-footer-nav{grid-template-columns:1fr;gap:12px}.project-footer-nav__home,.project-footer-nav__next{width:100%;max-width:none;justify-self:stretch}.project-footer-nav__next{text-align:left}}@media (max-width: 480px){.masthead__inner-wrap{padding-inline:14px}.site-brand__mark{width:32px;height:32px}.site-nav__language{padding-inline:8px}#main{width:calc(100% - 24px)}.author-card{grid-template-columns:84px minmax(0, 1fr);gap:0 14px}.author__avatar,.author__avatar img{width:84px;height:84px}.sidebar .author__name{font-size:1.25rem}.author__bio{font-size:.75rem}.author__links ul{grid-template-columns:1fr}.other-projects a{grid-template-columns:1fr;gap:2px}.education-list article{grid-template-columns:52px minmax(0, 1fr);gap:12px}.education-list__logo{width:52px;height:52px}.timeline-list li{grid-template-columns:82px 1fr;gap:10px}}.image-caption{color:var(--muted);font-size:.875rem;padding-top:5px}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto !important;transition-duration:0.01ms !important;animation-duration:0.01ms !important;animation-iteration-count:1 !important}}.paper-box{display:flex;justify-content:left;align-items:center;flex-direction:row;flex-wrap:wrap;border-bottom:1px #efefef solid;padding:2em 0 2em 0}.paper-box .paper-box-image{justify-content:center;display:flex;width:100%;order:2}.paper-box .paper-box-image img{max-width:400px;box-shadow:3px 3px 6px #888;object-fit:cover}.paper-box .paper-box-text{max-width:100%;order:1}@media (min-width: 48em){.paper-box .paper-box-image{justify-content:left;min-width:200px;max-width:40%;order:1}.paper-box .paper-box-text{justify-content:left;padding-left:2em;max-width:60%;order:2}}h1:before,.anchor:before{content:'';display:block;position:relative;width:0;height:2em;margin-top:-2em}.badge{padding-left:1rem;padding-right:1rem;position:absolute;margin-top:.5em;margin-left:-.5em;color:white;background-color:#00369f;font-size:.8em}
