*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#CD7F32;--primary-hover:#B87333;--text-primary:#1a1a1a;--text-secondary:#4b5563;--text-muted:#6b7280;--bg-primary:#ffffff;--bg-subtle:#f9fafb;--border-color:#e5e7eb;--table-col1-bg:#fef5eb;--table-col2-bg:#ffffff;--table-col3-bg:#f0f9ff}[data-theme=dark]{--primary-color:#D4A574;--primary-hover:#CD7F32;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--bg-primary:#111827;--bg-subtle:#1f2937;--border-color:#374151;--table-col1-bg:rgba(205, 127, 50, 0.1);--table-col2-bg:#111827;--table-col3-bg:rgba(59, 130, 246, 0.1)}[data-theme=dark] .timeline-date{background:rgba(205,127,50,.2)}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6;padding:40px 20px;max-width:800px;margin:0 auto;transition:background-color .3s,color .3s;-webkit-tap-highlight-color:rgba(205,127,50,0.2);touch-action:manipulation}.dark-mode-toggle{position:fixed;top:20px;right:20px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;cursor:pointer;font-size:1.2rem;z-index:1000;transition:background-color .3s,border-color .3s;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;touch-action:manipulation}@media (max-width:600px){.dark-mode-toggle{top:16px;right:16px;min-width:48px;min-height:48px;padding:10px}}.dark-mode-toggle:hover{background:var(--border-color)}.dark-mode-icon{display:block}header{text-align:center;position:relative}.header-content{position:relative;min-height:120px}.header-text{text-align:center;max-width:calc(100% - 150px);margin:0 auto;padding-right:30px;box-sizing:border-box}.profile-image{position:absolute;width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-color);box-shadow:0 4px 8px rgba(0,0,0,.1);right:0;top:0;z-index:1}h1{font-size:1.8rem;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.tagline{font-size:1rem;color:var(--text-muted);margin-bottom:20px}.tagline a{color:var(--primary-color);text-decoration:none;transition:color .2s;touch-action:manipulation}.tagline a:hover{color:var(--primary-hover);text-decoration:underline}.social-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:32px;justify-content:center}.social-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:background-color .2s;border:none;cursor:pointer;white-space:nowrap;min-height:44px;touch-action:manipulation}.social-icon{flex-shrink:0;width:16px;height:16px;display:block}.social-icon img{width:100%;height:100%;object-fit:contain}.social-btn:hover{background:var(--primary-hover);color:#fff}.social-btn-note{font-size:.75rem;font-style:italic;opacity:.9;display:none}.social-btn:hover .social-btn-note{display:inline}.social-group{display:inline-flex;gap:10px}.social-btn-half{flex:0 0 auto}.bio{font-size:.95rem;color:var(--text-secondary);margin-bottom:24px;line-height:1.7;text-align:left}.bio a{color:var(--primary-color);text-decoration:none;transition:color .2s;touch-action:manipulation}.bio a:hover{color:var(--primary-hover);text-decoration:underline}.divider{border:none;border-top:1px solid var(--border-color);margin:40px auto;width:100%;opacity:.5;max-width:600px}.section{margin-bottom:48px}.section h2{font-size:1.2rem;font-weight:600;margin-bottom:24px;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:8px}.section p,.section ul{font-size:.95rem;color:var(--text-secondary);margin-bottom:12px}.section ul{list-style:none;padding-left:0}.section li{padding:8px 0;border-bottom:none}.section li:last-child{border-bottom:none}.timeline{list-style:none;position:relative;margin-left:-20px;padding-left:9px;padding-bottom:0;margin-bottom:0;margin-top:24px}.timeline::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:2px;background:#d3dce6}.timeline-item:last-child::after{content:"";position:absolute;left:18px;top:14px;width:20px;height:2px;background:#d3dce6}.timeline-item:last-child::before{content:"";position:absolute;left:9px;top:24px;width:2px;height:calc(100% - 24px);max-height:calc(100% - 24px);background:var(--bg-primary);z-index:3;pointer-events:none}.timeline-item{position:relative;padding-left:50px;margin-bottom:20px;display:flex;align-items:flex-start}.timeline-item:last-child{margin-bottom:0}.timeline-marker{position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;border:2px solid var(--primary-color);background:var(--bg-primary);z-index:1;transition:background-color .3s,border-color .3s}.timeline-item::after{content:"";position:absolute;left:18px;top:14px;width:20px;height:2px;background:#d3dce6}.timeline-card{background:var(--bg-primary);border-radius:12px;padding:24px 32px;box-shadow:0 4px 6px rgba(0,0,0,.1);border:1px solid var(--border-color);flex:1;margin-left:30px;margin-top:0;transition:background-color .3s,border-color .3s;position:relative;z-index:2}.timeline-date{position:absolute;left:38px;top:15px;transform:translateY(-50%);display:inline-block;background:#fef5eb;color:var(--primary-color);padding:4px 10px;border-radius:9999px;font-size:.85rem;font-weight:500;transition:background-color .3s,color .3s;z-index:3;white-space:nowrap}.timeline-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:16px;line-height:1.3}.timeline-title:last-child{margin-bottom:0}.timeline-content{font-size:1rem;color:var(--text-secondary);line-height:1.6}.timeline-content p{margin-bottom:12px;color:var(--text-secondary)}.timeline-content p:last-child{margin-bottom:0}.timeline-content strong{font-weight:700;color:var(--text-primary)}.timeline-content a{color:var(--primary-color);text-decoration:underline}.timeline-content a:hover{color:var(--primary-hover)}footer{margin-top:80px;padding-top:24px;border-top:1px solid var(--border-color);text-align:left;font-size:.85rem;color:var(--text-muted)}footer a{color:var(--primary-color);text-decoration:none}footer a:hover{text-decoration:underline}.table-container{overflow-x:auto;margin-top:16px}.talks-table{width:100%;border-collapse:collapse;font-size:.85rem;background:var(--bg-primary);border:none;border-radius:0;overflow:visible;box-shadow:none}.courses-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.85rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.1)}.courses-table thead,.talks-table thead{background:0 0;color:var(--text-primary)}.courses-table th,.talks-table th{padding:4px 0;text-align:left;font-weight:600;font-size:.8rem;text-transform:none;letter-spacing:0;border-bottom:2px solid var(--border-color);color:var(--text-primary)}.talks-table tbody tr{transition:none}.talks-table tbody tr td,.talks-table tbody tr:last-child td{border-bottom:1px solid var(--border-color)}.courses-table tbody tr{transition:background-color .2s}.courses-table tbody tr td{border-bottom:1px solid var(--border-color)}.courses-table tbody tr:last-child td{border-bottom:none}.courses-table tbody tr:first-child td,.talks-table tbody tr:first-child td{padding-top:8px}.courses-table tbody tr:last-child td,.talks-table tbody tr:last-child td{padding-bottom:8px}.courses-table tbody tr:first-child td:first-child{border-top-left-radius:8px}.courses-table tbody tr:first-child td:nth-child(3){border-top-right-radius:8px}.courses-table tbody tr:last-child td:first-child{border-bottom-left-radius:8px}.courses-table tbody tr:last-child td:nth-child(3){border-bottom-right-radius:8px}.talks-table tbody tr:hover{background-color:var(--bg-subtle)}.talks-table tbody tr.talk-highlighted{background-color:rgba(205,127,50,.15);border-left:3px solid var(--primary-color);padding-left:5px;transition:background-color .3s,border-left .3s}[data-theme=dark] .talks-table tbody tr.talk-highlighted{background-color:rgba(205,127,50,.25)}.conference-title-clickable{position:relative}.conference-title-clickable:hover{color:var(--primary-color);text-decoration:underline}.courses-table tbody tr:hover td:first-child{background-color:rgba(205,127,50,.15);transition:background-color .2s}[data-theme=dark] .courses-table tbody tr:hover td:first-child{background-color:rgba(205,127,50,.2)}.courses-table tbody tr:hover td:nth-child(2){background-color:var(--bg-subtle);transition:background-color .2s}.courses-table tbody tr:hover td:nth-child(3){background-color:rgba(59,130,246,.15);transition:background-color .2s}[data-theme=dark] .courses-table tbody tr:hover td:nth-child(3){background-color:rgba(59,130,246,.2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--primary-color:#D4A574;--primary-hover:#CD7F32;--text-primary:#f9fafb;--text-secondary:#d1d5db;--text-muted:#9ca3af;--bg-primary:#111827;--bg-subtle:#1f2937;--border-color:#374151;--table-col1-bg:rgba(205, 127, 50, 0.1);--table-col2-bg:#111827;--table-col3-bg:rgba(59, 130, 246, 0.1)}:root:not([data-theme=light]) .talks-table tbody tr.talk-highlighted{background-color:rgba(205,127,50,.25)}:root:not([data-theme=light]) .courses-table tbody tr:hover td:first-child{background-color:rgba(205,127,50,.2)}:root:not([data-theme=light]) .courses-table tbody tr:hover td:nth-child(3){background-color:rgba(59,130,246,.2)}}.courses-table td,.talks-table td{padding:4px 8px 4px 0;color:var(--text-secondary);vertical-align:top;font-size:.85rem;line-height:1.4}.courses-table td:first-child{background-color:var(--table-col1-bg);font-weight:600;color:var(--text-primary);padding:12px 16px;border-right:2px solid var(--border-color);min-width:200px;width:25%}.courses-table td:nth-child(2){background-color:var(--table-col2-bg);padding:12px 16px;border-right:2px solid var(--border-color);width:50%}.courses-table td:nth-child(3){background-color:var(--table-col3-bg);padding:12px 16px;width:25%;min-width:180px}.talks-table td:first-child{font-weight:400;color:var(--text-muted);white-space:nowrap;font-size:1.2rem;text-align:center;width:40px;padding-right:8px}.talks-table td:nth-child(2){color:var(--text-muted);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis}.talks-table td:nth-child(3){font-weight:400;color:var(--text-secondary)}.talks-table td:nth-child(4){color:var(--text-secondary);line-height:1.6}.courses-table td:nth-child(3) strong,.talks-table td:nth-child(3) strong{color:var(--text-primary);font-weight:600}.course-link,.talk-link{color:var(--primary-color);text-decoration:underline;font-size:.85rem;transition:color .2s;touch-action:manipulation}.course-link:hover,.talk-link:hover{color:var(--primary-hover);text-decoration:underline}.btn,.btn-half{display:inline;padding:0;background:0 0;color:#000;text-decoration:none;border-radius:0;font-size:inherit;font-weight:400;transition:none;border:none;cursor:pointer;flex:none;white-space:normal}.btn-half:hover,.btn:hover{background:0 0;transform:none;text-decoration:underline}.btn-half:active,.btn:active{transform:none}.business-card,.button-group{display:inline;gap:0;margin-bottom:0}.business-card{background:0 0;border:none;border-radius:0;padding:0;margin-bottom:32px;box-shadow:none;transition:none}.business-card:hover{box-shadow:none}.section details{margin-bottom:40px}.section details summary{cursor:pointer;list-style:none;user-select:none;margin-bottom:16px;touch-action:manipulation}.section details summary::-webkit-details-marker{display:none}.section details summary::before{content:"▶ ";display:inline-block;margin-right:6px;transition:transform .2s;font-size:.8em;color:var(--text-muted)}.section details[open] summary::before{transform:rotate(90deg)}.section details summary h2{display:inline;margin:0;border-bottom:2px solid var(--border-color);padding-bottom:8px}.summary-h2{display:inline}.bio-small{font-size:.85rem}.publications-list{margin-top:16px}.publication-item{margin-bottom:24px;padding:16px;background:var(--bg-subtle);border-radius:8px;border:1px solid var(--border-color);transition:background-color .3s,border-color .3s}.publication-item:last-child{margin-bottom:0}.publication-item p{font-size:.95rem;color:var(--text-secondary);line-height:1.7;margin:0}.publication-flag{display:inline-block;margin-right:8px;font-size:1.1rem;vertical-align:middle}.publication-item p em{font-style:italic;color:var(--text-primary)}.publication-item a{color:var(--primary-color);text-decoration:underline;transition:color .2s}.publication-item a:hover{color:var(--primary-hover)}.pub-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}.pub-pill{display:inline-block;padding:6px 12px;font-size:.85rem;font-family:inherit;border:1px solid currentColor;border-radius:999px;background:0 0;color:var(--primary-color);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s;touch-action:manipulation;min-height:32px;line-height:1.2}.pub-pill:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pub-pill:active{background:var(--primary-hover);border-color:var(--primary-hover)}.pub-copied{font-size:.8rem;color:var(--text-muted);margin-left:4px;opacity:0;transition:opacity .2s}.pub-copied:not([hidden]){opacity:1}.publications-actions{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-color);display:flex;justify-content:center}.scholar-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:background-color .2s;min-height:44px;touch-action:manipulation}.scholar-btn:hover{background:var(--primary-hover);color:#fff}.scholar-icon{flex-shrink:0;width:16px;height:16px;display:block}.section details summary:hover h2{color:var(--primary-color)}.expandable-content{margin-top:20px;padding:0;background:0 0;border-radius:0;border:none}@media (max-width:600px){body{padding:24px 16px}h1{font-size:1.6rem}.header-content{min-height:auto}.header-text{max-width:100%}.profile-image{position:relative;width:100px;height:100px;right:auto;top:auto;margin:0 auto 16px;display:block}.section details{margin-bottom:24px}.section details:not([open]){margin-bottom:12px}.section details summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:8px;margin-bottom:0;transition:background-color .2s,border-color .2s}.section details summary:hover{background:rgba(205,127,50,.1);border-color:var(--primary-color)}.section details[open] summary{margin-bottom:16px;background:rgba(205,127,50,.15);border-color:var(--primary-color)}[data-theme=dark] .section details summary:hover,[data-theme=dark] .section details[open] summary{background:rgba(205,127,50,.2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .section details summary:hover,:root:not([data-theme=light]) .section details[open] summary{background:rgba(205,127,50,.2)}}.section details summary::before{content:"▶";margin-right:0;margin-left:auto;order:2;color:var(--primary-color);font-size:.7em}.section details[open] summary::before{transform:rotate(90deg)}.section details summary h2{display:inline;margin:0;border-bottom:none;padding-bottom:0;color:var(--text-primary);font-weight:600;flex:1}.section details summary:hover h2{color:var(--primary-color)}.social-nav{flex-direction:column;gap:8px}.social-btn{width:100%;text-align:center;padding:12px 16px;min-height:48px}.social-group{width:100%;display:flex;gap:8px}.social-btn-half{flex:1;width:auto}.scholar-btn{width:100%;text-align:center;padding:12px 20px;min-height:48px}.publications-actions{justify-content:stretch}.publications-actions .social-group{width:100%}.timeline{margin-left:-16px;padding-left:8px}.timeline::before{left:8px}.timeline-item{padding-left:42px}.timeline-marker{width:16px;height:16px;left:0}.timeline-item::after{left:16px;width:16px}.timeline-item:last-child::before{left:8px}.timeline-card{padding:20px;margin-left:22px;margin-top:0}.timeline-date{left:30px;top:15px;font-size:.75rem;padding:3px 8px}.timeline-title{font-size:1.25rem}.courses-table,.talks-table{display:block;border:none;border-radius:0;box-shadow:none;font-size:.85rem}.courses-table tbody,.talks-table tbody{display:block}.courses-table tbody tr,.talks-table tbody tr{display:block;border:1px solid var(--border-color);border-radius:8px;margin-bottom:16px;padding:0;background:var(--bg-primary);box-shadow:0 1px 3px rgba(0,0,0,.1)}.courses-table tbody tr:last-child,.talks-table tbody tr:last-child{margin-bottom:0}.talks-table tbody tr td:first-child{display:inline-block;padding:16px 8px 0 16px;border:none;width:auto;font-size:1.2rem;vertical-align:middle}.talks-table tbody tr td:nth-child(2){display:inline-block;padding:16px 12px 0 0;border:none;width:auto;font-weight:600;color:var(--text-primary);font-size:.9rem;vertical-align:middle;white-space:normal;max-width:none;overflow:visible;text-overflow:clip}.talks-table tbody tr td:nth-child(3){display:block;padding:8px 16px 12px;border-bottom:1px solid var(--border-color);font-weight:400;color:var(--text-secondary);width:100%;box-sizing:border-box;margin:0;line-height:1.5}.talks-table tbody tr td:nth-child(4){display:block;padding:8px 16px 16px;border:none;width:100%;box-sizing:border-box}.courses-table tbody tr td{display:block;padding:12px 16px;border:none;border-bottom:1px solid var(--border-color);width:100%;box-sizing:border-box;font-size:.85rem}.courses-table tbody tr td:last-child{border-bottom:none}.courses-table tbody tr td:first-child{font-weight:600;font-size:1rem;color:var(--text-primary);background-color:var(--table-col1-bg);border-right:none;border-bottom:1px solid var(--border-color);padding:16px;margin:0;width:100%;min-width:0}.courses-table tbody tr td:nth-child(2){background-color:var(--table-col2-bg);border-right:none;padding:16px;width:100%;min-width:0}.courses-table tbody tr td:nth-child(3){background-color:var(--table-col3-bg);padding:16px;width:100%;min-width:0}.courses-table tbody tr:first-child td:first-child,.courses-table tbody tr:first-child td:nth-child(3),.courses-table tbody tr:last-child td:first-child,.courses-table tbody tr:last-child td:nth-child(3){border-radius:0}.courses-table tbody tr{border-radius:8px}.courses-table tbody tr:first-child td:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.courses-table tbody tr:last-child td:nth-child(3){border-bottom-left-radius:8px;border-bottom-right-radius:8px}.courses-table tbody tr:hover td:first-child,.courses-table tbody tr:hover td:nth-child(2),.courses-table tbody tr:hover td:nth-child(3),.talks-table tbody tr:hover{background-color:var(--bg-primary)}}