@import url(https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap);:root{--bg-primary:#f5f5f3;--bg-card:#fff;--text-primary:#1a1a1a;--text-secondary:#666;--text-muted:#999;--border:#e0e0e0;--dot-color:#0000000f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f3;background-color:var(--bg-primary);background-image:radial-gradient(#0000000f 1px,#0000 0);background-image:radial-gradient(var(--dot-color) 1px,#0000 1px);background-size:20px 20px;color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;line-height:1.6;min-height:100vh}a{color:inherit;text-decoration:none}::selection{background:#1a1a1a;color:#fff}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f5f5f3;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#e0e0e0;background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#999;background:var(--text-muted)}*{transition-duration:.2s;transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:ease}.game-overlay{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.game-container{background:#1a1a1a;border-radius:16px;box-shadow:0 20px 60px #00000080;padding:1.5rem;position:relative}.game-close{background:#ffffff1a;border:none;border-radius:8px;color:#888;cursor:pointer;font-size:1.25rem;height:32px;position:absolute;right:.75rem;top:.75rem;transition:all .2s;width:32px}.game-close:hover{background:#fff3;color:#fff}.game-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem;padding:0 .25rem}.game-title{color:#fff;font-size:1.25rem;font-weight:700}.game-score,.game-title{font-family:Courier New,monospace}.game-score{color:#888;font-size:.9rem}.game-area{background:linear-gradient(180deg,#0d1117,#161b22);border:1px solid #30363d;border-radius:12px;cursor:pointer;overflow:hidden;position:relative}.bracket-player{color:#58a6ff;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700;left:50px;position:absolute;text-shadow:0 0 10px #58a6ff80;transition:transform .1s;-webkit-user-select:none;user-select:none}.pipe{align-items:center;background:linear-gradient(90deg,#238636,#2ea043 50%,#238636);border-radius:4px;box-shadow:0 0 10px #2ea0434d;display:flex;justify-content:center;position:absolute}.pipe-top{border-radius:0 0 8px 8px;top:0}.pipe-top .pipe-text{bottom:8px;position:absolute}.pipe-bottom{border-radius:8px 8px 0 0}.pipe-bottom .pipe-text{position:absolute;top:8px}.pipe-text{color:#fff9;font-family:Courier New,monospace;font-size:1.5rem;font-weight:700}.game-message{color:#fff;font-family:-apple-system,BlinkMacSystemFont,sans-serif;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%)}.game-message p{margin:.5rem 0}.game-message .game-hint{color:#888;font-size:.85rem}.game-over .final-score{color:#58a6ff;font-size:1.5rem;font-weight:700}.game-instructions{color:#666;font-family:Courier New,monospace;font-size:.8rem;margin-top:1rem;text-align:center}.home-container{margin:0 auto;max-width:900px;min-height:100vh;padding:2rem}.header{margin-bottom:4rem}.hero{animation:fadeUp .8s ease-out .2s both;padding:3rem 0 5rem}.hero-text{color:var(--text-primary);font-family:Libre Baskerville,Georgia,serif;font-size:2.25rem;font-weight:400;line-height:1.5}.hero-text em{-webkit-text-fill-color:#0000;background:linear-gradient(120deg,var(--text-primary) 0,#555 100%);-webkit-background-clip:text;background-clip:text;font-style:italic;font-weight:700}.section{animation:fadeUp .8s ease-out both;margin-bottom:3rem}.section:nth-child(3){animation-delay:.3s}.section:nth-child(4){animation-delay:.4s}.section:nth-child(5){animation-delay:.5s}.section-title{color:var(--text-primary);font-family:Libre Baskerville,Georgia,serif;font-size:1.1rem;font-style:italic;font-weight:400;margin-bottom:1.25rem}.card{background:linear-gradient(135deg,#fff,#fafafa);border:1px solid #0000000a;border-radius:16px;box-shadow:0 1px 2px #0000000a,0 4px 12px #00000008;display:flex;gap:1.25rem;margin-bottom:1rem;overflow:hidden;padding:1.25rem 1.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.card:before{background:linear-gradient(180deg,#e0e0e0,#f0f0f0);height:100%;transition:all .4s ease;width:3px}.card:after,.card:before{content:"";left:0;position:absolute;top:0}.card:after{background:linear-gradient(90deg,#0000,#fffc,#0000);height:1px;right:0}.card:hover{border-color:#00000014;box-shadow:0 8px 24px #00000014,0 16px 48px #0000000a;transform:translateY(-6px)}.card:hover:before{background:linear-gradient(180deg,#1a1a1a,#333);width:4px}.card-logo{align-items:center;background:linear-gradient(145deg,#f8f8f8,#eee);border-radius:12px;box-shadow:inset 0 1px 0 #fffc,0 2px 4px #0000000d;display:flex;flex-shrink:0;font-size:1.4rem;height:52px;justify-content:center;transition:all .4s ease;width:52px}.card:hover .card-logo{background:linear-gradient(145deg,#fff,#f5f5f5);box-shadow:inset 0 1px 0 #fff,0 4px 12px #0000001a;transform:scale(1.08) rotate(-3deg)}.card-content{flex:1 1;min-width:0}.card-header-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:.25rem}.card-date{color:var(--text-muted);flex-shrink:0;font-size:.8rem;white-space:nowrap}.card-name{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin-bottom:.25rem;transition:color .3s ease}.card:hover .card-name{color:#000}.card-role{color:var(--text-secondary);font-size:.9rem;margin-bottom:.2rem}.card-location{color:var(--text-muted);font-size:.8rem}.cta-section{align-items:center;display:flex;gap:1rem}.cta-button{border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);display:inline-block;font-size:.95rem;overflow:hidden;padding:1rem 1.75rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.cta-button:before{background:var(--text-primary);content:"";height:100%;left:0;position:absolute;top:0;transition:width .4s ease;width:0;z-index:-1}.cta-button:hover{border-color:var(--text-primary);color:var(--bg-card);transform:translateY(-2px)}.cta-button:hover:before{width:100%}.game-button{background:#0000;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.95rem;padding:1rem 1.75rem;transition:all .3s ease}.game-button:hover{border-color:var(--text-secondary);color:var(--text-secondary);transform:translateY(-2px)}.footer{animation:fadeUp .8s ease-out .6s both}@media (max-width:768px){.home-container{padding:1rem}.header{flex-wrap:wrap;gap:1rem}.nav-links{gap:1.5rem;justify-content:center;order:3;width:100%}.hero-text{font-size:1.5rem}.card{flex-direction:column;gap:1rem;padding:1.5rem}.card:before{height:3px;left:0;top:0;width:100%}.card:hover:before{height:4px;width:100%}}.page-container{display:flex;flex-direction:column;margin:0 auto;max-width:900px;min-height:100vh;padding:2rem}.header{align-items:center;animation:fadeDown .6s ease-out;display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.5rem 0}@keyframes fadeDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.logo{color:var(--text-primary);font-family:Libre Baskerville,Georgia,serif;font-size:1.4rem;font-style:italic;font-weight:400;transition:opacity .3s ease}.logo:hover{opacity:.7}.nav-links{display:flex;gap:2.5rem}.nav-links a{color:var(--text-secondary);font-family:Libre Baskerville,Georgia,serif;font-size:.95rem;position:relative;transition:all .3s ease}.nav-links a:after{background:var(--text-primary);bottom:-4px;content:"";height:1px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-links a:hover{color:var(--text-primary)}.nav-links a:hover:after{width:100%}.header-actions{display:flex;gap:1.25rem}.header-actions a{color:var(--text-secondary);font-size:1.2rem;transition:all .3s ease}.header-actions a:hover{color:var(--text-primary);transform:translateY(-2px)}.page-title{animation:fadeUp .8s ease-out .2s both;color:var(--text-primary);font-family:Libre Baskerville,Georgia,serif;font-size:1.75rem;font-style:italic;font-weight:400;margin-bottom:2rem}.main-content{animation:fadeUp .8s ease-out .3s both;flex:1 1}.footer{animation:fadeUp .8s ease-out .5s both;margin-top:4rem;padding-top:2rem}.footer-line{background:var(--border);height:1px;margin-bottom:1.5rem}.footer p{color:var(--text-muted);font-size:.85rem}@media (max-width:768px){.page-container{padding:1rem}.header{flex-wrap:wrap;gap:1rem}.nav-links{gap:1.5rem;justify-content:center;order:3;width:100%}.page-title{font-size:1.4rem}}.about-content{max-width:650px}.about-header{align-items:flex-start;animation:fadeUp .6s ease-out both;display:flex;gap:2rem;margin-bottom:3rem}.about-photo{border-radius:16px;box-shadow:0 8px 24px #0000001a;flex-shrink:0;height:140px;object-fit:cover;transition:all .4s ease;width:140px}.about-photo:hover{box-shadow:0 12px 32px #00000026;transform:scale(1.03) rotate(1deg)}.about-intro{flex:1 1}.about-intro p{color:var(--text-primary);font-size:1.1rem;line-height:1.7;margin-bottom:.75rem}.about-intro p:last-child{color:var(--text-secondary);margin-bottom:0}.about-intro strong{font-weight:600}.about-section{animation:fadeUp .6s ease-out both;margin-bottom:2.5rem}.about-section:nth-child(2){animation-delay:.15s}.about-section:nth-child(3){animation-delay:.25s}.about-section:nth-child(4){animation-delay:.35s}.about-section h2{color:var(--text-primary);font-family:Libre Baskerville,Georgia,serif;font-size:1.05rem;font-style:italic;font-weight:400;margin-bottom:1rem}.about-section ul{list-style:none;padding:0}.about-section li{color:var(--text-secondary);font-size:.95rem;line-height:1.8;margin-bottom:.4rem;padding-left:1.5rem;position:relative;transition:all .3s ease}.about-section li:hover{color:var(--text-primary);transform:translateX(4px)}.about-section li:before{color:var(--text-muted);content:"→";left:0;position:absolute;transition:all .3s ease}.about-section li:hover:before{color:var(--text-primary);transform:translateX(2px)}.tech-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.tech-item{background:var(--bg-card);border-radius:12px;padding:1.25rem;transition:all .4s cubic-bezier(.4,0,.2,1)}.tech-item:hover{box-shadow:0 12px 24px #00000014;transform:translateY(-4px)}.tech-item h3{color:var(--text-primary);font-size:.85rem;font-weight:600;letter-spacing:.05em;margin-bottom:.4rem;text-transform:uppercase}.tech-item p{font-size:.9rem;line-height:1.5}.contact-text,.tech-item p{color:var(--text-secondary)}.contact-text{font-size:.95rem;margin-bottom:1rem}.contact-links{display:flex;gap:.75rem}.contact-links a{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500;padding:.7rem 1.5rem;transition:all .3s ease}.contact-links a:hover{border-color:var(--text-primary);color:var(--text-primary);transform:translateY(-2px)}@media (max-width:640px){.about-header{align-items:center;flex-direction:column;gap:1.5rem;text-align:center}.about-photo{height:120px;width:120px}.about-intro p{font-size:1rem}.tech-grid{grid-template-columns:1fr}.contact-links{flex-direction:column}.contact-links a{text-align:center}}.projects-intro{color:var(--text-secondary);font-size:1rem;margin-bottom:2rem;max-width:500px}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.project-card{animation:fadeUp .6s ease-out both;background:var(--bg-card);border-radius:12px;box-shadow:0 1px 3px #0000000a;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1)}.project-card:first-child{animation-delay:.1s}.project-card:nth-child(2){animation-delay:.15s}.project-card:nth-child(3){animation-delay:.2s}.project-card:nth-child(4){animation-delay:.25s}.project-card:nth-child(5){animation-delay:.3s}.project-card:nth-child(6){animation-delay:.35s}.project-card:hover{box-shadow:0 20px 40px #0000001a;transform:translateY(-8px) scale(1.02)}.project-card img{height:160px;object-fit:cover;object-position:top;transition:transform .5s ease;width:100%}.project-card:hover img{transform:scale(1.08)}.project-info{padding:1.25rem}.project-info h3{color:var(--text-primary);font-size:1.05rem;font-weight:600;margin-bottom:.5rem;transition:color .3s ease}.project-card:hover .project-info h3{color:#333}.project-info p{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:1rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:var(--bg-primary);border-radius:20px;color:var(--text-secondary);font-size:.75rem;padding:.3rem .75rem;transition:all .3s ease}.project-card:hover .tag{background:var(--text-primary);color:var(--bg-card)}.blog-list{display:flex;flex-direction:column;gap:1rem}.blog-card{animation:fadeUp .6s ease-out both;background:var(--bg-card);border-radius:12px;display:block;overflow:hidden;padding:1.5rem;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1)}.blog-card:first-child{animation-delay:.1s}.blog-card:nth-child(2){animation-delay:.2s}.blog-card:nth-child(3){animation-delay:.3s}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.blog-card:before{background:linear-gradient(90deg,#0000,#00000005,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.blog-card:hover{box-shadow:0 12px 24px #00000014;transform:translateY(-4px)}.blog-card:hover:before{left:100%}.blog-date{color:var(--text-muted);display:block;font-size:.8rem;margin-bottom:.5rem;transition:color .3s ease}.blog-card:hover .blog-date{color:var(--text-secondary)}.blog-card h2{color:var(--text-primary);font-size:1.15rem;font-weight:600;margin-bottom:.5rem;transition:all .3s ease}.blog-card:hover h2{transform:translateX(4px)}.blog-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.blog-post{animation:fadeUp .8s ease-out both;max-width:650px}.back-link{color:var(--text-muted);display:inline-block;font-size:.9rem;margin-bottom:1.5rem;transition:all .3s ease}.back-link:hover{color:var(--text-primary);transform:translateX(-4px)}.blog-post h1{color:var(--text-primary);font-family:Libre Baskerville,Georgia,serif;font-size:1.75rem;font-weight:400;margin-bottom:1.5rem}.blog-post p{color:var(--text-primary);font-size:1rem;line-height:1.8}.App{text-align:center}
/*# sourceMappingURL=main.38e46f62.css.map*/