:root{--ink:#2b2119;--muted:#786c60;--paper:#fffaf0;--card:#f4ead9;--line:#ead8bd;--accent:#f4c84a;--deep:#5b3525;--serif:Georgia,'Times New Roman',serif;--sans:Manrope,system-ui,sans-serif;--mono:'DM Mono',monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.6}.noise{position:fixed;inset:0;pointer-events:none;opacity:.045;z-index:10;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.shell{max-width:1180px;margin:0 auto;padding-left:32px;padding-right:32px}.topbar{max-width:1180px;margin:0 auto;height:88px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:11px;font-weight:800;color:var(--ink);text-decoration:none}.brand-mark{display:grid;place-items:center;width:32px;height:32px;background:var(--ink);color:var(--accent);font:500 11px var(--mono);border-radius:50%}.topbar nav{display:flex;gap:28px}.topbar nav a,.quick-links a,.contact-links a{font:500 12px var(--mono);color:var(--muted);text-decoration:none}.topbar nav a:hover,.quick-links a:hover,.contact-links a:hover{color:var(--ink)}.theme-toggle{border:1px solid var(--line);background:transparent;border-radius:50%;width:34px;height:34px;cursor:pointer;color:var(--ink);font-size:17px}.hero{min-height:650px;padding-top:88px;padding-bottom:85px;display:grid;grid-template-columns:1fr .9fr;gap:70px;align-items:center}.eyebrow,.mono-label{font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.eyebrow{color:var(--muted);display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:#c68b2c;border-radius:50%;display:inline-block}.hero h1,h2{font-size:clamp(48px,6vw,82px);line-height:1.02;letter-spacing:-.06em;margin:25px 0 27px;font-weight:800}.hero h1 em,h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.05em}.lede{max-width:535px;color:var(--muted);font-size:17px;line-height:1.7}.lede strong{color:var(--ink);font-weight:700}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:34px}.button{display:inline-flex;align-items:center;gap:16px;padding:14px 19px;border-radius:999px;text-decoration:none;font:500 12px var(--mono);transition:.2s}.button-primary{background:var(--ink);color:var(--paper)}.button-primary:hover{background:#7a4a2e;transform:translateY(-2px)}.button-outline{border:1px solid rgba(245,247,243,.4);color:var(--paper)}.button-outline:hover{background:var(--accent);color:var(--ink);border-color:var(--accent)}.text-link{color:var(--ink);font:500 12px var(--mono);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:4px}.quick-links{display:flex;gap:22px;margin-top:50px}.quick-links a span,.text-link span,.button span,.card-link span,.email span{margin-left:5px}.hero-visual{min-height:440px;position:relative}.visual-card{position:absolute;inset:34px 12px 0 30px;background:var(--deep);border-radius:26px;padding:24px;color:var(--paper);overflow:hidden;box-shadow:18px 20px 0 rgba(244,200,74,.22)}.card-top,.visual-caption{display:flex;justify-content:space-between;position:relative;z-index:1}.signal{font:500 10px var(--mono);color:var(--accent);letter-spacing:.08em}.scan-grid{position:absolute;inset:95px 18px 70px;background:linear-gradient(rgba(244,200,74,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(244,200,74,.22) 1px,transparent 1px);background-size:32px 32px;transform:perspective(400px) rotateX(45deg) scale(1.3);opacity:.65}.scan-grid:after{content:'';position:absolute;width:200px;height:200px;border:1px solid var(--accent);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 22px rgba(244,200,74,.05),0 0 0 46px rgba(244,200,74,.05)}.scan-line{position:absolute;top:35%;left:20px;right:20px;height:1px;background:var(--accent);box-shadow:0 0 16px 2px var(--accent);opacity:.75}.visual-caption{bottom:24px;left:24px;right:24px;position:absolute;font:500 12px var(--mono)}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;white-space:nowrap}.ticker-track{display:flex;justify-content:space-around;gap:28px;padding:18px 0;color:var(--muted);font:500 11px var(--mono);letter-spacing:.1em}.ticker-track i{font-style:normal;color:#d0952d}.section{padding-top:130px;padding-bottom:130px}.section-heading{max-width:570px}.section-heading h2,.about-layout h2,.contact h2{font-size:clamp(43px,5vw,66px);margin:20px 0}.section-intro{color:var(--muted);font-size:16px;max-width:450px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:70px}.research-card{padding:26px;background:var(--card);min-height:330px;border-radius:12px;position:relative;transition:transform .25s,background .25s}.research-card:hover{transform:translateY(-8px);background:#f0dfbd}.research-card.featured{background:var(--deep);color:var(--paper);transform:translateY(-22px)}.research-card.featured:hover{transform:translateY(-30px)}.card-index{position:absolute;right:22px;top:24px;font:500 11px var(--mono);opacity:.55}.icon{font-size:35px;margin:38px 0 23px;color:#b97827}.featured .icon{color:var(--accent)}.research-card h3{font-size:22px;letter-spacing:-.04em;margin:0 0 12px}.research-card p{color:var(--muted);font-size:14px;line-height:1.7;max-width:270px}.featured p{color:#e4c9a0}.card-link{position:absolute;bottom:25px;color:inherit;text-decoration:none;font:500 11px var(--mono);border-bottom:1px solid currentColor;padding-bottom:4px}.section-dark{background:var(--deep);color:var(--paper)}.work-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.light .eyebrow,.light .section-intro{color:#a4b5ae}.work-list{border-top:1px solid rgba(245,247,243,.25);margin-top:15px}.work-item{display:grid;grid-template-columns:70px 1fr 22px;gap:18px;padding:25px 0;border-bottom:1px solid rgba(245,247,243,.25);align-items:start}.work-year{font:500 11px var(--mono);color:var(--accent);padding-top:6px}.work-item h3{font-size:19px;margin:0 0 6px;letter-spacing:-.02em}.work-item p{margin:0;color:#a4b5ae;font-size:13px}.work-arrow{color:var(--accent);font-size:20px}.about-layout{display:grid;grid-template-columns:.45fr 1fr;gap:70px;align-items:start}.about-mark{font-size:clamp(110px,17vw,220px);line-height:.8;letter-spacing:-.13em;color:var(--card);font-weight:800}.about-mark span{color:#d79f38;font-size:.3em;vertical-align:top}.body-copy{max-width:600px;font-size:19px;line-height:1.7}.muted{color:var(--muted);font-size:15px}.contact{border-top:1px solid var(--line);padding-top:100px;padding-bottom:100px;display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-detail{padding-top:25px;max-width:430px}.contact-detail p{color:var(--muted);font-size:16px}.email{display:inline-block;color:var(--ink);font-size:21px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:7px;margin:20px 0 35px}.contact-links{display:flex;gap:24px}.footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:28px;display:flex;justify-content:space-between;color:var(--muted)}@media(max-width:800px){.topbar{height:72px;padding:0 20px}.topbar nav{display:none}.shell{padding-left:20px;padding-right:20px}.hero{grid-template-columns:1fr;gap:35px;padding-top:60px;min-height:auto}.hero h1{font-size:clamp(45px,13vw,68px)}.hero-visual{min-height:360px}.visual-card{inset:22px 9px 0 9px}.research-grid,.work-layout,.contact,.about-layout{grid-template-columns:1fr;gap:35px}.section{padding-top:90px;padding-bottom:90px}.research-card.featured{transform:none}.research-card.featured:hover{transform:translateY(-8px)}.work-layout{gap:48px}.about-mark{font-size:130px}.contact{padding-top:70px;padding-bottom:70px}.footer{display:block}.footer .mono-label{display:block;margin-top:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.research-card,.button{transition:none}}
/* bilingual and profile additions */
.header-actions{display:flex;align-items:center;gap:14px}.lang-toggle{border:0;background:transparent;color:var(--muted);font:500 11px var(--mono);cursor:pointer;padding:4px}.lang-toggle b{font-weight:400;opacity:.45;margin:0 4px}.lang-toggle .active{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:3px}.profile-card{padding:0;overflow:hidden;background:var(--deep)}.profile-card img{width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.75) contrast(1.05);opacity:.88}.profile-overlay{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;z-index:1}.profile-caption{position:absolute;bottom:24px;left:24px;right:24px;display:flex;justify-content:space-between;z-index:1;font:500 12px var(--mono)}.profile-card:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(91,53,37,.48),transparent 35%,rgba(91,53,37,.72))}.profile-card>*{position:relative;z-index:1}.research-grid{grid-template-columns:repeat(4,1fr)}.research-card{min-height:315px}.safety-card{border:1px solid #e3b54c}.tag{position:absolute;bottom:25px;right:23px;font:500 9px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#a46b20}.publication-item{padding:34px 0}.paper-links{display:flex;gap:18px;margin-top:16px}.paper-links a{color:var(--accent);font:500 11px var(--mono);text-decoration:none}.publication-note{margin-top:30px;color:#a4b5ae;font-size:14px;line-height:1.7;max-width:500px}.education{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}.education>div{border-top:1px solid var(--line);padding-top:14px}.education strong,.education small{display:block}.education strong{font-size:14px;margin-top:12px}.education small{font-size:12px;color:var(--muted);margin-top:5px}.advisor-line{font-size:13px;color:var(--muted);margin-top:32px}.advisor-line a{color:var(--ink);text-decoration:none;border-bottom:1px solid #a4b5ae}.dark-mode{--paper:#251a15;--ink:#fff5e6;--muted:#c6b5a5;--card:#3a281f;--line:#5c4233}.dark-mode .brand-mark{background:var(--accent);color:var(--deep)}.dark-mode .theme-toggle{color:var(--ink)}.dark-mode .lang-toggle .active{color:var(--ink);border-color:var(--ink)}.dark-mode .hero-visual .visual-card{box-shadow:18px 20px 0 rgba(244,200,74,.16)}.dark-mode .research-card:hover{background:#4c3427}.dark-mode .advisor-line a,.dark-mode .email{color:var(--ink)}
@media(max-width:1000px){.research-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.header-actions{margin-left:auto;margin-right:10px}.research-grid{grid-template-columns:1fr}.education{grid-template-columns:1fr 1fr}.profile-caption{display:block}.profile-caption .mono-label{display:block;margin-top:8px}.paper-links{flex-wrap:wrap}}
@media(max-width:520px){.education{grid-template-columns:1fr}}

.quick-links .profile-link{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #e4c98e;border-radius:999px;background:#fff3d3;color:#6b4825;box-shadow:0 5px 0 rgba(198,139,44,.12);transition:.2s}.quick-links .profile-link:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:#2b2119}.quick-links .profile-link span{margin-left:0}.dark-mode .quick-links .profile-link{background:#6c432a;border-color:#b9823f;color:#fff5df}.dark-mode .quick-links .profile-link:hover{background:var(--accent);color:#2b2119}
.education-section{padding-top:95px;padding-bottom:95px}.education-section>.education{max-width:100%;margin-top:55px}.education-section .section-intro{max-width:520px}

/* topic archive */
.archive-page{background:var(--paper);color:var(--ink)}
.archive-page main{padding-bottom:40px}.archive-hero{padding-top:88px;padding-bottom:80px;border-bottom:1px solid var(--line)}.archive-hero h1{font-size:clamp(52px,7vw,86px);line-height:.98;letter-spacing:-.07em;margin:25px 0 24px;font-weight:800}.archive-hero h1 em{font-family:var(--serif);font-weight:400}.archive-lede{max-width:560px;color:var(--muted);font-size:17px;line-height:1.75}.archive-stats{display:flex;gap:28px;margin-top:34px;color:var(--muted);font:500 11px var(--mono);letter-spacing:.08em;text-transform:uppercase}.topic-index{padding-top:48px;padding-bottom:55px}.topic-index>.mono-label{color:var(--muted);margin-bottom:15px}.topic-index-list{display:flex;flex-wrap:wrap;gap:10px}.topic-chip{display:inline-flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font:500 12px var(--mono);text-decoration:none;transition:.2s}.topic-chip span{color:var(--muted);font-size:10px}.topic-chip:hover{background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.topic-groups{display:grid;gap:64px}.topic-group{scroll-margin-top:30px}.topic-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;border-top:1px solid var(--line);padding-top:25px;margin-bottom:20px}.topic-heading .eyebrow{margin-bottom:8px}.topic-heading h2{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.06em;margin:0}.topic-count{color:var(--muted);font:500 11px var(--mono);white-space:nowrap;padding-bottom:6px}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.note-card{display:flex;flex-direction:column;min-height:235px;padding:23px 23px 21px;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:transform .2s,background .2s,box-shadow .2s}.note-card:hover{transform:translateY(-5px);background:#f0dfbd;box-shadow:0 12px 24px rgba(91,53,37,.08)}.note-card-meta{margin:0 0 22px;color:var(--muted);font:500 10px var(--mono);letter-spacing:.05em;text-transform:uppercase}.note-card h3{margin:0;font-size:20px;line-height:1.2;letter-spacing:-.04em}.note-card h3 a{color:var(--ink);text-decoration:none}.note-excerpt{margin-top:12px;color:var(--muted);font-size:13px;line-height:1.65}.note-card .card-link{position:static;display:inline-block;margin-top:auto;padding-top:18px;border-bottom:0;color:var(--ink);font-size:11px}.note-card .card-link span{margin-left:5px}.archive-empty{min-height:300px}.dark-mode .topic-chip:hover{color:var(--ink)}.dark-mode .note-card:hover{background:#4c3427}
@media(max-width:900px){.note-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.archive-hero{padding-top:58px;padding-bottom:60px}.topic-heading{align-items:start;display:block}.topic-count{display:block;margin-top:12px}.note-grid{grid-template-columns:1fr}.archive-stats{gap:18px;flex-wrap:wrap}}

/* note reader */
.note-shell{max-width:980px;margin:0 auto;padding:48px 32px 110px}.note-back{display:inline-flex;align-items:center;color:var(--muted);font:500 11px var(--mono);text-decoration:none;margin-bottom:34px}.note-back:hover{color:var(--ink)}.note-article{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:0 20px 50px rgba(91,53,37,.08)}.note-header{padding:58px 72px 48px;background:var(--card);border-bottom:1px solid var(--line)}.note-header h1{max-width:760px;margin:22px 0 20px;font-size:clamp(40px,6vw,70px);line-height:1.05;letter-spacing:-.065em}.note-lede{max-width:680px;color:var(--muted);font-size:18px;line-height:1.7;margin:0}.note-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.note-tags a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font:500 10px var(--mono);text-decoration:none;background:rgba(255,250,240,.45)}.note-tags a:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}.note-content{max-width:730px;margin:0 auto;padding:58px 72px 70px;font-family:var(--serif);font-size:19px;line-height:1.85}.note-content h2,.note-content h3{font-family:var(--sans);letter-spacing:-.04em;line-height:1.2}.note-content h2{font-size:32px;margin:38px 0 16px}.note-content h3{font-size:24px;margin:30px 0 12px}.note-content p{margin:0 0 22px}.note-content a{color:var(--deep);text-decoration:underline;text-decoration-color:#d4aa55;text-underline-offset:4px}.note-content img{display:block;max-width:100%;height:auto;margin:30px auto;border-radius:12px}.note-content blockquote{margin:30px 0;padding:6px 0 6px 22px;border-left:3px solid var(--accent);color:var(--muted);font-style:italic}.note-content code{padding:2px 6px;border-radius:5px;background:var(--card);font-family:var(--mono);font-size:.8em}.note-content pre{overflow:auto;margin:28px 0;padding:20px;border-radius:12px;background:var(--deep);color:var(--paper);font:14px/1.65 var(--mono)}.note-content pre code{padding:0;background:transparent;color:inherit}.note-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 72px;border-top:1px solid var(--line);color:var(--muted);font:500 11px var(--mono)}.note-footer .card-link{position:static;border-bottom:0;color:var(--ink)}.dark-mode .note-article{box-shadow:0 20px 50px rgba(0,0,0,.18)}.dark-mode .note-header{background:var(--card)}.dark-mode .note-tags a{background:rgba(58,40,31,.45)}.dark-mode .note-content a{color:var(--accent)}
@media(max-width:800px){.note-shell{padding:30px 20px 80px}.note-header{padding:38px 28px 34px}.note-header h1{font-size:clamp(36px,10vw,56px)}.note-content{padding:38px 28px 48px;font-size:18px}.note-footer{padding:20px 28px;display:block}.note-footer .card-link{display:inline-block;margin-top:12px}}

/* cross-browser overflow guards */
html,body{overflow-x:hidden}body.note-page{min-width:0}.note-shell,.note-article,.note-header,.note-content,.note-footer{min-width:0;width:100%}.note-header h1,.note-lede,.note-content{overflow-wrap:anywhere;word-break:break-word}.note-content pre,.note-content table{max-width:100%;overflow-x:auto}.note-content table{display:block}img,svg,video,iframe{max-width:100%}
