body,html{background:#fff;margin:0;padding:0}.content,.main{margin:0 auto;max-width:50%}.site-footer{border-top:1px solid #eee;color:#666;font-family:Charter,sans-serif;font-size:14px;margin-top:56px;padding:16px 0 28px}.site-footer .footer-line{margin:4px 0}@media (max-width:768px){.content,.main{max-width:92%}}@font-face{font-family:Ephidona;font-style:normal;font-weight:400;src:url(/static/media/Ephidona.9e153e9ec71b6a7e19db.woff) format("woff")}:root{--grad-1:#7a3cff;--grad-2:#ff4d4f;--grad-3:#ffc107;--tag-bg:#fff;--tag-border:#5fe0b7;--card-border:#e87500}.myname{color:#333;font-family:Ephidona,sans-serif;font-size:80px;letter-spacing:3px;margin-top:20px;text-align:left}.name-row{align-items:center;display:flex;flex-wrap:nowrap;gap:16px;margin-top:0}.name-row .myphoto-wrap{--ring-thickness:5px;flex:0 0 auto;height:150px;margin-left:auto;perspective:800px;position:relative;width:150px}.name-row .myphoto-wrap:before{animation:ring-sweep 1.5s ease-out both;background:conic-gradient(from 0turn,#7a3cff,#ff4d4f,#ffc107,#7a3cff);background:conic-gradient(from 0turn,var(--grad-1),var(--grad-2),var(--grad-3),var(--grad-1));border-radius:50%;content:"";filter:drop-shadow(0 2px 8px rgba(0,0,0,.08));inset:calc(var(--ring-thickness)*-1);-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - var(--ring-thickness)),#000 0);mask:radial-gradient(farthest-side,#0000 calc(100% - var(--ring-thickness)),#000 0);pointer-events:none;position:absolute}.name-row .coin-3d{animation:coin-flip 1.15s ease-out both;height:100%;position:relative;transform-style:preserve-3d;width:100%;z-index:1}.name-row .coin-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:50%;box-shadow:0 2px 8px #00000014;height:100%;inset:0;object-fit:cover;position:absolute;width:100%}.name-row .coin-front{transform:rotateY(0deg) translateZ(1px)}.name-row .coin-back{transform:rotateY(180deg) translateZ(1px)}@media (max-width:480px){.name-row .myphoto-wrap{--ring-thickness:4px;height:56px;width:56px}}@keyframes ring-sweep{0%{opacity:0;transform:rotate(0turn)}30%{opacity:1}to{opacity:1;transform:rotate(1turn)}}@keyframes coin-flip{0%{transform:rotateY(0deg)}to{transform:rotateY(1turn)}}@media (prefers-reduced-motion:reduce){.name-row .coin-3d,.name-row .myphoto-wrap:before{animation:none}}.addressline{font-family:charter,sans-serif;font-size:28px}.addressline,.contactline{color:#333;letter-spacing:0;margin-top:0;text-align:left}.contactline{--icon-size:28px;font-family:Ephidona,sans-serif;font-size:24px}.contact-icons{align-items:center;display:inline-flex;gap:10px}.contact-btn{background:#fff;border:1px solid #0000;border-radius:10px;color:inherit;cursor:pointer;display:inline-grid;height:36px;padding:0;place-items:center;position:relative;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease;width:36px}.contact-btn:hover{background:#fff9f2;border-color:#ffe1c4;color:#e87500}.contact-btn:focus-visible{outline:2px solid #e87500;outline-offset:2px}.contact-btn .icon{fill:currentColor;height:var(--icon-size);width:var(--icon-size)}.copied{background:#ecfdf3;border-radius:6px;color:#0c8a3e;font-size:12px;left:50%;line-height:1.2;padding:2px 6px;pointer-events:none;position:absolute;top:100%;transform:translate(-50%,6px);white-space:nowrap}.heading{color:#333;font-family:Ephidona,sans-serif;font-size:48px;margin-top:40px;text-align:left}.line-left-right{align-items:center;display:flex;justify-content:space-between;width:100%}.normal-text{color:#333}.normal-text,.normal-text-highlight{font-family:Charter,sans-serif;font-size:22px;line-height:1.6;margin-top:20px;text-align:left}.normal-text-highlight{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#7a3cff,#ff4d4f,#ffc107);background:linear-gradient(90deg,var(--grad-1),var(--grad-2),var(--grad-3));-webkit-background-clip:text;background-clip:text;color:#0000}.accent-underline{-webkit-text-decoration-color:#5fe0b7;text-decoration-color:#5fe0b7;-webkit-text-decoration-line:underline;text-decoration-line:underline;text-decoration-thickness:1.5px;text-underline-offset:4px}.publications{--accent:#e87500;--pub-font:"Charter",sans-serif;--pub-title-size:18px;--pub-authors-size:14px;--pub-meta-size:12px;--pub-link-size:12px;--grad-time:.85s;list-style:none;margin:28px 0 8px;padding:0}.pubs-large .publications{--pub-title-size:24px;--pub-authors-size:18px;--pub-meta-size:18px;--pub-link-size:18px}.pubs-compact .publications{--pub-title-size:16px;--pub-authors-size:13px;--pub-meta-size:11px;--pub-link-size:11px}.publications .pub-item{--border-color:var(--card-border,#e0e0e0);grid-gap:6px 14px;background-color:#fff;background-image:linear-gradient(var(--border-color),var(--border-color)),linear-gradient(var(--border-color),var(--border-color)),linear-gradient(var(--border-color),var(--border-color)),linear-gradient(var(--border-color),var(--border-color));background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat;background-size:24px 1px,1px 24px,0 1px,1px 0;border:1px solid #0000;border-radius:10px;display:grid;gap:6px 14px;grid-template-columns:1fr auto;padding:14px 12px;transition:background-color .2s ease,background-size 1s ease}.publications .pub-item+.pub-item{margin-top:12px}.publications .pub-item:hover{background-color:#fff9f2;background-size:100% 1px,1px 100%,1px 100%,100% 1px}.publications .pub-title{color:#333;font-family:var(--pub-font);font-size:var(--pub-title-size);font-weight:500;grid-column:1;grid-row:1;line-height:1.35;margin:0}.publications .pub-title a{-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(90deg,#7a3cff,#ff4d4f,#ffc107);background-image:linear-gradient(90deg,var(--grad-1),var(--grad-2),var(--grad-3));background-position:0 50%;background-size:200% 100%;color:inherit;display:inline-block;text-decoration:none;transition:background-position var(--grad-time) ease,color .28s ease}.publications .pub-title a:focus-visible,.publications .pub-title a:hover{background-position:100% 50%;color:#0000}.publications .pub-authors{color:#666;font-family:var(--pub-font);font-size:var(--pub-authors-size);grid-column:1;grid-row:2}.publications .pub-authors .me{color:var(--accent);font-weight:500}.publications .pub-meta{align-items:center;align-self:center;display:flex;flex-wrap:wrap;gap:6px;grid-column:2;grid-row:1;justify-self:end}.publications .pub-venue,.publications .pub-year{background:#fff;background:var(--tag-bg);border:1px solid #5fe0b7;border:1px solid var(--tag-border);border-radius:999px;color:#555;font-size:var(--pub-meta-size);padding:2px 8px}.publications .pub-links{align-self:start;display:flex;gap:8px;grid-column:2;grid-row:2;justify-self:end}.publications .pub-link{background:#fff;border:1px solid #e87500;border-radius:6px;color:#555;font-size:var(--pub-link-size);padding:4px 10px;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease}.publications .pub-link:hover{background:#fff9f2;border-color:var(--accent);color:var(--accent)}@media (max-width:640px){.publications .pub-item{grid-template-columns:1fr}.publications .pub-meta,.publications .pub-title{grid-column:1;grid-row:auto}.publications .pub-meta{justify-self:start}.publications .pub-authors,.publications .pub-links{grid-column:1;grid-row:auto}.publications .pub-links{justify-self:start;margin-top:6px}}.cards{--accent:#e87500;--pub-font:"Charter",sans-serif;--pub-title-size:24px;--pub-authors-size:18px;--pub-meta-size:18px;--pub-link-size:18px;list-style:none;margin:28px 0 8px;padding:0}.cards .card-item{--border-color:var(--card-border,#e0e0e0);grid-gap:6px 14px;background-color:#fff;background-image:linear-gradient(var(--border-color),var(--border-color)),linear-gradient(var(--border-color),var(--border-color)),linear-gradient(var(--border-color),var(--border-color)),linear-gradient(var(--border-color),var(--border-color));background-position:0 0,0 0,100% 0,0 100%;background-repeat:no-repeat;background-size:24px 1px,1px 24px,0 1px,1px 0;border:1px solid #0000;border-radius:10px;display:grid;gap:6px 14px;grid-template-columns:1fr auto;padding:14px 12px;transition:background-color .2s ease,background-size 1s ease}.cards .card-item:hover{background-color:#fff9f2;background-size:100% 1px,1px 100%,1px 100%,100% 1px}.cards .card-item+.card-item{margin-top:12px}.cards .card-title{color:#333;font-family:var(--pub-font);font-size:var(--pub-title-size);font-weight:500;grid-column:1;grid-row:1;line-height:1.35;margin:0}.cards .card-meta{align-items:center;align-self:center;display:flex;flex-wrap:wrap;gap:6px;grid-column:2;grid-row:1;justify-self:end}.cards .card-tag{background:#fff;background:var(--tag-bg);border:1px solid #5fe0b7;border:1px solid var(--tag-border);border-radius:99px;color:#555;font-size:var(--pub-meta-size);padding:2px 8px}.cards .card-description{color:#666;font-family:var(--pub-font);font-size:18px;grid-column:1/-1;grid-row:2;margin:0}.cards .card-links{align-self:start;display:flex;gap:8px;grid-column:2;grid-row:2;justify-self:end}.cards .card-link{background:#fff;border:1px solid #e87500;border-radius:6px;color:#555;font-size:var(--pub-link-size);padding:4px 10px;text-decoration:none;transition:color .2s ease,border-color .2s ease,background .2s ease}.cards .card-link:hover{background:#fff9f2;border-color:var(--accent);color:var(--accent)}.cards .card-item.has-links .card-description{grid-column:1}@media (max-width:640px){.cards .card-item{grid-template-columns:1fr}.cards .card-links,.cards .card-meta{grid-column:1;grid-row:auto;justify-self:start}.cards .card-links{margin-top:6px}}.hover-live-link{--link-color:#247856;--link-hover:#e87500;--underline-base:#5fe0b7;--underline-active:#e87500;--grad-1:#7a3cff;--grad-2:#ff4d4f;--grad-3:#ffc107;--pop-width:360px;--pop-height:230px;--radius:14px;--shadow:0 12px 30px #0000002e;--timing:.28s;--grad-time:.85s;--spin-speed:1.1s;--border-thick:2px;--underline-offset:1px;--underline-thickness:1.5px;color:var(--link-color);display:inline-block;font-style:italic;font-weight:500;position:relative;text-decoration:none;transition:color var(--timing) ease}.hover-live-link .link-text{-webkit-background-clip:text;background-clip:text;background-image:linear-gradient(90deg,var(--grad-1),var(--grad-2),var(--grad-3));background-position:0 50%;background-size:200% 100%;contain:paint;display:inline-block;line-height:1;padding-bottom:calc(var(--underline-offset) + var(--underline-thickness));position:relative}.hover-live-link .link-text:before{background:var(--underline-base)}.hover-live-link .link-text:after,.hover-live-link .link-text:before{bottom:0;content:"";height:var(--underline-thickness);left:0;pointer-events:none;position:absolute;right:0;z-index:1}.hover-live-link .link-text:after{background:var(--underline-active);transform:scaleX(0);transform-origin:left;transition:transform var(--timing) ease}.hover-live-link:hover .link-text:after{transform:scaleX(1)}.hover-live-link:hover .link-text{background-position:100% 50%;color:#0000;transition:background-position var(--grad-time) ease}.hover-live-wrap{display:inline-block;position:relative}.preview-pop{height:230px;left:0;opacity:0;pointer-events:none;position:absolute;top:125%;transform:translateY(6px);transition:opacity .28s ease,transform .28s ease;width:360px;z-index:40}.hover-live-wrap.right .preview-pop{left:auto;right:0}.preview-pop.open{opacity:1;pointer-events:auto;transform:translateY(0)}.preview-frame{animation:spin var(--spin-speed) linear infinite;animation-play-state:paused;background:none;border:var(--border-thick) solid #0000;border-image-slice:1;border-image-source:conic-gradient(from 0turn,currentColor 0 20%,#0000 20% 100%);border-radius:var(--radius);box-sizing:border-box;inset:0;opacity:0;pointer-events:none;position:absolute;transform:scale(.96);transition:opacity var(--timing) ease,transform var(--timing) ease}.preview-pop.open .preview-frame{animation-play-state:running;opacity:1;transform:scale(1)}.preview-viewport{background:#fff;border-radius:var(--radius);border-radius:14px;box-shadow:var(--shadow);box-shadow:0 12px 30px #0000002e;inset:0;overflow:hidden;position:absolute}.preview-viewport iframe,.preview-viewport img{border:0;display:block;height:100%;width:100%}.preview-placeholder{background:linear-gradient(180deg,#f5f5f7,#f0f0f2);color:#888;display:grid;font-size:14px;inset:0;place-items:center;pointer-events:none;position:absolute}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:480px){.hover-live-link{--pop-width:300px;--pop-height:190px}}@media (prefers-reduced-motion:reduce){.preview-frame{animation:none!important}.hover-live-link .link-text{background-image:none}.hover-live-link:hover .link-text{color:var(--link-hover)!important}}
/*# sourceMappingURL=main.c559931d.css.map*/