:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=light]{--text-color: #000;--bg: #ffffff;--fg: #111111;--muted: #666666;--header-bg: #ececec;--header-bg-first: rgba(236, 236, 236, .4);--indicator-border: rgba(0, 0, 0, .45);--indicator-color: rgba(128, 128, 128, .15);--indicator-color-hover: rgba(65, 65, 65, .25);--footer-link-color: rgb(56, 56, 250);--background-bar: #888;--forground-bar: #ddd;--accent: rgb(82, 82, 248);--rail-strong: grey;--tag-bg: #f5f5f5;--tag-border: #ddd;--link-color: #333;--link-color-hover: #0070f3;--chip-bd: #dcdcdc;--chip-bg: #f7f7f7;--chip-fg: #333;--chip-active-bd: #0070f3;--chip-active-bg: #d1dff8;--chip-active-fg: #0b3a67;--filter-color: #0070f3}:root[data-theme=dark]{--text-color: #fff;--bg: #0b0d10;--fg: #f2f4f8;--muted: #aab0b6;--header-bg: #1b1f26;--header-bg-first: rgba(27, 31, 38, .4);--indicator-border: rgba(255, 255, 255, .75);--indicator-color: rgba(128, 128, 128, .15);--indicator-color-hover: rgba(168, 168, 168, .25);--footer-link-color: rgb(172, 172, 245);--background-bar: #ddd;--forground-bar: #5c5c5c;--accent: #3b82f6;--rail-strong: #9ca3af;--tag-bg: #2a2a2a;--link-color: #ddd;--link-color-hover: #4dabf7;--chip-bd: #3a3a3a;--chip-bg: #2a2a2a;--chip-fg: #eaeaea;--chip-active-bd: #3291ff;--chip-active-bg: #15324d;--chip-active-fg: #cfe8ff;--filter-color: #0070f3}html{scroll-behavior:smooth}a{font-weight:500;color:#646cff;text-decoration:inherit}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}h1{font-size:3.2em;line-height:1.1;text-align:center}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.footer-main{padding:1.5rem 0;width:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1em;background:var(--header-bg);color:var(--text-color)}.thanks{display:flex;flex-direction:row;justify-content:center;align-items:center;width:100%;text-align:center;padding:0 5rem;box-sizing:border-box}.link-footer:hover{color:var(--footer-link-color)}.last-updated{font-size:small}.container-homepage{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:var(--text-color);background:var(--bg)}.section{display:flex;flex-direction:column;align-items:center;padding:0 4rem;box-sizing:border-box;margin-top:4rem;width:100%}.section h1{margin-top:0}.section[data-reveal]{opacity:0;transform:translateY(12px);transition:opacity .48s ease,transform .48s ease;will-change:opacity,transform}.section[data-reveal].is-visible{opacity:1;transform:none}.hero-section{position:relative;width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;z-index:0;margin-top:calc(-1 * var(--header-height))}.bg-layer{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:0;transition:opacity .8s ease-in-out}.bg-layer.is-active{opacity:.4}.hero-name{font-size:4rem;margin-bottom:.5rem;position:relative;z-index:1}.hero-typed{font-size:2.5rem;font-weight:400;position:relative;margin-bottom:0;z-index:1}.cursor{display:inline-block;font-weight:900;color:var(--fg);animation:blink 1s steps(1,start) infinite}@keyframes blink{50%{opacity:0}}.section-bar{width:250px;height:6px;background-color:var(--forground-bar);border-radius:3px;position:relative;margin:0 auto 1rem;overflow:hidden}.section-bar-fill{position:absolute;inset:0;background-color:var(--background-bar);border-radius:3px;transform:scaleX(.32);transform-origin:center;transition:transform 1s ease}.section.is-visible .section-bar-fill{transform:scaleX(1)}.hero-author{opacity:0;margin-top:0;font-style:italic;font-size:1.3rem;letter-spacing:.2px;animation:heroAuthorFadeIn .4s ease forwards;animation-delay:.12s}@keyframes heroAuthorFadeIn{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 470px){.hero-typed{font-size:2rem}.hero-author{font-size:1.05rem}}@media (prefers-reduced-motion: reduce){.section[data-reveal]{transition:none;transform:none;opacity:1}.section-bar-fill{transition:none;transform:none}}.aboutme{display:grid;grid-template-columns:320px 1fr;grid-template-areas:"photo content";gap:7vw;align-items:start;justify-content:space-between;width:min(100%,1500px)}.aboutme-left{display:flex;flex-direction:column;gap:1rem;align-items:stretch}.aboutme-photo{grid-area:photo;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:16px;box-shadow:0 8px 24px #00000026}.aboutme-contacts{display:flex;flex-direction:row;gap:.5rem;width:100%;justify-content:space-around}.aboutme-btn{display:inline-flex;align-items:center}.aboutme-btn .icon,.aboutme-btn span{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text-color);transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.aboutme-btn .icon{width:34px;height:34px;fill:none}.aboutme-btn span{font-size:1.8rem}.aboutme-btn .icon:hover,.aboutme-btn span:hover{transform:translateY(-1px);color:#777;stroke:#777;z-index:1}.aboutme-btn .email:hover{transform:translateY(1px);color:#777;stroke:#777;z-index:1}.aboutme-btn .email{transform:translateY(2px)}.aboutme-right-container{grid-area:content;display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%}.aboutme-right{line-height:1.65;font-size:1.4rem}.aboutme-title{margin:0 0 .5rem;font-size:1.75rem}.stagger{opacity:0;transform:translateY(30px);transition:opacity .42s ease,transform .42s ease}.d1{transition-delay:80ms}.d2{transition-delay:.16s}.aboutme-contacts .aboutme-btn{opacity:0;transform:translateY(30px);transition:opacity .42s ease,transform .42s ease;transition-delay:calc(var(--i, 1) * .12s)}.section.is-visible .aboutme-contacts .aboutme-btn,.section.is-visible .stagger{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.stagger{transition:none;opacity:1;transform:none}}@media (max-width: 1160px){.aboutme{grid-template-columns:1fr;grid-template-rows:auto auto;grid-template-areas:"photo" "content";gap:2rem;align-items:start;justify-content:stretch}.aboutme-left{align-items:center;text-align:center}.aboutme-photo{max-width:420px;width:100%}.aboutme-right-container{display:flex;flex-direction:column-reverse;align-items:center;gap:2rem}.d1{transition-delay:80ms}.d2{transition-delay:.4s}.aboutme-contacts .aboutme-btn{opacity:0;transform:translateY(30px);transition:opacity .42s ease,transform .42s ease;transition-delay:.24s}.aboutme-right p{margin-bottom:0}}@media (max-width: 530px){.aboutme-right{line-height:1.5;font-size:1.2rem}}@media (max-width: 470px){.aboutme-right{line-height:1.5;font-size:1.1rem}}.edu-timeline-vertical{--row-gap: 1.5rem;--circle: 24px;--border: 3px;--line-w: 2px}.resume-container{width:min(100%,1100px);display:grid;grid-template-columns:1fr 1fr;gap:3rem 4rem;width:100%;justify-content:space-around}.education,.work{min-width:0;display:flex;align-items:center;flex-direction:column}.resume-title{margin:0 0 1rem;font-size:1.8rem;font-weight:700;text-align:center}.edu-timeline-vertical{--row-gap: 1.5rem;list-style:none;margin:0;padding:0;display:block}.edu-step-vertical{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start;position:relative;margin-bottom:var(--row-gap);opacity:0;transform:translateY(10px);transition:opacity .42s ease,transform .42s ease;transition-delay:calc(60ms + var(--i, 1) * .14s)}.timeline--right.is-visible .edu-step-vertical{transition-delay:calc((var(--i, 1) - 1) * .14s)}.edu-timeline-vertical.is-visible .edu-step-vertical{opacity:1;transform:none}.edu-step-vertical:last-child{margin-bottom:0}.edu-marker{position:relative;width:var(--circle);display:flex;justify-content:center;align-items:start;min-height:var(--circle);height:100%;transform:translateY(calc(1.4rem / 3.5))}.edu-step-vertical:not(:last-child) .edu-marker:after{content:"";position:absolute;top:calc(var(--circle) - var(--border) + 2px);left:calc((var(--circle) / 2) - (var(--line-w) / 2));width:var(--line-w);height:calc(100% + var(--row-gap) - var(--circle) + var(--border));background:var(--rail, #d1d5db);pointer-events:none}.edu-circle{width:var(--circle);height:var(--circle);border-radius:50%;box-sizing:border-box;position:relative;z-index:1}.timeline--right .edu-step-vertical{grid-template-columns:1fr auto}.timeline--right .edu-info{grid-column:1;text-align:right;justify-items:end}.timeline--right .edu-marker{grid-column:2}.timeline--right .edu-step-vertical:not(:last-child) .edu-marker:after{right:calc((var(--circle) / 2) - (var(--line-w) / 2));left:auto}.circle--done{background:var(--accent, #3b82f6);border:3px solid var(--accent, #3b82f6)}.circle--ongoing{background:transparent;border:3px solid var(--accent, #3b82f6);animation:none}.edu-timeline-vertical.is-visible .circle--ongoing{animation:edu-pulse 1.8s ease-in-out infinite}@keyframes edu-pulse{0%,to{box-shadow:0 0 #3b82f600}50%{box-shadow:0 0 0 10px #3b82f673}}.circle--planned{background:transparent;border:3px dashed var(--rail-strong, #9ca3af)}.edu-info{display:grid;gap:.25rem}.edu-name{font-weight:600;font-size:1.4rem}.edu-meta{color:var(--muted, #666);display:inline-flex;align-items:center;gap:.5rem;font-size:1.1rem}.edu-meta .dot{opacity:.6}.work-info{display:flex;flex-direction:column;gap:.25rem}.work-header{display:flex;align-items:center;justify-content:end;gap:.5rem}.company-logo{width:45px;height:45px;object-fit:contain;flex:0 0 auto}.company-name{font-weight:600;font-size:1.4rem}.position-name{font-size:1.2rem;color:var(--muted, #666)}.work-years{font-size:1.1rem;color:var(--muted, #666)}.position-toggle{appearance:none;background:none;border:0;padding:0;margin:.15rem 0 .1rem;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;font:inherit;text-align:inherit;justify-content:end;color:inherit;outline:none}.position-toggle:focus{outline:none}.position-toggle:focus-visible{outline:2px solid var(--accent, #3b82f6);outline-offset:2px;border-radius:.25rem}.chevron{display:flex}.chevron svg{transform:rotate(0);transition:transform .22s ease;width:20px;height:20px}.position-toggle.is-open .chevron svg{transform:rotate(90deg)}.work-desc-wrap{contain:strict;overflow:hidden;max-height:0;opacity:0;margin-top:.3rem;transition:max-height .42s ease,opacity .3s ease 60ms}.work-desc-wrap.is-open{max-height:600px;contain:content;opacity:1}.work-desc{list-style:none;padding:0;margin:.35rem 0 0;display:grid;gap:.35rem;color:var(--muted, #555);font-size:1rem}.work-desc li{position:relative;padding-right:1.5rem;font-size:1.1rem;text-align:right}.work-desc li:after{content:"";position:absolute;right:0;top:.6em;width:.35rem;height:.35rem;border-radius:50%;background:currentColor;opacity:.9}@media (max-width: 1090px){.resume-container{grid-template-columns:1fr;gap:2.25rem}.timeline--right .edu-step-vertical{grid-template-columns:auto 1fr;grid-template-areas:"left right"}.timeline--right .edu-marker{grid-area:left}.timeline--right .edu-info{grid-column:2;text-align:left;justify-items:start}.timeline--right .edu-step-vertical:not(:last-child) .edu-marker:after{left:calc((var(--circle) / 2) - (var(--line-w) / 2));right:auto}.work-header{justify-content:start;max-width:max-content}.position-toggle{justify-content:start}.work-desc{list-style:disc;padding-left:1.2rem;margin:.35rem 0 0;display:grid;gap:.35rem;color:var(--muted, #555);font-size:1rem}.work-desc li{position:static;padding-right:0;text-align:left}.work-desc li:after{display:none}.work-desc-wrap{margin-top:0rem}.work-desc-wrap.is-open{contain:content}}@media (max-width: 530px){.edu-timeline-vertical{--row-gap: .8rem;--circle: 20px}.edu-name{line-height:1.5;font-size:1.2rem}.edu-meta{font-size:.9rem}.edu-marker{transform:translateY(calc(1.2rem / 3.5))}.company-logo{width:40px;height:40px}.company-name{font-size:1.2rem}.position-name{font-size:1.1rem}.work-years,.work-desc li{font-size:.9rem}}@media (max-width: 470px){.edu-timeline-vertical{--row-gap: .5rem;--circle: 18px;--border: 1px}.edu-name{line-height:1.5;font-size:1.1rem}.edu-meta{font-size:.8rem}.edu-marker{transform:translateY(calc(1.1rem / 3.5))}.company-logo{width:35px;height:35px}.company-name{font-size:1.1rem}.position-name{font-size:1rem}.work-years,.work-desc li{font-size:.8rem}}@media (prefers-reduced-motion: reduce){.chevron svg{transition:none!important}}.project-item{display:flex;flex-direction:column;gap:1rem}.header-project{display:flex;flex-direction:column}.project-title{justify-content:center;display:flex;margin-bottom:0;text-align:center}.project-title a{color:var(--text-color);font-size:1.5rem;font-weight:700;text-decoration:none;outline:none}.project-title a:hover{text-decoration:underline}.project-year{font-size:1.1rem;color:#666;margin-top:0;margin-bottom:.5rem;text-align:center}.contentAndFooter{display:grid;grid-template-columns:3fr 1fr;grid-template-rows:auto 1fr;grid-template-areas:"topLeft topRight" "bottomLeft bottomRight";align-items:flex-start;justify-items:center;gap:1rem}.project-abstract{grid-area:topLeft;flex:1;font-size:1.4rem;line-height:1.6}.project-image{grid-area:topRight;width:250px;height:auto;border-radius:8px;object-fit:cover;justify-content:center;display:flex}.tags{grid-area:bottomLeft;display:flex;gap:.5rem;flex-wrap:wrap;width:100%;flex-direction:row}.tag{background:#f0f0f0;padding:.3rem .9rem;border-radius:999px;font-size:1.1rem;background:var(--tag-bg);border:1px solid var(--tag-border)}.tag-more{cursor:pointer;border:none;font-size:.8rem;transition:background .2s ease;outline:none;white-space:nowrap}.tag-more:focus{outline:none}.links{grid-area:bottomRight;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:1.5rem;row-gap:.2rem;font-size:1.4rem}.links a{text-decoration:none;font-size:1.1rem;color:var(--link-color);display:inline-flex;align-items:center;gap:.3rem}.links a:hover{color:var(--link-color-hover)}@media (max-width: 980px){.project-image{display:none}.contentAndFooter{grid-template-columns:1fr;grid-template-rows:auto auto auto;grid-template-areas:"bottomRight" "topLeft" "bottomLeft"}.project-abstract{margin:.5rem;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}.tags{justify-content:center}.header-project{flex-direction:row;text-align:center;align-items:baseline;justify-content:center;gap:2rem}.project-year{margin-bottom:0;margin-top:.83rem}}@media (max-width: 530px){.project-abstract{line-height:1.5;font-size:1.2rem}.tag,.links a{font-size:.9rem}.tag-more{font-size:.7rem}}@media (max-width: 470px){.project-abstract{font-size:1.1rem}.tag,.links a{font-size:.8rem}}.tag-more{background-color:transparent!important;color:var(--text-color)!important}.tag-more:hover{color:gray!important}.projects-container{width:100%;margin-bottom:4.86em}.projects-list{display:flex;flex-direction:column;gap:3rem}.projects-filter{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;align-items:center}.filter-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.filter-actions{display:flex;align-items:center;gap:.75rem;justify-content:center;font-size:.95rem}.filter-count{opacity:.8;font-size:1.3rem}.filter-chip{border:1px solid var(--chip-bd, #dcdcdc);background:var(--chip-bg, #f7f7f7);color:var(--chip-fg, #333);font-size:1.1rem;padding:.3rem .75rem;border-radius:999px;cursor:pointer;font-weight:400;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .06s ease}.filter-chip:hover{transform:translateY(-1px)}.filter-chip:focus{outline:none}.filter-chip.is-active{border-color:var(--chip-active-bd, #0070f3);background:var(--chip-active-bg, #e8f1ff);color:var(--chip-active-fg, #0b3a67)}.filter-sep{font-size:1.2rem}.filter-clear{background:none;color:inherit;cursor:pointer;border:none;font-style:italic;font-weight:400;font-size:1.1rem;padding:0;opacity:.8;transition:background .2s ease,border-color .2s ease}.filter-clear:hover:not(:disabled){color:var(--filter-color);border:none}.filter-clear:disabled{opacity:.5;cursor:default;border:1px solid var(--filter-bg)}.filter-clear:focus{outline:none}.leftside-filter{display:flex;flex-direction:row;text-align:center;align-items:center;gap:.5rem}.filter-toggle{display:inline-flex;align-items:center;justify-content:center;height:32px;width:auto;border-radius:6px;color:inherit;cursor:pointer;padding:0;background:none;outline:none;border:0;transform:translateY(2px);transition:transform .2s ease,background .2s ease,border-color .2s ease}.filter-toggle:focus{outline:none}.filter-toggle:hover{border:0;outline:none}.filter-toggle svg{transform:rotate(-90deg);transition:transform .2s ease}.filter-toggle.is-open svg{transform:rotate(0)}.filter-tags-wrap{overflow:hidden;transition:max-height .3s ease,opacity .25s ease,transform .25s ease;will-change:max-height,opacity,transform}.filter-tags-wrap.is-collapsed{max-height:0;opacity:0;transform:translateY(-4px)}.filter-tags-wrap.is-expanded{max-height:480px;opacity:1;transform:translateY(0)}.filter-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;padding-top:.25rem}.count-filter{margin-left:5px;opacity:.8}@media (max-width: 530px){.filter-count{font-size:1.1rem}.filter-chip{font-size:.9rem}.filter-toggle{height:23px;width:23px}.filter-clear{font-size:.9rem}.filter-sep{font-size:1.2rem}}@media (max-width: 470px){.filter-count{font-size:1rem}.filter-chip{font-size:.8rem}.filter-toggle{height:20px;width:20px}.filter-clear{font-size:.8rem}.filter-sep{font-size:.9rem}}.container-fluid{height:calc(100vh - var(--header-height));top:var(--header-height);box-sizing:border-box;width:100%;position:absolute}:root{--header-height: 60px;--footer-height: 50px;--mobile-shadow: 0 12px 30px rgba(0, 0, 0, .15)}.header-main{position:fixed;inset:0 0 auto;height:var(--header-height);display:flex;justify-content:space-between;align-items:center;padding:0 20px;color:var(--text-color);background-color:var(--header-bg);width:100%;box-sizing:border-box;z-index:1000;transition:background-color .25s ease,backdrop-filter .25s ease}.header-transparent{background-color:var(--header-bg-first)}.header-solid{background-color:var(--header-bg);-webkit-backdrop-filter:none;backdrop-filter:none}.header-list{display:flex;gap:80px;list-style:none;margin:0;padding:0}.header-actions{display:flex;align-items:center;gap:8px}.header-link{user-select:none;-webkit-user-select:none;-ms-user-select:none;text-decoration:none;color:var(--text-color);cursor:pointer;padding:3px 13px;border-radius:6px;outline:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;width:36px;height:36px;cursor:pointer;border-radius:8px;box-sizing:border-box;padding:0;transition:background-color .25s ease}.icon-btn:focus{border:none;outline:none}.icon{color:var(--text-color)}.icon-btn:hover .icon{color:gray}.section,[id]{scroll-margin-top:calc(var(--header-height) + 8px)}.hover-indicator{position:absolute;pointer-events:none;border:1px solid var(--indicator-border);background:var(--indicator-color);border-radius:8px;transition:left .18s ease,top .18s ease,width .18s ease,height .18s ease,opacity .12s ease}.hamburger-btn{display:none}@media (max-width: 900px){.header-list{display:none}.hamburger-btn{display:inline-flex}.header-main{padding:0 14px}.hover-indicator{display:none}}.mobile-panel{position:fixed;z-index:999;top:var(--header-height);left:0;right:0;background:transparent;transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .22s ease,transform .22s ease}.mobile-panel.open{transform:translateY(0);opacity:1;pointer-events:auto}.mobile-list>li .mobile-link{opacity:0;transform:translateY(-8px);transition:opacity .22s ease,transform .22s ease;will-change:opacity,transform}.mobile-panel.open .mobile-list>li .mobile-link{opacity:1;transform:translateY(0)}.mobile-panel.open .mobile-list>li:nth-child(1) .mobile-link{transition-delay:40ms}.mobile-panel.open .mobile-list>li:nth-child(2) .mobile-link{transition-delay:80ms}.mobile-panel.open .mobile-list>li:nth-child(3) .mobile-link{transition-delay:.12s}.mobile-panel.open .mobile-list>li:nth-child(4) .mobile-link{transition-delay:.16s}.mobile-panel:not(.open) .mobile-list>li:nth-child(1) .mobile-link{transition-delay:.16s}.mobile-panel:not(.open) .mobile-list>li:nth-child(2) .mobile-link{transition-delay:.12s}.mobile-panel:not(.open) .mobile-list>li:nth-child(3) .mobile-link{transition-delay:80ms}.mobile-panel:not(.open) .mobile-list>li:nth-child(4) .mobile-link{transition-delay:40ms}.mobile-panel.open{transition-delay:0ms,0ms}.mobile-panel:not(.open){transition-delay:.18s,.18s}.mobile-list{list-style:none;margin:0;padding:12px 12px 16px;display:flex;flex-direction:column;gap:8px}.mobile-link{display:block;text-decoration:none;color:var(--text-color);padding:10px 12px;border-radius:8px;background:var(--indicator-color);border:1px solid var(--indicator-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}@media (max-width: 900px){.header-transparent,.header-solid{background-color:transparent}.header-solid .icon-btn{background-color:var(--indicator-color);border:1px solid var(--indicator-border);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.header-solid .icon-btn:hover .icon{color:var(--text-color)}.header-solid .icon-btn:hover{background-color:var(--indicator-color-hover)}.header-list{display:none}.hamburger-btn{display:inline-flex}.header-main{padding:0 14px;justify-content:center}.header-actions{flex-direction:row-reverse}.hover-indicator{display:none}.mobile-link:hover{background:var(--indicator-color-hover)}}@media (min-width: 901px){.mobile-panel{display:none}}@media (prefers-reduced-motion: reduce){.mobile-panel,.mobile-list>li .mobile-link{transition:none!important;transform:none!important}}.details-container{color:var(--text-color);padding:0 4rem;background:var(--bg)}.title-projectContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;height:calc(100vh - var(--header-height));min-height:calc(945px - var(--header-height))}.title-right-projectContainer{margin-top:1rem;display:block;width:min(100%,1080px);height:clamp(240px,35vh,460px);background-size:cover;background-position:center;background-repeat:no-repeat}.urbanaipic,.jetsimpic{width:100%;background-position:center}.dboxpic{width:min(100%,1080px)}.familysharepic{width:min(100%,570px)}.title-left-projectContainer{text-align:center;display:flex;flex-direction:column;height:65%;justify-content:space-evenly}.topPart h1{margin:0}.oneLiner{margin-top:.5rem;font-style:italic;font-size:1.7rem;font-weight:300;margin-bottom:0}.authorsAndYear{font-size:1.5rem;margin:0}.tags.detailed{justify-content:center}.links.detailed{margin-top:2rem}.media-figure{display:grid;grid-template-rows:auto auto;grid-template-columns:min(100%,900px);justify-content:center;margin:1.25rem 0}.media-embed{width:100%;display:block;border:0}.media-caption{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.1rem;font-weight:400;font-style:italic;margin-top:.5rem}.section.abstract{padding:0}.section .section-body{white-space:pre-line}.list-block-parent{display:flex;justify-content:left;margin:1rem 0}.list-block{justify-content:center;display:flex;flex-direction:column}.section.abstract div{width:80%;max-width:800px;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.problem-statement{padding:0 5rem}.section.problem-statement div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.solution{padding:0 5rem}.section.solution div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.features{padding:0 5rem}.section.features div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.walkthrough{padding:0 5rem}.section.walkthrough div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.infrastructure{padding:0 5rem}.section.infrastructure div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.challenges{padding:0 5rem}.section.challenges div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.results{padding:0 5rem}.section.results div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.section.future-work{padding:0 5rem}.section.future-work div{width:100%;text-align:justify;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;font-size:1.4rem}.main-detailedProject .section:last-of-type{padding-bottom:5rem}@media (max-width: 1440px){.section.problem-statement,.section.solution,.section.features,.section.walkthrough,.section.infrastructure,.section.challenges,.section.results,.section.future-work{padding:0 3rem}}@media (max-width: 1200px){.section.problem-statement,.section.solution,.section.features,.section.walkthrough,.section.infrastructure,.section.challenges,.section.results,.section.future-work{padding:0 1rem}}@media (max-width: 900px){.section.problem-statement,.section.solution,.section.features,.section.walkthrough,.section.infrastructure,.section.challenges,.section.results,.section.future-work{padding:0}}@media (max-width: 600px){.details-container{padding:0 3rem}}@media (max-width: 530px){.topPart h1{font-size:3rem}.topPart .oneLiner{font-size:1.6rem}.authorsAndYear{font-size:1.4rem}.title-left-projectContainer,.authorsAndYear{gap:4rem}.details-container{padding:0 2rem}.section.abstract div,.section.problem-statement div,.section.solution div,.section.features div,.section.walkthrough div,.section.infrastructure div,.section.challenges div,.section.results div,.section.future-work div{line-height:1.5;font-size:1.2rem}.media-caption{font-size:1rem}}@media (max-width: 470px){.topPart h1{font-size:2.5rem}.topPart .oneLiner{font-size:1.5rem}.authorsAndYear{font-size:1.3rem}.title-left-projectContainer,.authorsAndYear{gap:3rem}.section.abstract div,.section.problem-statement div,.section.solution div,.section.features div,.section.walkthrough div,.section.infrastructure div,.section.challenges div,.section.results div,.section.future-work div{font-size:1.1rem}.media-caption{font-size:.9rem}}
