:root{--background:#213448;--foreground:#ecefca;--muted:#a1a1aa;--accent:#27272a;--accent-hover:#3f3f46;--border:#94b4c1;--radius:8px;--font-sans:"JetBrains Mono",monospace;--font-mono:"JetBrains Mono",monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}a{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--muted);text-decoration-color:var(--muted);text-underline-offset:4px;transition:all .2s}a:hover{-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}h1,h2,h3,h4,h5,h6{color:var(--foreground);margin-bottom:.5em;font-weight:600;line-height:1.2}h1{font-size:64px}h2{margin-top:2rem;font-size:48px}h3{font-size:32px}p{color:var(--muted);margin-bottom:1rem;font-size:24px}main{max-width:1000px;margin:0 auto;padding:4rem 1.5rem}.hero-actions{align-items:center;gap:1.25rem;margin-top:1rem;display:flex}.resume-button{background-color:var(--foreground);color:var(--background);font-family:var(--font-mono);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.6rem 1.25rem;font-size:21px;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s,box-shadow .3s;display:inline-flex}.resume-button:hover{opacity:.9;text-decoration:none;transform:translateY(-1px);box-shadow:0 0 12px #ecefca66}.contact-icons{gap:1rem;display:flex}.contact-icon{width:42px;height:42px;color:var(--muted);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:color .3s,filter .3s,transform .3s;display:flex}.contact-icon:hover{color:var(--foreground);filter:drop-shadow(0 0 8px var(--foreground))drop-shadow(0 0 20px var(--border));text-decoration:none;transform:scale(1.15)}.contact-icon svg{width:24px;height:24px}.section{margin-top:3rem;margin-bottom:3rem}.tools-section{margin-top:2rem}.tools-section h3{color:var(--foreground);margin-bottom:1rem;font-size:2rem;font-weight:500}.tools-grid{flex-wrap:wrap;gap:1rem;display:flex}.tool-item{width:64px;color:var(--muted);flex-direction:column;align-items:center;gap:.4rem;transition:color .3s,filter .3s,transform .3s;display:flex}.tool-item:hover{color:var(--foreground);filter:drop-shadow(0 0 6px var(--foreground));transform:translateY(-2px)}.tool-item svg{width:28px;height:28px}.tool-item span{font-size:.65rem;font-family:var(--font-mono);text-align:center;line-height:1.2}.card{border:1px solid var(--border);border-radius:var(--radius);background-color:#0000;padding:1.5rem;text-decoration:none;transition:background-color .2s,border-color .2s;display:block}.card:hover{background-color:var(--accent);border-color:var(--accent-hover);text-decoration:none}.card h3{color:var(--foreground);margin-bottom:.5rem;font-size:1.1rem}.card p{margin-bottom:0;font-size:.95rem}.badge{background-color:var(--accent);color:var(--muted);border-radius:9999px;margin-top:.5rem;margin-right:.5rem;padding:.2rem .6rem;font-size:.75rem;display:inline-block}.grid-2{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.grid-2{grid-template-columns:repeat(2,1fr)}}.list-none{list-style:none}.list-item{margin-bottom:1rem}.list-item>a{justify-content:space-between;align-items:baseline;text-decoration:none;display:flex}.list-item>a:hover .item-title{text-decoration:underline;-webkit-text-decoration-color:var(--foreground);text-decoration-color:var(--foreground)}.item-title{color:var(--foreground);font-weight:500}.item-meta{color:var(--muted);font-size:.9rem;font-family:var(--font-mono)}.dashed-divider{border:none;border-top:1px dashed var(--border);margin:3rem 0}.tablist{border-bottom:1px solid var(--border);gap:.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;display:flex}.tab-button{background:var(--accent);color:var(--muted);font-family:var(--font-mono);cursor:pointer;border-radius:var(--radius)var(--radius)0 0;border:none;padding:.5rem 1rem;font-size:.95rem;transition:color .2s,background-color .2s}.tab-button:hover{color:var(--foreground);background-color:var(--accent)}.tab-button.tab-active{color:var(--foreground);border-bottom:2px solid var(--foreground)}.tab-content{margin-top:1rem;animation:.3s tabFadeIn}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.exp-item{align-items:flex-start;gap:1rem;display:flex}.exp-logo{border-radius:var(--radius);border:1px solid var(--border);background-color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-top:.25rem;display:flex;overflow:hidden}.exp-logo-fallback{font-family:var(--font-mono);color:var(--muted);letter-spacing:1px;font-size:.85rem;font-weight:600}.exp-details{flex:1;min-width:0}.exp-bullets{margin:0;padding-left:1.25rem;list-style:outside}.exp-bullets li{color:var(--muted);margin-bottom:.25rem;font-size:.95rem;line-height:1.6}.exp-link-button{font-family:var(--font-mono);color:var(--foreground);border:1px solid var(--border);border-radius:var(--radius);margin-top:.75rem;padding:.4rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background-color .2s,border-color .2s,box-shadow .3s;display:inline-block}.exp-link-button:hover{background-color:var(--accent);border-color:var(--foreground);text-decoration:none;box-shadow:0 0 10px #ecefca26}.exp-links{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.exp-links .exp-link-button{margin-top:0}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background-color:#000000b3;justify-content:center;align-items:center;padding:2rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background-color:var(--background);border:1px solid var(--border);border-radius:calc(var(--radius)*2);width:100%;max-width:900px;max-height:85vh;animation:.25s slideUp;position:relative;overflow-y:auto}.modal-close{color:var(--muted);cursor:pointer;z-index:10;border-radius:var(--radius);background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem;transition:color .2s,background-color .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--foreground);background-color:var(--accent)}.modal-body{flex-direction:column;gap:1.5rem;padding:2rem;display:flex}@media (min-width:640px){.modal-body{flex-direction:row}}.modal-images{flex-direction:column;flex:1;gap:.75rem;display:flex}.modal-image-main{border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.modal-image-thumbs{gap:.5rem;display:flex}.modal-thumb{border:1px solid var(--border);cursor:pointer;opacity:.5;background:0 0;border-radius:4px;width:80px;padding:0;transition:opacity .2s,border-color .2s;overflow:hidden}.modal-thumb:hover,.modal-thumb-active{opacity:1;border-color:var(--foreground)}.modal-info{flex-direction:column;flex:1;display:flex}.modal-info h3{margin-bottom:.75rem;font-size:1.5rem}.modal-tags{margin-bottom:1rem}.modal-description{color:var(--muted);flex:1;font-size:.95rem;line-height:1.7}.modal-action{justify-content:flex-end;margin-top:1.5rem;display:flex}.modal-link-button{background-color:var(--foreground);color:var(--background);font-family:var(--font-mono);border-radius:var(--radius);padding:.6rem 1.25rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.modal-link-button:hover{opacity:.85;text-decoration:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
