:root{--bg:#c1dafa;--surface:#fff;--text:#111827;--muted:#6b7280;--border:#d1d5db;--accent:#2563eb;--accent-soft:#eff6ff}*{box-sizing:border-box}html{scroll-behavior:smooth}section[id]{scroll-margin-top:24px}body{background:var(--bg);color:var(--text);max-width:950px;margin:0 auto;padding:40px 24px;font-family:Inter,SF Pro Display,system-ui,-apple-system,sans-serif;line-height:1.6}nav{border-bottom:1px solid var(--border);justify-content:center;gap:10px;margin-bottom:60px;padding-bottom:18px;display:flex}.nav-link{color:var(--muted);border-radius:999px;padding:8px 18px;font-size:1.05rem;font-weight:500;transition:color .15s,background .15s}.nav-link:hover{color:var(--accent);background:var(--accent-soft)}h1{letter-spacing:-.04em;margin-bottom:4px;font-size:3.2rem}h2{letter-spacing:-.01em;border-bottom:1px solid var(--border);margin-top:60px;padding-bottom:8px;font-size:1.6rem}h3{margin:0 0 2px;font-size:1.15rem}p{color:#374151}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.hero{text-align:center;padding:5px 0 10px}.subtitle{color:var(--muted);margin:2px 0 8px;font-size:1.3rem}.intro{max-width:720px;margin:0 auto 10px}.hero-actions{justify-content:center;gap:12px;margin-top:6px;display:flex}.btn{background:var(--accent);color:#fff;border-radius:999px;padding:10px 22px;font-size:.95rem;font-weight:600;transition:background .15s,transform .15s;display:inline-block}.btn:hover{background:#1d4ed8;text-decoration:none;transform:translateY(-1px)}.btn-ghost{color:var(--accent);border:1px solid var(--accent);background:0 0}.btn-ghost:hover{background:var(--accent-soft);color:var(--accent)}.resume-actions{justify-content:center;margin-bottom:18px;display:flex}.job{margin:28px 0}.job-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px;display:flex}.job-head h3{margin:0}.meta{color:var(--muted);white-space:nowrap;font-size:.9rem}.job ul{margin:10px 0 0;padding-left:20px}.job li,section ul li{margin:6px 0}#skills li{margin:8px 0}.tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.tags span{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:500}.card.proj{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:14px;margin:18px 0;transition:box-shadow .15s;overflow:hidden}.card.proj:hover{box-shadow:0 12px 28px #00000012}.proj-head{align-items:center;gap:18px;padding:18px 22px;display:flex}.proj-head .cover{aspect-ratio:16/10;object-fit:cover;background:#e5e7eb;border-radius:10px;flex-shrink:0;width:132px}.proj-info{flex:1;min-width:0}.proj-info h3{margin:0 0 2px;font-size:1.35rem}.proj-info .tagline{color:var(--muted);margin:0}.proj-info .tags{margin-top:10px}.proj-info .tags span{color:var(--muted);background:#eef0f3}.expand-btn{border:1px solid var(--border);background:var(--bg);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:transform .2s,background .15s;display:flex}.proj[data-open=true] .expand-btn{background:var(--accent-soft);border-color:var(--accent);transform:rotate(180deg)}.proj[data-open=true] .proj-head .cover{display:none}.chevron{color:var(--muted);font-size:.8rem;line-height:1}.proj[data-open=true] .chevron{color:var(--accent)}.proj-detail{border-top:1px solid var(--border);display:none}.proj[data-open=true] .proj-detail{animation:.2s reveal;display:block}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.proj-grid{grid-template-columns:minmax(0,3fr) minmax(0,7fr);gap:26px;padding:22px;display:grid}.proj-media{flex-direction:column;gap:12px;display:flex}.proj-media img,.proj-media video{object-fit:cover;background:#e5e7eb;border-radius:10px;width:100%;max-height:300px}.proj-media img{cursor:zoom-in}.proj-text p{margin:0 0 12px}.proj-text ul{margin:0 0 18px;padding-left:20px}.proj-text li{color:#374151;margin:8px 0}.view-btn{background:var(--accent);color:#fff;border-radius:999px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:background .15s,transform .15s;display:inline-block}.view-btn:hover{background:#1d4ed8;text-decoration:none;transform:translateY(-1px)}.resume-frame{border:1px solid var(--border);background:var(--surface);border-radius:14px;margin-top:18px;overflow:hidden}.resume-frame iframe{aspect-ratio:210/297;border:0;width:100%;max-height:85vh;display:block}.papers-grid{grid-template-columns:repeat(2,1fr);gap:22px;display:grid}.paper-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;transition:box-shadow .15s;display:flex;overflow:hidden}.paper-card:hover{box-shadow:0 12px 28px #00000012}.paper-preview{cursor:zoom-in;border:0;width:100%;height:165px;padding:0;display:block;position:relative;overflow:hidden}.pdf-thumb{width:100%;height:100%;display:block}.paper-preview iframe{pointer-events:none;object-fit:contain;border:0;width:100%;height:100%;display:block}.paper-preview:hover iframe{opacity:.85}.zoom-hint{color:#fff;opacity:0;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:1rem;transition:opacity .15s;display:flex;position:absolute;top:10px;right:10px}.paper-preview:hover .zoom-hint{opacity:1}.paper-meta{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.paper-meta h3{flex:1;min-width:0;margin:0;font-size:1rem}.paper-meta .btn{white-space:nowrap;flex-shrink:0;padding:8px 16px}.lightbox{z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:40px;display:none;position:fixed;inset:0}.lightbox.open{display:flex}.lightbox-media{object-fit:contain;background:#fff;border:0;border-radius:10px;width:100%;height:100%;display:none}.lightbox-media.active{display:block}.lightbox-close{color:#111;cursor:pointer;background:#fff;border:0;border-radius:50%;width:44px;height:44px;font-size:1.6rem;line-height:1;position:absolute;top:16px;right:20px;box-shadow:0 4px 14px #0000004d}@media (width<=640px){.papers-grid{grid-template-columns:1fr}}.to-top{border:1px solid var(--border);background:var(--surface);width:46px;height:46px;color:var(--text);cursor:pointer;border-radius:50%;font-size:1.2rem;transition:transform .15s,background .15s;position:fixed;bottom:22px;right:22px;box-shadow:0 6px 18px #0000001f}.to-top:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}@media (width<=640px){.proj-head{flex-wrap:wrap}.proj-head .cover{aspect-ratio:16/10;width:100%}.proj-grid{grid-template-columns:1fr}}
