*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{height:100%;font-size:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100dvh;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--bg-color:#0d0e12;--text-main:#fff;--text-muted:#a1a5ae;--accent-gold:#bfa780;--glow-color:#dcc8aa26;--glow-color-strong:#dcc8aa66;--card-bg:#14161a;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-header:"Playfair Display", Georgia, "Times New Roman", serif;--color-problem:#ff5f56;--color-action:#ffbd2e;--color-result:#27c93f}body{background-color:var(--bg-color);color:var(--text-main);font-family:var(--font-body);line-height:1.6;overflow-x:hidden}h2{letter-spacing:-.02em;color:var(--text-main);margin-bottom:2rem;font-size:2.2rem;font-weight:700}h1,h2,h3,h4,.logo{font-family:var(--font-header);letter-spacing:-.01em;font-weight:700}strong{color:var(--text-main);font-weight:600}.navbar{z-index:10;justify-content:center;align-items:center;width:100%;max-width:1440px;margin:0 auto;padding:2rem;display:flex;position:relative}.logo{font-size:2rem;font-family:var(--font-header);letter-spacing:2px}.nav-links a{color:var(--text-main);letter-spacing:1px;margin-left:2rem;font-size:.85rem;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--accent-gold)}footer{text-align:center;color:var(--text-muted);border-top:none;width:100%;max-width:1440px;margin:0 auto;padding:4rem 2rem;font-size:.8rem;position:relative}footer:before{content:"";background:#ffffff0d;width:100%;max-width:1200px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.hero{text-align:center;width:100%;max-width:1440px;margin:0 auto;padding:6rem 2rem;position:relative;overflow:hidden}.hero h1{margin-bottom:1rem;font-size:clamp(3rem,6vw,5rem);line-height:1}.hero h2{color:var(--text-muted);letter-spacing:3px;font-size:1rem;font-weight:400;line-height:1.5}.hero,.aug-hero{position:relative;overflow:hidden}.spotlight{z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 20%,#fff5dc2e 0%,#dcc8aa0d 25%,#0000 50%);width:140%;height:140%;position:absolute;top:-10%;left:50%;transform:translate(-50%)}.hero:after,.aug-hero:after{content:"";z-index:3;background:linear-gradient(90deg,#0000 0%,#e6d2b44d 50%,#0000 100%);width:100%;height:1px;position:absolute;bottom:0;left:0}.hero-content,.aug-hero-content{z-index:2;position:relative}.hero-content h1{font-style:italic;font-weight:800}.hero-content h2,.aug-subtitle{font-family:var(--font-body);text-transform:uppercase;letter-spacing:3px;font-size:.9rem;font-weight:400}.projects-section{z-index:2;max-width:1100px;margin:0 auto;padding:4rem 2rem;position:relative}.section-title{text-align:center;letter-spacing:.3em;color:var(--accent-gold);text-transform:uppercase;opacity:.9;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:4rem;font-family:Consolas,Monaco,monospace;font-size:.95rem;font-weight:400;display:flex}.section-title:before,.section-title:after{content:"";background:linear-gradient(to var(--dir,right), transparent, #bfa78066);width:40px;height:1px}.section-title:before{--dir:left}.section-title:after{--dir:right}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,450px));justify-content:center;gap:2rem;display:grid}.card{background-color:var(--card-bg);width:100%;max-width:450px;color:var(--text-main);border:1px solid #ffffff0d;border-radius:8px;flex-direction:column;margin:0 auto;text-decoration:none;transition:all .3s;display:flex;overflow:hidden}.card:hover{border-color:var(--glow-color-strong);box-shadow:0 10px 30px var(--glow-color);transform:translateY(-5px)}.card-image-wrapper{aspect-ratio:16/9;background-color:#08090b;border-bottom:1px solid #ffffff0d;width:100%;overflow:hidden}.card-image{object-fit:cover;opacity:.7;filter:grayscale(20%);width:100%;height:100%;transition:transform .6s,opacity .3s}.card:hover .card-image{opacity:1;filter:grayscale(0%);transform:scale(1.05)}.card-content{flex-grow:1;grid-template-rows:3.8rem 4.5rem 2.5rem 1fr;padding:2rem;display:grid}.card-content h4{letter-spacing:1px;margin:0;font-size:1.1rem}.card-content p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.5}.tags{flex-wrap:wrap;gap:.5rem;display:flex}.tags span{color:var(--accent-gold);background:#ffffff0d;border-radius:4px;padding:.2rem .6rem;font-size:.7rem}.tech-badges{border-top:1px solid #ffffff08;flex-wrap:wrap;justify-content:flex-start;align-items:flex-start;gap:1rem;padding-top:1.5rem;display:flex}.tech-badges span{color:var(--accent-gold);letter-spacing:1px;background:#ffffff08;border:1px solid #bfa78033;border-radius:20px;padding:.4rem 1.2rem;font-family:Consolas,Monaco,monospace;font-size:.75rem;transition:all .3s}.tech-badges span:hover{border-color:var(--accent-gold);box-shadow:0 0 15px var(--glow-color);background:#bfa7801a;transform:translateY(-2px)}@media (width<=768px){.navbar{flex-direction:column;gap:1.5rem;padding:1.5rem 1rem}.nav-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.nav-links a{margin-left:0;font-size:.85rem}.hero{padding:4rem 1rem}.projects-grid{grid-template-columns:1fr}.card-content{flex-direction:column;flex-grow:1;padding:2rem;display:flex}.card-content h4{letter-spacing:1px;margin:0 0 .5rem;font-size:1.1rem}.card-content p{color:var(--text-muted);flex-grow:1;margin:0 0 1.5rem;font-size:.9rem;line-height:1.5}}.contact-form{text-align:left;flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.contact-form input,.contact-form textarea{background:var(--card-bg);color:var(--text-main);font-family:var(--font-main);border:1px solid #ffffff1a;border-radius:4px;padding:1rem;transition:border-color .3s}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-gold);outline:none}.contact-form textarea{resize:vertical;min-height:150px}.submit-btn{border:1px solid var(--accent-gold);color:var(--accent-gold);cursor:pointer;letter-spacing:1px;text-transform:uppercase;background:0 0;border-radius:4px;align-self:flex-start;padding:1rem 2rem;font-weight:700;transition:all .3s}.submit-btn:hover{background:var(--glow-color-strong);box-shadow:0 0 15px var(--glow-color)}.info-dialog form{justify-content:center;align-items:center;gap:.5rem;display:flex}.info-dialog .submit-btn{align-self:center}.contact-link{color:#d1d1d1;text-decoration:none;transition:color .3s}.contact-link:hover{color:var(--accent-gold)}.content-link{color:var(--accent-gold);border-bottom:1px solid #bfa78066;text-decoration:none;transition:all .3s}.content-link:hover{color:var(--text-main);border-bottom-color:var(--accent-gold)}.meta-badges{gap:.8rem;margin-bottom:1rem;display:flex}.card-content .meta-badges{margin-bottom:0}.meta-tag{font-size:.75rem;font-family:var(--font-main);text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);cursor:help;border-bottom:1px dashed #fff3;align-items:center;gap:6px;padding-bottom:2px;transition:color .3s,border-color .3s;display:inline-flex;position:relative}.meta-tag:hover{color:var(--text-main);border-bottom-color:var(--accent-gold)}.meta-tag:after{content:attr(data-tooltip);color:var(--text-main);white-space:nowrap;letter-spacing:normal;text-transform:none;opacity:0;visibility:hidden;z-index:100;pointer-events:none;background:#1a1c23;border:1px solid #bfa7804d;border-radius:6px;padding:.6rem 1rem;font-size:.75rem;font-weight:500;transition:all .3s cubic-bezier(.175,.885,.32,1.275);position:absolute;bottom:150%;left:200%;transform:translate(-50%)translateY(10px);box-shadow:0 10px 25px #00000080}.meta-tag:before{content:"";opacity:0;visibility:hidden;z-index:101;border:6px solid #0000;border-top-color:#1a1c23;transition:all .3s;position:absolute;bottom:115%;left:50%;transform:translate(-50%)}.meta-tag:hover:after,.meta-tag:hover:before{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.tag-dot{background-color:var(--text-muted);border-radius:50%;width:6px;height:6px}.type-personal .tag-dot{background-color:var(--color-result)}.type-academic .tag-dot{background-color:#5c7cfa}.type-work .tag-dot{background-color:var(--color-action)}.submit-btn{color:var(--accent-gold);cursor:pointer;background:0 0;border:1px solid;border-radius:8px;margin-top:1rem;padding:.5rem 1rem;font-size:.8rem;transition:all .3s}.map-wrapper{background-color:var(--card-bg,#14161a);border:1px solid #ffffff0d;border-radius:12px;width:100%;max-width:1000px;margin:3rem auto;position:relative;overflow:hidden;box-shadow:0 15px 35px #0006}#fluxnet-map{background-color:var(--bg-color,#0d0e12);z-index:1;width:100%;height:500px}.map-controls{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14161ad9;border:1px solid #bfa7804d;border-radius:8px;align-items:center;gap:10px;padding:10px 15px;display:flex;position:absolute;top:15px;right:15px}.control-label{font-family:var(--font-header,serif);color:var(--accent-gold,#bfa780);font-size:.9rem}#map-category-select{background:var(--bg-color,#0d0e12);color:var(--text-main,#fff);font-family:var(--font-body,sans-serif);cursor:pointer;border:1px solid #ffffff1a;border-radius:4px;outline:none;padding:5px 10px;font-size:.85rem;transition:border-color .3s}#map-category-select:hover,#map-category-select:focus{border-color:var(--accent-gold,#bfa780)}#map-caption{margin-bottom:0}
