@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=IBM+Plex+Serif:wght@400;500;600;700&display=swap";html,body{height:100%;width:100%;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f6ecd6;position:relative}body{background-color:#f6ecd6}#root{height:100%;width:100%;position:relative;overflow-x:hidden}html{scroll-behavior:smooth}button{border:none;background:none;cursor:pointer;font-family:inherit}a{color:inherit;text-decoration:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";background-color:#f6ecd6;color:#2b2b2b;line-height:1.6;overflow-x:hidden}.portfolio-container{display:flex;flex-direction:column;min-height:100vh;background:transparent}.portfolio-content{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;max-width:none;width:100%}.name{font-size:1rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;color:#2b2b2b}.social-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:2rem;padding:0 1rem}.social-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;text-decoration:none;font-weight:500;font-size:.9rem;letter-spacing:.2px;border-radius:20px;transition:all .3s ease;background:#0000000a;border:1px solid rgba(0,0,0,.08);position:relative;overflow:hidden}.social-link-inner{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:inherit;width:100%;height:100%}.social-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.social-link:hover:before{left:100%}.social-link:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a;border-color:#0000001f;background:#0000000f}.social-icon{transition:transform .3s ease}.social-link:hover .social-icon{transform:rotate(5deg)}.text-green-600{color:#10b981}.text-purple-600{color:#a855f7}.text-gray-600{color:#9ca3af}.text-blue-600{color:#3b82f6}.text-blue-700{color:#2563eb}.text-red-500{color:#f87171}.text-blue-500{color:#60a5fa}.text-blue-400{color:#93c5fd}.text-gray-700{color:#d1d5db}.text-black{color:#2b2b2b}.company-info{font-size:.9rem;margin-bottom:.5rem;color:#6a655c}.degree{font-size:.9rem;margin-right:.5rem;color:#6a655c}.university{color:#d1d5db;font-size:1.1rem}.company-link{color:#60a5fa;text-decoration:underline;transition:color .3s ease}.company-link:hover{color:#93c5fd}.description{font-size:.95rem;line-height:1.7;margin-bottom:1rem;color:#3c3a35;max-width:600px;margin-left:auto;margin-right:auto}.footer{display:flex;align-items:center;justify-content:center;gap:1rem;font-size:.9rem;color:#9ca3af;font-weight:500;letter-spacing:1px}.separator{color:#6b7280;font-size:.8rem}.scroll-prompt{position:absolute;bottom:2rem;left:0;right:0;display:flex;justify-content:center}.scroll-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:none;border:none;color:#9ca3af;cursor:pointer;font-size:.9rem;letter-spacing:.5px;transition:all .3s ease;padding:1rem;margin:0}.scroll-button:hover{color:#d1d5db;transform:translateY(-2px)}.scroll-button span{font-family:inherit}.about-section{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem;position:relative}.about-section .scroll-prompt{bottom:5rem}.about-content{max-width:800px;width:100%;text-align:center}.about-title{font-size:2.5rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.about-text{color:#d1d5db;font-size:1.1rem;line-height:1.8}.about-text p{margin-bottom:1.5rem;max-width:700px;margin-left:auto;margin-right:auto}.about-text p:last-child{margin-bottom:0}.projects-section{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:4rem 2rem}.projects-content{max-width:1000px;width:100%;text-align:center}.projects-title{font-size:2.5rem;font-weight:700;letter-spacing:1px;margin-bottom:2rem;color:#fff;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-card{background:#ffffffb3;border:1px solid rgba(0,0,0,.08);border-radius:10px;padding:1rem;text-align:left;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.project-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #00000073;border-color:#fff3}.project-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.25rem}.project-title{font-size:1.1rem;color:#fff;text-transform:lowercase}.project-desc{color:#d1d5db;font-size:.95rem;margin-top:.25rem;margin-bottom:.75rem}.project-links{display:flex;gap:.5rem}.project-link{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .6rem;text-decoration:none;color:#2563eb;background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:6px;transition:all .2s ease}.project-link:hover{color:#bfdbfe;transform:translateY(-1px);border-color:#fff3}@media (max-width: 768px){.name{font-size:2.2rem;letter-spacing:1px}.social-nav{gap:.3rem}.social-link{padding:.4rem .8rem;font-size:.8rem}.description{font-size:1rem;padding:0 1rem}.portfolio-container{padding:1rem}.about-title{font-size:2rem}.about-text{font-size:1rem;padding:0 1rem}.about-section{padding:3rem 1rem}.projects-title{font-size:2rem}.projects-grid{grid-template-columns:1fr 1fr;gap:.75rem}}@media (max-width: 480px){.name{font-size:1.8rem}.profile-circle{width:100px;height:100px}.social-nav{flex-direction:column;align-items:center}.social-link{width:200px;justify-content:center}.social-link-inner{justify-content:center}.footer{flex-direction:column;gap:.5rem}.about-title{font-size:1.6rem}.scroll-button{font-size:.8rem}.projects-grid{grid-template-columns:1fr}}.letter{font-size:15px;font-family:Times New Roman,Times,serif;color:#222;line-height:1.75}.letter *{font-family:inherit;font-size:inherit}.letter-header{display:flex;justify-content:flex-end;margin-bottom:15px}.letter-meta{text-align:left}.letter-meta,.letter-meta *{font-family:Times New Roman,Times,serif;font-size:15px;font-weight:400;line-height:1.75;color:#222;letter-spacing:0;font-style:normal;text-transform:none;font-variant-numeric:lining-nums}.letter-meta .meta-name,.letter-meta .meta-date{font-weight:600}.letter-meta>div{margin:2px 0}.meta-name{font-weight:600}.meta-location,.meta-date{color:inherit;opacity:1}.letter-body{margin-top:20px;font-size:inherit;color:inherit}.letter-body p{margin:14px 0;color:inherit;opacity:1}.from{font-size:inherit;color:inherit;margin-bottom:14px}.email{color:inherit;text-decoration:underline}.redaction{display:inline-block;background:#000;color:transparent;width:50px;height:15px;border-radius:2px;vertical-align:middle;margin-left:6px}.redaction-long{width:220px;height:15px;border-radius:2px;margin-left:0;display:inline-block}.blog-post-content{max-width:var(--paper-width);margin:0 auto;padding:2rem 0}.blog-post-paginated{width:var(--paper-width);max-width:100vw;margin-top:var(--paper-top-offset)}.pages{width:100%;max-width:100vw;display:flex;flex-direction:column;margin-top:0;gap:48px}.paper-page{background:#fffdfa;border:1px solid rgba(0,0,0,.08);border-radius:0;box-shadow:0 6px 20px #00000026;padding:60px;min-height:calc(720px * (11 / 8.5));box-sizing:border-box;display:flex;width:var(--paper-width);max-width:100vw}.paper-page .markdown-content{width:100%;max-width:100%}.paper-page,.paper-page .markdown-content,.paper-page .markdown-content *:not(code):not(pre){font-family:Times New Roman,Times,serif;color:#222}.paper-page .markdown-content{font-size:15px;line-height:1.75}.post-title,.post-heading,.post-subheading,.post-paragraph,.post-list-item{font-size:15px}.post-title,.post-heading,.post-subheading{font-weight:700;text-decoration:underline;text-underline-offset:2px;color:#222}.post-title{margin:0 0 .75rem;line-height:1.3}.post-heading{margin:1rem 0 .6rem;line-height:1.4}.post-subheading{margin:.8rem 0 .5rem;line-height:1.4}.loading,.error{text-align:center;padding:2rem 1rem}.error h1{color:#ef4444;margin-bottom:1rem}.error p{color:#9ca3af;margin-bottom:2rem}.markdown-content{line-height:1.75}.post-title{font-size:15px;font-weight:700;color:#222;margin:0 0 .75rem;line-height:1.3;text-decoration:underline;text-underline-offset:2px}.post-heading{font-size:15px;font-weight:700;color:#222;margin:1rem 0 .6rem;line-height:1.4;text-decoration:underline;text-underline-offset:2px}.post-subheading{font-size:15px;font-weight:700;color:#2b2b2b;margin:.8rem 0 .5rem;line-height:1.4;text-decoration:underline;text-underline-offset:2px}.post-paragraph{color:#222;margin:.9rem 0;font-size:15px}.post-date{color:#6b7280;font-style:italic;font-size:.95rem;display:block;margin-bottom:1rem}.post-list,.post-ordered-list{margin:1.5rem 0;padding-left:2rem}.post-list-item{color:#2b2b2b;margin:.4rem 0;font-size:1rem}.post-list-item::marker{color:#000}.post-inline-code{background:#0000000d;color:#b45309;padding:.2rem .4rem;border-radius:4px;font-family:Fira Code,Monaco,Consolas,monospace;font-size:.9em}.post-code-block{background:#0000000a;border:1px solid rgba(0,0,0,.08);border-radius:8px;padding:1rem;margin:1.2rem 0;overflow-x:auto;font-family:Fira Code,Monaco,Consolas,monospace;line-height:1.5}.post-code-block code{color:#111827;font-size:.9rem}.post-quote{border-left:4px solid #2563eb;background:#2563eb14;margin:1.2rem 0;padding:1rem 1.4rem;border-radius:0 8px 8px 0;font-style:italic;color:#1f2937}.post-divider{border:none;height:1px;background:#0000001a;margin:1.5rem 0}.post-bold{color:#111827;font-weight:600}@media (max-width: 1024px){.blog-post-paginated{width:100%;max-width:100vw;margin-top:.75rem;padding:0}.pages{gap:32px;padding:0}.paper-page{width:85%;max-width:100%;padding:50px 30px 50px 20px;min-height:auto;aspect-ratio:unset;border-radius:10px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}}@media (max-width: 768px){.blog-post-paginated{width:100%;max-width:100%;margin-top:.5rem;padding:0}.pages{gap:24px;padding:0}.paper-page{width:85%;max-width:100%;padding:50px 30px 50px 20px;min-height:auto;aspect-ratio:unset;border-radius:8px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.blog-post-container,.blog-post-content{padding:0}.post-title{font-size:1.6rem}.post-heading{font-size:1.25rem}.post-subheading{font-size:1.1rem}.post-paragraph{font-size:.98rem}}@media (max-width: 480px){.blog-post-paginated{width:100%;max-width:100%;margin-top:.25rem;padding:0}.pages{gap:16px;padding:0}.paper-page{width:85%;padding:40px 30px 40px 20px;border-radius:6px;min-height:60vh;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.post-title{font-size:1.4rem}.post-heading{font-size:1.1rem}.post-subheading{font-size:1rem}.post-paragraph{font-size:.9rem;line-height:1.6}.post-list,.post-ordered-list{margin:1rem 0;padding-left:1.5rem}.post-list-item{font-size:.9rem}.post-code-block{padding:.8rem;font-size:.8rem;margin:1rem 0}.post-quote{padding:.8rem 1.2rem;margin:1rem 0}.post-inline-code{font-size:.8em;padding:.15rem .3rem}}.blog-window{width:var(--paper-width);max-width:100vw;margin-top:var(--paper-top-offset);border:1px solid rgba(0,0,0,.12);background:#f8f8f8;box-shadow:0 10px 30px #00000026;border-radius:10px;overflow:hidden;box-sizing:border-box;margin-left:0}.blog-window,.blog-window *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.list-header{display:grid;grid-template-columns:1fr 100px;align-items:center;height:32px;padding:0 8px;border-bottom:1px solid rgba(0,0,0,.08);background:#fafafa;font-size:12px;color:#666;margin:0;box-sizing:border-box}.list-header .col{display:flex;align-items:center;justify-content:flex-start;height:100%;line-height:1;padding:0;position:relative;top:0;margin:0}.list-header .col.name,.list-header .col.date{font-size:12px;font-weight:500;color:#666;text-transform:none;letter-spacing:0;padding:0;margin:0}.list-header .col.name{flex:1}.list-header .col.date{width:160px;justify-content:flex-start;top:0}.row{display:grid;grid-template-columns:1fr 100px;align-items:center;height:45px;padding:0 8px;border:none;outline:none;border-bottom:1px solid rgba(0,0,0,.06);background:#fff;cursor:pointer;text-align:left;font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.row .col.name{top:8px;padding-left:3px}.row .col.name{flex:1}.row .col.date{width:160px;justify-content:flex-start;top:0}.row .col>*,.list-header .col>*{line-height:1}.col.date{display:flex;align-items:center}.blog-title{font-size:1.6rem;font-weight:700;letter-spacing:.5px;margin-bottom:1rem;color:#2b2b2b;text-align:left}.blog-posts{display:flex;flex-direction:column;gap:2.5rem}.blog-post{cursor:pointer;transition:all .3s ease;padding:1rem 0;border-radius:8px}.blog-post:hover{background:#ffffff05;padding:1rem;margin:0 -1rem}.post-header{position:relative;margin-bottom:.5rem}.post-title{font-size:1.5rem;font-weight:600;color:#fff;margin:0 0 .5rem;line-height:1.3;transition:color .3s ease}.blog-post:hover .post-title{color:#111827}.title-underline{height:2px;background:linear-gradient(90deg,#60a5fa,#a855f7);width:0;transition:width .4s ease;border-radius:1px}.blog-post:hover .title-underline{width:100%}.post-meta{display:flex;align-items:flex-start;gap:.5rem;font-size:.95rem;line-height:1.6;flex-wrap:wrap}.post-date{color:#6b7280;font-weight:500;white-space:nowrap}.post-separator{color:#6b7280;font-weight:700}.post-description{color:#374151;flex:1;min-width:0}.blog-post-link{text-decoration:none;color:inherit;display:block;width:100%}.blog-post-link:hover{text-decoration:none}@media (max-width: 768px){.blog-window{width:100%;max-width:100%;margin-top:0;border-radius:8px;border:1px solid rgba(0,0,0,.12)}.toolbar{padding:8px 12px;flex-wrap:wrap;gap:8px}.search-wrap{flex:1;min-width:200px}.search-input{width:100%}.list-header{grid-template-columns:1fr 90px;padding:8px 4px;font-size:12px;height:auto}.row{grid-template-columns:1fr 90px;height:48px;padding:8px 4px;font-size:13px}.row .col.name{gap:8px}.row .col.date{width:90px;font-size:11px;text-align:center}.file-name{font-size:13px;line-height:1.2}.file-icon{width:16px;height:16px;flex-shrink:0}.blog-content{padding-top:.5rem}.blog-title{font-size:1.4rem;margin-bottom:1rem}.blog-posts{gap:2rem}.post-title{font-size:1.3rem}.post-meta{font-size:.9rem;flex-direction:column;align-items:flex-start;gap:.3rem}.post-separator{display:none}.blog-post:hover{margin:0;padding:1rem 0;background:#ffffff05}}@media (max-width: 480px){.blog-window{width:100%;max-width:85%;border-radius:6px;margin-top:0;border:1px solid rgba(0,0,0,.12)}.toolbar{padding:12px;flex-wrap:wrap;gap:12px}.search-wrap{width:100%;min-width:unset}.list-header{grid-template-columns:1fr 70px;font-size:11px;height:auto;padding:8px 2px}.row{grid-template-columns:1fr 70px;height:52px;font-size:12px;padding:10px 2px}.row .col.name{gap:6px}.row .col.date{width:70px;font-size:10px;text-align:center}.file-name{font-size:12px;line-height:1.3}.file-icon{width:14px;height:14px}.blog-title{font-size:1.8rem}.post-title{font-size:1.2rem}}:root{--parchment: #f6ecd6;--parchment-deep: #efe1c3;--ink: #2b2b2b;--muted: #6a655c;--shadow: 0 6px 20px rgba(0,0,0,.15);--paper-width: 720px;--sidebar-width: 180px;--paper-gap: 28px;--paper-top-offset: 30px}*{box-sizing:border-box}html,body{max-width:100vw;overflow-x:hidden}html,body{background:var(--parchment);color:var(--ink)}.layout{display:flex;justify-content:center;gap:var(--paper-gap);min-height:100vh;align-items:flex-start;padding:56px 0 0}.sidebar{background:transparent;border:none;width:var(--sidebar-width)}.sidebar-inner{position:fixed;top:50vh;transform:translateY(-50%);left:calc((100vw - (var(--paper-width) + var(--paper-gap) + var(--sidebar-width))) / 2);width:var(--sidebar-width);padding:0;margin-top:0;z-index:10}.brand{font-size:11px;text-transform:lowercase;color:var(--muted);margin:0 8px 10px}.section-label{font-size:11px;text-transform:lowercase;color:var(--muted);margin:10px 8px 8px}.divider{height:1px;background:#0000001a;margin:8px 4px}.nav{display:flex;flex-direction:column;gap:8px;padding:4px;width:100%}.nav-item{display:flex;align-items:center;gap:10px;font-size:13px;padding:10px 14px;border-radius:16px;color:var(--ink);text-decoration:none;width:100%;box-sizing:border-box}.nav-item:hover{background:#0000000f}.nav-item.active{background:#111;color:#fff}.nav-item.disabled{color:#9a9489}.dot{width:6px;height:6px;background:currentColor;border-radius:50%;display:inline-block}.nav-icon{color:currentColor;flex-shrink:0}.mobile-menu-toggle{display:none;position:fixed;top:16px;left:16px;z-index:1000;background:#ffffffe6;border:1px solid rgba(0,0,0,.1);border-radius:8px;padding:8px;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.mobile-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.content{padding:0;display:flex;gap:var(--paper-gap)}.layout-inner{width:calc(var(--sidebar-width) + var(--paper-gap) + var(--paper-width));margin:0 auto;display:flex;gap:var(--paper-gap)}.sidebar-spacer{width:var(--sidebar-width);flex:0 0 var(--sidebar-width)}.content-pane{width:var(--paper-width);flex:0 0 var(--paper-width)}.paper{background:#fffdfa;border:1px solid rgba(0,0,0,.08);border-radius:0;box-shadow:var(--shadow);margin:var(--paper-top-offset) 0 0 0;width:var(--paper-width);padding:60px;font-family:"IBM Plex Serif",Georgia,Times New Roman,serif;height:calc(100vh - 56px - var(--paper-top-offset));overflow:auto;display:flex;flex-direction:column;box-sizing:border-box}.paper h1,.paper h2,.paper h3,.paper p{color:var(--ink)}@media (max-width: 1024px){.layout{flex-direction:column;align-items:stretch;padding:0;gap:0;max-width:100vw;overflow-x:hidden;margin:0;width:100vw}.layout-inner{width:0%;max-width:100vw;margin:0}.mobile-menu-toggle{display:block}.sidebar-inner{position:fixed;top:0;left:0;width:280px;height:100vh;background:var(--parchment);border-right:1px solid rgba(0,0,0,.1);transform:translate(-100%);transition:transform .3s ease;z-index:999;padding:60px 16px 16px 0;overflow-y:auto;box-shadow:2px 0 10px #0000001a}.sidebar-inner.mobile-open{transform:translate(0)}.content{margin-left:0;padding:60px 30px 16px 0;width:85%;max-width:100vw;box-sizing:border-box}.sidebar-spacer{display:none}.content-pane{width:85%;max-width:100vw}.paper{width:100%;max-width:100%;margin:0;padding:40px 8px;height:auto;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.nav{flex-direction:column;gap:4px}.nav-item{padding:12px 16px;font-size:14px;border-radius:8px}.brand{text-align:left;margin-bottom:1rem;font-size:14px;font-weight:600}.section-label{text-align:left;margin:1rem 0 .5rem}.divider{margin:1rem 0}}@media (max-width: 768px){.content{padding:60px 30px 16px 0;width:85%;max-width:100%}.paper{padding:30px 4px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.sidebar-inner{width:270px}.nav-item{padding:11px 14px;font-size:13px}}@media (max-width: 480px){.content{padding:60px 30px 8px 0;width:85%;max-width:100%}.paper{padding:20px 6px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.sidebar-inner{width:260px}.nav-item{padding:10px 12px;font-size:13px}}@media (max-width: 390px){.content{padding:60px 30px 8px 0;width:85%;max-width:100%}.paper{padding:18px 4px;box-sizing:border-box;word-wrap:break-word;overflow-wrap:break-word}.sidebar-inner{width:250px}.nav-item{padding:9px 10px;font-size:12px}}.projects-window{width:var(--paper-width);max-width:100vw;margin-top:var(--paper-top-offset);border:1px solid rgba(0,0,0,.12);background:#f8f8f8;box-shadow:0 10px 30px #00000026;border-radius:10px;overflow:hidden;box-sizing:border-box;margin-left:0}.projects-window,.projects-window *{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol}.titlebar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:linear-gradient(#eaeaea,#dcdcdc);border-bottom:1px solid rgba(0,0,0,.12)}.traffic{display:flex;gap:6px}.light{width:12px;height:12px;border-radius:50%;display:inline-block}.light.red{background:#ff5f56}.light.yellow{background:#ffbd2e}.light.green{background:#27c93f}.window-title{font-weight:600;color:#333}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:#f3f3f3;border-bottom:1px solid rgba(0,0,0,.1)}.breadcrumbs{color:#555;font-size:13px}.search-wrap{position:relative;width:260px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#6b7280}.toolbar-search{width:100%;padding:6px 10px 6px 28px;border:1px solid rgba(0,0,0,.18);background:#fff;border-radius:6px;box-shadow:inset 0 1px 2px #00000014}.toolbar-search:focus{outline:none;border-color:#0000004d}.explorer-split{display:grid;grid-template-columns:1fr;min-height:65vh}.explorer-content{background:#fff;display:flex;flex-direction:column}.list-header{display:grid;grid-template-columns:1fr 140px 150px;align-items:center;height:32px;padding:0 8px;border-bottom:1px solid rgba(0,0,0,.08);background:#fafafa;font-size:12px;color:#666;margin:0;box-sizing:border-box}.list-header .header-button:first-child{padding-left:3px}.header-button{display:flex;align-items:center;justify-content:flex-start;height:100%;line-height:32px;gap:6px;background:transparent;border:none;color:inherit;font:inherit;font-weight:500;cursor:pointer;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%}.header-button.active{font-weight:500}.sort-caret{font-size:10px;color:#888;width:10px;display:inline-block;text-align:center}.list-body{display:flex;flex-direction:column;max-height:none;overflow:visible}.row{display:grid;grid-template-columns:1fr 140px 150px;align-items:center;height:45px;padding:0 8px;border:none;outline:none;border-bottom:1px solid rgba(0,0,0,.06);background:#fff;cursor:pointer;text-align:left;font-size:13px;-webkit-appearance:none;-moz-appearance:none;appearance:none;box-sizing:border-box}.row .col{display:flex;align-items:center;height:100%;padding-top:0;position:relative;top:2px}.row .col.name{top:8px;padding-left:3px;flex:1}.row .col.date{width:120px;justify-content:left;top:0}.row .col.type{width:150px;justify-content:left;top:0}.row:hover{background:#f7f7f7}.col.name{display:flex;align-items:center;gap:8px;padding:0}.file-icon{width:16px;height:16px;color:#6b7280}.file-name{color:#111;display:inline-flex;align-items:center}.type-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;color:#374151;background-color:#f3f4f6;text-transform:uppercase;letter-spacing:.5px;border:1px solid #d1d5db}.sticky-note{width:320px;min-height:400px;max-height:500px;border-radius:8px;box-shadow:0 8px 25px #00000026;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-user-select:none;user-select:none;overflow:hidden;transform-origin:center;transition:box-shadow .2s ease}.sticky-note:hover{box-shadow:0 12px 35px #0003}.sticky-note-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 8px;position:relative}.sticky-note-pin{width:12px;height:12px;border-radius:50%;background:#ffffff4d;border:2px solid rgba(255,255,255,.5);box-shadow:0 2px 4px #0000001a}.sticky-note-close{background:#fff3;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background-color .2s ease}.sticky-note-close:hover{background:#ffffff4d}.sticky-note-content{padding:0 16px 16px;height:calc(100% - 50px);display:flex;flex-direction:column;gap:12px;overflow-y:auto}.sticky-note-title{font-size:18px;font-weight:700;margin:0;line-height:1.3;color:#fff}.sticky-note-date{font-size:12px;opacity:.8;font-weight:500}.sticky-note-status{display:inline-block;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px;width:fit-content;box-shadow:0 2px 4px #0000001a}.sticky-note-description{font-size:14px;line-height:1.5;margin:0;opacity:.95;flex:1;overflow-y:auto}.sticky-note-technologies{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tech-tag{background:#fff3;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;color:#fff;border:1px solid rgba(255,255,255,.3)}.sticky-note-links{display:flex;gap:8px;margin-top:8px}.sticky-note-link{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#ffffff26;border:1px solid rgba(255,255,255,.3);border-radius:6px;color:#fff;text-decoration:none;font-size:12px;font-weight:500;transition:all .2s ease;cursor:pointer}.sticky-note-link:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-1px)}@media (max-width: 768px){.projects-window{margin-top:0;width:100%;max-width:100%;border-radius:8px;border:1px solid rgba(0,0,0,.12)}.toolbar{padding:8px 12px;flex-wrap:wrap;gap:8px}.search-wrap{flex:1;min-width:200px}.search-input{width:100%}.list-header{grid-template-columns:1fr 90px 90px;padding:8px 4px;font-size:12px;height:auto}.row{grid-template-columns:1fr 90px 90px;height:48px;padding:8px 4px;font-size:13px}.row .col.name{padding-left:0;gap:8px}.row .col.date,.row .col.type{width:90px;font-size:11px;text-align:center}.file-name{font-size:13px;line-height:1.2}.file-icon{width:16px;height:16px;flex-shrink:0}.type-badge{font-size:10px;padding:2px 6px;border-radius:4px}.sticky-note{width:calc(100vw - 20px);max-width:340px;min-height:380px;left:10px;top:10px}}@media (max-width: 480px){.projects-window{width:100%;max-width:85%;border-radius:6px;margin-top:0;border:1px solid rgba(0,0,0,.12)}.toolbar{padding:12px;flex-wrap:wrap;gap:12px}.search-wrap{width:100%;min-width:unset}.list-header{grid-template-columns:1fr 70px 75px;font-size:11px;height:auto;padding:8px 6px}.row{grid-template-columns:1fr 70px 75px;height:52px;font-size:12px;padding:10px 6px}.row .col.name{gap:6px}.row .col.date{width:70px;font-size:10px;text-align:center}.row .col.type{width:75px;font-size:10px;text-align:center}.file-name{font-size:12px;line-height:1.3}.file-icon{width:14px;height:14px}.type-badge{padding:2px 4px;font-size:9px;border-radius:3px}.sticky-note{width:calc(100vw - 16px);max-width:320px;min-height:360px;left:8px;top:8px}.sticky-note-content{padding:12px;gap:10px}.sticky-note-title{font-size:16px;line-height:1.3}.sticky-note-description{font-size:13px;line-height:1.4}.tech-tag{font-size:10px;padding:3px 6px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out forwards}
