.projects-shell{width:min(500px,90vw);max-height:70vh;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--glass-border);border-radius:10px;overflow:hidden;pointer-events:all;cursor:var(--cursor-ui);box-shadow:0 8px 32px #00000080,inset 0 0 0 .5px var(--glass-inset);animation:resume-expand .6s cubic-bezier(.23,1,.32,1) both}.projects-bar{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--glass-border);font-size:11px;color:var(--dim)}.projects-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);opacity:.6}.projects-bar-title{letter-spacing:.04em}.projects-tabs{display:flex;gap:.15rem;padding:.5rem .75rem;border-bottom:1px solid var(--glass-border);overflow-x:auto}.projects-tab{font-family:inherit;font-size:9px;letter-spacing:.08em;padding:.3rem .6rem;background:transparent;border:1px solid var(--glass-border);border-radius:999px;color:var(--dim);cursor:var(--cursor-ui);transition:color .15s,background .15s,border-color .15s;white-space:nowrap}.projects-tab:hover{color:var(--text);border-color:var(--glass-border)}.projects-tab-active{color:var(--text);background:#cc000014;border-color:#cc000026}.projects-tab[data-cat=FREELANCE].projects-tab-active{background:#448aff14;border-color:#448aff26}.projects-tab[data-cat=UNIVERSITY].projects-tab-active{background:#b388ff14;border-color:#b388ff26}.projects-tab[data-cat=RESEARCH].projects-tab-active{background:#ffab0014;border-color:#ffab0026}.projects-tab[data-cat=OTHER].projects-tab-active{background:#00d4aa14;border-color:#00d4aa26}.projects-grid{flex:1;min-height:0;overflow-y:auto;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.5rem;scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}.projects-grid::-webkit-scrollbar{width:4px}.projects-grid::-webkit-scrollbar-track{background:transparent}.projects-grid::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:2px}.projects-card{display:block;background:var(--glass-inset);border:1px solid var(--glass-border);border-radius:8px;padding:.65rem .75rem;text-decoration:none;cursor:var(--cursor-ui);transition:border-color .2s,box-shadow .2s,transform .2s;animation:about-fade-in .4s ease-out both;position:relative;border-left:2px solid transparent}.projects-card[data-color=cyan]{border-left-color:#00d4aa66}.projects-card[data-color=blue]{border-left-color:#448aff66}.projects-card[data-color=purple]{border-left-color:#b388ff66}.projects-card[data-color=amber]{border-left-color:#ffab0066}.projects-card[data-color=cyan]:hover{border-color:#00d4aa26;border-left-color:#00d4aa99;box-shadow:0 0 16px #00d4aa0d;transform:translateY(-1px)}.projects-card[data-color=blue]:hover{border-color:#448aff26;border-left-color:#448aff99;box-shadow:0 0 16px #448aff0d;transform:translateY(-1px)}.projects-card[data-color=purple]:hover{border-color:#b388ff26;border-left-color:#b388ff99;box-shadow:0 0 16px #b388ff0d;transform:translateY(-1px)}.projects-card[data-color=amber]:hover{border-color:#ffab0026;border-left-color:#ffab0099;box-shadow:0 0 16px #ffab000d;transform:translateY(-1px)}.projects-card-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.projects-card-title{font-size:12px;color:var(--text);letter-spacing:.03em}.projects-card-expand{font-size:8px;letter-spacing:.06em;color:var(--dim);opacity:0;transition:opacity .2s;margin-left:auto;flex-shrink:0;white-space:nowrap}.projects-card:hover .projects-card-expand{opacity:.5}.projects-badge{font-size:7px;letter-spacing:.1em;padding:.1rem .4rem;border-radius:999px;background:#448aff1a;border:1px solid rgba(68,138,255,.2);color:var(--blue);white-space:nowrap;flex-shrink:0}.projects-badge-thesis{background:#b388ff1a;border-color:#b388ff33;color:var(--purple)}.projects-badge-paper{background:#ffab001a;border-color:#ffab0033;color:var(--amber)}.projects-badge-npo,.projects-badge-confidential{background:#448aff1a;border-color:#448aff33;color:var(--blue)}.projects-badge-portfolio{background:#00d4aa1a;border-color:#00d4aa33;color:var(--cyan)}.projects-card-desc{font-size:10px;color:var(--dim);line-height:1.5;margin-bottom:.4rem}.projects-card[data-color=blue] .projects-tag{background:#448aff0f;border-color:#448aff1a}.projects-card[data-color=amber] .projects-tag{background:#ffab000f;border-color:#ffab001a}.projects-card[data-color=purple] .projects-tag{background:#b388ff0f;border-color:#b388ff1a}.projects-card-tags{display:flex;flex-wrap:wrap;gap:.25rem}.projects-tag{font-size:9px;padding:.15rem .45rem;background:#00d4aa0f;border:1px solid rgba(0,212,170,.1);border-radius:999px;color:var(--dim)}.projects-empty{font-size:11px;color:var(--dim);padding:2rem 0;text-align:center;opacity:.5}.projects-footer{padding:.45rem .75rem;border-top:1px solid var(--glass-border);font-size:10px;color:var(--dim);opacity:.5}.project-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;pointer-events:all}.project-overlay.hidden{display:none}.project-overlay-backdrop{position:absolute;inset:0;background:var(--overlay-bg, rgba(0, 0, 0, .7));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:var(--cursor-ui)}.project-overlay-content{position:relative;width:min(520px,92vw);max-height:80vh;background:var(--glass-bg);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--glass-border);border-radius:14px;overflow-y:auto;box-shadow:0 16px 64px #0009,inset 0 0 0 .5px var(--glass-inset);opacity:0;transform:scale(.95) translateY(16px);transition:opacity .3s ease,transform .3s cubic-bezier(.23,1,.32,1);scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent;cursor:var(--cursor-ui);border-top:2px solid transparent}.project-overlay-content::-webkit-scrollbar{width:4px}.project-overlay-content::-webkit-scrollbar-track{background:transparent}.project-overlay-content::-webkit-scrollbar-thumb{background:var(--accent-dim);border-radius:2px}.project-overlay[data-color=cyan] .project-overlay-content{border-top-color:#00d4aa80}.project-overlay[data-color=blue] .project-overlay-content{border-top-color:#448aff80}.project-overlay[data-color=purple] .project-overlay-content{border-top-color:#b388ff80}.project-overlay[data-color=amber] .project-overlay-content{border-top-color:#ffab0080}.project-overlay-open .project-overlay-content{opacity:1;transform:scale(1) translateY(0)}.project-overlay-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem;padding:.7rem .85rem;position:sticky;top:0;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1;border-bottom:1px solid var(--glass-border);cursor:var(--cursor-ui)}.project-overlay-title{font-size:13px;color:var(--text);letter-spacing:.03em;flex:1;min-width:0}.project-close-btn{width:28px;height:28px;min-width:28px;aspect-ratio:1;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--glass-inset);border:1px solid var(--glass-border);border-radius:50%;color:var(--dim);cursor:var(--cursor-ui);transition:color .2s,background .2s}.project-close-btn:hover{color:var(--accent);background:#cc00001a}.project-close-btn svg{width:14px;height:14px;display:block}.project-overlay-body{padding:1rem 1.2rem}.project-overlay-badges{display:flex;gap:.4rem;margin-bottom:.75rem}.project-overlay-desc{font-size:11px;color:var(--dim);line-height:1.7;margin-bottom:.8rem;letter-spacing:.02em}.project-overlay-tags{display:flex;flex-wrap:wrap;gap:.3rem}.project-overlay[data-color=blue] .projects-tag{background:#448aff0f;border-color:#448aff1a}.project-overlay[data-color=amber] .projects-tag{background:#ffab000f;border-color:#ffab001a}.project-overlay[data-color=purple] .projects-tag{background:#b388ff0f;border-color:#b388ff1a}.project-overlay-footer{padding:0 1.2rem 1rem;display:flex;flex-wrap:wrap;gap:.5rem}.project-visit-btn{display:inline-flex;align-items:center;gap:.4rem;font-family:inherit;font-size:10px;letter-spacing:.06em;padding:.45rem .9rem;background:#00d4aa14;border:1px solid rgba(0,212,170,.2);border-radius:999px;color:var(--cyan);text-decoration:none;cursor:var(--cursor-ui);transition:background .2s,border-color .2s,color .2s}.project-visit-btn:hover{background:#00d4aa26;border-color:#00d4aa59;color:var(--text)}.project-visit-btn svg{flex-shrink:0}.project-overlay[data-color=blue] .project-visit-btn{background:#448aff14;border-color:#448aff33;color:var(--blue)}.project-overlay[data-color=blue] .project-visit-btn:hover{background:#448aff26;border-color:#448aff59;color:var(--text)}.project-overlay[data-color=purple] .project-visit-btn{background:#b388ff14;border-color:#b388ff33;color:var(--purple)}.project-overlay[data-color=purple] .project-visit-btn:hover{background:#b388ff26;border-color:#b388ff59;color:var(--text)}.project-overlay[data-color=amber] .project-visit-btn{background:#ffab0014;border-color:#ffab0033;color:var(--amber)}.project-overlay[data-color=amber] .project-visit-btn:hover{background:#ffab0026;border-color:#ffab0059;color:var(--text)}@media(max-width:600px){.projects-shell{width:95vw}.project-overlay-content{width:96vw;max-height:70vh;border-radius:10px}.project-overlay-body{padding:.8rem 1rem}}
