@import url(https://fonts.googleapis.com/css2?family=Caveat:wght@500;700&family=Dancing+Script:wght@400;700&family=Noto+Serif+SC:wght@400;500;600&family=Poppins:wght@300;400;600&display=swap);.topbar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#fffbf6a6,#f6fdf9a1);box-shadow:0 4px 16px #0000000d;color:#1a202c;height:4rem;left:0;position:sticky;right:0;top:0;transition:height .3s ease,transform .3s ease,opacity .3s ease;width:100%;z-index:1000}.topbar.is-hidden{transform:translateY(-100%)}.topbar .wrapper{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.topbar .wrapper .MyName{align-items:center;color:#1a202c;display:inline-flex;font-family:Dancing Script,cursive;font-size:28px;font-weight:700;position:relative;text-decoration:none;transition:color .3s ease}.topbar .wrapper .MyName:hover{color:#f06a10}.topbar .wrapper .MyName .full-name{font-family:Pacifico,cursive;font-size:36px;position:relative;z-index:1}.topbar .wrapper .MyName .chinese-name{font-family:Ma Shan Zheng,cursive}@media(max-width:1024px){.topbar .wrapper .MyName .chinese-name{display:none}.topbar .wrapper .MyName{font-size:22px}}.topbar .wrapper .name-line{flex:1 1;height:32px;margin:0 -2px;max-width:220px;min-width:0;object-fit:contain;opacity:.8}@media(max-width:1024px){.topbar .wrapper .name-line{display:none}}.topbar .wrapper .navLinks{align-items:center;display:flex;height:100%}.topbar .wrapper .navLinks a{align-items:center;color:#718096;display:flex;flex-direction:column;font-size:13px;font-weight:500;gap:2px;justify-content:center;margin:0 22px;padding:4px 6px;position:relative;text-decoration:none;transition:color .25s ease}.topbar .wrapper .navLinks a .nav-icon{display:block;filter:opacity(.45);height:36px;object-fit:contain;transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .25s ease;width:36px}.topbar .wrapper .navLinks a .nav-label{line-height:1.2;transition:font-weight .25s ease,transform .25s ease}.topbar .wrapper .navLinks a:hover{color:#f06a10}.topbar .wrapper .navLinks a:hover .nav-icon{filter:grayscale(0) opacity(1);transform:scale(1.06)}.topbar .wrapper .navLinks a:active .nav-icon{transform:scale(.92)}.topbar .wrapper .navLinks a.active{color:#e05a00}.topbar .wrapper .navLinks a.active .nav-icon{filter:grayscale(0) opacity(1);transform:scale(1.12) translateY(-1px)}.topbar .wrapper .navLinks a.active .nav-label{font-weight:600}.topbar .wrapper .right,.topbar .wrapper .right .itemContainer{align-items:center;display:flex;height:100%}.topbar .wrapper .right .itemContainer{color:#1a202c;margin-left:20px;transition:color .3s ease}.topbar .wrapper .right .itemContainer:hover{color:#f06a10}.topbar .wrapper .right .itemContainer a{transition:color .3s ease}.topbar .wrapper .right .itemContainer:hover a{text-decoration:underline;text-underline-offset:3px}.topbar .wrapper .right .itemContainer--static{cursor:default}.topbar .wrapper .right .itemContainer--static:hover{color:#1a202c}.topbar .wrapper .right .itemContainer .icon{font-size:18px;margin-right:8px}.topbar .wrapper .right .itemContainer span{font-size:14px;font-weight:500}.topbar .wrapper .right .itemContainer a{align-items:center;color:inherit;display:flex;text-decoration:none}@media(max-width:1024px){.topbar{height:2.4rem;padding:0}.topbar .wrapper{flex-direction:row;gap:0;justify-content:center;padding:0 8px}.topbar .wrapper .MyName{font-size:12px}.topbar .wrapper .MyName .full-name{font-size:15px}.topbar .wrapper .navLinks,.topbar .wrapper .right{display:none}}@media(max-width:420px){.topbar .wrapper .MyName .full-name{font-size:14px}}.mobile-bottom-nav{display:none}@media(max-width:1024px){.mobile-bottom-nav{align-items:stretch;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);background:linear-gradient(135deg,#fffbf6d1,#f6fdf9cc);border-top:1px solid #0000000f;bottom:0;box-shadow:0 -6px 20px #0000000f;display:flex;justify-content:space-around;left:0;opacity:0;padding:4px 0 calc(4px + env(safe-area-inset-bottom));pointer-events:none;position:fixed;right:0;transform:translateY(100%);transition:transform .3s ease,opacity .3s ease;z-index:1000}.mobile-bottom-nav.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-bottom-nav .mbn-link{align-items:center;color:#718096;display:flex;flex:1 1;flex-direction:column;font-family:Poppins,sans-serif;font-size:11px;font-weight:500;gap:2px;justify-content:center;min-width:0;padding:4px 2px;position:relative;text-decoration:none;transition:color .25s ease}.mobile-bottom-nav .mbn-link .mbn-icon{display:block;height:28px;object-fit:contain;transition:transform .3s cubic-bezier(.34,1.56,.64,1),filter .25s ease;width:28px}.mobile-bottom-nav .mbn-link .mbn-label{line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;transition:font-weight .25s ease,transform .25s ease;white-space:nowrap}.mobile-bottom-nav .mbn-link:active .mbn-icon{transform:scale(.92)}.mobile-bottom-nav .mbn-link.active{color:#e05a00}.mobile-bottom-nav .mbn-link.active .mbn-icon{transform:scale(1.12) translateY(-1px)}.mobile-bottom-nav .mbn-link.active .mbn-label{font-weight:600}body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}body.focus-mode-on .mobile-bottom-nav{opacity:0;pointer-events:none;transform:translateY(100%);transition:opacity .3s ease,transform .3s ease}}body{transition:padding-top .3s ease}body.focus-mode-on{background-color:#f4f4f2;transition:background-color .3s ease-in-out}body.focus-mode-on .topbar,body.focus-mode-on .topbar.is-hidden{height:0!important;opacity:0!important;overflow:hidden;pointer-events:none!important;transform:translateY(-100%)!important;transition:opacity .3s ease,transform .3s ease,height .3s ease}body.focus-mode-on .routes{background-color:#f4f4f2;transition:background-color .3s ease-in-out}section{box-sizing:border-box;justify-content:center}.intro,section{align-items:center;display:flex}.intro{background-color:#0000;flex-direction:column;height:calc(100vh - 4rem);padding:.2rem 0 0;position:relative}@media(max-width:768px){.intro{min-height:0}}.intro .content-wrapper{align-items:center;display:flex;flex:1 1;gap:2rem;justify-content:center;max-width:1200px;width:90%;z-index:1}@media(max-width:768px){.intro .content-wrapper{flex-direction:column;padding:1rem;width:100%}}.intro .left-column,.intro .right-column{padding:1rem 3.5rem}.intro .right-column{flex:1.1 1}.intro .left-column{align-items:center;display:flex;flex:.9 1;flex-direction:column;justify-content:center;padding:1rem}.intro .left-column .imageContainer{border-radius:50%;box-shadow:0 4px 10px #0000001a;height:350px;overflow:hidden;width:350px}.intro .left-column .imageContainer img{height:100%;object-fit:cover;width:100%}@media(max-width:768px){.intro .left-column .imageContainer{height:150px;width:150px}}.intro .left-column .left-placeholder{font-size:5rem;opacity:.15;-webkit-user-select:none;user-select:none}.intro .left-column .card-stack{animation:bubbleIn .4s cubic-bezier(.34,1.56,.64,1) both;cursor:pointer;height:560px;position:relative;width:100%}.intro .left-column .card-stack:has(.is-fading) .stack-card--left-peek,.intro .left-column .card-stack:has(.is-fading) .stack-card--right-peek{opacity:.3}.intro .left-column .card-stack .stack-card{background:#fff;border-radius:20px;box-shadow:0 2px 4px #0000000f,0 12px 40px #0000001f;left:32px;padding:10px 10px 6px;position:absolute;top:0;transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .32s ease,background .3s ease;width:calc(100% - 64px)}.intro .left-column .card-stack .stack-card.stack-card--right-peek{background:linear-gradient(160deg,#c8a87a,#b08a5c 40%,#c4a070 70%,#b8966a);box-shadow:0 4px 16px #0000002e;height:490px;transform:translateX(24px) translateY(2px) rotate(4deg);transform-origin:top center;transition:opacity .32s ease;z-index:1}.intro .left-column .card-stack .stack-card.stack-card--left-peek{background:linear-gradient(160deg,#d4c4b0,#c2ae98 50%,#d0bea8);box-shadow:0 4px 16px #00000026;cursor:w-resize;height:490px;transform:translateX(-24px) translateY(2px) rotate(-3deg);transform-origin:top center;transition:opacity .32s ease;z-index:1}.intro .left-column .card-stack .stack-card.stack-card--front{box-shadow:0 6px 24px #0000002e,0 2px 6px #00000014;cursor:zoom-in;transform:none;transition:transform .42s cubic-bezier(.34,1.56,.64,1),opacity .22s ease;z-index:3}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu{padding-bottom:8px;position:absolute;right:14px;top:14px;z-index:5}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu:hover .card-menu-dropdown{opacity:1;pointer-events:auto;transform:translateY(0)}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-btn{align-items:center;background:#ffffffe0;border:none;border-radius:50%;box-shadow:0 1px 4px #00000026;color:#555;cursor:pointer;display:flex;height:28px;justify-content:center;transition:background .2s ease,color .2s ease;width:28px}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-btn svg{height:11px;width:11px}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-btn:hover{background:#fff;color:#d97b3f}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-dropdown{background:#fff;border-radius:10px;box-shadow:0 6px 20px #00000024;min-width:116px;opacity:0;overflow:hidden;padding-top:4px;pointer-events:none;position:absolute;right:0;top:28px;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-dropdown button{align-items:center;background:none;border:none;color:#2d3748;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:.8rem;gap:8px;padding:9px 14px;white-space:nowrap;width:100%}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-dropdown button:hover{background:#f5f5f3;color:#d97b3f}.intro .left-column .card-stack .stack-card.stack-card--front .card-menu .card-menu-dropdown button svg{flex-shrink:0;height:12px;width:12px}.intro .left-column .card-stack .stack-card.stack-card--front .card-arrow{align-items:center;background:#fffc;border:none;border-radius:50%;box-shadow:0 2px 8px #00000024;color:#444;cursor:pointer;display:flex;height:32px;justify-content:center;opacity:0;position:absolute;top:240px;transition:opacity .2s ease,background .2s ease,color .2s ease,transform .2s ease;width:32px;z-index:4}.intro .left-column .card-stack .stack-card.stack-card--front .card-arrow svg{height:13px;width:13px}.intro .left-column .card-stack .stack-card.stack-card--front .card-arrow--prev{left:10px}.intro .left-column .card-stack .stack-card.stack-card--front .card-arrow--next{right:10px}.intro .left-column .card-stack .stack-card.stack-card--front .card-arrow:hover{background:#fff;color:#d97b3f;transform:scale(1.1)}.intro .left-column .card-stack .stack-card.stack-card--front:hover{transform:scale(1.012)}.intro .left-column .card-stack .stack-card.stack-card--front:hover .card-arrow{opacity:1}.intro .left-column .card-stack .stack-card.stack-card--front:has(.card-menu:hover) .card-arrow{opacity:0}.intro .left-column .card-stack .stack-card.stack-card--front.is-fading{opacity:0;transform:scale(.95) translateY(-8px);transition:opacity .2s ease-in,transform .2s ease-in}.intro .left-column .card-stack .stack-card.stack-card--front img{border-radius:12px;display:block;height:460px;object-fit:cover;pointer-events:none;width:100%}.intro .left-column .card-stack .stack-card.stack-card--front .stack-caption{color:#777;display:flex;flex-wrap:wrap;font-family:Poppins,sans-serif;font-size:.7rem;gap:6px 14px;justify-content:center;padding:5px 4px 2px}.intro .left-column .card-stack .stack-card.stack-card--front .stack-caption span{white-space:nowrap}.intro .left-column .stack-dots{display:flex;gap:8px;justify-content:center;margin-top:18px}.intro .left-column .stack-dots .dot{background:#0000002e;border-radius:50%;display:inline-block;height:7px;pointer-events:none;transition:background .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1);width:7px}.intro .left-column .stack-dots .dot.dot--active{background:#d97b3f;transform:scale(1.45)}.intro .left-column .stack-dots .dot:hover:not(.dot--active){background:#00000059;transform:scale(1.2)}.intro .left-column .photo-credit{color:#8a8a8a;font-family:Poppins,sans-serif;font-size:.72rem;font-style:italic;line-height:1.4;margin:.6rem 0 0;max-width:280px;text-align:center}.intro .right-column{border-radius:20px;cursor:default;padding:0;transition:transform .2s ease,box-shadow .2s ease}.intro .right-column:hover{box-shadow:0 8px 24px #00000017;transform:translateY(-2px)}.intro .right-column .chat-window{background:#f0f0f0;border-radius:18px;box-shadow:0 8px 32px #0000001a;display:flex;flex-direction:column;overflow:hidden}.intro .right-column .chat-window .chat-header{align-items:center;background:#fffffff2;display:flex;gap:10px;padding:10px 16px}.intro .right-column .chat-window .chat-header .chat-header-avatar{flex-shrink:0;position:relative}.intro .right-column .chat-window .chat-header .chat-header-avatar img{border-radius:50%;display:block;height:40px;object-fit:cover;width:40px}.intro .right-column .chat-window .chat-header .chat-header-avatar .chat-status-dot{background:#48bb78;border:2px solid #fff;border-radius:50%;bottom:1px;height:10px;position:absolute;right:1px;width:10px}.intro .right-column .chat-window .chat-header .chat-header-info{display:flex;flex-direction:column;gap:1px}.intro .right-column .chat-window .chat-header .chat-header-name-row{align-items:baseline;display:flex;gap:6px}.intro .right-column .chat-window .chat-header .chat-header-name{color:#2d3748;font-size:.95rem;font-weight:600;line-height:1.2}.intro .right-column .chat-window .chat-header .chat-header-time{color:#a0aec0;font-size:.78rem;font-weight:400}.intro .right-column .chat-window .chat-header .chat-header-status{color:#a0aec0;font-size:.75rem;line-height:1.2}.intro .right-column .chat-window .chat-messages{background:#f7f7f8;display:flex;flex-direction:column;gap:14px;height:520px;overflow-y:auto;padding:28px 22px}.intro .right-column .chat-window .chat-messages .chat-spacer{flex:1 1}.intro .right-column .chat-window .chat-messages .bubble{border-radius:20px;font-size:1.1rem;line-height:1.6;max-width:82%;padding:13px 22px;word-break:break-word}.intro .right-column .chat-window .chat-messages .bubble strong{color:#ff692e}.intro .right-column .chat-window .chat-messages .bubble.incoming{align-self:flex-start;background:#fff;border-bottom-left-radius:4px;box-shadow:0 1px 2px #00000012;color:#2d3748}.intro .right-column .chat-window .chat-messages .bubble.incoming.tagline{background:linear-gradient(135deg,#d97b3f,#e8a25c);color:#fff;font-style:italic}.intro .right-column .chat-window .chat-messages .bubble.bio{color:#4a5568;font-size:1.05rem;max-width:92%}.intro .right-column .chat-window .chat-messages .bubble.bubble-enter{animation:bubbleIn .3s cubic-bezier(.34,1.56,.64,1) both}.intro .right-column .chat-window .chat-messages .bubble.typing-indicator{align-items:center;display:flex;gap:5px;padding:14px 18px;width:fit-content}.intro .right-column .chat-window .chat-messages .bubble.typing-indicator span{animation:typingBounce 1.2s ease-in-out infinite;background:#aaa;border-radius:50%;height:8px;width:8px}.intro .right-column .chat-window .chat-messages .bubble.typing-indicator span:nth-child(2){animation-delay:.2s}.intro .right-column .chat-window .chat-messages .bubble.typing-indicator span:nth-child(3){animation-delay:.4s}.intro .right-column .chat-window .chat-messages .bubble.outgoing{align-self:flex-end;background:#d97b3f;border-bottom-right-radius:4px;color:#fff;font-size:1rem}.intro .right-column .chat-window .chat-messages .bubble.outgoing.green{background:#48bb78;font-style:normal}.intro .right-column .chat-window .chat-messages .bubble.outgoing.tagline{background:linear-gradient(135deg,#d97b3f,#e8a25c);font-style:italic}@media(max-width:768px){.intro .right-column .chat-window{border-radius:16px}.intro .right-column .chat-window .chat-messages .bubble{font-size:.9rem}}.intro .right-column .chat-bottom-bar{background:#fffffff2;display:flex;flex-wrap:wrap;gap:8px;padding:10px 16px}.intro .right-column .chat-bottom-bar .chat-social-links{align-items:center;display:flex;gap:14px;margin-left:auto}.intro .right-column .chat-bottom-bar .chat-social-links a{align-items:center;color:#2b6cb0;display:flex;transition:color .2s ease}.intro .right-column .chat-bottom-bar .chat-social-links a:hover{color:#d97b3f}.intro .right-column .chat-bottom-bar .chat-social-links svg{height:24px;width:24px}.intro .right-column .chat-bottom-bar .chat-suggestion-btn{background:#f0f0f0;border:none;border-radius:20px;color:#718096;cursor:pointer;font-family:Poppins,sans-serif;font-size:.85rem;padding:6px 14px;transition:color .2s ease,background .2s ease,transform .15s ease,opacity .2s ease}.intro .right-column .chat-bottom-bar .chat-suggestion-btn:hover:not(.used){background:#e8e8e8;color:#f06a10;transform:translateY(-1px)}.intro .right-column .chat-bottom-bar .chat-suggestion-btn:active:not(.used){background:#ddd;color:#e05a00;transform:translateY(0)}.intro .right-column .chat-bottom-bar .chat-suggestion-btn.used{cursor:default;opacity:.4}.intro .right-column .chat-bottom-bar .chat-suggestion-btn.active{color:#e05a00;font-weight:500}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-overlay{align-items:center;animation:overlayIn .38s ease forwards;box-sizing:border-box;cursor:zoom-out;display:flex;inset:0;justify-content:center;padding-bottom:20px;padding-top:calc(4rem + 12px);position:fixed;z-index:9999}.lightbox-overlay:before{backdrop-filter:blur(14px) saturate(.75);-webkit-backdrop-filter:blur(14px) saturate(.75);background:#0009;content:"";inset:0;position:absolute}.lightbox-overlay .lightbox-img-wrap{align-items:center;display:flex;justify-content:center;position:relative;z-index:1}.lightbox-overlay .lightbox-content{align-items:center;display:flex;flex-direction:column;gap:10px;position:relative;z-index:1}.lightbox-overlay .lightbox-content .stack-caption{color:#ffffffbf;display:flex;flex-wrap:wrap;font-family:Poppins,sans-serif;font-size:.75rem;gap:6px 16px;justify-content:center;text-shadow:0 1px 3px #00000080}.lightbox-overlay .lightbox-content .stack-caption span{white-space:nowrap}.lightbox-overlay .lightbox-nav{bottom:0;position:absolute;top:0;width:42%;z-index:2}.lightbox-overlay .lightbox-nav--prev{cursor:w-resize;left:0}.lightbox-overlay .lightbox-nav--next{cursor:e-resize;right:0}.lightbox-overlay .lightbox-img{animation:imgExpand .45s cubic-bezier(.22,1,.36,1) forwards;border-radius:16px;box-shadow:0 32px 80px #00000073;display:block;max-height:88vh;max-width:90vw;object-fit:contain;transition:opacity .15s ease}.lightbox-overlay .lightbox-img.is-nav-fading{opacity:0}.lightbox-overlay.is-closing{animation:overlayOut .36s ease forwards;pointer-events:none}.lightbox-overlay.is-closing .lightbox-img{animation:imgShrink .36s cubic-bezier(.55,0,1,.45) forwards}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0}}@keyframes imgExpand{0%{border-radius:20px;opacity:.7;transform:translate(var(--dx),var(--dy)) scale(var(--scale))}to{border-radius:16px;opacity:1;transform:translate(0) scale(1)}}@keyframes imgShrink{0%{border-radius:16px;opacity:1;transform:translate(0) scale(1)}to{border-radius:20px;opacity:0;transform:translate(var(--dx),var(--dy)) scale(var(--scale))}}@keyframes bubbleIn{0%{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.intro .bottom{margin-top:auto;padding:5px;width:100%}.intro .bottom .subtle-typewriter-container{display:flex;justify-content:center;overflow:hidden;width:100%}.intro .bottom .subtle-typewriter-container .subtle-typewriter{color:#555;font-family:Roboto Mono,monospace;font-size:.9rem;line-height:1.5;margin:0 auto;text-align:left}.intro .bottom .subtle-typewriter-container .subtle-typewriter span{display:block;margin-bottom:.5rem}@media(max-width:768px){.intro .bottom .subtle-typewriter{display:none}.intro .bottom .subtle-typewriter .subtle-typewriter span{display:none;margin-bottom:.5rem}.intro .bottom{margin-top:40px}.intro .bottom .content-wrapper{flex-direction:column}.intro .bottom .left-column,.intro .bottom .right-column{font-size:1rem;padding:1rem;width:100%}.intro .bottom .left-column .imageContainer{height:200px;width:200px}.intro .bottom .right-column .main-content h1{font-size:1.3rem}.intro .bottom .right-column .main-content .multilingual-greeting .greeting-line,.intro .bottom .right-column .main-content h2,.intro .bottom .right-column .main-content p{font-size:1rem}.intro .bottom .bottom .play-container{margin-bottom:.5rem;width:100%}.intro .bottom .bottom .subtle-typewriter{display:none}}@media(max-height:667px){.intro .bottom .bottom{display:none}}.nd-entry{animation:card-float 6s ease-in-out infinite;background:#fff;border-radius:10px;cursor:default;padding:1.2rem 1.4rem;position:relative;transition:transform .2s ease,box-shadow .2s ease}.nd-entry:nth-child(2){animation-delay:-1.3s}.nd-entry:nth-child(3){animation-delay:-2.6s}.nd-entry:nth-child(4){animation-delay:-.6s}.nd-entry:nth-child(5){animation-delay:-2s}.nd-entry:hover{animation-play-state:paused;box-shadow:0 8px 24px #00000017;transform:translateY(-2px)}.nd-title{align-items:center;color:#2d3748;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:1.3rem;font-weight:600;gap:6px;line-height:1.6;margin:0 0 8px}.nd-title-icon{flex-shrink:0;margin-right:2px}.nd-title-icon.nd-title-icon-edu{color:#d97b3f}.nd-title-icon.nd-title-icon-work{color:#2b6cb0}.nd-expand-btn{align-items:center;background:#ffffffd9;border:none;border-radius:50%;box-shadow:0 2px 8px #0000001f;color:#718096;cursor:pointer;display:flex;height:30px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:background .2s ease,color .2s ease,transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease;width:30px}.nd-expand-btn svg{height:12px;transform:rotate(-90deg);transition:transform .25s ease;width:12px}.nd-expand-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026;color:#f06a10}.nd-expand-btn:active{color:#e05a00;transform:scale(.92)}.nd-expand-btn.open{color:#e05a00}.nd-expand-btn.open svg{transform:rotate(0deg)}.nd-expand-btn.open:hover{color:#f06a10}.nd-org{color:#334155;font-family:Poppins,sans-serif;font-size:1.05rem;line-height:1.7;margin:0 0 6px}.nd-org a{color:#334155;text-decoration:none;transition:color .2s ease}.nd-org a:hover{color:#f06a10;text-decoration:underline}.nd-org a:active{color:#e05a00}.nd-advisor{color:#334155;font-family:Poppins,sans-serif;font-size:.95rem;font-style:italic;line-height:1.7;margin:2px 0 0}.nd-advisor a{color:#2d3748;font-weight:700;text-decoration:none;transition:color .2s ease}.nd-advisor a:hover{color:#f06a10;text-decoration:underline}.nd-advisor a:active{color:#e05a00}.nd-tags{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.nd-tags-label{color:#94a3b8;font-size:.85rem;margin-right:2px}.nd-tag,.nd-tags-label{font-family:Poppins,sans-serif;font-weight:600}.nd-tag{align-items:center;border-radius:9999px;display:inline-flex;font-size:.78rem;gap:5px;letter-spacing:.01em;padding:3px 10px;transition:opacity .2s ease,filter .2s ease}.nd-tag.nd-tag-purple{background:#ffae6e;color:#fff}.nd-tag.nd-tag-blue{background:#0085a1;color:#fff}.nd-tag.nd-tag-green{background:#6fcfb1;color:#fff}.nd-tag.nd-tag-dimmed{opacity:.3}.nd-tag.nd-tag-link{cursor:pointer;text-decoration:none}.nd-details{margin-top:16px;padding-top:14px}.nd-details-title{color:#2d3748;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;margin:0 0 10px}.nd-project-cards{display:flex;flex-direction:column;gap:10px;min-width:0}.nd-project-card{animation:card-float-inner 6s ease-in-out infinite;background:linear-gradient(180deg,#fff,#5b82960f);border:none;border-radius:10px;min-width:0;padding:14px 16px;position:relative;transition:box-shadow .2s ease,background .2s ease,border-color .2s ease,opacity .25s ease}.nd-project-card:hover{animation-play-state:paused;background:linear-gradient(180deg,#fff,#5b82961f);box-shadow:0 10px 24px #0000001c,0 3px 8px #0000000f;z-index:2}.nd-project-card:hover .nd-project-dot{background:var(--dot-hover)}.nd-project-card.nd-project-card-dimmed{opacity:.4}.nd-project-dots{display:flex;gap:5px;position:absolute;right:12px;top:10px}.nd-project-dot{background:var(--dot-static);border-radius:50%;flex-shrink:0;height:8px;transition:background .2s ease;width:8px}.nd-project-name{color:#2d3748;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:600;line-height:1.45;margin-bottom:6px;overflow-wrap:anywhere;transition:color .2s ease;word-break:break-word}.nd-project-name:hover{color:#167a52}.nd-project-link{color:inherit;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s ease,text-decoration-color .2s ease}.nd-project-link:hover{color:#d97b3f;text-decoration:underline}.nd-coming-soon{color:#94a3b8;font-size:.78rem;font-style:italic;font-weight:500;margin-top:8px;text-align:right}.nd-project-desc{color:#334155;font-family:Poppins,sans-serif;font-size:.88rem;line-height:1.7;overflow-wrap:anywhere;transition:font-size .2s ease;word-break:break-word}.nd-project-skills{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.nd-project-skill{background:#cbd5e14d;border-radius:3px;color:#94a3b8;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500;padding:2px 8px}.nd-details-list{margin:0;padding-left:18px}.nd-details-list.nd-courses{list-style:none;padding-left:0}.nd-details-list li{color:#334155;font-family:Poppins,sans-serif;font-size:.95rem;line-height:1.8;margin-bottom:10px}.nd-details-list li strong{color:#2d3748;font-weight:600}.nd-details-list li .nd-desc{color:#334155}.nd-paper-link{color:#d97b3f;font-size:.85rem;font-weight:500;margin-left:4px;text-decoration:none}.nd-paper-link:hover{text-decoration:underline}@media(max-width:768px){.nd-title{font-size:1.08rem}.nd-org{font-size:.92rem}.nd-details-list li{font-size:.88rem;line-height:1.7}.nd-tags{-ms-overflow-style:none;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;white-space:nowrap}.nd-tags::-webkit-scrollbar{display:none}.nd-tags-label{font-size:.78rem}.nd-tag,.nd-tags-label{flex-shrink:0;white-space:nowrap}.nd-tag{font-size:.7rem;padding:3px 8px}}.tree-page{background:#0000;margin:0 auto;max-width:1100px;min-height:100vh;padding:3rem 2rem 5rem;position:relative}.tree-heading{color:#001524;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:600;margin:0 auto 1.5rem;position:relative;width:fit-content;z-index:1}.tree-heading:after{animation:heading-underline 2.4s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,#f06a10 0,#2eaf7d 80%,#a0a0a033);border-radius:1px;bottom:-4px;content:"";height:2px;left:0;position:absolute}.tree-timeline{margin-left:50px;position:relative;z-index:1}.bamboo-svg{left:-22px;overflow:visible;pointer-events:none;position:absolute;top:0;width:70px;z-index:0}.tree-row{align-items:flex-start;display:flex;opacity:0;padding-bottom:2.2rem;padding-left:48px;position:relative;transform:translateY(6px);transition:opacity 1s ease-out,transform .8s ease-out}.tree-row.ink-visible{opacity:1;transform:translateY(0)}.tree-row:last-child{padding-bottom:0}.tree-row:before{border-top:1.2px solid #1e371999;display:none;pointer-events:none;z-index:2}.tree-node-col{align-items:flex-start;display:flex;flex-direction:column;flex-shrink:0;padding-top:4px;position:relative;width:125px;z-index:2}.tree-icon{color:#94a3b8;font-size:.8rem!important;margin-right:3px;opacity:.5;vertical-align:-1px}.tree-date-range{color:#334155;font-size:.78rem;font-weight:500;letter-spacing:.01em}.tree-date-range,.tree-location{align-items:center;display:flex;font-family:Poppins,sans-serif;line-height:1.5}.tree-location{color:#94a3b8;font-size:.72rem;font-style:italic;font-weight:400}.tree-content-col{flex:1 1;min-width:0;padding-left:8px}@media(max-width:768px){.tree-page{padding:.8rem 1rem 3rem}.tree-heading{font-size:1.4rem;margin:0 0 1.5rem}.tree-timeline{margin-left:4px}.bamboo-svg{left:-8px;width:32px}.tree-row{flex-direction:column;padding-bottom:1.8rem;padding-left:24px}.tree-row:before{left:10px;width:10px}.tree-node-col{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.6rem;margin-bottom:.5rem;padding-top:0;width:100%}.tree-content-col{padding-left:0;width:100%}.tree-date-range{font-size:.78rem}.tree-location{font-size:.72rem}}.publications-section{margin:0 auto;max-width:880px;padding:3rem 1rem}.publications-section .publications-heading{color:#2d3748;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:600;margin:0 auto 1.5rem;position:relative;width:fit-content}.publications-section .publications-heading:after{animation:heading-underline 2.4s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,#f06a10 0,#2eaf7d 80%,#a0a0a033);border-radius:1px;bottom:-4px;content:"";height:2px;left:0;position:absolute}@keyframes heading-underline{0%{opacity:1;width:0}to{opacity:1;width:100%}}@media(max-width:768px){.publications-section .publications-heading{font-size:1.4rem;margin-bottom:1rem}}.publications-section .year-group{display:flex;flex-direction:row;gap:0;margin-bottom:2.5rem}.publications-section .year-group:last-child{margin-bottom:0}.publications-section .year-group+.year-group{padding-top:2rem}.publications-section .year-sidebar{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;padding-right:14px;padding-top:.2rem;width:56px}.publications-section .year-content{display:flex;flex:1 1;flex-direction:column;gap:.75rem;padding-left:56px;position:relative}.publications-section .year-content:after{background:linear-gradient(180deg,#2eaf7d38 0,#2eaf7d 0,#2eaf7d 0,#2eaf7d38 0);background:linear-gradient(to bottom,#2eaf7d38 calc(var(--line-start, 0)*1%),#2eaf7d calc(var(--line-start, 0)*1%),#2eaf7d calc(var(--line-end, 0)*1%),#2eaf7d38 calc(var(--line-end, 0)*1%));bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.publications-section .year-group+.year-group .year-content{padding-top:2rem}.publications-section .year-group+.year-group .year-content:before{animation:separator-shimmer 4s ease-in-out infinite;background:linear-gradient(90deg,#d97b3f1a,#f5c84299,#d97b3f80,#f5c84299,#d97b3f1a);background-size:200% 100%;content:"";height:1px;left:56px;position:absolute;right:0;top:0}.publications-section .year-label{align-items:flex-end;color:#2eaf7d;display:flex;flex-direction:column;font-family:Poppins,sans-serif;font-size:1.2rem;font-weight:800;gap:4px;line-height:1;margin:0;text-align:right}.publications-section .year-label .year-icon{flex-shrink:0;height:1.6rem;width:auto}.publications-section .publication-card{background:#fff;background:linear-gradient(180deg,#fff,#5b82960a);border:none;border-radius:12px;padding:1.2rem 1.4rem;position:relative;transition:box-shadow .3s ease,background .3s ease}.publications-section .publication-card:hover{background:linear-gradient(180deg,#fff,#5b829614);box-shadow:0 10px 28px #0000001f,0 3px 10px #00000012}.publications-section .publication-card.is-active{box-shadow:0 4px 12px #0000000d,0 1px 3px #00000005}.publications-section .publication-card.highlight{animation:pub-highlight 2.2s ease}.publications-section .publication-card.highlight .action-btn{color:#4a6080}.publications-section .publication-card.highlight .tag.badge-highlight{color:#d4647a}.publications-section .publication-card.highlight .tag.badge-highlight:before{background-color:#d4647a;box-shadow:0 0 4px #d4647a66}@keyframes separator-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes pub-highlight{0%{background-color:#e8893a29}60%{background-color:#e8893a14}to{background-color:#0000}}.publications-section .publication-thumbnail{border:1px solid #00000014;border-radius:8px;box-shadow:0 2px 6px #00000014;float:right;height:90px;margin:0 0 .75rem 1.2rem;object-fit:cover;width:120px}.publications-section .publication-title{color:#2d3748;font-family:Poppins,sans-serif;font-size:1.1rem;font-weight:600;line-height:1.55;margin:0 0 .5rem;transition:color .2s ease}.publications-section .publication-title:hover{color:#2d3748}.publications-section .publication-authors{color:#2d3748;font-family:Poppins,sans-serif;font-size:.9rem;line-height:1.7;margin:0 0 .3rem}.publications-section .publication-authors strong{color:#2d3748;font-weight:700}.publications-section .publication-venue{color:#0085a199;font-family:Poppins,sans-serif;font-size:.88rem;font-style:italic;margin:0 0 .7rem;transition:color .2s ease}.publications-section .publication-card:hover .publication-venue{color:#006880}.publications-section .publication-card:hover .tag.badge-highlight{background:#d4647a1a;border-color:#d4647ab3;color:#a42e45}.publications-section .publication-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem}.publications-section .tag{align-items:center;display:inline-flex;font-family:Poppins,sans-serif;font-size:.78rem;font-style:normal;font-weight:600;gap:.35rem;letter-spacing:.02em;margin-left:.6rem;vertical-align:middle}.publications-section .tag.badge-highlight{background:#0000;border:1px solid #d4647a73;border-radius:4px;color:#d4647a;padding:0 5px 0 2px;transition:color .2s ease,border-color .2s ease}.publications-section .tag.badge-highlight:before{background-color:#d4647a;border-radius:50%;box-shadow:0 0 4px #d4647a4d;content:"";display:inline-block;flex-shrink:0;height:5px;transition:background-color .2s ease,box-shadow .2s ease;width:5px}.publications-section .publication-card.is-active .tag.badge-highlight{border-color:#d4647aa6;color:#d4647a}.publications-section .publication-card.is-active .tag.badge-highlight:before{background-color:#d4647a;box-shadow:0 0 4px #d4647a66}.publications-section .action-btn{align-items:center;background:none;border:none;color:#4a6080bf;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:600;gap:.35rem;padding:.3rem 0;text-decoration:none;transition:color .2s ease}.publications-section .action-btn svg{flex-shrink:0;height:16px;width:16px}.publications-section .action-btn:hover{color:#e8893a}.publications-section .action-btn:active{color:#d66f19}.publications-section .publication-card:hover .action-btn{color:#4a6080}.publications-section a.action-btn:hover{text-decoration:underline;text-underline-offset:3px}.publications-section .publication-card.is-active .action-btn{color:#4a6080}.publications-section .publication-card.is-active .action-btn:hover{color:#e8893a}.publications-section .publication-card.is-active .action-btn:active{color:#d66f19}.publications-section .publication-bibtex{background-color:#5b82960f;border:1px solid #5b82961f;border-radius:6px;font-size:.82rem;margin-top:.8rem;overflow:auto;padding:.5rem 1rem .8rem}.publications-section .publication-bibtex pre{color:#2d3748;font-family:SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;margin:0;white-space:pre-wrap}.publications-section .publication-bibtex code{font-family:inherit}.publications-section .publication-bibtex{display:flex;flex-direction:column}.publications-section .publication-abstract{background-color:#5b82960f;border:1px solid #5b82961f;border-radius:6px;display:flex;flex-direction:column;font-size:.9rem;margin-top:.8rem;overflow-wrap:anywhere;padding:.5rem 1rem 1rem;word-break:break-word}.publications-section .publication-abstract p{color:#2d3748;line-height:1.7;margin:0;overflow-wrap:anywhere;word-break:break-word}.publications-section .bibtex-toolbar{align-items:center;display:flex;gap:.4rem;justify-content:flex-end;margin-bottom:.5rem}.publications-section .bibtex-close,.publications-section .bibtex-copy{align-items:center;background-color:#ffffffe6;border:1px solid #00000014;border-radius:999px;color:#2d3748;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:.68rem;font-weight:600;gap:.25rem;padding:.15rem .45rem;transition:color .2s ease,border-color .2s ease,background-color .2s ease}.publications-section .bibtex-close svg,.publications-section .bibtex-copy svg{height:10px;width:10px}.publications-section .bibtex-close:hover,.publications-section .bibtex-copy:hover{border-color:#e8893a66;color:#e8893a}.publications-section .bibtex-close:active,.publications-section .bibtex-copy:active{border-color:#e8893a99;color:#d66f19}.publications-section .bibtex-close{padding:.15rem .4rem}@media(max-width:768px){.publications-section{padding:.8rem .6rem 2rem}.publications-section .publications-heading{margin-top:0}.publications-section .year-group{flex-direction:column;gap:.5rem}.publications-section .year-sidebar{align-items:flex-start;padding-right:0;width:100%}.publications-section .year-content{padding-left:12px}.publications-section .publication-card{padding:.9rem 1rem}.publications-section .year-label{align-items:flex-start;flex-direction:column;font-size:.9rem;gap:4px;text-align:left}.publications-section .year-label .year-icon{height:1.4rem}.publications-section .publication-title{font-size:1.05rem}.publications-section .publication-actions{-ms-overflow-style:none;flex-wrap:nowrap;gap:.8rem;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;white-space:nowrap}.publications-section .publication-actions::-webkit-scrollbar{display:none}.publications-section .action-btn,.publications-section .tag{flex-shrink:0}}.research-page{margin:0 auto;max-width:1200px;padding:2.5rem 1.2rem 3.5rem}.research-page-header{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:1.6rem}.research-heading{color:#2d3748;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:600;margin:0;position:relative;width:fit-content}.research-heading:after{animation:rh-underline 2.4s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,#f06a10 0,#2eaf7d 80%,#a0a0a033);border-radius:1px;bottom:-4px;content:"";height:2px;left:0;position:absolute}@keyframes rh-underline{0%{width:0}to{width:100%}}.research-vision-toggle{align-items:center;background:#0000000a;border:1px solid #00000017;border-radius:999px;color:#4a5568;cursor:pointer;display:inline-flex;flex-shrink:0;font-family:Poppins,sans-serif;font-size:.8rem;font-weight:500;gap:.3rem;padding:.22rem .7rem;transition:color .2s ease,border-color .2s ease,background .2s ease;white-space:nowrap}.research-vision-toggle:hover{background:#c87d4a0d;border-color:#c87d4a59;color:#c87d4a}.vision-chevron{display:inline-block;transform:rotate(0deg);transition:transform .25s ease}.vision-chevron.open{transform:rotate(90deg)}.research-vision{background:linear-gradient(135deg,#fffbf6b3,#f6fdf9a6);border:1px solid #d97b3f1f;border-radius:12px;margin-bottom:2rem;overflow:hidden;padding:1.1rem 1.4rem 1.2rem}.research-vision h3{color:#2d3748;font-family:Poppins,sans-serif;font-size:1rem;font-weight:600;margin:0 0 .5rem}.research-vision p{color:#4a5568;font-family:Poppins,sans-serif;font-size:.92rem;line-height:1.78;margin:0}.research-layout{align-items:flex-start;display:flex;gap:3rem}.research-canvas-wrap{flex-shrink:0;position:sticky;top:5rem;transition:transform .45s cubic-bezier(.34,1.56,.64,1);width:40%}.research-canvas-wrap:hover{transform:translateY(-12px)}.research-canvas-wrap:hover .trefoil-base{filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}.research-trefoil-svg{display:block;height:auto;width:100%}.trefoil-base{fill:none;stroke:#b0a89c80;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 0 transparent);transition:filter .45s ease}.trefoil-flow{fill:none;stroke:#b0a89ca6;stroke-width:.7;stroke-dasharray:3 22;stroke-linecap:round;stroke-linejoin:round;animation:flow-anim 5s linear infinite}.trefoil-flow.collapsed{stroke:#c87d4a8c}@keyframes flow-anim{to{stroke-dashoffset:-25}}.node-glow{fill:#2f2c291f;stroke:none;pointer-events:none}.trefoil-node{stroke:#fff;stroke-width:1.5;cursor:pointer}.trefoil-node.active{stroke-width:2}.trefoil-node.idle{animation:node-idle-pulse 2.4s ease-in-out infinite}@keyframes node-idle-pulse{0%,to{opacity:1}50%{opacity:.5}}.node-label{fill:#8a8480;cursor:pointer;font-family:Poppins,sans-serif;font-size:8px;font-weight:500;-webkit-user-select:none;user-select:none}.collapse-ring{fill:none;stroke:#c87d4a80;stroke-width:.9;stroke-linecap:round;pointer-events:none}.collapse-badge{color:#c87d4a;font-family:Poppins,sans-serif;font-size:.7rem;letter-spacing:.1em;margin-top:.5rem;text-align:center;text-transform:uppercase}.research-panel{flex:1 1;min-width:0;padding-top:.5rem}.research-prompt{align-items:center;display:flex;justify-content:flex-start;min-height:200px}.research-intro-text{padding-top:.5rem}.research-intro-title{color:#2d3748;font-family:Poppins,sans-serif;font-size:1.05rem;font-weight:700;letter-spacing:.01em;margin:0 0 .75rem}.research-intro-text p{color:#4a5568;font-family:Poppins,sans-serif;font-size:.92rem;line-height:1.78;margin:0 0 .6rem}.research-intro-text p strong{color:#2d3748;font-weight:600}.research-intro-cta{color:#94a3b8!important;font-style:italic;margin-top:1rem!important}.pillar-content{padding:0}.pillar-core-question{color:#2d3748;font-family:Poppins,sans-serif;font-size:1.15rem;font-weight:600;line-height:1.65;margin:0 0 1.8rem}.pillar-core-question strong{color:#2d3748;font-weight:700}.pillar-sections{gap:1.2rem}.pillar-section,.pillar-sections{display:flex;flex-direction:column}.pillar-section{gap:.18rem}.pillar-section-label{color:#94a3b8;font-family:Poppins,sans-serif;font-size:.65rem;font-weight:700;letter-spacing:.1em;margin:0 0 .25rem;text-transform:uppercase}.pillar-section-text{color:#4a5568;font-family:Poppins,sans-serif;font-size:.9rem;line-height:1.8;margin:0}.pillar-section-text strong,.resonant-keyword{color:#2d3748;font-weight:600}.resonant-keyword{border-bottom:1px dotted #4a556866;cursor:default;transition:color .2s ease,border-bottom-color .2s ease}.resonant-keyword:hover{border-bottom-color:#c87d4a80;color:#c87d4a}.consistency-meter{border-top:1px solid #94a3b826;margin-top:1.6rem;padding-top:1.2rem}.consistency-meter-title{color:#94a3b8;font-family:Poppins,sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.1em;margin:0 0 .75rem;text-transform:uppercase}.consistency-bars{display:flex;flex-direction:column;gap:.55rem}.consistency-bar-row{align-items:center;display:flex;gap:.75rem}.consistency-bar-label{color:#4a5568;flex-shrink:0;font-family:Poppins,sans-serif;font-size:.75rem;font-weight:500;white-space:nowrap;width:130px}.consistency-bar-track{background:#94a3b826;border-radius:2px;flex:1 1;height:2px;overflow:hidden}.consistency-bar-fill{background:linear-gradient(90deg,#c87d4a73,#c87d4ad9);border-radius:2px;height:100%}.consistency-converged{align-items:center;display:flex;gap:.75rem;padding:.5rem 0}.consistency-converged:before{background:linear-gradient(90deg,#c87d4a4d,#c87d4acc,#2f2c2980);border-radius:2px;content:"";flex:1 1;height:1.5px}.consistency-converged-label{flex-shrink:0;font-family:Poppins,sans-serif;font-size:.72rem;letter-spacing:.06em;white-space:nowrap}.consistency-bar-label.lit,.consistency-converged-label{color:#c87d4a;font-weight:600}.consistency-converged.equilibrium .consistency-converged-label{color:#c87d4a;font-size:.78rem;font-weight:700;letter-spacing:.12em}.consistency-converged.equilibrium:before{background:linear-gradient(90deg,#c87d4a66,#c87d4a,#2f2c2999);height:2px}.pillar-back{align-items:center;background:none;border:none;color:#4a5568;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:.82rem;font-weight:500;gap:.3rem;margin-top:1.2rem;padding:0;transition:color .2s ease}.pillar-back:hover{color:#c87d4a;text-decoration:underline;text-underline-offset:3px}@media(max-width:768px){.research-page{padding:1.2rem .7rem 2rem}.research-heading{font-size:1.4rem}.research-layout{flex-direction:column}.research-canvas-wrap{margin:0 auto;max-width:320px;position:static;width:100%}}.personal-notes{margin:0 auto;max-width:880px;padding:1.2rem 60px 60px}.personal-notes.blog-post{background-color:#f4f4f2;border-radius:8px;max-width:820px}.personal-notes h3{color:#1a2b3c;font-size:1.2rem;font-weight:600;margin-bottom:0}.personal-notes .blog-intro-header{margin-bottom:15px}.personal-notes .blog-intro-header .blog-intro-top{align-items:baseline;display:flex;gap:1rem;justify-content:space-between;margin-bottom:6px}.personal-notes .blog-intro-header h3{margin-bottom:0;position:relative}.personal-notes .blog-intro-header h3:after{animation:blog-underline 2.4s cubic-bezier(.4,0,.2,1) forwards;background:linear-gradient(90deg,#f06a10 0,#2eaf7d 80%,#a0a0a033);border-radius:1px;bottom:-4px;content:"";height:2px;left:0;position:absolute;width:0}@keyframes blog-underline{0%{width:0}to{width:100%}}.personal-notes .note-date{color:#6c757d;color:var(--text-color-light,#6c757d);font-size:.9rem;margin-bottom:5px}.personal-notes .note-card-top{align-items:center;display:flex;gap:.6rem;justify-content:space-between;margin-bottom:.6rem}.personal-notes .note-tags{display:flex;flex-shrink:0;gap:.4rem}.personal-notes .note-tag{border-radius:9999px;font-family:Poppins,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase;transition:color .25s ease,background .25s ease}.personal-notes .note-tag--story{background:#d2648c0f;color:#c0607a80}.personal-notes .note-tag--note{background:#5a8a720f;color:#5a8a7280}.personal-notes .note-card:hover .note-tag--story{background:#d2648c1f;color:#c0607a}.personal-notes .note-card:hover .note-tag--note{background:#5a8a721f;color:#5a8a72}.personal-notes .note-meta{align-items:center;color:#b0b8c4;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.4rem 1rem;margin:0;transition:color .25s ease}.personal-notes .note-card:hover .note-meta{color:#6b7a8d}.personal-notes .note-meta-info{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}.personal-notes .note-meta-item{align-items:center;display:inline-flex;gap:.35rem;letter-spacing:.01em}.personal-notes .note-meta-icon{flex-shrink:0;font-size:.95rem}.personal-notes .note-filter{display:flex;flex-shrink:0;justify-content:flex-end;position:relative}.personal-notes .note-filter-btn{align-items:center;background:none;border:none;border-radius:6px;color:#718096;cursor:pointer;display:inline-flex;font-family:Poppins,sans-serif;font-size:.78rem;font-weight:600;gap:6px;padding:4px 6px;transition:color .2s ease}.personal-notes .note-filter-btn svg{flex-shrink:0;transition:transform .2s ease}.personal-notes .note-filter-btn.open svg,.personal-notes .note-filter-btn:hover svg{transform:rotate(-90deg)}.personal-notes .note-filter-btn.active,.personal-notes .note-filter-btn.open,.personal-notes .note-filter-btn:hover{color:#f06a10}.personal-notes .note-filter-dropdown{background:#fff;border-radius:10px;box-shadow:0 6px 20px #00000024;left:calc(100% + 6px);min-width:100px;overflow:hidden;padding:4px 0;position:absolute;top:0;z-index:10}.personal-notes .note-filter-option{align-items:center;background:none;border:none;color:#2d3748;cursor:pointer;display:flex;font-family:Poppins,sans-serif;font-size:.8rem;padding:8px 14px;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.personal-notes .note-filter-option:hover{background:#f5f5f3;color:#d97b3f}.personal-notes .note-filter-option.active{color:#d97b3f;font-weight:600}.personal-notes .note-list{display:flex;flex-direction:column;gap:1.2rem;list-style:none;margin:1.5rem 0 0;padding:0}.personal-notes .note-card{background:linear-gradient(180deg,#fff,#d2648c08);border:none;border-radius:10px;transition:background .25s ease,box-shadow .25s ease}.personal-notes .note-card.note-card--note{background:linear-gradient(180deg,#fff,#5a8a720d)}.personal-notes .note-card.note-card--note:not(.note-card-short):hover{background:linear-gradient(180deg,#fff,#5a8a721a)}.personal-notes .note-card:not(.note-card-short):hover{background:linear-gradient(180deg,#fff,#d2648c12);box-shadow:0 10px 24px #00000017,0 3px 8px #0000000d}.personal-notes .note-card-static{cursor:default}.personal-notes .note-card-link{color:inherit;display:block;padding:1.2rem 1.4rem;text-decoration:none}.personal-notes .note-card-title{color:#1a2b3c;font-family:Poppins,sans-serif;font-size:1.2rem;font-weight:600;line-height:1.4;margin:0 0 .4rem}.personal-notes .note-card-snippet{color:#4a5568;font-size:.95rem;line-height:1.6;margin:.4rem 0 .6rem}.personal-notes .note-card-readmore{color:#94a3b8;display:inline-block;font-size:.85rem;font-weight:600;transition:color .2s ease}.personal-notes .note-card-link:hover .note-card-readmore{color:#f06a10}.personal-notes.blog-post .blog-back-link{align-items:center;color:#6c757d;display:inline-flex;font-size:.88rem;gap:.3rem;text-decoration:none;transition:color .2s ease,border-color .2s ease,transform .2s ease}.personal-notes.blog-post .blog-back-link:hover{color:#d97b3f}.personal-notes.blog-post .blog-back-link.blog-back-link-bottom{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:#ffffffe6;border:1px solid #00000014;border-radius:999px;bottom:1.2rem;box-shadow:0 2px 8px #0000000f;margin:0;opacity:0;padding:.45rem .9rem;pointer-events:none;position:fixed;right:1.2rem;transform:translateY(10px);transition:opacity .35s ease,transform .35s ease,border-color .2s ease;z-index:900}.personal-notes.blog-post .blog-back-link.blog-back-link-bottom.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.personal-notes.blog-post .blog-back-link.blog-back-link-bottom:hover{border-color:#e1705573;transform:translateY(-2px)}@media(max-width:768px){.personal-notes.blog-post .blog-back-link.blog-back-link-bottom{display:none}body.focus-mode-on .personal-notes.blog-post .blog-back-link.blog-back-link-bottom{display:inline-flex}}.personal-notes.blog-post .post-title{color:#1a2b3c;font-family:Poppins,sans-serif;font-size:1.8rem;font-weight:700;line-height:1.3;margin:0 0 .6rem}.personal-notes.blog-post .post-body{margin-top:1rem}.personal-notes.blog-post .post-block{opacity:0;transform:translateY(18px);transition:opacity .3s ease-in-out,transform .6s ease}.personal-notes.blog-post .post-block.is-revealed{opacity:1;transform:translateY(0)}.personal-notes.blog-post.focus-mode .post-section .post-block.is-revealed{opacity:.35}.personal-notes.blog-post.focus-mode .post-section .post-block-heading.is-revealed{opacity:.6}.personal-notes.blog-post.focus-mode .post-section:hover .post-block.is-revealed{opacity:1}.personal-notes.blog-post.focus-mode{background-color:#f4f4f2;transition:background-color .3s ease-in-out}.personal-notes.blog-post.focus-mode .note-meta-info{opacity:0;pointer-events:none;transition:opacity .3s ease-in-out}.personal-notes.blog-post.focus-mode .focus-toggle{opacity:.35;transition:opacity .3s ease-in-out}.personal-notes.blog-post.focus-mode .focus-toggle:focus-within,.personal-notes.blog-post.focus-mode .focus-toggle:hover{opacity:1}.personal-notes.blog-post .post-body{font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,STSong,Georgia,serif}.personal-notes.blog-post .note-content{font-size:1.02rem;line-height:1.8;margin:0 0 1.6em}.personal-notes.blog-post .note-content.post-footer{color:#8a8a8a;font-size:.82rem;font-style:italic;line-height:1.6;margin-top:.5em}.personal-notes.blog-post .post-heading{color:#1a2b3c;font-family:"Noto Serif SC","Source Han Serif SC",Georgia,serif;font-size:1.18rem;font-weight:600;line-height:1.4;margin:2.2em 0 .9em}.personal-notes.blog-post .post-list{list-style:disc;margin:.25rem 0 .25rem 1.2rem;padding-left:.6rem}.personal-notes.blog-post .post-list li{color:#343a40;color:var(--text-color,#343a40);font-size:1rem;line-height:1.6;margin-bottom:.15rem}.personal-notes.blog-post .post-list li strong{color:#1a2b3c}.personal-notes.blog-post .note-poem{border-bottom:1px solid #00000014;border-top:1px solid #00000014;color:#4a5568;margin:1.2rem auto 2.4rem;max-width:32rem;padding:1rem 1.2rem;text-align:center}.personal-notes.blog-post .note-poem p{font-size:1rem;line-height:1.9;margin:0 0 .25rem}.personal-notes.blog-post .note-poem p:last-child{margin-bottom:0}.personal-notes.blog-post .note-poem .note-poem-dedication{color:#1a2b3c;font-weight:600;margin-top:1rem}.personal-notes.blog-post .note-quote{border-left:4px solid #cbd5e1;color:#4a5568;font-style:italic;margin:1rem 0;padding:.4rem 1rem}.personal-notes.blog-post .note-quote p{line-height:1.7;margin:0}.personal-notes.blog-post .note-quote cite{color:#94a3b8;display:block;font-size:.85rem;font-style:normal;margin-top:.4rem}.personal-notes.blog-post .footnote-ref{color:#d97b3f;font-weight:600;text-decoration:none}.personal-notes.blog-post .footnote-ref sup{font-size:.7em;margin-left:1px}.personal-notes.blog-post .footnotes-divider{border:none;border-top:1px solid #0000001a;margin:2rem 0 1rem}.personal-notes.blog-post .footnotes-list{color:#6c757d;font-size:.85rem;line-height:1.6;margin:0;padding-left:1.2rem}.personal-notes.blog-post .footnotes-list li{margin-bottom:.3rem}.personal-notes.blog-post .footnotes-list li:target{animation:footnote-flash 1.6s ease}.personal-notes.blog-post .footnotes-list li a:not(.footnote-back){color:inherit;text-decoration:none;transition:color .2s ease}.personal-notes.blog-post .footnotes-list li a:not(.footnote-back):hover{color:#d97b3f}@keyframes footnote-flash{0%{background-color:#e170552e}to{background-color:#0000}}.personal-notes.blog-post .footnotes-list .footnote-back{color:#d97b3f;margin-left:.3rem;text-decoration:none}.personal-notes.blog-post .footnotes-list .footnote-back:hover{text-decoration:underline}.personal-notes.blog-post .focus-toggle{align-items:center;color:#6c757d;cursor:pointer;display:inline-flex;font-size:.8rem;gap:.55rem;margin-left:auto;-webkit-user-select:none;user-select:none}.personal-notes.blog-post .focus-toggle input{opacity:0;pointer-events:none;position:absolute}.personal-notes.blog-post .focus-toggle .focus-toggle-track{background-color:#d4d4d4;border-radius:999px;height:16px;position:relative;transition:background-color .2s ease;width:30px}.personal-notes.blog-post .focus-toggle .focus-toggle-track:after{background-color:#fff;border-radius:50%;box-shadow:0 1px 2px #00000026;content:"";height:12px;left:2px;position:absolute;top:2px;transition:left .2s ease;width:12px}.personal-notes.blog-post .focus-toggle input:checked+.focus-toggle-track{background-color:#bfc6cf}.personal-notes.blog-post .focus-toggle input:checked+.focus-toggle-track:after{left:16px}.personal-notes.blog-post .focus-toggle input:focus-visible+.focus-toggle-track{box-shadow:0 0 0 2px #e1705559}.personal-notes .note-not-found{color:#6c757d;text-align:center}.personal-notes .note-not-found a{color:#d97b3f}.personal-notes .note-content{color:#343a40;color:var(--text-color,#343a40);font-size:1rem;line-height:1.5}@media(max-width:768px){.personal-notes{margin:0 auto;max-width:100%;padding:.6rem .8rem 1.2rem}.personal-notes h3{font-size:1.1rem;margin-top:0}.personal-notes .note-content{font-size:.95rem}}.moments-section{margin:2rem auto;max-width:880px;padding:3rem 2rem}.moments-section h2{color:#ffc300;font-family:EB Garamond,Georgia,serif;font-size:2rem;font-weight:500;letter-spacing:-.02em;margin:0 0 .5rem}.moments-section .moments-intro{color:#a8aaad;font-family:Inter,sans-serif;font-size:1rem;line-height:1.8;margin:0 0 2rem}.moments-section .moments-empty{color:#6e7275;font-family:Inter,sans-serif;font-size:.95rem;font-style:italic}@media(max-width:768px){.moments-section{padding:2rem 1.25rem}.moments-section h2{font-size:1.6rem}}.skill-bubble.programming-language{background-color:#4285f4}.skill-bubble.ml{background-color:#0f9d58}.skill-bubble.soft{background-color:#f4b400}.skill-bubble.language{background-color:#db4437}.skill-bubble.other{background-color:#9e9e9e}:root{--primary-color:#1a2b3c;--secondary-color:#00b4d8;--accent-color:#ff6b6b;--accent-color-dark:#e05a5a;--background-color:#fff;--text-color:#333;--sage-border:#d8e3dd;--sage-timeline:#7a9e8e;--sage-tag-bg:#4a7a63;--sage-tag-text:#fff;--sage-primary:#7a9e8e;--sage-light:#e8f0ec;--sage-dark:#4f6d5f;--amber-deep:#d97b3f;--amber-mid:#e8a25c;--amber-light:#f5d9b0;--amber-bg-wash:#fdf6ec;--color-background:#f7fafc;--color-card-researcher:#e6f6ff;--color-card-phd:#fff5f5;--color-text-main:#2d3748;--color-text-secondary:#4a5568;--color-accent-primary:#3182ce;--color-accent-secondary:#ed8936;--color-timeline:#cbd5e0;--color-skill-tag-bg:#ebf8ff;--color-skill-tag-text:#2b6cb0;--color-status-present:#48bb78;--color-status-past:#a0aec0}body{background-color:#f5f5f7;color:#333;color:var(--text-color);font-family:Poppins,sans-serif;margin:0;padding:0}body.blog-reading{background-color:#f4f4f2}::selection{background-color:#e1705559;color:inherit}::-moz-selection{background-color:#e1705559;color:inherit}html{scrollbar-color:silver #0000;scrollbar-width:thin}::-webkit-scrollbar{height:5px;width:5px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:silver;border:2px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-clip:padding-box;background-color:#a0a0a0}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{color:#fff}.routes{background-color:#f5f5f7;flex-grow:1}.routes .route{min-height:100vh;padding:10px;transition:background-color .3s ease}.routes .route h2{color:#1a2b3c;color:var(--primary-color);font-weight:600;margin-bottom:30px}.routes .personal-notes-route{background-color:var(--background-color-light);min-height:auto;padding:10px}body.blog-reading .routes{background-color:#f4f4f2;transition:background-color .3s ease-in-out}.card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;padding:20px;transition:transform .3s ease}.card:hover{transform:translateY(-5px)}.button{background-color:#ff6b6b;background-color:var(--accent-color);border:none;border-radius:25px;color:#fff;font-weight:600;padding:10px 20px;transition:background-color .3s ease}.button:hover{background-color:#e05a5a;background-color:var(--accent-color-dark)}@media(max-width:768px){.routes{scroll-snap-type:none}}@media(max-width:576px){.personal-notes-route,.route{padding:5px}.personal-notes h3{font-size:1.1rem}.personal-notes .note-content{font-size:.9rem}}
/*# sourceMappingURL=main.c09e4362.css.map*/